高效利用内存的高精度三维重建方法与系统及设备技术方案

技术编号:19010054 阅读:30 留言:0更新日期:2018-09-22 09:49
本发明专利技术涉及计算机视觉领域的三维重建方法,具体涉及一种高效利用内存的高精度三维重建方法与系统及设备,旨在降低内存占用。本发明专利技术的高精度三维重建方法,包括:获取一帧当前的深度图像,计算各像素对应的相机坐标系下的三维点和法向量、深度噪声的标准差和深度梯度;基于深度梯度检测深度图中的平面信息,并基于平面信息对深度图降噪;通过ICP算法配准当前的深度图和三维模型在前一帧视角下的深度图,计算相机姿态;分配实际表面附近的体素并通过哈希表检索已分配的体素,之后将深度图融合到TSDF模型中;将融合得到的体数据在特定相机姿态下进行光线投影得到表面点云。本方法能够生成高精度的重建模型,同时节省内存占用。

High precision 3D reconstruction method and system and equipment for efficient memory utilization

The invention relates to a three-dimensional reconstruction method in the field of computer vision, in particular to a high-precision three-dimensional reconstruction method and system and equipment for efficiently utilizing memory, aiming at reducing memory occupation. The high-precision three-dimensional reconstruction method of the invention includes: acquiring a current depth image, calculating the three-dimensional point and normal vector, the standard deviation and depth gradient of the depth noise corresponding to each pixel in the camera coordinate system, detecting the plane information in the depth map based on the depth gradient, and denoising the depth map based on the plane information; ICP algorithm is used to register the current depth map and the depth map of the three-dimensional model in the previous frame to calculate the camera attitude; the voxels near the actual surface are allocated and the allocated voxels are retrieved by hash table; then the depth map is fused into the TSDF model; the fused volume data is projected by ray in a specific camera attitude. The surface point cloud is obtained. This method can generate high-precision reconstruction models and save memory footprint.

