咨询热线
13937326644
学术交流丨三维重建技能总述
发布时间:2022-08-06 07:10:17 来源:天博app下载ios
详细介绍

  三维重建技能通过深度数据获取、预处理、点云配准与交融、生成外表等进程,把实在场景刻画成契合核算机逻辑表达的数学模型。这种模型可以对如文物保护、游戏开发、建筑设计、临床医学等研讨起到辅佐的作用。

  三维重建技能的要点在于怎么获取方针场景或物体的深度信息。在景象深度信息已知的条件下,只需求通过点云数据的配准及交融,即可完结景象的三维重建。

  依据三维重建模型的深层次运用研讨也可以随即打开。人们依照被动式丈量与自动式丈量[5]对方针物体深度信息的获取办法进行了分类,下面临这两种办法进行相应的介绍。

  被动式一般运用周围环境如自然光的反射,运用相机获取图画,然后通过特定算法核算得到物体的立体空间信息。首要有以下三种办法:

  纹路法的基本理论为:作为图画视界中不断重复的视觉基元,纹路元掩盖在各个方位和方向上。当某个布满纹路元的物体被投射在平面上时,其相应的纹路元也会发生弯折与改变。

  例如透视缩短变形使与图画平面夹角越小的纹路元越长,投影变形会使离图画平面越近的纹路元越大。通过对图画的丈量来获取变形,从而依据变形后的纹路元,逆向核算出深度数据。

  SFT对物体外表纹路信息的要求苛刻,需求了解成像投影中纹路元的畸变信息,运用规模较窄,只合适纹路特性确认等某些特别景象。一切在实践运用中较为罕见。

  SFS(Shape From Shading,从暗影康复形状)法也是一种较为常用的办法。图画的暗影鸿沟包括了图画的概括特征信息,因而可以运用不同光照条件下的图画的明暗程度与暗影来核算物体外表的深度信息,并以反射光照模型进行三维重建。

  暗影康复形状法的运用规模比较广泛,可以康复除镜面外的各种物体的三维模型。缺陷表现在进程多为数学核算、重建成果不行精密,别的不能忽视的是,SFS法需求精确的光源参数,包括方位与方向信息。这就导致其无法运用于比方露天场景等具有杂乱光线

  立体视觉法(Multi-View Stereo,MVS)是别的一种常用的三维重建办法。首要包括直接运用测距器获取程距信息、通过一幅图画估测三维信息和运用不同视点上的两幅或多幅图画康复三维信息等三种办法。通过模仿人类视觉体系,依据视差原理获取图画对应点之间的方位差错,康复出三维信息。

  双目立体视觉重建,在实践运用状况优于其他依据视觉的三维重建办法,也逐渐出现在一部分商业化产品上; 缺乏的是运算量依然偏大,并且在基线间隔较大的状况下重建作用显着下降 。

  作为核算机视觉的关键技能之一,立体视觉法也其坏处。例如,立体视觉需求假定空间的平面是正平面,而实践状况却与此相差甚远。除此之外,匹配还存在歧义性:关于一幅图画上的某些特征点,别的的图画或许存在若干个与之类似的特征点。

  那么怎么选取最适配的匹配点,显得较为扎手。除此之外,关于如相机运动参数的确认、大型场景重建需求获取多帧图画等问题,也极大的影响了立体视觉的深层次运用。

  自动式是指运用如激光、声波、电磁波等光源或能量源发射至方针物体,通过接纳回来的光波来获取物体的深度信息。自动测距有莫尔条纹法、飞翔时刻法、结构光法和三角测距法等四种办法。

  莫尔条纹在生活中比较常见,如两层薄薄的丝绸堆叠在一起,即可以看到不规则的莫尔(Morie)条纹。基本原理是将两块等间隔摆放的直线簇或曲线簇图画堆叠起来,以十分小的视点进行相对运动来构成莫尔条纹。

  因光线的透射与遮挡而发生不同的明暗带,即莫尔条纹。莫尔条纹跟着光栅的左右平移而发生笔直位移,此刻发生的条纹相位信息表现了待测物体外表的深度信息,再通过逆向的解调函数,完结深度信息的康复。这种办法具有精度高、实时性强的长处,可是其对光照较为灵敏,抗干扰才能弱。

  飞翔时刻法(Time of Flight,ToF)指的是在光速及声速必定的前提下,通过丈量发射信号与接纳信号的飞翔时刻间隔来取得间隔的办法。这种信号可所以超声波,也可所以红外线等。

  飞翔时刻法相较于立体视觉法而言,具有不受基线长度约束、与纹路无关、成像速度快等特色。可是其也有必定的缺陷。

  首要,ToF相机的分辨率十分低。其次,ToF相机简略遭到环境要素的影响,如混合像素、外界光源等,导致景象深度不精确;终究,体系差错与随机差错对丈量成果的影响很大,需求进行后期数据处理,首要表现在场景像素点的方位重合上。

  结构光法(Structured Light)通过向外表润滑无特征的物体发射具有特征点的光线,依据光源中的立体信息辅佐提取物体的深度信息。

  具体的进程包括两个进程,首要运用激光投影仪向方针物体投射可编码的光束,生成特征点;然后依据投射方式与投射光的几许图画,通过三角丈量原理核算摄像机光心与特征点之间的间隔,由此便可获取生成特征点的深度信息,完结模型重建。

  这种可编码的光束便是结构光,包括各种特定款式的点、线、面等图画。结构光法处理了物体外表平整、纹路单一、灰度改变缓慢等问题。由于完结简略且精度较高,所以结构光法的运用十分广泛,如微软公司的Kinect。

  三角测距法是一种非触摸式的测距办法,以三角丈量原理为根底。红外设备以必定的视点向物体投射红外线,光遇到物体后发生反射并被CCD(Charge-coupled Device,电荷耦合元件)图画传感器所检测。

  跟着方针物体的移动,此刻获取的反射光线也会发生相应的偏移值。依据发射视点、偏移间隔、中心矩值和方位联系,便能核算出发射器到物体之间的间隔。三角测距法在军工丈量、地势勘探等范畴中运用广泛。

  五颜六色图画也叫作RGB图画,R、G、B三个重量对应于红、绿、蓝三个通道的色彩,它们的叠加组成了图画像素的不同灰度级。

  RGB色彩空间是构成多彩实际国际的根底。深度图画又被称为间隔图画,与灰度图画中像素点存储亮度值不同,其像素点存储的是该点到相机的间隔,即深度值。下图表明深度图画与灰度图画之间的联系。

  深度值指的方针物体与丈量器件之间的间隔。深度值的大小只与间隔有关,而与环境、光线、方向等要素无关,所以深度图画可以实在精确的表现景象的几许深度信息。通过树立物体的空间模型,可以为深层次的核算机视觉运用供给更坚实的根底。

  PCL(Point Cloud Library,点云库)是由斯坦福大学的Dr.Radu等学者依据ROS(Robot Operating System,机器人操作体系)下开发与保护的开源项目,开始被用来辅佐机器人传感、认知和驱动等范畴的开发。跟着对三维点云算法的参加与扩大,PCL逐渐发展为免费、开源、大规模、跨渠道的C++编程库。

  PCL结构包括许多先进的算法和典型的数据结构,如滤波、切割、配准、辨认、追寻、可视化、模型拟合、外表重建等许多功用。在算法方面,PCL是一套包括数据滤波、点云配准、外表生成、图画切割和定位查找等一系列处理点云数据的算法。例如PCL中完结管道运算的接口流程:

  点云数据一般出现在逆向工程中,是由测距设备获取的物体外表的信息调集。其扫描材料以点的方式进行记载,这些点既可所以三维坐标,也可所以色彩或许光照强度等信息。

  一般所运用的点云数据一般包括点坐标精度、空间分辨率和外表法向量等内容。点云一般以PCD格局进行保存,这种格局的点云数据可操作性较强,一起可以提高点云配准交融的速度。本文研讨的点云数据为非结构化的散乱点云,归于三维重建特有的点云特色。

  运用Kinect收集景象的点云数据,通过深度图画增强、点云核算与配准、数据交融、外表生成等进程,完结对景象的三维重建。

  对获取到的每一帧深度图画均进行前六步操作,直到处理完若干帧。终究完结纹路映射。下面临每个进程作具体的阐明。

  景象的深度图画由Kinect在Windows渠道下拍照获取,一起可以获取其对应的五颜六色图画。为了获取足够多的图画,需求改换不同的视点来拍照同一景象,以确保包括景象的悉数信息。

  具体计划既可所以固定Kinect传感器来拍照旋转渠道上的物体;也可所以旋转Kinect传感器来拍照固定的物体。

  遭到设备分辨率等约束,它的深度信息也存在着许多缺陷。为了更好的促进后续依据深度图画的运用,有必要对深度图画进行去噪和修正等图画增强进程。作为本文的要点问题,具体的处理办法将在第四章进行具体的解说阐明。

  现在深度相机输出的depth图还有许多问题,比方关于润滑物体外表反射、半/通明物体、深色物体、超出量程等都会构成深度图缺失。并且许多深度相机是大片的深度值缺失,这关于算法工程师来说十分头疼。

  预处理后的深度图画具有二维信息,像素点的值是深度信息,表明物体外表到Kinect传感器之间的直线间隔,以毫米为单位。以摄像机成像原理为根底,可以核算出国际坐标系与图画像素坐标系之间具有下式的转化联系:

  其间u,v为图画坐标系下的恣意坐标点。u0,v0别离为图画的中心坐标。xw,yw,zw表明国际坐标系下的三维坐标点。zc表明相机坐标的z轴值,即方针到相机的间隔。R,T别离为外参矩阵的3x3旋转矩阵和3x1平移矩阵。

  注意到,相机坐标系和国际坐标系的坐标原点重合,因而相机坐标和国际坐标下的同一个物体具有相同的深度,即zc=zw.所以公式可进一步简化为:

  从以上的改换矩阵公式,可以核算得到图画点[u,v]T到国际坐标点[xw,yw,zw]T的改换公式:

  (u0, v0)是图画坐标系原点(图画中心)在像素坐标系(以左上角为原点)中的坐标,dx 和 dy别离是每个像素在图画平面x和y方向上的物理标准。

  f 为焦距(像平面与相机坐标系原点的间隔)。M称之为内参矩阵可以理解为矩阵内各值只与相机内部参数有关,且不随物体方位改变而改变。其间fx,fy的单位为个(像素数目)。用一幅图来总结从国际坐标系到像素坐标系(不考虑畸变)的转化联系:

  相机坐标系:在相机上树立的坐标系,为了从相机的视点描绘物体方位而界说,作为交流国际坐标系和图画/像素坐标系的中心一环。

  单位为m。以相机的光心为坐标原点,X 轴和Y 轴别离平行于图画坐标系的 X 轴和Y 轴,相机的光轴为Z 轴,用(Xc, Yc, Zc)表明其坐标值。

  图画坐标系(image coordinate system):描绘物体从相机坐标系到图画坐标系的投影透射联系,便利进一步得到像素坐标系下的坐标。

  以图画平面的中心为坐标原点,X轴和Y 轴别离平行于图画平面的两条笔直边,用( x , y )表明其坐标值。图画坐标系是用物理单位(例如毫米)表明像素在图画中的方位。

  像素坐标系(pixel coordinate system):描绘物体成像后的像点在数字图画上(相片)的坐标,是咱们真正从相机内读取到的信息地点的坐标系。

  单位为个(像素数目)。以图画平面的左上角极点为原点,X 轴和Y 轴别离平行于图画坐标系的 X 轴和Y 轴,用(u , v )表明其坐标值。数码相机收集的图画首要是构成规范电信号的方式,然后再通过模数转化改换为数字图画。

  每幅图画的存储方式是M × N的数组,M 行 N 列的图画中的每一个元素的数值代表的是图画点的灰度。这样的每个元素叫像素,像素坐标系便是以像素为单位的图画坐标系。

  关于多帧通过不同视点拍照的景象图画,各帧之间包括必定的公共部分。为了运用深度图画进行三维重建,需求对图画进行剖析,求解各帧之间的改换参数。

  深度图画的配准是以场景的公共部分为基准,把不一起刻、视点、照度获取的多帧图画叠加匹配到一致的坐标系中。核算出相应的平移向量与旋转矩阵,一起消除冗余信息。

  点云配准除了会限制三维重建的速度,也会影响到终究模型的精密程度和大局作用。因而有必要提升点云配准算法的功用。

  三维深度信息的配准按不同的图画输入条件与重建输出需求被分为:粗糙配准、精密配准和大局配准等三类办法。

  粗糙配准研讨的是多帧从不同视点收集的深度图画。首要提取两帧图画之间的特征点,这种特征点可所以直线、拐点、曲线曲率等显式特征,也可所以自界说的符号、旋转图形、轴心等类型的特征。

  随后依据特征方程完结开始的配准。粗糙配准后的点云和方针点云将处于同一标准(像素采样间隔)与参阅坐标系内,通过自动记载坐标,得到粗匹配初始值。

  精密配准是一种更深层次的配准办法。通过前一步粗配准,得到了改换估计值。将此值作为初始值,在通过不断收敛与迭代的精密配准后,到达愈加精准的作用。

  以经典的ICP(Iterative Closest Point,迭代最近点)算法为例,该算法首要核算初始点云上一切点与方针点云的间隔,确保这些点和方针点云的最近点彼此对应,一起结构残差平方和的方针函数。

  依据最小二乘法对差错函数进行最小化处理,通过重复迭代,直到均方差错小于设定的阈值。ICP算法可以取得精正确无误的配准成果,对自在形状曲面配准问题具有重要意义。

  大局配准是运用整幅图画直接核算转化矩阵。通过对两帧精密配准成果,依照必定的次序或一次性的进行多帧图画的配准。

  配准进程中,匹配差错被均匀的涣散到各个视角的多帧图画中,到达削减屡次迭代引起的累积差错的作用。值得注意的是,尽管大局配准可以减小差错,可是其耗费了较大的内存存储空间,大幅度提升了算法的时刻杂乱度。

  通过配准后的深度信息仍为空间中散乱无序的点云数据,仅能展现景象的部分信息。因而有必要对点云数据进行交融处理,以取得愈加精密的重建模型。

  以Kinect传感器的初始方位为原点结构体积网格,网格把点云空间切割成极多的细微立方体,这种立方体叫做体素(Voxel)。通过为一切体素赋予SDF(Signed Distance Field,有用间隔场)值,来隐式的模仿外表。

  SDF值等于此体素到重建外表的最小间隔值。当SDF值大于零,表明该体素在外表前;当SDF小于零时,表明该体素在外表后;当SDF值越接近于零,表明该体素越贴近于场景的实在外表。

  KinectFusion技能尽管对场景的重建具有高效实时的功用,可是其可重建的空间规模却较小,首要表现在耗费了极大的空间用来存取数目繁复的体素。

  为了处理体素占用很多空间的问题,Curless[50]等人提出了TSDF (Truncated Signed Distance Field,切断符号间隔场)算法,该办法只存储距实在外表较近的数层体素,而非一切体素。因而可以大幅下降KinectFusion的内存耗费,削减模型冗余点。

  TSDF算法选用栅格立方体代表三维空间,每个栅格中寄存的是其到物体外表的间隔。TSDF值的正负别离代表被遮挡面与可碰头,而外表上的点则通过零点,如图2-7中左边展现的是栅格立方体中的某个模型。若有别的的模型进入立方体,则依照下式(2-9)与(2-10)完结交融处理。

  其间,指的是此刻点云到栅格的间隔,是栅格的初始间隔,是用来对同一个栅格间隔值进行交融的权重。如图2-7中右侧所示,两个权重之和为新的权重。关于KinectFusion算法而言,当时点云的权重值设置为1。

  鉴于TSDF算法选用了最小二乘法进行了优化,点云交融时又运用了权重值,一切该算法对点云数据有着显着的降噪功用。

  外表生成的意图是为了结构物体的可视等值面,常用体素级办法直接处理原始灰度体数据。Lorensen[51]提出了经典体素级重建算法:MC(Marching Cube,移动立方体)法。

  移动立方体法首要将数据场中八个方位相邻的数据别离寄存在一个四面体体元的八个极点处。关于一个鸿沟体素上一条棱边的两个端点而言,当其值一个大于给定的常数T,另一个小于T时,则这条棱边上必定有等值面的一个极点。

  然后核算该体元中十二条棱和等值面的交点,并结构体元中的三角面片,一切的三角面片把体元分成了等值面内与等值面外两块区域。

  终究衔接此数据场中的一切体元的三角面片,构成等值面。兼并一切立方体的等值面便可生成完好的三维外表。

上一篇:依据深度学习的SLAM总述:迈向空间机器智能年代 下一篇:依据双目视觉的方针检测与追寻计划详解
推荐产品