工业缺陷检测比赛Top3方案
https://tianchi.aliyun.com/s/bc97f977ae47dcfa4b07c027cd28d907
比赛刚刚开始有兴趣的小伙伴可以报名参加。
01
铝型材表面瑕疵识别
赛题介绍
时间:2018年9月1日
比赛链接:
https://tianchi.aliyun.com/competition/entrance/231682/introduction
比赛背景:在铝型材的实际生产过程中,由于各方面因素的影响,铝型材表面会产生裂纹、起皮、划伤等瑕疵,这些瑕疵会严重影响铝型材的质量。为保证产品质量,需要人工进行肉眼目测。然而,铝型材的表面自身会含有纹路,与瑕疵的区分度不高。传统人工肉眼检查十分费力,不能及时准确的判断出表面瑕疵,质检的效率难以把控。
02
获奖方案
冠军方案:Are you OK 队
Baseline:FasterRCNN
改进方法:
1、采用特征金字塔FPN结构融合高低层信息
2、采用可变形卷积核(Deformable Convolutoin)
3、提出Contextual ROI Pooling
亚军方案:嘟嘟嘟嘟队
baseline:Faster R-CNN with FPN
亚军方案:BOOMBOOM队
baseline:Faster R-CNN with FPN
改进方法:
1、FPN采用了带孔卷积Dilated Convolution
方法:将FPN网络的最后一层操作改成了带孔卷积。带孔卷积比标准卷积具有更大的感受野。
(a)常规的卷积 (b)带孔卷积
2、采用ROIAlign代替ROI Pooling
方法:这部分方法和嘟嘟嘟嘟队采用了相同的方法不过多的介绍了。
3、在最后的分类部分,使用Focal Loss代替原来的交叉熵
这里介绍下focal loss的两个重要性质:
1、当一个样本被分错的时候,pt是很小的,比如当y=1时,p要小于0.5才是错分类,此时pt就比较小,反之亦然),因此调制系数就趋于1,也就是说相比原来的loss是没有什么大的改变的。当pt趋于1的时候(此时分类正确而且是易分类样本),调制系数趋于0,也就是对于总的loss的贡献很小。
2、当γ=0的时候,focal loss就是传统的交叉熵损失,当γ增加的时候,调制系数也会增加。
focal loss的两个性质算是核心,其实就是用一个合适的函数去度量难分类和易分类样本对总的损失的贡献。
4、训练Trick
03
总结
获奖方案baseline都采用了FasterRCNN, FasterRCNN 在目标检测的任务中具有较高的准确率。缺陷检测主要面对的难点是缺陷较小,且形状不过规则。也就是需要解决小目标检测和网络的泛化能力,解决这些问题的方案有使用新的卷积来应对缺陷的不规则的情况比如可变形卷积,以及采用FPN提升小目标的检测能力,其余的主要是比赛的一些技巧如数据扩增和多模融合和测试增强。