专利名称:一种立体视觉智能控制方法
技术领域:
本发明涉及一种智能控制方法,尤其涉及一种拥有立体视觉功能的智能控制方法。
背景技术:
视觉是人类感知和理解客观世界的一个重要信息来源。机器视觉也称计算机视觉,就是希望通过对图像的理解,用电子或者计算机等手段来模拟人类的视觉功能。然而,这通常是一个非常复杂的任务客观世界是三维的,图像传感器、摄像机等设备所能提供的只是二维的图像信息,成像过程实质上是一个三维向二维投影的过程,在这个过程中必然会损失大量的信息。如果处理对象是动态的,或者图像采集设备本身是动态的,那么情况将更加复杂。
双目立体视觉是机器视觉的一个重要分支,它利用两个不同位置的摄像机拍摄同一场景,通过计算空间点在两幅图像中的视差,恢复出该点的深度(距离)信息。80年代,美国麻省理工学院人工智能实验室的Marr教授提出了视觉计算理论,使两张有视差的平面图产生了具有深度信息的立体图形,奠定了双目立体视觉发展理论基础。相对于其它类似的立体成像的方法,如透镜板三维成像、投影式三维显示、全息照相等,双目立体视觉模拟了人眼的功能,具有探测范围宽、目标信息完整等优势,在许多领域极具应用价值,如位姿检测与控制、机器人导航与航测、三维测量学及虚拟现实等。
近年来双目立体视觉已经成为了一个研究热点,并取得了不少成果。例如,日本大阪大学自适应机械方法研究院研制的自适应双目视觉伺服方法,日本东京大学开发的仿真机器人动态行走导航方法,美国卡内基·梅隆大学发明的Navlab自主驾驶视觉导航方法,华盛顿大学与微软公司合作开发的宽基线立体视觉方法,以及著名的“勇气号”和“机遇号”火星探测机器人等等。此外,许多汽车厂商都在积极尝试将机器视觉技术运用到现代汽车中去。通过对车内和车外捕捉到的高速视频影像进行处理,可以实现车道偏离监测、碰撞前警示、避免碰撞、后倒车灯警示和车距计算等任务,可以显著提高汽车的安全性。
然而视觉方法涉及到动态图像的处理,往往存在数据量大、计算过程复杂、硬件要求高等问题。上述研究成果大都方法复杂、成本高昂,不利于推广使用。
发明内容
本发明的目的是提供一种能根据周围环境的变化自主采取行动策略的立体视觉智能控制方法。
为实现上述目的,本发明设计目标有两点1)设计一种双目立体视觉算法。该算法能够减少计算的数据量、降低方法复杂度、具有良好的实时性,并且有一定的可靠性。
2)搭建一个双目立体视觉平台,实现一个简单应用。在本设计中利用双目立体视觉技术,实现移动系统自主检测障碍距离,避免碰撞。
立体视觉是人类获取环境三维信息的主要途径。人类的许多能力,如识别和定位物体,回避障碍物,和搜索物体等都要依靠立体视觉。人眼产生立体视觉工作原理如图1所示。在研究人的视觉时常用视差角来表示视差。固定点的视差为零,如果物体点在固定点的前方(离透镜较近,图1(a))这时的视差称为收敛视差。如果物体点在固定点后方(图1(b)),这时的视差称为发散视差。视差直接反映物体点距固定点的距离,而固定点的位置可通过改变双目光轴的夹角进行调整。例如,人在观察近处的物体时就需要把双目的光轴会聚在近处。
双目立体视觉正是从人的双目产生立体感中获得启示,研究如何通过两个不同位置的摄像模块得到的同一场景的两幅图像中获取深度信息[3]。这面临许多困难,主要原因有以下几点●成像系统将三维的客观世界透视投影成为二维的图像,这个过程中会有大量信息损失。例如,场景中某一点到光心连线上的所有点最后只投影为一个像素点。通过图像测量从二维信息恢复三维信息过程是受约束的,必须加入其它辅助信息才有可能实现。
●图像灰度信息和三维几何场景的关系非常复杂。像素点的灰度值会受到物体表面反射特性参数,表面方向、类型和照明方位,以及观测者位置等因素的影响。
●场景中的遮挡现象,图像中的噪声以及许多算法的时间复杂度也都为立体视觉的实现带来了困难。
立体视觉是年轻的领域,目前还没有统一的理论。各个不同的研究小组对立体视觉的任务有不同的理解,比较有代表性的有Marr理论、Aloimonos理论和Wechsler理论。Marr的视觉计算理论是首次提出的阐述视觉机理的方法理论,对人类视觉和计算机视觉的研究都产生了深远的推动作用。他认为立体视觉是“从一幅(或者一系列)图像中,提取出精确描述三维场景的信息,并且能够定量地确定场景中物体属性”。Marr提出计算机视觉方法就像一个信息处理设备,应该从三个层次理解
1)计算理论层确定设备的功能,输入输出信号,以及实现功能的逻辑策略。
2)表示和算法层提出计算如何执行,例如信号的表示、算法的实现等。
3)实现层算法的物理实现,即具体应用到软件和硬件上。
双目测距的方法有许多种,在立体视觉智能控制方法中采用透视投影模型,如图2所示。图2(a)是两摄像模块观察同一点P的情况。图中两个摄像机的成像平面xlyl、xryr处于同一平面并且与Z轴垂直,焦距相等,光心o1、o2处于X轴。这种条件下,摄像机被称为处于平行对准状态。图2(b)是P点在XZ平面上的投影图。xl、xr分别为点P(Xp,Yp,Zp)在左、右摄像机成像平面中的投影,称为成像点对,也即是在匹配过程中所寻找的在左右两幅图像上代表空间同一点的一对匹配点。
根据摄像机透射投影模型,可以求出P点坐标ZpZp=d·fD]]>其中D=xl-xr,为点P在两摄像机中成像所形成的视差,Zp就是所要求的空间点P到两摄像机中心的距离,即到观测者的距离。d为两摄像机光心之间的距离,f为摄像机的焦距。构建双目视觉方法要求左右两个摄像机焦距相同。xl、xr为摄像机成像平面坐标系下的坐标值。f、xl、xr的单位均为像素数,Zp的单位和d相同。根据图2(b)容易求得Xp=d·xl+xr2D]]>将P点向YZ平面投影,同理可得Yp=d·yl+yr2D]]>这样,P点相对于观测者的位置就可完全确定了,从而能够为实现避障提供充分的信息。
本发明是通过如下技术方案实现的①通过两个摄像头采集图像数据,存入DSP数据缓冲区;②并从每一幅图中取一行数据,通过一定的双目立体视觉算法,计算出障碍物的距离;③利用DSP芯片计算出的距离信息,由此控制方法采取相应的动作(如前进或者后退)。
④方法不断的循环上述步骤,从而自主行动。
本发明中,步骤②所述立体视觉测距算法是一种基于竞争机制的立体匹配方法。
本发明中,所述的基于竞争机制的立体匹配方法,采用如下步骤
①运用外极线约束原理重整图像,取两幅图像中满足外极线约束的一行进行处理;②运用Deriche算子对这两行图像进行滤波、提取边缘点;③随后根据Marr立体视觉约束条件,制定出一套竞争规则。
本发明中,所述的步骤③的Marr立体视觉约束条件,是相容性约束,唯一性约束和连续性约束;本发明中,所述的步骤③由Marr立体视觉约束条件制定的如下规则①几何学约束,左图中的边缘l和右图中的边缘r如果匹配,则必须满足xl>xr;②斜坡约束,具有相同的梯度符号的边缘才有可能匹配;③唯一性约束,左图中某个边缘只能和右图中一个边缘匹配,反之亦然;④顺序约束,假设左图像中有两个边缘点l1、l2,右图像中有也两个边缘点r1、r2,l1与r1匹配,如果xl1>xl2,xr1<xr2,则l2不可能与r2匹配;⑤连续性约束,匹配得到的视差值的变化在图像中几乎处处平滑。
本发明中,所述的基于立体视觉的竞争匹配方法,依据竞争规则将边缘特征点构造成匹配矩阵,并由此获取匹配点,从而得到该点在两摄像模块中空间上的视差,并计算出该点到测试系统的距离。
本发明提出了基于竞争机制的立体匹配算法,并且充分考虑硬件制作的成本要求和方法实时性,对于每幅图像,只处理一行数据,相比传统的视觉处理方法,在保证结果准确度的前提下,大大简化了计算复杂度和降低了计算量。
图1是人眼立体视觉工作原理的收敛视差图。
图2是人眼立体视觉工作原理的发散视差图。
图3是双目测距原理的双目视觉透图。
图4是双目测距原理的X-Z平面投影图。
图5是外极线约束原理图。
图6是匹配矩阵图。
图7是立体视觉智能控制系统框图。
图8是系统程序流程图。
图.9是双目测距流程图。
具体实施例方式
下面结合附图所示对本发明的实施方式作进一步的详细描述获得障碍物的距离信息关键是需要在左、右图像中发现与同一空间点对应的成像点对,这个问题就称为匹配问题。匹配问题是立体视觉中的一个难点问题,主要体现在(1)计算数据量大,实时性差;(2)容易出现多义性问题,即对于一幅图中给定的匹配基元在另一幅图中出现不止一个匹配基元与之匹配。本发明为此设计了一种竞争匹配方法,该方法计算数据量小,实时性好。
立体匹配是立体视觉中的难点问题,不是简单地把两幅图中象素的灰度作比较就能解决的。左、右图像中单个象素点的灰度不够稳定,即使认为它们是稳定的话,也很容易出现在相当大的区域里象素具有相同灰度的情况,这样就造成了严重的多义性问题。
立体视觉处理对搜索匹配点时的多义性问题可分两步来解决。第一步,是在单幅图像作预处理时通过抽取图像局部结构较为丰富的描述来减少错误对应的可能性;第二步,是在两幅图的对应点间作匹配时应用选择性规则来限制搜索空间。各种算法间的区别主要在于它们在匹配时选择什么样的匹配基元作为表面位置标志的基本元素,以及选用什么规则来限制搜索空间和删除不合适的匹配。
根据匹配基元的不同,立体匹配可分为区域匹配、特征匹配和相位匹配三大类区域匹配是考察图像局部灰度的相关程度;特征匹配提取图像边缘特征作为匹配基元;相位匹配以图像中的相位信息作为匹配基元,对图像的高频噪声有很好的抑制作用,适于并行处理。
立体视觉根据其本身特性,有许多匹配约束条件。Marr提出立体匹配的三个约束条件相容性约束,唯一性约束和连续性约束。文献进一步归纳为两类约束本地约束和全局约束。本地约束中包括(1)几何学约束,左图中的边缘l和右图中的边缘r如果匹配,则必须满足xl>xr;(2)斜坡约束,具有相同的梯度符号的边缘才有可能匹配。全局约束包括(1)唯一性约束,左图中某个边缘只能和右图中一个边缘匹配,反之亦然;(2)顺序约束,假设左图像中有两个边缘点l1、l2,右图像中有也两个边缘点r1、r2,l1与r1匹配。如果xl1>xl2,xr1<xr2,则l2不可能与r2匹配;(3)连续性约束,匹配得到的视差值的变化在图像中几乎处处平滑。
立体视觉匹配还必须满足外极线约束。外极线约束原理如图3所示,P为空间一点,OL、OR分辨是左、右图像传感器光心,平面P-OL-OR分别与两个成像平面相交于直线lL、lR。lL、lR互为外极线,P点在直线lL上像点的匹配点一定在直线lR上。运用外极线约束重整图像,可以显著减少计算的数据量。
本发明提出的竞争匹配双目测距算法首先依据外极线约束条件,对图像进行重整。使方法的两个摄像模块始终处于平行对准姿态,选取左图像第n行作为输入时,那么它上面某点的匹配点一定在右图像的第n行。然后将选定的两行图像转为灰阶图像Y=0.299R-0.148G+0.615BY为8位数据,代表每个象素点的灰度值。两行图像数据量为320Bytes。利用Deriche算子依次对图像进行滤波、求导,提取出图像中的边缘点。以边缘点作为匹配基元,依据Marr约束条件制定竞争规则,构造匹配矩阵(如图4所示)。矩阵中的元素代表潜在的匹配点,它们之间按照竞争规则互相竞争,最后的胜者即为最佳匹配点。得到匹配点,也即得到了空间该点在两摄像模块的视差,根据前面所述的双目测距原理容易求得该点的距离。
本发明提出的竞争匹配双目测距算法,具有计算的数据量小、实现简单、实时性好的特点,适用于本发明在接下来部分所要叙述的立体视觉智能控制方法。
本方法采用的摄像模块为台湾原相公司的CMOS图像传感器PAS109B,工作电压为2.4~3.6伏,分辨率为160×120,象素大小为7.25μm×7.25μm,图像帧率最高为60fps(frame per second),支持I2C接口。处理器是台湾骏亿公司提供的DMCU处理器KBD0001C。DMCU是为了适应于现代便携设备发展而出现的一种全新的体系结构,整合了DSP高效的运算能力和MCU强大的控制能力。KBD0001C字长16位,寻址空间为16MB,IROM可用空间256KW,RAM可用空间24KW,其中XRAM 16KW,YRAM 8KW,可在一个时钟周期内分别从这两个RAM中得到两个操作数。KBD0001C最高工作频率为24.576MHz,4级流水线结构。KBD0001C提供48个通用I/O接口,支持SPI、I2C、UART、PWM,内嵌了LCD控制器。另外方法还配有一块LCD S6B33BOA。
立体视觉智能控制系统框图如图7所示,整个系统由4部分组成(1)、KBD0001C子板和母板组成DMCU_ICE_D0001C V2.1开发板,这是本系统的核心部分,实现控制和计算功能,充分体现了DMCU将DSP和MCU结合的优势;(2)、CIS转接板T0409DS008,通过CON1和CON2与DMCU_ICE_D0001C连接,这部分主要实现按键、LCD以及摄像模块的转接功能;(3)、两个摄像模块及其和T0409DS008连接的电路板,该电路板除了实现双摄像模块的转接功能,还使用L293D实现了电机驱动功能;(4)、系统主体部分。
图8为本发明系统程序流程图。系统首先初始化,包括初始化操作系统和创建系统任务——键盘扫描任务、LCD显示任务和用户接口任务,然后在操作系统的安排下依据不同的优先级执行这些任务。系统初始化后,显示主菜单,等待命令。如果启动,KBD0001C依次读取两个摄像模块,并显示到LCD左半部分和右半部分。然后执行双目测距算法,比较测量距离和预设安全距离,如果小于预设安全距离,调整PWM输出占空比为0,使系统停止前进。
双目测距算法如图9所示,大致可以分为三步(1)、用Deriche算子对图像滤波,提取边缘特征信息,提取出的边缘信息用白色“+”动态地标识在LCD上;(2)、获得匹配基元,构成匹配矩阵,依据竞争规则得到最佳匹配点、以及匹配点对应的视差,最佳匹配点用蓝色“+”在LCD上标识;(3)、根据摄像机透视投影模型,计算得出障碍物的距离。
权利要求
1.一种立体视觉智能控制方法,其特征在于它采用如下步骤①通过两个摄像头分时采集图像数据,存入DSP数据缓冲区;②从每一幅图中取一行数据,通过一定的双目立体视觉算法,计算出障碍物的距离;③利用DSP芯片计算出的距离信息,由此控制系统采取前进或后退相应的动作;④循环上述步骤,实现自主行动。
2.如权利要求1所述的一种立体视觉智能控制方法,其特征在于步骤②所述立体视觉测距算法是一种基于竞争机制的立体匹配方法。
3.如权利要求2所述的一种立体视觉智能控制方法,其特征在于所述的基于竞争机制的立体匹配方法,采用如下步骤①运用外极线约束原理重整图像,取两幅图像中满足外极线约束的一行进行处理;②运用Deriche算子对这两行图像进行滤波、提取边缘点;③随后根据Marr立体视觉约束条件,制定出一套竞争规则。
4.如权利要求3所述的一种立体视觉智能控制方法,其特征在于所述的步骤③的Marr立体视觉约束条件,是相容性约束,唯一性约束和连续性约束;
5.如权利要求3所述的一种立体视觉智能控制方法,其特征在于所述的步骤③由Marr立体视觉约束条件制定的如下规则①几何学约束,左图中的边缘l和右图中的边缘r如果匹配,则必须满足xl>xr;②斜坡约束,具有相同的梯度符号的边缘才有可能匹配;③唯一性约束,左图中某个边缘只能和右图中一个边缘匹配,反之亦然;④顺序约束,假设左图像中有两个边缘点l1、l2,右图像中有也两个边缘点r1、r2,l1与r1匹配,如果x11>x12,xr1<xr2,则l2不可能与r2匹配;⑤连续性约束,匹配得到的视差值的变化在图像中几乎处处平滑。
6.如权利要求2,3,5任一所述的一种立体视觉智能控制方法,其特征在于所述的基于立体视觉的竞争匹配方法,依据竞争规则将边缘特征点构造成匹配矩阵,并由此获取匹配点,从而得到该点在两摄像模块中空间上的视差,并计算出该点到测试系统的距离。
全文摘要
本发明公开了一种立体视觉智能控制方法。该方法使用两个摄像模块采集外界视觉信息,通过一定的算法理论进行计算,得出自身与周围障碍物的距离关系,并采取相应的行进措施。本发明方法实现了立体视觉处理场景信息并据此控制方法动作的功能。相比传统的测量距离并且控制自身动作的方法,本发明具有测量准确,不受障碍物干扰,探测范围宽、目标信息完整、适应性强等优点;相比类似的视觉处理算法,本发明采用的算法极大的降低了计算复杂度和计算量,并且拥有良好的实时性和测量准确性,极具推广价值。
文档编号H04N13/00GK1842169SQ20051003004
公开日2006年10月4日 申请日期2005年9月27日 优先权日2005年9月27日
发明者陆起涌, 熊超, 王力超 申请人:复旦大学