一种高质量3D纹理重建方法与流程

文档序号:17063997发布日期:2019-03-08 18:42阅读:306来源:国知局
一种高质量3D纹理重建方法与流程

属于计算机视觉以及计算机图形学领域,涉及三维重建技术,由其是一种高质量3D纹理重建方法。



背景技术:

随着立体视觉技术和深度传感设备的发展,三维重建技术作为计算机视觉以及计算机图形学领域的一个重要分支,广泛应用于增强现实、实时定位、绘图和文物重建等领域,极大地丰富了人类的生活和工作。

三维重建的过程包含了几何重建和纹理重建,几何重建中需要获取实际场景的表面模型和每个像素的深度信息,然后利用表面模型和深度信息在计算机中重现出场景的三维点云模型,将点云模型进行曲面平滑化后即可在计算机中得到实际场景的几何重建。此时得到的三维模型并没有包含实际场景的色彩信息,因此需要将获取到的实际场景中的色彩信息映射到重建的三维模型中,实现三维模型的纹理重建。通过几何重建和纹理重建,才能更加真实逼真的在计算机中对实际场景和物体进行重现。

三维重建技术中的一个重要环节就是深度信息的获取,主要分为被动式非接触测量方法和主动式非接触测量方法。被动式测量方法根据图像的特征,通过一定的几何变换来获取场景的深度信息。主动式测量方法可以直接获取场景的深度信息,该方法一般需要使用发射器向场景发射激光等测量信号,通过接收器接收到的反射信号来测量实际场景的深度信息。与传统的TOF相机等不同,RGB-D相机具有携带方便,价格低廉的特点,给非科研人员提供了一种很好的场景重建手段。

基于Kinect的纹理重建过程中,体素色彩混合算法作为一种实时的纹理重建算法,在三维重建中占据着重要的地位。该算法通过在体素中存储额外的色彩信息和权重,可以实现实时的纹理重建,同时该算法在重建过程中不仅需要输入深度图,还需要输入采集的彩色图。当获取了在同一时刻采集的深度图和彩色图之后,根据深度相机与彩色相机的标定信息,求得深度图与彩色图对应像素关系,并将RGB像素信息存入体素中,最后通过GPU对每个像素中深度信息与色彩信息的并行处理,实现实时的几何重建与纹理重建。通过光线投射算法提取出图片的点云信息,这时的点云信息中包含之前在体素中存储的色彩信息,最后在使用球旋转算法进行表面重建时,需要对表面三角形中的三个顶点的色彩信息进行平均,最终得到该三角形需要填充的颜色。

在体素色彩混合算法中需要在系统中输入所有的彩色图片以实现纹理重建,由于人们在采集信息的过程中,需要围绕着物体或场景移动,Kinect相机是手持的设备,在采集信息的过程中人们不可能一直保持着很稳定的姿势,相机可能产生轻微的晃动。受到运动模糊的影响,有一部分采集的彩色图就会非常模糊,导致最后生成模型的色彩信息也会受到模糊的影响。同时由于纹理重建中需要输入各个角度的彩色图片,当获取了新的彩色图之后,就需要对体素中的色彩信息进行更新,把新的色彩信息混合到体素中,如果新的色彩信息不能有效地更新到体素中,就会导致重建模型边缘区域的色彩发生重影问题。而传统的常量色彩信息权重分配函数在体素被更新的次数增多时,由于对新采集的色彩信息分配了过小的权重,导致新的色彩信息不能得到有效的更新,而原有的色彩信息会决定最后的色彩更新结果,导致色彩不能够得到刷新的情况,因此上述的模糊和重影问题成为影响三维模型纹理质量的重要影响因素。为了得到更加清晰和真实的三维模型的纹理质量,本发明在三维重建的纹理重建过程中引入了模糊检测模块和动态色彩权重分配函数,剔除模糊的图片,只保留清晰的图片,并使新采集的色彩信息在更新的过程中保持一定的比例,但又不会完全取代原有的色彩信息,修正了体素中色彩信息的更新错误,以确保在最后重建后的三维模型中得到更加清晰和真实的纹理质量。



技术实现要素:

本发明所解决的技术问题是:在三维重建过程中,在纹理重建中加入了模糊检测模块和动态色彩权重分配函数,使用模糊检测算法设置一定的模糊阈值,剔除输入系统的模糊图片,并设计了一种动态的色彩权重分配函数,为新采集的彩色图进行色彩权重的动态分配来更新体素中存储的色彩信息,并最终保证:

1)在所有输入的彩色图序列中,用于之后的模型纹理重建过程中的彩色图片都是清晰的,以防止最后重建的三维模型中出现纹理模糊的问题。

2)新采集的色彩信息能够有效地更新到原来体素中存储的的色彩信息中,在纹理重建后的三维模型中基本没有色彩的重影问题。

为解决上述问题,本发明提出了一种高质量3D纹理重建方法,该方法在体素色彩混合算法中引入了模糊检测模块和动态色彩权重分配函数,包括以下步骤:

