Pytorch - 数据增广

增加一个已有数据集,使得有更多的多样性

  • 在语言里面加入各种不同的背景噪音
  • 改变图片的颜色和形状

翻转

  • 左右翻转
  • 上下翻转

但是并不总是可行的。

切割

从图片中切割一块,然后变形到固定形状

  • 随机高宽比
  • 随机大小
  • 随机位置
image-20231026135233417

颜色

改变色调、饱和度、明亮度。

image-20231026135646907

总结:

  • 数据增强通过变形数据来获取多样性从而使得模型泛化性能更好
  • 常见图片增强包括翻转、切割、变色

代码实现

随机水平翻转

from PIL import Image
from torchvision import transforms

image = Image.open("../data/1.jpg")
# 水平方向随机翻转
horizontal = transforms.RandomHorizontalFlip()
horizontal_out = horizontal(image)
horizontal_out.show()

随机垂直翻转

# 垂直方向随机翻转
vertical = transforms.RandomVerticalFlip()
vertical_out = vertical(image)
vertical_out.show()

随机裁剪

# 随机裁剪
# size 裁剪后重新设置大小为 200 * 200
# 随机裁剪区域大小设置为 从原图大小的10%到100%随机裁剪
# ration:高宽比
resizeCrop = transforms.RandomResizedCrop(size=(200,200),scale=(0.1,0.9),ratio=(0.5,2))
resizeCrop_out = resizeCrop(image)
resizeCrop_out.show()

随机更改图像的亮度

# 随机更改图像的亮度
# brightness:亮度,0.5亮度增加/降低50%
# contrast:对比度
# saturation:饱和度
# hue:颜色
colorJitter = transforms.ColorJitter(brightness=0.5,contrast=0,saturation=0,hue=0)
colorJitter_out = colorJitter(image)
colorJitter_out.show()

随机更改图像的色调

# 随机更改图像的色调
colorJitter = transforms.ColorJitter(brightness=0,contrast=0,saturation=0,hue=0.5)
colorJitter_out = colorJitter(image)
colorJitter_out.show()

常用的是,同时调整,上下50%

colorJitter = transforms.ColorJitter(brightness=0.5,contrast=0.5,saturation=0.5,hue=0.5)
colorJitter_out = colorJitter(image)
colorJitter_out.show()
image-20231026145559744
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

mango1698

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值