基于区域生长和融合特征SVM的涂胶缺陷检测

2023-10-11 09:00陈甦欣万寿祥
关键词:涂胶邻域像素点

陈甦欣, 万寿祥, 刘 伟

(合肥工业大学 机械工程学院,安徽 合肥 230009)

涂胶作为生产制造中十分重要的环节,涂胶质量的好坏决定了制造成品的优劣,严重的甚至会影响产品的密封性和使用寿命[1]。目前工业生产中的涂胶检测主要是依靠人工进行检测的,生产效率和精度较低[2]。近年来,为了提高涂胶缺陷检测的精度和效率,学者提出很多检测算法[3-9],主要有基于传统机器视觉的检测、基于深度学习的检测、基于机器学习的检测,此外还有超声检测法和激光扫描法等。虽然超声波和激光检测可以得到很好的检测结果,但是成本较高。机器视觉作为一种非接触的、精确灵活的检验技术,可以满足自动化涂胶检测的要求。文献[3]通过Halcon软件提取亚像素轮廓,采用轮廓拟合算法,计算出胶条直径,从胶条的边缘轮廓信息实现对涂胶的检测;文献[4]利用自适应角点检测算法和基于角点距离约束的立体点对匹配算法实现对涂胶识别和检测;文献[5]通过比较标准涂胶图像与实际图像的对应特征进行涂胶质量检测;文献[6]利用工程图中的涂胶轨迹数据计算胶体宽度和位置来检测涂胶质量;文献[7]利用提取的连通区域通过边缘形状匹配,实现对电池涂胶缺陷的在线检测。

上述传统视觉检测方法精度较低,具有一定的局限性,只适用于轮廓清晰、缺陷单一的产品。文献[8]通过更快速的区域卷积神经网络(faster region-based convolutional neural network,Faster-RCNN)图像缺陷检测算法,实现对汽车涂胶的漏涂断涂等缺陷检测,但深度学习方法的训练数据达不到要求,计算复杂,难以应用到实际工业生产之中;文献[9]基于模板匹配结合改进的局部二值模式(local binary pattern,LBP)和支持向量机(support vector machine,SVM)分类器的检测方法,利用涂胶区域信息实现对汽车涂胶缺陷的检测,但需二次判断,效率较低。

为优化以上研究的不足,受文献[9]方法的启发,在此基础上进行改进,去除模板匹配初次判断过程,融合涂胶区域的梯度信息和纹理信息,进一步提高涂胶检测的精度和效率。本文以电动机装配生产线上实际的底座涂胶检测为载体,设计了一套基于区域生长和融合特征SVM的涂胶缺陷检测方法的系统,充分利用涂胶区域的骨架特征,采用自适应阈值区域生长法分割出完整的涂胶区域,结合分割出的区域局部边缘梯度信息与局部区域纹理信息的优点,通过改进融合两种特征进行SVM多分类训练,达到对涂胶区域缺陷进行精确检测的目的。由于初始单个种子点迭代耗时较长,选取骨架区域像素点作为初始生长种子。针对快速提取骨架时出现毛刺现象,通过链码像素数阈值机制去除毛刺,得到完整的细化骨架区域。

针对涂胶区域分割不完全现象,本文提出了一种基于加权灰度与自适应阈值的生长准则。针对涂胶区域有断胶、溢胶和缺胶等缺陷,本文提出一种基于改进的梯度方向直方图-多半径局部二值模式(improved histogram of oriented gradient-multi radius block local binary pattern,IHOG-MBLBP)融合特征SVM多分类算法。大量实验结果表明,本文方法能够精准地分割出涂胶区域并检测出缺陷,检测精度高、效率高。

1 图像预处理

图像预处理过程如图1所示。因为系统硬件本身和图像采集环境等因素,拍摄的图像受到较多外部噪声的影响,所以需要对图像滤波降噪处理,减少和消除无关噪声对图像的影响,进一步提高图像质量。对比几种常用滤波对图像的影响后,本文采用双边滤波处理,可以达到保边去噪的功能,处理后如图1a所示。

图1 预处理过程

对滤波后图像进行取圆心操作。首先将灰度图像转换为二值图像,考虑到拍摄的图片底座表面和背景色明亮程度差距较大,两区域交界处采用梯度查找[10]圆形轮廓通常会生成不错的轮廓效果图。而在电机底座图片中具有较多的圆形轮廓,对通过指定半径大小范围,提取符合要求的圆轮廓,得到其圆心坐标,并通过circle函数将符合要求的圆轮廓画出,结果如图1b所示。

