图像方面的tricks
分类
以精度提升为目的
(1)增加额外数据;
(2)更加细化已有分类,让每一类的特征更加明显,例如都是车,但可以细分为:越野车,城市越野车,跑车,卡车,拖挂车等;
(3)数据增强:该方法是为了扩大数据的多样性。常规包括以下几种方式:
- 旋转,上下翻转,左右翻转,镜像,仿射变换,颜色通道变换,亮度变换,色相变换,饱和度变换,随机裁剪,高斯、中值、平均模糊,对比度增强,锐化,以及将前面的几种变换组合成为一种变换。这里需要提醒的是并不是使用的增强方法越多效果越好,每一种数据都有其有效性,我认为一般情况下选用其中的4-6个变换即可,这些变换最好能贴合实际情况。另外我发现直接将数据进行增强完训练其效果不如在训练时对数据进行随机的一种或几种变换或不进行变换。https://blog.csdn.net/u013066730/article/details/112252982
- mixup:将随机的两张样本按比例混合,分类的结果按比例分配https://blog.csdn.net/u013066730/article/details/94716966
- cutmix:就是将一部分区域cut掉但不填充0像素而是随机填充训练集中的其他数据的区域像素值,分类结果按一定的比例分配(如果物体不能放缩,该种方法不适用)https://blog.csdn.net/u013066730/article/details/106354846
- cutout:随机的将样本中的部分区域cut掉,并且填充0像素值,分类的结果不变
- 图像生成:BEGAN的生成;
- 颜色迁移:cyclegan https://blog.csdn.net/u013066730/article/details/100013111,细胞学和组织学的颜色迁移https://github.com/Peter554/StainTools/blob/master/samples/sample.py(仅支持ubuntu);
- 直接图像复制粘贴,也就是让某一类的数据数量变多,增加他在训练时出现的概率;
- AutoAugment,https://github.com/DeepVoltaire/AutoAugment
- RandAug,https://blog.csdn.net/u013066730/article/details/112367213
(4)增加测试的分辨率:Fixing the train-test resolution discrepancy,,具体的训练方式请参考https://blog.csdn.net/u013066730/article/details/112369794(比赛时专用)
(5)修改损失
- labelsmooth
- focalloss
分割
检测
mosaic