Toggle navigation
首页
问答
文章
积分商城
专家
专区
更多专区...
文档中心
返回主站
搜索
提问
会员
中心
登录
注册
AI_人工智能
比赛
工业缺陷检测
缺陷检测比赛Top3方案分享
发布于 2021-01-14 09:44:59 浏览:915
订阅该版
[tocm] 工业缺陷检测是当前深度学习落地的热门项目,近年来许多的比赛平台都举办了关于缺陷检测的比赛,如kaggle前不久举办的钢铁缺陷检测,以及天池刚刚开始的智能算法赛:瓷砖表面瑕疵质检。 > 本文转载自:[AI约读社](http://link.zhihu.com/?target=https%3A//mp.weixin.qq.com/s/pyGgtW0MiCjwoHrEVBmwsg) **注1:文末附【缺陷检测】交流群** **注2:点赞的人暴富,论文多多!** **瓷砖表面瑕疵质检比赛链接(奖金78万):**[https://tianchi.aliyun.com/competition/entrance/531846/introduction](http://link.zhihu.com/?target=https%3A//tianchi.aliyun.com/competition/entrance/531846/introduction)  该比赛刚刚开始有兴趣的小伙伴可以报名参加。 我调研了2018年天池的铝型材表面瑕疵识别比赛的获奖方案。从别的人方案学习到该领域相关的知识和有效的技巧。 这里分享一下一般参加比赛的思路:找开源检测框架→数据增强→调参→小改网络→调参→小改网络→调参->测试增强 ## **一、铝型材表面瑕疵识别** 赛题介绍 **时间**:2018年9月1日 **比赛链接**: [[飞粤云端2018\]广东工业智造大数据创新大赛-智能算法赛-天池大赛-阿里云天池tianchi.aliyun.com](http://link.zhihu.com/?target=https%3A//tianchi.aliyun.com/competition/entrance/231682/introduction) **比赛背景**:在铝型材的实际生产过程中,由于各方面因素的影响,铝型材表面会产生裂纹、起皮、划伤等瑕疵,这些瑕疵会严重影响铝型材的质量。为保证产品质量,需要人工进行肉眼目测。然而,铝型材的表面自身会含有纹路,与瑕疵的区分度不高。传统人工肉眼检查十分费力,不能及时准确的判断出表面瑕疵,质检的效率难以把控。 **数据介绍**:数据集包含4356张铝型材表面图片,包含单瑕疵图片,多瑕疵图片,无瑕疵图片,用于参赛者设计图像识别算法。图片所含瑕疵类型总计10种,分别为:不导电、擦花、角位漏底、桔皮、漏底、喷流、漆泡、起坑、杂色、脏点。  **题目要求**:初赛:分类铝材缺陷图片复赛:检测铝材缺陷位置 **赛题分析**:铝材缺陷检测和常见的缺陷检测难点相似,第一是缺陷目标不规则,同种缺陷具有不同的形状,第二部分缺陷较小,缺陷检测常常输入图片较大而缺陷较小,最后是缺陷与背景的差异小。 ## 二、获奖方案 ## 冠军方案:Are you OK 队 **Baseline**:**FasterRCNN**  **改进方法:** **1、采用特征金字塔FPN结构融合高低层信息** 动机:图片分辨率过大1920*2560,而部分缺陷较小,特征提取网络将图片缩小过多倍,缺陷特征受影响。 方法:特征金字塔结构(FPN)来对网络进行改进,FPN就是低层的特征进过卷积,上采样操作之后和高层 的信息进行融合在卷积神经网络中。这样做有两点好处: 1、高低层的信息进行结合,可以增强特征的表达能力 2、候选框产生和提特征的位置分散到了特征 金字塔的每一层,这样可以增加小目标的特征映射分辨率  **2、采用可变形卷积核(Deformable Convolutoin)** 动机:铝材的瑕疵有很多是 这种条状的,传统正规的正方形结构的卷积对这种形状的缺陷处理能力还不够强。 方法:在 resent 结构的最后一个block采用可变形卷积核(Deformable Convolutoin),可变形卷积在卷积计算的过程中能够自动地计算每个点的偏移,从最合适的地方取特征进行卷积。下图大致描述 了可变形卷积的过程,它能够让卷积的区域尽可能地集中在缺陷上。   **3、提出Contextual ROI Pooling** 动机:Faster R-CNN是先生成候选框,然后精调候选框的过程,那么第一步生成的候选框势必会有偏大或者偏小的情况。左边这个例子是框偏大的情况,根据内部信息是可以知道框应该往里调的,但是右边这个例子框偏小了,就无法根据内部信息调节大小了,因此也需要整张图片的信息。  方法:把整张图片也作为一个ROI,ROI Pooling提取全局的特征并与局部相加,再进行后面的分类和回归操作。这样的实现只多进行了一个roi的特征提取和一个特征相加的操作, 就能大大地提升准确率。  **4、训练Trick** (1)正常样本使用:合并正负样本作为新的样本 (2)数据扩增:水平和竖直翻转 **5、测试增强** 对需要预测的缺陷图片进行水平翻折,对翻折后的图片和原图进行预测,将多个结果进行 nms融合。  ## 亚军方案:BOOMBOOM队 **baseline:Faster R-CNN with FPN**  **改进方法:** **1、FPN采用了带孔卷积Dilated Convolution** 方法:将FPN网络的最后一层操作改成了带孔卷积。带孔卷积比标准卷积具有更大的感受野。  **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**  ## 季军方案:嘟嘟嘟嘟队 **baseline:Faster R-CNN with FPN**  **改进方法:1、双路径特征聚合** 动机:FPN在检测极端长宽比的瑕疵的时候会有RoI映射非最优的情况出现,而极端长宽比的瑕疵(长宽比大于10)在数据集上的比例接近40%。 方法:是在原先Baseline的基础上添加多一路的特征提取,利用另一支路的特征来弥补极端长宽比瑕疵下FPN的Roi Mapping非最优所带来的特征损失。  **2、采用ROI Align代替ROI Pooling** 动机:FPN在做Roi Mapping的时候是根据Roi的面积来计算的,这会导致当出现极端长宽比情况时,这个映射结果会偏大,导致特征丢失严重。 方法:网络在做RoiPooling的同时取映射出来的第kt层以及第kt-1层,这样即使是在kt偏大的时候kt-1的特征就更加合适了。而且,取两层的特征进行融合还能增加特征的多尺度特性,同时还不会带来额外的计算量。  **3、训练Trick** 1、数据扩增:随机竖直/水平翻折,色彩空间增强 2、多尺度训练:大小缩放 3、预训练:采用coco数据集进行预训练  ## 三、总结 获奖方案baseline都采用了FasterRCNN, FasterRCNN 在目标检测的任务中具有较高的准确率。缺陷检测主要面对的难点是缺陷较小,且形状不过规则。也就是需要解决小目标检测和网络的泛化能力,解决这些问题的方案有使用新的卷积来应对缺陷的不规则的情况比如可变形卷积,以及采用FPN提升小目标的检测能力,其余的主要是比赛的一些技巧如数据扩增和多模融合和测试增强。
0
条评论
默认排序
按发布时间排序
登录
注册新账号
关于作者
lebhoryi
这家伙很懒,什么也没写!
文章
30
回答
6
被采纳
1
关注TA
发私信
相关文章
1
RT-Thread AI Kit 相关资料和教程在哪里?
2
20号的开发者大会上,人脸识别AI
3
2020 开发者大会演示的 AI 套件什么时候开源?
4
请问RT-AK有没有部署MobileNet的例子呢
5
请问RT-AK会支持paddlepaddle的模型吗
6
嵌入式比赛中要求的 RT-Thread ai toolkit 能介绍一下吗?
7
使用rt_ai_tools转换模型时报错
8
求一个识别人有没有带口罩的模型?
9
RT-AK的人物检测例子下载后编译失败
10
cube ai部署后报错
推荐文章
1
RT-Thread应用项目汇总
2
玩转RT-Thread系列教程
3
国产MCU移植系列教程汇总,欢迎查看!
4
机器人操作系统 (ROS2) 和 RT-Thread 通信
5
五分钟玩转RT-Thread新社区
6
【技术三千问】之《玩转ART-Pi》,看这篇就够了!干货汇总
7
关于STM32H7开发板上使用SDIO接口驱动SD卡挂载文件系统的问题总结
8
STM32的“GPU”——DMA2D实例详解
9
RT-Thread隐藏的宝藏之completion
10
【ART-PI】RT-Thread 开启RTC 与 Alarm组件
热门标签
RT-Thread Studio
串口
Env
LWIP
SPI
AT
Bootloader
Hardfault
CAN总线
FinSH
ART-Pi
DMA
USB
文件系统
RT-Thread
SCons
RT-Thread Nano
线程
MQTT
STM32
RTC
rt-smart
FAL
I2C_IIC
UART
ESP8266
cubemx
WIZnet_W5500
ota在线升级
PWM
BSP
flash
freemodbus
packages_软件包
潘多拉开发板_Pandora
定时器
ADC
GD32
flashDB
socket
编译报错
中断
Debug
rt_mq_消息队列_msg_queue
keil_MDK
ulog
SFUD
msh
C++_cpp
MicroPython
本月问答贡献
RTT_逍遥
10
个答案
3
次被采纳
xiaorui
3
个答案
2
次被采纳
winfeng
2
个答案
2
次被采纳
三世执戟
8
个答案
1
次被采纳
KunYi
8
个答案
1
次被采纳
本月文章贡献
catcatbing
3
篇文章
5
次点赞
lizimu
2
篇文章
8
次点赞
swet123
1
篇文章
4
次点赞
Days
1
篇文章
4
次点赞
YZRD
1
篇文章
2
次点赞
回到
顶部
发布
问题
投诉
建议
回到
底部