目标检测——图像增广(legacy)
1 前言图像增广的根本目的是增加信息量、使模型获得高层语义信息,获得对问题有着更深的理解,从而提升准确率,(在客观上,因为丰富了信息量,所以也同时具有防止过拟合的作用)。图像增广和图像预处理不是相同的操作,两者的目的不同,我觉得图像预处理是为了防止测试集跟训练集的“风格”不同而实现的;赵老师讲到的图像增广策略:image crop,color shift,rotation...
·
2 Youki常用的图像增广技巧
2.1 rotation
也就是选择变换,一般我们采用的是随机旋转;
一个随机旋转的实现为,
transforms.transforms.RandomRotation(10)
# 此代码的含义是,在[-10°, 10°]的区间范围内随机旋转一个角度
但是,值得注意的是,我们在PyTorch中无法直接在ndarray的数据格式下进行这样的变换,
否则就会报错,
这里报错的信息显示,进行变换的img必须是 PIL Image格式,所以我们在进行变换之前还需要将图像数据转换为 PIL Image格式,
一个对ndarray格式的图像数据进行变换的实现代码如下,
transform = transforms.Compose(
[transforms.ToPILImage(),
transforms.transforms.RandomRotation(10),
transforms.ToTensor(),
transforms.Normalize((0.5,), (0.5,))])
这里我们首先使用transforms.ToPILImage()函数将ndarray的图像数据转换为 PIL Image格式,
2.2 亮度变换
亮度变化,是实际环境中照片可能出现变化的原因之一,(不过在game中不会出现)
更多推荐
所有评论(0)