2022-02-11 17:34:24 +08:00
|
|
|
|
mindspore.dataset.vision
|
|
|
|
|
|
===================================
|
|
|
|
|
|
|
2022-06-07 15:50:32 +08:00
|
|
|
|
此模块用于图像数据增强,其中有一部分增强是基于C++ OpenCV实现的,具有较好的性能,而另一部分是基于Python Pillow实现的。
|
2022-02-17 16:26:58 +08:00
|
|
|
|
|
2022-02-15 15:42:31 +08:00
|
|
|
|
API样例中常用的导入模块如下:
|
2022-02-17 16:26:58 +08:00
|
|
|
|
|
2022-06-07 15:50:32 +08:00
|
|
|
|
.. code-block::
|
|
|
|
|
|
|
|
|
|
|
|
import mindspore.dataset as ds
|
|
|
|
|
|
import mindspore.dataset.vision as vision
|
|
|
|
|
|
import mindspore.dataset.vision.utils as utils
|
|
|
|
|
|
|
|
|
|
|
|
注意:旧的API导入方式已经过时且会逐步废弃,因此推荐使用上面的方式,但目前仍可按以下方式导入:
|
|
|
|
|
|
|
2022-02-17 16:26:58 +08:00
|
|
|
|
.. code-block::
|
|
|
|
|
|
|
|
|
|
|
|
import mindspore.dataset.vision.c_transforms as c_vision
|
|
|
|
|
|
import mindspore.dataset.vision.py_transforms as py_vision
|
|
|
|
|
|
from mindspore.dataset.transforms import c_transforms
|
2022-02-11 17:34:24 +08:00
|
|
|
|
|
2022-11-08 14:13:53 +08:00
|
|
|
|
更多详情请参考 `视觉数据变换 <https://www.mindspore.cn/tutorials/zh-CN/master/beginner/transforms.html#vision-transforms>`_ 。
|
2022-07-02 16:38:38 +08:00
|
|
|
|
|
2022-02-28 21:50:37 +08:00
|
|
|
|
常用数据处理术语说明如下:
|
|
|
|
|
|
|
|
|
|
|
|
- TensorOperation,所有C++实现的数据处理操作的基类。
|
|
|
|
|
|
- PyTensorOperation,所有Python实现的数据处理操作的基类。
|
2022-02-11 17:34:24 +08:00
|
|
|
|
|
2022-10-19 16:27:30 +08:00
|
|
|
|
数据增强操作可以放入数据处理Pipeline中执行,也可以Eager模式执行:
|
2022-08-25 16:15:31 +08:00
|
|
|
|
|
2022-11-08 14:13:53 +08:00
|
|
|
|
- Pipeline模式一般用于处理数据集,示例可参考 `数据处理Pipeline介绍 <https://www.mindspore.cn/docs/zh-CN/master/api_python/mindspore.dataset.html#数据处理pipeline介绍>`_ 。
|
2022-08-25 16:15:31 +08:00
|
|
|
|
- Eager模式一般用于零散样本,图像预处理举例如下:
|
|
|
|
|
|
|
2022-08-30 17:19:05 +08:00
|
|
|
|
.. code-block::
|
|
|
|
|
|
|
|
|
|
|
|
import numpy as np
|
|
|
|
|
|
import mindspore.dataset.vision as vision
|
|
|
|
|
|
from PIL import Image,ImageFont,ImageDraw
|
|
|
|
|
|
|
|
|
|
|
|
# 画圆形
|
|
|
|
|
|
img = Image.new("RGB", (300, 300), (255, 255, 255))
|
|
|
|
|
|
draw = ImageDraw.Draw(img)
|
|
|
|
|
|
draw.ellipse(((0, 0), (100, 100)), fill=(255, 0, 0), outline=(255, 0, 0), width=5)
|
|
|
|
|
|
img.save("./1.jpg")
|
|
|
|
|
|
with open("./1.jpg", "rb") as f:
|
|
|
|
|
|
data = f.read()
|
|
|
|
|
|
|
|
|
|
|
|
data_decoded = vision.Decode()(data)
|
|
|
|
|
|
data_croped = vision.RandomCrop(size=(250, 250))(data_decoded)
|
|
|
|
|
|
data_resized = vision.Resize(size=(224, 224))(data_croped)
|
|
|
|
|
|
data_normalized = vision.Normalize(mean=[0.485 * 255, 0.456 * 255, 0.406 * 255],
|
|
|
|
|
|
std=[0.229 * 255, 0.224 * 255, 0.225 * 255])(data_resized)
|
|
|
|
|
|
data_hwc2chw = vision.HWC2CHW()(data_normalized)
|
|
|
|
|
|
print("data: {}, shape: {}".format(data_hwc2chw, data_hwc2chw.shape), flush=True)
|
2022-08-25 16:15:31 +08:00
|
|
|
|
|
2022-06-21 11:53:31 +08:00
|
|
|
|
变换
|
2022-06-23 17:09:29 +08:00
|
|
|
|
-----
|
2022-02-11 17:34:24 +08:00
|
|
|
|
|
2022-02-15 16:22:46 +08:00
|
|
|
|
.. mscnautosummary::
|
2022-02-11 17:34:24 +08:00
|
|
|
|
:toctree: dataset_vision
|
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
:template: classtemplate.rst
|
|
|
|
|
|
|
2022-06-07 15:50:32 +08:00
|
|
|
|
mindspore.dataset.vision.AdjustGamma
|
|
|
|
|
|
mindspore.dataset.vision.AutoAugment
|
|
|
|
|
|
mindspore.dataset.vision.AutoContrast
|
|
|
|
|
|
mindspore.dataset.vision.BoundingBoxAugment
|
|
|
|
|
|
mindspore.dataset.vision.CenterCrop
|
|
|
|
|
|
mindspore.dataset.vision.ConvertColor
|
|
|
|
|
|
mindspore.dataset.vision.Crop
|
|
|
|
|
|
mindspore.dataset.vision.CutMixBatch
|
|
|
|
|
|
mindspore.dataset.vision.CutOut
|
|
|
|
|
|
mindspore.dataset.vision.Decode
|
|
|
|
|
|
mindspore.dataset.vision.Equalize
|
|
|
|
|
|
mindspore.dataset.vision.FiveCrop
|
|
|
|
|
|
mindspore.dataset.vision.GaussianBlur
|
2022-06-08 10:41:21 +08:00
|
|
|
|
mindspore.dataset.vision.Grayscale
|
2022-06-07 15:50:32 +08:00
|
|
|
|
mindspore.dataset.vision.HorizontalFlip
|
|
|
|
|
|
mindspore.dataset.vision.HsvToRgb
|
|
|
|
|
|
mindspore.dataset.vision.HWC2CHW
|
|
|
|
|
|
mindspore.dataset.vision.Invert
|
|
|
|
|
|
mindspore.dataset.vision.LinearTransformation
|
|
|
|
|
|
mindspore.dataset.vision.MixUp
|
|
|
|
|
|
mindspore.dataset.vision.MixUpBatch
|
|
|
|
|
|
mindspore.dataset.vision.Normalize
|
|
|
|
|
|
mindspore.dataset.vision.NormalizePad
|
|
|
|
|
|
mindspore.dataset.vision.Pad
|
|
|
|
|
|
mindspore.dataset.vision.PadToSize
|
|
|
|
|
|
mindspore.dataset.vision.RandomAdjustSharpness
|
|
|
|
|
|
mindspore.dataset.vision.RandomAffine
|
|
|
|
|
|
mindspore.dataset.vision.RandomAutoContrast
|
|
|
|
|
|
mindspore.dataset.vision.RandomColor
|
|
|
|
|
|
mindspore.dataset.vision.RandomColorAdjust
|
|
|
|
|
|
mindspore.dataset.vision.RandomCrop
|
|
|
|
|
|
mindspore.dataset.vision.RandomCropDecodeResize
|
|
|
|
|
|
mindspore.dataset.vision.RandomCropWithBBox
|
|
|
|
|
|
mindspore.dataset.vision.RandomEqualize
|
|
|
|
|
|
mindspore.dataset.vision.RandomErasing
|
|
|
|
|
|
mindspore.dataset.vision.RandomGrayscale
|
|
|
|
|
|
mindspore.dataset.vision.RandomHorizontalFlip
|
|
|
|
|
|
mindspore.dataset.vision.RandomHorizontalFlipWithBBox
|
|
|
|
|
|
mindspore.dataset.vision.RandomInvert
|
|
|
|
|
|
mindspore.dataset.vision.RandomLighting
|
|
|
|
|
|
mindspore.dataset.vision.RandomPerspective
|
|
|
|
|
|
mindspore.dataset.vision.RandomPosterize
|
|
|
|
|
|
mindspore.dataset.vision.RandomResizedCrop
|
|
|
|
|
|
mindspore.dataset.vision.RandomResizedCropWithBBox
|
|
|
|
|
|
mindspore.dataset.vision.RandomResize
|
|
|
|
|
|
mindspore.dataset.vision.RandomResizeWithBBox
|
|
|
|
|
|
mindspore.dataset.vision.RandomRotation
|
|
|
|
|
|
mindspore.dataset.vision.RandomSelectSubpolicy
|
|
|
|
|
|
mindspore.dataset.vision.RandomSharpness
|
|
|
|
|
|
mindspore.dataset.vision.RandomSolarize
|
|
|
|
|
|
mindspore.dataset.vision.RandomVerticalFlip
|
|
|
|
|
|
mindspore.dataset.vision.RandomVerticalFlipWithBBox
|
|
|
|
|
|
mindspore.dataset.vision.Rescale
|
|
|
|
|
|
mindspore.dataset.vision.Resize
|
|
|
|
|
|
mindspore.dataset.vision.ResizeWithBBox
|
|
|
|
|
|
mindspore.dataset.vision.RgbToHsv
|
|
|
|
|
|
mindspore.dataset.vision.Rotate
|
|
|
|
|
|
mindspore.dataset.vision.SlicePatches
|
|
|
|
|
|
mindspore.dataset.vision.TenCrop
|
|
|
|
|
|
mindspore.dataset.vision.ToNumpy
|
|
|
|
|
|
mindspore.dataset.vision.ToPIL
|
|
|
|
|
|
mindspore.dataset.vision.ToTensor
|
|
|
|
|
|
mindspore.dataset.vision.ToType
|
|
|
|
|
|
mindspore.dataset.vision.UniformAugment
|
|
|
|
|
|
mindspore.dataset.vision.VerticalFlip
|
2022-02-11 17:34:24 +08:00
|
|
|
|
|
2022-06-21 11:53:31 +08:00
|
|
|
|
工具
|
2022-06-23 17:09:29 +08:00
|
|
|
|
-----
|
2022-02-11 17:34:24 +08:00
|
|
|
|
|
2022-02-15 16:22:46 +08:00
|
|
|
|
.. mscnautosummary::
|
2022-02-11 17:34:24 +08:00
|
|
|
|
:toctree: dataset_vision
|
|
|
|
|
|
:nosignatures:
|
|
|
|
|
|
:template: classtemplate.rst
|
|
|
|
|
|
|
2022-06-07 15:50:32 +08:00
|
|
|
|
mindspore.dataset.vision.AutoAugmentPolicy
|
2022-02-11 17:34:24 +08:00
|
|
|
|
mindspore.dataset.vision.Border
|
|
|
|
|
|
mindspore.dataset.vision.ConvertMode
|
|
|
|
|
|
mindspore.dataset.vision.ImageBatchFormat
|
|
|
|
|
|
mindspore.dataset.vision.Inter
|
|
|
|
|
|
mindspore.dataset.vision.SliceMode
|
2022-08-22 12:42:37 +08:00
|
|
|
|
mindspore.dataset.vision.encode_jpeg
|
2022-06-14 19:44:33 +08:00
|
|
|
|
mindspore.dataset.vision.get_image_num_channels
|
|
|
|
|
|
mindspore.dataset.vision.get_image_size
|
2022-08-15 14:34:42 +08:00
|
|
|
|
mindspore.dataset.vision.read_file
|
2022-08-23 12:01:13 +08:00
|
|
|
|
mindspore.dataset.vision.write_file
|