1. 引言
铝管具有易于焊接、使用寿命长、节能、弯曲性能优良、易于安装移机等特性,被广泛用于汽车、轮船、航天、航空、电器、农业、机电、家居等行业。由于铝管在运输和安装的过程中易产生诸如压坑、擦伤、皱折等缺陷,这些缺陷会严重影响后续产品的使用性能,甚至出现故障造成恶性事故。因此,有必要在铝管安装之前对铝管进行严格、高效和可靠的缺陷检测。常见的铝管缺陷检测为传统的人工检测方法,这种方法有许多局限性,在检测准确率上较低、实时性较差、效率普遍偏低,由于流水线的检测工作方式单一且工作强度大所以检测工人极易出现疲劳情况,人工检测时比较依赖工人的工作经验和主观判断。
人工检测的不足促使自动化检测技术飞速发展,工业上常见的铝管缺陷检测方法有:超声波检测法、涡流检测法和X射线检测等。周德强等人研究了基于频谱分析的脉冲涡流缺陷检测,该方法通过频谱的幅值量和不同的谐波分量来分析判断有无缺陷,但是并未对缺陷的量值大小或轮廓进行描述 [1];王达达等人研究了基于X射线数字成像的GIS设备缺陷可视化无损检测方法,在不对设备破坏的情况下,提出了利用X射线对其内部的缺陷进行可视化显示,该方法价格昂贵,存在射线对人体的伤害以及环境污染等问题 [2];谢静等人提出了一种基于形态学理论的红外热像分割法,用于工件表面的自动检测,但该方法存在稳定性不高、受温度影响较大、过程复杂等缺点 [3];曾伟等人提出了一种基于能量分析的激光超声波缺陷检测方法,但该方法操作不方便,成本耗费高 [4]。
从20世纪末发展到今天,基于机器视觉的缺陷检测技术逐渐应用于工业领域,例如:Parsyte公司运用神经网络技术,对钢铁表面缺陷进行实时检测和分类;J.W. Morris等人采用红外方式对钢材表面缺陷进行实时检测,该系统能够实现对采集图像的降噪、缺陷检测 [5];徐科等人采用AdaBoosting算法和非抽样小波算法实现对铸坯面划伤、裂纹和压痕等多种缺陷识别分类 [6]。
本文提出一种基于RPCA的铝管的表面缺陷检测的技术,这种方法能够使待检测的图像(原始观测矩阵)分解为背景图像(低秩矩阵)和噪声图像(稀疏矩阵),通过分析噪声图像来快速有效的检测识别铝管缺陷 [7]。
2. 系统总体设计
铝管表面缺陷检测系统的结构示意图如图1所示,在合适的光源照明下,CCD摄像机对待测铝管进行图像采集,经图像采集卡采集传送到计算机中,经过图像预处理将铝管图像校正分割,再用RPCA检测图像缺陷,最后对缺陷图像识别。

