基于OpenCV的双目摄像头测距系统毕业论文
2021-12-24 16:21:05
论文总字数:26414字
摘 要
本文的主要内容是实现双目视觉测距功能。随着技术的发展,基于机器视觉的无人驾驶技术,已经成为人工智能研究领域的一个重要内容。无人驾驶汽车能够自动分析当前路况,并及时给出最优最有效的路线,一定程度上比人类自身的反应速度更快一点。针对该技术要求,本文从摄像机标定、立体矫正、立体匹配三个方面展开具体研究。开发平台选择使用QT 5.12.6结合OpenCV 2.4.9视觉库。
本文使用的是张正友摄像机标定法来进行摄像机标定工作。提取棋盘格角点,再通过亚像素级角点检测得到精确的角点坐标。对标定结果进行误差分析,再对图片做立体校正工作,使得图像能在成像平面坐标系中行对准,减少后期立体匹配的难度。
在立体匹配过程中,本文采用的是Block Matching(后文统称BM算法)。BM算法一种块匹配算法,虽然这种算法需要调整参数才能得到较好的效果,但它的计算速度快速,每秒钟能够处理数张图像。BM算法处理后得到的视差值类型是16位整数类型,需要后期转换为浮点类型才能得到真实的视差值。
根据立体匹配输出的视差图,结合几何原理得到待测物在空间里的三维坐标。课题结果表明,系统在一定的距离内测距结果是比较精确。
关键词:双目视觉 摄像机标定 立体矫正 立体匹配 三维测距
Binocular Camera Ranging System Based on OpenCV
ABSTRACT
This subject mainly discusses the realization process of binocular vision ranging function. The driverless car can automatically analyze the current road conditions and reset the optimal and most effective route in time, which must be slower than the response speed of human beings. Aiming at the technical requirements, this subject will conduct specific research from the aspects of camera calibration, stereo correction and stereo matching.The development platform chose to use QT 5.12.6 combined with OpenCV vision library 2.4.9.
This subject uses Zhang's calibration method to calibrate.This method is mainly to initially extract the corner points of the calibration grid of the self-made black and white checkerboard, and then obtain more accurate corner coordinates by sub-pixel-level corner detection. The camera parameters obtained after calibration must be analyzed first. Within the error range, the obtained calibration parameters are used as the relevant parameters for stereo correction, so that the image can be aligned in the imaging plane coordinate system, thereby reducing the difficulty of stereo matching.
In the process of stereo matching, this paper uses the Block Matching algorithm (hereinafter referred to as the BM algorithm). BM algorithm is a block matching algorithm. Although this algorithm needs to adjust parameters to get better results, its calculation speed is fast, and it can process several images per second. The type of parallax value obtained after BM algorithm processing is a 16-bit integer type, which needs to be converted to a floating-point type later to obtain the true parallax value.
According to the disparity map, combined with the geometric principle, the spatial coordinates of the object to be measured can be obtained. Experiments show that the system's ranging results are more accurate within a certain distance range.
Key Words:Binocular vision;Camera calibration;Stereo correction;Stereo matching;3D ranging
目 录
摘 要 I
ABSTRACT II
第一章 绪论 1
1.1 研究背景及意义 1
1.2 国内外发展状况 2
1.2.1 国内发展现状 2
1.2.2 国外发展现状 2
1.3 论文章节安排 3
第二章 双目摄像机模型与标定 6
2.1 摄像机成像模型 6
2.1.1 线性相机模型 6
2.1.2 非线性相机模型 6
2.2 四种坐标系的关系 8
2.2.1 像素坐标系和图像平面坐标系 8
2.2.2 摄像机坐标系 9
2.2.3 世界坐标系 10
2.3 摄像机标定方法 11
2.3.1 传统摄像机标定方法 11
2.3.2 摄像机自标定方法 11
2.3.3 张氏标定原理 12
2.4 本章小结 13
第三章 立体匹配与深度测距技术 14
3.1 立体匹配算法 14
3.1.1 BM匹配算法 14
3.1.2 SGBM匹配算法 15
3.2 三维坐标信息的提取 17
3.3 本章小结 19
第四章 基于OpenCV的双目视觉测距系统 20
4.1 双目视觉系统的构成 20
4.1.1 硬件平台的构成 20
4.1.2 软件平台的构成 20
4.2 双目摄像机测距系统程序设计 21
4.3 双目摄像机标定实验 23
4.3.1 基于OpenCV的双目摄像机标定 23
4.3.2 标定误差分析 27
4.3.3 立体校正 28
4.4 立体匹配与测距实验 29
4.5 实验结果分析 32
4.5.1 实验结果 32
4.5.2 误差分析 34
4.6 本章小结 35
第五章 总结与展望 36
参考文献 38
致 谢 40
绪论
研究背景及意义
大量科学研究表明,人类对外界事物的感官认知大部分是来自于视觉[1]。人类利用来判断物体的相关信息,包括颜色,形状和距离等,通过大脑对物体进行分析处理,从而对物体做出相应的反应。自20世纪以来,计算机强大的数据计算和分析处理能力被更多的应用在科研领域,在保证数据处理准确度的基础上也减少了处理时间,为科研工作带来了极大的便利。计算机视觉将视觉系统与计算机技术相结合。图像信息是由无数不同灰度值的像素点组合而成,分辨率越高的图像其像素点也会越多,图像处理分析的工作量也会更大。正因如此,图像处理和分析更需要计算机技术的协助来减小工作量。计算机可以将一幅图像以数组形式存储,一个元素对应图像中的一个像素点,表示该图像时只要对该数组元素进行赋值即可[2]。
双目视觉是计算机视觉的一个重要分支,主要应用在一些特定场合下空间三维距离的测量[3]。双目视觉测距主要由双目相机标定、立体矫正、立体匹配和三维信息提取四个部分组成[4]。这其中,相机标定和立体矫正部分的理论已经相对成熟,结果也能保持在较高的精度。立体匹配的结果会直接影响测距的准确性,这是由于双目视觉测距主要是利用视差原理来进行测量的,而匹配的目的是为了得到视差图,因此选择一个合适的匹配算法至关重要。
请支付后下载全文,论文总字数:26414字