【信息科学与控制工程】
基于计算机视觉的测距技术对于自主移动系统的智能化具有重要意义[1]。目前研究较多的视觉测距技术[2-3]是双目与多目测距。双目和多目视觉测距的精度相对较高,但其仍存在一些问题:一是需要精确的配准,耗时的配准过程对实时视觉导航来说具有不可忽略的影响;二是要求基线和摄像机光轴严格地处于同一平面上,这使得摄像机的架设及测量平台生产制造的难度极大[4-5]。单目深度提取方法具有操作简单和成本低等优点,但是传统单目测距方法存在以下缺陷:需要固定参照物[6-10]、精度较低[11]、无法适应远距离测量场合等。
文献[12]采用人工标记法建立地图,利用单目相机采集图片分析对相机进行定位。文献[13]利用单目摄像机进行了视觉导航研究,该方法亦可应用在已知环境下移动机器人的目标识别及抓取。近年来,国内有学者提出一种基于单摄像机镜像的双目视觉系统[14],该方法试图融合单目与双目视觉测距的优点,然而存在以下问题:允许的图像视差减小了一半,本来应是受镜头畸变影响较小的图像中央区域反而变得不可利用。
基于以上所述,本文提出了一种基于特征尺寸成像变化规律的单目视觉测距算法。该算法不需要固定参照物,且测距精度优于传统测距方法。
如图1所示为相机小孔成像模型。O为光心,平面W经过特征点P1且平行于成像平面。P1M1为特征尺寸P1N在平面W上的像,为特征尺寸P1N在成像平面上的像,H为W与光轴的交点。令根据小孔成像原理,有:
(1)
图1 成像模型示意图
对式(1)两边取对数,得:
lnx′=lnS+lnf-lnL
(2)
焦距f不变,对式(2)两边微分,得:
(3)
式(3)中:为Z向平移项,由P1N沿Z轴移动造成的;与P1点离Z轴的距离及特征尺寸(定义为特征点之间的距离)P1N绕P1点的转动相关,且Z向的转动分量对成像尺寸S无影响。为了简化模型,规定测距方案包括:相机随特征点做一定范围内的随动,保证Z轴始终经过特征点P1,即特征点P1成像始终处在像素平面的中心,如图2所示。
图2 目标旋转对成像影响分析模型
由图2可知:
(4)
有:
(5)
将式(5)两边微分,然后同时除以式(6),可得式(7),将式(6)代入式(4)得式(7),即:
(6)
(7)
当L>>ρ时,且式(7)可化简为:
(8)
设目标上有一组特征点(P,N1,N2,…,Nm),其中点P为该组特征点的形心,当目标绕过P点某直线旋转时,PNk(k=1,2,…,m)与平面W的夹角在变化,并且夹角为k的函数,处在平面W不同侧的PNk所对应的αk变化量正负不同。从统计学的角度来看,当m足够大时,可认为式(9)成立,有:
(9)
因此有:
(10)
将dL看做相机与目标相对距离的变化量,用ΔL替代。同时用替代因此获得测距公式为:
(11)
以上测距方法可总结为以下步骤:
步骤1 控制相机始终对准目标图像最接近形心的特征点,命名为P,保证该特征点、相机成像中心与光心共线;
步骤2 以特征点P为一个端点,目标其他特征Nk为另一端点,计算PNk在像素平面上的像素距离及像素距离变化量,并根据相机内参求出成像平面上PNk大小,及相邻两幅图像PNk的变化量ΔPNk,即式(11)中的与
步骤3 根据式(11),利用相机-目标相对距离的变化量ΔL以及步骤2中的计算结果计算相机与目标之间的相对距离L;
步骤4 根据式(1)求出每个特征尺寸对应的Sk,比较Sk与L,若Sk>0.01L,将对应的特征点剔除,剩下的特征点重新组成特征点组;
步骤5 重复步骤3、步骤4,直至所有特征尺寸都满足Ski≤0.01Li(i表示第i次迭代),Li即为所求目标与相机之间距离。
拍摄目标为自然环境下实景,拍摄设备为配备不同焦距可调镜头的相机,拍摄相机固定在直线行驶的小车上,小车在平路上行驶,且小车上安装有加速度传感器。每次采集均对相机进行标定。具体试验参数如表1所示。
表1 图像采集试验参数
序号焦距/mm目标与相机距离1/m目标与相机距离2/m相机每米像素数115028032025002145180220250031351401602500412095105250051057585250069058622500785485225008803842250097029312500106019212500
数据采集完毕后,用Matlab对图片进行预处理。处理步骤参照第1节的测距方法总结,但由于本文中的特征采用Harris角点,为了方便读者阅读,重新梳理了测距算法步骤如下:
步骤1 首先利用Harris算法检测实景角点,作为特征点,检测出的特征点如图3所示。
图3 目标图像角点检测结果
步骤2 筛选两幅图像共有特征点,组成特征点组。计算特征点组的形心,选取离形心像素距离最小的特征点,取名为P。特征点组其他点命名为Nk(k=1,2,…),计算PNk在像素平面上的像素距离及像素距离变化量,并根据相机内参求出成像平面上PNk大小及相邻两幅图像PNk的变化量ΔPNk,即式(11)中的与
步骤3 根据式(11)及相机与目标相对距离的变化量ΔL以及步骤(2)中的计算结果,计算相机与目标之间的相对距离L;
步骤4 根据式(1)求出每个特征尺寸对应的Sk,比较Sk与L,若Sk>0.01L,将对应的特征点剔除,剩下的特征点重新组成特征点组;
步骤5 重复步骤3、步骤4,直至所有特征尺寸都满足Ski≤0.01Li(i表示第i次迭代),Li即为所求目标与相机之间距离。
试验结果如表2所示。
表2 每米2 500像素测距试验结果
序号目标与相机距离1/m目标与相机距离2/m单目视觉测距结果/m相对误差/%测距时间/μs文献[12]相对误差/%1280320314.4112.37042180220198.1010.17933140160152.148.785649510598.954.29435758578.224.310026586260.544.411047485249.863.811208384240.744.111009293130.856.2102110192121.0210.97504.9
由表2试验结果可知,受测距相机像素及特征点检测算法的限制,当距离L满足40 m<L<150 m时,文中的单目测距算法精度较高,系统相对误差在4.5%以下,小于传统单目测距相对误差4.9%[15];当L>150 m或L<30 m时,相对测距误差超过6.2%;所有测距时间均小于1 200 μs,满足一般情况下2 ms的实时性要求。原因分析如下:
1)当L>100 m时,随着L的变大,角点检测难度变大,检测到的角点数变少,进而导致∑Δαk与0有一定的差距,从而增大了单目测距算法的测距误差。为了减小误差,通过提高每米像素数的方法(每米像素数为4 000)对L在150~300 m的范围距离重新进行测距验证。结果表明,随着相机像素数的提高,可检测角点数量增加,进而提高了远距离测距精度,扩大了测距范围。试验具体结果如表3所示。
表3 每米4 000像素测距结果
序号目标与相机距离1/m目标与相机距离2/m单目视觉测距结果/m相对误差/%测距时间/μs1140160146.034.39542190210197.263.810063240260250.514.412064290310301.664.01311
2)当L<20 m时,ρ<0.01L的算法限制导致可选的角点减少,∑Δαk值分布较分散,降低了单目测距算法的测距精度,如表2所示。本文中的测距理论表明,若目标角点密集,即使近距离仍可检测到足够多的角点,测距精度依然可以保证。由此采用了具有尺度不变性的surf角点检测算法,并增大了测距距离。试验结果表明,改用surf角点检测算法,远距离测距精度较高,但由于surf实时性较差,导致整体测距时间变长。具体试验数据如表4所示。
表4 surf角点检测测距试验结果
序号目标与相机距离1/m目标与相机距离2/m单目视觉测距结果/m相对误差/%测距时间/μs1180220187.564.214502280320291.484.114513420480438.064.316504570630594.514.316705760840791.164.11750696010401001.284.317627126013401315.444.418508166017401731.384.319019215022502238.154.1195110265027502763.954.3200411315032503288.604.4231214365037503796.004.02541
采用了单目相机和加速度计的测距方案,通过建立相机-目标距离与目标特征尺寸成像的关系,利用目标特征尺寸成像相对变化量的统计特性及特征尺寸与相机-目标距离的比值关系,对距离输出进行估计并逐步修正。利用harris角点检测法和surf角点检测法分别验证了测距算法。测距试验表明:在不需要固定参照物的情况下,测距精度优于传统测距精度。基于harris角点检测的测距精度受距离限制较大,但实时性较好;基于surf角点检测的测距精度基本不受距离影响,但是实时性较差。下一步工作是研究开发同时具备尺度不变性和实时性且适合本文中单目测距算法的特征尺寸检测算法。
[1] 吴刚,唐振民.单目式自主机器人视觉导航中的测距研究[J].机器人,2010(6):828-832.
[2] 王元庆.双焦距立体视觉中的光学成像模型闭[J].光学技术,2007,33(6):935-937.
[3] HARTLEY R,ZISSERMAN A.Multiple view geometry in computervision[M].2 ed.Cambridge,UK:Cambridge University Press,2004.
[4] 刘威,魏存伟,赵逢,等.基于单目视觉的自车运动参数鲁棒估计[J].机器人,2009,31(1):20-24.
[5] 王荣本,李斌,储江伟,等.公路上基于车载单目机器视觉的前方车距测量方法的研究[J].公路交通科技,2001,18(6):94-98.
[6] YAMAGUCHI K,KATO N Y.Vehicle ego-motion esti-mation and moving object detection using a monocular camera[C]//Proc.of the IEEE International Conference on Pattern Recognition.Piscataway,NJ,USA:IEEE,2006:610-613.
[7] BOUGUET J Y.Visual methods for three-dimensional modeling[D].Pasadena,CA,USA:California Institute of Technology,1999.
[8] HEIKKILA J,SILVEN O.A four-step camera calibration proce-dure with implicit image correction[C]//Proc.of the Conference on Computer Vision and Pattern Recognition(CVPR’97),June 17-19,1997,San Juan,Puerto Rico,CA,USA:IEEE Computer Society,1997:1106-1112.
[9] DESOUZA G N,KAK A C.Vision for mobile robot navigation:A survey[J].IEEE transactions on Pattern Analysis and Machine Intellieence.2002.24(21):237-267.
[10] 赵天云,郭雷,张利川.基于单目视觉的空间定位算法[J].西北工业大学学报,2009,27(1):47-51.
[11] 石春琴,张丽艳,韦虎等.随机模式投影双目测量系统中的单目测量[J].光学精密工程,2010,18(1):257-264.
[12] ERIC K.Mobile robot localization using a single image[C]//Robotics and Automation,1989.Proceedings,1989 IEEE International Conference,1989:978-983.
[13] DAO N X,YOU B J,OH S R.Visual navigation using a single camera[C]//Proc.of the Computer Vision,1995.Proceedings,Fifth international Conference,1995:645-652.
[14] 张广军.机器视觉[M].北京:科学出版社,2005.
[15] 徐超,高敏,曹欢.单目图像中姿态角估计的坦克目标测距方法[J].光子学报,2015,44(5):1-8.
Citation format:XIANG Zhaoli, MA Baocheng.Research on Monocular Vision Ranging Method Based on Size Variation of Imaging[J].Journal of Ordnance Equipment Engineering,2020,41(2):148-151.