Datawhale干货

方向:深度学习,应用:工业缺陷检测

工业缺陷检测是当前深度学习落地的热门项目,近年来许多的比赛平台都举办了关于缺陷检测的比赛,如kaggle前不久举办的钢铁缺陷检测,以及天池刚刚开始的智能算法赛:瓷砖表面瑕疵质检。

瓷砖表面瑕疵质检比赛链接:

https://tianchi.aliyun.com/s/bc97f977ae47dcfa4b07c027cd28d907

比赛刚刚开始有兴趣的小伙伴可以报名参加。

我调研了2018年天池的铝型材表面瑕疵识别比赛的获奖方案。从别的人方案学习到该领域相关的知识和有效的技巧。

这里分享一下一般参加比赛的思路:

找开源检测框架→数据增强→调参→小改网络→调参→小改网络→调参->测试增强

01

铝型材表面瑕疵识别

赛题介绍

时间:2018年9月1日

比赛链接

https://tianchi.aliyun.com/competition/entrance/231682/introduction

比赛背景:在铝型材的实际生产过程中,由于各方面因素的影响,铝型材表面会产生裂纹、起皮、划伤等瑕疵,这些瑕疵会严重影响铝型材的质量。为保证产品质量,需要人工进行肉眼目测。然而,铝型材的表面自身会含有纹路,与瑕疵的区分度不高。传统人工肉眼检查十分费力,不能及时准确的判断出表面瑕疵,质检的效率难以把控。

数据介绍:数据集包含4356张铝型材表面图片,包含单瑕疵图片,多瑕疵图片,无瑕疵图片,用于参赛者设计图像识别算法。图片所含瑕疵类型总计10种,分别为:不导电、擦花、角位漏底、桔皮、漏底、喷流、漆泡、起坑、杂色、脏点。

题目要求

初赛:分类铝材缺陷图片

复赛:检测铝材缺陷位置

赛题分析:铝材缺陷检测和常见的缺陷检测难点相似,第一是缺陷目标不规则,同种缺陷具有不同的形状,第二部分缺陷较小,缺陷检测常常输入图片较大而缺陷较小,最后是缺陷与背景的差异小。

02

获奖方案

冠军方案:Are you OK 队

BaselineFasterRCNN

改进方法:

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融合。

亚军方案:嘟嘟嘟嘟队

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数据集进行预训练

亚军方案: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提升小目标的检测能力,其余的主要是比赛的一些技巧如数据扩增和多模融合和测试增强。

算法赛交流群已成立

缺陷检测赛事组队,交流分享

进群学习,可在后台回复【工业赛

↓↓工业赛瓷砖表面瑕疵质检

