2. 火箭军驻第四研究院军事代表室, 西安 710025
2. Military Representative Office of the Rocket Force in the Fourth Research Institute, Xi'an Shaanxi 710025, China
特征的检测与描述是计算机视觉领域许多问题的基础,在诸如跟踪、视觉里程计以及视觉导航等应用背景,寻求快速而鲁棒的检测描述方法是实现对帧频实时处理的关键。
在特征检测方面,类似高斯差分(Difference of Gaussian, DoG)的斑点检测子具有尺度不变性,但是计算量较大,因此计算量较小的角点检测在实时性系统中得到了广泛的应用。在特征描述方面,目前的描述子主要有两个系列:梯度直方图方法和二进制方法。基于梯度直方图的方法具有代表性的是尺度不变特征变换(Scale Invariant Feature Transform, SIFT)[1],其特点是具备较强的鲁棒性,但伴随着巨大的计算负担。后来在降低计算成本方面出现了加速健壮特征(Speeded Up Robust Features, SURF) [2],计算量有所减小但依然无法满足实时性的要求;另外还存在一种旨在利用图形处理器(Graphics Processing Unit, GPU)来提高计算速度的方法[3],但实现途径较为复杂。相反,近年来二进制描述子得到了较快发展[4-8],仅通过比对图像块的灰度来进行二进制编码,大大降低了计算量并节省了存储成本,已经在实时的视觉导航系统上得到了应用[9-11]。文献[12]对二进制稳健基元独立特征(Binary Robust Independent Elementary Features, BRIEF)、快速定向旋转BRIEF(Oriented fast and Rotated BRIEF, ORB)以及二进制鲁棒不变尺度关键点(Binary Robust Invariant Scalable Keypoint, BRISK)三种描述子的性能进行了评估。针对BRIEF不具备旋转不变性的问题,ORB引进了在关键点附近图像块计算灰度质心[5]的旋转机制。文献[13]采用了一种直接将特征检测和描述结合的方式,将关键点检测所具备的旋转不变性耦合到描述子上,利用这种方法获取的旋转不变性优于ORB,但是计算代价较大[14]。针对二进制描述子所不具备的尺度不变性,主流方法是在图像金字塔的尺度空间上进行加速段测试特征(Features from Accelerated Segment Test, FAST)角点检测,对尺度不变性较好的关键点进行描述,具有快速性和鲁棒性相结合的优势[5-6]。针对像素点对的灰度比对结果易受噪声和局部表观变化影响的问题,文献[14]提出了学习安排的三元组(Learned Arrangements of Three Patch Codes, LATCH)描述子,将像素点对的比对转变为三元组图像块的F范数的比对,在保持二进制描述子优势的同时,缩小了与基于直方图的描述子在鲁棒性方面的差距,并将其应用于三维重构中。但LATCH描述子不具备尺度不变性,并且其旋转不变性需要特征检测子的辅助。
针对上述问题,本文将ORB算法中的多尺度FAST角点检测和旋转机制与LATCH描述进行改进结合,使得提出的ORB-LATCH算法在保持二进制描述子优势的同时具备较强的鲁棒性。首先,对提出的ORB-LATCH算法进行运行时间分析,其次在Mikolajczyk标准数据集上进行尺度不变性和旋转不变性效果分析,最后在KITTI数据集上进行环境适应性验证。
1 LATCH二进制描述子通常二进制描述子由三部分组成:抽样模式、方向补偿以及抽样比对,目前的几种二进制描述子在抽样的策略和辨别能力上有所不同。
先前的二进制描述子以检测到的特征点为中心选取一定大小的图像块W,一个二进制描述子bW由T对抽样坐标序列
$ f\left( {W,{s_t},{\sigma _t}} \right) = \left\{ \begin{array}{l} 1\;\;\;,\;W\left( {{p_{t,1}},{\sigma _{t,1}}} \right) > W\left( {{p_{t,1}},{\sigma _{t,1}}} \right)\\ 0,\;\;其他 \end{array} \right. $ | (1) |
其中:W(pt, 1, σt, 1)(W(pt, 2, σt, 2))是图像块W中坐标pt, 1(pt, 2)经标准差σt, 1(σt, 2)高斯滤波后的值。
最终的二进制串bW由式(2) 来定义:
$ {b_W} = \sum\limits_{1 \le t \le T} {{2^t}f\left( {W, {s_t}, {\sigma _t}} \right)} $ | (2) |
正如引言中所述,这种对像素直接比对方法易受噪声和局部表观变化的影响。进行预高斯光滑可以在一定程度上使其得到缓解,但是这也意味着存在特征较多的高频区域信息的缺失。LATCH引进了三元组像素块的比对方法,从而确定二进制中相应位的取值。考虑t=1, 2, …, T个三元组序列,S转化为
$ g\left( {W,{{\hat s}_t}} \right) = \left\{ \begin{array}{l} 1,\;\left\| {{P_{t,a}} - {P_{t,1}}} \right\|_F^2 > \;\left\| {{P_{t,a}} - {P_{t,2}}} \right\|_F^2\\ 0,\;\;\;其他 \end{array} \right. $ | (3) |
在运行时间上,LATCH描述子保持了二进制描述子的优势,比基于直方图描述子快一个数量级;在鲁棒性方面,LATCH在大多数数据集上的效果优于其他二进制描述子,缩小了与基于直方图描述子的差距[14]。
2 ORB-LATCH改进算法设计LATCH保持了二进制描述子的运算优势,同时缩小了与基于直方图的描述子在鲁棒性上的差距。但是LATCH描述子的构造设计决定了其旋转不变性需要检测子的辅助,且不具备尺度不变性。针对此问题,本文提出一种具备旋转和尺度不变性的ORB-LATCH改进算法。
2.1 旋转不变性在方向补偿上,采用ORB中灰度质心的方法来确定方向。以特征点为中心和坐标原点,在其邻域内计算图像块的灰度质心,图像块的矩为:
$ {m_{pq}} = \sum\limits_{x, y} {{x^p}{y^q}I\left( {x, y} \right)} $ | (4) |
其中I(x, y)是点(x, y)处的灰度值.
利用矩可以由式(5) 计算图像块的灰度质心:
$ C = \left( {{m_{10}}/{m_{00}}, {m_{01}}/{m_{00}}} \right) $ | (5) |
构造从特征点O到质心C的矢量,从而图像块的方向可以由式(6) 给出:
$ \theta = {\mathop{\rm atan}\nolimits} 2\left( {{m_{01}}, {m_{10}}} \right) $ | (6) |
这种简单而有效的灰度质心方法可以对大量的图像块进行实时的旋转操作,通过计算图像块的方向将图像块旋转到规范的方向,而后对其进行描述,从而获取旋转不变性。
2.2 尺度不变性在特征检测方面,角点检测因计算性能的优越得到了广泛的应用,其中FAST角点检测在尺度不变性和计算效率上最具优势[15]。本文采用文献[15]提出的性能优越的FAST-9角点检测算法,首先检测图像中每个像素p周围参考像素xs(s∈{1, 2, …, 16})的灰度值,如图 1(a)所示。
按照式(7) 将像素p分为三类:
$ {L_{p \to {x_s}}} = \left\{ {\begin{array}{*{20}{c}} {d, \;\;\;\;\;\;\;\;{I_{p \to {x_s}}} \le {I_p}-th\;\;\;\;\;\;\;\;\;\;\;\;}\\ {a, \;\;\;{I_p}-th < {I_{p \to {x_s}}} < {I_p} + th\;\;\;\;\;}\\ {b, \;\;\;\;\;\;\;\;{I_p} + th < {I_{p \to {x_s}}}\;\;\;\;\;\;\;\;\;\;\;\;} \end{array}} \right. $ | (7) |
其中th为检测阈值。
若至少有9个邻接的参考像素检测结果均为d(b),则p为FAST角点记为c。在实际运算中,优先检测xs(s∈{1, 5, 9, 13}),其中必须有两个相邻像素均为d(b)类型,否则拒绝继续比较剩余的参考像素。文献[15]中直接用像素灰度值来构建特征矢量,而本文中采用了一种改进的差分FAST特征(Differential FAST Feature, DFF)[16],该特征在保持运算效率的同时,具备一定的光照不变性和噪声适应能力,如图 1(b)所示,提取角点像素c周围20个特征像素xl(l∈{1, 2, …, 20})的灰度值,并分别与像素c相减构成差分特征Fc,可用式(8) 表示:
$ {\mathit{\boldsymbol{F}}_c} = {I_c}-{I_{c \to xl}};\;\;\;l \in \left\{ {1, 2, \cdots, 20} \right\} $ | (8) |
在应用FAST时,检测阈值th是人为设定的,可以通过实验调整th值来获取适当的FAST角点数量,用于增强后续算法的鲁棒性。针对FAST不能生成多尺度的特征,本文采用构建图像的尺度金字塔,并在尺度空间的每一层上生成FAST特征的方法。FAST的快速性优势使其能够满足在金字塔不同的尺度空间上进行角点检测,对尺度不变性较好的特征再进行描述[5-6]从而实现尺度的不变性。
2.3 算法流程设计本文提出的ORB-LATCH特征检测和描述改进算法流程如图 2所示,以实现检测和描述的优势互补以及快速性和鲁棒性的有效结合。
在多尺度FAST角点检测上,对输入图像进行金字塔尺度空间的构建,而后对每一图层进行FAST角点检测和尺度评判与特征的选取,最后针对FAST对图像的边缘特征有较大响应的问题,本文采用Harris方法[17]对FAST检测到的关键点进行排序。对于预定数目N个关键点,首先设定能够获得关键点数目比N多的较低阈值,而后根据Harris方法来挑选前N的关键点。
在二进制描述阶段,首先采用灰度质心方法对特征周围固定大小的图像块进行方向补偿,而后对旋转后的图像块进行抽样和三元组的选取比对,从而为特征的匹配构造出二进制描述子,为后续的特征匹配奠定基础。
3 实验结果与分析实验测试设备是DELL OPTIPLEX 7010台式电脑(Intel Core i5-3470 CPU,主频3.20 GHz,4.00 GB内存),64位的Windows7操作系统和Ubuntu 14.04操作系统。对于LATCH描述子采用文献[14]所采用的32位、48×48的提取窗口以及7×7的元组块,该尺寸选取兼顾了计算量和精度两个方面,也是OpenCV3.1.0中所采用的参数设置。同样,对其他的特征检测子和描述子也均采用其所提出的原始版本以及OpenCV提供的C++默认参数设置。
3.1 运行时间分析由于算法的运行时间受计算机性能影响,本文采用了在Windows7+VS 2015和Ubuntu 14.04+Cmake两种模式下进行运算时间分析,从而客观地对比各算法的效率。
在Graffiti数据集上规范的640×480图像上进行检测和描述(1 000个特征点)的时间计时,运行时间如表 1所示。由表 1对比数据可知,在本文的实验条件下ORB-LATCH改进算法保持了角点检测和二进制描述的效率优势,比传统的SIFT[1]和SURF[2]方法快一个数量级,基本满足实时性的要求。
对于改进算法ORB-LATCH的精度和应用效果分析,本文采用标准的Mikolajczyk公共数据集[18]和KITTI数据集[19-20]来对算法进行评估。Mikolajczyk数据集由八组图像序列组成,每组图像序列包含六个具有不同表观变化的图像,表观变化包括尺度和旋转(Boat集和Bark集)、视角变化(Graffiti集和Wall集)、照明变化(Leuven集)、JPEG压缩(UBC集)以及图像模糊(Bikes集和Trees集)。KITTI数据集包含有车载双目视觉数据集,能很好地对算法进行室外环境适应性考量。
精度和适应性分析实验包含两部分:首先针对改进算法ORB-LATCH的尺度不变性和旋转不变性,通过绘制召回率相对1-准确率曲线图与ORB算法和HARRIS-LATCH算法进行对比分析验证;其次针对ORB-LATCH算法室外环境适应性进行分析,与SIFT、SURF、ORB算法在KITTI-01数据集上进行内点率对比分析。
采用Mikolajczyk数据集中存在尺度和旋转变化的Boat集和图像模糊的Bikes集,对每个集合下第一张图像与剩下的五张图像进行特征检测、描述与匹配,根据已知的单应性绘制召回率相对1-准确率曲线,实验结果如图 3所示。
由图 3可以看出,在尺度和旋转不变性方面,本文提出的ORB-LATCH算法在相同的准确率下其召回率高于ORB算法以及文献[15]所采用的HARRIS-LATCH算法,这主要是因为:与ORB算法相比,本文算法的三元组F范数比对具备良好的抗干扰和应对局部表观变化的能力;与HARRIS-LATCH算法相比,本文算法具备旋转机制,从而使得改进算法具备较好的尺度和旋转不变性,缩小了与传统的SIFT和SURF算法之间在鲁棒性上的差距。在图像模糊上,本文提出的ORB-LATCH算法在Bikes集上平均召回率为0.43,此结果优于传统的SIFT和SURF算法,表明在运动模糊方面本文算法独具优势,能够更好地应对实际应用中由载体运动造成的图像模糊。
为检验ORB-LATCH算法室外环境适应性,随机抽取KITTI-01数据集上相邻的两幅图像,采用暴力匹配(Brute Force Matching, BFM)法进行特征的匹配,匹配结果如图 4所示。而后利用随机抽样一致性(Random Sample Consensus, RANSAC)算法来寻求图像间的单应性和匹配的最大的内点集,内点率结果如表 2所示。
从图 4中可以看出, 与ORB和ORB-LATCH算法相比,SIFT和SURF算法特征的分布均匀性较好,而本文的ORB-LATCH算法比ORB算法匹配要更加整齐,这也显示出匹配精度的优劣;表 2中的结果显示,在相同匹配策略和描述点数的条件下,本文提出的ORB-LATCH算法的内点数高于目前主流的ORB算法,匹配的准确性更接近于基于直方图的特征点描述法,可为后续步骤提供更加准确的匹配结果。
4 结语本文提出的ORB-LATCH算法将ORB算法的特征检测和LATCH描述进行了优势互补,实现了快速性和鲁棒性的有效结合。实验结果表明:本文算法与ORB算法和HARRIS-LATCH算法相比,其精度更高;与传统的SIFT和SURF算法相比,本文算法保持了角点检测和二进制描述的运算耗时小的优势的同时提高了鲁棒性。所提算法可以满足室外复杂环境下实时并精确地进行特征检测和描述的要求,为视觉里程计系统中运动信息解算环节提供精度更好的条件,下一步可以从特征的分布和不确定性度的分析、特征匹配策略等方面进行研究。
[1] | LOWE D G. Object recognition from local scale-invariant features[C]//Proceedings of the Seventh IEEE International Conference on Computer Vision. Washington, DC:IEEE Computer Society, 1999, 2:1150-1157. |
[2] | BAY H, TUYTELAARS T, GOOL L V. SURF:speeded up robust features[C]//Proceedings of the 9th European Conference on Computer Vision, LNCS 3951. Berlin:Springer, 2006:404-417. |
[3] | SINHA S N, FRAHM J M, POLLEFEYS M, et al. GPU-based video feature tracking and matching, TR 06-012[R]. Chapel Hill, NC:The University of North Carolina at Chapel Hill, 2006. |
[4] | CALONDER M, LEPETIT V, STRECHA C, et al. BRIEF:binary robust independent elementary features[C]//Proceedings of the 2010 European Conference on Computer Vision, LNCS 6314. Berlin:Springer, 2010:778-792. |
[5] | 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. |
[6] | LEUTENEGGER S, CHLI M, SIEGWQRT R Y. BRISK:binary robust invariant scalable keypoints[C]//Proceedings of the 2011 IEEE International Conference on Computer Vision. Washington, DC:IEEE Computer Society, 2011:2548-2555. |
[7] | ORTIZ R. Freak:fast retina keypoint[C]//CVPR'12:Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2012:510-517. |
[8] | RUSINOL M, CHAZALON J, OGIER J M, et al. A comparative study of local detectors and descriptors for mobile document classification[C]//Proceedings of the 2015 13th International Conference on Document Analysis and Recognition. Washington, DC:IEEE Computer Society, 2015:596-600. |
[9] | MUR-ARTAL R, TARDOS J D. Fast relocalisation and loop closing in keyframe-based SLAM[C]//Proceedings of the 2014 IEEE International Conference on Robotics and Automation. Piscataway, NJ:IEEE, 2014:846-853. |
[10] | MUR-ARTAL R, MONTIEL J M M, TARDOS J D. ORB-SLAM:a versatile and accurate monocular SLAM system[J]. IEEE Transactions on Robotics, 2015, 31(5): 1147-1163. doi: 10.1109/TRO.2015.2463671 |
[11] | MUR-ARTAL R, TARDOS J D. ORB-SLAM2:an open-source SLAM system for monocular, stereo and RGB-D cameras[EB/OL].[2016-10-23]. http://xueshu.baidu.com/s?wd=paperuri%3A%28b8dc1828fec6e423409fcd44fbc2e89a%29&filter=sc_long_sign&tn=SE_xueshusource_2kduw22v&sc_vurl=http%3A%2F%2Farxiv.org%2Fpdf%2F1610.06475.pdf&ie=utf-8&sc_us=6804051625971623844. |
[12] | HEINLY J, DUNN E, FRAHM J M. Comparative evaluation of binary features[C]//Proceedings of the 2012 12th European Conference on Computer Vision, LNCS 7573. Berlin:Springer, 2012:759-773. |
[13] | LEVI G. Adding rotation invariance to the BRIEF descriptor[EB/OL]. [2016-10-23]. https://gilscvblog.wordpress.com/2013/08/18/a-short-introduction-to-descriptors/. |
[14] | LEVI G, HASSNER T. LATCH:learned arrangements of three patch codes[C]//Proceedings of the 2016 IEEE Winter Conference on Applications of Computer Vision. Washington, DC:IEEE Computer Society, 2016:1-9. |
[15] | ROSTEN E, PORTER R, DRUMMOND T. Faster and better:a machine learning approach to corner detection[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2010, 32(1): 105-119. doi: 10.1109/TPAMI.2008.275 |
[16] | 王蒙, 戴亚平, 王庆林. 一种新的FAST-Snake目标跟踪方法[J]. 自动化学报, 2014, 40(6): 1108-1115. ( WANG M, DAI Y P, WANG Q L. A novel FAST-snake object tracking approach[J]. Acta Automatica Sinica, 2014, 40(6): 1108-1115. ) |
[17] | HARRIS C, STEPHENS M. A combined corner and edge detector[EB/OL]. [2016-10-23]. http://www.rose-hulman.edu/class/cs/csse461/handouts/Day29/avc-88-023.pdf. |
[18] | MIKOLAJCZYK K, SCHMID C. A performance evaluation of local descriptors[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2005, 27(10): 1615-1630. doi: 10.1109/TPAMI.2005.188 |
[19] | GEIGER A. Are we ready for autonomous driving? The KITTI vision benchmark suite[C]//Proceedings of the 2012 IEEE Conference on Computer Vision and Pattern Recognition. Washington, DC:IEEE Computer Society, 2012:3354-3361. |
[20] | GEIGER A, LENZ P, STILLER C, et al. Vision meets robotics:the KITTI dataset[J]. International Journal of Robotics Research, 2013, 32(11): 1231-1237. doi: 10.1177/0278364913491297 |