APP下载

基于ORB算法的双目视觉目标定位研究

2018-06-27王欢杜鸿

无线互联科技 2018年5期
关键词:双目定位

王欢 杜鸿

摘 要:双目视觉定位是模仿人类的双目,从而获得目标物体的形状、位置、颜色等信息。文章通过对ORB和SIFT算法的原理进行研究,得出了ORB与SIFT算法的优缺点,并且根据应用的具体场景,选择了ORB算法提取目标的特征点并进行立体匹配,最终完成了目标的定位。

关键词:双目:ORB; SIFT;定位

ORB算子是将r-BRIEF特征描述子和o-FAST特征点提取算法结合以后所提出的算法,它由Rublee等在2011年提出。OBR算法主要的改进是在FAST算子特征检测的基础上增加了方向特征,除此之外,该算法将r -BRIEF描述符在点对集矩阵的基础上增加了旋转矩阵R,所以r -BRIEF描述符具有了旋转不变性的特性;此外,ORB算法具有光照、旋转、平移的不变特性。

1 0RB算法原理

1.1 0-FAST角点特征校测

在特征检测部分,该算法运用的是FAST算子,但是原来的算法没有方向性不变的特点,所以o-FAST算法对其进行了改进,使它具有了方向性。ORB算法使用的是FAST算法提取的特征点,实验中使用的FAST-9的算法,得到了很好的结果。由于边缘位置对FAST算法得到的特征点有很大的影响,因此该算法使用了Harris角点检测方法对于得到的特征点进行排序,取前N个较好的角点作为特征点。FAST算法是一种非常快的提取特征点的方法,但是对于这里来说,有两点不足:(1)提取到的特征点没有方向。(2)提取到的特征点不满足尺度变化。针对特征点不满足尺度变化,SIFT算法建立了尺度图像金字塔,通过在不同尺度下的图像中提取特征点以达到满足尺度变化的效果[1]。针对提取到的特征点没有方向的问题,Rosin提出了“intensity centroid”的方法确定了特征点的方向。该思想首先把特征点的邻域范围看成一个patch,然后求取这个patch的质心,最后把该质心与特征点进行连线,求出该直线与横坐标轴的夹角,即为该特征点的方向,Rosin提出了如下公式:

然后求取向量OC的方向,同时如果把x,y的范围保持在[-r,r]之间(r为该特征点邻域的半径),以特征点为坐标原点,则得到的方向角为θ,用向量OC的方向表示FAST关键的方向角为:

