第6卷第4期 智能系统学报 Vol.6 No.4 2011年8月 CAAI Transactions on Intelligent Systems Aug.2011 doi:10.3969/i.i8sn.1673-4785.2011.04.004 双目立体视觉的目标识别与定位 尚倩2,阮秋琦2,李小利2 (1.北京交通大学信息科学研究所,北京100044:2.北京交通大学现代信息科学与网络技术北京市重点实验室,北京100044) 摘要:双目立体视觉系统可以实现对目标的识别与定位.此系统包含摄像机标定、图像分割、立体匹配和三维测距 4个模块.在摄像机标定部分,提出了基于云台转角的外参数估计方法.该方法可以精确完成摄像头旋转情况下外参 的估计,增强了机器人的视觉功能.并利用广茂达机器人系统,基于改进的双目视觉系统进行目标识别与定位,以此 结果作为依据控制机器人的手臂进行相应运动,最终实现了对目标物体的抓取,验证了提出方法的可行性. 关键词:双目立体视觉;摄像机标定;图像分割;立体匹配;三维测距 中图分类号:TP18文献标识码:A文章编号:1673-4785(2011)04030309 Target recognition and location based on binocular stereo vision SHANG Qian'2,RUAN Qiugi'2,LI Xiaoli1.2 (1.Institute of Information Science,Beijing Jiaotong University,Beijing 100044,China;2.Beijing Key Laboratory of Advanced In- formation Science and Network Technology,Beijing 100044,China) Abstract:A binocular stereo vision system can be used for target recognition and location.This system consists of four modules,namely camera calibration,image segment,stereo matching,and binocular distance.furthermore, in the calibration section,a method of estimating the outer parameters based on the head angle was studied.In the experiment,this method could estimate the outer parameters accurately when the camera rotated,enhancing the vi- sion function of the system.Then this improved binocular system was realized by the Grandar Robot platform.It was used for target recognition and location,and the results were used to control the robot motion.In the end,the target could be captured successfully,so the proposed method was proven to be feasible. Keywords:binocular stereo vision;camera calibration;image segmentation;stereo matching;binocular distance 人类获取的信息70%~80%来自视觉,视觉是 双目立体视觉技术可以很好地模拟人眼的功 人类认识和改造世界的一个主要途径.计算机视觉 能,并且可以对三维世界进行立体感知,因此,在机 是使用计算机及相关设备对生物视觉的一种模拟, 器视觉的研究中发挥着越来越重要的作用.文中着 它的主要任务就是通过对采集的图片或视频进行处 重研究双目立体视觉下目标的识别与定位技术,双 理以获得相应场景的三维信息山, 目立体视觉系统主要包括摄像机标定、图像分割、立 根据视觉传感器的个数,计算机视觉可以分为: 体匹配和三维测距4个模块.传统的摄像机标定技 单目视觉系统、双目视觉系统和多目视觉系统 术一旦完成标定,摄像机相对于世界坐标系的位置 单目视觉系统只通过一个视觉传感器来获取外界的 就不能发生变化,否则,就需要重新标定2].但从实 视觉信息,方式简单,但是只能获得目标的二维空间 际应用角度,为了更好地进行目标的识别与定位,摄 信息.而双目和多目视觉系统比较复杂,一般具备获 像头需要进行相应偏转.针对这个特点,提出了一种 取三维空间信息的能力,但实时性是双目和多目视 基于云台转角的外参数估计方法,经过误差分析,此 觉系统的最大挑战, 方法可以精确地完成摄像机旋转情况下对外参的估 收稿日期:2010-1209. 计,使机器人的云台在目标识别和定位过程中可以 基金项目:国家自然科学基金资助项目(60973060):高等学校博士学 科点专项科研基金资助项目(20080004001). 更加灵活地旋转,大大增强了该机器人的视觉功能, 通信作者:尚倩.E-mail:renxuefeier(@gmail.com. 最后,利用广茂达机器人系统作为实验平台,基于改
·304 智能系统学报 第6卷 进后的双目立体视觉系统进行目标的识别与定位, 面为世界坐标系的Z。=0的平面.这样,对于棋盘格 并以此对目标识别定位的结果作为依据来控制机器 平面上的每一个点,上述投影关系可以简化为 人和手臂的相应运动,从而成功地实现了机器人对 「X2 目标物体的准确抓取, A r r 1双目立体视觉系统 此系统的主要功能是完成对实际目标的识别与 定位,主要分为摄像机标定、图像分割、立体匹配、三 M=[X.Y.1]T,m=[wv1]T, 维重建4个模块. H=A[r12t]=h,h2h3]= 1.1摄像机标定 「hu hv hi3 1.1.1像机模型 ha h2 has 摄像机采集到的图像是典型的二维信息,要想根 Lhs1 h32 hsa- 据这个二维信息计算实际物体的三维信息,首先要建 则式(1)可以写成sm=HM,其中A为摄像机内部 立图像坐标系与世界坐标系的映射模型.本文使用的 摄像机模型为经典针孔模型,如图1所示34.其中, 参数,3为尺度因子,H称为单应性或投影矩阵,是 模板平面上点和它的像点之间的一个映射,如果已 XYZ为世界坐标系,XYZ。为摄像机坐标系,y 知模板点的空间坐标和图像坐标,那么就已知m和 为图像物理坐标系,w为图像像素坐标系, P(S F Z) M,可以求解单应性矩阵,利用这个矩阵就可以求解 摄像机的内外参数.其中,内参可以通过Choleski分 解得到,而利用矩阵A和H,就可以进一步求得外 参矩阵2,5],公式如式(2): r1=AA-h1,2=Ah2,3=T1×T2, =AA-hs=AihAhgl' 1 1 (2) 由于摄像机物理因素的影响,拍摄到的图片有 图1摄像机针孔模型 一定的畸变.畸变会对摄像机的标定结果产生一定 Fig.1 Camera pinhole model 的影响.采用张正友的方法对畸变进行矫正2) 上述模型存在如下的投影关系2,51: 1.1.3算法改进 「f.0 0 虽然张正友的方法可以精确地求得摄像机的内 Z 0 0 外参数,但是,参数一旦标定,摄像机坐标系相对于 01 01 0/ 世界坐标系的位置关系也就静止.而在本实验平台 中,摄像头会发生以下2种运动. 1)摄像头会随着机器人的运动而运动. MM, 2)机器人不动时,摄像头也可以通过云台发生 上下或左右的旋转. 上述2种运动都会导致摄像头的位置发生变 式中:f∫、、只与摄像机内部结构有关,所以 化,理论上就需要进行重新标定,这在实验中不具备 M1称为摄像机内部参数;R与t完全由摄像机坐标 可行性,因此,摄像机的内参采用张正友的标定方法 系相对世界坐标系的方位决定,故称为摄像机外部 获得,而对于外参,针对本实验平台的特点,在其算 参数.摄像机标定就是确定一部摄像机的内部参数 法基础上进行了改进,使得当摄像头位置移动时,不 和外部参数的过程2] 用重新标定就可以计算出移动后的外参.改进方法 1.1.2摄像机标定 归纳如下. 张正友等人提出了平面法来标定单摄像头2],本 1)世界坐标系转化为机器人坐标系. 文利用此方法来标定双目立体视觉平台,标定物选择 在标定算法中,世界坐标系一旦选定了就是个 了标准棋盘格.为了简化计算,假定棋盘格所在的平 绝对的量,然而,当机器人移动时,如果仍然使用原
第4期 尚倩,等:双目立体视觉的目标识别与定位 ·305· 来标定的外参进行重建,就意味着认为世界坐标系 [cos 00 sin 07 也随机器人发生了完全相同的移动,而在这个过程 R= 0 1 0 中,二者的转换关系并没有发生变化.因此,可以选 Lsin 00 cos 0 择一个相对不变的世界坐标系,即使机器人发生了 厂1 0 07 移动,仍然可以通过固定的转换关系转换到这个坐 R2=0 cos 02 sin 02 标系,即机器人坐标系,实验过程中,机器人坐标系 LO sin 02 c0s02」 的原点选在2台摄像机云台的中点,三维测距后,将 绕2个轴均有转动的旋转矩阵为 结果由世界坐标系转换到机器人坐标系,因为不关 R=R R2= 心目标物体在世界坐标系中的位置,只关心它与机 c0861 sin 0 sin 02 sin 0 cos 02 器人的相对位置, 0 c0s02 sin 02 因此,首先需要知道原始标定时世界坐标系与 Lsin 0-cos 0 sin 02 cos 0 cos 02 机器人坐标系的转换关系,原始标定环境中,两摄像 头平行地指向前方,即二者的云台旋转角度为0.在 摄像机发生旋转后,设原来的摄像机坐标系为 外参的标定结果中,假设左右摄像头的平移向量分 XYZ,而旋转后的摄像机坐标系为X2Y2Z2,则 2个摄像机坐标系之间的关系为 别为t1=(t1,1,ta),2=(t2,t2,t2),则左右摄像 机坐标系原点在原世界坐标系中的坐标分别为 (-t,-t1,-t)和(-t2,-t2,-ta),所以机器 人坐标系原点在原世界坐标系下的坐标为 -2,-42,-4,由于标定时,标定 21 21 2 式中:R。为上面求得的旋转矩阵,由于摄像头只有 物与机器人平面平行,所以旋转向量近似认为是0. 旋转没有平移,故T。=[000]. 假设一个点在世界坐标系下的坐标为(xm,y。, 由于原来的摄像机坐标系与世界坐标系的关系为 云),而其在机器人坐标系下的坐标为(x,y,,),则 二者的转换关系如下: 名=七n++妇 2 1 x=y。+红+2 (3) 故 2 Xa 8,=名n++2 T 2 R 通过式(3),就把世界坐标系转换到了机器人 坐标系, 2)基于云台转角的外参数估计. Xn X 上述改进虽然解决了机器人运动时外参的使用 T Y M 问题,可是不允许摄像头有上下左右的旋转,这样就 1 (4) Z 使机器人的等效视界大大减小,在一定程度上限制 了机器人的视觉功能.由于智能机器人的主要思路 rR。Tel[R 是模仿人的眼晴,所以希望摄像头可以根据目标的 从式(4)可推导出,M= 010],即为 位置,模拟人的双眼做相应地旋转,从而实现更加灵 摄像头旋转后的外参.这样,只要知道云台的转角, 活的三维测距, 就可以求得任意旋转角度下的外参.这一方法成功 在三维空间中,旋转可以分解为绕各自坐标轴 地解决了摄像头任意旋转时外参的计算问题, 的二维旋转,实验用的云台有2个转动轴,可以进行 1.2基于颜色相似度的图像分割 旋转角度可控可知的左右转动和上下转动.设左右 利用对目标图像的分割来显示目标识别的结 转动的角度为01,上下转动的角度为02,则左右旋 果.基于颜色相似度的图像分割可以满足鲁棒性和 转和上下旋转的旋转矩阵分别为: 实时性的要求,且具有良好的分割效果
·306· 智能系统学报 第6卷 1.2.1颜色相似度 用上一步骤中图像分割后获得的二值图像,计算其 从摄相机输入的彩色图像大多数是以RGB位 重心作为关键点实现立体匹配.二值图像的重心坐 图格式存储的,在RGB空间中,2种颜色之间的距 标计算如式(6)所示8, 离与人眼对色彩差别的感觉有较大偏差.而在HSV x句XC, 空间中,颜色分量相应的欧式距离与人眼感知的颜 m×n台 色差吻合得较好.HSV空间中的2种颜色C,={H1, y=1 (6) S1,V}和C2={L2,S2,V2之间的距离四定义为 ∑y mxn台 D(C1,C2)= 式中:(X,Y)为重心坐标,(x,y)为像素点坐标, (S;cos H -S,cos)+(S;sin H -S,sin)+(V -V). 0,像素为白色, 两色彩之间的相似度[8]定义为 =1,像素为黑色. 1.4三维重建 5(C.C:)=1-D(G,C:) 立体视觉从左、右观测点观看对象时,可以看到 √5 对象的偏差.这种偏差与观测点到被观测对象的距 1.2.2基于颜色相似度的图像分割 离有关.三维空间内的点在投影图像上的位置是由 分割的目的是要从复杂的背景中提取出具有特 三维空间中的某条直线决定的.因此,如果一个对象 定颜色特征的目标物体,具体实现步骤如下, 从其他视点观测也有同样的三维投影图像,那么被 1)颜色信息的统计及相似度计算. 观测对象的空间坐标就可以确定,2条视线的交点 设摄像头拍摄到的图片大小为m×n,首先计算 就是它的位置「8.这就是三维重建的过程。 图像中像素点颜色信息的均值,得到该图像的颜色 1.4.1基本模型 模板C1={H,S,V,}3,61.然后计算图像中每一像 空间点三维重建的基本模型们如图2所示 素点和标准颜色模板的颜色距离和相似度.其中: m×n台台 3君, m n V= 1 mXn台台 2)图像分割. 通过阈值的设置,可以完成对图像的分割.计算 图2空间点三维重建模型 如式(5)所示.影响分割效果的主要因素是阈值的 Fig.2 3-D reconstruction model 选取,找到一个合适的阈值是图像分割最关键的一 对于空间物体表面的任意一点P,被摄像头C: 步[8].本实验中,阈值取0.76~0.89能够得到比较 拍摄下来后,在图片上位于P1,被摄像头C2拍摄下 好的分割效果 来后,在图片上位于P2,但是无法仅仅通过P,或者 P=(0,0,0), S(Cg,C:)≤threshold; P2来得出P的三维位置,因为在直线OP或O2P P:=(255,255,255),S(C;,C.)>threshold. 上的任意一点P',其在图像上的位置都是P或P2 (5) 然而,现在利用2个摄像头来拍摄图片,这样就可以 式中:P:表示像素点被分割后的RGB像素值, 知道目标点位于OP,和O,P22条直线的交点,即 threshold为相似度阈值. 可以惟一确定目标点的三维位置, 3)初步的分割结束之后,图像中可能存在小范 1.4.2利用最小二乘法计算三维坐标 围的噪声点或微小的孔洞,可以利用传统的腐蚀和 假设2个摄像头的投影矩阵分别为M1和M2, 膨胀处理,使分割效果更加平滑。 可以得到如下2个等式[92] 1.3立体匹配 m12 立体匹配是双目视觉中最关键的一步,立体像 mi m14 对之间的差异是由摄像时观察点的不同引起的. m21 m23 本实验的目标物体形状较规则,故采用关键点 m31 m32 m3s m4儿1 匹配法,选择图像的重心作为关键点,具体做法是利
第4期 尚倩,等:双目立体视觉的目标识别与定位 .307· mi 求得P点的三维坐标91. m23 2实验平台 m品 以广茂达机器人作为实验平台,基于此改进的 式中:(山1,1)和(u2,2)分别为P点的成像点在2 双目立体视觉系统进行目标的识别和定位.并根据 幅图像中的齐次图像坐标.Z。和Z2分别为P点在2 定位结果控制机器人对目标进行抓取.图3为整个 个摄像机坐标系下的Z坐标;(X,Y,Z)为P点在 系统的流程图。 世界坐标系下的齐次坐标;利用最小二乘法,就可以 摄像机标定 摄像机不集图像 内 运动模块 图像预处理 立体匹配 颜色分割 图像重心 三维测 机器人系统 手臂模块 目标抓取 形态学处理 摄像机采集右图像 图3系统流程 Fig.3 Flow chart of the system 2.1硬件平台 转动范围为[-100°,100],竖直方向的转动范围为 该机器人的视觉系统是由2个Sony CCD摄像 [-25°,25°],同时具有130万像素和30帧/s的最 机组成的.每个摄像机包含2个自由度,即水平方向 高帧率.它的硬件系统如图4所示. 网络R45 串口 并口 主 机 PC总线 8路USB2.0接口 USB接▣ 视 无线 的CCD 网卡 纜 觉 动 图4机器人硬件系统 Fig.4 Hardware of the robot 2.2软件环境 为256MB,可以根据需要对其配置进行升级.开发 机器人的核心是普通PC,CPU为P43.0,RAM 环境为VC++6.0,在此基础上完成了完整的双目