【技术实现步骤摘要】
高效利用内存的高精度三维重建方法与系统及设备
本专利技术涉及计算机视觉领域的三维重建方法,具体涉及一种高效利用内存的高精度三维重建方法与系统及设备。
技术介绍
对小型物体或者大型场景的高精度三维扫描是机器人及增强现实应用的关键环节。近些年伴随着例如MicrosoftKinect的深度传感器及CPU、GPU等处理设备的发展,三维扫描技术取得了长足的进步。学者们提出了许多能够在线处理的三维重建方法。其中,KinectFusion是一个以深度图作为输入,能够实时生成高精度稠密三维模型的有代表性的方法。这种方法将深度图融合进一个体数据中,这种体数据融合的方式具有计算高效而且算法简单的优势。尽管KinectFusion具有许多优点,但是它在体数据表示及相机跟踪方面也有一些缺点。体数据表示方法需要较高的内存占用,并且体数据是预先定义的,这就意味着内存占用随整个扫描空间的增加而增加,而不是随被扫描的表面区域的增加而增加。同时KinectFusion的相机跟踪存在漂移累积问题。之前学者提出了许多方法来克服这些问题,Kintinuous通过动态改变体数据的方式减少内存占用,其他的方法只分配实际表面附近的体素并采用八叉树或哈希表检索这些已分配的体素。为了减小漂移累积的问题,一些学者利用其他的传感器比如彩色相机。DVO通过最小化RGB-D及ICP组合代价函数的方式估计相机姿态。其他的学者借助线特征或者平面特征来提高姿态估计的准确性和鲁棒性。上述方法尽管能够提高相机跟踪精度和模型重建精度,但它们没能解决许多分配的体素对应于深度噪声的问题。这些占用浪费了许多内存资源,也限制了在内存资源有限的设备上的应用。
技术实现思路
为了解决现有技术中的上述问题,本专利技术提出了一种高效利用内存的高精度三维重建方法与系统及设备,实现了在内存资源有限的设备上进行高精度三维重建。本专利技术的一方面,提出一种高效利用内存的高精度三维重建方法,包括以下步骤:步骤S1,获取一幅当前的深度图像,计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量;并计算各像素的深度噪声的标准差和深度梯度;步骤S2,根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理;步骤S3,通过ICP算法配准所述当前的深度图像和对三维模型在前一帧视角下进行光线投影生成的深度图,计算出所述当前的深度图像对应的相机姿态;步骤S4,基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中;步骤S5,基于光线投影算法从当前的三维模型中抽取表面点集,并根据所述表面点集进行场景渲染;所述表面点集还用于计算下一帧深度图像对应的相机姿态。优选地,步骤S2中“根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理”,进一步包括:步骤S21,根据各像素点的所述深度梯度,检测局部平面,并将所述局部平面合并到全局平面;步骤S22,根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差,计算各像素对应的射线与其对应的全局平面之间的交点,从而对所述当前的深度图像进行降噪处理;优选地,步骤S21中“根据各像素点的所述深度梯度,检测局部平面,并将所述局部平面合并到全局平面”,进一步包括:步骤S211,将所述当前的深度图像平均分成大小为W×W的多个子窗口,根据各像素点的所述深度梯度,计算每一个子窗口中像素的平均梯度;步骤S212,对每一个子窗口,判断其中各像素点的所述深度梯度与该子窗口中像素的所述平均梯度之差是否小于预设的梯度差阈值,若是,则将该像素点对应的三维点加入局部平面的内点集;步骤S213,若所述局部平面的内点集中内点数大于预设的点数阈值,则进行局部平面的拟合;步骤S214,若拟合得到的局部平面π与全局平面πj的法向距离与欧拉距离分别满足下列预设的条件:|p·nj+dj|<ψ则合并局部平面π与全局平面πj的内点集,并根据合并后的内点集重新拟合全局平面;否则,将局部平面π添加为一个全局平面;其中,n、nj分别为平面π与全局平面πj的法向量;p为平面π上任一三维点;dj为平面πj到坐标原点的距离;ψ均为预设阈值。优选地,步骤S22中“根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差,计算各像素对应的射线与其对应的全局平面之间的交点,从而对所述当前的深度图像进行降噪处理”,具体为:判断所述当前的深度图像中像素u对应的三维点v(u)与全局平面πj之间是否满足条件:|v(u)·nj+dj|<ε(u)若是,则将像素u的深度值优化为其对应的射线与全局平面之间的交点的深度;其中,距离阈值ε(u)由深度噪声自适应确定:ε(u)=βσ(u)β为权重系数;σ(u)为像素u的深度噪声标准差。优选地,步骤S4中“基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中”,进一步包括:步骤S41,对所述当前的深度图像中每一个像素u对应的深度值d(u),判断d(u)是否大于L,且对应的三维点v(u)不在全局平面上;若是,则不分配像素u对应的体素块;否则,构建d(u)±μ的线段并分配该线段上的体素块;其中,L为深度阈值,μ为TSDF截断距离;步骤S42,将所分配的体素块存储在堆空间中,并构建稀疏哈希表用于索引;其中,体素块的哈希值通过下式计算:(bx,by,bz)为体素块的整数坐标;(p1,p2,p3)为素数,p1=73856093,p2=19349669,p3=83492791;K为哈希表所能存储的最大数目;mod和分别为取余和异或操作符;步骤S43,计算各体素对应的SDF值:sdfi=di(u)-v(z)(u)其中,di(u)为i时刻采集的深度图像上像素u对应的深度值;v(z)(u)为像素u对应的三维点v(u)的z分量;步骤S44,若sdfi>-μ(u),则计算各体素对应的TSDF值:从而将所述当前的深度图像融合到TSDF表示的三维模型中;其中,wi-1为i-1时刻该体素被观察到的次数。优选地,步骤S1中,在“获取一幅当前的深度图像”之后,“计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量”之前,还包括:对所述当前的深度图像进行双边滤波。优选地,所述阈值L由所述深度噪声的标准差及所述TSDF截断距离确定;对于MicrosoftKinect传感器设置L=3560mm,对于OccipitalStructureSensor传感器设置L=2580mm。优选地,步骤S214中,阈值和ψ与深度图像噪声大小有关,深度图像噪声越大,选取的和ψ也越大。优选地,所述子窗口大小W用来确定局部平面的大小,若图像分辨率越大则选取的W也越大。本专利技术的另一方面,提出一种存储设备,其存储有程序,所述程序适于由处理器加载并执行,以实现上面所述的高效利用内存的高精度三维重建方法。本专利技术的第三方面,提出一种处理设备,包括:处理器和存储器;所述处理器,适于执行程序;所述存储器,适于存储该程序;所述程序适本文档来自技高网
...
高效利用内存的高精度三维重建方法与系统及设备

