目前的智能灯检机主要采用帧间差分算法来实现对药液中异物的识别与跟踪[1]。但由于机器构件存在缝隙或外力导致的抖动、机械电气系统的跟踪误差或伺服电机的不同步,电荷耦合器件(Charge Coupled Device, CCD)工业相机所拍取的序列图像会在水平方向和垂直方向产生微小的偏差,而导致在做匹配序列图像的差分时产生许多错误的特征,给后续帧间差分来进行异物的识别与判断加大了难度,增加了错误剔除率[2]。
尺度不变特征变换 (Scale Invariant Feature Transform, SIFT)[3]特征描述在应对各种变化及匹配精确度上一直有着优异的性能,但高额的计算代价限制了它的应用,为了缓解SIFT的性能和存储问题,出现了一系列优化SIFT的研究。如文献[4]中的高鲁棒性的快速局部特征 (Speeded Up Robust Feature, SURF),在实时性能上较SIFT提升了一大截,但在某些应用上匹配精度上仍不及SIFT;文献[5]提出的尺度不变特征二维主成分分析 (2 Dimensional Principal Component Analysis-Scale Invariant Feature Transform, 2DPCA-SIFT)投影矩阵需要一系列有代表性的图片,并且矩阵只对此类图片有用;文献[6]提出了一种自适应的SIFT描述子,对低对比度的图像有着很好的匹配效果。但上述的这些算法复杂度及维度依然很高,没有从根本上解决高维浮点向量的性能瓶颈问题,实时计算动辄需要几千毫秒不等,且均影响了SIFT的匹配精确度或应用普适度。而具有极高计算效率和储存效率的二进制描述子,自2010年Calonder等[7]提出了一种二进制鲁棒独立单元特征 (Binary Robust Independent Elementary Feature, BRIEF)后便得到了迅速的发展。近年来,文献[8]提出的一种基于视网膜的快速特征点(Fast REtinA Keypoint, FREAK)与文献[9]提出的带方向的BRIEF(ORiented BRIEF, ORB)已然成为了图像特征领域研究的新热点,并得到了广泛应用。
针对上述问题,本文提出了一种基于加速分割测试特征(Features from Accelerated Segment Test, FAST)[10] 检测的新型二进制描述子,并利用图像分块原理[11]实行分块匹配策略,通过检测不同尺度的图像特征点,采用非极大值抑制(non-maximal suppression)与信息熵值法 [12]进一步择优选取优秀特征点,再利用新型模板形成对尺度变化、噪声干扰及光照变化均有较强鲁棒性的新型低维二进制描述子,最后利用分块匹配策略对前后两帧图像中药瓶的快速精确匹配,计算出并补偿药瓶在图片中的位移偏差。
1 特征点的检测 1.1 加速分割检测献在吸收核同值区(Small Univalue Segment Assimilating Nucleus, SUSAN) 特征点检测算子的基础上,提出了加速分割测试特征(FAST)快速特征点检测算法。该算子运用分割检测判据,考察目标像素自身灰度值与其邻域内的灰度值大小,如图 1所示。
根据式(1) 把候选特征点周围的点分为三类:
${{S}_{p\to x}}=\left\{ \begin{array}{*{35}{l}} d,\ \ \ \ \ {{I}_{p\to x}}\le {{I}_{p}}-t\ \ \ \ \ \ \ \ \ \ \ \ (\text{darker}) \\ s,\ \ \ \ \ {{I}_{p}}-t<{{I}_{p\to x}}<{{I}_{p}}+t\ (\text{similar}) \\ b,\ \ \ \ {{I}_{p}}+t\le {{I}_{p\to x}}\ \ \ \ \ \ \ \ \ \ \ \ \ (\text{brighter}) \\ \end{array} \right.$ | (1) |
其中:Sp→x表示待测点的状态;Ip→x表示连续的n个像素点的灰度值;Ip表示P点的灰度值;t为一个设定的阈值常数。然后再用迭代二分器(Iterative Dichotomiser 3,ID3) 算法构建的决策树分类器选择特征点。文献[10]证明,取n=9时(即FAST-9) ,效果最佳。本文实验所采用的皆是FAST-9。
1.2 特征点的择优选取在序列图像位移补偿中,特征点空间位置偏差较大的误匹配是不允许出现的,这会给后续补偿计算带来很大误差。而噪声点的干扰则是造成这类误匹配的最主要原因,本文采用信息熵值差法来判定和剔除噪声点。图像熵[14]表示图像中灰度分布的聚集特征所包含的信息量。在图像的特征点周围一块A×B的区域中,一共包含了n个灰度级,其中第i(i∈{1, 2, …, n})级灰度出现的概率为pi(0≤pi≤1 且∑pi=1) ,则该区域的熵值如式(2) 所示:
$H=-\sum\limits_{i=1}^{n}{{{p}_{i}}\log {{p}_{i}}}$ | (2) |
正常图像区域,熵值计算区域选取得越大,则熵值越大;而在噪声点区域,扩大熵值计算区域,熵值增大的幅度则会小很多。如图 2所示,图 2(a)中3×3非噪点像素矩阵的熵值为2.982,图 2(b)中5×5非噪点像素矩阵的熵值为4.848;而如图 2(c) 、图 2(d)中3×3、5×5噪点像素矩阵的熵值则分别为2.895、3.68。可知非噪点区域熵值差1.866远大于噪点区域熵值差0.785,故采用区域熵值差分割排除噪声干扰点。
再对检测到的候选点根据式(3) 进行非极大值抑制,来解决多个邻近点被检测的问题。
$V=\max (\sum\limits_{x\in {{S}_{bright}}}{\left| {{I}_{p\to x}}-\left. {{I}_{p}} \right| \right.}-t,\ \sum\limits_{x\in {{S}_{dark}}}{\left| {{I}_{p}}\left. -{{I}_{p\to x}} \right| \right.}-t)$ | (4) |
而这样生成的特征点也不具备旋转不变性,实际上,依据采样模块主方向角度并旋转来实现旋转不变性,在特定场合(如连续图像序列)是不必要或是精度要求较低的。文献[7]中也指出,二进制描述子的角度方向的检测过程还会减低后续图像识别过程中的识别率。鉴于大输液药液检测运动补偿的实际需要,智能灯检机的机械系统和电气系统并不会产生旋转上的偏差,因此,本文将去掉旋转方向的赋值,来尽可能地提高后续图像识别过程中的识别率。
2 新型描述子的生成 2.1 改进的采样模板采样点对的选取是二进制描述子构造的关键,它决定了描述子所包含的信息。近年来较新的二进制描述子中,如FREAK、ORB以及文献[15]中提出的通过旋转描述子计算最小距离来实现旋转不变性的方法--旋转不变的二进制描述子(Rotated Matching of Binary Descriptor, RMBD),在选取采样模板时均计算了大量的采样点,进而后续描述过程中也带入过多的计算,并加入了描述子方向的描述。而智能灯检机在实际工作过程中并不会产生药瓶方向偏转的旋转问题,因此本文基于上述算法的优缺点,综合考虑了描述子的去旋转方向化、匹配精度与匹配速度,采用了一种改进的由密到疏的采样模型选取采样点,如图 3所示。
由图 3可以看出,本文的采样模型是由一系列半径不同的同心圆重叠构成,最中心的点是特征点,同心圆与8个方向线的交点即为采样点。本模型共有5层,40个采样点,780个采样点对,采样点均匀分布在以特征点为中心的同心圆上,呈现出了内密外疏的分布,在保留了特征点区域的重要信息部分的同时去除了冗余的信息部分。
为了减少图像噪声的影响,采样点在比较前需要进行平滑滤波,高斯核的大小与当前采样点的同心圆半径成正比。假设特征点的尺度为δ,则同心圆半径为M1δ,M2δ,…,Mkδ。其中:Mk表示与同心圆半径成正比的高斯核系数,k为采样点的层数,M1:M2:M3:M4:M5=3:5:7:9:11。根据特征检测子提供的特征尺度δ,将采样模式进行缩放,就可以实现同一特征区域在不同尺度下的不变性。此外,滤波窗口边缘上亚像素位置的采样点灰度值采用双线性插值来计算,以减少图像离散采样而引入的误差。
2.2 特征点的描述本文将采样点中信息量丰富的里面三层称为第一层,将外面两层称为第二层,以此将采样点对分为层内点对与层外点对。
首先将采用点沿顺时针方向依次进行编号,则ps, i表示第s层的第i个采样点。定义层内点对关系为e(s, i, l)= ps, i→ps, i+l,表示第s层的第i个采样点和第i+l个采样点的灰度大小关系。定义层外点对关系为o(s, k, i, l)=ps, i→ ps+k, i+l,表示第s层的第i个采样点和第s+k层上第i+l个采样点的灰度大小关系。再根据式(4) :
$\tau \left( p;x,y \right)=\left\{ \begin{matrix} 0,p\left( x \right) <p\left( y \right) \\ 1,p\left( x \right)\ge p\left( y \right) \\ \end{matrix} \right.$ | (4) |
其中p(x)、p(y)表示在采样点x、y处的灰度值。将第s层的采样点的层内关系测试结果制成一个二进制字符串
$D=\sum\limits_{0}^{R-1}{({{2}^{rN}}{{E}_{s,1}}+{{2}^{rN+RN}}{{O}_{r,k,2}})}$ | (5) |
其中:R为采样圆个数;N为每个圆上的采样点个数;k为层外描述子的间隔层数;l1为层内描述子点对间隔;l2为层间描述子点对间隔。则生成的描述向量一共有CN2维,故本文生成的描述子向量有C402=40*(40-1) /2=780维。
2.3 描述子的降维在图像的匹配过程中,为了保证算法的实时性,需要在保留信息量维度较大的同时去掉冗余信息,因此需要得到更好的、更具有辨识度的描述子。而对于二值字符串的每个比特位,所有特征点在该位上的值满足一个均值接近于0.5的高斯分布时,则该位的方差越大。方差越大,说明区分性越强,那么不同特征点的描述子就表现出来越大差异性,对匹配来说不容易误配。文献[16]说明当描述子维度取256时能保留特征点绝大部分信息维度,同时还具有较高效率,因此将得到的二进制描述子利用上述原理进行筛选,并保留256维。
3 特征点的匹配 3.1 分块匹配策略由于特征点的检测在两幅图像中几乎不可能达到100%重复率的完美状态,以及特征点的描述子存在着一定程度的相关性,空间位置偏移较大的误匹配总难以完全地避免。
针对上述问题,为了使得后续所得数据误差尽可能地降到最低,本文采用了分块匹配的策略,具体步骤如下。
1) 利用前一帧图像中检测到的特征点A的空间位置信息,在待匹配帧以该位置为中心确定一个尺寸为M×M的窗口(其中M表示由先验知识得到的CCD工业相机所造成的图像最大位移偏移量)。
2) 在待匹配帧M×M的窗口内利用本文算法检测并描述所有优秀的特征点。
3) 利用距离阈值匹配准则计算参考帧特征点A与待匹配帧M×M窗口内特征点的Hamming距离,距离最小者即为窗口内最佳匹配点。
如此避免了空间位置误差较大的匹配,提高了算法的精确度,并将全局最优搜索化为了局部最优搜索,提高了相邻帧间的匹配精度,减少了运算量。
图 4展示的是原始点对匹配算法SIFT的匹配结果。实验结果出现了位置偏差较大的误匹配(A与C)和正确的匹配(A与B)。分块匹配策略则是在待匹配帧相对于A点的位置(即三角形处)构建一个尺寸为M×M的窗口(假设为图中的白色方框),将所需的搜索区域分割出来,在该窗口内搜索最佳匹配点B,点C则会被直接分割淘汰,保证了匹配精度的同时还减少了算法的运算量。
二值特征描述子特征配对普遍利用的Hamming距离进行判决,对向量(x1, x2, …, x256),(y1, y2, …, y256) 利用式(6) 计算两向量的Hamming距离:
$\text{dist}=\sum\limits_{1}^{s}{\left( {{x}_{i}}\oplus {{y}_{i}} \right)}$ | (6) |
其中:i=1,2,…,s;⊕表示抑或运算。再利用式(7) 判断特征点是否为匹配点:
$\text{dist} <\text{n*dis}{{\text{t}}_{\text{max}}}$ | (7) |
其中:dist为当前描述子的计算距离;n为倍数阈值,本文取n=0.3。
渐进采样一致性(PROgressive SAmple Consensus, PROSAC)算法[17]是根据匹配对的质量好坏对匹配对进行排序,在模型参数拟合时优先抽取质量较高的匹配对进行迭代估计,保持了计算精度并能有效提高计算效率。
3.3 位移偏差补偿量的计算将good matches中的点对第i对点对的后一帧图像点坐标P2, i(x2, i,y2, i)减前一帧图像点坐标P1, i(x1, i,y1, i),得到水平位移偏差量Δxi和竖直方向位移偏差量Δyi(单位均为像素数)。m个good matches共求得m个Δx1,Δx2,…,Δxm,与Δy1,Δy2,…,Δym;再利用式(8) 求出水平位移偏差平均量为Δx,竖直位移偏差平均量为Δy,用这种平均权重的方法来抑制和削弱个别误匹配带来的微小误差。
$\left\{ \begin{matrix} \overline{\Delta x}=\frac{\Delta {{x}_{1}}+\Delta {{x}_{2}}+...+\Delta {{x}_{m}}}{m} \\ \overline{\Delta y}=\frac{\Delta {{y}_{1}}+\Delta {{y}_{2}}+...+\Delta {{y}_{m}}}{m} \\ \end{matrix} \right.$ | (8) |
本文所采用的算法整体流程如图 5所示。
本文实验所用的图像均为智能灯检机模拟工业生产环境下采集,如图 6(a)所示,能准确地反映实际生产的环境条件,保证了数据分析的可靠性。智能灯检机的图像采集构件机械图如图 6(b)[18]所示。
本文实验所用电脑为Inter Core i5-2450 CPU 2.5 GHz处理器、内存为6 GB的计算机,应用软件为VS2013+OPENCV2.4.9 ,运行模式为Debug。选用图片如图 7所示,分辨率为1200*1600,底光图分辨率为1600*1200,均为192万像素。
先就熵值差法去除噪声点、排除伪特征点干扰的效果进行实验,将熵值差的阈值设为经验值0.85,结果如图 8所示。
实验结果表明熵值差去噪法在背光与底光下生成的序列图像上表现出优异的性能,能准确地剔除纯色背景下的伪特征点。本文将部分噪点与特征点用十字号标出,将熵值差制成表 1。
通过对两帧背光图匹配结构比较进行n阈值的选择,再进行PROSAC效果对比,匹配结果如图 9所示,相应匹配结果数据如表 2所示。
PROSAC在匹配点对增多时会有很好的提纯效果,但并不能保证不出现空间误差较大的匹配以及精度很高的准确率。综合上述结果,本文选取匹配点对数适中、匹配准确率最高的n=0.3作为阈值。
4.4 分块匹配策略的效果为了验证分块匹配策略的有效性,本文用背光图与底光图分别利用原始的非分块匹配策略与分块匹配策略作对比,实验结果如图 10所示。
实验结果表明,分块匹配策略能够明显地去除序列图像中空间位置偏差较大的误匹配。因此,在分块匹配后再利用PROSAC提纯能极大地提高匹配的精确度,为后续位移偏移量的计算提供了精度保障。
众多的对经典浮点型描述子SIFT的实时性能改进,均是以牺牲一部分匹配性能为代价。本文通过大量实验发现,SIFT相比其他特征匹配算法有着优异的鲁棒性和精确度,故本文仍将SIFT作为匹配精确度的对比算法之一;同时与最新的典型二进制描述子FREAK和ORB对比,实验匹配结果如图 11所示,描述子生成耗时对比与整体性能对比见表 3。
从上述实验结果可知,描述子的生成在整个点对匹配算法中占了将近50%的时间消耗,而本文提出的新型描述子在实时性能上有着优异的表现,达到了96 ms,耗时仅为SIFT的1.57%、FREAK的51.34%、ORB的67.61%,而整体算法耗时197 ms,耗时仅占SIFT的1.76%、FREAK的66.55%、ORB的75.77%;在背光图中,SIFT、FREAK与ORB均出现了伪特征点(即噪点)的匹配,使得匹配准确率大大降低;而由于本文算法中熵值去伪与分块匹配策略的应用,匹配的准确率在不同类的图像上均达到了99%以上,高于SIFT、FREAK与ORB算法的匹配准确率,表现出了很强的鲁棒性。
本文算法在处理同样的192万高像素的图像中,克服了传统的高维特征向量维度过高、计算量过大、无法满足工业实时应用的缺点,满足了工业上智能灯检机实时性要求高的需求。
经过了实验对比,由于 FREAK均产生了较大的位移补偿误差,给后续的计算结果带来了很大的干扰,因而在位移补偿性能上没有很好的参考性。而ORB在背光图中表现出来的准确率及鲁棒性均不如SIFT,故接下来本文就位移补偿数据,利用SIFT和本文算法进行背光图的数据对比;再利用实时性能优秀、在底光图中表现良好的ORB算法和本文算法进行底光图的数据对比。将部分得到水平位移偏差量Δxi和竖直方向位移偏差量Δyi(单位均为像素数)制成图表,如图 12所示。
根据式(8) ,可计算得出背光图中SIFT的Δx=8.49,Δy=-1.56,本文算法的Δx=8.92,Δy=-1.98;底光图中ORB的Δx=7.39,Δy=0.48,本文算法的Δx=7.11,Δy=0.12(单位均为像素数/位)。数据图表显示,由于熵值去伪及分块匹配策略的应用,本文算法不仅在匹配准确率上高于其他算法,而且无空间位置偏差较大的匹配点对出现,为后续位移偏差量的计算提供了精准度上的保证。本文算法在对比SIFT及ORB时,计算结果均更稳定、误差更小。在背光图中,SIFT在x方向所得偏差量误差最大值为4.3 pixel,y方向误差最大值为2.1 pixel;本文算法在x方向误差最大值为1.6 pixel,y方向误差最大值为0.5 pixel。底光图中,ORB在x方向误差最大值为1.7 pixel,y方向误差最大值为0.7 pixel;本文算法在x方向误差最大值为0.6 pixel,y方向误差最大值为0.3 pixel。最终计算结果也表明,本文算法计算所得的位移补偿量比SIFT和ORB的结果误差更小,更趋近于真实偏差量。
本文提出了一种基于加速分割测试的特征点检测,利用熵值差法进行去伪点处理,并采用了一种新型二进制描述子及分块匹配策略在大输液异物检测中快速地补偿位移偏差。该算法在匹配准确率、鲁棒性及实时性能方面有着很好的综合性能,并且由于熵值去伪及分块匹配策略的应用,计算所得位移偏差量的解接近于真实偏差量,具有很好的工业应用前景。进一步提高算法的实时性能及提高匹配精度,将是下一步的研究重点。
[1] | 王耀南, 吴成中, 张辉, 等. 医药输液视觉检测机器人关键技术综述[J]. 机械工程学报, 2013, 49 (7) : 130-140. ( WANG Y N, WU C Z, ZHANG H, et al. Review on key technology of the machine vision inspection robot on pharmaceutical injection[J]. Journal of Mechanical Engineering, 2013, 49 (7) : 130-140. doi: 10.3901/JME.2013.07.130 ) |
[2] | 王耀南, 陈铁健, 贺振东, 等. 智能制造装备视觉检测控制方法综述[J]. 控制理论与应用, 2015, 32 (3) : 273-286. ( WANG Y N, CHEN T J, HE Z D, et al. Review on the machine vision measurement and control technology for intelligent manufacturing equipment[J]. Control Theory and Applications, 2015, 32 (3) : 273-286. ) |
[3] | LOWE D G. Distinctive image features from scale invariant key points[J]. International Journal of Computer Vision, 2004, 60 (2) : 91-110. doi: 10.1023/B:VISI.0000029664.99615.94 |
[4] | BAY H, ESS A, TUYTELAARS T, et al. Speeded-Up Robust Features (SURF)[J]. International Journal on Computer Vision and Image Understanding, 2008, 110 (3) : 346-359. doi: 10.1016/j.cviu.2007.09.014 |
[5] | 颜雪军, 赵春霞, 袁霞. 2DPCA-SIFT:一种有效的局部特征描述方法[J]. 自动化学报, 2014, 40 (4) : 675-682. ( YAN X J, ZHAO C X, YUAN X. 2DPCA-SIFT:An efficient local feature descriptor[J]. Acta Automatica Sinica, 2014, 40 (4) : 675-682. ) |
[6] | SEDAGHAT A, EBADI H. Remote sensing image matching based on adaptive binning SIFT descriptor[J]. IEEE Transactions on Geoscience and Remote Sensing, 2015, 53 (10) : 5283-5293. doi: 10.1109/TGRS.2015.2420659 |
[7] | CALONDER M, LEPETIT V, FUA P. BRIEF:binary robust independent elementary features[C]//Proceedings of the 11th European Conference on Computer Vision:Part IV. Berlin:Springer, 2010:778-792. |
[8] | VANDERGHEYNST P, ORTIZ R, ALAHI A. FREAK:fast retina keypoint[C]//Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2012:510-517. |
[9] | RUBLEE E, RABAUD V, KONOLIGE K, et al. ORB:an efficient alternative to SIFT or SURF[C]//Proceedings of the 2011 IEEE International Conference on Computer Vision. Washington, DC:IEEE Computer Society, 2011:2564-2571. |
[10] | 蒲兴成, 谭少峰, 张毅. 基于改进FAST算法的移动机器人导航[J]. 智能系统学报, 2014, 9 (4) : 419-424. ( PU X C, TAN S F, ZHANG Y. Research on the navigation of mobile robots based on the improved FAST algorithm[J]. CAAI Transactions on Intelligent Systems, 2014, 9 (4) : 419-424. ) |
[11] | 孟令江, 王挺, 姚辰. 野外环境下图像中坑区域的提取方法[J]. 计算机应用, 2016, 36 (4) : 1132-1136. ( MENG L J, WANG T, YAO C. Image segmentation method of pit area in wild environment[J]. Journal of Computer Applications, 2016, 36 (4) : 1132-1136. ) |
[12] | 杨作廷, 阮萍, 翟波. 基于图像熵的高动态范围场景的自动曝光算法[J]. 光子学报, 2013, 42 (6) : 742-746. ( YANG Z T, RUAN P, ZHAI B. Auto-exposure algorithm for scenes with high dynamic range based on image entropy[J]. Acta Photonica Sinica, 2013, 42 (6) : 742-746. doi: 10.3788/gzxb ) |
[13] | SMITH S M, BRADY J M. SUSAN:a new approach to low level image processing[J]. International Journal of Computer Vision, 1997, 23 (1) : 45-78. doi: 10.1023/A:1007963824710 |
[14] | DENG H, SUN X P, LIU M L, et al. Infrared small-target detection using multiscale gray difference weighted image entropy[J]. IEEE Transactions on Aerospace and Electronic Systems, 2016, 52 (1) : 60-72. doi: 10.1109/TAES.2015.140878 |
[15] | 卢鸿波, 孙愿, 张志敏. 采用旋转匹配的二进制局部描述子[J]. 中国图象图形学报, 2013, 18 (10) : 1315-1321. ( LU H B, SUN Y, ZHANG Z M. Binary local descriptor based on rotative matching[J]. Journal of Image and Graphics, 2013, 18 (10) : 1315-1321. ) |
[16] | 张恒, 刘大勇, 刘艳丽, 等. 融合深度信息的BRISK改进算法[J]. 计算机应用, 2015, 35 (8) : 2285-2290. ( ZHANG H, LIU D Y, LIU Y L, et al. Improved binary robust invariant scalable keypoints algorithm fusing depth information[J]. Journal of Computer Applications, 2015, 35 (8) : 2285-2290. ) |
[17] | CHUM O, MATAS J. Matching with PROSAC-Progressive sample consensus[C]//Proceedings of the IEEE Computer Society Conference on Computer Vision and Patten Recognition. Washington, DC:IEEE Computer Society, 2005, 2:220-226. |
[18] | 吴成中, 王耀南, 贺振东, 等. 基于机器视觉的注射液中不溶异物检测方法研究[J]. 仪器仪表学报, 2015, 36 (7) : 1451-1461. ( WU C Z, WANG Y N, HE Z D, et al. Research on foreign insoluble particulate detection method for medicinal solution based on machine vision[J]. Chinese Journal of Scientific Instrument, 2015, 36 (7) : 1451-1461. ) |