CN113240626B - 一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法 - Google Patents
一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法 Download PDFInfo
- Publication number
- CN113240626B CN113240626B CN202110377130.7A CN202110377130A CN113240626B CN 113240626 B CN113240626 B CN 113240626B CN 202110377130 A CN202110377130 A CN 202110377130A CN 113240626 B CN113240626 B CN 113240626B
- Authority
- CN
- China
- Prior art keywords
- flaw
- image
- network
- flaws
- feature
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- General Health & Medical Sciences (AREA)
- Software Systems (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Quality & Reliability (AREA)
- Image Analysis (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法。首先利用凹凸型瑕疵的成像原理,设计了一种图像增强算法来生成凸显瑕疵位置的增强图像,通过增强图像来快速定位瑕疵位置,生成置信度非常高的建议候选框。然后结合改进的目标检测深度神经网络进行瑕疵分类、回归框定位以及进行像素级瑕疵区域预测。同时针对网络在训练时正负样本不平衡问题,提出了一种样本采样方案用来获取类别平衡的训练数据。该方法可以有效的提高瑕疵检测的速度和精度,进而增强产品生产过程中瑕疵检测环节的整体性能。
Description
技术领域
本发明属于瑕疵检测技术领域,具体涉及一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法。
背景技术
在手机玻璃面板的生产过程中,会出现抛光痕、过抛、凹点、白点、压伤、刀纹等诸多的问题。手机玻璃面板缺陷种类较多且复杂,缺陷的形状、大小和数量等都是不规则的。这就导致了瑕疵不仅在数量上分布是高度不平衡的,在瑕疵尺寸和形状上也会为瑕疵检测带来很大的困难。传统的人工检测依靠人眼来进行检测识别,质检员需要在强光下通过不同的光线和视觉角度,捕捉玻璃的各类缺陷,这种方法局限性高,不能满足大批量快节拍生产,而且长时间的肉眼检测过程容易引起视觉疲劳,再加上主观认定和训练水平,已经远远无法满足生产的需要。
传统的机器学习算法往往是基于图像处理和模式识别技术,通过提取产品表面纹理特征的功率谱密度进行分析,来完成对瑕疵的检测。这种检测方案过于依赖先验知识,且检测结果准确率不高。
现在也出现了使用深度神经网络来检测的方法,但是现有的基于神经网络的方法都是直接用拍得的瑕疵图片作为训练数据,以目标检测网络为主要的框架进行检测,但是目标检测网络一般都是针对自然场景中的高语义目标进行检测,并且由于在自然场景中的目标由于没有特殊性,所以在提取目标位置时通常采用的是遍历或与遍历相似的逐步缩小范围的方法,而没有考虑到不同的瑕疵在不同的图像采集方案下所表征的信息的不同,导致的检测时间长。并且瑕疵属于低语义目标,相比自然场景目标它的大小与长宽比变化范围非常广泛,如果直接用瑕疵图片进行目标检测网络的训练,虽然可识别的瑕疵种类多,但是识别精度非常低。
发明内容
为了克服上述现有技术的不足,本发明的目的是提出一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法。该方法首先利用凹凸型瑕疵的成像原理,设计了一种图像增强算法来生成凸显瑕疵位置的增强图像,通过增强图像来快速定位瑕疵位置,生成置信度非常高的建议候选框。然后结合改进的目标检测深度神经网络进行瑕疵分类、回归框定位以及进行像素级瑕疵区域预测。同时针对网络在训练时正负样本不平衡问题,提出了一种样本采样方案用来获取类别平衡的训练数据。该方法可以有效的提高瑕疵检测的速度和精度,进而增强产品生产过程中瑕疵检测环节的整体性能。
为实现上述目的,本发明所提供的技术方案为:
一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法,包括以下步骤:
步骤一、采集手机玻璃面板的原图和增强图:
1)将一系列黑白周期条纹投影到待检测的手机玻璃面板表面,通过相机拍摄一系列反射的黑白周期条纹图,采集完成后,打开暗场条形光源,采集一张暗场图像作为原图;
3)将采集到的原图和由增强图得到的候选区域二值化图进行透视变换到正视图的位置,得到一个样本;
步骤2、构建训练数据集:
1)首先将步骤1中得到的一组样本中的原图进行像素级标注,使用 labelme软件对原图中的瑕疵区域通过锚点的方式进行标注,具体标注类别为划伤、压痕、凹凸痕、凹凸点、崩边、牙缺/锯齿6种缺陷;
2)然后根据候选区域二值化图生成候选区域;
3)根据不同尺度和长宽比生成anchors,由于瑕疵形状的极度不规则,为保证对瑕疵的适应性,考虑n×m种候选框,其中n表示瑕疵候选框的尺寸类别数,m表示瑕疵候选框的长宽比类别数,n和m的取值依据数据集中瑕疵的实际分布进行确定;
4)根据anchors和标注框之间的IoU,从所有的anchors中选出属于背景区域的anchors,此时就可以按照1:1的比例从属于背景区域的 anchors中选取一定数量的anchor作为负样本和步骤2中的第2)步生成的候选区域作为正样本来作为一组样本所对应的训练数据;
5)重复以上步骤,即得一个包含大量标注数据的训练集;
步骤3、构造用于特征提取的卷积神经网络结构,用基于FPN改进的残差网络作为具有特征融合功能的主干网络用来提取特征图,形成特征金子塔,由于在瑕疵检测中检测精度比较重要,所以残差网络选择精度较高的 ResNet101网络;
步骤4、利用步骤1中通过增强图得到的二值化图像,首先提取二值化图像中的物体轮廓,然后求出对应轮廓的外接矩形作为瑕疵候选区域;
步骤5、结合瑕疵候选区域和特征金子塔进行感兴趣区域池化操作,输出一个固定尺寸的特征向量;
步骤6、构造用于瑕疵检测的网络头部,将步骤5得到的固定尺寸的特征向量输入头部网络进行瑕疵检测,其中头部网络包含三个分支,分别为 Softmax分支进行计算瑕疵的分类输出,bbox回归分支进行瑕疵边界定位, FCN分支进行RoI像素级标注瑕疵mask输出;
步骤7、训练神经网络:
1)使用COCO数据集对backbone主干网络进行预训练;
2)然后再用步骤2构建的数据集来对整个检测网络进行微调;
步骤8、将按步骤1采集的待检测的手机玻璃面板原图和增强图同时输入训练好的检测网络中,获取瑕疵检测结果。
所述的步骤1中涉及的黑白周期条纹图像序列的设置上需要保证在反射的手机玻璃面板所成的图像序列中,对手机玻璃面板上的每一个点都要保证至少有一张图像为该点在白条纹照射下所成的像,至少有一张图像为该点在黑条纹照射下所成的像;
所述的步骤S3中构建的具体网络结构为,在ResNet101中包括第一层卷积层conv1和四个残差模块{R2,R3,R4,R5};在自底向上的路径中,残差块的输出为{C2,C3,C4,C5},其分别对应{R2,R3,R4,R5}的输出,且对于输入图片各自的步长为{4,8,16,32}像素;在自顶向下的路径中,进行2倍上采样(简单情况下使用最近邻上采样)粗糙分辨率的特征图;然后上采样的特征图和相对应的自底向上的特征图(通过1x1的卷积层来减少通道维数)通过基于元素相加来融合得到特征图{M2,M3,M4,M5};这个过程一直迭代,直到获得最佳分辨率的特征图;为了开始迭代,在C5上应用1x1卷积层来产生最粗糙分辨率的特征图M5;最后,在每个融合后的特征图上应用 3x3卷积来产生最后的特征图,这样可以消除上采样带来的混叠效应;最后的特征集记作{P2,P3,P4,P5},分别对应相同空间大小的{C2,C3,C4,C5};在所有的特征图中固定特征通道个数(通道为个数,记作d),设置d=256,得到所有的额外卷积层都是256通道输出。
所述的步骤5中对于宽w和高h的瑕疵候选区域,通过公式(2)将其分配得到金子塔的Pk特征;
这里的638是自制数据集中图像的预训练大小,k0是大小为w×h= 6382的RoI应该映射到的目标层级,类比基于ResNet只使用C4作为单一尺度特征图的Faster R-CNN系统,将k0设置为4,直观上公式(2)意味着如果RoI的尺度比较小,它应该映射到一个更精细的层级,然后在Pk层进行 RoI Align池化操作,采用双线性插值点的方法,将多个RoI的尺寸统一为固定大小7×7,作为感兴趣区域的一个固定尺寸的特征向量。
所述的步骤7中对网络的微调训练的具体方法如下:
使用随机梯度下降作为优化方法,根据每张显卡训练的图片数量image_num以及使用的显卡数GPU_num设置学习率,实验显示学习率设置为 0.00125×image_num×GPU_num能够取得好的效果,为了保证模型训练过程中梯度下降达到最优点并且防止过拟合,迭代次数T取值应大于10且小于100。
所述的步骤7网络微调训练时使用的代价函数为一个联合任务损失函数,包括瑕疵分类任务损失函数,瑕疵定位任务损失函数和像素级瑕疵标注任务损失函数;若记L表示联合任务损失,则有L=Lcls+Lbox+Lmask;
其中,Lcls为瑕疵分类任务损失,Lbox为瑕疵定位任务损失,Lmask为像素级瑕疵标注任务损失;具体的每一个训练RoI都是标记了一个真实类别标签u和一个真实的边框回归目标v,对每个打了标签的RoI使用多任务损失L来联合对分类、边界框回归和像素级瑕疵标注的训练;
所述的瑕疵分类任务损失函数的构建方法为:
Lcls(p,u)=-logpu (3)
该函数表示真实类别u的对数损失,p是通过softmax计算出的概率,对于K+1个类别的离散概率分布(对每个RoI)(p=(p0,……,pK));
其中xp,yp,wp,hp分别表示瑕疵候选框的中心坐标及宽高,xk,yk,wk,hk分别表示对第k类瑕疵的预测框中心坐标及其宽高;
与tk类似,相对应的真实边框回归目标v的计算公式如下:
vx=(x*-xp)/wp, vy=(y*-yp)/hp,
vw=log(w*/wp), vh=log(h*/hp)
x*,y*,w*,h*分别表示真实瑕疵框的中心坐标与宽高。
所述的瑕疵定位任务损失函数的构建方法为:
其中:
公式(4)表示针对类别u真实的边界框回归目标v=(vx,vy,vw,vh)和针对类别u预计出的回归目标之间的损失,函数[u≥1]表示,当[u≥1]时值为1否则为0,将背景类打标为u=0,由于对打标为背景的RoIs而言是没有真实边界框存在的,所以Lloc被忽略了;
所述的像素级瑕疵标注任务损失函数的构建方法为:
对每个RoI,mask分支有Km2维输出,其中包含了K个m×m大小的二值masks,K个类中每一分别对应一个,应用一个每像素的sigmoid函数,并且定义Lmask是二值交叉熵损失的平均值,对于真实类别为k的RoI,Lmask是仅仅定义在第k个mask上(别的mask输出对损失没有贡献)。
所述的步骤8中获得的瑕疵检测结果图,瑕疵区域显著标注,根据统计区域内瑕疵的像素量,得到瑕疵区域的大小,统计瑕疵区域的周长面积比等几何量来估计瑕疵大致形状,估计缺陷严重程度。
本发明与现有技术相比的有益效果是:
本发明是一种新的、非常有效的手机玻璃面板凹凸型瑕疵检测算法,特别是对于没有丝印的白玻璃,其优势非常明显,具体体现在以下几方面:
1)生成高置信度建议候选框的优点:
在瑕疵目标区域提取方面抛弃了基于深度学习目标检测框架中基于 anchor的遍历方法,而是利用了凹凸型瑕疵的成像原理,通过图像增强算法将瑕疵区域凸显出来,大大提高了瑕疵候选区域的置信度并减小了无效的候选区域数量,使得检测速度得以提高,同时避免了针对大小和长宽比变化大而引起的手工设计anchor难的问题。
2)特征提取的优点:
针对瑕疵目标的低语义特点,设计了适合其特征提取的特征金子塔网络,使得网络能够针对低语义的瑕疵提取出有效的特征。
附图说明
图1为本发明的流程图;
图2为本发明的网络整体框架图;
图3为本发明的矩形黑白周期条纹图;
图4为本发明的图像采集设备结构图;
图5为本发明的图像采集流程图;
图6为本发明的特征融合网络结构图;
图7为本发明的瑕疵标注图;
图8为瑕疵检测结果;
图9为网络的微调损失曲线。
具体实施方式
以下结合附图与实施例对本发明进行进一步说明,但本发明不局限于以下实施例。
本发明对网络的训练和测试样本的检测均基于开源的Pytorch库进行。Pytorch是一个代码结构清晰并且高效的神经网络学习框架。
在对该模型进行评估时,只用瑕疵识别准确率已经不能反映出模型的整体性能。所以在本实施例中参考了目标检测中常用的性能指标平均精度 AP(Average Precision)来衡量学得模型在每个类别上预测的准确率,mAP (mean Average Precision)来衡量学得模型在所有类别上预测准确率的均值。
如图1所示,一种基于神经网络的手机玻璃盖板凹凸型瑕疵检测与分类方法,其特征在于,包括以下步骤:
S1:采集手机玻璃面板原图和增强图,流程如图5所示;其具体步骤为:
S1.1将一系列如图3所示的矩形黑白周期条纹投影到待检测的手机玻璃面板表面,其中白条纹宽度δ=2.0mm,条纹间距Δ=6.0mm,移动步长 p=0.5mm。用LCD显示器作为条纹投影设备通过如图4所示的结构图设置相机、LCD及手机玻璃面板的相对位置,通过相机拍摄12张反射的黑白周期条纹图,采集完成后,打开暗场条形光源,采集一张暗场图像作为原图;
S1.3将采集到的原图和由增强图得到的二值图进行透视变换到正视图的位置,得到一个样本;
S2:构建训练数据集;其具体步骤为:
S2.1首先将S1中得到的一组样本中的原图进行像素级标注,使用 labelme软件对原图中的瑕疵区域通过锚点的方式进行标注。具体标注类别为划伤、压痕、凹凸痕、凹凸点、崩边、牙缺/锯齿6种缺陷如图7所示;
S2.2然后由S4根据增强图生成的二值化图生成候选区域;
S2.3根据不同尺度和长宽比生成anchors,由于瑕疵形状的极度不规则,为保证对瑕疵的适应性,考虑n×m种候选框,其中n表示瑕疵候选框的尺寸类别数,m表示瑕疵候选框的长宽比类别数,n和m的取值依据数据集中瑕疵的实际分布进行确定;
S2.4根据anchors和标注框之间的IoU,从所有的anchors中选出属于背景区域的anchors,此时就可以按照1:1的比例从属于背景区域的 anchors中选取一定数量的anchor作为负样本和S2.2生成的候选区域作为正样本来作为一组样本所对应的训练数据;
重复以上步骤,即可获得一个包含大量标注数据的训练集;
S3:构造用于特征提取的卷积神经网络结构如图6所示,用基于FPN 改进的残差网络作为具有特征融合功能的主干网络用来提取特征图,形成特征金子塔,由于在瑕疵检测中检测精度比较重要,所以残差网络选择精度较高的ResNet101网络,ResNet101具体结构如下表1说明;
表1
S4:利用S1中通过增强图得到的二值化图像,首先提取二值化图像中的物体轮廓,然后求出对应轮廓的外接矩形作为瑕疵候选区域;
S5:结合瑕疵候选区域和特征金子塔进行感兴趣区域池化操作,输出一个固定尺寸的特征向量;
S6:构造用于瑕疵检测的网络头部如图2所示,将S5得到的固定尺寸的特征向量输入头部网络进行瑕疵检测,其中头部网络包含三个分支,分别为Softmax分支进行计算瑕疵的分类输出,bbox回归分支进行瑕疵边界定位,FCN分支进行RoI像素级标注瑕疵mask输出;
S7:训练神经网络;其具体步骤为:
首先是使用COCO数据集对resnet101+FPN主干网络进行预训练,然后按batchsize=2再用S2构建的数据集来对整个检测网络进行微调,对网络的微调损失曲线如图9所示,由于batchsize较小导致曲线不太光滑,为了更清楚的看到损失变化的趋势,图中的曲线被做了平滑处理;
S8:将按步骤S1采集的待检测的手机玻璃面板原图和增强图同时输入训练好的检测网络中,获取瑕疵检测结果如图8所示;
进一步,所述步骤S1中涉及的黑白周期条纹图像序列的设置上需要保证在反射的手机玻璃面板所成的图像序列中,对手机玻璃面板上的每一个点都要保证至少有一张图像为该点在白条纹照射下所成的像,至少有一张图像为该点在黑条纹照射下所成的像;
进一步,所述步骤S3中构建的具体网络结构为,在ResNet101中包括第一层卷积层conv1和四个残差模块{R2,R3,R4,R5}。在自底向上的路径中,我们记这些残差块的输出为{C2,C3,C4,C5},其分别对应{R2,R3,R4,R5}的输出,并且注意到他们对于输入图片各自的步长为{4,8,16,32}像素。在自顶向下的路径中,我们进行2倍上采样(简单情况下使用最近邻上采样) 粗糙分辨率的特征图。然后上采样的特征图和相对应的自底向上的特征图 (通过1x1的卷积层来减少通道维数)通过基于元素相加来融合得到特征图{M2,M3,M4,M5}。这个过程一直迭代,直到获得最佳分辨率的特征图。为了开始迭代,我们简单地在C5上应用1x1卷积层来产生最粗糙分辨率的特征图M5。最后,我们在每个融合后的特征图上应用3x3卷积来产生最后的特征图,这样可以消除上采样带来的混叠效应。最后的特征集记作 {P2,P3,P4,P5},分别对应相同空间大小的{C2,C3,C4,C5}。因为所有的金子塔层共享分类和回归层,就像在传统的特征图像金子塔中一样,所以我们在所有的特征图中固定特征通道个数(通道为个数,记作d)。在本文我们设置d=256,因此所有的额外卷积层都是256通道输出;
所述的步骤S5中对于宽w和高h的瑕疵候选区域,通过以下公式将其分配得到金子塔的Pk特征;
这里的638是自制数据集中图像的预训练大小,k0是大小为w×h= 6382的RoI应该映射到的目标层级。类比基于ResNet只使用C4作为单一尺度特征图的Faster R-CNN系统,我们将k0设置为4。直观上公式(2)意味着如果RoI的尺度比较小,它应该映射到一个更精细的层级(比如k=3)。然后在Pk特征上进行RoI Align池化操作,采用双线性插值点的方法,将多个RoI的尺寸统一为固定大小7×7,作为感兴趣区域的一个固定尺寸的特征向量;
所述的步骤S7中对网络的微调训练的具体方法如下:使用随机梯度下降作为优化方法,根据每张显卡训练的图片数量image_num以及使用的显卡数GPU_num设置学习率,实验显示学习率设置为0.00125× image_num×GPU_num能够取得好的效果,为了保证模型训练过程中梯度下降达到最优点并且防止过拟合,迭代次数T取值应大于10且小于100。
所述的步骤S7网络微调训练时使用的代价函数为一个联合任务损失函数。包括瑕疵分类任务损失函数,瑕疵定位任务损失函数和像素级瑕疵标注任务损失函数;若记L表示联合任务损失,则有L=Lcls+Lbox+Lmask;
其中,Lcls为瑕疵分类任务损失,Lbox为瑕疵定位任务损失,Lmask为像素级瑕疵标注任务损失;具体的每一个训练RoI都是标记了一个真实类别标签u和一个真实的边框回归目标v,我们对每个打了标签的RoI使用多任务损失L来联合对分类、边界框回归和像素级瑕疵标注的训练;
1)所述瑕疵分类任务损失函数的构建方法为:
Lcls(p,u)=-logpu (3)
该函数表示真实类别u的对数损失,p是通过softmax计算出的概率,对于K+1个类别的离散概率分布(对每个RoI)(p=(p0,……,pK));
2)所述瑕疵定位任务损失函数的构建方法为:
其中xp,yp,wp,hp分别表示瑕疵候选框的中心坐标及宽高,xk,yk,wk,hk分别表示对第k类瑕疵的预测框中心坐标及其宽高。
与tk类似,相对应的真实边框回归目标v的计算公式如下:
vx=(x*-xp)/wp, vy=(y*-yp)/hp,
vw=log(w*/wp), vh=log(h*/hp)
x*,y*,w*,h*分别表示真实瑕疵框的中心坐标与宽高。
所述的瑕疵定位任务损失函数为:
其中:
公式(4)表示针对类别u真实的边界框回归目标v=(vx,vy,vw,vh)和针对类别u预计出的回归目标之间的损失,函数[u≥1]表示,当[u≥1]时值为1否则为0,将背景类打标为u=0,由于对打标为背景的RoIs而言是没有真实边界框存在的,所以Lloc被忽略了;
3)所述像素级瑕疵标注任务损失函数的构建方法为:
对每个RoI,mask分支有Km2维输出,其中包含了K个m×m大小的二值masks,K个类中每一分别对应一个。我们应用一个每像素的sigmoid函数,并且定义Lmask是二值交叉熵损失的平均值。对于真实类别为k的RoI, Lmask是仅仅定义在第k个mask上(别的mask输出对损失没有贡献)。
进一步,对所述步骤S8中获得的瑕疵检测结果图,瑕疵区域已经被显著地标注出来了,所以可以采用很多传统的方法,例如根据统计区域内瑕疵的像素量,知道瑕疵区域的大小,统计瑕疵区域的周长面积比等几何量来估计瑕疵大致形状,估计缺陷严重程度。
按照上述步骤进行实验。实验环境为CPU:Intel(R)Xron(R)E5-2650 v4,显卡为nvidial1080ti,显存11G,使用单卡进行微调训练,设置模型的优化器为SGD,学习率为0.00125,冲量为0.9,完成训练后,在划分的测试集上进行测试,测试集中的样本容量为30,完成测试后,得到mAP为88.3,对比传统基于机器学习的方法,其分类准确率Acc仅达到79%。由此可知,本发明方法确实对瑕疵检测问题有提升作用。
综上所述,本发明针对凹凸型瑕疵检测问题,重点研究了基于神经网络的手机玻璃盖板凹凸型瑕疵检测与分类算法,该方法利用凹凸型瑕疵成像特点设计了专门的候选区域提取方法,然后结合深度网络提取的特征图进行池化,最后通过网络头部进行瑕疵的分类及像素级定位。该方法一方面有针对性地提高了凹凸型瑕疵的分类准确率,另一方面也提升了模型预测的mAP值,由于检测模型的整体性能有很大程度上的提升,值得广泛推广。
Claims (7)
1.一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法,其特征在于,包括以下步骤:
步骤S1、采集手机玻璃面板的原图和增强图:
1)将一系列黑白周期条纹投影到待检测的手机玻璃面板表面,通过相机拍摄一系列反射的黑白周期条纹图,采集完成后,打开暗场条形光源,采集一张暗场图像作为原图;
3)将采集到的原图和由增强图得到的候选区域二值化图进行透视变换到正视图的位置,得到一组样本;
步骤S2、构建训练数据集:
1)首先将步骤S1中得到的一组样本中的原图进行像素级标注,使用labelme软件对原图中的瑕疵区域通过锚点的方式进行标注,具体标注类别为划伤、压痕、凹凸痕、凹凸点、崩边和锯齿6种缺陷;
2)然后根据候选区域二值化图生成候选区域;
3)根据不同尺度和长宽比生成anchors,由于瑕疵形状的极度不规则,为保证对瑕疵的适应性,考虑n×m种候选框,其中n表示瑕疵候选框的尺寸类别数,m表示瑕疵候选框的长宽比类别数,n和m的取值依据数据集中瑕疵的实际分布进行确定;
4)根据anchors和标注框之间的IoU,从所有的anchors中选出属于背景区域的anchors,此时就可以按照1:1的比例从属于背景区域的anchors中选取一定数量的anchors作为负样本和步骤S2中的第2)步生成的候选区域作为正样本来作为一组样本所对应的训练数据;
5)重复以上步骤,即得一个包含大量标注数据的训练集;
步骤S3、构造用于特征提取的卷积神经网络结构,用基于FPN改进的残差网络作为具有特征融合功能的主干网络用来提取特征图,形成特征金子塔,由于在瑕疵检测中检测精度比较重要,所以残差网络选择精度较高的ResNet101网络;
步骤S4、利用步骤S1中通过增强图得到的二值化图像,首先提取二值化图像中的物体轮廓,然后求出对应轮廓的外接矩形作为瑕疵候选区域;
步骤S5、结合瑕疵候选区域和特征金子塔进行感兴趣区域池化操作,输出一个固定尺寸的特征向量;
步骤S6、构造用于瑕疵检测的网络头部,将步骤5得到的固定尺寸的特征向量输入头部网络进行瑕疵检测,其中头部网络包含三个分支,分别为Softmax分支进行计算瑕疵的分类输出,bbox回归分支进行瑕疵边界定位,FCN分支进行RoI像素级标注瑕疵mask输出;
步骤S7、训练神经网络:
1)使用COCO数据集对backbone主干网络进行预训练;
2)然后再用步骤S2构建的数据集来对整个检测网络进行微调;
步骤S8、将按步骤S1采集的待检测的手机玻璃面板原图和增强图同时输入训练好的检测网络中,获取瑕疵检测结果。
2.根据权利要求1所述的一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法,其特征在于,所述的步骤S1中涉及的黑白周期条纹图像序列的设置上需要保证在反射的手机玻璃面板所成的图像序列中,对手机玻璃面板上的每一个点都要保证至少有一张图像为该点在白条纹照射下所成的像,至少有一张图像为该点在黑条纹照射下所成的像。
3.根据权利要求1所述的一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法,其特征在于,所述的步骤S3中构建的具体网络结构为,在ResNet101中包括第一层卷积层conv1和四个残差模块{R2,R3,R4,R5};在自底向上的路径中,残差块的输出为{C2,C3,C4,C5},其分别对应{R2,R3,R4,R5}的输出,且对于输入图片各自的步长为{4,8,16,32}像素;在自顶向下的路径中,进行2倍上采样,简单情况下具体使用最近邻上采样,得到粗糙分辨率的特征图;然后上采样的特征图和相对应的自底向上的特征图通过1x1的卷积层来减少通道维数,即基于元素相加来融合得到特征图{M2,M3,M4,M5};这个过程一直迭代,直到获得最佳分辨率的特征图;为了开始迭代,在C5上应用1x1卷积层来产生最粗糙分辨率的特征图M5;最后,在每个融合后的特征图上应用3x3卷积来产生最后的特征图,这样可以消除上采样带来的混叠效应;最后的特征集记作{P2,P3,P4,P5},分别对应相同空间大小的{C2,C3,C4,C5};在所有的特征图中固定特征通道个数,记作d,设置d=256,得到所有的额外卷积层都是256通道输出。
4.根据权利要求1所述的一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法,其特征在于,所述的步骤S5中对于宽w和高h的瑕疵候选区域,通过公式(2)将其分配得到金子塔的Pk特征;
这里的638是自制数据集预训练图像对应短边的长度,k0是大小为w×h=6382的RoI应该映射到的目标层级,类比基于ResNet只使用C4作为单一尺度特征图的FasterR-CNN系统,将k0设置为4,直观上公式(2)意味着如果RoI的尺度比较小,它应该映射到一个更精细的层级,然后在Pk特征上进行RoIAlign池化操作,采用双线性插值点的方法,将多个RoI的尺寸统一为固定大小7×7,作为感兴趣区域的一个固定尺寸的特征向量。
5.根据权利要求1所述的一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法,其特征在于,所述的步骤S7中对网络的微调训练的具体方法如下:
使用随机梯度下降作为优化方法,根据每张显卡训练的图片数量image_num以及使用的显卡数GPU_num设置学习率,实验显示学习率设置为0.00125×image_num×GPU_num能够取得好的效果,为了保证模型训练过程中梯度下降达到最优点并且防止过拟合,迭代次数T取值应大于10且小于100。
6.根据权利要求1所述的一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法,其特征在于,所述的步骤S7网络微调训练时使用的代价函数为一个联合任务损失函数,包括瑕疵分类任务损失函数,瑕疵定位任务损失函数和像素级瑕疵标注任务损失函数;若记L表示联合任务损失,则有L=Lcls+Lloc+Lmask;
其中,Lcls为瑕疵分类任务损失,Lloc为瑕疵定位任务损失,Lmask为像素级瑕疵标注任务损失;具体的每一个训练RoI都是标记了一个真实类别标签u和一个真实的边框回归目标v,对每个打了标签的RoI使用多任务损失L来联合对分类、边界框回归和像素级瑕疵标注的训练;
所述的瑕疵分类任务损失函数的构建方法为:
Lcls(p,u)=-logpu (3)
该函数表示真实类别u的对数损失,p是通过softmax计算出的概率,对于K+1个类别的离散概率分布p=(p0,……,pK);
其中xp,yp,wp,hp分别表示瑕疵候选框的中心坐标及宽高,xk,yk,wk,hk分别表示对第k类瑕疵的预测框中心坐标及其宽高;
与tk类似,相对应的真实边框回归目标v的计算公式如下:
vx=(x*-xp)/wp,vy=(y*-yp)/hp,
vw=log(w*/wp),vh=log(h*/hp)
x*,y*,w*,h*分别表示真实瑕疵框的中心坐标与宽高;
所述的瑕疵定位任务损失函数的构建方法为:
其中:
公式(4)表示针对类别u真实的边界框回归目标v=(vx,vy,vw,vh)和针对类别u预计出的回归目标之间的损失,函数[u≥1]表示,当u≥1时值为1否则为0,将背景类打标为u=0,由于对打标为背景的RoIs而言是没有真实边界框存在的,所以Lloc被忽略了;
所述的像素级瑕疵标注任务损失函数的构建方法为:
对每个RoI,mask分支有Km2维输出,其中包含了K个m×m大小的二值masks,K个类中每一类分别对应一个mask,应用一个每像素的sigmoid函数,并且定义Lmask是二值交叉熵损失的平均值,对于真实类别为k的RoI,Lmask是仅仅定义在第k个mask上,因为别的mask输出对损失没有贡献。
7.根据权利要求1所述的一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法,其特征在于,所述的步骤S8中获得的瑕疵检测结果图,瑕疵区域显著标注,根据统计区域内瑕疵的像素量,得到瑕疵区域的大小,统计瑕疵区域的周长面积比等几何量来估计瑕疵大致形状,估计缺陷严重程度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110377130.7A CN113240626B (zh) | 2021-04-08 | 2021-04-08 | 一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110377130.7A CN113240626B (zh) | 2021-04-08 | 2021-04-08 | 一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113240626A CN113240626A (zh) | 2021-08-10 |
CN113240626B true CN113240626B (zh) | 2023-07-11 |
Family
ID=77131192
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110377130.7A Active CN113240626B (zh) | 2021-04-08 | 2021-04-08 | 一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113240626B (zh) |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113298765B (zh) * | 2021-05-19 | 2023-11-07 | 广东工业大学 | 基于图像处理及深度学习的玻璃面板表面缺陷检测方法 |
CN113673594B (zh) * | 2021-08-18 | 2022-07-12 | 浙江工商大学 | 一种基于深度学习网络的瑕疵点识别方法 |
US11615523B2 (en) | 2021-08-18 | 2023-03-28 | Zhejiang Gongshang University | Methods for recognizing small targets based on deep learning networks |
CN113808035B (zh) * | 2021-08-25 | 2024-04-26 | 厦门微图软件科技有限公司 | 一种基于半监督学习的瑕疵检测方法 |
CN114066810A (zh) * | 2021-10-11 | 2022-02-18 | 安庆师范大学 | 一种包装盒凹凸点缺陷检测方法及装置 |
CN113962917B (zh) * | 2021-10-25 | 2024-03-19 | 深圳市玻尔智造科技有限公司 | 一种基于掩膜的数据增强方法 |
CN116385430A (zh) * | 2023-05-26 | 2023-07-04 | 浙江视觉智能创新中心有限公司 | 一种机器视觉瑕疵检测方法、装置、介质及设备 |
CN116589171B (zh) * | 2023-07-14 | 2024-01-09 | 江西省博信玻璃有限公司 | 一种具备自动检测玻璃的智能钢化方法及系统 |
CN117110305B (zh) * | 2023-10-25 | 2023-12-22 | 北京妙想科技有限公司 | 一种基于深度学习的电池壳表面缺陷检测方法及系统 |
CN117890389B (zh) * | 2024-03-14 | 2024-05-24 | 上海强华实业股份有限公司 | 精烧制品表面质量在线检测方法、设备及其存储介质 |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315338A (zh) * | 2008-07-18 | 2008-12-03 | 北京中星微电子有限公司 | 玻璃制品的缺陷检测系统及方法 |
JP2010249552A (ja) * | 2009-04-13 | 2010-11-04 | Central Glass Co Ltd | ガラス板の欠陥識別方法および装置 |
CN109752395A (zh) * | 2017-11-01 | 2019-05-14 | 深圳市迪姆自动化有限公司 | 一种玻璃表面瑕疵检测设备 |
CN209182334U (zh) * | 2018-12-05 | 2019-07-30 | 尖刀视智能科技(上海)有限公司 | 一种手机盖板玻璃表面缺陷检测装置 |
CN110992311A (zh) * | 2019-11-13 | 2020-04-10 | 华南理工大学 | 一种基于特征融合的卷积神经网络瑕疵检测方法 |
CN110992318A (zh) * | 2019-11-19 | 2020-04-10 | 上海交通大学 | 一种基于深度学习的特种金属瑕疵检测系统 |
CN111325713A (zh) * | 2020-01-21 | 2020-06-23 | 浙江省北大信息技术高等研究院 | 基于神经网络的木材缺陷检测方法、系统及存储介质 |
CN111693549A (zh) * | 2020-05-14 | 2020-09-22 | 西安电子科技大学 | 一种手机盖板玻璃缺陷检测与分类方法 |
CN112014414A (zh) * | 2020-08-14 | 2020-12-01 | 西安电子科技大学 | 一种手机玻璃盖板缺陷检测系统及方法 |
-
2021
- 2021-04-08 CN CN202110377130.7A patent/CN113240626B/zh active Active
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101315338A (zh) * | 2008-07-18 | 2008-12-03 | 北京中星微电子有限公司 | 玻璃制品的缺陷检测系统及方法 |
JP2010249552A (ja) * | 2009-04-13 | 2010-11-04 | Central Glass Co Ltd | ガラス板の欠陥識別方法および装置 |
CN109752395A (zh) * | 2017-11-01 | 2019-05-14 | 深圳市迪姆自动化有限公司 | 一种玻璃表面瑕疵检测设备 |
CN209182334U (zh) * | 2018-12-05 | 2019-07-30 | 尖刀视智能科技(上海)有限公司 | 一种手机盖板玻璃表面缺陷检测装置 |
CN110992311A (zh) * | 2019-11-13 | 2020-04-10 | 华南理工大学 | 一种基于特征融合的卷积神经网络瑕疵检测方法 |
CN110992318A (zh) * | 2019-11-19 | 2020-04-10 | 上海交通大学 | 一种基于深度学习的特种金属瑕疵检测系统 |
CN111325713A (zh) * | 2020-01-21 | 2020-06-23 | 浙江省北大信息技术高等研究院 | 基于神经网络的木材缺陷检测方法、系统及存储介质 |
CN111693549A (zh) * | 2020-05-14 | 2020-09-22 | 西安电子科技大学 | 一种手机盖板玻璃缺陷检测与分类方法 |
CN112014414A (zh) * | 2020-08-14 | 2020-12-01 | 西安电子科技大学 | 一种手机玻璃盖板缺陷检测系统及方法 |
Non-Patent Citations (4)
Title |
---|
A comprehensive review of defect detection in 3C glass components;Wuyi Ming;《Measurement》;20200701;全文 * |
Automatic Defect Detection of Fasteners on the Catenary Support Device Using Deep Convolutional Neural Network;Junwen Chen;《IEEE Transactions on Instrumentation and Measurement》;20171204;257-269页 * |
基于机器视觉的玻璃缺陷分类识别的研究;薛源;《中国优秀硕士学位论文全文数据库 信息科技辑》;20190215;I138-1225 * |
基于轮廓修补和图像差分的手机玻璃盖板表面缺陷检测;吴闯;《软件工程》;20200717;第23卷(第7期);41-45页 * |
Also Published As
Publication number | Publication date |
---|---|
CN113240626A (zh) | 2021-08-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113240626B (zh) | 一种基于神经网络的玻璃盖板凹凸型瑕疵检测与分类方法 | |
CN111310558B (zh) | 一种基于深度学习和图像处理法的路面病害智能提取方法 | |
CN111027547B (zh) | 一种针对二维图像中的多尺度多形态目标的自动检测方法 | |
CN109978839B (zh) | 晶圆低纹理缺陷的检测方法 | |
CN109580630B (zh) | 一种机械零部件缺陷的视觉检测方法 | |
CN111462120B (zh) | 一种基于语义分割模型缺陷检测方法、装置、介质及设备 | |
CN112419250A (zh) | 路面裂缝数字图像提取、裂缝修补及裂缝参数计算方法 | |
CN111915704A (zh) | 一种基于深度学习的苹果分级识别方法 | |
CN106846339A (zh) | 一种图像检测方法和装置 | |
CN114897816A (zh) | 基于改进掩膜的Mask R-CNN矿物颗粒识别以及粒度检测方法 | |
CN113298809B (zh) | 基于深度学习和超像素分割的复材超声图像缺陷检测方法 | |
CA3136674C (en) | Methods and systems for crack detection using a fully convolutional network | |
CN113221881B (zh) | 一种多层级的智能手机屏幕缺陷检测方法 | |
CN114494164A (zh) | 一种钢材表面缺陷检测方法、装置及计算机存储介质 | |
CN116563237B (zh) | 一种基于深度学习的鸡胴体缺陷高光谱图像检测方法 | |
CN105405138A (zh) | 基于显著性检测的水面目标跟踪方法 | |
CN115331245A (zh) | 一种基于图像实例分割的表格结构识别方法 | |
CN108022245B (zh) | 基于面线基元关联模型的光伏面板模板自动生成方法 | |
CN116740528A (zh) | 一种基于阴影特征的侧扫声呐图像目标检测方法及系统 | |
CN115082776A (zh) | 一种基于图像识别的电能表自动检测系统及方法 | |
CN114842201A (zh) | 基于改进Mask_Rcnn的砂石骨料图像分割方法 | |
CN118275449A (zh) | 铜带表面缺陷检测方法、装置及设备 | |
CN101425143B (zh) | 一种图像定位的方法及装置 | |
CN117456376A (zh) | 一种基于深度学习的遥感卫星影像目标检测方法 | |
CN116797602A (zh) | 一种用于工业产品检测的表面缺陷鉴定方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |