基于RGB‑D相机数据的物体及室内小场景恢复与建模方法与流程

文档序号:11217349阅读:2680来源:国知局
基于RGB‑D相机数据的物体及室内小场景恢复与建模方法与流程
本发明属于摄影测量学与计算机视觉领域,具体涉及一种基于rgb-d相机数据的物体及室内小场景恢复与建模方法。
背景技术
:近年来,三维重建日益成为计算机视觉领域的研究热点和重点,被广泛应用于工业测量、文物古迹保护、逆向工程、电子商务、计算机动画、医疗解剖、显微摄影、虚拟现实等诸多领域。常用的物体与室内建模方法主要是利用激光扫描仪lidar获取点云数据进行建模,或者是利用相机获取重叠影像基于双目立体视觉的方法进行建模,前者价格昂贵且仪器操作笨重;而后者数据处理复杂耗时,对光照条件有要求,且对相机也需要特别校正。便携式rgb-d传感器(如kinect2.0)价格低廉、结构简单、操作方便,能同时获取场景的深度和彩色数据,且深度数据的获取不受环境可见光的干扰。这些优势大大减低了三维建模的难度和成本,使得普通用户也能将日常生活中的物体数字化,连接虚拟与真实世界。在利用rgb-d相机数据进行物体及室内小场景恢复与建模的点云建模中,深度数据(点云)配准是三维物体重建和室内小场景恢复的关键技术,涉及点云初始配准位置的确定和在此基础上的点云精确配准。目前在点云配准的粗配准位置确定方面,采用靶标球是最通用的方法,而如果没有靶标则多利用人工标注粗位置的方法,点云精配准是在粗配准基础上进行的。1992年besl和mckay提出一种基于自由形态曲面的配准算法——迭代最近点算法(iterativeclosestpoint,icp),这是一种点集到点集的配准方法,不需要对曲面进行分割和特征提取,但算法的收敛速度慢,很容易迭代收敛到一个局部极值,导致配准失败。现有的点云配准算法基本都是基于icp算法并加以改进,来提高点云匹配的正确率、效率和鲁棒性等,以获得重建结果。微软针对rgb-d相机的代表kinect相机研发了kinectfusion技术,在支持gpu加速的机器上能够对物体进行实时的三维几何建模,快速创建足够平滑的重建场景。但该方法不做环闭合检测和优化,重建模型会产生大的累积误差,造成模型变形,且在场景趋于平坦时算法极易出现追踪失败。由于rgb-d相机能同时获取光学与深度数据,人们研究在icp配准中利用光学影像数据引入极线约束进行rgb-d相机深度数据配准,并应用于kinect相机数据,该方法的鲁棒性较高,能够基本恢复场景的整体模型,特别是在kinectfusion追踪建模失败的情况下,仍能取得较好的结果,但模型细节有时会出现失真。针对现有的利用rgb-d相机数据对物体及室内小场景恢复与建模方法中存在的:对移动中相机位姿估计的精度不高,重建模型存在系统性的误差累积,模型表面比较粗糙以及算法的实时性差等缺点,研究利用各种约束信息对icp算法进行改进获得精度与鲁棒性较高的点云配准算法,实现基于rgb-d相机数据的物体及室内小场景恢复与建模,使得不借助昂贵笨重的激光扫描仪可以进行物体和小场景的快速建模,是现今计算机视觉、近景摄影测量领域人们研究的目标之一。技术实现要素:本发明的目的在于提供一种基于rgb-d相机数据的物体及室内小场景恢复与建模方法。本发明需要保护的技术方案表征为:一种基于rgb-d相机数据的物体及室内小场景恢复与建模方法,其特征在于,概括为:该方法在进行rgb-d深度数据(点云)配准建模中,将点到面和点到投影的约束条件综合起来应用于rgb-d相机所获得的序列深度数据(点云)的精确配准,最后得到物体或者小场景的点云模型(.ply格式),该模型可用于物体的量测及进一步cad建模。本发明中的配准方法既考虑了点到投影算法的速度优势,也综合了点到切平面算法的精度优势,克服了传统点云配准方法速度慢、场景精度低的问题,可以快速、准确的找到源点云上某点在目标点云上的对应点,实现多视点云拼接。本发明技术方案,具体说明如下:设sp、sq为rgb-d相机从不同的视点p、q获得的两帧相邻帧点云数据。因为rgb-d进行点云获取时,采样频率较高且相机移动速度比较慢,因此相邻帧点云数据间的配准值平移量接近0向量、旋转阵接近e阵,可以利用0、e作为点云配准的初始值。sp、sq是经过粗略配准的点云参数化的局部表面,p0是sp上一点,是p0点的法向量,qs是过p0点的法线与sq的交点,过qs做sq的切平面,q′s为p0点在该切平面的投影。利用p0和q′s作为点云配准参数解算的配准点。点到面的配准方法的关键是求得交点qs,常用的求交点的方法是通过找到目标点云表面的三角形,利用三角形的3个顶点内插出交点,但这种方法的计算量大,耗时长。为避免此问题,在本发明中首先利用点到投影的方法求得交点,然后基于求出的交点得到过交点的切平面并进一步确定配准点候选点对,再利用刚性运动一致性约束对前面确立的候选点对进行错误点对剔除,最后利用错误点剔除后的配准点对进行sp、sq两点云的icp精配准,得到的精确的配准参数。根据上面方法得到连续帧点云间的精配准参数后,再利用点云精配准参数对连续帧点云进行配准建模得到物体或者小场景的点云模型(.ply格式)。进一步给出实施例技术方案,过程如下:首先进行rgb-d数据获取(后续采用微软发布的kinect2.0作为深度数据的采集装置为例进行说明),数据采集前对rgb-d数据采集的软、硬件平台环境进行适当配置满足采集要求;采集时,对固定目标或场景,在rgb-d相机深度识别范围内,手持相机以较平稳且低移动速度绕物体或场景旋转一周,形成一个闭合的圆环,且采集过程中应避免较大的抖动,防止帧间配准产生较大的偏差。得到序列帧数据后,进行物体场景建模,方法如下:1.深度图像滤波在实际量测过程中,传感器受强光条件以及待测物体表面材质的影响,深度数据含有大量的噪声,尤其在物体边缘处,会出现无效数据,因此将深度数据转换成三维点云之前,采用双边滤波对深度图像降噪平滑的同时保留物体的深度图像上边缘信息,在考虑像素在空间位置距离上的关系的同时,也考虑了像素间的相似程度。ws=wg×wh式(1)为双边滤波的计算式。当空间域的标准差δg不变,灰度阈的权值δh逐渐增大的过程中,不同灰度值对应的权值wh都很大,利用深度图像灰度(深度信息)的变化保留边缘信息的作用越来越弱,双边滤波器退化为高斯滤波器。在δh不变,δg逐渐增大的过程中,图像的模糊越来越明显。对物体与小场景反复实验后,本发明中双边滤波的模板大小为3×3,空域和值域高斯函数的标准差分别为10、15。2.彩色影像特征点检测与图像匹配为了生成与场景一致的三维模型,在几何重建的同时进行纹理重建,就需要利用特征检测算子找到彩色影像特征点并对相邻两帧彩色进行匹配,由于数据量较大,采用orb(orientedbrief)算法提取彩色影像特征点,orb算法相比sift(scale-invariantfeaturetransform)和surf(speed-uprobustfeatures)算子运行的时间短,算法匹配的正确率高,采用二进制编码方式描述提取的特征大大节省了计算机内存。彩色影像匹配完成后,根据标定得到的彩色镜头与深度镜头之间的相对位姿,实现彩色影像与深度数据对齐,生成场景不同视角下的彩色化点云。3.改进的icp精配准方法a.利用back-project法,将待配准的第n帧上某一点p0按下一帧((n+1)帧)的视点方向投影得到它的像素坐标pq,计算公式为式(2)中,mq为中心投影矩阵(相机标定后得到的内参矩阵),tq为将q视点获得的点云转换到同一世界坐标系下的变换矩阵。由于式(2)的计算结果不一定为整数,对式(2)结果进行取整(四舍五入)操作,得到深度影像格网点上的值pq。b.利用forward-project法,将pq坐标带入式(3)等式右端,得到新的三维点坐标的计算公式为:式(3)中,为相机标定后得到的内参数矩阵,zc为pq在第(n+1)深度图像上的深度值,通过式(3)计算得到c.利用式(4)将投影在p0处的法向量上,得到p1点的坐标式(4)中,为p0处的单位法向量。d.得到p1后,将p1作为新的p0值参与上述a、b、c三个步骤,进行投影,递归迭代得到p2。不断迭代,第i次投影得到的点将迭代收敛于交点qs,且当i趋于无穷大时,有在实际情况中,受投影次数的限制,迭代的终止条件为:其中εc为一个给定的阈值,大小为10-6。得到收敛后的交点qs,确定过点qs的切平面,将p0投影在该切平面上,得到投影点q′s。e.将通过步骤1预处理后深度图像上每个点都进行上述步骤a~d,得到每个点的q′s,最终构成匹配点对集合{p0}和{q′s}。f.受迭代初值和点云表面光滑度的影响,采用上述方法确立的匹配点对{p0}和{q′s}中仍然存在错误的对应点,这种情况在迭代初期尤为明显,因此,本发明中采用刚性运动一致性约束对错误点对进行剔除。假设(p1,q1)与(p2,q2)为候选的对应点对,则有刚性运动一致性约束:式(6)中,t是预先定义的阈值,对所有候选点(pi,qi),i=1,2,…,n,判断彼此的兼容性,并对不兼容的点进行剔除。g.将剔除错误候选点对得到的新对应点序列{p0}和{q′s}作为精确匹配点,利用奇异值分解法求得矩阵最大特征值对应的单位特征向量,计算第n帧与相邻第(n+1)帧点云间的旋转矩阵r和平移向量t,实现相邻帧间精配准。4.步骤3中得到相邻点云帧间的精确配准结果都是以第一帧点云所在的坐标系为参考坐标系,对其他所有相邻帧点云都利用上面步骤1~3进行处理,得到各相邻帧间的旋转矩阵r与平移向量t,最后利用式(7)将所有帧点云统一到参考坐标系下。生成统一坐标系下的物体和场景点云模型,格式为.ply文件。该文件可在meshlab或者geomagicstudio等通用的三维几何处理系统中显示并进行进一步数据处理。与现有方法相比,联合点到面和点到投影、并加上刚性运动一致性约束的精配准方法,兼顾了现有算法的速度和精度优势,算法执行的时间更短,点云配准的精度更高,所建模型的结构特征比较清晰,算法的鲁棒性较强,精度可靠,能满足物体及室内小场景恢复与建模。本发明可以应用于基于rgb-d相机数据的物体与室内小场景恢复与建模,在目标物与小场景的量化恢复与建模方面发挥作用。附图说明图1为本发明算法的整体流程图。图2为本发明中改进的icp算法的详细流程图。图3为本发明提出的联合点到面约束和点到投影约束的点云配准方法的原理图。图4为rgb-d传感器(利用kinect相机)获得的会议室场景中第41帧数据,其中图4(a)为对应的彩色影像(灰度显示),图4(b)为红外影像,图4(c)为深度数据。图5为图4相邻的下一帧(42帧)的数据,其中图5(a)为彩色影像(灰度显示),图5(b)为红外影像,图5(c)为深度数据。图6(a)、图6(b)分别为双边滤波对图4、图5中会议室场景的深度数据降噪平滑的结果。图7为图4、图5相邻两帧彩色影像匹配结果(灰度显示)。图8为彩色化点云(灰度显示)。图9为本发明方法配准后建立的场景模型的效果图,其中右图中的灰色三角锥表示kinect相机获取点云时的位置与视轴方向。具体实施方式以下结合一个实施例子对具体实现方法进行说明,即对一有代表性的rgb-d相机——微软的kinect2.0——获得物体或室内小场景的序列彩色与深度数据,生成能被meshlab、geomagicstudio等通用三维几何处理系统支持的三维模型数据,格式为.ply文件。数据采集前对kinect数据采集的软、硬件平台环境进行配置,采用window8(64位)、接口为usb3.0的笔记本一台,软件平台环境需要预装微软自主研发的开发工具包sdk,并安装配置开源的跨平台计算机视觉库opencv3.0。采集时,对固定目标或场景,在kinect相机深度识别范围内,手持相机以较平稳且低移动速度绕物体或场景旋转一周,形成一个闭合的圆环,采集过程中应避免较大的抖动,防止帧间配准产生较大的偏差。实施例1:对于实施例子中的会议室场景,共采集了151帧数据,数据采样的时间间隔为3s。实验数据为kinect2.0获得的数据包括会议室场景的彩色影像、红外影像和深度数据,其中彩色影像的分辨率为1920×1080,深度和红外影像的分辨率为512×424。下面为第41帧原始深度影像部分灰度值(深度值),范围为行号209~224,列号为192~220.表1通过标定得到的彩色镜头与深度镜头之间的相对位姿参数为:旋转矩阵为平移向量为根据图1所示的具体流程,整个实施过程如下:1、深度图像滤波在将kinect相机获取的图像形式的深度数据转换为(x,y,z)形式的三维点云格式之前,考虑到实际数据获取过程中,深度传感器受外界光照条件以及待测物体表面材质的影响,所获得的深度数据含有大量的噪声,尤其在物体边缘处,会出现无效数据。因此在转换前,利用式(1)先对深度图像进行降噪平滑,同时保留物体的边缘信息。本发明双边滤波模板的大小为3×3,空域和值域高斯函数的标准差分别为10、15。则定义域核为:0.99000.99500.99000.99501.00000.99500.99000.99500.9900值域核为:由于深度数据量较大,这里只列出第41帧深度数据某3×3范围内的原始灰度值为:177177177177176178175179180对该帧数据双边滤波后该3×3范围内的值为175176175176176176173175172图6(a)为双边滤波对图4(第41帧)中深度数据降噪平滑的结果,图6(b)为双边滤波对图5(第41帧相邻的下一帧(第42帧))中深度数据降噪平滑的结果。2、彩色影像特征点检测与图像匹配为了生成与场景一致的三维模型,在几何重建的同时进行纹理重建,利用特征检测算子找到彩色影像特征点并对相邻两帧彩色进行匹配,由于数据量较大,采用orb算法提取彩色影像特征点,orb算法相比sift和surf算子运行的时间短,算法匹配的正确率高,同时采用二进制编码方式描述提取的特征来节省计算机内存。对第41帧和第42帧的彩色影像进行匹配,匹配完成,结果如图7。根据标定得到的彩色镜头与深度镜头之间的相对位姿,进行彩色影像与深度数据对齐,生成物体、场景不同视角下的彩色化点云,对第41帧和第42帧分别进行彩色影像与深度数据对齐,生成的彩色化点云结果分别见图8(a)、图8(b)。3、改进的icp精配准方法首先对深度滤波后的第41帧深度数据进行转换,得到点云数据,包含8475个点,下面为该点云数据前72个点的信息为:表2利用联合点到面和点到投影的点云配准算法对物体或室内小场景曝光时刻的的位置和姿态进行估计并优化,以第一帧点云所在的坐标系为参考坐标系,将其余各帧点云经坐标转换都变换到参考坐标系下。a.利用back-project法,将第41帧点云上的某点p0,坐标为(-0.432926,-0.383050,1.971088),根据式(2)按照第42帧点云的视点方向投影得到它的像素坐标pq,像素坐标为(348,270)。其中,b.利用forward-project法,将pq坐标带入式(3)等式右端,得到新的三维点坐标为(0.261255,0.179193,1.000000)。c.利用式(4)将投影第41帧点云p0处的法向量上,得到p1点的坐标为(-0.308091,-0.357967,2.012104)。d.得到p1后,根据式(5),得到这里阈值εc大小取10-6。在值大于阈值εc时,将p1点坐标作为p0新的坐标,回到步骤a,重复上面a、b、c三个步骤,进行投影,递归迭代得到p2;此时如果小于εc,得到qs。得到收敛后的交点qs后,确定过42帧上点qs的切平面,将p0投影在该切平面上,得到投影点q′s,坐标为(-0.432665,-0.387157,1.975511)。e.将通过步骤1预处理后该帧深度图像生成点云上的每个点都进行上述步骤a~d,得到每个点的q′s,最终构成初始匹配点对集合{p0}和{q′s}。由于两帧点云间匹配点数目很多,表3中只显示了第41帧和相邻第42帧处理后初始匹配点对集合中的部分对应匹配点:表3f.受迭代初值和点云表面光滑度的影响,采用上述方法确立的候选匹配点对{p0}和{q′s}中仍然存在错误的匹配对应点,本发明中采用刚性运动一致性约束对错误点对进行剔除。假设(p1,q1)与(p2,q2)为候选的匹配对应点对,根据式(6)对上面确定的第41帧和第42帧所有匹配点进行刚性运动一致性约束,其中t是预先定义的阈值(本方法中取10%),对所有候选点(pi,qi),i=1,2,…,n,判断彼此的兼容性,并对不兼容的点进行剔除。下面为上表3前两对点,计算点对兼容性的结果:该结果表明这两对点不兼容,应该剔除。对上面步骤e得到所有匹配点对,利用上面方法剔除错误点对后,得到更准确的匹配点对。表4为经过这一处理后得到的匹配点对集合中的部分对应匹配点的列表:表4p0-3.57807110.548076871.6893054qs0’-3.57384160.5471962651.6887584p1-3.66562440.514112591.7566197qs1’-3.66764490.515090921.7566626p2-3.71463680.500283241.8223131qs2’-3.71417470.500616251.8230906p3-2.21151690.998328210.29833382qs3’-2.21173550.99574250.29692292p4-2.24303361.00235140.41302541qs4’-2.24319771.00261560.41257041p5-2.29546710.988810060.49076268qs5’-2.29556920.98810030.50018574p6-2.41280080.944958450.58901qs6’-2.41255450.944728010.57922614p7-3.01110770.599951740.41161895qs7’-3.01115040.5997623930.4117605561p8-2.74427370.808493380.79625237qs8’-2.74822910.797230130.80870435p9-2.88550730.775642691.0258969qs9’-2.88635970.775639191.0290474p10-3.02371360.739816131.2300546qs10’-3.02453290.739074771.2307017g.将剔除错误候选点对得到的新对应点序列{p0}和{q′s}作为匹配点利用奇异值分解法求得矩阵最大特征值对应的单位特征向量,来计算得到第41帧与相邻第42帧点云间的三维刚体变换的6个自由度,用旋转矩阵r和平移向量t表示为:其他相邻帧点云均采用以上步骤a~g依次求得各帧间转换参数,即旋转矩阵r和平移向量t。4、物体与场景模型的生成利用步骤3中得到的各相邻帧点云间的精确配准结果r和t,根据式(7)将这151帧点云数据转换到统一的坐标系(第一帧点云深度相机所在的坐标系),并进行数据叠合,得到.ply格式的场景三维点云(在meshlab、geomagicstudio等软件中可显示)。生成的物体或场景的模型如图9所示,生成的.ply文件中部分数据如表5所示:表5当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1