论文部分内容阅读
视觉是人类观察和认知世界的重要方式之一,人类所需要的75%的信息都是视觉系统提供,通过机器模拟人类视觉在学术和工程领域有着重要的理论意义和实用价值。双目立体视觉就是通过模拟人眼的视觉方式,从两个不同的角度对同一物体进行观察,从而获得同一物体不同角度的图像,然后再通过成像几何原理计算景物图像像素之间的视差,从而获得目标景物的三维信息。双目立体视觉技术主要有摄像机标定、双目校正、立体匹配和三角测量四个重要组成部分。本文主要完成两方面工作:一方面,针对双目立体视觉技术的基本原理,基于OpenCV,深入研究双目立体视觉系统,搭建一个可以对近景进行测距的双目立体视觉系统的软硬件平台;另一方面,提出一种基于模糊划分的立体匹配算法,提高了匹配精度及匹配对分割的鲁棒性。本文在双目立体视觉系统的各个实现环节对比大量不同类型的方法,选取符合实际需求算法,设计一套稳定高效的双目立体视觉技术实现流程。摄像机标定是整个环节的前提,本文选择实现容易、适用于近景、标定精度高的Zhang标定方法,将其部署在本系统平台上实现单双目标定。选择了Bouguet算法实现双目校正,因为其算法原理主要使用标定算法获得的参数,运算量小。实现了近十种立体匹配算法,比较了局部算法和全局算法的优劣。在以上三个步骤后,通过三角测量完成本平台测距功能。立体匹配因其寻找匹配点的不确定性,一直是双目立体视觉技术的重点和难点,本文立足现实应用环境,受到模糊思想的启发,提出一种基于模糊支持权重的立体匹配方法。本方法使用Middlebury数据库与多种算法进行对比,其中包括近年的先进的立体匹配算法。同时,将这些算法移植到本系统平台中,利用平台获取实测数据,对其在现实场景中的匹配效果进行了对比。两个实验结果都表明本文改进的立体匹配方法在低纹理、重复纹理、深度不连续和遮挡景物等区域的匹配效果更佳。本平台硬件部分主要有双目摄像头和自制的标定板;软件部分采用Qt完成软件交互界面的设计,实现上层的应用接口,然后使用C++语言,包含OpenCV库中大量的机器视觉处理算法,完成双目立体视觉系统中底层算法的实现。本文实现的双目立体视觉系统能够进行较准确的近距离测距。