剔除无关区域会提高图像处理效率,因此对图像取掩膜。首先基于得到的圆心坐标创建环形掩膜以提取涂胶附近区域,确保整个涂胶区域都在掩膜区内,掩膜后的涂胶区域如图1c所示;然后将掩膜后的图进行灰度化,使用阈值分割将灰度图像转换为二值化图像,结果如图1d所示。

2 区域分割

区域生长法是一种经典的图像分割方法,在应用时,需要对3个重点问题加以解决:① 显著的初始生长种子;② 精确的生长准则;③ 准确的生长停止条件[11]。传统的区域生长算法通常选取单个像素点作为种子点,按照指定规则进行八邻域生长,当达到指定阈值条件时停止生长。虽然传统区域生长原理简单,但是选取单个特征像素点或手动选取种子点处理时间较长,同时很容易出现过分割和欠分割问题。针对上述问题,本文提出一种改进的区域生长分割算法。

2.1 种子点的选取

单个种子像素点在生长迭代时慢慢生长为一小块区域,最后生长完全,迭代耗时较长,实时性检测效率差。为缩短迭代时间,本文采用图像的骨架特征区域作为初始种子区域,骨架提取改进前、后对比如图2所示。

图2 骨架提取改进前、后对比及局部细节放大图

2.1.1 张-孙并行细化骨架提取算法

骨架特征作为图像的重要特征,为后续的图像处理带来了方便[12]。张-孙(Zhang-Suen,ZS)并行细化骨架提取算法通过对每个待检测像素中心像素点的八邻域重复执行逻辑运算,删除图像中的非骨架像素点,不断腐蚀细化提取骨架,具有迭代少、速度快,保证提取出的骨架线型、拐角交叉与原图像一致的特点。经快速细化提取骨架算法运算后,需要涂胶区域骨架如图2a所示。

从图2a可以看出,骨架特征处于涂胶区域的中间位置,形成一个近似圆形的骨架。虽然该算法可以快速提取出骨架,但是从具体的放大细节看,受噪声影响图像出现了骨架轮廓毛刺等现象,且部分毛刺超过胶线宽度,严重影响图像的结构。因此需对该算法进行改进。

2.1.2 改进的骨架提取算法

为消除骨架轮廓毛刺,引入链码像素数阈值机制。同时,为避免消除骨架本身,需要根据骨架主干与分支进一步界定毛刺,最后删除骨架毛刺[13]。在进行消除毛刺前,需要预先对骨架进行像素宽度单一化。对于骨架节点(分叉点),像素点的八邻域中有3个或3个以上像素为1。对于骨架端点,在像素点的八邻域中有且只有1个像素为1。本文使用八连通链码,如图3a所示。编码时首先确定一个像素点作为中心像素点,然后选定一个初始追踪方向,并从初始方向所指的像素点逆时针地在其他方向查找与中心点紧邻的像素点;当找到第1个点后,记下它相对于上一像素点的方向数,并标记原来的中心点,再以此点为中心像素点,寻找与此点紧邻的非标记像素点,并依次记录它们的方向数,直到追踪完成为止。单像素骨架图像如图3b所示,以左上角像素点作为初始中心像素点自上而下,利用八连通链码进行编码,为777767666766。

图3 八连通链码与单像素骨架示意图

消除毛刺的具体步骤如下:

1) 根据节点和端点的判定准则,迭代判断骨架上所有的端点和节点,并记录其坐标。

2) 将节点各分支利用八连通链码追踪,记录分支坐标。若分支跟踪到的结束点为节点,则将此段标记为主干,并从结束节点向开始节点方向进行方向编码;若分支跟踪到的结束点为端点,则将此段标记为分支,并从开始节点向结束点方向进行方向编码,计算分支链码像素数N。

3) 将同一节点引出的分支链码像素数N与毛刺像素数阈值N0进行比较。若分支像素数N

4) 若各节点遍历结束,则输出图像。经改进后算法所提取的涂胶区域骨架如图2b所示,图像较平滑,无毛刺分叉,能够完整、准确地突出涂胶区域的特征。将骨架上的点载入区域生长的生长点堆栈中,将初始生长区域中骨架上的点标记为已生长点,骨架线外的点标记为待生长点。

