原标题:复杂场景下的复杂缺陷检测方法——深度学习算法综述
按:本文为矩视智能创始人弭宝瞳投稿。矩视智能成立于 2017 年 10 月,专注于机器视觉,主要通过 SaaS 云平台帮助提升工厂机器视觉开发、升级效率。弭宝瞳为中国人民大学计算机博士,曾在奇虎 360 任产品经理、研发工程师。
一、背景知识
随着自动化技术的快速发展,在工业生产中很多需要人工操作的环节逐渐转由机器完成,工业生产自动化也将越来越多的工人们从枯燥乏味的工作中解放出来,让他们去发挥更大的价值。
产品表面缺陷检测是工业生产中的重要环节,是产品质量把控的关键步骤,借助缺陷检测技术可以有效的提高生产质量和效率。但是由于设备及工艺等因素的影响,产品表面的缺陷类型往往五花八门,比如织物生产中方出现的污点、破损,金属产品上的划痕、裂纹、凹凸不平等各种不同类型的缺陷,如下图所示。
单张图片中的缺陷多样且不同缺陷表现形式的也不相同,给缺陷的自动化检测带来了困难。
二、传统算法
传统的表面缺陷检测算法结构通过图像预处理得到便于检测的图像,随后借助统计机器学习方法来提取图像特征,进而实现缺陷检测的目标。
图像预处理通常包括直方图均衡化、滤波去噪、灰度二值化、再次滤波几部分,以得到前后景分离的简单化图像信息;随后利用数学形态学、傅里叶变换、Gabor 变换等算法以及机器学习模型完成缺陷的标记与检测。
上述传统算法在某些特定的应用中已经取得了较好的效果,但仍然存在许多不足。例如:图像预处理步骤繁多且具有强烈的针对性,鲁棒性差;多种算法计算量惊人且无法精确的检测缺陷的大小和形状。而深度学习可以直接通过学习数据更新参数,避免了人工设计复杂的算法流程,并且有着极高的鲁棒性和精度。
三、深度学习
目前,基于深度学习的缺陷检测已经应用于金属固件、布匹丝织物、建筑裂纹、钢筋裂纹等多个领域,并取得了不错的成果。下面将结合具体案例介绍其实现方法。
3.1裂纹缺陷检测[1]
(1) 训练阶段
图像预处理:光照归一化、高斯金字塔下采样和噪声降噪等操作,避免光照等因素的影响;
Patch提取:提取Patch对每个金字塔层的CDAE网络进行训练;
模型训练:利用训练Patch的重构残差作为像素级缺陷预测的指标;
阈值确定:区分缺陷点与无缺陷点的重要参数。
(2) 模型测试阶段:
图像预处理:只需进行光照归一化和高斯金字塔下采样操作即可;
Patch提取:提取Patch用于纹理检测;
残差贴图构造:提取局部接受域在训练后的模型中滑动,以对每一个像素进行预测;
缺陷分割:对每个金字塔层的残差图进行分割;
合成:将多个金字塔级别的信息合成,以提高缺陷检测的鲁棒性和准确性。
文章通过分析和实验已经证明,充分利用无监督学习和多模态结果融合策略,可以提高缺陷检测的鲁棒性和准确性。
3.4划痕缺陷检测[5]
划痕缺陷检测通常用于金属类产品的表面缺陷检测中,随着生活质量的提高,人们对产品的外观完整性与美观程度的要求也越来越高,因此精准地检测到产品外观的划痕等缺陷在生产环节十分重要。
(1) 阈值模块
连接到CASAE网络末端的独立模块,用于进一步细化预测掩码的结果。
(2) 缺陷区域检测
通过语义分割获得所有可能缺陷的区域,进一步使用blob分析以寻找准确的缺陷轮廓,最终从图像中提取最小的外接矩形区域。
四、总结
本文参考前沿文献,总结了部分当前主流的缺陷检测实现思路。总的来说,使用基于深度学习的算法可快速准确地实现的缺陷检测,且适用范围广能够灵活地应用于建筑、金属固件以及布匹丝织物等众多行业的生产过程中。
参考文献:
[1] Cha Y J et al. Autonomous structural visual inspection using region‐based deep learning for detecting multiple damage types[J]. Computer‐Aided Civil and Infrastructure Engineering, 2018.
[2] Chen J et al. Automatic defect detection of fasteners on the catenary support device using deep convolutional neural network[J]. IEEE Transactions on Instrumentation and Measurement, 2017.
[3] Mei S et al. An unsupervised-learning-based approach for automated defect inspection on textured surfaces[J]. IEEE Transactions on Instrumentation and Measurement, 2018.
[4] Mei S el al. Automatic fabric defect detection with a multi-scale convolutional denoising autoencoder network model[J]. Sensors, 2018.
[5] Tao X et al. Automatic metallic surface defect detection and recognition with convolutional neural networks[J]. Applied Sciences, 2018.
(公众号:)..
特约稿件,未经授权禁止转载。详情见转载须知。