第19名解决方案(含代码)
第19名解决方案(含代码)
作者:Camaro (Grandmaster) | 排名:第19名
恭喜所有获奖者以及进入金牌区的选手!
我参加这次比赛比较晚,是在 Severstal 比赛结束后才加入的。(我相信很多人也是这样吧?)
我的目的是为了验证我在 Severstal 比赛中构建的分割管道是否适用于其他比赛。结果证明它确实有效,我只是修改了目录和一些小参数。老实说,这意味着我的解决方案并没有什么特别之处。
概览
- 标注噪声极大
- 类别不平衡程度不高(与 Severstal 相比)
- 数据量相对较小(样本数量)
- 良好的训练/测试划分(交叉验证有效)
有效的方法
- Unet 和 FPN 架构
- 编码器不要太大
- BCE + Dice 损失函数
- 重度数据增强(包括 mixup)
- 余弦退火学习率
- 集成多个模型
- 三重阈值处理(标签阈值/掩码阈值/最小连通分量)
无效的方法
- PSPNet
- 大尺寸图像(超过 448*672)
- 普通的 BCE 损失
- 伪标签
解决方案
- Unet / efficientnet-b3 / 图像尺寸 320x480 / 5折交叉验证
- Unet / efficientnet-b0 / 图像尺寸 320x480 / 余弦退火 / 5折交叉验证
- Unet / efficientnet-b3 / 图像尺寸 384x576 / 余弦退火 / 5折交叉验证
- FPN / resnet34 / 图像尺寸 384x576 / mixup / 5折交叉验证
- 集成上述 20 个模型
- 三重阈值处理(标签阈值/掩码阈值/最小连通分量)
这是我的代码。
如果你有问题,请随时提问:)
谢谢!