当前位置:文档之家› 机器人双目立体视觉测距技术研究与实现_张蓬

机器人双目立体视觉测距技术研究与实现_张蓬

计算机测量与控制.2013.21(7) Computer Measurement &Control ·1775 ·收稿日期:2012-11-25; 修回日期:2013-01-23。

基金项目:油气管道受阻瞬态流时空演化规律及智能控制方法研究(50905186)。

作者简介:张 蓬(1963-),女,北京人,副教授,主要从事机械电子工程,机器人控制技术方向的研究。

文章编号:1671-4598(2013)07-1775-04 中图分类号:TP391.4文献标识码:A机器人双目立体视觉测距技术研究与实现张 蓬,王金磊,赵 弘(中国石油大学(北京)机械与储运工程学院,北京 102249)摘要:机器人视觉是一种重要的机器人传感技术,主要应用于机器人定位和检测之中;文章阐述了构建机器人双目立体视觉测距系统的方法,并运用Labview对所设计的系统加以实现;完成了图像的采集、预处理和边缘检测;通过在Labview中的C语言接口调用C算法程序,进行了物体特征识别和目标物体测距的算法实现;实验表明焦距、滤波算法和外围光源都会对测量结果会产生较大影响;在相同检测距离不同焦距时得到的检测精度会有一些偏差;并且加入低通滤波,可增加图像识别的精度,进而使特征点匹配和检测的精度都有所提高,对提高系统的检测精度具有实际意义。

关键词:移动机器人;图像识别;测距;双目立体视觉Research and Implementation of Robotic Binocular Visual DistanceMeasuring TechnologyZhang Peng,Wang Jinlei,Zhao Hong(China University of Petroleum,Beijing 102249,China)Abstract:Robot vision is an important part of the robot sensing technology,mainly used in robot localization and detection.This paperdescribes a method to build a robot binocular stereo visual distance measurement,and uses Labview tool to design and implement a system.The system has functions of the image acquisition,pre-processing and image edge detection.By using C language interface in Labview,Calgorithm can be used for object features identify and target objects ranging.Experiments show that the focal length,the filter algorithm andperipheral light source have a greater impact on the measurement results.Detection accuracy in the same detection distance and different focallengths has a few of deviation.And adding a low-pass filter can increase the accuracy of identification of the image.Then feature pointsmatching and detection accuracy have improved.It has practical significance to improve the detection accuracy of the system.Key words:mobile robots;distance measuring;binocular stereo vision0 引言机器人视觉又称为计算机视觉,是一门研究通过图像数据观察世界的学科。

机器人借助各种传感装置(如摄像头,声纳,里程计,光电编码器等)获取周围场景的图像信息,以感知和恢复周围的三维环境中的物体的几何形态、颜色、相对位置、安放姿态和运动等信息,并通过对客观世界的描述,感知和解释,经过机器人智能运算完成需要完成的任务[1]。

机器人的双目立体视觉技术是基于模仿人眼与人类视觉的立体感知过程,从两个视点观察同一景物,以获取不同视角下的感知图像,通过三角测量原理计算图像像素间的位置偏差,以获取景物的三维信息。

双目视觉技术在机器人的定位导航、避障、地图构建和测距等方面得到了应用。

1 双目立体视觉的系统组成双目立体视觉是对同一目标的两幅图像提取、识别、匹配和解释,重建三维环境信息的过程。

双目视觉系统通常由图像采集、摄像机定标、图像预处理、立体匹配和深度图生成等五大部分组成。

图像采集即通过光学镜头或红外,超声、X射线等对周围场景和物体进行探测成像,得到关于场景和物体的二维或三维数字图像[2]。

空间点的三维几何位置与其在图像中对应点之间的相互关系是由摄像机成像的几何模型决定的,而这些几何模型参数就是摄像机参数,求解这些参数的过程为摄像机定标[3]。

图像预处理是对原始图像进行处理,例如图像滤波、图像增强、边缘检测等,以便从图像中抽取诸如焦点,边缘,线条,边界以及色彩等关于成像的基本特征[4]。

立体匹配是寻找同一空间景物在不同视点下投影图像中像素间的一一对应关系,从立体匹配实现的技术上考虑,立体匹配可以分为基于区域的匹配和基于特征的匹配。

深度图生成即是深度信息的可视化过程。

2 双目立体视觉测距算法双目立体视觉三维测量是通过计算空间点在两幅图像中的视差来获取景物的三维坐标值。

