基于MATLAB 的二维图像识别及立体匹配的仿真与研究毕业论文
2020-04-09 15:32:42
摘 要
二维图像的三维重建技术是计算机视觉研究领域的重要内容,基于双目立体视觉的三维重建是一个热门的研究方向。双目立体视觉模仿人类双眼对三维场景的认知,对同一场景在两个不同方位采集两幅图像。双目立体视觉技术在虚拟现实,机器视觉,多媒体教学,数字娱乐,产品设计,雕塑和建筑中具有广泛的应用。本文通过查阅大量的相关文献资料以及技术成果,通过摄像机标定、特征提取、立体匹配和三维重建四个主要技术模块完成了双目视图的三维重建。
主要研究如下:
1. 设定一个标定模板,使用摄像机在不同角度拍摄两幅同一场景带标定模板的图像。然后对摄像机进行标定处理,得到摄像机的相关参数。
2. 对获取的图像进行滤波和锐化等预处理,并使用SURF(Speeded Up Robust Features, 加速健壮特征)算法从两幅图像中提取特征点,然后使用匹配规则(如极线约束)对两幅图像中的相同特征点进行匹配。
3. 在完成摄像机参数标定和双目视图特征点匹配的基础上,根据双目立体视觉原理,得到特征点的三维空间信息,然后实现特征点的三维点云重建。最后,在计算机上通过MATLAB编程进行仿真,实现二维图像的三维重建。
关键词:双目视觉;摄像机标定;立体匹配;三维重建;MATLAB
Abstract
The 3D reconstruction technology of 2D images is an important content in the field of computer vision research. 3D reconstruction based on binocular stereo vision is a hot research direction. Binocular stereo vision imitates the recognition of three-dimensional scenes by human eyes and collects two images of the same scene in two different directions. Binocular stereo vision technology has a wide range of applications in virtual reality, machine vision, multimedia teaching, digital entertainment, product design, sculpture and architecture. This article through the review of a large number of relevant literature and technical achievements, through the camera calibration, feature extraction, stereo matching and three-dimensional reconstruction of the four main technical modules to complete the three-dimensional reconstruction of the binocular view.
The main research is as follows:
1. Set a calibration template and use the camera to take two images of the calibration template with the same scene at different angles. Then calibrate the camera to get the relevant parameters of the camera.
2. Preprocess the acquired images such as filtering and sharpening, and use SURF (Speeded Up Robust Features) algorithm to extract feature points from the two images, and then use matching rules (such as polar line constraints) on the two The same feature points in the image are matched.
3. Based on the calibration of camera parameters and the matching of feature points in binocular view, three-dimensional spatial information of feature points is obtained according to the principle of binocular stereo vision, and then 3D point cloud reconstruction of feature points is realized. Finally, simulations are performed on the computer through MATLAB programming to achieve three-dimensional reconstruction of two-dimensional images.
Key words: binocular vision; camera calibration; stereo matching; 3D reconstruction; MATLAB
目录
摘要 I
Abstract II
第1章 绪论 1
1.1 研究背景及意义 1
1.2 双目立体视觉理论 1
1.2.1 立体成像方式 1
1.2.2 双目成像的视差和深度计算 2
1.3 国内外研究现状 4
1.4 论文主要研究内容以及章节安排 4
1.4.1 主要研究内容 4
1.4.2 论文章节设定 4
第2章 摄像机标定 6
2.1 摄像机标定方法简介 6
2.1.1 普通的摄像机标定方法 6
2.1.2 摄像机自标定方法 6
2.2 摄像机成像几何模型 6
2.3 摄像机参数和透视投影 8
2.3.1 坐标系变换和刚体变换 8
2.3.2 摄像机参数和透视投影 9
2.4 Tsai两步法标定 10
2.4.1径向排列约束 10
2.4.2 径向约束两步法标定过程 11
第3章 特征提取与立体匹配 13
3.1 图像预处理 13
3.1.1 图像滤波 13
3.1.2 图像锐化 17
3.2 图像特征点检测 19
3.2.1 SURF特征提取 19
3.2.2 积分图像 20
3.2.3 DoH近似 21
3.2.4 尺度空间表示 21
3.2.5 SURF特征描述算子 21
3.3 立体匹配 23
3.3.1 基本约束条件 23
3.3.2 区域相关测度 23
3.4 实验结果图 24
第4章 三维重建 30
4.1 基于全局优化的基础矩阵求解 30
4.1.1 基础矩阵参数化 30
4.1.2 基础矩阵全局优化算法 30
4.2 度量空间三维点云恢复算法 31
4.2.1 射影空间双目视图投影矩阵求解 31
4.2.2 度量空间投影矩阵求解 31
4.2.3 分层三维结构恢复算法 32
4.4 实验结果图 33
第5章 总结与展望 35
5.1 总结 35
5.2 展望 35
参考文献 37
致谢 39
第1章 绪论
1.1 研究背景及意义
二维图像的三维重建是计算机图形学和计算机视觉研究领域内基础且重要内容。一般的,我们可以使用3D MAX、Maya等建模软件人为实际操作去实现三维模型重建,但是这种办法会耗费大量的人力物力,不仅过程复杂而且代价较大[1]。所以需要研究出一个基于图像的重建方法。三维重建技术在工程建筑、考古研究及目标识别等方面都有很大的需求。
三维模型重建一般有两种方法。第一种方法是指使用三维扫描仪对物体直接扫描以获得三维数据,第二种方法是指基于二维图像的三维重建方法[2]。事实上,使用扫描仪的主动方法虽然是目前应用最广泛的方法,而且数据较精确,但也存在一些缺点与局限性:
(1)代价昂贵:普通的工业级三维扫描仪价格在数万元以上,小型三维扫描仪也需要上万元;
(2)使用方法具有侵略性:不能应用于某些对象(如人脸);
(3)分辨标准不同:不同品牌和型号的三维扫描仪具有不同的参数,容易对同一物体的三维结构产生偏差;
(4)无法分辨颜色:普通的扫描仪无法识别颜色,使重建视觉效果不好。
因此,基于二维图像的三维重建方法适用范围广、能重建物体色彩且成本较低。
二维图像的三维重建可以通过标定图像或者非标定图像。通过标定图像进行三维重建需要在三维场景中事先放置已知参数的标定物体,这导致在某些情况下无法使用这种方法。基于非标定图像的三维重建方法克服了标定图像方法的局限性,仅依靠图像的特征匹配来恢复三维空间信息,在可行性和实用性上有很大的应用前景。目前,基于非标定图像的重建方法通常只针对窄基线图像序列,这使得在完整将三维场景重建出来的过程中需要很多幅二维图像,这增加了时间成本和运行处理的硬件资源[3]。本文针对这一问题,研究了基于双目视图的三维结构重建的问题。
1.2 双目立体视觉理论
计算机立体视觉模拟人类双眼,从两个不同方位获取两幅图像并从中得到视差信息,同时计算出两幅图像的深度图像,然后通过深度图像的相关信息得到特征点的三维空间信息,并由此完成三维重建工作。
1.2.1 立体成像方式
拍摄的图像效果会受到光照条件、摄像机以及拍摄场景等因素的相对方位和运动状态的影响。单目成像是最基本的成像方式,即使用一个摄像机在同一个角度对场景拍摄一幅图像。此时拍摄图像的几何畸变、明暗程度、色彩信息以及表面轮廓等信息即记录了场景的三维空间信息[4]。双目成像则是使用两个参数一致的摄像机拍摄两幅同一场景不同方位的图像,也可以通过一个摄像机先后拍摄。通过对两幅图像之间的视差数据进行处理后可以得到场景的深度信息。
1.2.2 双目成像的视差和深度计算
双目立体视觉系统中,获得场景深度信息的步骤为:第一,提取出两幅图像中的特征点并且进行相同位置特征点的匹配;第二,通过视差信息计算出特征点的场景深度。通常情况下,两个摄像机的参数一致,同时光轴平行且与基线相垂直,由此条件可以计算出两幅图像水平方向上的视差信息。以便在特征点匹配的过程中缩小搜索范围,减少了时间和空间复杂度。
双目视图是指两幅同一三维场景不同方位的图像。图1.1是双目视图的获取过程原理图,图中两个镜头的中心点连线即为系统的基线B。在采集了空间点W的像平面坐标()和()后,通过双目立体视觉系统可以得到空间点W的世界坐标()。在摄像机坐标系与世界坐标系重合,像平面坐标系与世界坐标系XY平面平行的条件下,两个摄像机坐标中W点的Z坐标一致[5]。
将一致的两个摄像机坐标相互对应的坐标轴调整到平行状态,调整精度要高,但是原点在空间中的位置不同。图1.2表示了两个摄像机连线所在平面的情形。调整一个摄像机坐标系与世界坐标系相互重叠,由透镜成像公式(1.1)可得W点的X坐标为
(1.1)
(1.2)
式(1.1)中u表示透镜的像距,v表示物距,式(1.2)中和则表示第一个摄像机坐标系原点与世界坐标系原点在同一位置。如果第二个摄像机坐标系原点与前者一样,可以计算出W点在X方向的坐标为
(1.3)
由于在两个摄像机坐标系统中,基线长度是B且W点的Z坐标是相同的,所以有
(1.4)
(1.5)
将式(1.4)和式(1.5)带入式(1.2)和(1.3)中得到
(1.6)
(1.7)
用式(1.7)减去式(1.6)可解出
(1.8)
图1.1 双目成像示意图
图1.2 平行双目成像中的视差
物体与像平面之间的距离Z通过式(1.8)与视差d可以产生关联,由左右视图的视差信息计算出三维场景的深度信息,进而通过深度信息就可以得到三维空间信息。在预先知道视差d、基线和焦距的情况下,可以很容易得出W和Z的坐标。此外,Z坐标确定后W点的世界坐标x和y可用()或()借助式(1.1)算得。
1.3 国内外研究现状
近年来,对于基于二维图像的三维重建问题,国内外许多学者进行了深入研究,并取得了许多研究成果。虽然相关技术理论方面已经相当成熟,但是随着时代的发展与进步,人们开始追求更加鲁棒、高效率的重建技术。因而,基于二维图像的三维重建技术一直是一个研究热点,并且研究成果颇丰。
Hernandez提出了由二维图像边缘轮廓提取特征点实现三维重建的方法。在图像标定时只需要图像序列的边沿轮廓信息,即进行摄像机标定只需要图像序列中包含的边沿轮廓信息[6]。当然,是Baumgart在他的博士论文中第一次提出通过场景的边沿轮廓信息进行三维场景的重建。但是,Hernandez的方法有很大的限制性,即要求摄像机相对于被重建的场景做严格的圆周运动,以至于能够准确得到位移角。Nister和Pollefeys提出了根据SFM(Structure from Motion)的进行三维重建的方法,对视频中每一帧之间对应的特征点进行摄像机标定。该方法首先采集视频文件中的关键帧,在完成相关图像预处理后,利用 Harris算子和Canny算子分别提取主要帧中的特征点,经过进一步计算处理,得到匹配后特征点的三维信息[7]。然后使用自标定方法从射影空间转化到度量空间。最近二三十年来,很多学者对基于SFM的三维重建系统进行了大量研究。但是,对于现有的SFM三维重建系统来说,在很多方面还存在着问题。很多学者提出的方法要求特定条件,对处理工具与图像获取的要求都不易实现。同时,大多数的研究只是进行场景特定情形下的重建,重建效果不理想。
1.4 论文主要研究内容以及章节安排
1.4.1 主要研究内容
本文以双目立体视觉作为理论基础,通过两个相同的摄像机对同一场景的不同方位拍摄两幅图像,经过图像预处理后,通过摄像机标定和特征提取及匹配得到图像的三维空间信息,最后使用点云三维重建技术恢复出二维图像的三维空间模型,流程如图1.3所示。
图1.3 本文的主要内容
1.4.2 论文章节设定
论文的章节设定如下:
(1)第1章是绪论部分。包括课题的研究背景及意义,双目视觉理论的基本原理和基于双目视觉理论的三维重建流程以及国内外研究现状和论文的内容安排。
(2)第2章说明摄像机标定的相关原理。本文通过简单的针孔模型,研究透视投影及不同坐标系统之间的转换关系,从而求解出摄像机的相关参数。
(3)第3章介绍图像预处理和特征点提取及匹配的相关内容,包括图像的滤波、图像的锐化等过程,说明了SURF(Speeded Up Robust Features, 加速健壮特征)算法在图像的特征点提取与匹配方面的实现。
(4)第4章给出了双目立体视觉的点云三维重建的过程。由特征点匹配后获得的视差信息,计算出场景的深度信息,再结合摄像机相关参数求解出特征点的三维坐标。
(5)第5章是对全文研究内容的一个总结,同时对后一阶段的研究工作做出了展望。
第2章 摄像机标定
计算机视觉系统以摄像机获取的双目视图作为基础,经过处理后得到场景的三维空间信息,然后通过得到的数据进行三维重建[8]。在摄像机将三维场景拍摄成二维图像后,场景中的光照、物体形状、噪声和镜头畸变等,都通过二维图像中的灰度值记录下来。图像中各点的亮度变化说明了拍摄时场景中的光照条件,像平面坐标系中的点与世界坐标系中的点相互对应。
2.1 摄像机标定方法简介
2.1.1 普通的摄像机标定方法
三维重建中的摄像机标定一般情况下通过求解摄像机投影矩阵实现。摄像机的几何光学特性、焦距等参数是内部参数,确定摄像机内部参数的过程通常称为内标定。摄像机的外部参数规定摄像机的拍摄方位,由摄像机的旋转矩阵和平移向量组成,确定摄像机外部参数的过程通常称为外标定。传统的摄像机标定方法需要预先在场景中放置已知三维参数的标定物体,利用标定物体已知的三维坐标数据与像平面坐标系统的相互关系来得到摄像机的相关参数。尽管这种方法可以获得较高的精度的摄像机参数估计,但是标定物体的嵌入限制了其在部分场合的应用。
2.1.2 摄像机自标定方法
一种更加理想的不需要标定物体的标定方法是自标定。自标定的方法是Mybank和Faugeras等人首先提出来的,这种方法不需要标定物体,因此可以在很多场合中使用。Mybank和Faugeras等的方法利用绝对二次曲线及其对偶成像的不变性[9],得出了左右视图之间存在Kruppa方程的约束关系,通过双目视图的两幅图像就可以实现摄像机的自标定。基于Kruppa方程的自标定方法在随后的研究中受到学者的广泛关注。但是,噪声对Kruppa方程的解影响很大,同时解的个数随图像数量的增加以指数方式增长,这就造成了很大的局限性。Heyden和Pollefesy等的进一步研究表明在摄像机内部参数变化的情况下,实现摄像机自标定在理论上也是完全可行的。虽然摄像机自定标技术已经日趋成熟,但是得到鲁棒性更好实用性更强的算法仍然是一个研究难题。
2.2 摄像机成像几何模型
摄像机成像就是将三维立体的信息投影到平面的二维图像上。结合摄像机的相关参数,通过特征点间的匹配关系,从二维图像中提取出三维信息[10]。在实际需求中,由不同的摄像机方位,采用相对应的摄像机投影模型。三种主要的摄像机投影模型分别是透视投影、平行投影和正视投影,通常采用透视投影模型,平行投影适用于三维空间的大小远小于摄像机物距的情形。
通常情况下,针孔模型使用大多数摄像机模型,针孔模型是一种简单的透视投影。三维场景投影到摄像机拍摄的二维图像上,然后通过同一点在各个坐标系之间的相互联系,得到该点的三维信息。四种主要坐标系如下:
以上是毕业论文大纲或资料介绍,该课题完整毕业论文、开题报告、任务书、程序设计、图纸设计等资料请添加微信获取,微信号:bysjorg。
相关图片展示: