首页> 中国专利> 三维重建中基于图像和几何线索恢复深度图的方法及系统

三维重建中基于图像和几何线索恢复深度图的方法及系统

摘要

本发明公布了一种三维重建中基于图像和几何线索恢复深度图的方法及系统,通过构建语境编码器和基于门控循环单元的迭代算法来优化深度图;系统包括:深度特征提取模块,深度估计模块,法线估计模块,深度图优化模块。本发明适用于多源数据,利用语境编码器编码图片的几何线索信息,指导基于GRU的迭代循环和多尺度优化,同时优化深度图和法线图,提升在深度的平滑性和边界准确性,从而达到更高的深度恢复精度。

著录项

  • 公开/公告号CN113850900A

    专利类型发明专利

  • 公开/公告日2021-12-28

    原文格式PDF

  • 申请/专利权人 北京大学;

    申请/专利号CN202110583939.5

  • 发明设计人 李尚;曾钢;

    申请日2021-05-27

  • 分类号G06T17/00(20060101);G06T7/55(20170101);G06K9/46(20060101);G06N3/08(20060101);

  • 代理机构11360 北京万象新悦知识产权代理有限公司;

  • 代理人黄凤茹

  • 地址 100871 北京市海淀区颐和园路5号

  • 入库时间 2023-06-19 13:26:15

说明书

技术领域

本发明属于计算机视觉技术领域,涉及图像处理三维重建方法,尤其涉及一种三维重建中基于图像和几何线索恢复深度图像的方法及其系统,是一种多视角图像深度图的估计技术,可以提高深度图估计的准确度。

背景技术

三维重建是指对三维物体建立适合计算机处理的数学模型。三维重建广泛应用于各种领域。在工业领域,三维重建广泛用于自动驾驶、导航、智慧城市的地图构建。在科学教育领域,三维重建广泛用于文物、雕塑、建筑等的数字化,方便后期的虚拟修复、数据研究交流、虚拟现实博物馆建设。在游戏、娱乐、AR/VR等等领域三维重建也有着重要作用,三维重建可以将经过扫描重建后的三维模型直接应用到AR、VR或游戏电影场景中,大大减少了建模的复杂度,也能提升模型的真实感。

在2018年,MVSNet,DeepMVS相继提出了以平面扫描算法构建代价空间作为输入的方法。这种方法可以将多视角几何中的单应平面思想嵌入到深度网络中,用可微的单应几何构造输入,达到了当时的最好结果。而且,这种方法不仅仅可以用于两视角图像,可以非常方便地扩展到任意N个视角图像。DeepMVS使用相机位姿数据和平面扫描算法计算代价空间作为网络的输入,然后使用编码器-解码器网络预测初始深度特征。在深度预测步骤中,它们将参考图像特征连接到解码器输入,作为内在特征帮助解码深度图,并且每个输入图像的代价通过最大池化作为多视图匹配的信息。

现有的传统恢复深度图像方法的计算资源消耗大,而且用时很长,很难满足大部分应用的需求。而目前的深度学习方法在恢复图像边界的准确度和深度的平滑性上存在问题,导致在恢复出深度图的精度与真实的深度存在一定误差,而且现有方法大多未估计法线图,在后续的三维重建中会造成场景边界、平面失真等问题。

发明内容

本发明的目的是提供一种三维重建中基于图像和几何线索恢复深度图的方法及系统,进行准确且快速的多视角图片深度估计,用来解决图片的深度估计不够准确的问题,通过深度估计可以进行基于图像的三维重建。本发明方法能够从多方面解决深度图的边界恢复问题,从而提高深度估计的准确度。

由于真实的三维空间存在几何结构:平面,边界等,这些几何先验对二维深度图具有一定的约束。例如平面投影到深度图上仍是一个平面,且深度满足平滑性;遮挡边界投影到深度图上是一条线段,线段两边的深度不一样。为了达到这样的约束,我们提出了语境编码器和基于门控循环单元的迭代算法来优化深度图像。

