最新车身漆面缺陷检测算法及一些缺陷数据集项目介绍
文章发表时间:2020年6月8日
题目: 一种改进的MobileNet- SSD算法用于车身漆面缺陷自动检测
文章地址: https:// link.springer.com/artic le/10.1007/s11042-020-09152-6
想下载全文请移步:
github:代码目前还未开源(开源及时更新)
本文简概:
数据 :为了实时采集车身油漆缺陷图像,提出了一种 新的数据增强算法 ,以增强数据库处理小样本数据过拟合现象的能力。
方法 :针对汽车涂料固有的缺陷特征,通过 改进MobileNet-SSD网络的特征层 , 优化边界框的匹配策略 ,提出了一种改进的MobileNet-SSD算法,用于油漆缺陷的自动检测。
结果 :改进的MobileNet-SSD算法可以检测出六种传统车身漆膜的缺陷,准确率超过95%,比传统SSD算法快10%,可以实现实时、准确的车身漆面缺陷检测。
一.新的数据增强算法
传统的数据增强:对切割后的图像或者原始图像,进行旋转,缩放,裁剪等方法。
缺点:由于车身漆膜是不透明的混合物,因此车漆图像背景非常复杂,容易干扰了车漆缺陷位置的检测。
新的离线数据集增强算法,可以对原始图像进行变换。从多角度和多层次。它可以增加许多复杂的背景干扰信息,提高检测模型的抗干扰能力,并使应用场景更加实用。
1.1车辆油漆缺陷图像的样本收集
针对质量检验车间与汽车装配线的生产环境相同。上部在LED灯的照度下。在这种工作环境下,手动捕获油漆图像,可以更好地恢复真实的检测效果,提高算法的鲁棒性。共收集500张图像和300个视频。500张图像包括:58个搪瓷袋,204个收缩孔,103个脏颗粒,73个划痕,27个漆渣和35个漆板组成。
1.2数据增强算法
为了消除数据过拟合,对汽车油漆图像中的缺陷尺寸(油漆高度,油漆宽度)进行采样。采样规则如下:
- 选择适合缺陷大小的采样块尺寸: 本文使用的缺陷检测算法基于改进的MobileNet-SSD算法,该算法将输入图片的大小统一为300 * 300。为了保持长宽比不变,将采样块取为正方形,其大小由车身油漆图像中缺陷的大小确定。设置确定大小不同的缺陷的采样块大小的规则: 首先确定油漆图像中缺陷区域的大小,根据大小确定采样块的大小,然后随机选择确定的采样块大小量程范围内的10倍。 这可以有效地增加样本块位置的随机性,并提高后续检测的准确性。
- 采样块的多角度和多变换 :确定采样块的适当大小后,校准采样块的位置。 在各自的范围内随机选择采样块的左上角坐标(blockx,blocky)10次 ,可以更好地保证训练图像中缺陷位置的多样性。 查找(block x,block y)范围的规则如下:
规则中( X min, Y min)和( X max, Y max)分别为原图缺陷区域左上角和右下角的坐标。具体的解释规则参考 原文 。
1.3生成的油漆缺陷数据库
为了验证所提出的离线数据增强算法的有效性,建立了三个数据集用于比较实验,分别是测试数据集,传统方法获得的扩展训练集和提议数据增强算法获得的扩展训练集。
- 测试数据集 :随机抽取500个样本集中的10%,并通过上述数据增强算法扩展数据集。最终,生成500张图片作为测试数据集。
- 扩展训练集A :通过传统的数据增强算法处理样本集中其余90%的图像,并生成4500张图像作为扩展训练数据集A。
- 扩展训练集B :样本集中90%的图像均由本文提出的数据增强算法处理。从多个角度对每个缺陷采样10次,并生成4500张图像作为扩展测试数据集B。
二、改进的MobileNet-SSD算法
传统的SSD算法:使用多尺度特征图进行目标检测,可以提取多尺度特征,减小后续各层的大小,大大提高了检测精度和速度,
缺点:检测速度仍然较慢。
MobileNet算法:使用深度卷积层作为基础层网络,它在考虑模型大小的同时优化了延迟。
缺点:对于目标检测而言,准确性仍然很低。
因此,本文提出了两种网络的结合以同时实现实时和高精度检测。
2.1 改进的MobileNet-SSD的网络结构
MobileNet使用深度可分离卷积来减少大量计算,从而可以大大提高检测速度。将MobileNet算法与SSD算法结合使用可以有效提高模型的检测速度,但仍难以获得实时的检测结果。因此,提出了 将BN层和卷积层合并到MobileNet-SSD算法中。
改进的MobileNet-SSD的结构如下图所示:
输入图像的大小规格化为300×300。从Conv1到Conv13使用深度可分离的卷积层,并在后面添加了8个标准卷积层。卷积层和BN层在添加的卷积层上合并,并提取Conv1,Conv2,Conv3,Conv4,Conv5和Conv6的卷积层作为detection layer。该方法可以有效解决梯度消失和梯度爆炸的问题,减少计算量,提高模型的性能。
2.2 改进MobileNet-SSD算法的匹配策略
默认框的长宽比对默认框和真实框的IOU有很大影响,并且对于训练检测模型也是非常重要的参数。原始纵横比适用于PASCAL VOC2017数据集,但不适用于油漆缺陷的检测。因此,采用K-均值聚类算法对油漆数据库中缺陷区域的长宽比进行聚类,以获得合适的长宽比来检测车身油漆缺陷。 长宽比的筛选规则如下:
- 油漆图像中所有缺陷区域的输入K值和纵横比
- 随机生成K个纵横比聚类中心
- 计算设置到每个聚类中心的油漆样本图像中每个缺陷区域的长宽比之间的差异,并使用差异对缺陷区域进行分类
- 计算每个类别中所有缺陷区域的长宽比中心,并将每个群集中心更新为其长宽比中心
根据原始SSD算法的匹配策略,每个宽高比都在宽高比(宽度/高度或高度/宽度)的范围内,因此仅需要对宽高比大于1的值进行聚类。K值分别设为3、4、5、6,聚类结果如下图所示:
根据聚类结果分析,原始SSD算法使用的纵横比αε{1,2,3,1 / 2,1 / 3}不适用于检测汽车油漆缺陷。汽车中几乎没有缺陷油漆缺陷数据库,其长宽比大于3,大多数为1、2和2.55。结合原始SSD算法的长宽比,可以获得MobileNet-SSD算法每个检测层的默认框数和长宽比,请参见表1。
根据表1和表2所示,改进了Conv13,Conv14_2,Conv15_2,Conv16_2和Conv17_2网络层的匹配策略.经过实验验证,当Conv13,Conv14_2,Conv15_2,Conv16_2和Conv17_2网络层的默认帧数为4、6、6、6、6、6时,模型训练和检测效果最佳,因此Conv13网络的默认帧数层从3改善到4。
三.实验结果与分析
为了证明数据增强算法的优化效果,分别在data setA 和data setB上对MobileNet算法,VGG16-SSD算法,MobileNet-SSD算法及其改进MobileNet-SSD进行训练和测试,利用mAP作为模型测试指标。结果如下图所示:
通过实验可以看出,利用本文的数据增强算法后的效果相比传统数据增强mAP都有明显的提升。
与现有的车身缺陷检测技术进行了比较。我们的模型基于MobileNet SSD模型,数据集采用workshop拍摄模式,而 论文[1] 模型为CNN,数据集采用workshop拍摄模式, 论文[2] 模型为CNN,数据集采用DAGM 2007。对于IOU,我们的数据采集方法与论文[1]相同。但在准确性和实时性方面,本文的方法更有效。
想要了解更多论文信息请移步原文。
更多关于表面缺陷检测的文章的 文章 : https:// github.com/Eatzhy/surfa ce-defect-detection
表面缺陷检测 常用数据集:
- 钢材表面: NEU-CLS (可用于分类、定位任务)
- 太阳能板: elpv-dataset
- 金属表面: KolektorSDD
- PCB板检测: DeepPCB
- ITEX数据集(面料缺陷) 提取码:b9uy
- 布匹残缺数据集(天池竞赛) 提取码:gat2
- 铝材表面残缺数据集(天池竞赛)
- 工业光学检测(DAGM 2007)
- 基建表面裂纹检测数据集
- 油污下的硅钢残缺数据集
- 瓷砖表面残缺数据集
- 铁轨残缺数据集
- 更多数据集: https:// github.com/abin24/Surfa ce-Inspection-defect-detection-dataset
关于残缺检测的 github项目推荐 :
Defect Eye是一个基于tensorflow1.4的开源软件库,专注于表面缺陷检测。应用领域涵盖制造环境中的所有良率应用,包括进入来料加工工具认证,晶圆认证,玻璃表面认证,光罩鉴定,研究和开发以及工具,工艺和生产线监控。图案化和未图案化的晶圆缺陷检查和鉴定工具在晶圆的前表面,后表面和边缘上发现颗粒和图案缺陷,使工程师能够检测和监控关键的屈服偏移。此外,它可用于医学图像的注射,包括肺PET / CT,乳房MRI,CT Colongraphy,数字胸部X射线图像。
参考:
1. 一种改进的MobileNet- SSD算法用于车身漆面缺陷自动检测
4. 深度学习实现残缺检测算法