CN108564652A - 高效利用内存的高精度三维重建方法与系统及设备 - Google Patents
高效利用内存的高精度三维重建方法与系统及设备 Download PDFInfo
- Publication number
- CN108564652A CN108564652A CN201810200698.XA CN201810200698A CN108564652A CN 108564652 A CN108564652 A CN 108564652A CN 201810200698 A CN201810200698 A CN 201810200698A CN 108564652 A CN108564652 A CN 108564652A
- Authority
- CN
- China
- Prior art keywords
- pixel
- depth image
- dimensional
- depth
- noise
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 54
- 230000009467 reduction Effects 0.000 claims abstract description 14
- 230000004927 fusion Effects 0.000 claims abstract description 8
- 230000000007 visual effect Effects 0.000 claims abstract description 7
- 238000011946 reduction process Methods 0.000 claims description 12
- 238000009877 rendering Methods 0.000 claims description 12
- 238000005266 casting Methods 0.000 claims description 6
- 238000006243 chemical reaction Methods 0.000 claims description 6
- 238000005259 measurement Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 5
- 230000014509 gene expression Effects 0.000 claims description 4
- 230000002146 bilateral effect Effects 0.000 claims description 3
- 239000012141 concentrate Substances 0.000 claims description 3
- 238000001914 filtration Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 239000000284 extract Substances 0.000 claims description 2
- 230000001815 facial effect Effects 0.000 claims 1
- 238000009826 distribution Methods 0.000 abstract description 3
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 4
- 239000003086 colorant Substances 0.000 description 3
- 239000000203 mixture Substances 0.000 description 3
- 238000009825 accumulation Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G06T5/70—
Abstract
本发明涉及计算机视觉领域的三维重建方法,具体涉及一种高效利用内存的高精度三维重建方法与系统及设备,旨在降低内存占用。本发明的高精度三维重建方法,包括:获取一帧当前的深度图像,计算各像素对应的相机坐标系下的三维点和法向量、深度噪声的标准差和深度梯度;基于深度梯度检测深度图中的平面信息,并基于平面信息对深度图降噪;通过ICP算法配准当前的深度图和三维模型在前一帧视角下的深度图,计算相机姿态;分配实际表面附近的体素并通过哈希表检索已分配的体素,之后将深度图融合到TSDF模型中;将融合得到的体数据在特定相机姿态下进行光线投影得到表面点云。本方法能够生成高精度的重建模型,同时节省内存占用。
Description
技术领域
本发明涉及计算机视觉领域的三维重建方法,具体涉及一种高效利用内存的高精度三维重建方法与系统及设备。
背景技术
对小型物体或者大型场景的高精度三维扫描是机器人及增强现实应用的关键环节。近些年伴随着例如Microsoft Kinect的深度传感器及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截断距离确定;对于Microsoft Kinect传感器设置L=3560mm,对于Occipital Structure Sensor传感器设置L=2580mm。
优选地,步骤S214中,阈值和ψ与深度图像噪声大小有关,深度图像噪声越大,选取的和ψ也越大。
优选地,所述子窗口大小W用来确定局部平面的大小,若图像分辨率越大则选取的W也越大。
本发明的另一方面,提出一种存储设备,其存储有程序,所述程序适于由处理器加载并执行,以实现上面所述的高效利用内存的高精度三维重建方法。
本发明的第三方面,提出一种处理设备,包括:处理器和存储器;
所述处理器,适于执行程序;
所述存储器,适于存储该程序;
所述程序适于由所述处理器加载并执行,以实现上面所述的高效利用内存的高精度三维重建方法。
本发明的第四方面,提出一种高效利用内存的高精度三维重建系统,包括:深度图像转换模块、平面区域检测及降噪模块、相机跟踪模块、体数据融合模块、三维渲染模块;
所述深度图像转换模块,配置为:获取一幅当前的深度图像,计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量;并计算各像素的深度噪声的标准差和深度梯度;
所述平面区域检测及降噪模块,配置为:根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理;
所述相机跟踪模块,配置为:通过ICP算法配准所述当前的深度图像和对三维模型在前一帧视角下进行光线投影生成的深度图,计算出所述当前的深度图像对应的相机姿态;
所述体数据融合模块,配置为:基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中;
所述三维渲染模块,配置为:基于光线投影算法从当前的三维模型中抽取表面点集,并根据所述表面点集进行场景渲染;所述表面点集还用于计算下一帧深度图像对应的相机姿态。
本发明的有益效果:
本发明所提出的高效利用内存的高精度三维重建方法,能够基于深度梯度检测深度图中的平面并根据检测的平面信息对深度图降噪,之后根据平面信息分配体素并将深度图融合入TSDF模型中,而且在分配体素时,只分配实际表面附件的体素。本方法计算复杂度低,最终得到的三维模型合理可靠,有效降低了内存占用,能够用于内存资源有限的设备上的高精度三维重建。
附图说明
图1是本发明的高效利用内存的高精度三维重建方法实施例的流程示意图;
图2是本发明的高效利用内存的高精度三维重建方法实施例中深度图像降噪示意图;
图3(a)-(d)是本发明的高效利用内存的高精度三维重建方法实施例在Office数据集下输出的稠密三维模型的示意图;
其中,图3(a)左右两侧分别是Office1序列彩色图、深度图;图3(b)左右两侧分别是InfiniTAMv2算法重建结果和本实施例方法重建结果;图3(c)左右两侧分别是Office2序列彩色图、深度图;图3(d)左右两侧分别是InfiniTAMv2算法重建结果和本实施例方法重建结果。
图4是本发明的高效利用内存的高精度三维重建方法实施例与InfiniTAMv2方法的内存占用比较示意图;
图5是本发明的高效利用内存的高精度三维重建系统实施例的构成示意图。
具体实施方式
下面参照附图来描述本发明的优选实施方式。本领域技术人员应当理解的是,这些实施方式仅用于解释本发明的技术原理,并非旨在限制本发明的保护范围。
消费级的深度传感器采集到的深度图包含较大噪声,深度噪声受与被扫描的表面的距离及夹角影响。更进一步说,深度噪声的标准差相对于深度值粗略的成二次方关系。此外,人造室内场景包含许多的平面区域,这些平面区域易于被检测及建模。这些特性有助于对深度图降噪并节省内存占用。本发明是为了实现在内存资源有限的设备上的高精度三维重建而设计的。
图1是本发明的高效利用内存的高精度三维重建方法实施例的流程示意图。如图1所示,本实施例的高精度三维重建方法包括以下步骤:
在步骤S1中,获取一幅当前的深度图像,对所述当前的深度图像进行双边滤波,计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量;并计算各像素的深度噪声的标准差和深度梯度。
在步骤S2中,根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理。该步骤可以进一步包括步骤S21-S22:
在步骤S21中,根据各像素点的所述深度梯度,检测局部平面,并将所述局部平面合并到全局平面。该步骤又可以进一步包括步骤S211-S224:
在步骤S211中,将所述当前的深度图像平均分成大小为W×W的多个子窗口,根据各像素点的所述深度梯度,计算每一个子窗口中像素的平均梯度。
子窗口边长W用来确定局部平面的大小,若图像分辨率越大则选取的W也越大。本实施例中对分辨率为320×240的深度图设置W=20,对分辨率为640×480的深度图设置W=40。
在步骤S212中,对每一个子窗口,判断其中各像素点的所述深度梯度与该子窗口中像素的所述平均梯度之差是否小于预设的梯度差阈值θ(u),若是,就认为其对应的三维点为平面上的内点,则将该像素点对应的三维点加入局部平面的内点集。
其中,θ(u)=ασ(u);α为权重,本实施例中设置为3;σ(u)为像素u的深度噪声标准差。
在步骤S213中,若所述局部平面的内点集中内点数大于预设的点数阈值N,则进行局部平面的拟合。
本实施例中采用最小二乘拟合平面,内点的平均值作为平面上的三维点pπ。N设置为窗口内有效像素数目乘以一个比例,设置该比例为0.5来产生较多的局部平面。平面表示为π=(nx,ny,nz,px,py,pz)T,其中nπ=(nx,ny,nz)T是单位平面法向,pπ=(px,py,pz)T是平面上三维点,平面到坐标原点的距离为d=-nπ·pπ。
在步骤S214中,若拟合得到的局部平面π与全局平面πj的法向距离与欧拉距离分别满足公式(1)、(2)所示的预设条件:
|p·nj+dj|<ψ (2)
则合并局部平面π与全局平面πj的内点集,并根据合并后的内点集重新拟合全局平面;否则,将局部平面π添加为一个全局平面;
其中,n、nj分别为平面π与全局平面πj的法向量;p为平面π上任一三维点;dj为平面πj到坐标原点的距离;ψ均为预设阈值。阈值和ψ与深度图像噪声大小有关,深度图像噪声越大,选取的和ψ也越大。本实施例中设置ψ=5mm。
在步骤S22中,根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差,计算各像素对应的射线与其对应的全局平面之间的交点,从而对所述当前的深度图像进行降噪处理。具体为:
判断所述当前的深度图像中像素u对应的三维点v(u)与全局平面πj之间是否满足公式(3)所示的条件:
|v(u)·nj+dj|<ε(u) (3)
若是,则将像素u的深度值优化为其对应的射线与全局平面之间的交点的深度,由此减少深度图像噪声;
其中,距离阈值ε(u)由深度噪声自适应确定,如公式(4)所示:
ε(u)=βσ(u) (4)
β为权重系数,本实施例中设置为3;σ(u)为像素u的深度噪声标准差。
图2是本发明的高效利用内存的高精度三维重建方法实施例中深度图像降噪示意图。如图2所示,曲线表示被扫描表面的一部分,直线表示拟合该部分表面的平面。将叉号所示位置像素点的深度值由点b的深度值更改为点a的深度值来对深度图降噪。
在步骤S3中,通过ICP算法配准所述当前的深度图像和对三维模型在前一帧视角下进行光线投影生成的深度图,计算出所述当前的深度图像对应的相机姿态。
在步骤S4中,基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中。该步骤可以进一步包括步骤S41-S44:
在步骤S41中,对所述当前的深度图像中每一个像素u对应的深度值d(u),判断d(u)是否大于L,且对应的三维点v(u)不在全局平面上;若是,则不分配像素u对应的体素块,通过这种方式节省由噪声占用的内存,并保持场景中的平面信息;否则,构建d(u)±μ的线段并分配该线段上的体素块。
通过上述方法,我们分配并更新实际表面附近的体素块,每个体素块包含M×M×M个体素。
其中,L为深度阈值,μ为TSDF截断距离。阈值L由所述深度噪声的标准差及所述TSDF截断距离确定;对于Microsoft Kinect传感器设置L=3560mm,对于OccipitalStructure Sensor传感器设置L=2580mm。
在步骤S42中,将所分配的体素块存储在堆空间中,并构建稀疏哈希表用于索引。
其中,体素块的哈希值通过公式(5)计算:
(bx,by,bz)为体素块的整数坐标;(p1,p2,p3)为非常大的素数,本实施例中p1=73856093,p2=19349669,p3=83492791;K为哈希表所能存储的最大数目;mod和分别为取余和异或操作符。
在步骤S43中,计算各体素对应的SDF值,如公式(6)所示:
sdfi=di(u)-v(z)(u) (6)
其中,di(u)为i时刻采集的深度图像上像素u对应的深度值;v(z)(u)为像素u对应的三维点v(u)的z分量。
在步骤S44中,若sdfi>-μ(u),则计算各体素对应的TSDF值,如公式(7)所示:
从而将所述当前的深度图像融合到TSDF表示的三维模型中。
其中,wi-1是i-1时刻该体素被观察到的次数,如果v(u)在平面上,设置wi-1=3;其他情况设置wi-1=1。
在步骤S5中,基于光线投影算法从当前的三维模型中抽取表面点集,并根据所述表面点集进行场景渲染;所述表面点集还用于计算下一帧深度图像对应的相机姿态。
图3(a)-(d)是本发明的高效利用内存的高精度三维重建方法实施例在Office数据集下输出的稠密三维模型的示意图。其中,图3(a)左右两侧分别是Office1序列彩色图、深度图;图3(b)左右两侧分别是InfiniTAMv2算法重建结果和本实施例方法重建结果;图3(c)左右两侧分别是Office2序列彩色图、深度图;图3(d)左右两侧分别是InfiniTAMv2算法重建结果和本实施例方法重建结果。对比上述图中圆圈标出的部分可以看出,本发明生成的三维模型噪声更小,准确度更高。
本发明方法与InfiniTAMv2内存占用比较如图4所示,横坐标表示深度图序列,纵坐标表示内存占用,黑色柱子表示InfiniTAMv2内存占用,浅灰色柱子表示本发明的内存占用。本发明的方法在ICL-NUIM living room数据集上能够节省10%的内存占用,在Office数据集上能够节省30%的内存占用。
与现有技术相比,本发明能够充分借助场景中的平面信息进行高精度、高效率的稠密三维重建。本发明通过多种类型的数据实验,比如公开数据集、使用OccipitalStructure Sensor采集的数据集等证明了它的高效率和高精度。本发明主要针对解决许多分配的体素对应于深度噪声的问题,利用深度图像中的平面信息对深度图像降噪并分配相应的体素,从而减少内存占用并得到高精度的三维模型。本发明适合用于内存资源有限的设备上的高精度三维重建。
本发明的一种存储设备的实施例,其存储有程序,所述程序适于由处理器加载并执行,以实现上面所述的高效利用内存的高精度三维重建方法。
本发明的一种处理设备的实施例,包括:处理器和存储器;
所述处理器,适于执行程序;所述存储器,适于存储该程序;所述程序适于由所述处理器加载并执行,以实现上面所述的高效利用内存的高精度三维重建方法。
图5是本发明的一种高效利用内存的高精度三维重建系统实施例的构成示意图。如图5所示,本实施例的高精度三维重建系统100包括:深度图像转换模块110、平面区域检测及降噪模块120、相机跟踪模块130、体数据融合模块140、三维渲染模块150。
所述深度图像转换模块110,配置为:获取一幅当前的深度图像,计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量;并计算各像素的深度噪声的标准差和深度梯度;
所述平面区域检测及降噪模块120,配置为:根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理;
所述相机跟踪模块130,配置为:通过ICP算法配准所述当前的深度图像和对三维模型在前一帧视角下进行光线投影生成的深度图,计算出所述当前的深度图像对应的相机姿态;
所述体数据融合模块140,配置为:基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中;
所述三维渲染模块150,配置为:基于光线投影算法从当前的三维模型中抽取表面点集,并根据所述表面点集进行场景渲染;所述表面点集还用于计算下一帧深度图像对应的相机姿态。
上述各模块的具体工作情况,可分别参看本文中关于步骤S1-S5及其展开的描述,此处不再赘述。
本领域技术人员应该能够意识到,结合本文中所公开的实施例描述的各示例的方法步骤和模块,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明电子硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以电子硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
至此,已经结合附图所示的优选实施方式描述了本发明的技术方案,但是,本领域技术人员容易理解的是,本发明的保护范围显然不局限于这些具体实施方式。在不偏离本发明的原理的前提下,本领域技术人员可以对相关技术特征做出等同的更改或替换,这些更改或替换之后的技术方案都将落入本发明的保护范围之内。
Claims (12)
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,对所述当前的深度图像中每一个像素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时刻该体素被观察到的次数。
6.根据权利要求1-5中任一项所述的高精度三维重建方法,其特征在于,步骤S1中,在“获取一幅当前的深度图像”之后,“计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量”之前,还包括:
对所述当前的深度图像进行双边滤波。
7.根据权利要求5所述的高精度三维重建方法,其特征在于,所述阈值L由所述深度噪声的标准差及所述TSDF截断距离确定;对于Microsoft Kinect传感器设置L=3560mm,对于Occipital Structure Sensor传感器设置L=2580mm。
8.根据权利要求3所述的高精度三维重建方法,其特征在于,步骤S214中,阈值和ψ与深度图像噪声大小有关,深度图像噪声越大,选取的和ψ也越大。
9.根据权利要求3所述的高精度三维重建方法,其特征在于,
所述子窗口大小W用来确定局部平面的大小,若图像分辨率越大则选取的W也越大。
10.一种存储设备,其存储有程序,其特征在于,所述程序适于由处理器加载并执行,以实现权利要求1-9中任一项所述的高效利用内存的高精度三维重建方法。
11.一种处理设备,包括:处理器和存储器;
所述处理器,适于执行程序;
所述存储器,适于存储该程序;
其特征在于,所述程序适于由所述处理器加载并执行,以实现权利要求1-9中任一项所述的高效利用内存的高精度三维重建方法。
12.一种高效利用内存的高精度三维重建系统,其特征在于,包括:深度图像转换模块、平面区域检测及降噪模块、相机跟踪模块、体数据融合模块、三维渲染模块;
所述深度图像转换模块,配置为:获取一幅当前的深度图像,计算所述当前的深度图像中各像素在相机坐标系下的三维点坐标和法向量;并计算各像素的深度噪声的标准差和深度梯度;
所述平面区域检测及降噪模块,配置为:根据各像素对应的所述三维点坐标和法向量,以及所述深度噪声的标准差和所述深度梯度,对所述当前的深度图像进行降噪处理;
所述相机跟踪模块,配置为:通过ICP算法配准所述当前的深度图像和对三维模型在前一帧视角下进行光线投影生成的深度图,计算出所述当前的深度图像对应的相机姿态;
所述体数据融合模块,配置为:基于TSDF算法,根据所述当前的深度图像对应的相机姿态,以及各像素对应的所述三维点坐标和法向量、所述深度噪声的标准差,将所述当前的深度图像融合到当前的三维模型中;
所述三维渲染模块,配置为:基于光线投影算法从当前的三维模型中抽取表面点集,并根据所述表面点集进行场景渲染;所述表面点集还用于计算下一帧深度图像对应的相机姿态。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810200698.XA CN108564652B (zh) | 2018-03-12 | 2018-03-12 | 高效利用内存的高精度三维重建方法与系统及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810200698.XA CN108564652B (zh) | 2018-03-12 | 2018-03-12 | 高效利用内存的高精度三维重建方法与系统及设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108564652A true CN108564652A (zh) | 2018-09-21 |
CN108564652B CN108564652B (zh) | 2020-02-14 |
Family
ID=63531678
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810200698.XA Active CN108564652B (zh) | 2018-03-12 | 2018-03-12 | 高效利用内存的高精度三维重建方法与系统及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108564652B (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109903372A (zh) * | 2019-01-28 | 2019-06-18 | 中国科学院自动化研究所 | 深度图超分辨率补全方法及高质量三维重建方法与系统 |
CN110120090A (zh) * | 2019-04-01 | 2019-08-13 | 贝壳技术有限公司 | 三维全景模型构建方法、装置及可读存储介质 |
CN110310362A (zh) * | 2019-06-24 | 2019-10-08 | 中国科学院自动化研究所 | 基于深度图及imu的高动态场景三维重建方法、系统 |
CN110599535A (zh) * | 2019-08-05 | 2019-12-20 | 清华大学 | 基于哈希表的高分辨率人体实时动态重建方法及装置 |
CN110874864A (zh) * | 2019-10-25 | 2020-03-10 | 深圳奥比中光科技有限公司 | 获取对象三维模型的方法、装置、电子设备及系统 |
CN112258627A (zh) * | 2020-09-18 | 2021-01-22 | 中国科学院计算技术研究所 | 一种局部断层三维重构系统 |
CN113139465A (zh) * | 2021-04-23 | 2021-07-20 | 北京华捷艾米科技有限公司 | 人脸识别方法及装置 |
CN115952139A (zh) * | 2023-03-14 | 2023-04-11 | 武汉芯云道数据科技有限公司 | 一种移动设备多帧三维图像处理方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106289181A (zh) * | 2015-05-22 | 2017-01-04 | 北京雷动云合智能技术有限公司 | 一种基于视觉测量的实时slam方法 |
CN106803267A (zh) * | 2017-01-10 | 2017-06-06 | 西安电子科技大学 | 基于Kinect的室内场景三维重建方法 |
-
2018
- 2018-03-12 CN CN201810200698.XA patent/CN108564652B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106289181A (zh) * | 2015-05-22 | 2017-01-04 | 北京雷动云合智能技术有限公司 | 一种基于视觉测量的实时slam方法 |
CN106803267A (zh) * | 2017-01-10 | 2017-06-06 | 西安电子科技大学 | 基于Kinect的室内场景三维重建方法 |
Non-Patent Citations (3)
Title |
---|
CHUONG V. NGUYEN ET AL.: "Modeling Kinect Sensor Noise for Improved 3D Reconstruction and Tracking", 《2012 SECOND JOINT 3DIM/3DPVT CONFERENCE: 3D IMAGING, MODELING, PROCESSING, VISUALIZATION & TRANSMISSION》 * |
DMITRY S. TRIFONOV: "Real-time High Resolution Fusion of Depth Maps on GPU", 《ARXIV》 * |
朱笑笑 等: "一种改进的KinectFusion三维重构算法", 《机器人》 * |
Cited By (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109903372A (zh) * | 2019-01-28 | 2019-06-18 | 中国科学院自动化研究所 | 深度图超分辨率补全方法及高质量三维重建方法与系统 |
CN110120090A (zh) * | 2019-04-01 | 2019-08-13 | 贝壳技术有限公司 | 三维全景模型构建方法、装置及可读存储介质 |
CN110310362A (zh) * | 2019-06-24 | 2019-10-08 | 中国科学院自动化研究所 | 基于深度图及imu的高动态场景三维重建方法、系统 |
CN110599535A (zh) * | 2019-08-05 | 2019-12-20 | 清华大学 | 基于哈希表的高分辨率人体实时动态重建方法及装置 |
CN110874864A (zh) * | 2019-10-25 | 2020-03-10 | 深圳奥比中光科技有限公司 | 获取对象三维模型的方法、装置、电子设备及系统 |
CN112258627A (zh) * | 2020-09-18 | 2021-01-22 | 中国科学院计算技术研究所 | 一种局部断层三维重构系统 |
CN112258627B (zh) * | 2020-09-18 | 2023-09-15 | 中国科学院计算技术研究所 | 一种局部断层三维重构系统 |
CN113139465A (zh) * | 2021-04-23 | 2021-07-20 | 北京华捷艾米科技有限公司 | 人脸识别方法及装置 |
CN115952139A (zh) * | 2023-03-14 | 2023-04-11 | 武汉芯云道数据科技有限公司 | 一种移动设备多帧三维图像处理方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN108564652B (zh) | 2020-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108564652A (zh) | 高效利用内存的高精度三维重建方法与系统及设备 | |
JP4204670B2 (ja) | ボリュームデータ表現システム | |
JP7448566B2 (ja) | クロスリアリティシステムにおけるスケーラブル3次元オブジェクト認識 | |
KR101199475B1 (ko) | 3차원 모델 생성 방법 및 장치 | |
KR101554241B1 (ko) | 3차원 이미지에서의 결함성 픽셀 깊이 데이터 값의 깊이 맵 품질 향상을 위한 방법 | |
JP5818773B2 (ja) | 画像処理装置、画像処理方法及びプログラム | |
CN107833270A (zh) | 基于深度相机的实时物体三维重建方法 | |
CN110310362A (zh) | 基于深度图及imu的高动态场景三维重建方法、系统 | |
US7327363B2 (en) | Image processing apparatus, and computer program | |
CN108898665A (zh) | 三维人脸重建方法、装置、设备及计算机可读存储介质 | |
CN102510506B (zh) | 一种基于双目图像和距离信息的虚实遮挡处理方法 | |
US20100073368A1 (en) | Methods and systems to determine conservative view cell occlusion | |
Fua et al. | Using 3-dimensional meshes to combine image-based and geometry-based constraints | |
CN100399358C (zh) | 图像处理装置及其方法 | |
Dou et al. | Temporally enhanced 3d capture of room-sized dynamic scenes with commodity depth cameras | |
CN109191554A (zh) | 一种超分辨图像重建方法、装置、终端和存储介质 | |
JP4885042B2 (ja) | 画像処理方法および装置ならびにプログラム | |
CN110375765B (zh) | 基于直接法的视觉里程计方法、系统及存储介质 | |
Samaras et al. | Incorporating illumination constraints in deformable models | |
CN108734772A (zh) | 基于Kinect fusion的高精度深度图像获取方法 | |
CN108550181A (zh) | 移动设备上在线跟踪与稠密重建方法、系统及设备 | |
US6603475B1 (en) | Method for generating stereographic image using Z-buffer | |
Gouiaa et al. | 3D reconstruction by fusioning shadow and silhouette information | |
JP2986441B2 (ja) | 任意表情を持つ3次元顔モデルの生成方法 | |
Hogervorst et al. | Biases in three–dimensional structure–from–motion arise from noise in the early visual system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CB03 | Change of inventor or designer information |
Inventor after: Gao Wei Inventor after: Liu Yangdong Inventor after: Hu Zhanyi Inventor before: Liu Yangdong Inventor before: Gao Wei Inventor before: Hu Zhanyi |
|
CB03 | Change of inventor or designer information |