根据缺陷检测的三个阶段其方法大致可以分为三类分别是分类网络、检测网络、分割网络。由于CNN强大的特征提取能力, 采用基于CNN的分类网络目前已成为表面缺陷分类中最常用的模式一般来说,现有表面缺陷分类的网络常常采用计算机视觉中现成的网络结构, 包括AlexNet, VGG, GoogLeNet,ResNet, DenseNet, SENet, ShuteNet,MobileNet等。利用分类网络结合上滑动窗口的方式可以实现缺陷的定位。Deep learning-based crack damage detection using convolutional neural networks
主要方法:最早采用基于滑动窗口的CNN分类网络实现了裂纹表面缺陷定位, 两种滑动窗口冗余路径结合实现图像全覆盖, 如图所示, 图中(a)为滑动窗口路径示意图, 图中(b)为裂纹定位的结果图。A fast and robust convolutional neural network-based defect detection model in product quality control主要方法:作者使用一个多层的CNN网络对布匹缺陷数据集中的六类缺陷样本进行分类,分类结束之后,对于每一类样本进行缺陷检测。具体做法是:1.使用滑动窗口的方法在512×512的原图上进行采样,采样大小为128×128;2.对上部分每一类图像采样后的小图像块进行二分类(有缺陷和无缺陷)。下图为文章两次分类使用的CNN网络,两次分类的区别在于:1.全连接层的输入分别为6和2;2.输入的图像尺寸不同。滑动窗口:
目标定位是计算机视觉领域中最基本的任务之一, 同时它也是和传统意义上缺陷检测最接近的任务, 其目的是获得目标精准的位置和类别信息。目前, 基于深度学习的目标检测方法层出不穷, 一般来说, 基于深度学习的缺陷检测网络从结构上可以划分为: 以Faster R-CNN为代表的两阶段(two stage)网络和以SSD或YOLO为代表的一阶段(one stage)网络。两者的主要差异在于两阶段网络需要首先生成可能包含缺陷的候选框(proposal), 然后在进一步进行目标检测。一阶段网络直接利用网络中提取的特征来预测缺陷的位置和类别。TDD-net: a tiny defect detection network for printed circuit boards
检测对象:PCB缺陷
主要方法:作者提出了一种针对PCB表面缺陷检测网络(TDD-Net), 该方法通过使用k均值聚类设计合理锚框大小, 其次引入多尺度金字塔网络(FPN)到Faster RCNN中, 加强了来自底层结构信息的融合, 使得网络适应微小的缺陷检测。最后, 考虑到小数据集和样本不平衡的特点, 在训练阶段采用了在线困难样本挖掘(OHEM)技术.该方法在PCB缺陷数据集上达到了98.90%的mAP。图 a 是没有加入FPN的结构,通过特征可视化图片可以看到,随着提取特征层数的增加,电路板的特征越来越模糊,图 b 是加入FPN结构后的可视化图片。
An End-to-end Steel Surface Defect Detection Approach via Fusing Multiple Hierarchical Features
主要方法:基于Faster R-CNN的带钢表面缺陷检测网络, 该网络的改进在于提出的多级特征融合网络(MFN)将多个分层特征组合成一个特征,其可以包括缺陷的更多位置细节。基于这些多级特征,采用区域提议网络(RPN)来生成感兴趣区域(ROI).在缺陷检测数据集NEU-DET上, 提出的方法在采用ResNet-50的backbone下实现了82.3%的mAP。Automatic Defect Detection of Fasteners on theCatenary Support Device Using Deep Convolutional Neural Network
主要方法:作者将深度卷积神经网络(DCNNs)应用到高铁线路紧固件缺陷检测。结合SSD、YOLO等网络方法构建了一个从粗到细的级联检测网络。其过程如下图所示,分成三个阶段,第一阶段采用SSD网络对钢材的悬臂节点及其紧固件进行定位,第二阶段crop出紧固件的图片输入到YOLO网络定位缺陷位置,第三阶段一个分类器对紧固件缺陷进行分类。分割网络将表面缺陷检测任务转化为缺陷与正常区域的语义分割甚至实例分割问题, 它不但能精细分割出缺陷区域, 而且可以获取缺陷的位置、类别以及相应的几何属性(包括长度、宽度、面积、轮廓、中心等)。按照分割功能的区别, 其大致可以分为:FCN(Fully Convolutional Networks)方法和Mask R-CNN方法两种。(1)FCN(Fully Convolutional Networks)方法
Automatic Metallic Surface Defect Detection and Recognition with Convolutional Neural Networks主要方法:该方法是基于FCN网络的改进,提出的一种能够对缺陷进行像素级分割和分类的网络,整个网络可以分成两个阶段:缺陷检测阶段和缺陷分类阶段。在缺陷检测阶段,作者设计了一个级联的自动编码器(CASAE),利用编码器对正常区域和缺陷区域的响应不同,通过阈值分割的方式实现缺陷区域的像素级定位。然后将缺陷区域crop出来输入到缺陷分类网络分类缺陷的类别。整个算法的流程如下图所示:AE Network 全卷积网络:
Mask R-CNN是目前最常用的图像实例分割方法之一, 可以被看作是一种基于检测和分割网络相结合的多任务学习方法. 当多个同类型缺陷存在粘连或重叠时, 实例分割能将单个缺陷进行分离并进一步统计缺陷数目, 然而语义分割往往将多个同类型缺陷当作整体进行处理. 目前大部分文献都是直接将Mask R-CNN框架应用于缺陷分割。Automatic defect segmentation on leather with deep learning 实现皮革表面缺陷,Road Damage Detection And Classiflcation In Smartphone Captured Images Using Mask R-CNN 实现路面缺陷分割。