第5章智能机器人的视觉 机器人的视觉功能在于识别环境、理解人的意图并完成工作任务。机器人的视觉技术 包括给定图像的检测与跟踪、多目视觉与距离测量、时序图像检测运动并跟踪、主动视觉等。 智能机器人通常利用立体视觉恢复周围环境的三维信息、识别道路、判断障碍物,实现路径 规划、自主导航等。 5.机器视觉基础理论 1 机器视觉是光学成像问题的逆问题,它通过获取图像、创建或恢复现实世界模型,实现 对现实客观世界的观察、分析、判断与决策。机器视觉技术正广泛地应用于工业检测等各方 面,在一些危险场景感知、不可见物体感知等场合,机器视觉更凸显其优越性。 1.理论体系 5.1 1982 年,马尔首次从信息处理的角度综合了图像处理、心理物理学、神经生理学及临床 精神病学的研究成果,提出了一个较为完善的视觉系统框架。他认为对视觉系统的研究应 分为3个层次,即计算理论层、如图5. 表达与算法层和硬件实现层,1所示。 图5.马尔视觉理论的3个层次及其所对应的内容 1 马尔理论是机器视觉研究领域的划时代成就,多年来对图像理解和机器视觉的研究发 展起到了重要的作用。视觉系统的3个层次如下所示。 (1)计算理论层是视觉信息处理的最高层次,是抽象的计算理论层次,它回答系统各部 分的计算目的和计算策略。 (2)表达与算法层是要进一步回答如何表达视觉系统各部分的输入、输出和内部的信 息,以及实现计算理论所规定目标的算法。 (3)硬件实现层要回答的是“如何用硬件实现各种算法” 。 机器视觉研究可以分为如下五大研究内容 。 1. 低层视觉 低层视觉的主要研究任务是采用大量的图像处理技术和算法,对输入的原始图像进行 处理。 (1)利用图像滤波、图像增强、边缘检测等技术,抽取图像中诸如角点、边缘、线条、边界 及色彩等关于场景的基本特征。 (2)各种图像变换(如校正)、图像纹理检测、图像运动检测。 2. 中层视觉 中层视觉的主要研究任务是恢复场景的深度、表面法线方向、5维 轮廓等有关场景的2. 信息。 (1)系统标定、测距成像系统、立体视觉等。 (2)明暗特征、纹理特征、运动估计等。 3. 高层视觉 高层视觉的主要研究任务是在以物体为中心的坐标系中,在原始输入图像、图像基本特 征、5维图的基础上,恢复物体的完整三维图,建立物体的三维描述,识别三维物体并确定 物体的位置和方向。另外,主动视觉(activevision)涵盖了上述各个层次的研究内容。 2. 4. 输入设备 输入设备通过光学摄像机或红外、激光、超声、X射线对周围场景或物体进行探测成像, 得到关于场景或物体的二维或三维数字化图像。 5. 体系结构 研究机器视觉从设计到实现中涉及的信息流结构、拓扑结构等一系列相关的问题。 1.关键问题 5.2 机器视觉系统的主要困难体现在以下几方面。 1. 图像多义性 三维场景被投影为二维图像,深度和不可见部分的信息被丢失。不同形状的三维物体 投影在图像平面上可能产生相同图像,如图5. 2所示。不同角度获取的同一物体图像可能 存在很大差异。 图5.不同形状的三维物体投影在图像平面上产生相同图像 2 2. 环境因素影响 照明、物体形状、表面颜色、摄像机及空间关系变化都会对获取的图像有影响,几个立方 体构成的多义性图像如图5. 3所示。 86 第 5 章智能机器人的视觉 图5.几个立方体构成的多义性图像 3 3. 知识导引 在不同的知识导引下,同样的图像将会产生不同的识别结果。不同的知识导引也可能 产生不同的空间关系。 4. 大数据 灰度图像、彩色图像、高清图像、深度图像、图像序列的信息量会非常大,需要很大的存 储空间和计算处理能力。 5.成像几何基础 2 成像系统即是将三维场景变换成二维灰度或彩色图像。这种变换可以用一个从三维空 间到二维空间的映射来表示。 f:R3→R2 1) (x,z)→( ' ,') (5. y,xy 如果考虑时变三维场景,则上述变换是四维空间到三维空间的变换。如果再考虑某一 波段或某几个波段的光谱,则上式的维数将增加到五维或更高维。 5.1 基本术语 2. 简单的三维图像获取过程如图5. 4所示。 图5.三维图像获取过程 4 1. 投影 一般地,将 n 维的点变换成小于 n 维的点称为投影,平面几何投影变换的分类如图5. 5 所示。三维场景投影将三维空间的点变换成二维图像中的点。 2. 投影中心 如图5.所示,投影线回聚于投影中心(COP )。对于视觉系统,投影中心也称为视点 或观察点。 6(a) 87 图5.平面几何投影分类 5 3. 投影线与投影面 从投影中心向物体上各点发出的射线称为投影线,投影面是物体投影所在的假想面。 如图5.所示,投影线可以是直线或曲线。投影面通常是平面,但有的场合也应用曲面作 6(b) 为投影面。 图5.投影过程中的投影线与投影面 6 4. 投影变换 投影变换是将一种投影点的坐标变换为另一种投影点的坐标的过程。三维空间到二维 空间的两种常用投影变换分别是透视投影变换和平行投影变换。 (1)透视投影变换。如图5.a) 透视投影变换的投影中心与投影平面之间的距 离为有限远。 7(所示, 图5.透视投影变换和平行投影变换 7 (2)平行投影变换。如图5.所示,投影中心与投影平面之间的距离为无限远。可 7(b) 见,平行投影变换是透视投影变换的极限状态。 5.2 透视投影 2. 1. 透视现象 由于观察距离及方位引起视觉的不同反应,就是透视现象。利用透视规律,可以正确表 现出物体之间的远近层次关系,使观察者获得立体的空间感觉,8所示现象正体现了这 图5. 88 第 5 章智能机器人的视觉 一点。 图5.透视现象 8 在文艺复兴时期,人们发现要把一个事物画在一块画布上,就好比是用自己的眼睛当作 投影中心,把实物的影子影射到画布上去。数学家对图形在中心投影下的性质进行研究,逐 渐产生了射影几何这门学科。 17 世纪初期,开普勒最早引进了无限远点的概念。“无限远点”在有限的图像上形成的 像却是看得见的。与画面成一角度的平行线簇经透视变换后都汇流成一个远方的点,这个 点称为灭点或消失点。图5.两点透视与三点透视的效果图。近大 9分别给出了一点透视、 远小的视觉效果,使得图形深度感强,看起来更加真实。 图5.透视效果图 9 89 2. 透视投影成像模型 如图5.10 所示,透视投影可以用针孔成像模型来模拟,其特点是所有来自场景的光线 均通过一个投影中心(针孔中心)。透视投影倒立成像的几何示意图如图5.经过投 影中心且垂直于图像平面(成像平面)的直线称为投影轴或光轴。 11 所示, 图5.针孔成像模型图5.透视投影倒立成像的几何示意图 10 11 5.3 平行投影 2. 平行投影也称为正交投影,是指用平行于光轴的光将场景投射到图像平面上。如图5. 12 所示,正交投影是透视投影的一个特例,当透视投影模型的焦距 f 很大且物体距投影中心很 远时,透视投影就可以用正交投影来近似。 图5.正交投影几何示意图 12 5.4 视觉系统坐标变换 2. 1. 坐标系 在几何学中,为了用数字描述空间物体的大小、形状和位置,必须引进笛卡儿坐标系。 用户总是习惯于在自己熟悉的坐标系中描述客体或绘制图形,这个用户定义客体的坐标系 称为用户坐标系,或称为客体坐标系。 (1)用户坐标系有直角坐标系、极坐标系、对数坐标系、球形坐标系等。在图形系统中, 一般只用到直角坐标系。直角坐标系又称为宇宙坐标系,可以分为二维直角坐标系和三维 直角坐标系。 (2)设备坐标系一般是二维坐标系,图形的输出在设备坐标系中进行。设备坐标系包 括绘图仪坐标系和显示屏幕坐标系。 90 第5 章 智能机器人的视觉 (3)规格化坐标系是与设备无关的坐标系,用来构造与设备无关的图形系统。通常取 无量纲的单位长度作为在规格化坐标系中图形输入输出的有效空间,X 和Y 方向的取值范 围为[0,1]。 用户坐标系、规格化坐标系和设备坐标系三者之间的关系如图5.13所示。 图5.13 三种坐标系之间的关系 机器视觉系统中通常涉及以下几种坐标系。 (1)像素坐标:表示图像阵列中图像像素的位置。 (2)图像平面坐标:表示场景点在图像平面上的投影。 (3)摄像机坐标:即以观察者为中心的坐标,将场景点表示成以观察者为中心的数据 形式。 (4)场景坐标:也称作绝对坐标(或世界坐标),用于表示场景点的绝对坐标。 2.齐次坐标 齐次坐标表示法就是用n+1维向量表示一个n 维向量。这使得二维的几何变换可以 用一种统一的矩阵方式来表示。 在n 维空间中,点的位置矢量具有n 个坐标分量(P1,P2,…,Pn ),它是唯一的。若用 齐次坐标表示时,此向量有n+1个坐标分量(hP1,hP2,…,hPn ,h),它是不唯一的。 考虑对笛卡儿空间内点P 分别进行旋转、平移、放大、缩小,对应的射影空间内P [p]→ P'[p']的变换操作可用4×4的矩阵Ti 来作为P 的齐次坐标的线性变换: p'=p·Ti (5.2) 式中,P'[p']表示P 点变换后对应在射影空间内的点。 1)旋转变换 空间内物体绕x、y、z 轴旋转角度θ,对应的变换矩阵Ti 可表示如下: Tx = 1 0 0 0 0 cosθ sinθ 0 0 -sinθ cosθ 0 0 0 0 1 é . êêêêêê ù . úúúúúú Ty = cosθ 0 -sinθ 0 0 1 0 0 sinθ 0 cosθ 0 0 0 0 1 é . êêêêêê ù . úúúúúú Tz = cosθ sinθ 0 0 -sinθ cosθ 0 0 0 0 1 0 0 0 0 1 é . êêêêêê ù . úúúúúú (5.3) 91 2)平移变换 空间内物体在x、y、z 方向平移(h,k,l),对应的变换矩阵Ti 可表示如下: Tt = 1 0 0 0 0 1 0 0 0 0 1 0 h k l 1 é . êêêêêê ù . úúúúúú (5.4) 3)扩大、缩小变换 空间内物体以原点为中心,在x、y、z 轴方向扩大或者缩小mx 、my 、mz 倍,或者全体的 1/mw 倍,则对应的变换矩阵Ti 可表示如下: Tm = mx 0 0 0 0 my 0 0 0 0 mz 0 0 0 0 mw é . êêêêêê ù . úúúúúú (5.5) 表现移动的上述4×4矩阵Ti 的各元素的效果图如图5.14所示。 5.2.5 射影变换 在三维空间中,以某一个视点为中心往二维平面上投影的过程称为透视变换。如图5.15 所示,这种将平面Π 上的图形投影到另一图像平面μ 上的过程称作“配景映射”。这种“配景 映射”可以多次进行,称为射影变换。显示这个图像时,显示器有固定的坐标系。用它的坐 标直接表现是必要的,这个变换称为表示变换。 图5.14 矩阵Ti 各元素的效果图 图5.15 配景映射 三维空间的坐标系规定为现实世界坐标,称为实坐标或世界坐标。在三维空间中,三维 物体的投影和图像化过程如图5.16所示。 (1)三维空间内物体的坐标变换,从作为笛卡儿坐标的世界坐标变换到齐次坐标。 (2)必要的话,可以旋转、扩大、缩小。这由4×4且秩为4的矩阵T 来表达。 (3)在射影空间内的平面上进行透视变换。这由4×4且秩为3的矩阵M1 来表达。 (4)从射影空间内的平面到射影平面的变换。这由4×3且秩为3的矩阵M2 来表达。 (5)从射影平面出发到表示射影平面的变换,用4×3且秩为3的矩阵M3 来表达。 92 第 5 章智能机器人的视觉 图5.三维空间内物体图像的形成过程 16 (6)射影平面上的点齐次坐标进行笛卡儿坐标变换 。 步骤(2)到步骤(5)的变换全部为线性变换,可以用矩阵形式表达,即 (6) M =T·M1·M2·M35. 对于步骤(1) x,z), x,z)x,z, 中的对象点P(y,齐次坐标变换为(y,→[y,1]。射影变 换的结果即是右乘矩阵 M : [t, = [ M ]5. 步骤(6)是为了得到成像平面的坐标进行的笛卡儿坐标变换,可表达为 [s,t,s/t/(5. u]→[u,u] 8) 5.图像的获取和处理 3 5.1 成像模型 3. 成像系统的建模是建立摄像机成像面坐标与客观三维场景的对应关系。 1. 成像坐标变换 成像变换涉及不同坐标系之间的转换,从三维场景到数字图像的获得所经历成像的变 换如图5. 17 所示。 图5.坐标系转换关系图 17 93 1)图像坐标系 摄像机采集的图像是以M ×N 的二维数组存储的。如图5.18所示,在图像上定义的直 角坐标系u-v 中,坐标系原点位于图像的左上角,图像坐标系的坐标(u,v)是以像素为单位 的坐标。 图5.18 图像坐标系u-v 2)成像平面坐标系 图像坐标系中的坐标(u,v)只表示像素位于数组中的 列数与行数,并没有用物理单位表示出该像素在图像中的位 置,因此需要再建立以物理单位(如mm)表示的成像平面坐 标系x-y。 若原点O 在u-v 坐标系中的坐标为(u0,v0),每一个像 素在x 轴与y 轴方向上的物理尺寸为dx,dy,则图像中任 意一个像素在两个坐标系下的坐标关系如下: u =x dx +u0 (5.9) v =y dy +v0 (5.10) 用齐次坐标与矩阵将上式表示为 u v1 é . êêêê ù . úúúú = 1 dx 0 u0 0 1 dy v0 0 0 1 é . êêêêêê ù . úúúúúú x y1 é . êêêê ù . úúúú (5.11) 3)摄像机坐标系 摄像机坐标系是以摄像机为中心制定的坐标系。摄像机成像的几何关系如图5.19 所示。 图5.19 摄像机成像与摄像机为中心制定的坐标系的几何关系 94