步骤1:利用Kinect相机获取实际场景或物体的深度图和彩色图,通过摄像机内参数和转换矩阵,将图片坐标系下的原始深度图转换为摄像机空间坐标系下的顶点图和法线图。

步骤2:通过顶点图和法线图就可以把当前采集的深度图转化为点云模型,点云模型可以想象成由许多密集的空间点组成的模型,使用这些空间点来表示模型的轮廓信息。

步骤3:通过哈尔小波变换将采集到的所有彩色图片转为边缘信息图。

步骤4:对每一幅边缘信息图的每一个点求得边缘结构强度Emax,如果该强度值大于给定的阈值,就认为该点是一个边缘点,否则就认为该点是一个非边缘点。

步骤5:每幅图像的边缘信息可分成四种结构:Dirac结构、Astep结构、Gstep结构和Roof结构。对于一幅清晰的图片来说,以上四种边缘信息均存在于图片中,而对于一幅模糊的图片来说,Dirac结构和Astep结构将会消失,而Gstep结构和Roof结构的锐利程度将会下降。通过判断所有边缘信息的Dirac结构和Astep结构,可以判断出检测图片是否模糊。通过判断所有边缘信息的Gstep结构和Roof结构,可以判断出检测图片的模糊程度。统计包含Dirac结构与Astep结构的边缘点个数占总边缘点个数的比例:如果模糊检测模块就认为该幅图片是清晰的。

步骤6:为新采集的图片动态分配色彩权重,将新的色彩信息有效更新至体素中。体素栅格可以表示为一个在GPU中存储的三维立方体块,其中存储着深度信息和深度权重信息、彩色信息和彩色信息权重。获取新的彩色图之后,需要通过计算原有体素中存储的色彩信息和新采集的色彩信息之间的权值平均来得到最后体素中的色彩信息及权重,以进行后续的体素色彩信息融合,其中色彩信息的权重的更新的公式如下所示:

其中,Wc表示体素中原有存储的RGB色彩信息的权重,表示需要去更新的新采集的色彩信息权重。然后对新采集的色彩信息权重进行动态分配。动态色彩权重分配函数如下所示:

该函数把转变成一个和Wc正相关的线性函数,Wc越大越大,使新采集的色彩信息在更新的过程中保持一定的比例,但又不会完全取代原有的色彩信息从而保证新采集的色彩信息能够有效的更新至体素中。

步骤7:通过使用光线投射算法提取出点云信息,获得重建物体的点云模型。利用球旋转算法获得具有平滑表面的重建模型,这时点云模型中每三个相邻点都被连成一个小的三角形,对表面三角形中的三个顶点中的色彩信息进行平均,最终得到该三角形需要填充的颜色。

本发明的优点和积极效果是:

1、相对于传统的体素色彩融合算法,本发明通过在体素色彩融合算法中加入了模糊检测模块,通过输入的彩色图片的边缘特征信息以及相应的规则来判断输入图片序列的模糊程度在一定程度上提高了重建纹理的清晰度。

2、通过动态的分配新采集的色彩信息权重,解决色彩边缘重影问题,在一定程度上大大改善了重建后的三维模型的纹理质量。

附图说明

图1为哈尔小波变换后的图像层次结构;

图2为模糊检测判断的流程图;

图3为原有色彩信息和新采集色彩信息权重比例曲线;

图4为纹理重建优化方法的基本架构。

具体实施方案

下面结合附图并通过具体实施例对本发明作进一步详述,以下实施例只是描述性的,不是限定性的,不能以此限定本发明的保护范围。

步骤1:利用Kinect相机的深度传感器获取实际场景或物体的深度图,利用红外发射器和红外接收器获取实际场景和物体的彩色图,通过摄像机内参数和转换矩阵,将图片坐标系下的原始深度图转换为摄像机空间坐标系下的顶点图和法线图。假设在i时刻深度图被采集,之后每个GPU线程会对深度图Di(u)中的每个像素u=(x,y)进行并行的处理。通过给定的相机标定内参矩阵K,生成顶点图vi(u)和法线图ni(u),它们的计算公式如下所示:

vi(u)=Di(u)K-1[u,1]

ni(u)=(vi(x+1,y)-vi(x,y))×(vi(x,y+1)-vi(x,y))

相机在i时刻6个自由度上的姿态是一个刚体的转换矩阵Ti=[Ri|ti],其中包含一个3*3的旋转矩阵(Ri)和3*1平移向量(ti),将顶点图和法线图转换到全局坐标系下的公式如下所示:

步骤2:通过顶点图和法线图就可以把当前采集的深度图转化为点云模型,点云模型可以想象成由许多密集的空间点组成的模型,使用这些空间点来表示模型的轮廓信息。使用ICP算法计算出当前深度图所对应的点云模型与通过先前的深度数据重建出的点云模型在6个自由度上的转换矩阵。将当前深度图的点云模型逐渐转换至重建点云模型的坐标系下,随着采集的深度图的不断增加,把所有的深度图的点云模型就会转换至同一个全局坐标系下。