工业缺陷检测比赛Top3方案相关推荐

  1. 基于yolov5的工业缺陷检测方案

    ↑↑↑关注后"星标"Datawhale 每日干货 & 每月组队学习,不错过 Datawhale干货 作者:limzero,西安交通大学,Datawhale原创作者 比赛介绍 ...

  2. 机器视觉工业缺陷检测的那些事(四、常用算法与库)

    机器视觉工业缺陷检测的那些事(四.常用算法与库) 目录 机器视觉工业缺陷检测的那些事(四) 二.算法(预处理算法.检测算法) 常用的图像处理算法: 1.图像变换:(空域和频域.几何变换.色度变换.尺度 ...

  3. 「 工业缺陷检测深度学习方法」最新2022研究综述

    作者丨专知 来源丨专知 编辑丨极市平台 导读 基于深度学习的工业缺陷检测方法在各种生产与运维场景中扮演着重要角色.本文将对工业缺陷检测的任务定义.难点.挑战.主流方法.公共数据集及评价指标等进行全面归 ...

  4. 机器视觉工业缺陷检测的那些事(三、镜头)

    目录 机器视觉工业缺陷检测的那些事(三) 3.镜头的选择 (1)镜头的接口 C接口和CS接口的区别: (2)工业镜头的基本参 <1> 视场(Field of view,即FOV,也叫视野范 ...

  5. 工业缺陷检测工程实践综述

    文章目录 摘要 1.主要难点 2.场景分析 3.缺陷归纳 4.可行性分析 5.数据的四大难点 5.1.数据难分 5.2.多样性不够 5.3.样本不平衡 5.4.数据脏 6.数据生成 7.场景VS数据 ...

  6. 万字长文细说工业缺陷检测

    作者丨皮特潘 编辑丨极市平台 注意:本文从我的一个PPT整理而来,行文可能比较随意,很多细节没有写清楚,后续有时间会持续修改. 上次说到,要写一个系列,最后整理才发现,还是合成一篇比较好一点. [皮特 ...

  7. 与时代共振,AI助力工业缺陷检测

    [ 摘要 ]由于深度学习强大的特征提取能力,代替了人工目检和传统的机器视觉,成为了工业缺陷检测的新利器.然而,基于深度学习的语义分割技术在工业缺陷检测领域的应用仍具有挑战性.本文先对比自然场景下的语义 ...

  8. 机器视觉工业缺陷检测的那些事(二、相机)

    目录 机器视觉工业缺陷检测的那些事(二) 2.相机的选择 (1)工业数字相机的分类: (2)相机的主要参数 ①分辨率 ②速度(帧频/行频) ⑥像元深度 (3)工业数字摄像机主要接口类型 CCD和COM ...

  9. 机器视觉工业缺陷检测的那些事(一、光源)

    目录 机器视觉工业缺陷检测的那些事(一) 一.硬件选型 1.光源的选择 (1)光源可分为可见光和不可见光. (2)按照射方式不同可分为背向照明.前向照明.结构光和频闪光照明等. (3)按照照明方式可分 ...

最新文章

  1. POJ 3630 Phone List
  2. 设置ECLIPSE 中光标移至代码上自动提示功能
  3. Oops 的栈信息分析
  4. 2011年北京大学计算机研究生机试真题(dijkstra+优先队列)
  5. 求二叉树节点个数、叶子节点、节点层次与宽度
  6. 零基础学编程,如何区分C语言和Java?我们到底如何怎么进行选择!
  7. linux vim 添加注释_vim基础教程
  8. I2C总线学习—查缺补漏—对数据有效性的思考
  9. python3 unicodeencodeerror_解决 Python3 下 print 时出现 UnicodeEncodeError 的问题
  10. ubuntu卸载nvidia显卡驱动
  11. [转]SQL Server 2005报表服务入门(一)
  12. RK3399的ADC配置指南
  13. jmeter录制脚本(代理)
  14. java面向对象简介
  15. Gartner发布《2021年RPA魔力象限》,两家中国企业首次入选,开创历史!
  16. 2022杭电多校4 G - Climb Stairs
  17. 海格里斯HEGERLS深度解析|重型四向穿梭车的轨道换向组件及轨道系统
  18. 阿里巴巴图标库(iconfont)使用
  19. 【转】phpcms授课学习
  20. php5那一年,ps cs5是哪一年的

热门文章

  1. 使用vue2.0 vue-router vuex 模拟ios7操作
  2. sqlserver查询自定义的函数
  3. Ubuntu下配置Nginx HTTPS
  4. 【组队学习】【30期】6. 树模型与集成学习
  5. 【HDU】4706 Children's Day(模拟)
  6. sql的四种连接 用mysql的语句写_170221、浅谈mysql的SQL的四种连接
  7. 阿里亲制明信片,字节、百度直接发锅……这些公司的新年礼盒越来越会玩~
  8. 不知道这 7 大 OpenCV 函数怎么向计算机视觉专家进阶?
  9. 从一张风景照中就学会的SinGAN模型,究竟是什么神操作?| ICCV 2019最佳论文
  10. Hinton等人最新研究:大幅提升模型准确率,标签平滑技术到底怎么用?