为方便起见,本发明定义以下名称及对应参数表示:

初始深度图:D

稀疏深度图:D

真实深度图:D

第t次迭代后产生的深度图:D

增广点云:P;

代价空间:Vol

概率空间:Vol

本发明的技术方案是:

一种三维重建中基于图像和几何线索恢复深度图像的方法,通过构建语境编码器(也称几何编码器)和基于门控循环单元的迭代算法来优化深度图;具体包括如下步骤。

A.对输入图像进行基于编码器和解码器的深度估计,生成初始深度图D

A1.采用神经网络对输入图像提取得到图像的深度特征,并采用平面扫描算法构建代价空间Vol

输入是主视角图片和其他视角图片以及它们对应的位姿。以主视角的位姿来建立坐标系,由于图片上每个像素点的深度未知,将光心与图片上的点连线发射会构成一个锥形体。虽然深度是一个连续的值,但是可以将锥形空间分为一个个平面。如果平行平面足够密集,空间被分割的足够细,那么,空间物体表面上的一点M一定位于众多平行平面中的其中一个平面上。利用多视角几何的知识,可以将锥形空间上的点投影到周围图片上,得到一个体素。那么整个锥形空间内离散的点经过上述操作,就会构成体素空间(Volume),也称为代价空间Vol

A2.将代价空间输入编码器-解码器结构,输出不同尺度的深度图,即生成初始深度图D

我们使用多层卷积来作为编码器(Encoder),多层反卷积来作为解码器(Decoder),以此组成编码器-解码器结构来推测深度。编码器的每一层使用3D CNN来进行进一步的特征提取和特征聚合。提取和聚合出的特征被传输到解码器中,经过逐层的上采样,恢复到与原有图片同样的尺寸。在上采样的过程中,每层都会扩大尺寸,并将聚合的特征回归成深度输出。除了常规的编码器-解码器结构外,为了获取更多地图像底层信息,我们使用了跳层连接。将编码器的第一层连接至解码器最后一层的输入,编码器的第二层连接至解码器倒数第二层的输入,依此类推。这样的目的是为了更好地获取低层的逐像素特征。

B.进行基于点云特征的法线图估计;包括:

B1.将A中深度估计得出的初始深度图D

B2.在真实点云附近一定距离内增加其余点(周围点),用来模拟深度估计的误差,构成增广点云P;

具体实施时,为了模拟A步骤估计出的深度图d

B3.使用图神经网络聚合周围点的深度和特征,输出法线图;

通过在坐标空间构建局部邻域,对每个点表征,然后将特征聚合使用CNN网络输出结果。

C.对初始深度图D进行基于循环迭代的深度图优化,每次迭代时利用几何编码器提取几何线索,得到优化后的深度图;

在每次迭代时,都可以显式地用到上次更新的深度图。我们以上次地深度图作为基准,在其周围构造体素空间,形成特征体素空间。由多视角几何知识,深度估计主要依靠特征之间地相似度。所以我们计算主视角图像上的像素点与投影到邻居图像上的点的特征相似度作为该点体素的值,构成1×D×H×W的体素空间。这里采取的特征相似度是其特征向量夹角的余弦值。将代价空间与初始深度图连接在一起,并通过卷积神经网络提取匹配特征。门控循环单元GRU的一个输入是匹配特征,另一个输入是语境特征编码对应图片的边缘和平面信息。隐层变量是128维向量,经过5-10次的循环迭代,每次迭代都会输出优化后的深度图。

D.进行多源数据的深度图估计,多源数据包括多视角图像,稀疏深度以及点云;得到最终的深度图像。

引入额外信息可以更好地优化深度图。额外信息的引入,例如稀疏深度的输入可以给神经网络的推测带来深度的先验。采用输入为RGBD四通道,其余与步骤A1完全相同的特征提取,同时提取颜色和稀疏深度的特征;引入自注意力机制(本质是相关性矩阵),增加稀疏点预测误差,使得网络通过训练增加稀疏点处的相关性,能使稀疏点对周围的影响变大。这样稀疏的点可以当作锚点,将其深度传导到周围。

