双目视觉下三维测距与场景重构_第1页
双目视觉下三维测距与场景重构_第2页
双目视觉下三维测距与场景重构_第3页
双目视觉下三维测距与场景重构_第4页
双目视觉下三维测距与场景重构_第5页
免费预览已结束,剩余39页可下载查看

下载本文档

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

文档简介

虚拟现实等领域的交叉性课题。基于双目视觉的三维测距与场景重构技术已经广泛的运用于机器人避障、无人机探测领域。标定、立体校正、立体匹配、三维坐标计算、场景重构。本文分析了双目测距和初步场景重构的基本原理,给出了机基于opencv立体标定和标定的SGBMTheimagetakenbycamerais2D.TogettheDepthinformationofimage,wearesupposedtoreconstructthescene.Binoculardistancemeasurementand3-Dreconstructionisacross-subjectconnectedbyComputer puterGraphics,andVisualReality,etc..ThetechofBinoculardistancemeasurementand3-Dreconstructionhasbeenwildlyusedintherobotobstacle-avoidingandUnmannedAerialVehicleDetection(UAVD).ThemainstepsofBinoculardistancemeasurementand3-Dreconstructionincludesinglecalibration,stereocalibration,andstereocorrection,stereomatching,3-Dcoordinatecalculation,scenereconstruction.Thispaperyzesthebasicprincipleofbinoculardistancemeasurementandthepreliminaryscenereconstruction.ThispaperthebasicprincipleofbinoculardistancemeasurementandthepreliminaryscenereconstructionandcomparethecalibrationresultontheOpencvplatformwiththatontheplatform.Aboutthestereocalibrationpart,thispaperhascomparedtheBMalgorithm,andGCalgorithminspeedandaccuracy.AndwechoosethespeedandaccuracyofeclecticSGBMalgorithmtomatchinthelabforensuringthereal-timeof3-Ddistancemeasurementandtoacertainextentensuringthe3-Dcoordinatecalculationandpreliminaryscenereconstructionisakeypartofthisexperimentsystem.Thispaperexplainthebinocularvisionrangefindingprinciple,andthencalculatetheparameters,finallycalculatethedistance.Inordertoevaluatethe binedthefacedetectionsystem,multiplesetsofdatahasbeentestedandthesystemhasbeenevaluatedreasonably.Experimentsshowthatthesystemintermsofthespeedandprecisionofdistancemeasurementhasagoodeffect.Furthermore,accordingtothetexturemapandparallaxinformationthissystemshows3-dpointcloudsandreconstructscene.:3-Dreconstruction,Binoculardistancemeasurement,stereo Vision,Distancemeasurement.………………Ⅰ 第1章绪 第2章机的参数标 引 致 1察一个场景,将拍摄的数字化,并运用计算机处理数字信息。机通过投法上的变换和处理。计算机视觉的过程可以理解为传感器成像过程的逆过程,研机器人导航、三维动画、机器学习、模式识别等。而三维重建是项目过程的中一个很重要的部分,对于三维重建的研究也就显得十分的有意义。人们越来越重视计算机视觉的发展,如无人机智能识别系统,需要计算机系统根据视觉信息做出相应的判断。这么快的发展计算机视觉,主要的原因有如下两个方面:第一,数字设备的普及使得我们的拍摄设备精度和质量越来越高,图像的数目成指数级增长,需要的处理数据多;第二,我国经济科技的发展,提出了更高的需求。以得到了较快的发展和运用,在各行各业中均有涉及。对于2D图像的信息的了解是片面的,而更全面的信息需要进行3D图像的信息了解。而在我们现实生活中普通的相机要想得到3D的图像一般是不可能实现的。通过对普通相机的标定获Opencv(OpenSourceComputerVisionLibrary)是一个开源的计算机视觉库,提供了很多方便图像和处理的API来进行图像的标定、视差计算等工作。目前3.0计算机视觉发展现还延伸到许多学科,比如人工智能、机器学习,是一个交叉性、综合性、创造性极强的一个方向。是近年来虚拟现实领域的研究热点。对获取的进行预处理处理特征点信息、匹配,虽然大量的研究人员研究十分活跃,也提出了许多优秀的算法,但是视差图清晰度和时间方面很难做一个很好的平衡。20世纪70年代中期,Marr,Barrow和Tenenbaum等人提出了由相机还原物体的三维信息的一整套理论,详细描述论证了相关的计算理论与方法。[5]MarrMIT到底如何实现视觉任务的。[6]这种目标的实现主要基于三个方面:计算理论、算Marr断的出现新的问题和新的,这些中最典型的就是从二维图像中计算精确的三维场景坐标,也就是在给出三维信息的集合描述的时候遇到。而后的八KassSnakesSnakessnakes相应的能量函数,以最小化能量函数为主要目标,控制曲线,具有最小能量曲线[7]和发展,人们越来越多的利用物理测量来研究立体视觉,就形成了主动立体20801990立体视觉随着科技的发展又得到了进一步的发展,图像分割、图像的匹配、图像去噪等各种方面的算法不断的提出,发展了立体视觉。随着光学电子学的发展,立体视觉会不断的进步,国外立体视觉起步较早,我国的立体视觉已经广泛的运用于生产之中,但是生活之中的立体视觉仍有很大的发展空间。双目体视目前主Opencv、OpenGL简Opencv(OpenSourceComputerVisionLibrary)是一个多平台(linux、winmacopencvc++模板和类进行编封装,使用起来十分的方便,提供了丰富的图像处理通用算法,如:图像分割、图像匹配等等方面。保留了很多的c接口,还有其他语言如:、ruby的接口,方便在工程中使用。201564,OpenCV3.0OpenGL(OpenGraphicsLibrary)是一个多平台、多编程语言的图像处理接 三维测距与场景重究意义和内容。是对于三维测距和场景重构的一个宏观的了解。给出了本文的研(1)机的参数标

第2 机的参数标光线从物体发射开始,通过透镜到达人的眼睛或机,然而到达视网膜或者图像的这个过程的几何研究是实用计算机视觉的一个尤其重要的方面[8]我们都熟知的小孔成像是一种基本的成像模型,我们可以从小孔成像模型处理像、帧都是成对的。Opencv的接口可以提供头的获取,本实验中我们采割为画面帧进行定标。多头的捕捉可以利用opencv的函数cvSetCaptureProperty简单针孔成像模示,焦距通常用f表示,Z 机到物体的距离,x是倒立的成像,X是对应

xfZ

图2-1机模型示意图2-2机模型的简单形式示意X通常,由于工业制造精度的差别,头的中心并不在光轴上,所以用两个cx和cy来描述。对于现实世界中的物体点Q,它的坐标是(X,Y,Z)。X

)cx