2.2 生长准则

2.2.1 固定阈值生长准则

传统区域生长法一般采用设定固定阈值与像素点邻域内平均灰度值作为生长判定准则。在生长过程中,每一个像素点的灰度值由其四邻域或八邻域内的像素点共同决定。基于固定阈值的生长准则得到的区域图像,存在明显的过分割、欠分割和生长不完全现象,对后续缺陷检测造成影响[14]。该生长准则鲁棒性较差,需进一步优化改进。

2.2.2 改进的生长准则

本文提出一种基于像素点周围十二邻域的灰度加权平均值和自适应阈值的生长准则来提高算法的鲁棒性,十二邻域示意图如图4所示。改进像素点平均灰度值取法,更好地改善过分割和欠分割现象,取待生长像素点(xi,yi)的十二邻域的加权平均灰度值,表达式为:

图4 十二邻域示意图

(1)

根据多次实验结果,规定中心像素点(xi,yi)的灰度值权重占2/3,八邻域内的各点(xj,yj)共占1/4,剩下邻域(xk,yk)的各点共占1/12。

(2)

(3)

(4)

其中,Ta为反映生长条件的阈值预设值。

(5)

2.3 生长停止条件

因骨架区域像素点作为初始种子点集合被存储在堆栈中,当所有种子点邻域像素不存在满足要求的像素点时停止生长,涂胶区域图像分割完毕。经区域生长法最后得到涂胶区域生长改进前、后结果如图5所示。

图5 区域生长法改进前、后结果对比及局部细节放大图

由图5可知,取待生长点周围十二邻域内灰度均值,同时阈值自适应改变,使区域生长自适应能力增强,过分割、欠分割和生长不完全现象有所改善,鲁棒性有所提高。本文区域生长法流程如图6所示。

图6 本文算法流程

3 缺陷检测

常见的涂胶缺陷有断胶、溢胶和缺胶等几种类型。在进行缺陷检测之前,对区域生长分割得到的涂胶区域中的每一个缺陷进行框选处理,得到由若干张缺陷图像组成的缺陷集合E,并选择一个合适的特征向量描述E中每个元素。而缺陷颜色和尺寸均随机变化,因此无法采用颜色特征和形状特征来进行分类。纹理特征作为常用的特征,有LBP特征、梯度方向直方图(histogram of oriented gradient,HOG)特征、Haar-like特征、灰度共生矩阵等。

HOG特征能够清晰地描述被梯度或边缘的方向密度分布、局部目标的表象和形状。LBP特征可以很好地描述灰度图像局部临近区域的纹理信息,具有旋转不变性和灰度不变性的特点,具有很好的鲁棒性。然而基于单一特征的缺陷检测方法会丢失图像部分特征信息,使得检测率降低,仍难满足工程实践要求[15]。本文对以上2种特征进行改进,并选择改进后IHOG-MBLBP融合特征对分类算法进行优化。在分类算法的选择上,考虑到实用性以及实际应用效果,待测涂胶缺陷有3种类型,本文选择组合2个二分类器来实现对涂胶缺陷多分类SVM的分类[16]。

在训练之前,须保证所有图像样本的尺寸一致,则应对图像样本进行缩放处理。但是,在缩放过程中,图像样本的宽度特征发生了改变,而宽度是区分涂胶缺陷的重要参数。基于此,本文对传统的HOG特征进行增维改进为IHOG,即将原来的HOG与归一化处理后的宽度进行合并。同时,为了更充分地提取LBP特征,采用多半径块LBP特征,即对待处理图像采用重叠分块技术,对每一个块分别取多半径串行融合特征。基于IHOG与MBLBP融合特征的SVM涂胶缺陷检测步骤如下:

1) 以1∶1的比例收集若干张涂胶正常和涂胶有缺陷的区域生长分割的图像,并将其中的90%作为训练图像集,10%作为测试图像集。

2) 利用本文改进的区域生长法对训练图像集中提取涂胶区域图像,并进行缺陷框选处理,得到各涂胶图像对应的缺陷集合E。将缺陷集合E中每张缺陷图像统一缩放至40×40像素大小。

3) 对缺陷集合E中的每张缺陷缩放后的图像进行宽度归一化,公式为:

(6)

4) 对步骤2)中得到的每张缺陷缩放后的图像采用多种半径(取3种半径,分别为1、3、5)重叠分块处理,得到改进的描述MBLBP向量L=(u00,u01,…,u0g,u10,u11,…,u1g,u20,u21,…,u2g)。

