2. 中国科学院大学, 北京 100049
2. University of Chinese Academy of Sciences, Beijing 100049, China
图像预处理在整个工件识别过程当中是不可缺少的一步, 首先把采集到的彩色数字图像进行处理, 使其成为灰度图. 把彩色图像转化为灰度图像, 不仅不会丢失彩色图像中的数据信息, 而且能够大大地减少图像处理过程中的计算量, 提高效率; 灰度图像和彩色图像的描述能力相比较没有太大的差别. 计算机视觉中用到的基本方法中经常需要将彩色图像转换成灰度图像[1]. 由于在摄像头的拍摄环境中可能会发生光照条件微弱和目标工件重叠的情况, 以及实验设备中传感器的差异, 工件图像在其生成, 传输和存储的过程中会引入噪声, 因此必须对系统采集的原始图像进行噪声平滑过滤. 普通的基于灰度的模板匹配只能应用于一些比较简单图像的识别, 但是当工件存在遮挡, 不同程度的旋转, 不同比例缩放等问题时, 继续使用传统的模板匹配算法很难得到预想的效果, 还可能出现一些不正确的匹配结果. 因此, 本文采用基于特征点提取的模板匹配方法, 通过检测搜索图与模板图共有特征点的方法来衡量二者之间的相似度, 此方法能很大限度地克服工件存在旋转, 缩放, 遮挡等问题, 能够大大减少数据处理量.
1 图像预处理 1.1 灰度级变换灰度级变换作为图像预处理中最基本的环节, 它不依赖于像素在图像中的位置, 一个变换C将原来在[m1, m2]内的灰度值m变换为一个固定灰度值或另一个灰度范围[n1, n2]内的灰度值, 如式(1).
$n = C\left( m \right)$ | (1) |
文中图1给出了最常见的灰度级变换, 直线i为原始图像, 函数k被称为图像二值化, 其结果为黑白图像, 分段函数j增强了图像在m1, m2之间的图像对比度.
图像二值化就是在灰度图像中0–255分布的像素点中设定一个阈值, 使转换后的图像仅存在灰度值为0和255的基本图像, 也就是将整个图像呈现出明显的黑白效果. 图像二值化是图像处理的先行官, 它使得后续的图像操作变得简单易行.
1.2 平滑噪声中值滤波对脉冲噪声能进行较好的滤除, 另外, 中值滤波的算法比较简单, 易于用硬件实现. 中值滤波方法: 当对一个数字信号序列xj(j为任意值)进行滤波处理时, 首先要定义一个长度为奇数的K长窗口, K=2N+1(N≥0). 设定在某个时刻, 窗口当中的信号样本则为x(i–N),…, x(i),…, x(i+N), 其中x(i)是位于窗口中心的信号样本值. 对这K个信号样本值依次按照从小到大的排列之后, 它的中值, 也就是在i处的样本值, 则定义为中值滤波的输出值, 写为式(2).
$y\left( i \right) = Med\left[ {x\left( {i - N} \right),\cdots,{\rm{ }}x\left( i \right),\cdots,{\rm{ }}x\left( {i + N} \right)} \right]$ | (2) |
SURF算法同样作为尺度不变特征变换算法, 被称作是SIFT算法的加速版本, 当图像比较大的时候, SURF的实时性依然不够, 由于BRISK计算速度快, 本文通过利用SURF先检测关键点, 再用BRISK计算描述子的方法, 吸收两种算法的优点提出一种符合实际需求的算法即SURF-BRISK[2]. SURF-BRISK算法通过SURF检测极值点, BRISK计算描述子, 并运用汉明距离(Hanming Distance)进行相似性度量, 不仅计算速度快而且匹配率高[4]. SURF算法比SIFT算法更快是因为引入了积分图像的概念, 因此, 先介绍积分图像. 积分图像计算的是在某个矩形区域内的像素之和. 积分图在I∑(x)在位置x=(x, y)T处的定义为式(3).
$I\sum {(x) = \sum\limits_{m = 0}^{m \le x} {\sum\limits_{n = 0}^{n \le x} {I(m,n)} } } $ | (3) |
式中, I∑(x)为对应的(x, y)坐标的积分图像; I(m, n)为原始图像对应坐标m, n处的像素值.
图2为积分图像的原理图.
当一副图像中的中的取到了图像中的每一个坐标, 则图像中任意一个矩形区域中像素点的求和运算仅需要三个加减法运算就能完成, 并且I∑(x)独立于矩形区域的大小[5]. 如果用原始的计算方法来计算图像中某区域的像素点的总和, 所需要的计算次数如式(4).
$C_n^0 + C_n^1 +\cdots+ C_n^n = {2^n}$ | (4) |
对于这个结果, 存在大量的重复工作, 因为大部分的矩形计算重叠了. 把积分图像应用到矩形区域的求和当中, 能完全避免重复的求和计算, 很大程度上加快了运算速度. SURF算法之所以选用积分图像来计算是因为SURF中采用了箱式滤波器来近似高斯核函数, 箱式滤波器的引入使得卷积模板都是矩形模板, 把积分图像运用到SURF中能加快运算速度, 满足特征提取的实时性要求[6].
通过SURF-BRISK算法进行图像特征提取与匹配分为以下几步:
(1) 对于采集的原始图像, 利用SURF中的盒式滤波器与积分图像金字塔来模拟图像的尺度缩放, 同时检测图像中的特征点;
(2) BRISK特征描述方法把SURF算法检测到的特征点作为圆心, 选取多个不同半径的同心圆上的点作为采样点, 并对特征点周围的信息进行描述[7];
(3) 在匹配的时候用汉明码来判断两个特征点的相似性.
通过SURF-BRISK提取特征描述子, 然后把这些描述子变为0和1组成的512位二进制比特串之后, 利用汉明距离来进行相似性度量[8]. 汉明距离定义如下:
${D_{kd}}({S_1},{S_2}) = \sum\nolimits_{i = 1}^{512} {({x_i} \oplus {y_i})} $ | (5) |
传统模板匹配方法只试用于一些简单的图像识别, 本文采用基于特征点提取的模板匹配方法[11–19], 通过检测搜索图与模板图之间的共有特征点的方法来度量两者之间的相似度, 此方法大大地减少了计算量. SURF-BRISK对图像的旋转, 遮挡以及缩放等问题具有较好的鲁棒性, 因此, 本文采用SURF-BRISK特征对模板图和搜索图进行特征点检测以及工件的匹配识别.
4 实验 4.1 实验过程设计实验硬件需计算机一台, 测试环境是Windows7 32位操作系统, 开发平台为OPENCV2. 4.6, 所用到的软件为MATLAB2014, VS2010. 利用MATLAB对信号进行中值滤波. 对SURF, BRISK, SURF-BRISK三个描述子进行了比较. 在自然光照的条件之下, 采用了基于SURF-BRISK点特征匹配的模板方法实现对工件的识别.
4.2 实验结果实例1是基于中值滤波的工件图像预处理. 如图3中, (a)是工件的原图, 对原始图像添加噪声后得到(b)所示图像, 最后对(b)进行中值滤波处理得到(c), 由(b)和(c)对比可知, 中值滤波对脉冲噪声具有明显的抑制效果, 本文就是采用中值滤波方法来去除工件图像中的噪声干扰[20–23].
实例2 SURF, BRISK, SURF-BRISK三个描述子进行比较.
图像初次匹配时难免会出现误匹配, 因此本文利用MSAC算法去除误匹配, 从而得到如图4所示较好的匹配效果.
实例3 基于SURF-BRISK点特征匹配的模板匹配识别.
为了检验有缩放的情况下的工件的识别, 把搜索图相对模板图缩小0. 5倍, 图5中(a)为模板图, (b)为搜索图, 图6中(a)为缩放后的识别结果; 为了检验工件图像在有噪声的情况下的识别, 将图5的搜索图(b)加入椒盐噪声后变为图5中(c), 图6中(b)为搜索图加入噪声后的识别结果; 为了检验工件在平移时的识别, 将搜索图相对于模板图向右移动一定的距离, 图5中(d)为平移后的搜索图, 图6中(c)为搜索图平移后的识别结果. 由上述检测图可知, 工件在平移, 缩放, 有噪声的状况下, 依然能较好的识别出目标工件.
4.3 实验数据
通过实验可以比较SURF, BRISK, SURF-BRISK三种描述子的匹配率与实时性, 如表1所示, 可以判定BRISK的匹配速度是最快的, SURF的匹配速度最慢, 但SURF的匹配点最多, SURF-BRISK充分结合了二者的优点, 使得匹配速度接近BRISK, 而且比BRISK能得到更多的匹配点.
5 结语
本文针对工件图像中目标工件匹配识别问题, 在滤波去噪预处理之后, 先后分析对比了SURF, BRISK, SURF-BRISK等三种特征描述子, 提出基于SURF和BRISK的方法, 有效地实现了目标工件图像与模板图像的匹配识别, 并以相似性度量算法消除匹配误差.
[1] |
Szydlowski M, Powalka B, Matuszak M, et al. Machine vision micro-milling tool wear inspection by image reconstruction and light reflectance. Precision Engineering, 2016, 44: 236-244. DOI:10.1016/j.precisioneng.2016.01.003 |
[2] |
Tomasi C, Manduchi R. Bilateral filtering for gray and color images. Proceedings of the 6th International Conference on Computer Vision. Bombay, India. 1998. 839–846.
|
[3] |
Bribiesca E. A contour-oriented approach to shape analysis via the slope chain code. International Journal of Contemporary Mathematical Sciences, 2016, 11(2): 65-84. |
[4] |
Ullah MI, Ajwad SA, Islam RU, et al. Modeling and computed torque control of a 6 degree of freedom robotic arm. Proceedings of 2014 International Conference on Robotics and Emerging Allied Technologies in Engineering. Islamabad, Pakistan. 2014. 133–138.
|
[5] |
Hentschel U, Elz M, Bernet S. Automatic device scans in EtherCAT networks with cable redundancy. Proceedings of the IEEE 20th Conference on Emerging Technologies & Factory Automation (ETFA). Luxembourg. 2015. 1–8.
|
[6] |
Blaschko MB. Branch and bound strategies for non-maximal suppression in object detection. Proceedings of the 8th International Conference on Energy Minimization Methods in Computer Vision and Pattern Recognition. St. Petersburg, Russia. 2011. 385–398.
|
[7] |
Prasanna P, Dana KJ, Gucunski N, et al. Automated crack detection on concrete bridges. IEEE Transactions on Automation Science and Engineering, 2016, 13(2): 591-599. DOI:10.1109/TASE.2014.2354314 |
[8] |
Farooq U, Asad MU, Rafiq F, et al. Application of machine vision for performance enhancement of footing machine used in leather industry of Pakistan. Proceedings of 8th International Conference on Digital Information Management. Islamabad, Pakistan. 2013. 149–154.
|
[9] |
郭佳. 基于光照不均匀图像的自适应二值化方法研究[硕士学位论文]. 武汉: 武汉科技大学, 2013.
|
[10] |
马颂德, 张正友. 计算机视觉. 北京: 科学出版社, 1998.
|
[11] |
韩九强. 机器视觉技术及应用. 北京: 高等教育出版社, 2009.
|
[12] |
李奇, 冯华君, 徐之海, 等. 计算机立体视觉技术综述. 光学技术, 1999(5): 71-73. |
[13] |
于浛. 非合作航天器双目视觉位姿估计算法研究[硕士学位论文]. 哈尔滨: 哈尔滨工业大学, 2011.
|
[14] |
朱加雷, 金嘉怡, 乔溪, 等. 工业焊接机器人空间定位技术研究. 电焊机, 2014, 44(1): 5-8. |
[15] |
叶平, 李自亮, 孙汉旭. 基于立体视觉的球形机器人定位方法. 控制与决策, 2013, 28(4): 632-636, 640. |
[16] |
王晓华, 傅卫平, 梁元月. 提高SIFT特征匹配效率的方法研究. 机械科学与技术, 2009, 28(9): 1252-1255, 1260. |
[17] |
吴若鸿. 基于特征匹配的双目立体视觉技术研究[硕士学位论文]. 武汉: 武汉科技大学, 2010.
|
[18] |
黄风山, 刘恩福, 方忆湘, 等. 基于智能三坐标测量机的零件位姿单目立体视觉识别. 光学精密工程, 2013, 21(5): 1326-1332. |
[19] |
白雪, 黄廷磊. 运动目标精确检测算法. 计算机系统应用, 2009, 18(12): 41-44. DOI:10.3969/j.issn.1003-3254.2009.12.010 |
[20] |
林洪文, 涂丹, 李国辉. 基于统计背景模型的运动目标检测方法. 计算机工程, 2003, 29(16): 97-99, 108. DOI:10.3321/j.issn:1002-8331.2003.16.033 |
[21] |
刘亚, 艾海舟, 徐光佑. 一种基于背景模型的运动目标检测与跟踪算法. 信息与控制, 2002, 31(4): 315-319, 328. |
[22] |
王怡然. 基于高斯背景模型的运动目标检测与跟踪[硕士学位论文]. 西安: 西安电子科技大学, 2012.
|
[23] |
陈鹰, 叶勤, 钟志勇. 基于小波变换的雷达与光学影像匹配算法研究. 测绘学报, 2000, 29(3): 245-249. |