网站首页  词典首页

请输入您要查询的论文:

 

标题 机器人双目测距算法研究
范文

    郭攀 杜鸿

    

    

    

    摘要:机器人的研究是当今人工智能领域的热点之一,而双目视觉又是机器人研究领域的热点之.。文章对机器人双目视觉测距避障的实现过程和原理进行介绍。其中特征的提取与匹配是实现双目测距的核心和难点,匹配算法的选择和实现将决定匹配后测距的精确与否。文章提出一种基于特征点的立体匹配算法的融合实现方案,最终证明了该算法的有效性和可行性。

    关键词:双目视觉;特征提取;双目标定;立体匹配

    随着人工智能的热潮再次袭来,人们对于许多行业再次进行了深入的探索。比如汽车的自动驾驶技术、机器人的拟人化研究、智能语音交互等。而机器人的研究是其中的热点之一,怎样实现机器人的拟人化行为如行走避障、负重搬运等成为研究的热点。

    本文针对机器人双目视觉的测距算法进行了相应的研究,提出了一种融合性的立体匹配测距算法。

    1 双目摄像头的测距原理

    用人的双眼两眼球间距称为眼基线去观察客观的三维世界的景物,由于几何光学投影,离观察者不同距离的点在左右两眼视网膜上的构像能产生生理视差,称为双目视差。它反映了客观景物的深度。人能有深度感知,就是因为有了这个视差,再经过大脑的加工形成的。基于视差理论的双目立体视觉,就是运用在基线两端的两个摄像机对同一景物成像,获得景物的立体图像对,通过各种算法匹配出同名像点,从而计算出视差,然后采用基于三角测量的方法恢复深度信息[1]。

    双目摄像头的测距原理如图1所示。

    其中:Ol和Or分别为左右摄像头的光心,f为摄像头的焦距,T为光心间的距离,P为空间中的一点,Xl和Xr分别为P点在左右成像平面上的点;d=Xl-Xr则为视差,最终Z即为所求的距离,从而实现点的三维信息恢复。

    通过三角形相似原理可得距离公式(1)如下:

    Z=

    Tf

    (1)

    T-d

    其中:T的距離是自己两个摄像头之间的距离,可以通过物理测量得到;f是摄像头的焦距,其值可以通过后续的摄像头的标定得到;故最重要的是要测出视差d,下面将给出具体的实现方法。

    2 摄像头的标定

    在摄像瞬间,物点、摄像机透镜中心和像点应处在一条直线上,但因摄像机物镜畸变的影响,物点在像片中的像点位置发生了位移,偏离了三点共线条件。所以,利用像片对目标进行识别前应进行预处理以消除物镜畸变的影响。这里利用棋盘进行矫正,这是因为棋盘的角点(即特征点)明显,矫正简单易行。矫正过程和得出数据如图2所示(上下摄像头一样)。

    这样的图片共14张(不同角度),通过OpenCV和MATLAB处理后得到数据,处理时注意棋盘的内点数,本图片为6×6共36个内角点。左右摄像头相同,最终一起测量,得到的结果如图3所示。

    其中内部参数:Focal Length为焦距、Principal point为主点、Skew为扭曲因子、Distortion为畸变系数。

    外部参数:Rotation vector为平移向量、Translationvector为转移向量[2]。

    到这一步就测出了公式(1)中的焦距f了,而T可以物理测量,相当于已知,接下来得出视差d就可以测出距离。

    3 特征提取与匹配

    特征提取一般分为轮廓和点两个方面,这里要进行点的匹配与距离测算,故选用特征点的提取方式。特征提取的主流算法一般有3种:SIFT,SURF,ORB等特征点提取算法。由于SURF是SIFT的改进版,故这里只研究SURF和ORB算法[3]。

    3.1 SURF算法

    SURF算法在积分图像上使用了盒子滤波器对二阶微分模板进行了简化,从而构建了Hessian矩阵元素值,进而缩短了特征提取的时间,提高了效率。其中SURF算法在每个尺度上对每个像素点进行检测,其近似构建的Hessian矩阵及其行列式的值分别为:

    \(H_{approx)=\begin{bmatrix}D_{xx)(\sigma) &D;_{xy)(\sigma)\\D_{xy) (\sigma)&D;_{yy) (\sigma)\end{bmatrix)\)

    \(c(X,y,\sigma)=D一{xx)D一{yy)-(0.9D一{xy))^2\)

    其中\fD一{xx),D一{xy)\)和\(D一{yy)\)为利用盒子滤波器获得的近似卷积值。如果\(c(X,y,\sigma)\)大于设置的门限值,则判定该像素点为关键字。然后与SIFT算法近似,在以关键点为中心的\(3\times3\times3\)像素邻域内进行非极大值抑制,最后通过对斑点特征进行差值运算,完成了SURF特征点的精确定位。

    而SURF特征点的描述,则也是充分利用了积分图,用两个方向上的Harr小波模板来计算梯度,然后用一个扇形对邻域内点的梯度方向进行统计,求得特征点的主方向。

    3.2 0RB算法

    ORB特征是将FAST特征点的检测方法与BRIEF特征描述子结合起来,并在它们原来的基础上做了改进与优化。首先,它利用FAST特征点检测的方法来检测特征点,然后利用Harris角点的度量方法,从FAST特征点中挑选出Hams角点响应值最大的NN个特征点。其原理如下:

    (1)构造金字塔,在每层金字塔上采用Fast算法提取特征点,采用Harris角点响应函数,按角点响应值排序,选取前N个特征点。

    (2) oFast:计算每个特征点的主方向,灰度质心法,计算特征点半径为r的圆形邻域范围内的灰度质心位置。从中心位置到质心位置的向量,定义为该特征点的主方向。

    定义矩的计算公式,x,y∈[-r,r]:

    rBrief:为了解决旋转不变性,把特征点的Patch旋转到主方向上(steered Brief)。通过实验得到,描述子在各个维度上的均值比较离散(偏离0.5),同时维度间相关性很强,说明特征点描述子区分性不好,影响匹配的效果。论文中提出采取学习的方法,采用300 k个训练样本点。每一个特征点,选取Patch大小为wp=31,Patch内每对点都采用wt=5大小的子窗口灰度均值做比较,子窗口的个数即为N=(wp-wt)×(wp -wt),从Ⅳ个窗口中随机选两个做比较即构成描述子的一个bit,论文中采用M-205 590种可能的情况:

    (1)对所有样本点,做M种测试,构成M维的描述子,每个维度上非1即0。

    (2)按均值对M个维度排序(以0.5为中心),组成向量T。

    (3)贪婪搜索:把向量T中第一个元素移动到R中,然后继续取T的第二个元素,与R中的所有元素做相关性比较,如果相关性大于指定的阈值Threshold,抛弃T的这个元素,否则加入到R中。

    (4)重復第3个步骤,直到R中有256个元素,若检测完毕,少于256个元素,则降低阈值,重复上述步骤。

    综上所述:(1)尺度、旋转不变性(ORB算法在尺度方面效果较差)。(2) ORB较快,SURF运行速度大约为SIFT的3倍,ORB是sift的100倍,是surf的10倍。(3) SURF的鲁棒性较好;由于测量的实时性较强,故对于计算速度要求较高。因此,比较后最终选择基于ORB的特征点提取与匹配算法。

    4 实验结果

    实验环境:在实验室条件下实验桌上进行。

    实验设备:摄像头两个、计算机一台、仪表。

    实验平台:visual studi02013,OpenCV, MATLAB。

    如图3所示,在基于ORB算法前提下,进行提取匹配后如上图,特征点匹配杂乱不准确;在用Ransac算法和ORB算法融合优化后为下图,此时匹配准确,且误差小。最终能相应的测出视差d,最后根据匹配的特征点测出相应的数据如表l所示。

    通过表1可知,特征点的匹配测距实现误差允许范围内的准确测量,只有少数点会出现较大误差,证实了ORB和Ransac融合算法的可行性。

    5 结语

    本文对于双目视觉测距的流程进行了较为详细的描述,通过对几种不同算法的性能和特点的对比和融合,实现了对于特征点的较为准确的匹配,从而计算出视差,最终计算出实际距离。后续研究将对匹配算法进行进一步融合测试以提高测试的准确率,减小测量误差。

    [参考文献]

    [l]于仕琪,刘瑞祯.学习Open CV(中文版)[M]北京:清华出版社,2009.

    [2]马颂德,张正友计算机视觉:计算理论与算法基础[M].北京:科学出版社,1998.

    [3]PAPADAKIS N, CASELLES V.Multi-label depth estimation for graph cuts stereo problems[J].Journal of Mathematical Imaging&Vision;, 2010 (1): 70-82.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2024/12/22 20:59:44