步骤3:通过哈尔小波变换将输入的彩色图片转换为边缘信息图。在哈尔小波变换之前,要先将彩色后转换为灰度图,之后通过哈尔小波变换将灰度图分解成三个层次,每层的关系类似于一种金字塔的结构,如图1所示,其中LL,HL,LH与HH分别表示在行和列上的低频和高频子图。

步骤4:计算每一层的边缘信息图,计算公式如下:

其中(k,l)为灰度图中的像素点。

对每一层的边缘图进行分区并找到每个窗口中Emapi(k,l)(i=1,2,3)的局部最大值Emaxi(i=1,2,3),窗口尺寸的最高规格为2*2,稍微粗糙的规格为4*4,最粗糙的规格为8*8。Emaxi(i=1,2,3)用于表示边缘结构的强度,该数值越大,边缘结构的强度越大,该数值越小,边缘结构的强度越小。

步骤5:通过判断所有边缘信息的Gstep结构和Roof结构,可以判断出检测图片的模糊程度。计算出Emaxi(i=1,2,3)后,就可以根据该信息对边缘点进行判断。对于给定的边缘阈值来说,如果Emaxi(k,l)(i=1,2,3)大于该阈值,就认为该点是一个边缘点,否则就认为该点是一个非边缘点。下面是边缘点以及边缘点中Dirac、Astep、Gstep和Roof这四个边缘结构的判断规则,假设需要判断的点为(k,l):

规则1:判断该点是边缘点。

需满足条件:Emax1(k,l)>threshold或Emax2(k,l)>threshold或Emax3(k,l)>threshold。

规则2:判断该点包含Dirac和Astep结构。

需满足条件:规则1且Emax1(k,l)>Emax2(k,l)>Emax3(k,l)。

规则3:判断该点包含Gstep和Roof结构。

需满足条件:规则1且Emax1(k,l)<Emax2(k,l)<Emax3(k,l)。

规则4:判断该点包含Roof结构。

需满足条件:规则1且Emax2(k,l)>Emax1(k,l)且Emax2(k,l)>Emax3(k,l)。

规则5:对于包含Gstep和Roof结构的边缘点来说,如果Emax1(k,l)<threshold,则该点所在的图片很有可能是模糊的。

统计边缘图中边缘点的个数Nedge和包含Dirac结构与Astep结构的边缘点的个数Nda,最后计算包含Dirac结构与Astep结构的边缘点个数占总边缘点个数的比例:如果模糊检测模块就认为该幅图片是清晰的,该幅图可以用于之后的体素色彩融合过程中,其中MinZero是一个接近于0的阈值。图2为模糊检测判断的流程图。

步骤6:为新采集的图片动态分配色彩权重,将新的色彩信息有效更新至体素中。体素栅格可以表示为一个在GPU中存储的三维立方体块,其中每个小立方体为一个体素,其中存储着深度信息和深度权重信息、彩色信息和彩色信息权重。在使用Kinect扫描场景的过程中,如果对某个表面扫描了多次的话,就需要对该表面附近的体素进行深度信息和色彩信息融合。获取新的彩色图之后,需要通过计算原有存储的色彩信息和新色彩信息之间的权值平均来得到最后体素中的色彩信息及权重,色彩信息的更新的公式如下所示:

其中,R,G,B和Wc分别表示体素中原有存储的RGB色彩信息以及对应的权重,r,g,b和分别表示需要去更新的新采集的色彩信息以及对应的权重。最终的RGB信息是通过原有RGB信息和新采集的RGB信息做权重平均求得的,而最终权重信息是原有权重和新的权重求和。

对于其中新采集的色彩信息权重的计算,本发明使用的动态色彩权重分配函数如下所示:

当函数首次更新时,为新的色彩信息分配1的权重,随着体素更新次数的增加,该函数会根据原有的权重大小来决定新采集的色彩权重大小。把转变成一个和Wc正相关的线性函数,Wc越大越大,使新采集的色彩信息在更新的过程中保持一定的比例,但又不会完全取代原有的色彩信息,从而解决色彩信息的边缘重影问题。

步骤7:通过使用光线投射算法提取出点云信息,这时的点云信息中也包含之前在体素中存储的色彩信息,当确认了表面附近的体素后,利用线性插值算法计算出表面上的点,由此获得重建物体的点云模型。利用球旋转算法获得具有平滑表面的重建模型,这时每三个相邻点都被连成一个小的三角形,对表面三角形中的三个顶点中的色彩信息进行平均,最终得到该三角形需要填充的颜色。其中图4为纹理重建优化方法的基本架构。

以上所述的仅是本发明的优选实施方式,应当指出,对于本领域的普通技术人员来说,在不脱离发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1