Figure 1. Structural diagram of aluminum tube defect detection system
图1. 铝管缺陷检测系统结构示意图
光照单元是本系统的一个重要组成部分。由于铝管表面具有较强的反射性,不合理的照明方式会使得图像采集结果不理想,影响后续的图像处理。故本文采用低角度照明方式,保证获取的图像质量。
图像采集单元由CCD摄像机和图像采集卡所组成。该单元主要完成待检测铝管的图像采集,并将采集到的数据传输给计算机,便于后期的数字图像处理。
计算机处理单元包括图像处理和缺陷识别。该单元主要是对采集到的图像进行图像处理,得到缺陷图像,然后识别缺陷。
3. 铝管表面缺陷检测
本文的实验是在Intel Core i5 8G内存,win10操作系统下,使用软件PyCharm完成。
3.1. 铝管图像预处理
由于铝管在拍摄的时候位置可能存在稍许偏差,如果不做任何处理直接输入图像进行鲁棒性主成分分析那么这些线性不相关的图像矩阵得出的结果必然不理想,所以有必要对输入图像先进行预处理保证输入到RPCA的铝管图像中的铝管均为水平方向或竖直方向。
铝管图像中存在明显的直线,所以本文采用霍夫直线检测检测图像中的直线并根据得到直线角度矫正图像方向,得到水平的铝管的图像 [8]。在霍夫直线检测之前需要对图像采用图像灰度化、中值滤波、Canny边缘检测和形态学处理。预处理流程图如图2所示。图3为预处理图像。
相机采集到的图像铝管的RGB三通道图像,直接进行处理计算量比较大,因此将RGB图像转变为灰度图像,灰度变换处理结果如图3(a)。在实际应用中,相机采集到的图像必定会受到噪声影响,噪点会为后续Canny边缘检测带来干扰信息,所以采用中值滤波去除图像中的噪点。中值滤波后的滤波图像如图3(b)。Canny边缘检测检测到的边缘较全,检测位置准确,抵抗噪声的能力强。Canny边缘检测后的图像如图3(c)。图像形态学可以分为:腐蚀、膨胀、开操作、闭操作。为了更准确的见到边缘图像上的直线本文先对Canny图像做闭操作,后做开操作。结果如图3(d)。霍夫直线检测其基本思想就是将原图像变换到参数空间,用大多数边界点满足某种参数形式来描述图像中的线,通过设置累加器,求得峰值所对应的所需要的信息。霍夫直线检测如图3(e)。矫正之后图像如图3(f)。最后提取图像中感兴趣的区域,即图像ROI,结果如图3(g)。
3.2. 基于RPCA的铝管图像缺陷检测
鲁棒性主成分分析能够将输入的原始铝管图像分解为理想状态的低秩图像和存在缺陷的稀疏图像。在铝管缺陷检测的过程中,一批铝管只有个别铝管存在缺陷,每个图像都是相似的,将图像转换为矩阵,那么这些矩阵都是线性相关的,这些图像就是低秩图像,然而个别存在缺陷的图像矩阵即为稀疏矩阵。
3.2.1. RPCA算法原理
数据降维就是一种对高维度特征数据预处理方法。数据降维是将高维度的数据保留下最重要的一些特征,去除噪声和不重要的特征,从而实现提升数据处理速度的目的。PCA (Principal Component Analysis),即主成分分析方法,是一种使用最广泛的数据降维算法 [9]。对带有缺陷的铝管图像,该算法可以将原图片分解为无缺陷的低秩图像和只存在缺陷的稀疏图像。传统的PCA算法是观测矩阵的低秩稀疏分解,其在理想的条件下处理效果较好,但是鲁棒性差,无法较好的处理收到较大噪声影响的观测矩阵,结果得不到理想的低秩矩阵。所以为了克服这个问题,本文采用RPCA算法,通过求解鲁棒性主成分分析模型就能得到缺陷图像。上述过程可以写成
(1)
其中观测矩阵D中有n组数据
,将每一组数据转化为列向量,则观测矩阵D可表示为
(2)
表示分解出来的低秩矩阵,
表示稀疏矩阵,λ表示权衡参数。
表示E矩阵的L0范数。然而求解公式(1)并不容易,所以引入核范数,并且将L0范数松弛为L1范数,将难以求解的公式(1)转换为凸优化问题求解
(3)
其中
表示矩阵核范数,
表示L1范数。
求解凸优化问题常用方法有:IT、APG、IALM等,本文采用非精确拉格朗日乘子法求解RPCA。首先将(3)式转换为拉格朗日函数
(4)
其中μ为惩罚参数,Y为拉格朗日乘子。
通过迭代对(4)进行求解,先固定E和Y,得到使L最小化的A,然后固定A和Y,得到使L最小化的E,对矩阵Y更新再对惩罚参数μ更新,重复之前的过程直到收敛便可得到输出A和E。
IALM算法的具体步骤为:
步骤1:输入样本图像矩阵
和权衡参数λ,
,
,
,
。
步骤2:奇异值分解,
,U和V代表两个相互正交的矩阵,S代表一个对角矩阵。用这个方法重估A和E。
步骤3:
步骤4:
。
步骤5:
。
步骤6:更新μk,
。
步骤7:重复步骤2~步骤6直到迭代收敛并输出
,
。
3.2.2. 基于RPCA的铝管缺陷检测实验
输入8张带有擦伤和压坑缺陷的铝管样本图像,每幅图像的分辨率大小为250 × 75。因为一批产品带缺陷的铝管图像只占其中的一小部分,所以可以认为大多数图像是低秩图像,多数图片的观测矩阵为线性相关,缺陷则是稀疏的。图4为待检测图像,其中图5(a)(d)(e)(h)为无缺陷的铝管图像,图6(b)(c)为擦伤缺陷图像,图7(f)(g)为压坑缺陷图像。
采用IALM (Imprecise Augmented Lagrange Method)算法求解RPCA,将待检测图像分解为低秩图像和稀疏图像 [10]。低秩图像如图5,稀疏图像如图6。实验结果表明稀疏图像能够成功的将缺陷检测出来,但是现在的稀疏图像效果并不显著,影响后续的缺陷识别,所以需要进行形态学转换处理,形态学转换处理图像如图7。从图7可以明确的看出图(b)(c)存在擦伤缺陷,擦伤缺陷表现为一道细长的白条,图(f)(g)存在压坑缺陷,压坑缺陷表现为一片不规则形状的白洞。,图(a)(d)(e)(h)为全黑的图像表示无缺陷的合格图像。
通过上述实验过程能够成功的检测出铝管缺陷图像,输入图像的像素大小直接影响检测速率,本文输入8张分辨率大小为250 × 75的图像其检测时间为3.81 s,平均每幅图像检测时间为0.48 s。由图7可知,输入8张图像中有图(a)(d)(e)(h)共4张无缺陷图像和图(b)(c)(f)(g)共4张有缺陷图像,对比图4待检
测的8张图像,可知图(a)(d)(e)(h)为无缺陷图像和图(b)(c)(f)(g)为有缺陷图像。检测准确率
,
其中α为检测后无缺陷图像和有缺陷图像的总和,β为待检测图像的总和。由上述分析可知α = 8,β = 8,则准确率为100%。可见,本文采用的方法检测时间较短,检测率较高,能够完成工业生产线上的对检测时间和准确率的要求。
3.3. 缺陷识别
本文研究的铝管缺陷有两类,分别为擦伤和压坑,由上述实验可知这两种缺陷在大小和形状上有很大的差别,所以采用三种特征参数对擦伤和压坑缺陷进行分类 [11]。三种特征参数分别为:面积、分散度和高宽比。面积既为缺陷内有S个像素点。分散度用于测量缺陷的紧密和疏松程度,周长为L,则分散度p为:
。当p越小说明缺陷越稀疏,p越大说明缺陷越紧密。高宽比,求出缺陷的最小外接矩形,外界矩形的高度h和宽度w的比值k能表达缺陷的不同。根据实验总结的判断的各个缺陷特征参数,如表1所示。表2为实验缺陷图像的特征参数,结合表1的判断标准能够判别图(b)(c)为擦伤缺陷,图(f)(g)为压坑缺陷。

Table 1. Judge the characteristic parameters of each defect
表1. 判断各个缺陷的特征参数

Table 2. Characteristic parameters of experimental defect images
表2. 实验缺陷图像的特征参数
4. 结论
基于RPCA的铝管表面缺陷检测方法,能够快速有效的检测出铝管缺陷。该算法将图像矩阵分解为低秩矩阵与稀疏矩阵,通过分析稀疏矩阵来检测铝管的表面缺陷,从上文检测铝管表面缺陷的实验中可以看出RPCA可以得到100%正确的实验结果,计算速度也较快。本文对铝管擦伤和压坑缺陷图像进行识别,通过对缺陷面积、分散度和高宽比这3个特征参数对缺陷进行识别分类。本文不足之处在于缺陷种类较少,后续需要继续做更多种类的缺陷检测与识别。同时本文算法输入图像要求8张以上,在后续的实验中可以通过对一张图像分割n个图像来解决。