CV-语义分割学习贴--数据扩增方法

CV-语义分割–数据扩增

这几天跟着Datawhale学习了,针对CV方面的数据扩增方法。
主要有两种类型,分别是基于图像的数据数据扩增方法和基于深度学习的扩增方法(还不太理解)。

我主要是练习了基于图像的数据扩增方法。针对本赛题(语义分割),针对图像的数据扩增方法也是比较合适的。

针对图像的扩增,又分为3大类:
一种是几何变化,包括:旋转、缩放、平移、裁减、翻转、反射变换,等。
一种是灰度和彩色空间变换,包括:亮度调整、对比度、饱和度调整、颜色空间转换、色彩调整、gamma变换等
一种是添加噪声和滤波,也就是对原始图像数值添加微量扰动:添加高斯噪声、椒盐噪声等;滤波:模糊、锐化、雾化等

这次Datawhale的视频分享中,主要介绍了Pytorch中torchvision模块的transforms函数以及Albumentations库函数;

我在baseline中主要是调用了Albumentations,(torchvision的transforms还没有调好代码,所有没有尝试成功)。

原来baseline中的

trfm = A.Compose([
    A.Resize(IMAGE_SIZE, IMAGE_SIZE),
    A.HorizontalFlip(p=0.5),
    A.VerticalFlip(p=0.5),
    A.RandomRotate90(),
])

这次尝试添加了其他的一些扩增方法:

trfm =  A.Compose(
    [
        A.HorizontalFlip(p = 0.5),
        # A.Transpose(),
        A.Resize(IMAGE_SIZE, IMAGE_SIZE),
        A.VerticalFlip(p=0.5),
        A.RandomRotate90(),
        A.OneOf([
            A.IAAAdditiveGaussianNoise(),
            A.GaussNoise(),
        ], p=0.3),
        
        ##------模糊处理:
        A.OneOf([
            A.MotionBlur(p=0.2),
            A.MedianBlur(blur_limit=3, p=0.1),
            A.Blur(blur_limit=3, p=0.1),
        ], p=0.5),
        A.ShiftScaleRotate(shift_limit=0.0625, scale_limit=0.2, rotate_limit=45, p=0.2),
        ##-----弹性变形:
        A.OneOf([
            A.OpticalDistortion(p=0.3),
            A.GridDistortion(p=0.1),
            A.ElasticTransform(alpha=155, sigma=210, alpha_affine=157, p=0.5)
            A.IAAPiecewiseAffine(p=0.3),
        ], p=0.5),
        A.OneOf([
            A.CLAHE(clip_limit=2),
            A.IAASharpen(),
            A.IAAEmboss(),
            A.RandomBrightnessContrast(),
        ], p=0.5),
        A.HueSaturationValue(p=0.3),
    ])

主要参考方法地址:添加链接描述
然而测试结果并没有原来的结果好一些,可能其中某些变换并没有起到正反馈的作用。需要进一步调整。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值