Yscreean

fy(Z

(2-q(q1,q2,q3),在计算机中机的参数矩阵表示为一个3*3的矩阵这个矩阵就是摄 fx cxX q2

f cyY

(2- 1Z 径向不足是机的缺点,透镜的方式可以解决这个问题,但是会产生透镜畸变。如下图所示,由于大多数的透镜,光线的路线越接近透镜边沿,2-3不足是机的缺点,透镜的方式可以解决这个问题,但是会产生透镜畸变。如下图所示,由于大多数的透镜,光线的路线越接近透镜边沿,数展开,通常取级数的前3项就可以满足描述畸变的目的

ycorrected

切向2-4切向畸变可以用p1和p2

x2pyp(r22x21212ycorrectedy

p1

2

)2p2

(2-双目2-5在实际世界坐标系中的物理距离Z(d=xl-xr)T(xlxr)

Z fT

(2-Z xl旋转矩阵和平移向为了精确描述图像的投影关系,定义4种坐标系:图像坐标系、头坐标2-6成像平面坐标系比图像坐标系多了一个描述像素点相对于图像的具置信息。(x,y)表示相对成像平面的具置,像素在坐标轴方向的尺寸为dx,dy,1d' u01d' 1dv1d

v0

(2- 1

12-7空间中点P的世界坐标系 头坐标系的关系可以用旋转矩阵R和平移量t(2-8)Xc

Xn

XnY

tY Yc

nMn

(2-Zc

1Zn

1Zn1 1 1根据以上的介绍,双目视觉下的三维测距要得到世界坐标系中Z距离机的距离,我们需要获得:焦距f、视差d、头中心距T、原点偏移cx,xy。我们单个头的标定主要是为了得到内参数:三个径向畸变参数k1、k2、k3,p1、p2,f,cx、cy;还需要得到外参数:旋转矩R,t。标定总 c

Xxx xx

Ysv

f cy

1

Z

1 式中,(X,Y,Z)——世界坐标系中物体的位置;(uv)——图像平面的坐标,单位是像素;K1,k2,k3p1,p2——两个径向畸变参T3*1——平移向量opencv标定的步Brown[10]。Opencv世界坐标转化 头坐Xc

Xn

XnY

tY Yc

nMn

(2-Zc

1Zn

1Zn1

1

1式中,R3*3t3*1x 0Xc YZy

0c

(2-cu

Z

0c1公式(2-4)(2-5)

xd yAy

(2-d u (4)1d' u01d' 1dv1d

v0

(2- 1

1标定函数原H h3 r1,r2rTr01hMTM1h

(2- 旋转向量的模相等,我们又根据|h1||h2|11

(2-B=MTM1BMTM1

(2-机的内参数可以从Bfxfy

(2- B12B13B11B23B11B22

2

)/

(2-3y3y

1212rM1hrM1212

(2-3tM3畸变矫1x2^xxk(x2y2)k(x21x2

(2-^ yyyk1(xy)k2(xxyx的坐标x,y表示成像平面坐标系中矫正后的坐标 uu(u

)kx2y2

(x2y2)2

12(2-12v(vv)kx2y2k(x2y2)2

2(u,v)表示图像坐标系中矫正之前的坐标,uvOpencv提供了一个校正方法。读入的图像经过cvCalibrateCamera2()得到畸cvInitUndistortMap()cvRemap()来使得图2基础矩阵和本征矩和畸变参数(distortion_coeffs)。立体标定需要求出的旋转矩阵在opencv和中标定的时候是用本征矩阵(EssentialMatrix)和基础矩阵(Fundamental TyRERS TR

(2- x 0

(2-式中,E3*3——本征矩阵(EssentialMatrix)F3*3——基础矩阵(FundamentalMatrix)Ml,Mr——左右头的内参数矩阵R3*3——旋转矩阵(rotationmaxtrix)T3*1——平移向量(translationmaxtrix)计算基础矩阵和本征OpencvStereoCalibrate()中进行2-7如上图所示P为物体Ol和Or分别为左右机的光心Pl和Pr分别为物体光心的观测点,pl和pr分别为左右机在机平面坐标系中的位置左头和右头的相对位置关系可以用公式Pr=R(Pl-T)表示。由几何关系,我们知0x,a的机平面坐标系Ol,右边关心的位置就是头的中心距

左右的旋转表达式可以表示为:(PT)T(PT)0RTR1 得到0(RTP)TPT)0。向量可以用矩阵表示,不妨令向量T a)

S,PlTSPl,其中S(2-22)SPTRSP0 本征矩阵 头坐标系下的矩阵,它不包 头的内参数。加 一视图上的对极线。如图所示,pl和pr 2-8图2-9每对的投影误表2-11头定标(棋盘格大小--000000基础矩本征矩0000-----2--误旋转矩平移矢-----实验中我们可以看到p1p2在两组数据中均为0在左右头中均为这说明头不存在切向畸变。我们前面阐述过,头的切向畸变是由于凸透镜和城像平面不平行造成的,说明本头不存在这方面的误差。实际上,在工业生产中头的畸变主要是径向畸变切向畸变几乎没影响所以均为0们还看到k3也都是0,这是因为通常的精度的机我们只关心前两个参数第三个参数要在鱼眼机等误差较大的头我们才关注,说明本实验中,两个径向畸变就足够了,头精度较高。实验中的焦距参数均是以“pes”为单位的,他们之间可以通过CD值转化为mm焦距。2-11x向和y(opencv投影成像的介绍。这部分介绍了4中坐标系之间的相互关系,同时也介Opencv标定的基本原理。Opencv是一个跨平台的功能十分强大的开源。标定的结果分析的工具箱较为方便,所以我们使用进行。3体匹配与视差计图像噪声(如颜色的暗亮、饱和度等光滑物体的反射(如用电脑作为棋盘纸拍摄就不是一个好方法投影误差(如放大和缩小相似纹理(如棋盘格的标定,左右得黑白格都很多就是为了把消除畸变的两幅图像进行严格对应,使得他们从二维匹配转化为3.4节中详细讨论极线几何。3-1立体匹配主要是通过找出每对图像间的对应关系,根据三角测量原理,得到视差图;在获得了视差信息后,根据投影模型很容易地可以得到原始图像的深度三维重建中需要精确的视差图。[14]一般像素点灰度差的平方和,即像素点灰度差的绝对值和,即归一化交叉相关,简称零均值交叉相关,即MoravecKolmogrov-SmrnovKSD7)Jeffrey散度匹配的时候可以设置一个阈值来某些干扰信息,类似于分水岭算法。常见的有:均误差(Root-mean-squared)和误匹配率(percentageofbadmatching极线约束理极线几何描述的就是左右头平面它们之间的关系。二维图像的匹配复杂3-1这部分就是计算基础矩阵来表征两个头的关系,鉴于前面章节我们已经详细讨论过原理。具体的计算过程比较复杂,本文不做讨论。Opencv也对这部分cvFindFundamentalMat()SIFT基线——连接两个机光心的直线对极点——基线与机平面的交点左右对应点之间的线性约束关系mi=(ui,vi,1)Tiim'TFmii

带入8个点得到9个线性方程组,理由呢独立特尔分解九个未知数,可以得到基础矩阵F。为了减少代数误差,取未知元的系数k时要使之满足||f||=1,来唯一确定f阵(描述约束关系直线),从而得到基础矩阵F。我们可以在知道mi'T

mi相对于mi’的约束关系直线f(u,v)3-2H1、H2分别对m1和m2进行变换mH TmH 1F

F

0 0

00 首先,取e 0

如此可以保证带入极点坐标,经过H矩阵变换后剩下x方向的水平分量。H2, 0H h 23 h33TT

mHm,m'H'm'mFm0H'TFH

hh'hh h

h' f

21 31

22

f32

f令P=

',h',h',h',h',

', (3-为了比较各匹配算法的时间和效果,opencvBM、SGBM、GC三种算法进行立体匹配。我们对着三种算法在同样的条件参数下进行头的3-3BM3-4SGBM3-5GC实验中我们对一副320*240的灰度图匹配,BM算法时间为31ms,SGBM算法的时间为78ms,GC算法的时间则3s左右。我们选取SGBM算法作为我们的实验测距机视觉领域十分的火热,算法较多。作为工程型方面的实验,在中,opencvBM、SGBM、GC于头的匹配视差图,综合分析,我们选取SGBM算法匹配的效果图,这样4距测量和场景重并显示出来。距离的测量主要就是为了评估重建系统的准确性,在视差图上的运用三维信息在计算机视觉的进一步研究中很有用通过显示三维点云图并测量保存鼠标点击点的距离,然后和实际距离做一个比对,得出双目测距的误差。深度图结合我们在第二章中得出的内外机标定参数,计算得到相对于世三维坐标获如4-1图所示,如果我们用一个头的时候,假设我们采用左头O1,那么在O1坐标系下的P的坐标。但是这个坐标并不能在三中唯一的确定位置,因为段O1P上的所有的点的X轴和Y轴坐标都是一样的。但是加上O2的机坐标系我们就可以求取世界坐标系中点P的坐标。如图所示,P点O1O2坐标系中。4-1三角4-2如图所示,左右头分别在Cl和Cr,b的距离是头之间的距离,f为焦距,视差为la-lb,d是我们需要测量的距离。令|AlPl|la,|ArPr|lb,|PrB|adf

a

df

blalbablba

a

la

d lalb

这就是公式(2-6的推导过程),一个物体的距离和头的距离b有关、焦距视差点Ip225

l1lmin

其中Ip为像素点的值,lmin为视差的最小值,lmax为视差的最大值,Ip就是三维4.2.3步场景重c1

1

m

22m m

其中(u1,v1)(u2,v2)分别为左右头图像坐标系中图像的坐标,M1,M2为 机矩阵。这样根据他们的关系,就可以求解X 1T。LAB1:4-34-44-5实验中我们直接调用了里面的人脸识别库,找出人脸识别之后的4-1真实距离三维测距误差农夫山泉(下农夫山泉(文字2mm4-50度、90度、1803维显示。实验中我们可以看到,最后的效果不是很理想,标定的结果我们已经面棋盘格的大小参数设置,还有的数目也会影响定标的精度,一般要角度差别较大的拍摄,因为如果角度差别较小,Opencv会识别成为是同一图像进行标10幅图像左右就可以得到比较好的实验效果。要实现真正意义上的三维重建,我们需要做的工作还有对一个物体或者场景才能显示出比较好的三维点云图。本系统中主要是对测距效果的一个运用,做初步的三维场景重构。后显示出三维点云图主要做的测试有鼠标点击像素点得出这个点的距离同时计算机视觉经过那么长时间的发展人脸识别已经是一个比较成领域也有比较成I。所以本实验在上对人脸识别,求出识别出的地方的质心并对质心进距这也算是运用领域一个小小的创新点最后显示点云我们只显示了距离在一定范围内的点云,显示了人的上半身的点云图。对于点云图像效果不好,本文从整个系统的角度出发,分析了原因。本课题基于双目视觉下的三维测距和场景重构,在opencv、VS、下进标定,计算出了头的内参数和外参数,并实现了立体标定。同时和上立体校正和匹配部分,本实验系统主要通过立体校正,使得两个头平行ncvMSMC算法的基SBM于点云场景效果不好,我们就整个系统分析了原因,证明了本实验系统的有效性立体匹配算法一直是研究的热点,可以就立体匹配相关研究提出更好的算法但是在现实中大型场景的三维重建面对的复杂情况很多,这样就保证不了得到比较好的效果了,所以立体匹配这部分的算法还有很大的改进和提升空间。三维重建中纹理处理也是一个重要的方面,本实验直接做简单纹理处理,将原始的纹理做映射这必然会损失一部分精度所以这方面也是改进的空间三维重建运用广泛,需要 算法研

温馨提示

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

评论

0/150

提交评论