本发明具体实施时,实现了用于恢复深度图像的网络模型系统,包含深度特征提取模块,深度估计模块,法线估计模块,深度图优化模块模块。其中,深度特征提取模块用于采用神经网络对输入图像提取得到图像的深度特征,并采用平面扫描算法构建代价空间;

深度估计模块用于将代价空间输入编码器-解码器结构,输出不同尺度的深度图,即生成初始深度图D

与现有技术相比,本发明的有益效果是:

本发明提供一种三维重建中基于图片和几何线索恢复深度图的方法,利用语境编码器编码图片的几何线索信息,指导基于GRU的迭代循环和多尺度优化,同时优化深度图和法线图,本发明通过构建语境编码器和基于门控循环单元的迭代算法来优化深度图,在深度的平滑性和边界的准确性上胜于目前的方法,从而达到更高的深度恢复精度。

本发明提供的技术方案适用于多源数据,其中包括图像、稀疏深度的输入,并用注意力机制提出了一种更好地利用稀疏深度的方法,让网络可以同时利用多视角图片、稀疏深度等信息来更准确地估计深度,在深度图的边界和平面部分取得了更好效果。

附图说明

图1是本发明方法采用的网络模型的结构示意图。

图2是本发明具体实施的多尺度的深度图输出;

其中三个小图分别表示不同尺度下输出的深度图。

图3是采用不同方法进行法线估计的结果实例;

其中,第三列是直接由深度图算出的法线,第四列是我们的方法估计的法线。

图4是采用本发明进行迭代优化结果与不优化的结果对比示例。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述。

本发明提供一种三维重建中基于图片和几何线索恢复深度图像的方法,具体实施时,采用本发明方法实现了的深度估计系统以一个目标图像、目标图像稀疏深度(可选)和多张非主视角图像为输入,得到目标图像的深度图;系统包含深度特征提取模块,构造匹配代价模块,代价聚合模块,深度估计模块,法线估计模块,深度图优化模块。本发明方法具体实施包括如下步骤:

步骤A1:

对输入图像提取图像特征,提取出32个通道的匹配特征和64维的语境特征;我们通过深度特征提取模块(具体实施采用残差网络Resnet)来提取图像特征。Resnet通过使用多个有参层来学习输入输出之间的残差表示,而非像一般CNN网络(如Alexnet/VGG等)那样使用有参层来直接尝试学习输入、输出之间的映射。最终我们将3通道的输入图像提取出32个通道的匹配特征和64维的语境特征。

构建代价空间;

接下来,将深度范围内分为一个个平行平面,不同的场景具有不同的深度范围。如果平行平面足够密集,空间被分割的足够细,那么,空间物体表面上的一点M一定位于众多平行平面中的其中一个平面上。图像像素点与相机中心产生一条反投影射线,这条射线与各个平行平面上的交点记为M’,然后将其投影到其他摄影机上得到颜色信息或其他特征,这样就可以构成一个体素(Voxel)。那么整个空间内的点经过上述操作,就会构成体素空间(Volume),被称为代价空间。由于空间被划分成了平行于摄像机的平面,所以满足单应性。将第1张图片上的点x

x

通过单应性根据照相机的锥形体构建3D的体素作为网络的输入,就可以利用多视角几何将相对位姿(R,t)嵌入到网络中。

步骤A2:

在构建了代价空间后,将进行代价空间聚合。从图像直接计算出的代价空间可能受到噪声误差的影响,需要进行平滑约束才能估计深度。这一步的主要作用是将代价空间进行优化并生成概率空间用于深度估计。采用了编码器解码器来进行这一操作。编码器使用多层卷积,解码器每一层在估计深度时,在第一级卷积中将32通道的代价空间缩减为了8通道,最后一层输出单通道的体素空间。最终使用softmax在深度方向进行了概率归一化以得到概率空间。生成的概率空间既可以用于逐像素的深度估计,同时可用于测量估计的置信度。通过分析置信度分布可以方便地评测深度重建的质量,这可以有效地去除局外点。解码器的每一层都可以输出深度图,由于每一层尺度不同,会产生由小到大的不同尺度的深度图。如图2所示。

