返回列表

1st place solution

438. Plant Pathology 2021 - FGVC8 | plant-pathology-2021-fgvc8

开始: 2021-03-15 结束: 2021-05-26 作物智能识别 数据算法赛
第一名解决方案

第一名解决方案

作者: wanghao
排名: 第1名

软标签

  • 训练 5 折 EfficientNetV2。
  • 标签==1 且 预测分数 < 0.7 ==> 软标签=0.3(用于训练折)。

多标签增强

Cutmix

与标准的 cutmix 不同,我没有使用:

loss = lam * loss(outputs, labels) + (1-lam) * loss(outputs, mix_labels)

因为我认为 'healthy'(健康)+ 'scab'(疮痂)== 'scab'。

例如:'scab' + 'frog_eye_leaf_spot'(蛙眼叶斑病) ==> 'scab frog_eye_leaf_spot'(疮痂 蛙眼叶斑病)(还有其他不同的组合)。

Cutmix示意图

Mosaic

例如:'scab' + 'scab' + 'scab frog_eye_leaf_spot' + 'complex'(复杂) ==> 'scab frog_eye_leaf_spot complex'(疮痂 蛙眼叶斑病 复杂)(还有其他不同的组合)。

Mosaic示意图

数据增强

裁剪、水平翻转、垂直翻转、亮度、对比度、ShiftScaleRotate、光学畸变、网格畸变、IAAPiecewiseAffine、Cutout、CoarseDropout。

其他细节

  • 模型融合:ResNet50-5folds + ResNeXt50_32x4d-5folds。
  • TTA(测试时增强):翻转,中心裁剪。
  • 类别平衡(最后三个 epoch)。
  • 标签平滑。
  • 图像尺寸:384x576。
  • 预热。
  • 余弦退火学习率。
  • 优化器:AdamW。

未完成的 LeafGAN

由于时间和计算资源的限制,我没有完成它,但我认为这是处理多标签问题的最佳方式。

我们可以训练 LeafGAN 生成 healthy->disease_A(健康->疾病A) 和 healthy->disease_B(健康->疾病B),然后我们可以通过 mixup('disease_A', 'disease_B') 获得多标签('disease_A disease_B')。

GitHub 地址: https://github.com/IyatomiLab/LeafGAN

LeafGAN示意图
同比赛其他方案