【技术保护点】
1.一种高效利用内存的高精度三维重建方法,其特征在于,包括以下步骤:步骤S1,获取一幅当前的深度图像,计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量;并计算各像素的深度噪声的标准差和深度梯度;步骤S2,根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理;步骤S3,通过ICP算法配准所述当前的深度图像和对三维模型在前一帧视角下进行光线投影生成的深度图,计算出所述当前的深度图像对应的相机姿态;步骤S4,基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中;步骤S5,基于光线投影算法从当前的三维模型中抽取表面点集,并根据所述表面点集进行场景渲染;所述表面点集还用于计算下一帧深度图像对应的相机姿态。

【技术特征摘要】
1.一种高效利用内存的高精度三维重建方法,其特征在于,包括以下步骤:步骤S1,获取一幅当前的深度图像,计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量;并计算各像素的深度噪声的标准差和深度梯度;步骤S2,根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理;步骤S3,通过ICP算法配准所述当前的深度图像和对三维模型在前一帧视角下进行光线投影生成的深度图,计算出所述当前的深度图像对应的相机姿态;步骤S4,基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中;步骤S5,基于光线投影算法从当前的三维模型中抽取表面点集,并根据所述表面点集进行场景渲染;所述表面点集还用于计算下一帧深度图像对应的相机姿态。2.根据权利要求1所述的高精度三维重建方法,其特征在于,步骤S2中“根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理”,进一步包括:步骤S21,根据各像素点的所述深度梯度,检测局部平面,并将所述局部平面合并到全局平面;步骤S22,根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差,计算各像素对应的射线与其对应的全局平面之间的交点,从而对所述当前的深度图像进行降噪处理。3.根据权利要求2所述的高精度三维重建方法,其特征在于,步骤S21中“根据各像素点的所述深度梯度,检测局部平面,并将所述局部平面合并到全局平面”,进一步包括:步骤S211,将所述当前的深度图像平均分成大小为W×W的多个子窗口,根据各像素点的所述深度梯度,计算每一个子窗口中像素的平均梯度;步骤S212,对每一个子窗口,判断其中各像素点的所述深度梯度与该子窗口中像素的所述平均梯度之差是否小于预设的梯度差阈值,若是,则将该像素点对应的三维点加入局部平面的内点集;步骤S213,若所述局部平面的内点集中内点数大于预设的点数阈值,则进行局部平面的拟合;步骤S214,若拟合得到的局部平面π与全局平面πj的法向距离与欧拉距离分别满足下列预设的条件:|p·nj+dj|<ψ则合并局部平面π与全局平面πj的内点集,并根据合并后的内点集重新拟合全局平面;否则,将局部平面π添加为一个全局平面;其中,n、nj分别为平面π与全局平面πj的法向量;p为平面π上任一三维点;dj为平面πj到坐标原点的距离;ψ均为预设阈值。4.根据权利要求3所述的高精度三维重建方法,其特征在于,步骤S22中“根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差,计算各像素对应的射线与其对应的全局平面之间的交点,从而对所述当前的深度图像进行降噪处理”,具体为:判断所述当前的深度图像中像素u对应的三维点v(u)与全局平面πj之间是否满足条件:|v(u)·nj+dj|<ε(u)若是,则将像素u的深度值优化为其对应的射线与全局平面之间的交点的深度;其中,距离阈值ε(u)由深度噪声自适应确定:ε(u)=βσ(u)β为权重系数;σ(u)为像素u的深度噪声标准差。5.根据权利要求1所述的高精度三维重建方法,其特征在于,步骤S4中“基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中”,进一步包括:步骤S41,对所述当前的深度图像中每...

【专利技术属性】
技术研发人员:刘养东高伟胡占义
申请(专利权)人:中国科学院自动化研究所
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1