计算机视觉8 图像增广

图像增广(image augmentation)是通过对训练图像进行一系列随机改变,从而产生相似但又不同的训练样本的技术。

图像增广有以下两个主要作用:

  1. 扩大训练数据集的规模;
  2. 随机改变训练样本可以降低模型对某些属性的依赖,从而提高模型的泛化能力。

例如,通过不同方式裁剪图像,使感兴趣的物体出现在不同位置,可以减轻模型对物体出现位置的依赖性;调整亮度、色彩等因素能降低模型对色彩的敏感度。

一些常见的图像增广方法包括:

  1. 翻转 :如左右翻转(通过torchvision.transforms.RandomHorizontalFliptf.image.random_flip_left_right实现)和上下翻转(通过torchvision.transforms.RandomVerticalFliptf.image.random_flip_up_down实现),通常不会改变对象的类别。
  2. 随机裁剪 :随机裁剪一个面积为原始面积一定比例(如10%到100%)的区域,该区域的宽高比也在一定范围内随机取值(如0.5到2),然后将该区域的宽度和高度缩放到指定像素(如200像素)。例如,使用torchvision.transforms.RandomResizedCroptf.image.random_crop
  3. 亮度变化 :将图像的亮度随机调整为原图亮度的一定比例范围(如50%到150%),可通过torchvision.transforms.ColorJitter中的brightness参数或tf.image.random_brightness实现。
  4. 色调变化 :随机更改图像的色调,如使用torchvision.transforms.ColorJitter中的hue参数或tf.image.random_hue
  5. 颜色变化 :还可以同时随机更改图像的亮度、对比度、饱和度和色调,创建torchvision.transforms.ColorJitter实例并设置相应参数即可。
  6. 组合多种方法 :可以使用torchvision.transforms.Compose将多个图像增广方法组合起来应用到图像上。

在实践中,通常仅在训练样本上进行图像增广,而在预测过程中不使用随机操作的图像增广,以获得确切的结果。

相关推荐
墨染天姬34 分钟前
【AI】数学基础之矩阵
人工智能·线性代数·矩阵
2401_841495642 小时前
【计算机视觉】基于复杂环境下的车牌识别
人工智能·python·算法·计算机视觉·去噪·车牌识别·字符识别
zhangjipinggom2 小时前
multi-head attention 多头注意力实现细节
深度学习
倔强青铜三3 小时前
苦练Python第66天:文件操作终极武器!shutil模块完全指南
人工智能·python·面试
倔强青铜三3 小时前
苦练Python第65天:CPU密集型任务救星!多进程multiprocessing模块实战解析,攻破GIL限制!
人工智能·python·面试
强哥之神3 小时前
浅谈目前主流的LLM软件技术栈:Kubernetes + Ray + PyTorch + vLLM 的协同架构
人工智能·语言模型·自然语言处理·transformer·openai·ray
zskj_qcxjqr3 小时前
七彩喜艾灸机器人:当千年中医智慧遇上现代科技
大数据·人工智能·科技·机器人
Wnq100723 小时前
如何在移动 的巡检机器人上,实现管道跑冒滴漏的视觉识别
数码相机·opencv·机器学习·计算机视觉·目标跟踪·自动驾驶
Zack_Liu4 小时前
深度学习基础模块
人工智能·深度学习
zy_destiny4 小时前
【工业场景】用YOLOv8实现抽烟识别
人工智能·python·算法·yolo·机器学习·计算机视觉·目标跟踪