设空间一点P在世界坐标系下的坐为(X,Y,Z,1),假设两个相同的平行放置的摄像机镜头光心距离为B,摄像焦距为f,成像模型如图1所示,摄像机坐标系的原点O与左摄像机光心O1重合,x1—y与x2—y为两成像平面,因水平轴同线,所以Y轴相同[5]。

以立体空间的一个投影面为例,若左右摄像头成像点坐标分别为(x1,y),(x2,y),那么该点成像平面如图2所示[6]。

通过图2可知在深度d为:d=Bfx2-x1(1) 据此原理,则可推导出3个投影面坐标: 计算机测量与控制 第21卷·1776 ·图1 双目成像原理图2 成像平面图X=x1x1-x2B(2)Y=yx1-x2B(3)Z=fx1-x2B(4) 若像素坐标u-v以像素为单位,O在u-v坐标系中的坐标为O(u0,v0),一般将某一摄像头中轴线与物体所在平面的交点设为原点,像素坐标系下的u,v轴分别平行于图像坐标系下的X,Y轴,(u1,v1)为P点左摄像头拍摄图像中的像素坐标值,(u2,v2)为P点右摄像头拍摄图像中的像素坐标值;dx为图像在X方向上的像素间隔,dy为图像在Y方向上的像素间隔。

图像坐标系与像素坐标系之间存在如下变换关系[7]:uv熿燀燄燅1=1dx0u001dyv0熿燀燄燅0 0 1xy熿燀燄燅1(5) 将公式(5)带入到公式(2)~(4),可得到像素坐标系下P点坐标的表达式:X=u1-u0u1-u2B(6)Y=(v1-v0)dyu1-u2dxB(7)Z=f(u1-u2)dxB(8)3 双目立体视觉测距系统的设计与实现本文设计的双目立体视觉测距系统包含图像采集、预处理与特征识别、摄像机标定及目标物体测距算法实现等4个功能模块。

3.1 图像采集图像采集采用普通USB摄像头,像素为500万,分辨率640×480,最大帧频30FPS。

运用Labview可以通过以下两个方法获得图像。

1)利用NI—IMAQ模块完成图像采集运用视觉与运动模块NI-IMAQdx中的snap控件可以从选取的摄像头中采集图像,首先在Labview中通过NI-image模块中的控件IMAQ Creat创建图像任务。

在创建图像任务的同时要确定图像的格式,边缘尺寸等参数信息。

在进行图像采集时需要通过grab conguifre grab控件对采集的摄像头进行初始化。

用snap控件在读取图像数据时通过控件上的session in和sessionout两个节点进行数据传送。

并通过while循环模块进行连续的图像采集。

对于NI-image中采集到的图像在labview中主要通过image display控件进行图像显示。

通过IMAQdx模块中的close控件对采集得到的图像数据进行清空,完成一次图像的采集过程。

完成图像采集的程序图如图3所示。

图3 用NI-IMAQ模块完成图像采集的程序2)通过Vision assistant控件完成图像采集在Labview中运用NI-image中的Vision assistant插件,可选取单一的控件并通过对任务进行相应的设置完成不同的图像采集和处理的功能,并且可以运用一个空间完成多个任务,不需要一个个的选取不同的控件。

其图像采集程序如图4所示。

图4 运用Vision Acquisition控件完成图像采集3.2 图像预处理和特征识别1)图像的存储与缩放为了方便对图像的调用需要对图像进行储存。

Labview中包含着多种图片的存储方式,其中通过IMAQ Write File控件便可以将采集到的图片储存到指定的路径下,图片可以选择保存为BMP、JEPG、PNG、TIFF等图片格式。

对读取保存的图片进行处理时,同样需要建立图片缓存,并通过IMAQ Read File控件进行图片的读取。

操作时为了避免原图像被覆盖,可以通过IMAQ copy控件对原图像进行复制后再做后续处理。

通过摄像头采集得到的图像可能由于过大或过小不易在显示控件中显示出来,从而需要对图像进行相应的比例缩放。

通过的IMAQ Extract控件可对读取的图像进行缩放操作。

在IMAQ Extract控件的输入端对图像在X轴和Y轴上的缩放比例因子进行设置,便可完成对图片相应比例的缩放。

其图像存储与缩放的程序如图5所示。

2)图像预处理在得到合适大小的图片后还需要对图像进行一定的预处理,以便对图像进行进一步的处理和计算。

在Labview中,可以对图像的像素点进行改变灰度、图像边缘检测、角点检测、第7期张 蓬,等:机器人双目立体视觉测距技术研究与实现·1777 ·图5 图像的读取与缩放滤波等方法的操作,以获得图像的特征信息。

相关主题