{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# 图像处理与增强\n",
"\n",
"[![](https://gitee.com/mindspore/docs/raw/r1.3/resource/_static/logo_source.png)](https://gitee.com/mindspore/docs/blob/r1.3/docs/mindspore/programming_guide/source_zh_cn/augmentation.ipynb) [![](https://gitee.com/mindspore/docs/raw/r1.3/resource/_static/logo_notebook.png)](https://obs.dualstack.cn-north-4.myhuaweicloud.com/mindspore-website/notebook/r1.3/programming_guide/zh_cn/mindspore_augmentation.ipynb) [![](https://gitee.com/mindspore/docs/raw/r1.3/resource/_static/logo_modelarts.png)](https://authoring-modelarts-cnnorth4.huaweicloud.com/console/lab?share-url-b64=aHR0cHM6Ly9vYnMuZHVhbHN0YWNrLmNuLW5vcnRoLTQubXlodWF3ZWljbG91ZC5jb20vbWluZHNwb3JlLXdlYnNpdGUvbm90ZWJvb2svbW9kZWxhcnRzL3Byb2dyYW1taW5nX2d1aWRlL21pbmRzcG9yZV9hdWdtZW50YXRpb24uaXB5bmI=&imageid=65f636a0-56cf-49df-b941-7d2a07ba8c8c)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 概述\n",
"\n",
"在计算机视觉任务中,数据量过小或是样本场景单一等问题都会影响模型的训练效果,用户可以通过数据增强操作对图像进行预处理,从而提升模型的泛化性。\n",
"\n",
"MindSpore提供了`c_transforms`模块和`py_transforms`模块供用户进行数据增强操作,用户也可以自定义函数或者算子进行数据增强。\n",
"\n",
"| 模块 | 实现 | 说明 |\n",
"| :---- | :---- | :---- |\n",
"| c_transforms | 基于C++的OpenCV实现 | 具有较高的性能。 |\n",
"| py_transforms | 基于Python的PIL实现 | 该模块提供了多种图像增强功能,并提供了PIL Image和NumPy数组之间的传输方法。|\n",
"\n",
"MindSpore目前支持多种常用的数据增强算子,如下表所示,更多数据增强算子参见[API文档](https://www.mindspore.cn/docs/api/zh-CN/r1.3/api_python/mindspore.dataset.vision.html)。\n",
"\n",
"| 模块 | 算子 | 说明 |\n",
"| :---- | :---- | :---- |\n",
"| c_transforms | RandomCrop | 在图像随机位置裁剪指定大小子图像。 |\n",
"| | RandomHorizontalFlip | 按照指定概率对图像进行水平翻转。 |\n",
"| | Resize | 将图像缩放到指定大小。 |\n",
"| | Invert | 将图像进行反相。 |\n",
"| py_transforms | RandomCrop | 在图像随机位置裁剪指定大小子图像。 |\n",
"| | Resize | 将图像缩放到指定大小。 |\n",
"| | Invert | 将图像进行反相。 |\n",
"| |Compose | 将列表中的数据增强操作依次执行。 |"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## c_transforms\n",
"\n",
"下面将简要介绍几种常用的`c_transforms`模块数据增强算子的使用方法。\n",
"\n",
"### RandomCrop\n",
"\n",
"对输入图像进行在随机位置的裁剪。\n",
"\n",
"**参数说明:**\n",
"\n",
"- `size`:裁剪图像的尺寸。\n",
"\n",
"- `padding`:填充的像素数量。\n",
"\n",
"- `pad_if_needed`:原图小于裁剪尺寸时,是否需要填充。\n",
"\n",
"- `fill_value`:在常量填充模式时使用的填充值。\n",
"\n",
"- `padding_mode`:填充模式。\n",
"\n",
"下面的样例首先使用顺序采样器加载CIFAR-10数据集[1],然后对已加载的图片进行长宽均为10的随机裁剪,最后输出裁剪前后的图片形状及对应标签,并对图片进行了展示。\n",
"\n",
"下载[CIFAR-10数据集](https://www.cs.toronto.edu/~kriz/cifar-10-binary.tar.gz)并解压到指定路径,在Jupyter Notebook中执行如下命令:"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"./datasets/cifar-10-batches-bin\n",
"├── readme.html\n",
"├── test\n",
"│ └── test_batch.bin\n",
"└── train\n",
" ├── batches.meta.txt\n",
" ├── data_batch_1.bin\n",
" ├── data_batch_2.bin\n",
" ├── data_batch_3.bin\n",
" ├── data_batch_4.bin\n",
" └── data_batch_5.bin\n",
"\n",
"2 directories, 8 files\n"
]
}
],
"source": [
"!wget -N https://mindspore-website.obs.cn-north-4.myhuaweicloud.com/notebook/datasets/cifar-10-binary.tar.gz --no-check-certificate\n",
"!mkdir -p datasets\n",
"!tar -xzf cifar-10-binary.tar.gz -C datasets\n",
"!mkdir -p datasets/cifar-10-batches-bin/train datasets/cifar-10-batches-bin/test\n",
"!mv -f datasets/cifar-10-batches-bin/test_batch.bin datasets/cifar-10-batches-bin/test\n",
"!mv -f datasets/cifar-10-batches-bin/data_batch*.bin datasets/cifar-10-batches-bin/batches.meta.txt datasets/cifar-10-batches-bin/train\n",
"!tree ./datasets/cifar-10-batches-bin"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Source image Shape : (32, 32, 3) , Source label : 6\n",
"Cropped image Shape: (10, 10, 3) , Cropped label: 6\n",
"------\n",
"Source image Shape : (32, 32, 3) , Source label : 9\n",
"Cropped image Shape: (10, 10, 3) , Cropped label: 9\n",
"------\n",
"Source image Shape : (32, 32, 3) , Source label : 9\n",
"Cropped image Shape: (10, 10, 3) , Cropped label: 9\n",
"------\n"
]
},
{
"data": {
"image/png": "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\n",
"image/svg+xml": "\n\n\n\n",
"text/plain": "