论文部分内容阅读
视觉系统是人类感知世界、认识世界最重要的功能器官,人类通过视觉来获得外界的大部分信息。以计算机为核心的机器视觉是为了使计算机应用具有通过二维图像信息来认知三维世界环境信息的能力,它已成为目前最热门的研究之一,在军事、航天、医学等领域有着越来越多的应用。本文着重研究的是双目立体视觉系统,根据视差原理,逐步实现图像数据的捕获,摄像机的标定,特征点的检测、提取与跟踪,图像的立体匹配和三维重建,最后通过以上一系列工作获得的数据完成对运动目标的距离测量和速度测量。本课题实验中,首先利用OpenCV计算机视觉库在VS2005平台下实现双摄像头对视频图像的同步捕获。考虑到实验过程的复杂程度与可行性,本文采用了介于传统标定方法与自标定方法之间的张正友棋盘标定法对左右摄像头进行标定,制作了标定棋盘模型,通过多组标定实验分别获得摄像头的内外参数。然后分别利用Harris角点检测法、Shi-Tomasi (最优跟踪点GoodFeatureToTrack)角点检测法和KLT特征点跟踪算法完成对两个摄像头同时捕获的目标物图像的特征点提取与跟踪。针对图像的立体匹配,本课题实验分别完成了SIFT立体匹配算法和极线约束下的块匹配算法的实验,并分别获取了两种方法的匹配点对的图像坐标。然后基于立体匹配获得的匹配点对,根据视差原理实现三维重建,根据之前角点检测和立体匹配的不同算法,组合出三种不同的测距方案:Harris角点检测+极线约束下的块匹配,最优点提取+KLT特征点跟踪+极线约束下的块匹配,SIFT特征点提取+极线约束下的块匹配。分别对这三种测量方案进行距离测量的实现,对得到的结果进行对比分析。最后重点研究了Kalman滤波器的相关理论,并利用Kalman滤波器实现了对运动目标的测速,得出了实验结果。本文利用两个相同的高清USB摄像头,基于OpenCV计算机视觉库,在VS2005编译环境下,利用C++编程实现课题实验的各部分内容。