安徽理工大学电气与信息工程学院 潘庆甫 潘庆茹
双目立体视觉(Binocular Stereo Vision)是机器视觉的一种重要形式,它是基于视差原理并利用成像设备从不同的位置获取被测物体的两幅图像,通过计算图像对应点间的位置偏差,来获取物体三维几何信息的方法。本文对双目立体视觉测距系统的软硬件结构对进行介绍。
系统采用的硬件环境是ARM嵌入式平台,系统的硬件结构包括三星公司推出的16/32位RISC微处理器S3C2440A,0.13um的CMOS标准宏单元和存储器单元,两个CMOS的USB接口的东英网眼摄像头webeyeV2000,一个STN液晶显示屏。系统硬件结构图如图1所示:
图1 系统硬件结构示意图
系统的软件结构主要包括3个部分:嵌入式操作系统、硬件驱动程序和应用软件。
Linux具备源码开放、可移植、内核可裁减等特性使其成为一种重要的嵌入式操作系统。
Linux内核中带有USB控制器OV51和Framebuffer设备的驱动程序,可缩短开发周期,在编译和裁剪内核时加入这些内核模块,在烧写内核时用bin文件夹下的insmod命令进行安装。
为了实现特定功能,需要编写有针对性的应用程序。
摄像机从左右两个不同的角度对同一个目标物体进行图像的采集、图像处理。
软件流程框图如图2所示,主要包括以下几个步骤:首先打开V4L设备和Framebuffer设备,利用ioctl函数来获取设备信息并且采集图像,获得摄像头采集的映射到内存里的图像数据的地址。进而液晶屏上显示两个摄像头在不同角度采集到的图像。将采集到的两幅图像进行处理,提取相应的匹配点对,最后代入公式计算出距离并在超级终端显示。
图2 软件流程框架图
我们已经对双目立体视觉测距系统的软硬件结构进行介绍,实验的过程中我们选择具有明显特征的目标物进行测距,并且排除实验过程中出现的干扰,对于摄像机的标定以及图像的立体矫正均采用传统方法,当两幅图像的相应匹配点对后,将匹配的结果所对应的坐标信息代入公式计算目标物体与两摄像头之间的距离并最终在液晶屏上显示。最后对数据的处理为过程为测多组数据取平均值的方法以减少测量误差。测量结果如下表3所示,测量结果表明:测量的距离越远,测量误差就会越大。
表1 实验测距结果
引文
①田泽.ARM9嵌入式Linux开发实验与实践[M].北京:北京航空航天大学,2006.
②王鑫,陈晓竹,徐倩.USB接口的嵌入式图像采集与显示系统[J].中国计量学院学报,2006(01):60-63.