【CV实践】之零基础入门语义分割---Task2数据增强
作者:互联网
参加本次活动的目标:通过本次赛题可以引导大家熟练掌握语义分割任务的定义,具体的解题流程和相应的模型,并掌握语义分割任务的发展
零基础入门语义分割---Task2数据增强
0x10:学习目标
- 理解基础的数据扩增方法
- 学习OpenCV 和 albumentations 完成数据扩增
- Pytorch 完成赛题读取
0x20:常见的数据扩增方法
数据扩增是一种有效的正则化方法,可以防止模型过拟合。
数据扩增的目的是增加数据集钟样本的数据量,同时可以有效增加样本的语义空间。
注意:数据扩增方法需要与具体任何相结合,同时要考虑到标签的变化。
对于图像分类,数据扩增可以分为两类:
标签不变的,数据变化之后图像类别不变。
标签变化的,数据变换之后图像类别变化。
对于语义分割而言,一般的数据扩增方法都会改变图像的标签。如:水平翻转(VerticalFlip),垂直翻转(HorizontalFlip),随机旋转n个90度(RandomRotate90)。
0x30:OpenCV数据扩增
0x40:albumentations 数据扩增
与OpenCV相比albumentation具有以下优点:
albumentation支持的操作更多,使用更加方便
albumentation可以和深度学习框架Pytorch配合使用
albumentation支持各种任务(图像分流)的数据扩增操作
0x50:Pytorch 数据读取
使用Pytorch读取赛题数据。
在Pytorch钟数据是通过Dataset进行封装,并通过DataLoder进行并行读取。
我们只需重载以下数据读取的逻辑就可以完成数据的读取。
Dataset:数据集,对数据进行读取并进行数据扩增
DataLoder:数据读取器,对Dataset进行封装并进行批量读取。
0x60:课后作业
# 首先读取原始图片
img = cv2.imread(train_mask[’name’].iloc[0])
mask = rle_decode(train_mask[’mask’].iloc[0])
trmf = A.Compose([
# 翻转
A.Flip(p=0.5),
#加噪声
A.ISONoise(p=0.5),
A.GaussNoise(p=0.5),
])
标签:Task2,读取,扩增,语义,---,Pytorch,数据,CV,albumentation 来源: https://blog.csdn.net/qq_45914759/article/details/114002970