三维重建系统设计中的阶段开发任务_第1页
三维重建系统设计中的阶段开发任务_第2页
三维重建系统设计中的阶段开发任务_第3页
三维重建系统设计中的阶段开发任务_第4页
三维重建系统设计中的阶段开发任务_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

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

文档简介

三维重建系统设计中的阶段开发任务三维重建整体流程概述1.双目摄像头标定1)双目摄像头标定参数说明相机标定,目的是确定双目摄相机中左右相机的内参矩阵M、畸变系数矩阵D、右摄像头相对于左摄像头的平移向量T和旋转矩阵Ro其中详细标定参数如下:内参矩阵intrinsics包括:Ml:左摄像头的内参矩阵;D1:左摄像头的畸变系数矩阵;M2:右摄像头的内参矩阵;D2:右摄像头的畸变系数矩阵。摄像头外参extrinsics包括:R:左右摄像头坐标系之间的旋转矩阵;T:左右相机坐标系之间的平移向量;R1:把左摄像头校正前点的坐标转换到校正后点的坐标所需的旋转矩阵;(3)多层次滤波考虑的是对于初始较大的空洞区域,需要参考更多的邻域值,如果采用较小的滤波窗口,不能够完全填充,而如果全部采用较大的窗口,则图像会被严重平滑。因此根据空洞的大小,不断调整滤波窗口。先用大窗口给所有空洞赋值,然后利用逐渐变成小窗口滤波覆盖原来的值,这样既能保证空洞能被填充上,也能保证图像不会被过度平滑。4.三维点云重建三维重建技术通过深度数据获取、预处理、点云配准与融合、生成表面等过程,把真实场景刻画成符合计算机逻辑表达的数学模型。三维重建技术的重点在于如何获取目标场景或物体的深度信息。在景物深度信息已知的条件下,只需要经过点云数据的配准及融合,即可实现景物的三维重建。具体的实现过程如下:(1)由双目RGB图像生成视差图,通过几何关系计算深度值,根据获取的深度信息,并利用相机内参计算所述每个像素点在相机坐标系下的三维坐标点;(2使用循环RANSAC算法进行点云的地面分割,并提取非地面点云;(3)将提取的所述非地面点云插入KDTree中搜索预定数量的近邻点,利用所述近邻点进行曲面重建;眼睛(摄像头)与大脑(算法)的技术,以使计算机能够自主独立的控制行为、解决问题,同时感知、理解、分析外部环境。20世纪60年代,计算机视觉得到了最初的发展。该阶段的研究重心主要体现在如何从二维图像中恢复出如立方体、圆柱体等立体化的三维形状,解释各个物体的空间位置关系。1982年,DavidMarr[2]从信息处理的角度对数学、神经生理学、计算机图形学等学科的研究成果进行了归纳总结,并在此基础上提出了一系列计算机视觉理论。得益于这个完整明确的理论体系,计算机视觉得到了蓬勃的发展。它的核心思想是从二维图像恢复三维结构。图1-1展示的是经典Marr视觉信息处理过程。图1-1Mar「视觉信息处理过程随着科学技术的日新月异,计算机视觉的应用日益受到各行业的关注和重视,如设备检测与监视、医学图像处理、文物保护[3]、机器人视觉、自动导航、工业产品外观设计与生产等领域。计算机视觉技术为人们带来了机遇,也带来了挑战。三维重建作为计算机视觉技术中最为最为热门的研究方向之一,涉及到包括图像处理、立体视觉、模式识别等多个学科体系。利用计算机建立表达现实客观景物的三维模型,并以此来满足生产和生活的需要。随着工业化进程的不断发展,多种技术的实现均有赖于目标物体三维信息的获取。三维重建现已被广泛的应用于生活和科研工作中,特别是在医学治疗、文物保护、游戏开发、工业设计、航天航海等方面,展现出了极强的生命力和影响力。二、三维重建技术简介三维重建技术的重点在于如何获取目标场景或物体的深度信息。在景物深度信息已知的条件下,只需要经过点云数据[4]的配准及融合,即可实现景物的三维重建。基于三维重建模型的深层次应用研究也可以随即展开。人们按照被动式测量与主动式测量[5]对目标物体深度信息的获取方法进行了分类,下面对这两种方式进行相应的介绍。1、被动式三维重建技术被动式一般利用周围环境如自然光的反射,使用相机获取图像,然后通过特定算法计算得到物体的立体空间信息。主要有以下三种方法:1.1纹理恢复形状法各种物体表面具有不同的纹理信息,这种信息由纹理元组成,根据纹理元可以确定表面方向,从而恢复出相应的三维表面。这种方法称为纹理恢复形状法[6](ShapeFromTexture,SFT)O纹理法的基本理论为:作为图像视野中不断重复的视觉基元,纹理元覆盖在各个位置和方向上。当某个布满纹理元的物体被投射在平面上时,其相应的纹理元也会发生弯折与变化。例如****收缩变形使与图像平面夹角越小的纹理元越长,投影变形会使离图像平面越近的纹理元越大。通过对图像的测量来获取变形,进而根据变形后的纹理元,逆向计算出深度数据。SFT对物体表面纹理信息的要求严苛,需要了解成像投影中纹理元的畸变信息,应用范围较窄,只适合纹理特性确定等某些特殊情形。所有在实际使用中较为少见。1.2阴影恢复形状法SFS[7](ShapeFromShading,从阴影恢复形状)法也是一种较为常用的方法。考虑到图像的阴影边界包含了图像的轮廓特征信息,因此能够利用不同光照条件下的图像的明暗程度与阴影来计算物体表面的深度信息,并以反射光照模型进行三维重建。需要注意的是,像素点的亮度受到包括光源指标、摄像机参数、目标表面材质等的制约。阴影恢复形状法的应用范围比较广泛,可以恢复除镜面外的各种物体的三维模型。缺点体现在过程多为数学计算、重建结果不够精细,另外不能忽视的是,SFS法需要准确的光源参数,包括位置与方向信息。这就导致其无法应用于诸如露天场景等具有复杂光线的情形中。1.3立体视觉法立体视觉法[8](Multi-ViewStereo,MVS)是另外一种常用的三维重建方法。主要包括直接利用测距器获取程距信息、通过一幅图像推测三维信息和利用不同视点上的两幅或多幅图像恢复三维信息等三种方式。通过模拟人类视觉系统,基于视差原理获取图像对应点之间的位置偏差,恢复出三维信息。S.T.Barnard[9]等人对20世纪70年代到80年代之间出现的三维重建的算法和评价体系做了概述。到了80年代中后期,出现了更多、更深层次的视觉原理,包括立体测量方法和深度传感器等,极大的促进了相关学科的发展。新兴方法可以直接获取景物的三维信息,极大的节省了物力与人力成本。U.R.Dhond[10]等人提出了基于层次处理的三目立体约束方法。二十世纪90年代末,涌现出诸如图像匹配的前沿算法、遮挡处理算法等。M.Z.Brown[ll]等人总结了2000年到2010年间的三维视觉发展的总体概况,包括遮挡、配准和效率等的相关分析。双目立体视觉重建,在实际应用情况优于其他基于视觉的三维重建方法,也逐渐出现在一部分商业化产品上;不足的是运算量仍然偏大,而且在基线距离较大的情况下重建效果明显降低。代表文章:AKIMOIOTAutomaticcreationof3Dfacialmodels1993CHENCLVisualbinocularvisonsystemstosolidmodelreconstruction2007作为计算机视觉的关键技术之一,立体视觉法也其弊端。例如,立体视觉需要假设空间的平面是正平面,而实际情况却与此相差甚远。除此之外,匹配还存在歧义性:对于一幅图像上的某些特征点,另外的图像可能存在若干个与之相似的特征点。那么如何选取最适配的匹配点,显得较为棘手。如图1-2所示,展示了Middlebury[16]数据集中Teddy和Cones场景的基准彩色图像、标准视差以及通过GraphCuts口刀算法获取的立体匹配视差估计结果。虽然视差结果体现出了景物的三维位置关系,但是某些像素点的视差与标准值仍有细微的差距。除此之外,对于如相机运动参数的确定、大型场景重建需要获取多帧图像等问题,也极大的影响了立体视觉的深层次应用。图l-2(a)基准彩色图像2、主动式三维重建技术主动式是指利用如激光、声波、电磁波等光源或能量源****至目标物体,通过接收返回的光波来获取物体的深度信息。主动测距有莫尔条纹法、飞行时间法、结构光法和三角测距法等四种方法。.莫尔条纹法莫尔条纹在生活中比较常见,如两层薄薄的丝绸重叠在一起,即可以看到不规则的莫尔(Morie)条纹;微风的吹动窗纱时,条纹亦随之运动。莫尔条纹法[18]起源于18世纪的法国,是一项古老又现代的测量方法。基本原理是将两块等间隔排列的直线簇或曲线簇图案重叠起来,以非常小的角度进行相对运动来形成莫尔条纹。如图1-3所示,在主光栅与指示光栅的交叉重合处,因光线的透射与遮挡而产生不同的明暗带,即莫尔条纹。莫尔条纹随着光栅的左右平移而发生垂直位移,此时产生的条纹相位信息体现了待测物体表面的深度信息,再通过逆向的解调函数,实现深度信息的恢复。这种方法具有精度高、实时性强的优点,但是其对光照较为敏感,抗干扰能力弱。图1-3双光栅莫尔条纹法提出:WIKTINrecoveringsurfaceshapeandorientationfromtexture(1987)(被弓|用454次)。发展:Warren2010对wiktin方法进行改进使用了****投影;Liboy2006给出了在纹理单元结构发生改变的情况下的重建方法。优点:精度高,对光照和噪声不敏感。缺点:只应用于具有规则纹理的物体。.飞行时间法飞行时间法[19](TimeofFlight,ToF)指的是在光速及声速一定的前提下,通过测量****信号与接收信号的飞行时间间隔来获得距离的方法。这种信号可以是超声波,也可以是红外线等。飞行时间法相较于立体视觉法而言,具有不受基线长度限制、与纹理无关、成像速度快等特点。但是其也有一定的缺点。首先,ToF相机的分辨率非常低。例如图1-4所示,当今分辨率最高的PMDCamcube2.0相机,也仅为204x204像素;其次,ToF相机容易受到环境因素的影响,如混合像素、外界光源等,导致景物深度不准确;最后,系统误差与随机误差对测量结果的影响很大,需要进行后期数据处理,主要体现在场景像素点的位置重合上。值得注意的是,ToF相机的售价达到了数万美元,受众较窄。图1-4SR4000ToF相机.结构光法结构光法[20](StructuredLight)通过向表面光滑无特征的物体****具有特征点的光线,依据光源中的立体信息辅助提取物体的深度信息。具体的过程包括两个步骤,首先利用激光投影仪向目标物体投射可编码的光束,生成特征点;然后根据投射模式与投射光的几何图案,通过三角测量原理计算摄像机光心与特征点之间的距离,由此便可获取生成特征点的深度信息,实现模型重建。这种可编码的光束就是结构光,包括各种特定样式的点、线、面等图案。结构光法解决了物体表面平坦、纹理单一、灰度变化缓慢等问题。因为实现简单且精度较高,所以结构光法的应用非常广泛,目前已有多家公司生产了以结构光技术为基础的硬件设备,如PrimeSense公司的PrimeSensor,微软公司的Kinect和华硕公司的XtionPROLIVE等产品[21]。图1-5展示了利用结构光技术采集文物三维信息的场景。提出:Woodham对SFS进行改进(1980年):photometricmethodfordeterminingsurfaceorientationfrommultipleimages(该文章被引用了891次)发展:Noakes:非线性与噪声减除2003年;Horocitz:梯度场合控制点2004年;Tang:可信度传递与马尔科夫随机场2005年;Basri:光源条件未知情况下的三维重建2007年;Sun:非朗伯特2007年;Hernandez:彩色光线进行重建方法2007年;Shi:自标定的光度立体视觉法2010年。图1-3结构光法的原理图图1-5结构光法原理图.三角测距法R2:把右摄像头校正前点的坐标转换到校正后点的坐标所需的旋转矩阵;P1:左摄像头校正后坐标系的投影矩阵;P2:右摄像头校正后坐标系的投影矩阵;Q:深度差异映射矩阵。2)双目摄像头标定实施方法开发环境:Ubuntu16.04、OpenCV4.0xC++硬件配置:双目摄像头、标定板实施步骤:第一步,使用一张具有明显角点特征,且已知每个角点二维坐标的图案作为标定图案,规则的图案设计可以方便的计算出角点在图案内的二维坐标,拿棋盘格来说,角点之间的间隔像素数是固定的,假设左上角角点的坐标为(0,0)(0,0)(0,0),则其他角点的像素坐标都可以通过格子的偏移量计算出来,而一张已知DPI的标定板图像,在打印后每个角点的二维空间坐标也是完全已知的(通过像素换算成空间尺寸)。本双目摄像机标定实验使用的是角点为9x6的棋盘格标定图案。三角测距法[22]是一种非接触式的测距方法,以三角测量原理为基础。红外设备以一定的角度向物体投射红外线,光遇到物体后发生反射并被CCD(Charge-coupledDevice,电荷耦合元件)图像传感器所检测。随着目标物体的移动,此时获取的反射光线也会产生相应的偏移值。根据****角度、偏移距离、中心矩值和位置关系,便能计算出****到物体之间的距离。三角测距法在军工测量、地形勘探等领域中应用广泛。第二步,将标定板图案以某种方式置于一个平面上。比如最简单的方式是将标定图原尺寸打印出来,然后找一块近似平的平板,将打印后的标定图案粘贴至平板上;更专业高精度的方式是找专业厂家制作高精平板(如陶瓷板)并将标定图案以某种工艺刻印到平板上。这一步的目的是让标定图案的角点都位于一个平面上。本次相机标定使用的标定板直接将电脑屏幕中的棋盘格图案作为实验标定板进行图像采集。如此,第一步所描述的二维坐标可以转换成第三维Z坐标等于0的三维坐板将世界坐标系的原点放在标定板的某个角点Z轴垂直于标定板\第三步,移动双目相机到N(N>=3)个不同的位姿拍摄标定板采集双目相机图像并对其进行图像分割,获得左右摄像头拍摄图像。第四步,对上一步拍摄的标定板图案进行角点提取,解算标定参数。使用闭合解法求解所有内参数和外参数,通过线性方程组求解近似的畸变系数(或者直接赋值为0),通过非线性优化计算精确的内外参数和畸变系数。以上便是相机标定的实施步骤,总结来说,在一个平面标定板上有一组已知空间坐标的角点,相机在多个不同位姿下拍摄角点图案并提取角点的像素坐标,即可完成相机内外参数的解算。总结:如果标定的结果校正出来的图片很扭曲,甚至看不到原图的样子,可能原因有:1、角点提取错误。在stereo_calib.cpp中,可以将函数StereoCalib的displaycorners参数设为true,即可显示角点提取结果。2、角点顺序错误。左右两张图片的角点提取,还要保证顺序相同,否则会造成很大扭曲。3、标定板占图片区域太少。可能出现能看到完整图片,但是只在中间很小一个区域,周围仍然是扭曲的图像的情况。.双目摄像头立体校正与匹配双目相机内外参标定完成后,得到两个摄像机之间的Rotation和Translation,要用下面的代码对两幅图像进行立体对极线校正,这就需要算出两个相机做对极线校正需要的R和T用RLT1,R2,T2表示,以及透视投影矩阵Pl,P2:MatRI,R2,Pl,P2,Q:RectvalidRoi[2];stereoRectify(earneraMatrix[0],distCoeffs[0],caneraMatrixd],distCoeffs[1], imageSize,R,T,RI,R2,Pl,P2,Q,CALIB.ZERO.DISPARITY,1,imageSize,fevalidRoi[0],得到上述参数后,对其进行对极线校正操作。立体校正后的左右两幅图像得到后,匹配点是在同一行上的,可以使用OpenCV中的BM算法或者SGBM算法计算视差图。.双目摄像头立体匹配深度图+孔洞填充深度计算由于SGBM算法计算的视差并不是真正的视差(差了16倍),因此在计算深度时需要考虑。计算深度需要的参数如下:baseline:左右相机距离,该参数在标定的相机外参extrinsics.yml中T向量第一个值,取绝对值,单位是mm。f:归一化焦距,由于只在x方向有视差,用fx即可,深度图一般取左深度,因此用左相机的深度即可。fx的单位是pixelod:视差,单位为pixel,从disp中读取,除以16,读取方式为:d=(float)disp.at<shortint>(h,w)*0.0625;公式:depth(mm)=baseline(mm)*fx(pixel)/d(pixel)1)匹配图像预处理SGBM立体匹配算法要先对输入图像做预处理,OpenCV源码中调用函数staticvoidprefilterXSobel(constcv::Mat&srczcv::Mat&dst,intpreFilterCap),参数设置中preFilterCap在此函数中用到,其作用主要有两点:对于无纹理区域,能够排除噪声干扰;对于边界区域,能够提高边界的区分性,利于后续的匹配代价计算。函数步骤如下:先利用水平Sobel算子求输入图像x方向的微分值Value;如果Value<-preFilterCap,则Value=0;如果Value>preFilterCap,则Value=2*preFilterCap;如果Value>=-preFilterCap&&Value<=preFilterCap,则Value=Value+preFilterCap;输出处理后的图像作为下一步计算匹配代价的输入图像。2)视差图后处理SGBM立体匹配算法在算出初始视差图后会进行视差图后处理,包括中值滤波,连通域检测等。其中中值滤波能够有效去除视差图中孤立的噪点,而连通域检测能够检测出视差图中因噪声引起小团块(blob)。在SGBM中有speckleWindowSize和speckleRange这两个参数,speckleWindowSize是指设置检测出的连通域中像素点个数,也就是连通域的大小。speckleRange是指设置判断两个点是否属于同一个连通域的阈值条件。大概流程如下:.判断当前像素点四邻域的邻域点与当前像素点的差值diff,如果diffvspeckRange,则表示该邻域点与当前像素点是一个连通域,设置一个标记。然后再以该邻域点为中心判断其四邻域点,步骤同上。直至某一像素点四邻域的点均不满足条件,则停止。.步骤1完成后,判断被标记的像素点个数count,如果像素点个数count<=speckleWindowSize,则说明该连通域是一个小团块(blob),则将当前像素点值设置为newValue(表示错误的视差值,newValue一般设置为负数或者0值)。否则,表示该连通域是个大团块,不做处理。同时建立标记值与是否为小团块的关系表rtype[label],rtype[label]为0,表示label值对应的像素点属于小团块,为1则不属于小团块。.处理下一个像素点时,先判断其是否已经被标记:如果已经被标记则根据关系表rtype[label]判断是否为小团块(blob),如果是,则直接将该像素值设置为newValue;如果不是,则不做处理。继续处理下一个像素。如果没有被标记,则按照步骤1处理。.所有像素点处理后,满足条件的区域会被设置为newValue值,

温馨提示

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

评论

0/150

提交评论