θ=α tan2(m01,m10

(3)

αtan2的取值范围在(-π,π]。

1.2 r-BRIEF特征描述符

ORB算子在特征描述部分采用的是基于BRIEF算子的改进算法。BRIEF算子用二进制串描述局部特征,该方法的好处是:(1)很少的bit就能描述独特的性质。(2)可以用汉明距离计算两个二进制串之间的特征,计算速度快。在实际应用中的好处是:算得准、算得快、省内存。

ORB算子选用的是256 bits的描述子,该算法先用积分图像法对图形进行平滑处理,然后再进行图像的特征描述。为了计算BRIEF算法的入方向特征,需要将FAST检测的特征点集改写为矩阵的形式。对于一个n比特的测试点集(x,y),定义一个2n的矩阵S

根据FAST得到的方向角,可以计算出它所对应的旋转矩阵Rθ。通过该旋转矩阵可以得到具有方向特性的测试点集Sθ=RθS。则R-BRIEF的描述子就可以表示为:

BRIEF算子,它的实现步骤大致如下:(1)取目标像素点一定范围内的领域,一般9X9。(2)对该领域进行高斯模糊处理,一般选核参数σ=2。(3)以满足高斯分布的方式在该领域内随机选取Ⅳ组像素点对,比较这两个像素点的灰度值大小,x>y则返回1,x

2 0RB与SIFT算法的比较

SIFT特征是圖像的局部特征,其对旋转、尺度缩放、亮度变化保持不变性,对视角变化、仿射变换、噪声也保持一定程度的稳定性。SIFT特征描述符由特征点规定的半径r长度的圆邻域内像素点的梯度方向信息组成。SIFT在计算特征描述前,首先确定邻域半径大小,可以按照式(6)来确定圆半径的长度:

现在通过图示说明SIFT的梯度方向。如图1所示,它所表示的区域为8×8,然后把区域分为4个4X4的子区域。图左部分的中央为当前关键点的位置,每个小格代表关键点邻域所在尺度空间的一个像素,利用公式求得每个像素的梯度幅值与梯度方向,箭头方向代表该像素的梯度方向,箭头长度代表梯度模值,然后用高斯窗口对其进行加权运算。图中圆圈代表高斯加权的范围(越靠近关键点的像素梯度方向信息贡献越大)。然后在每4X4的小块上计算8个方向的梯度方向直方图,绘制每个梯度方向的累加值,即可形成一个种子点[2]。

SIFT算子为使特征描述符具备旋转不变性,算法需要将特征点所在区域坐标系进行旋转,从而使特征点主方向和横坐标的正方向一样(见图2)。

在上节中已经阐述了ORB算法原理,ORB算法具备旋转、光照、平移不变性等特征,关键是它的运算速度比SIFT算法提升了很多。但是ORB算法的缺点是不具有尺度不变性特征。SIFT算法满足尺度不变性,所以在图像尺度发生变化的环境下,ORB算法效果与SIFT算法的效果相差很多。

3 实验结果与分析

在提取物体的特征点之前,需要先对摄像头进行标定,校正图像,得到摄像机的内外参数。接着提取图像的特征点,进行左右摄像头的特征点匹配,最后根据双目形成的视差就可以得到目标物到摄像头的距离[3]。

摄像头标定采用标定板23 mmX23 mm,提取标定板的角点,如图3所示。通过标定原理计算出双目摄像头的焦距、畸变、旋转矩阵和平移向量等参数(见图4)。

得到了摄像机的参数之后,左右摄像头的图像存在畸变,而且左右图像中的对应点不在一个平面上,所以需要图形校正,如图5所示。

将图像校正完成后,使用ORB提取图形的特征点,然后计算左右图形的匹配点。由于存在无匹配,所以使用RANSAC算法去除误匹配,如图6所示。

在经过了摄像机标定,图像校正,图像特征点的提取与匹配后就可以计算出目标到摄像头的距离,如表1所示。

从表1可以得出结论,通过左右图像每对匹配的特征点可以计算出摄像机到被测物的距离。在计算中,将物体的全部特征点的距离平均值为物体被测的距离。从表中可以看出,测量距离越大,作误差越大。而产生误差的因素,与摄像机的标定参数,无匹配的特征点有关。

4 结语

首先经过摄像机的标定,图像的校正,得到了可以进行双目定位的图像,在通过ORB算法提取出了图像的特征点,并且根据测距原理,计算出了目标到摄像机的距离。最后分析了产生误差的原因。

[参考文献]

[1]ROSINP L.Measuring comer properties[J].Computer Vision and Image Understanding, 1999(2):291-307.

[2]王昌盛.基于ORB算法的双目视觉测量研究[D]晗尔滨:哈尔滨工业大学,2015.

[3]白明,庄严,王伟.双目立体匹配算法的研究与进展[J]控制与决策,2008(7):721-729.

猜你喜欢

双目定位
定位的奥秘
《导航定位与授时》征稿简则
Smartrail4.0定位和控制
基于双目测距的卡尔曼滤波船舶轨迹跟踪
双目视觉运动目标跟踪定位系统的设计
找准定位 砥砺前行
基于HALCON和VC++的双目机器人织物抓取系统设计
基于RFID的室内无线定位识别系统
基于双目视觉图像的长度测量方法
青年择业要有准确定位