
1.2 计算机立体视觉的研究现状
让计算机或机器人具有视觉,是人类多年以来的梦想。计算机科学与机器人技术出现以后,人们试图用摄像机获取图像并转换成数字信号,用机器人的大脑——计算机,实现对视觉信息处理,从而逐渐形成了一门新兴的学科,即计算机视觉,它包括信息的获取、传输、处理、存储与理解。
20世纪70年代中期,以Marr、Barrow和Tenenbaum等人为代表的一些研究者提出了一整套视觉计算机的理论来描述视觉过程[19-21],其核心是从图像恢复物体的三维形状。在视觉研究中,以Marr的理论影响最为深远,在其理论中,强调表示的重要性以及从不同层次上去研究信息处理问题,在计算机理论和算法实现上又特别强调计算理论的重要性。这些理论多数是建立在对人类感知三维信息分析的基础上的,尽管这些方法在数学上是可行的,但由于各种干扰的存在以及逆成像的问题,使得问题本身是病态的。病态问题的求解成为计算机视觉研究中一个非常重要的方面。
进入20世纪80年代中后期,随着移动机器人的研究,视觉研究与之密切结合,因而大量运用空间几何的方法以及物理知识来研究视觉,其目标主要是完成对道路和障碍的识别处理。这一时期引入主动视觉的研究方法,并采用了距离传感器以及引入融合技术等。由于这种研究方法可直接取得深度图或通过移动获取深度图,因而使得病态问题变成良态的。此外,在视觉的研究中重视了对定性视觉、有目的的视觉的研究。
计算机视觉要达到的基本目的至少有以下几个[22]:
(1)根据一幅或多幅二维投影图像计算出观察点到目标物体的距离;
(2)根据一幅或多幅二维投影图像计算出目标物体的运动参数;
(3)根据一幅或多幅二维投影图像计算出目标物体的表面物理特性;
(4)根据多幅二维投影图像恢复出更大空间区域的投影图像。
计算机视觉要达到的最终目的是实现利用计算机对于三维景物世界的理解,即实现人的视觉的某些功能。什么是计算机视觉研究的本质问题?如果用一句话来概括,就是利用二维图像来重构三维物体的可见部分。
在计算机视觉中,立体视觉是一个重要的分支,立体视觉就是由多幅图像(一般是两幅)获取物体三维几何信息。其中,双目立体视觉(简称双目视觉)是用两台性能相同、相对位置固定的CCD摄像机,获取同一景物的两幅图像,计算空间点在两幅图像中的“视差(Disparity)”,以此确定场景的深度信息,进而由计算机重建周围景物的三维形状和位置[23]。
1.2.1 双目立体视觉的研究内容
双目视觉的研究内容可分为6个主要部分:摄像机标定、图像采集、特征提取、立体匹配、深度计算及深度信息内插[24-25]。
(1)摄像机标定 摄像机标定也称摄像机校准,其目的是建立有效的成像模型,并确定摄像机内外部属性参数,以便确定空间坐标系中物点与它在图像平面上像点之间的对应关系。
(2)图像采集 立体图像的采集是双目立体视觉的物质基础。图像采集的方式很多,主要取决与应用场合和目的。为了采集双目视觉需要的图像对,可以用两台性能相同、位置固定的摄像机从不同角度对同一景物进行拍摄,或者可以用一台摄像机从不同的角度两次拍摄同一景物。在获取立体图像时不但要满足应用要求,而且要考虑视点差异、光照条件、摄像机性能以及景物特点等因素的影响,以便立体视觉计算。
(3)特征提取 特征提取是为了得到匹配所需要的图像特征,由于目前尚没有一种普遍适用的理论可指导图像特征的提取,从而导致了立体视觉研究中匹配特征的多样性。目前,常用的匹配特征主要有点状特征、线状特征和区域特征。根据多视点的视察确定三维(3D)信息,其关键的一步是确定场景中同一物点在不同图像中的对应关系。解决该问题的方法之一是选择合适的图像特征并进行匹配。
(4)立体匹配 立体匹配是立体视觉中最重要也是最困难的问题。当空间三维场景被投影为二维图像时,同一场景在不同视点下的图像会有很大不同,而且场景中的诸多因素,如光轴条件、景物几何形状和物理特性、噪声干扰和畸变,以及摄像机特性等,都被综合成单一图像中的灰度值。归一化积相关算法是一种典型的基于灰度相关的算法,因为有不受比例因子误差的影响和抗白噪声干扰能力强等优点而被广泛采用。
(5)深度计算 从二维灰度图像中获得三维深度信息是立体视觉的目的之一,也是机器人视觉中发展最迅速的领域。对于目标图像,将特征提取得到的角点作为对应点,结合对应点的外极线约束条件进行对应点匹配。利用对应点的视差,就可以计算出基于双CCD成像的目标深度信息。
(6)深度信息内插 立体视觉的最终目的是为了恢复景物可视表面的完整信息。目前,无论是哪种匹配方法都不可能恢复出所有图像点的视差。对于一个完整的立体系统来讲,都必须进行最终的表面内插重建。在内插过程中,最重要的问题就是如何有效地保护景物面的不连续信息[25]。
1.2.2 双目立体视觉研究现状
1.国外研究现状
美国是到目前为止投入最大、研究最为深入的国家[26-45]。华盛顿大学与微软公司合作为火星卫星“探测者”号研制了宽基线立体视觉系统,使“探测者”号能在火星上对其即将跨越的几千米内的地形进行精确的定位导航[46]。系统使用同一个摄像枪在“探测者”的不同位置上拍摄图像,拍摄间距越大,基线越宽,能观测到越远的地貌。系统采用非线性优化得到两次拍摄图像时摄像枪的相对准确位置,利用鲁棒性强的最大似然概率法结合高效的立体搜索进行图像匹配,得到亚像素精度的视差,并根据此视差计算图像对中各点的三维坐标。
美国麻省理工学院计算机系提出了一种新的用于智能交通工具的传感器融合方法,由雷达系统提供目标深度的大致范围,利用双目立体视觉提供粗略的目标深度信息,结合改进的图像分割算法,能够在高速环境下对视频图像中的目标位置进行分割,而传统的目标分割算法难以在高速实时环境中得到令人满意的结果[47]。
日本大阪大学自适应机械系统研究院研制了一种自适应双目视觉伺服系统[28]。利用双目体视的原理,以每幅图像中相对静止的三个标志为参考,实时计算目标图像的雅可比矩阵,从而预测出目标的下一步运动方向,实现了对运动方式未知的目标的自适应跟踪,该系统仅要求两幅图像中都有静止的参考标志,无须摄像机参数。而传统的视觉跟踪伺服系统需事先知道摄像机的运动、光学等参数和目标的运动方式。
日本奈良科技大学信息科学学院提出了一种基于双目立体视觉的增强现实系统注册方法,通过动态修正特征点的位置提高注册精度[49]。该系统将单摄像机注册与立体视觉注册相结合,利用3个标志点算出特征点在每个图像上的二维坐标和误差,利用图像对计算出特征点的三维位置总误差,反复修正特征点在图像对上的二维坐标,直至三维总误差小于某个阈值。
日本东京大学将实时双目立体视觉和机器人整体姿态信息集成,开发了仿真机器人动态行走导航系统[50]。该系统实现分两个步骤:首先利用平面分割算法分离所拍摄图像对中的地面与障碍物,再结合机器人躯体姿态的信息,将图像从摄像机的二维平面坐标系转换到描述躯体姿态的世界坐标系,建立机器人周围区域的地图;其次根据实时建立的地图进行障碍物检测,从而确定机器人的行走方向。
日本冈山大学使用立体显微镜、两个摄像机微操作器等研制了使用立体显微镜控制微操作器的视觉反馈系统,用于对细胞进行操作,对种子进行基因注射和微装配等[51]。
2.国内研究现状
我国的机器人立体视觉发展方兴未艾,无论是工业、农业,还是军事领域都显示出广阔的发展前景,国内的各个相关研究机构也都取得了一定的研究成果。
火星“863”计划课题“人体三维尺寸的非接触测量”,采用“双视点投影光栅三维测量”原理,由双摄像机获取图像对,通过计算机进行图像数据处理,不仅可以获取服装设计所需的特征尺寸,还可根据需要获取人体图像上任意一点的三维坐标[52]。该系统已通过中国人民解放军总后勤部军需部鉴定。可达到的技术指标为:数据采集时间小于5s/人;提供身高、胸围、腰围、臀围等围度的测量精度不低于1.0cm。
浙江大学机械系完全利用透视成像原理,采用双目视觉方法实现了对多自由度机械装置的动态精确位姿检测,仅需从两幅对应图像中抽取必要特征点的三维坐标,信息量少,处理速度快,尤其适于动态情况。与手眼系统相比,被测物的运动对摄像机没有影响,且不需知道被测物的运动先验知识和限制条件,有利于提高检测精度。
东南大学电子工程系基于双目立体视觉,提出了一种灰度相关多峰值视差绝对值极小化立体匹配新方法,可对三维不规则物体、偏转线圈的三维空间坐标进行非接触精密测量。
哈尔滨工业大学采用异构双目活动视觉系统实现了全自主足球机器人导航,将一个固定摄像机和一个可以水平旋转的摄像机分别安装在机器人的顶部和中下部,可以同时监视不同方位视点,体现出比人类视觉优越的一面。通过合理的资源分配及协调机制,使机器人在视野范围、测距精度及处理速度方面达到最佳匹配。双目协调技术可使机器人同时捕捉多个有效目标,观测相同目标时通过数据融合,也可提高测量精度。在实际比赛中,在其他传感器失效的情况下,仅仅依靠双目协调仍然可以实现全自主足球机器人导航。
1.2.3 应用于移动机器人的立体视觉系统
当前采用立体视觉的移动机器人大部分是室外机器人,如美国喷气推进实验室(JPL)研制的DEMO-Ш无人自主车,它代表了自主车的最高水平,其立体视觉采用双目视觉[53-54]。美国卡内基梅隆(CMU)大学研制的立体视觉无人驾驶车,以及合作研制的月球探测地面实验车Normd漫游者[55-56]的视觉导航系统有3套,即6只眼睛。国内虽然对全自主移动机器人研制较晚,但也取得了成果,如中国科学院沈阳自动化研究所、清华大学、浙江大学、国防科技大学、北京航空航天大学、北京理工大学、华南理工大学等相继研制了智能自主车,以及浙江大学和安徽智能研究所共同研制了导游机器人,并且都采用了立体视觉[57-60]。
根据排爆机器人的特点,应用于排爆机器人的立体视觉系统有别于其他方面的应用,如虚拟现实、三维重建等,其特殊性主要体现在以下三个方面:
(1)精确性要求。排爆机器人的排爆工作最终取决于它对目标物的精确定位和精确抓取,而其精确定位和精确抓取又取决于其对立体视觉系统的精确计算,这就对其精确性提出了较高的要求。
(2)鲁棒性要求。由于排爆机器人的作业环境与作业对象是变化的,甚至预先完全无法预知,即通常所说的非结构环境,这就要求所采用的立体视觉算法能在各种环境、各种光照条件下都尽可能保证其有效性。这一点与室内环境的机器人截然不同。排爆机器人的典型工作环境为城市的公共场所或楼道,不确定性因素很多,比如光照的变化,各种各样的障碍物等。为此,立体视觉算法在各种环境下都要求保证其有效性。
(3)实时性要求。排爆机器人的应用场合对立体视觉算法提出了实时性要求,即算法处理的速度相对要快,图像处理的输出结果将作为排爆机器人的控制信息,并将作为其自动控制和导航的依据,因此排爆机器人图像处理系统必须有较高的实时性,以满足整个系统的要求。举例来说,立体匹配是相当耗时的操作,以N×N大小的灰度图像,相关窗口尺寸为W×W,视觉搜索范围为D为例,直接计算的复杂度为O(N2W2D)。如此巨大的计算量对算法程序的优化工作来说,压力非常大。