孙少杰,杨晓东
(海军潜艇学院,山东 青岛 266042)
基于计算机视觉的目标方位测量方法*
孙少杰,杨晓东
(海军潜艇学院,山东青岛266042)
摘要:以显著性标志物中的关键点为目标,探讨了一种基于计算机视觉的目标方位测量方法。在光学成像原理基础上,推算出目标二维成像点坐标与其空间三维坐标之间的映射关系,基于计算机视觉理论建立了测量目标方位的数学模型。考虑透镜畸变,基于Zhang平面标定法完成对摄像机参数的标定。对目标二维图像采用Harris算法进行特征角点检测,并通过亚像素技术对检测的目标特征点进行定位。实验结果表明,该方法能够有效提取被测目标特征角点并获取其像素坐标,用于测量目标相对视觉传感器的方位信息可达到较高精度,具备良好的实用价值。
关键词:计算机视觉,摄像机标定,角点检测,亚像素定位,目标方位
计算机视觉作为计算机科学的一个重要分支在近年得到快速发展,其主要目标是研究利用计算机来模拟人的宏观视觉功能,通过分析由摄像机等视觉传感器获取的三维空间目标物体图像,进行相关处理和计算,反求目标物体的三维几何结构及其在空间的位置、姿态、运动参数等信息,完成实际的检测、跟踪、测量甚至导航的任务[1-2]。基于计算机视觉理论的视觉测量系统适用于大多数需要用到人眼视觉观察的场合,对于诸如危险场景等人类视觉难以感知的场合,同样也有很好的应用。此外,视觉系统具有很强的抗电磁干扰性,这在国防和军事领域显得尤为重要。总的来说,计算机视觉测量系统独立性强,性能稳定可靠,功耗低体积小,使用方便灵活,符合现代科技发展方向,因此,越来越多的人将目光投向它,在航空航天、交通监管、工业检测、视觉导航、军事侦察等众多领域展开研究。文献[3]在航天器交会对接阶段利用视觉测量技术结合对偶四元数模型追踪目标相对位姿参数,结果表明该方法具有较强的稳定性。文献[4]为提高无人机自主着陆能力,利用视觉传感器获取的视频数据和图像序列信息估计无人机着陆的俯仰角及相对跑道的高度参数,并取得较快的收敛速度。
目前的工程应用中,传统测试设备如激光跟踪测量及电子经纬仪等,能达到很高的精度,但是系统复杂费用较高,缺少现场操作的灵活性。在计算机视觉中,三维空间物体经视觉传感器成像至二维平面后,目标物点的图像坐标与其在实际空间中位置紧密关联,据此可由目标图像反求三维目标体的方位信息。本文以计算机视觉基本原理为理论基础,利用一台经过事先标定好的摄像机采集目标图像,检测和提取目标相应特征角点,并采用亚像素技术对其进一步定位获取精确坐标,在此基础上根据光学成像透视投影关系计算目标物点的空间方位信息。
选取针孔成像模型[5],建立摄像机坐标系(Ocxcyczc)如图1所示,Oc代表光心,zc轴与摄像机光轴重合,P(xc,yc,zc)为空间物点三维坐标,p(xi,yi)为物点像平面坐标,则像点p和物点P的几何关系为
图1 摄像机坐标系
图2 图像坐标系转换
图像坐标系可用图2所示的像素或者物理单位两种方法表示,设CCD单个像素物理尺寸为dx,dy,则像点p在像素坐标系内的坐标转换关系为
考虑到透镜畸变的影响,空间点在像平面成像位置由P(xi,yi)偏移至P(x1',y1'),镜头畸变描述模型可用式(3)表示[6]
式(3)中,δx和δy代表非线性畸变大小,k1,k2为径向畸变系数,p1,p2为离心畸变系数,s1,s2为薄棱镜畸变系数。
为确定空间物点坐标与其在图像中对应点间的映射关系,必须首先完成对摄像机参数的标定,这是运用视觉系统进行目标参数测量的关键步骤。为避免传统标定方法对设备的过高要求,同时考虑到操作过程的方便灵活,采用Zhang平面标定法[7]对实验所用摄像机进行标定。
基于针孔模型,空点物点齐次坐标矩阵M=[X Y Z 1]T和图像对应点齐次坐标矩阵m=[u v 1]T间的映射关系为
其中,λ为比例因子,3×3旋转矩阵R和3×1平移向量为CCD外部参数矩阵,H被称作透视投影矩阵,A为CCD内部参数矩阵且
式中,(u0,v0)为摄像机主点(主光轴与成像平面的交点)坐标,fx和fy为图像在u轴和v轴上的比例因子,fx=f/dx,fy=f/dy,f为成像系统物理焦距,dx、dy表示CCD感光单元尺寸。
假定摄像机从不同角度拍摄了n幅标定板图像,每幅图像包含l个角点,根据式(4)有
其中,mij=[uijvij1]T,Mj=[XjYj0 1]T,i=1,2,…,n,j=1,2,…,l。设m~ij为第i幅图像第j个角点的实际像素坐标,最终可通过使得如下目标函数残差平方和最小来优化标定结果
2.1目标特征点检测
目标特征点提取及定位是视觉成像测量系统的一项重要内容,能否精确获取特征点在二维图像中的坐标直接关乎目标三维空间方位角的测量精度。本文采用特征点为角点,它集中反映了图像上很多重要形状信息的局部特征,同时具有旋转不变性、受光照条件影响小等优良特性。经过比较,采用稳健的Harris角点检测算法[8]进行图像特征点的检测,该方法可直接用于对灰度图像的操作。
对于任意给定的灰度图像,其存在的角点与自相关函数曲率特性有着密切关系,后者可用来表征局部图像灰度变化程度,用公式表示为
式中,E(x,y)是因图像窗口移动(x,y)造成的图像灰度平均变化,w代表图像窗口,I代表图像灰度。将式(8)在像素点(u,v)处进行一阶泰勒多项式展开,可以得到
其中,A、B和C是反映图像在各方向上灰度变化的微分算子,可用x和y方向的一阶微分与高斯平滑滤波函数h(x,y)表示。
因为图像某点灰度自相关函数极值曲率可由其Hessian矩阵特征值近似表示,从而可得Harris角点探测器为
如果图像在某像素点处P(x,y)超过一定阈值即可认为该点是角点,利用Harris算法获取目标特征角点整像素级坐标值后,采用亚像素技术进一步优化计算结果[9],最终获得目标点的亚像素级坐标值。具体方法不再赘述。
2.2目标方位测量方法
根据光学成像原理,结合图1可知,入射光线如若通过镜头光心将不会发生折射,利用这一特性,以此主光轴作为目标方位角测量的基准,镜头成像平面上每个像点可看作是不同角度入射光线与像平面的交点,在获取CCD平面图像中的目标像点精确位置以及镜头焦距参数后,结合视觉透视投影关系可反过来计算目标相对于摄像机的方位信息。定义CCD光轴与目标在xcOczc平面的投影OcPxz形成的夹角β为目标的方位角,CCD光轴与目标在ycOczc平面的投影OcPyz形成的夹角γ为目标的俯仰角,可以得到
通过对摄像机进行标定,可以获得CCD内外参数,采用前述角点检测方法可以得到目标像点在成像平面中的像素坐标,再结合式(1)~式(3),最终可求解得目标方位
可见,利用计算机视觉的方法可以同时计算空间目标的方位角和俯仰角信息,它们均可由像点在平面图像中的位置坐标以及摄像机的几何参数表示。本文主要就计算目标方位角进行相关测量实验。
根据前文建立的数学模型,设计了利用CCD摄像机进行目标方位测量的实验方案,基于VC++开发平台并结合强大的计算机开源视觉库OpenCV[10-11]编写程序,对采集的目标图像进行处理,检测和提取目标成像特征点并定位其在二维图像中的像素坐标,最后完成相应计算输出所测目标方位角。测量方法整体流程如图3所示,主要包括摄像机标定、目标特征提取定位以及方位角的计算。
图3 算法流程图
3.1摄像机标定实验
本文实验用摄像机镜头和传感器物理参数为:镜头最大焦距f=35 mm,CCD传感器晶片尺寸为8.8 mm×6.6 mm,采集的图像分辨率为1 360×1 024。制作一个11×7的棋盘格平面模板作为标定靶,其每个正方格的边长均为100 mm。实验过程中将模板平面置于摄像头的视野范围内,在自然光条件下拍摄,不断调整平面模板的角度和位置,共采集22幅有效图像。摄像头采集到的标定图片如下页图4所示。
采用文中前述角点检测算法进行角点提取,结果如图5所示,找到的角点以圆圈标示,为便于观看,不同行的角点使用不同颜色予以绘制,并将角点以一定顺序用线相连。从中可以看到棋盘内所有角点均被很好地找到。
对所提取的角点重投影进行误差分析,如图6所示,图中不同颜色分别表示22幅标定图片,每个“+”字符号表示标定图片上的一个角点,可以看到绝大部分角点误差在1个像素以内,且主要集中在0附近。计算重投影定标误差,求得平均误差为0.480 915像素,达到亚像素级精度。
图4 不同角度拍摄的标定图片
图5 角点检测结果
图6 角点重投影误差
基于VC++开发平台结合OpenCV对上述棋盘格图像进行摄像机参数标定,结果如表1所示,外参数三维画面如图7所示,其中非常直观地显示了不同角度的棋盘格标定板与摄像机的相对位置,可以看到,棋盘格标定板离摄像机的距离为10 m左右。
3.2方位角测量实验
选取标定板右上角点为目标测量点,如图8所示,其中红色点1表示目标测量点,绿色空心点2表示图像实际中心点,绿色实心点3表示标定得到的图像主点,可见图像主点与其实际中心点并不一致。随机选取不同位置拍摄的10幅图片,然后采用文中算法对图像进行处理,定位目标角点在二维图像中的亚像素坐标,并对方位角的图像值(经图像处理计算的方位角)和实际值(实际测量点方位角计算值)进行比较,以其平均绝对误差和均方根误差来评价该测量方法的准确性。实验结果如下页表2所示,方位角的图像测量值和实际值之间的最大绝对误差为0.029°,最小绝对误差为0.001°;平均绝对误差和均方根误差分别为0.008°和0.011°。通过表2中的实验数据可以看出,测量误差小于0.5 %,可以较为准确地测量出目标与CCD的相对方位信息。
表1 摄像机参数标定结果
图7 标定板与摄像机相对位置
图8 目标点示意图
表2 方位角测量误差(单位:°)
基于计算机视觉理论的目标方位测量方法能够非常灵活地进行多点和非接触测量,且系统结构简单通用性强,使用方便容易操作,具备良好的实用价值,对目前其他传统测量方法是一个很好的补充。该方法关键技术在于摄像机参数的标定以及目标特征点的检测和定位。本文制作棋盘格标定板基于Zhang平面标定法完成对摄像机几何参数的标定,以显著性标志物中的关键点为目标,实验验证了基于视觉方法测量目标方位的有效性。但文中实验仍存在一定的应用局限性,若将本文提出的方法推广到大视场条件下的现场测量,诸如镜头抖动、拍摄距离导致的图像解析度降低等一些实际问题尚需进一步研究。
参考文献:
[1]徐德,谭民,李原.机器人视觉测量与控制[M].北京:国防工业出版社,2011.
[2]季云峰.结构动位移测试的计算机视觉方法实现[J].同济大学学报(自然科学版),2013,41(11):1670-1674.
[3]钱萍,王惠南.基于对偶四元数的航天器交会对接位姿双目视觉测量算法[J].宇航学报,2013,34(1):32-38.
[4]潘翔,马德强,吴贻军,等.基于视觉着陆的无人机俯仰角与高度估计[J].浙江大学学报(工学版),2009,43(4):692-696.
[5]许敬,张合,郑鹏飞,等.光电成像探测中目标方位测量方法[J].强激光与粒子束,2013,25(3):574-578.
[6]WENG J,COHEN P,HERNIOU M.Camera calibration with distortion models and accuracy evaluation[C]//IEEE Trans.on Pattern Analysis and Machine Intelligence,1992.
[7]ZHANG Z Y.A flexible new technique for camera calibration [J].IEEE Trans.on Pattern Analysis and Machine Intelligence,2000,22(11):1330-1334.
[8]HARRIS C,STEPHENS M.A combined corner and edge detector[C]//Proceedings of the 4th Alvey Vison Conference.Manchester:Organizing Committee AVC,1988:147-151.
[9]LUCCHESE L,MITRA S K.Using saddle points for subpixel feature detection in camera calibration targets[C]// Proceeding of the 2002 Asia Pacific Conference on Circuits and Systems.2002:191-195.
[10]BRADSKI G,KAEHLER A.Learning OpenCV:computer vision with the OpenCV library[M].Beijing:Tsinghua University Press,2009.
[11]陈胜勇,刘盛.基于OpenCV的计算机视觉技术实现[M].北京:科学出版社,2008.
Target Azimuth Measuring Method Based on Computer Vision
SUN Shao-jie,YANG Xiao-dong
(Navy Submarine Academy,Qingdao 266042,China)
Abstract:Aiming at key point of obvious marker,an azimuth measuring method for targets based on computer vision system is investigated.According to the principle of projection imaging,the mapping relationship between the 3D position and the 2D image of the target is derived,and the target azimuth measuring mathematical model is established based on monocular vision system.Lens distortion has been taken into account during the implement of Zhang’s calibration method.Harris corner detector is brought to find the most characteristic corners on 2D image,and the sub-pixel orientation method is applied to the positioning of target feature points.The experimental results show that the method can effectively extract the target feature points and get its pixel coordinates,acquiring a relatively accurate target azimuth,which has good application value.
Key words:computer vision,camera calibration,corner detecting,sub-pixel orientation,target azimuth
作者简介:孙少杰(1985-),男,湖北咸宁人,博士研究生。研究方向:机器视觉导航。
*基金项目:军内科研基金资助项目
收稿日期:2015-02-21修回日期:2015-04-28
文章编号:1002-0640(2016)03-0161-05
中图分类号:TP391
文献标识码:A