【《双目视觉跑道测距算法概述》11000字】_第1页
【《双目视觉跑道测距算法概述》11000字】_第2页
【《双目视觉跑道测距算法概述》11000字】_第3页
【《双目视觉跑道测距算法概述》11000字】_第4页
【《双目视觉跑道测距算法概述》11000字】_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

章丘四中校园新闻发布管理系统的设计与实现双目视觉跑道测距算法概述目录TOC\o"1-3"\h\u1936双目视觉跑道测距算法概述 1319871.1引言 1205671.2双目立体视觉介绍及原理 2228961.3摄像机标定 467931.3.1坐标系转换 4203521.3.2双目标定参数 7244521.3.3双目相机外部参数 1170851.3.4标定实验 12306631.4图像校正 14292241.4.1极线几何和图像校正原理 14219251.4.2图像校正实验 17305271.5立体匹配 1888181.5.1立体匹配算法介绍 18215721.5.2基于SGBM算法的双目立体匹配 19149131.5.3立体匹配结果分析 2053441.5.4算法误差分析 211.1引言本章主要介绍了一种基于SGBM的立体匹配算法,利用该算法实现了获取跑道与飞机之间相对位置坐标的功能,相机拍摄的图像经过图像处理后得到深度图,通过深度图又求得坐标。对于坐标进行分析,可以判断出飞机此时距离跑道的数值,得到飞机在三维空间的位置关系。这项研究实现的前提条件是立体匹配的准确性以及深度图像的准确性及鲁棒性。在本文的研究过程中,通过图像处理后的结果对图像的内容进行分析时,可以看出来跑道在深度图像中是一个明显的特征,也是一个很重要的特征,对于飞机的最终安全着陆起着至关重要的作用,同时对于后续飞机姿态角的计算也是很重要的一步。在进行跑道相对位置获取之前,必须得到可以作为研究的实验图像,由于真实飞机进近着陆时的图像采集条件要求较高,所以实验主要以自己设计的实验场景为主,跑道采用按比例缩小模型来替代真实跑道,使用小觅S1040双目摄像机来进行拍摄。1.2双目立体视觉介绍及原理视觉是一个从古至今都在研究的课题,通过视觉使得人们有了直观感受世界的能力。当前对于视觉的研究更多的被放在了用机器模拟人眼,从而使机器同样获得大量的外部信息。对于人类而言,视觉是一个复杂的过程,这个过程的最终目的是通过当前场景描述来判断更深层次的信息,例如判断物体距离,从而做出相应的下一步的行为。对于计算机而言,视觉所得到的是一幅幅由二维像素信息组成的图像,这些图像包含了真实世界的场景,使用计算机技术对这些信息进行处理便可得到这些物体在真实世界的信息。随着科技的迅速发展,立体视觉已经成为了非常热门的研究方向。双目视觉被定义为来自两只眼睛的视觉,其中每只眼睛感知的数据会有一定的重叠。来自左右目两个不同视图的重叠被用于生物视觉来感知深度,将同一点在不同图像中的点对应起来,这种深度的差别我们称作视差。立体视觉是利用双目视觉,来模仿人的两只眼睛所观测到的世界的三维结构。双目视差是由于两个眼睛观察世界的视角不同而导致物体位置的差异。立体视觉是指从双目视差中提取出来的深度效果。立体视觉系统是一组由两个或多个摄像机构成,使用机器从不同的有利位置来提取三维场景的深度信息,就像人类的双目视觉一样。在立体视觉系统中,摄像机水平对齐,并以一定的距离分开,这个距离我们称为基线距离。图1.1是一个简单的立体视觉系统模型。我们使用左边的一个相机和右边的一个相机来提供提取视差图所需的两个图像。图1.1立体视觉系统简单模型双目立体测距用下图所示的简单排列来说明。在这个理想的系统中,两个相机的光轴完全平行,两个像平面共面,并且不存在镜头失真,理想立体摄像机原理模型如下图1.2。图1.2理想立体视觉系统原理模型两个相机在世界坐标系的情况下,在相机平面可以分别得到各自相对于W点的X和Y的坐标: X1=x1 X2=x2已知基线长度D,且W点到像面的距离是相等的,即可得, X2=X1+D X1=x1 X1+通过上述两组公式,可以求出距离Z值为: Z=f在上述等式中,f是焦距,D是基线,视差被定义为特征点位于X坐标轴上的差值。由此可以得出,视差与距离Z成反比,即视差的变化很小,但对于Z的影响较大,视差变化大,对于Z的影响小。在了解了双目视觉测距原理后,便可以进行具体的测距功能实现,在后续小节进行研究。1.3摄像机标定由于飞机的测距所在的场景是三维世界,而实际所得到的照片是一个个像素组成的二维空间,将这两部分场景联系起来具有很大困难,一部分是由于相机透镜镜头本身所决定,另一部分由图像处理技术所决定。对于本章所研究的相机标定,主要是用来解决第一部分的问题,使镜头本身带来的畸变能够对实验结果产生最小的影响。根据实验所用的相机不同,标定结果参数也会有所不同。对于本文而言,选择的是小觅双目相机,主要研究对本相机的标定操作。1.3.1坐标系转换在本节中,主要讨论了校准摄像机步骤,从而以确定内参、外参、畸变系数的过程。使用标定结果,可以将像素坐标系转换到物理坐标系,从而可以求得像素距离对应实际世界中的距离。为了便于理解后续标定,本文对于一些坐标系定义进行介绍。坐标系定义如下:世界坐标系(worldcoordinatesystem):反应物体在实际世界中的物理位置。单位为米。相机坐标系(cameracoordinatesystem):坐标原点位于相机上,从相机角度来对实际世界的物体进行描述,单位为米。图像坐标系(imagecoordinatesystem):坐标原点位于图像中心,X,Y轴平行于两边,与相机坐标系为透视投影关系。单位为米。像素坐标系(pixelcoordinatesystem):表示数字图像上的坐标,坐标原点位于图像的左上角,X,Y轴平行于两边,与图像坐标系为仿射变换关系。单位为个(像素数目)。对于相机坐标系的转换,采用下面流程图表示:图1.3坐标系关系图(1)世界坐标系-相机坐标系通过采用旋转和平移操作,可得到如下式: xcy其中,R为旋转矩阵,t为平移向量,变换矩阵Rt(2)相机坐标系-图像坐标系(理想情况)相机坐标系被用于三维世界当中,图像坐标系是二维图像的表示,两者的转换是降维的过程,即投影透视过程。投影透视类似于针孔成像,如下图所示:图1.4针孔成像原理图用数学方式来表达投影透视如下图:图1.5透视投影原理图相机坐标系中有一点M在图像中由P点来表示,图中P被表示为如下: xp=通过齐次坐标形式表达为: zMx(3)理想图像坐标系-实际图像坐标系(畸变情况)在本实验中,我们主要消除的是径向和切向畸变。径向畸变是由于镜头自身所造成,并且透镜边缘的效果最差。下图表示常见的径向畸变,分别为:桶形畸变和枕形畸变。图1.5径向畸变的类型在校正畸变后的坐标可由如下式表示: xrcorr=分析上式可知,径向畸变中有3个未知量。不同于径向畸变,切向畸变是由于人为所导致的误差。切向畸变在校正后的坐标有如下关系: xtcorr=分析上式可知,切向畸变有2未知量。综上,为了描述畸变一共需要5个畸变参数(k1、k2、k3、p(4)实际图像坐标系-像素坐标系假设(u0,v0)是图像坐标系的点在像素坐标系下的坐标,那么每个像素对应图像坐标系尺寸为:dx、dy,且图像中的点在实际图像坐标系下的坐标为( u=x化为齐次坐标表示形式可得: uv1综上所述,通过以上四步,最后转化为像素坐标。1.3.2双目标定参数相机的标定主要分为三种,分别为传统相机标定法、基于主动视觉的相机标定法和相机自标定法。传统相机标定法通过利用相机的针孔模型和校正畸变的数学模型得到相机的内外参数,在标定时往往需要利用到标定板。利用传统的方法结果较为准确,但是所需时间较长,步骤繁琐。基于主动视觉的标定法具有较好的准确性,但是在标定过程中需要使用外部的设备进行辅助,来实现图像的获取,实际使用时具有一定的局限性。相机自标定法不需要使用标定板,方法简单,直接由几组图像通过图像处理技术来进行标定,但是这种方法准确性不高,误差较大,不适用于日常使用的相机。在对于飞机着陆测距系统中,本文决定采用传统的相机标定法中的张正友标定法,此标定方法的精度和鲁棒性都满足实验要求。这种方法由张正友先生首次提出,以其复杂度较低,计算速度较快,精度较高而被广泛应用。在本文中也将采用这种方法来对相机进行标定。相比于单目参数标定,双目标定时有所不同。利用双目相机拍摄获取左右目图像,相比于单目相机,此时需要考虑两幅图像在空间中的位置,及需要对外参矩阵进行计算。本文所采用的平面模板法有以下四个步骤,分别为计算单应性矩阵,求解内参矩阵,求解外参矩阵,求解畸变参数。(1)计算单应性矩阵在上述坐标系介绍的章节中,我们知道了如何将两种坐标系联系起来,而单应性矩阵则就是起到了这个作用。单应性矩阵包含了相机的内参和外参信息,定义如下式: H=s在式1.11中,M则为内参矩阵: M=f假设摄像机所获取的两幅图像中的对应点为(x',y' H=ℎ则有: x'y展开矩阵后得出,通过代入计算可得: x'=在实际情况下,单应矩阵H具有8个自由度,对上述式子进行处理,添加H的约束,将H矩阵模变为1如下: x'=将上述式进行处理得到: ℎ11x如果得到两幅图像中的N个特征点对,可得到如下图所示的矩阵方程组: 2N×9在本文标定所用的标定板规格为88个棋盘格角点,即有88对匹配的图像特征对应点,棋盘格尺寸10mm,大小为120mm×90mm。每张图片对应一个H矩阵,实际拍摄5-25张图片。(2)相机内参数求解通过单应矩阵可以先求出内参信息,再由内参信息的条件来求取外参信息。再对内参进行求解时,通过对于旋转向量进行处理,将单应性矩阵H化为下列向量: H=ℎr1和r约束条件1:向量位于两个平面之中,这两个平面为垂直关系,即: ℎ1T约束条件2:旋转向量长度相等(旋转不改变尺度),即: ℎ1T利用上述两个约束条件,便可求得内参,记 B=(B为对称矩阵,在约束条件下的B可转化为: ℎ1T通过定义3X3的单应性矩阵H=[ℎ1 ℎi=将如下表达式代入上述的约束单项式: ℎiT简化表达形式,令 vij=ℎi则有: ℎiT由此,两约束条件最终可以转化为如下形式: v12T在之前的求解中,我们得出了v11,v12,v22的结果,而对于b的求解需要的条件是大于三组的图片数量,这就要求我们在拍摄图像时,尽可能的多拍摄几组可以用来实验的图像。根据这些图像,可以得到矩阵vb fx=使用LM优化算法来减小测量值与实际值的误差,此时的内参可以作为输入量直接计算外参使用。(3)求解相机外参数通过上面的步骤求解得到了相机的内参数,因此在这里开始对外参数进行求解: r1=λM r3=r1再由旋转矩阵性质有: ∥r1则可得 λ=1/∥M−1(4)求解畸变参数径向畸变公式如下: x=x y=y其中,(x,y),(x,y)表示没有任何畸变的坐标和包含畸变的坐标,图像坐标和像素坐标的关系为下式: uv1其中,(u,v u=x v=y同理可得畸变后的像素坐标(u u=x v=y代入径向畸变公式(2阶)化简得: u=u v=v在对标定板的每个角点进行处理后可以得到上式中的u,u,v,v,每一个角点可以构造两个上述等式。假设有m幅图像,每幅图像有n个角点,则将得到的所有等式组合起来,可以得到个mn未知数为的k=[k1 k=k1此时,相机的畸变矫正参数已经标定好,相机标定受很多条件干扰,主要有下列几点内容:1)标定棋盘格点定制精度;2)棋盘格点的数目和大小;3)棋盘格坐标提取精度。1.3.3双目相机外部参数双目相机比起单目相机多增加了一个摄像头,在空间之中进行变化,是一个由二维向三维过渡的过程,所以标定时两者也有不同。单目相机只需完成上述操作步骤标定即可,双目相机除了上述参数之外,还需对左右摄像头之间的相对位姿进行标定。假设pcl、pcr、pw pcl=其中Rl、Rr分别是左右相机对同一点的旋转矩阵,Tl pcl=其中Rn为右目坐标系相对于左目坐标系的旋转矩阵,T对于之后的操作需要使用以上所述的参数来进行图像的校正,综上所述,对于双目摄像头标定,总结所需参数如下表1.1:表1.1本文测量系统标定参数类别参数表达式左相机内部参数K畸变参数k右相机内部参数K畸变参数k系统结构旋转矩阵K平移矩阵k1.3.4标定实验(1)系统硬件设备与实验环境在进行双目测距实验之前,对于硬件设备需要进行选择,对于选择的设备可以首先进行标定操作。对于系统硬件,主要使用小觅双目相机,为了实验的准确标定,过程中还需使用标定板,所拍摄的图像由VS编程软件进行处理。1)相机相机经过对比,按照经济性的原则决定采用小觅双目相机来进行实验,型号为S1040,具体参数如下表1.2所示。表1.2小觅双目相机参数型号标准版S1040-IR-120/mono尺寸165×31.5×31.23mm分辨率752×480;376×240像素尺寸6.0×6.0μm基线120.0mm焦距1.1mm接口USB3.0本系统充分考虑了经济性及实用性的原则,小觅相机成像质量高,并且具有红外IR光功能,同时融合结构光和惯导等方案,可以为后续研究进行支持。2)计算机:CPUi7-6700@1.3GHz,内存8G,运行该测距系统速度流畅,满足基本需求,所用软件VisualStudio2017。3)棋盘格标定板:标定板的厚度为0.18mm,精度较高,误差在±0.005mm,可准确应用于计算机视觉领域。标定板规格为150×150mm,图案阵列为12×9方格,棋盘标定格图案尺寸为120×90mm,每个方格边长10mm,实物如图1.6所示。图1.6标定棋盘格实物(2)标定实验结果对于单目标定时,在室内的环境条件下,相机与棋盘格标定板保持一定距离。图像中应包含完整棋盘格,棋盘格在屏幕中所占比例较多。使用标定板位于不同的角度、调整姿态后拍摄20~25张图像进行标定实验。之后通过张正友标定法对于所拍摄图像进行标定操作,小觅双目相机最终标定结果参数如下表:表1.3小觅双目相机标定结果参数类别参数表达式左相机内部参数K畸变参数k右相机内部参数K畸变参数k系统结构旋转矩阵K平移矩阵k双目标定的准确性是测距实验最重要的前提条件,通过分析,根据我们所获取的图像进行标定实验,实验得出了较为准确的结果。通过标定,我们建立了相机与世界坐标系之间的关系,为后续双目测距的精确性和稳定性奠定了基础。1.4图像校正1.4.1极线几何和图像校正原理立体图像对的校正是对两幅图片进行变换,以便使两副图相对应的点位于相同的图像行上,这种变换形成了极线共线。在许多的研究过程中,都使用校正来提高立体匹配所对应的速度,常用的校正方法有两种,分别为Hartley算法和Bouguet算法。前者可以直接获取单应矩阵,不需要进行标定操作来获取相机内参,方法简单,缺点是计算量较大,图像匹配较准确时才能保证校正的准确。Bouguet算法必须对相机进行标定操作,对于标定操作本文已经在前边章节进行了叙述。通过分析,本文在极线校正部分,所使用的主要为Bouguet校正算法。立体成像几何原理在之前的章节已经进行了介绍。在实际世界中,一点P投射到两幅图像中的点为XL和XR。投影的两个点,OL和OR,与P一起确定了一个外极平面和两条极线。外极点(el和er)是图像平面中与连接两个摄像机中心的线OL对极几何的意义在于任何图像点,例如下图中左图像中的XL,在另一幅图像中,可确定一条极线,这条极线包含相对应的点。这种“极线约束”对于减少搜索对应关系的计算时间很重要,它有效地将搜索维度减少到一维搜索,而不是搜索2D图像区域。这种约束还减少了误匹配的数量。下图1.7还说明了三维中的点被映射在左图像中的一点和右图像中多个点,这些点都沿极线方向。考虑到左图像中的点XL,无法确定它对应于点X3、X2、图1.7沿右极线上的多个3D点对应于左极线上的一个点的极线平面为了确定极线,需要定义两个矩阵,本质矩阵和基础矩阵。这两个矩阵的不同之处在于,本质矩阵E将Pl映射到Pr,而基础矩阵F在像素坐标中将变量Ql取一个点P,它在左目图像中被看作Pl,在右目图像中被看作Pr,Pl Pr=为了定义极线平面,使用相对于平面n的法线平面和在该平面a中定义的点,这种定义适用于平面x上的所有点: (x−a)∙由于矢量Pl和T(连接投影中心的矢量)包含在外极平面中,所以这些矢量的法线可以用作矢量n来表示,法线向量用n的叉积来表示。这里可以取Pl的所有的可能点,通过点T,矢量 Pl−为了去掉点积,将等式a∙b=aTb用来执行矩阵乘法。重点是要找到矫正的基础矩阵,则需要找到Ql和Qr的关系。首先通过关联投影Pl和P PrR带入方程可得: (Pr最后的将向量T和Pl的叉积进行代换,其中T使用以下关系重新写入矩阵S a×b=0它将式S定义为: 0−T从而我们可知Pl和P PrT在这里,基础矩阵E被定义为R×S的乘积,可得: PrTql和qr的关系需要找到图像中Pl PrTE的参数在使用时只能用于将左目点与右目点对应起来,因为当中并不包含内参信息,因此需要基础矩阵来执行校正的操作。将真实世界中的点进行投影,使其与相机坐标产生关系,q=MQ,q为物理坐标,M为相机矩阵,Q为相机坐标,可以将每个图像中实际物理点的关系转换成相机坐标系中的关系。取q=Mp,p=M−1q qrM定义基础矩阵F为: F=Mr给出摄像机坐标中P点的以下关系式: qrT已知两个相机的内部参数,图像处于未失真状态,并且图像平面已被校正,可以视为相机已经被校正,由上述可知一个相机相对于另一个相机的旋转参数和平移参数是已知的。左相机的参数在旋转矩阵可知,它的图像平面在数学上与右摄像机共面。平移向量涉及左摄像机相对于右摄像机的定位或偏移。使用两幅图像的Pr=R(Pl−T) R=RrRlT至此,双目相机完成了双目校正的操作,上述给出了双目校正的基本原理,在下面我们会对实验结果进行分析来保证双目校正的准确性。1.4.2图像校正实验图像校正实验采用小觅双目相机拍摄的跑道图像来进行实验。校正参数为上文所求得,标定程序所采用的标定方法是Bouguet方法,代入标定参数得出校正后的双目相机图像,为了更直观的来进行比对,本文将校正程序进行了一定的优化,在双目图像上画上相应的线条,使其可以更直观的看出图像对齐的共同位置,下图1.8为校正比对结果。图1.8双目校正结果比对在图中,画圈标注部分为图像中一些关键点的对应,左幅图像为左目,右幅图像为右目摄像头所得,两幅图像的对应点处于一条直线时,证明双目完成了校正操作。如图所示,通过对比校正前后的效果可以得出,加入极线几何校正后,双目的左右图像可以在行方向上实现基本对准,完成了双目校正操作,并且校正的准确度可以保证之后的实验结果的准确性。既为后续的双目跑道测距提供了精度的支持,保证了实验的准确性,又从另一角度验证了参数标定的准确性,同时,校正的准确性也减少了立体匹配的计算量。1.5立体匹配立体匹配或视差计算是计算机或机器人视觉中的常见工具,用于从二维的平面当中恢复深度的一项技术,对于通过使用双目立体摄像机拍摄的一对左右图像来说,确定物体的三维深度信息至关重要。视差的一些应用是自主车辆和机器人导航、虚拟现实和立体图像分析,对于实现更高程度的自动化有着重要意义。近年来,随着对于立体匹配的大量研究,立体匹配技术的发展势必会更进一步提高。立体匹配主要是通过使用平方差和、绝对差和或归一化相关技术匹配像素窗口来确定的。而在真实世界的物体要投影到二维图像时,同一物体在不同角度的图像中投影不同,成像过程受很多条件影响,例如光照、景物形状和物理特性以及其他噪声。而且相机自身的畸变误差也会对结果产生一定的影响。因此我们需要根据自己实际应用场景来选择双目立体匹配算法。1.5.1立体匹配算法介绍立体匹配针对于局部,半全局和全局有着不同的算法。局部匹配算法分为基于区域的匹配,基于特征的匹配,它的优点是计算速度较快,可以满足针对实时性的要求,但是精度较差。不同于局部算法,全局算法的准确度更高,利用对于图像的约束条件求视差函数d=d(x,y)最优解。全局匹配算法需要对函数进行一个假设,通过函数来计算最优解,是一种典型的利用动态规划方法来求解的问题手段。半全局立体匹配算法同样使用动态规划方法来求解,主要是将二维的问题转为一维问题来进行求解。本文系统有以下几个特点:1)待测场景较为复杂,受环境影响较大;2)用于飞行中的飞机,需要计算速度相对较快;3)为了保证最终着陆的准确性,对于视差效果有一定的要求。4)测量目标主要是机场跑道,着陆时,目标在于图像中所占区域较小,需要在图像中进行准确的识别。综合各类因素,本文决定主要研究基于SGBM的双目立体匹配算法,该算法速度较快,并且可以达到较好的视差效果。1.5.2基于SGBM算法的双目立体匹配SGBM算法的原理是利用视差来进行求解,图像中包含着许多像素点,所有像素点的视差组成了视差图,通过设置全局能量函数使其达到实验标准要求。算法主要分为以下的几个步骤。(1)预处理对于图像的边缘处理有几种算子可以选择,主要目的是进行边缘检测,最常用的一个算子是Sobel算子。Sobel算子本质上来说是一种卷积处理,也就是进行梯度值的求解,然后对于新图像的像素进行阈值估计,得到图像的边缘。SGBM算法便是采用的水平Sobel算子,公式为:Sobel2Px+1,y然后使用映射函数通过Sobel算子对像素进行处理,得到一个新的图像,映射函数如下式,P表示像素值映射成的新图像,PNEW PNEW=预处理过后的图像中包含着梯度信息,对预处理图像进行保存操作来进行下一步的计算。(2)代价计算SGBM算法的代价计算其实包含了如下基本步骤:相机得到的图像经过SobelX处理后,进行BT代价计算;输入图像直接计算BT代价值;将上面两步的代价值进行融合;对上述步骤得到的代价值进行成块处理。通过SobelX处理后,经过BT代价计算的图像保留了较多的边缘和细节信息。直接通过原图进行BT计算则保留了原图信息,之后便是将两种信息融合来得到更准确的代价值,融合方法为将得到的两步代价值进行相加操作。代价计算的最后一步是进行成块计算,对每个像素的代价值用周围邻域代价值的总和来代替,也称为成本合计。成本合计是通

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论