步骤B1:

在获得步骤A估计出的深度图D的基础上,就可以利用相机内参矩阵K将初始深度图反投影得到点云P,其中(x,y)是像素点的坐标,K是相机的内参矩阵,D

P(x,y)=K

步骤B2:

而后从输入多视角图像中抽取特征来增强点云。而且,为了弥补深度估计的误差,我们在反投影的点云周围增加额外的点,构成新的点云。随后为每个点构建特征,这些特征来源于A1中提取的图像特征,将从图像中获取的特征和归一化的点坐标合并在了一起。

步骤B3:

然后输入到图神经网络(EdgeConv)中进行学习,得到法线图。由于法线图来源于空间上的点,所以这种方法得到的法线图比直接从图像中学习法线图的效果更好。

其中,

步骤C:

对于估计出的深度图depth上的(x,y)点深度记为depth(x,y)。那么在我们分别在depth(x,y)-k·l,k∈[-2,-1,0,1,2]处做之前的反投影和投影,获得其在周围相机上的特征,组成5×H×W的窄带体素空间,记为F。l是平面之间的间隔,通常比之前构造体素空间时分割间隔要小。本质上是我们已当前估计出的深度为中心,向更近和更远的地方衍生出一条窄带,构成空间上不连续的体素。由于其在空间上不连续,我们需要在特征上在显式地增加维度,即深度和估计出的法线,用来作为整体特征。即Feature=Concat(F,depth,normal)。这样做有两个好处。一是显式地利用了当前深度,并嵌入了多视角信息。二是细化了单应平面分隔的粒度,使结果更加精确。

步骤C:

上述优化过程会用到之前预测的深度图,那么可以采用迭代的方式来优化深度图。在每次迭代时,都可以显式地用到上次更新的深度图。我们以上次地深度图作为基准,在其周围构造体素空间,形成特征体素空间。由多视角几何知识,深度估计主要依靠特征之间地相似度。所以我们计算该点与邻居帧上的点地特征相似度作为该点体素空间的值,构成1xDxHxW的代价空间。这里采取的特征相似度是其特征向量夹角的余弦值。

在每次迭代中,使用语境编码器编码对应图片的边缘和平面信息,用来指导需要优化的像素位置和像素间的关系。我们注意到,深度图与图片的底层信息紧密相关,深度图的边界与RGB颜色信息的边界是高度一致的。所以我们若要使得深度图的边界更加准确,就需要一个编码器来编码图像的底层信息,作为输出深度图的指导。由此,我们设计了语境编码器作为输出深度图的指导。

深度图的边界往往是语义相关的,即深度不连续的地方,是属于不同的两个物体的。所以使用门控循环单元(GRU)保留上次优化的信息,避免遗忘,这部分用来提取高层的信息。下面的公式是GRU的运算方式,Conv

z

r

h

h

假设第t次迭代产生的深度图记为D

D

最终经过多次迭代计算,得出最终的深度图。

步骤D:

我们将RGB图片与稀疏深度信息连接,变为RGBD四通道的图片,然后传输到输入为RGBD四通道,其余与步骤A1完全相同的特征提取中,和步骤ABC的方式相同,得到深度图。步骤A中的网络记为DepthNet,,编码器之后增加多层上采样作为注意力的解码器,更改后的网络记为DepthNet2。DepthNet2不仅输出一张深度图,同时输出一张注意力图,即一个大小为H×W×8的权重图(即注意力图),其中8个通道分别代表了每个点到其8邻域上的点的传播的强度,然后依照此强度进行深度的传播。同时在每次传播时,都要添加上稀疏深度锚点带来的影响。即每次传播后,强化稀疏点处的值,让其尽量保持在原有的值附近,避免偏离失去锚点的作用。

D

上面公式中,D

需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号