5) 本文采用增广特征向量来融合每张缺陷图的IHOG和MBLBP特征,得到特征融合后的特征向量M=(αH,(1-α)L),其中,α为权重系数,综合考虑IHOG和MBLBP特征融合比例,为了更好地描述在复杂情况下缺陷的梯度和纹理特征,经多次实验验证α=0.5时效果最佳。基于得到的融合特征向量M,对SVM分类器进行训练。

6) 对测试图像集进行步骤2)~步骤5)所对应的处理,得到各测试图像的融合特征M,然后利用训练好的SVM分类器对其进行分类。

4 实验验证与分析

为验证本文所设计涂胶缺陷检测方法的有效性,开展电机底座涂胶区域缺陷检测实验。

在装配现场采集实验图像,将采集到的涂胶图像(正常图像1 041张、缺陷图像987 张)利用改进的骨架提取算法得到骨架,并以骨架为种子点按改进的生长规则进行八邻域生长,得到处理后完整的涂胶区域图像。对图像进行缺陷框选,取900个涂胶区域有断胶、溢胶和缺胶等缺陷目标区域图像样本作为训练集。取100个有断胶、溢胶和缺胶等缺陷目标区域图像样本作为测试集。提取构建的各类涂胶区域缺陷的样本见表1所列。

表1 涂胶样本库中的样本 单位:个

提取训练集和测试集的 LBP 特征、HOG 特征、MBLBP特征、IHOG 特征、HOG-LBP 融合特征以及本文提出的 IHOG-MBLBP 融合特征,分别对SVM分类器进行训练和预测,利用一系列的评价指标计算得到本检测的实验结果,见表2所列。评价指标计算公式如下:

表2 不同特征的分类器检测结果对比 %

ACC=(TP+TN)/(TP+FP+TN+FN)

(7)

其中,ACC、TP、TN、FP、FN分别代表准确率、真正例、假正例、真负例、假负例。

由表2可知,本文所用 IHOG-MBLBP 融合特征的SVM分类准确率最高,为98.6%,高于HOG-LBP融合特征SVM 分类的96.8%。LBP 特征的SVM分类准确率最差,准确度为90.1%,而IHOG、MBLBP均改进了特征的选取,准确率都有所上升。因为在提取IHOG特征时,添加了图像归一化后宽度进行增广,在提取 MBLBP 特征时,对每个块分别取3个半径,所以IHOG-MBLBP 特征的SVM分类可以保证准确率最高。综上所述,采用高级融合特征可以使检测效果均达到最佳水平。

5 结 论

为解决生产线上涂胶缺陷人工检测方式精度低、效率低的问题,本文进行了以下研究:

1) 针对初始种子点迭代耗时较长、研究效率较低,本研究提出选取骨架区域像素点作为初始生长种子。而快速提取骨架出现毛刺现象,提出添加链码像素数阈值机制,得到完整的细化骨架区域。

2) 针对涂胶完整区域分割不完全,本文提出了一种基于改进的生长准则分割待检测的涂胶目标区域算法,以骨架上像素点作为起始种子区域,再利用邻域加权灰度与自适应阈值准则进行区域生长,得到待检测的涂胶区域。

3) 针对涂胶区域有断胶、溢胶和缺胶等缺陷,本文提出了一种基于IHOG-MBLBP融合特征的SVM分类算法,先对每个目标区域IHOG 特征、MBLBP特征分别进行提取,再融合2个特征并用SVM分类器进行分类,从而实现缺陷的检测。

实验结果表明,本文设计的缺陷检测算法能够准确地提取骨架并得到完整的涂胶区域,对于涂胶缺陷具有较高的检测精度和效率,能够满足工业生产需求。

猜你喜欢
涂胶邻域像素点
一种自动多点涂胶技术的应用
基于FANUC机器人控制系统的机器人螺杆泵涂胶系统的设计
铝蒙皮半自动涂胶工艺研究
基于局部相似性的特征匹配筛选算法
基于伺服驱动的钉孔稳定涂胶方法研究*
稀疏图平方图的染色数上界
基于5×5邻域像素点相关性的划痕修复算法
基于邻域竞赛的多目标优化算法
基于canvas的前端数据加密
基于逐像素点深度卷积网络分割模型的上皮和间质组织分割