1. 引言
近年来我国城镇每年新增房地产开发面积高达1.5亿平方米,国民在房屋装饰的花费平均每年高达4000亿元以上 [1]。陶瓷砖作为重要建筑装饰材料,市场需求量巨大。因此,对缺陷产品进行实时监测加以甄别成为了生产中难点问题之一。虽然目前国内已有一些陶瓷砖表面缺陷检测设备,但这些检测设备基本用于小规模缺陷检测,大部分厂家仍沿用人工抽检。对于瓷砖纹理缺陷的检测也无法达到完全的自动化、无接触、无磨损,无法满足实际生产的实时检测。这已成为了国内瓷砖生产的重要阻碍,而特征点提取匹配算法又是瓷砖纹理视频检测的重要环节。
花纹纹理缺陷的检测是通过图像特征点匹配,将提取到的特征值和理想设计值进行比对,以其偏差值来确定缺陷的存在与否。图像特征点匹配简单来说就是根据图像中的特征信息,在两个图像之间既设计图与采集图之间找到有效的匹配点对。工程中常用的特征点提取匹配算法有SIFT (Scale-Invariant Feature Transform)、SURF (Speeded-Up Robust Features)及最新提出的ORB (Oriented Fast and Rotated Brief)算法 [2]。SIFT是一种对图像局部特征进行描述,拥有尺度不变性的描述算子,能够在不同尺度空间中检测提取极值点。对光滑表面以及特殊视角的特征提取效果较差。SURF相当于是SIFT算子的改进版 [3],相较于SIFT的多维度计算,节省了降采样的时间,处理速度明显提高。文献 [4] 使用了SIFT算法,虽然其算法效率高,但是运算的复杂程度较高,不能满足瓷砖检测实际工程的实时性要求。文献 [5] 采用了Bay在SIFT基础上提出的SURF算法 [6],虽然拥有尺寸、旋转不变性且鲁棒性较好,但运行时间过长不能满足实际工程对稳定性的需求。本文采用的ORB特征点提取匹配算法,为近几年提出适用于视频检测的新型特征点提取匹配算法。相较于传统的SIFT以及SURF算法,其运行速度快,更能适应视频实时快速检测的特征点提取,同时具有良好的稳定性,可以有效解决工业应用中实时检测的需求 [7] [8]。针对此次实验内容对特征点匹配准确率需求较高的情况,本次研究将对ORB特征检测算法进一步优化,主要增加描述算法、距离匹配算法和对优化配对好的特征点对进一步筛选。
2. 实验平台与流程
2.1. 实验硬件选型
为满足生产线的实时性要求,根据其较大的数据信号传输速度,以及较高的检测帧率,实验选用NTSC/彩色1.0 Vp-p/75Ω复合映像信号输出的CMOS传感器,其具有功耗低、图像信息输出快等特点 [9]。DSP芯片选用美国TI公司的第三代高性能视频处理器DM6437。其采用VelociTI长指令字(VLIW)结构,拥有C64x + DSP内核,是数字图像处理领域一个很好的选择 [10]。
实验平台的软件系统是通过CCS5.5进行编译搭建的编译器,以VS2010为开发环境在Windows系统下编译代码,兼容C语言代码程序,能够实时的进行图片结果显示和数据分析,并可设置程序中断,分功能执行程序的运行。
2.2. 总体检测方案流程
此次研究通过DM6437开发板与VS2010开发环境相结合构建实验系统。将编写优化完成的程序烧制到DSP中,并将优化后的检测程序代码关联到编写的上位机界面中,通过工业相机进行图像采集,完成图像信号的转码以及数据流转换,将目标图像发送给上位机进行数据流转换,根据图像尺寸生成合适的图像矩阵进行图像恢复,对恢复后的图像进行分析,验证ORB匹配算法的适用性(图1)。
3. 算法部分
3.1. ORB匹配算法原理
ORB采用FAST角点检测算法进行特征点检测 [11] [12],该算法加入了机器学习和ID3决策树机制,所以该检测算子最大的特点就是脱离了以往通过矩阵计算图像灰度积分的方法,矩阵计算需要运用卷积的运算,计算量较大,而ORB采用的FAST算子如图2,对于检测点定义一个圆形的邻域,通过待测点的灰度值与圆形区域内的圆周上相邻点的灰度值进行比较来判断出特征点,速度快,在工业应用中具有较好的研究价值。
此次研究ORB采用的是FAST-9算子,若在任意一点周围邻域存在一定量的与该点处于不同区域的像素点,则该点被提取出作为FAST角点,角点响应函数如下:
(2-1)
(2-2)
式中:指待测点周围任意一点的灰度值;
指当前待测点的灰度值;
p表示待测点的坐标。
为设定的图片中任意一点与其临近圆周上的16个像素位置处的灰度值的差值,当计算差值大于设定阈值时,响应函数值变为1,当N大于9时则该中心点为FAST角点。
由于FAST角点不能适应尺度变化的特性,需要对提取出的角点运用Harris进行评价筛选出较优点,再运用图像金字塔进行图像压缩,得到同尺度图像,并针对检测出的角点生成描述符。
BRIEF描述符对检测到的角点进行描述,使得ORB特征点的检测具有了旋转不变性的能力。它的原理是选取相对较少的灰度值计算强度比进行邻域的特征的描述。
对于一个M*M模板的邻域矩阵P,定义一个测试准则:
(2-3)
其中,为处邻域P的灰度值;
选取n个检测点,这样就可以将测试准则确定,生成BRIEF描述子:
(2-4)
根据计算机性能和所需求的识别速度及准确率,本次研究选取的n值为256。
3.2. ORB匹配优化
对于ORB算法的优化,本次采用基于FLANN的描述符对特征点进行二次描述,以包含角点的局部区域计算出该区域内的灰度形心,根据形心给提取出的特征点标明主方向,局部区域矩的公式是:
(2-5)
则这些矩计算特征点区域上的灰度形心为:
(2-6)
则二次描述的FAST特征点的主方向为:
(2-7)
最邻近KNN分类算法,是机器学习中一种有监督学习的智能分类算法 [13] [14]。本文利用KNN对已经配对好的特征点对进行进一步分类,提取出正确的匹配对。KNN最邻近规则分类算法的原理:如图3,根据有监督学习算法将一定已知分类的样本存放于容器中,图中不同类别的样本以不同形状和颜色标注,对于待测的未知分类样本,根据欧氏距离,选取距离最近的n个已分类的样本点,以投票准则,通过选中点中的多数类别来确定此点的分类。
根据该原理我们通过KNN对已经配对好的匹配对进行正确配对的筛选,如图4所示,不同颜色的点为不同位置处的特征点对,白色为待判别特征点对,图4(a)为准确配对,图4(b)为误配对。设定阈值T,确定最邻近样本数为7,当d2与d1之差在阈值之内时该距离为准确距离,当最邻近中准确距离占多数,则判断此点对为正确匹配,对正确的匹配运用劳氏算法进行进一步的筛选,得到正确配对。
(a) 正确匹配对 (b) 错误匹配对
Figure 4. KNN matching optimization principle
图4. KNN匹配优化原理
通过筛选出的特征点匹配对进行矢量运算,算出旋转和平移矩阵。运用CIELAB色差公式进行区域色差计算 [15],采用两幅图像同一窗口区域的(L1,a1,b1)和(L2,a2,b2)值来计算对应区域的色差,公式可以表示为:
(2-8)
其中,参数因子KL、KC、KH是校正系数,L代表亮度,C、H为色度空间值。
4. 实验验证与分析
1) 不同亮度下的鲁棒性比较
在图像识别领域鲁棒性简单来讲就是当我们用正确的图像作为模型输入,是否能得到肯定的结果,以及我们采用非正确的图像作为模型输入,能否得到否定的结果。实际的陶瓷砖是全天不间断的生产,实际检测过程中光源强度受工作环境等因素的影响不可避免,由于陶瓷砖检测为室内进行,室外光亮影响较小,本次实验对早、中、晚不同时间段对算法的匹配效果进行了检测,实验平台如图5,检测平均结果如下表1。中午光强较大时对检测效果有一定的影响,SURF与ORB算法对光亮影响较为明显,SIFT以及改进后的ORB算法对于光亮变化有较好的鲁棒性。目前的检测光源亮度可进行人工调节。
Table 1. Comparison of robustness in light variation
表1. 光亮变化鲁棒性比较
2) 旋转变换下的鲁棒性比较
实际生产输送过程中,陶瓷砖不可避免的会有一定角度的旋转,各个像素点各方向的梯度关系会围绕旋转中心进行旋转,进行特征点提取时,原提取的特征点周围的各方向梯度幅值以及特征点的方向信息会随之发生变化,影响特征点主方向的检测以及特征点的匹配成功率。
实验选取5种不同的陶瓷砖样品进行图像采集,如图6,考虑到陶瓷砖样品通常呈现对称性,将其分别相对于原图进行0度、15度、30度、45度、90度的旋转进行采集,并对其分别进行特征点提取,与原图进行特征匹配,根据匹配结果分析匹配效果,平均匹配结果如下表2。
Figure 7. Robustness comparison of rotation variation
图7. 旋转变化鲁棒性比较
通过表格数据转化为折线图,如图7,可以看出改进后的ORB算法在采集物体发生不同程度旋转情况下进行特征匹配的鲁棒性更好,图像相较于样图进行旋转后,特征点匹配对数都有下降趋势;根据数据对比可以看出:虽然原ORB算子的旋转变换的鲁棒性相较于SIFT、SURF算子较差,但改进后的ORB算法适应旋转变换的鲁棒性有较为明显的优势。
3) 准确性与实时性比较
实际生产检测影响检测结果最重要的因数即为特征点匹配的正确率与实时性,实验选取不同花纹纹理的陶瓷砖5种,以能保证识别精度为要求确定特征点数对,每张图片进行两次匹配,匹配平均结果如下表3。可以看出ORB的检测运行时间明显小于前两种特征检测算法,更能适应系统精确测量的要求。SIFT与SURF以及ORB算法的耗时对比,虽未能达到理论上的100:10:1,但可以看出ORB算法的实时性要明显高于其他两种算法。改进后的ORB算法检测完成一幅图片所用的时间虽大于原算法的检测时间,但增加的时间在容忍范围内,不影响陶瓷砖的生产检测,但优化后的ORB算法在匹配准确率上有了明显的提升。改进后的ORB特征匹配部分示例如图8。
Table 3. Comparison of accuracy and time of feature matching algorithm
表3. 特征匹配算法正确率与时间对比
5. 结论
本文探究了如何确保对陶瓷砖表面纹理缺陷问题检测的实时性、准确性,针对硬件设置和编写好的检测算法进行完善和优化。采用ORB算法进行特征匹配,并为其特征点添加矢量方向,以及对机器学习KNN算法进行进一步优化。改进后的ORB算法能体现出良好的实时性、准确的鲁棒性,更能适应实际生产流水线的检测。由此检测出准确的特征匹配对并根据对应点的位置关系求出图片平均的旋转和平移向量,可为瓷砖表面缺陷检测的后期计算和缺陷的二次检测以及提高检测精度奠定基础。