一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于稀疏点云和代价聚合的三维重建方法及系统与流程

2022-05-21 10:06:48 来源:中国专利 TAG:


1.本发明属于计算机视觉技术领域,具体涉及一种基于稀疏点云和代价聚合的三维重建方法及系统。


背景技术:

2.基于图像的三维重建旨在从多张输入图像中恢复出三维几何结构,是计算机视觉领域中一个重要且具有挑战性的问题。相比于基于激光雷达的主动式三维重建,基于图像的三维重建具有成本低、通用性强等优点。
3.传统的多视图三维重建方法基于手工设计的特征进行跨视图的相似性搜索,在理想的朗伯体场景下能够取得较好的重建效果,但是在弱纹理区域和存在镜面反射的区域,由于图像特征难以提取,导致重建效果不尽人意。近年来,深度神经网络在计算机视觉领域得到的广泛的应用。深度学习的方法基于大量的标注数据,通过深度神经网络自动地学习输入图像的特征。与传统方法相比,深度神经网络提取的特征包含更多的语义信息。
4.2020年华中科技大学的学者xu和tao将基于方差的代价指标替换为平均组相关(average group-wise correlation),在不降低模型重建质量的前提下,降低了gpu显存开销。同时将多视图深度估计问题建模为逆向深度回归问题,使得模型在深度范围较大的场景表现更佳。
5.尽管基于深度学习的方法取得了较大的进展,但尚未充分利用稀疏重建的结果,只利用了相机位姿信息,忽略或没有充分利用稀疏点云信息。


技术实现要素:

6.为充分利用稀疏点云信息和提高深度估计的准确度,进而提高三维点云模型的重建质量,尤其是解决弱纹理区域和存在镜面反射的区域,图像特征难以提取的问题,在本发明的第一方面提供了一种基于稀疏点云和代价聚合的三维重建方法,包括:获取多视角图像及其对应的多个稀疏点云,并对所述多个稀疏点云进行预处理,得到多个视角下的深度图;对所述多视角图像进行特征提取并构建一个或多个代价体,利用所述多个稀疏点云对每个代价体进行调制和正则化,得到多个概率体;从每个概率体中恢复出深度图,并将其与过滤后的多个视角下的深度图融合,得到重建后的点云模型。
7.在本发明的一些实施例中,所述对所述多视角图像进行特征提取并构建一个或多个代价体包括:利用卷积神经网络分别对所述多视角图像的每张图像进行特征提取,得到多个特征图;选取所述多个特征图中的一个特征图作为参考特征图,余下的多个特征图作为源特征图,并计算每个源特征图在参考特征图上的特征体,得到多个视图的特征体;将所述多个视图的特征体进行聚合为代价体。
8.进一步的,所述将所述多个视图的特征体进行聚合为代价体通过如下方法实现:
9.10.式中c表示代价体,m表示逐元素的方差计算,vi表示第i个特征体, n表示特征体的总数,表示所有特征体的均值。
11.在本发明的一些实施例中,所述利用所述多个稀疏点云对每个代价体进行调制和正则化,得到多个概率体包括:基于多个视角下的深度图,构建高斯调制函数;根据所述高斯调制函数对每个代价体进行调制;利用3d分割网络对每个代价体进行正则化,得到过滤后的概率体。
12.进一步的,,所述正则化通过如下方法实现:
[0013][0014]
式中c(v0)为每个代价体中体素v0的代价,为正则化操作后体素v0的代价;ωk为第k个采样位置处的权重,vk为卷积感受野中固定的偏置,δvk为自适应代价聚合过程中学习的偏置。
[0015]
在上述的实施例中,所述对所述多个稀疏点云进行预处理,得到多个视角下的深度图包括:获取每一视图下所有关键点对应的三维点,过滤不可见的三维点;所述过滤后的多个三维点,根据当前视图的相机外参,通过投影变化和坐标变换,得到每个三维点在其图像坐标系中的深度值。
[0016]
本发明的第二方面,提供了一种基于稀疏点云和代价聚合的三维重建系统,包括:获取模块,用于获取多视角图像及其对应的多个稀疏点云,并对所述多个稀疏点云进行预处理,得到多个视角下的深度图;构建模块,用于对所述多视角图像进行特征提取并构建一个或多个代价体,利用所述多个稀疏点云对每个代价体进行调制和正则化,得到多个概率体;重建模块,用于从每个概率体中恢复出深度图,并将其与过滤后的多个视角下的深度图融合,得到重建后的点云模型。
[0017]
进一步的,所述构建模块包括:提取单元,用于利用卷积神经网络分别对所述多视角图像的每张图像进行特征提取,得到多个特征图;计算单元,用于选取所述多个特征图中的一个特征图作为参考特征图,余下的多个特征图作为源特征图,并计算每个源特征图在参考特征图上的特征体,得到多个视图的特征体;聚合单元,用于将所述多个视图的特征体进行聚合为代价体。
[0018]
本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明在第一方面提供的基于稀疏点云和代价聚合的三维重建方法。
[0019]
本发明的第四方面,提供了一种计算机可读介质,其上存储有计算机程序,其中,所述计算机程序被处理器执行时实现本发明在第一方面提供的基于稀疏点云和代价聚合的三维重建方法。
[0020]
本发明的有益效果是:
[0021]
1.本发明充分利用了稀疏重建的结果,将稀疏重建得到的稀疏点云作为先验信息融入到代价体中。利用稀疏点云投影得到的稀疏深度图作为场景的几何先验,通过增强稀疏先验附近的深度假设、抑制远离先验深度值的深度假设的方式,提高了深度估计的准确性,尤其是在细小结构和深度不连续处;
[0022]
2.在代价体正则化阶段引入了自适应代价聚合模块,使得网络模型具有场景感知的能力,以数据驱动的方式自适应地学习偏置,在弱纹理区域和物体边界处获得更准确的深度估计。
附图说明
[0023]
图1为本发明的一些实施例中的基于稀疏点云和代价聚合的三维重建方法的基本流程示意图;
[0024]
图2为本发明的一些实施例中的保持电子地平线的路网数据范围最小化的方法的具体流程示意图;
[0025]
图3为本发明的一些实施例中的用于图像特征提取的卷积神经网络的结构示意图;
[0026]
图4为本发明的一些实施例中的稀疏点云数据预处理示意图;
[0027]
图5为本发明的一些实施例中的高斯调制函数的工作原理示意图;
[0028]
图6为本发明的一些实施例中的用于自适应代价聚合的3dunet网络结构示意图;
[0029]
图7为本发明的一些实施例中的基于稀疏点云和代价聚合的三维重建系统的结构示意图;
[0030]
图8为本发明的一些实施例中的电子设备的结构示意图。
具体实施方式
[0031]
以下结合附图对本发明的原理和特征进行描述,所举实例只用于解释本发明,并非用于限定本发明的范围。
[0032]
参考图1与图2,在本发明的第一方面,提供了一种基于稀疏点云和代价聚合的三维重建方法,包括:s100.获取多视角图像及其对应的多个稀疏点云,并对所述多个稀疏点云进行预处理,得到多个视角下的深度图;s200. 对所述多视角图像进行特征提取并构建一个或多个代价体,利用所述多个稀疏点云对每个代价体进行调制和正则化,得到多个概率体;s300.从每个概率体中恢复出深度图,并将其与过滤后的多个视角下的深度图融合,得到重建后的点云模型。
[0033]
可以理解,深度学习的方法取得了较大的进展,但尚未充分利用稀疏重建的结果,只利用了相机位姿信息,忽略或没有充分利用稀疏点云信息。上述方法则克服了这一问题,充分利用了稀疏点云信息,从而提高了三维重建模型的准确性。多视角图像是指从同一场景的不同拍摄角度(视角)获取的多张图像,即所述多张图像源于同一场景或图像。
[0034]
在本发明的一些实施例的步骤s200中,所述对所述多视角图像进行特征提取并构建一个或多个代价体包括:s201.利用卷积神经网络分别对所述多视角图像的每张图像进行特征提取,得到多个特征图;s202.选取所述多个特征图中的一个特征图作为参考特征图,余下的多个特征图作为源特征图,并计算每个源特征图在参考特征图上的特征体,得到多个视图的特征体; s203.将所述多个视图的特征体进行聚合为代价体。
[0035]
具体地,在步骤s201中,利用图3所示的卷积神经网络为输入图像进行特征提取,得到n幅图像对应的特征图卷积神经网络中包含8 个卷积层,除了最后一层
卷积外,每个卷积后面都有bn层和relu激活函数。图像特征提取模块实现3
×h×
w到的映射,其中h和w分别为输入图像的高和宽,c为特征图的通道维度。提取的特征图用于后续的代价体构建。
[0036]
接着,在步骤s202中,f1为需要进行深度估计的参考图像提取的特征,为与参考图像进行匹配的源图像的特征图,为稀疏重建得到的各个视图对应的相机内参矩阵、旋转矩阵和平移向量。以参考图像特征 f1为基准,参考图像特征上的像素p,基于深度假设dj,在源图像特征fi上的对应像素点p
i,j
的计算公式为:
[0037][0038]
式中dj为第j个深度假设,其中j∈{1,2,

,nd},nd为深度假设数,下标ref表示参考图像特征。每幅图像的特征图通过投影变换得到对应的特征体为了灵活地处理任意数量地输入视图,本发明利用基于方差的度量指标,将多视图的特征体聚合为代价体c。
[0039][0040]
式中为所有特征体的均值,m为逐元素的方差计算,vi表示第i个特征体,n表示特征体的总数。
[0041]
在本发明的一些实施例的步骤s200中,所述利用所述多个稀疏点云对每个代价体进行调制和正则化,得到多个概率体包括:s204.基于多个视角下的深度图,构建高斯调制函数;s205.根据所述高斯调制函数对每个代价体进行调制;s206.利用3d分割网络对每个代价体进行正则化,得到过滤后的概率体。
[0042]
参考图5,示意性地,步骤s204包括:以稀疏深度值d

为中心,深度假设d为自变量,构建高斯调制函数。高斯调制函数用于代价体的特征增强。具体地,增强d=d

附近深度假设值的响应,抑制远离d

处的深度假设值。高斯调制函数:
[0043][0044]
式中,d为深度假设值;d

为稀疏深度值;k为高斯函数的幅值,c为带宽。考虑到采用方差的指标,代价越小意味着该深度假设的置信度越高,因此将上式改写为:
[0045][0046]
式中ω
sparse
为存在先验深度的像素集合。
[0047]
参考图6,示意性地,步骤s205包括:利用3du-net的网络来进行代价体的正则化操作,得到过滤后的概率体。本发明在代价体正则化步骤中引入自适应代价聚合模块,自适应代价聚合模块可以自适应地学习偏置,使得在深度不连续处取得更准确的重建精度。可选的,利用u-net系列的变体或segnet等3d图像分割网络实现代价体的正则化。
[0048]
具体地,步骤s206中,概率体归一化,利用3d卷积将c通道的代价体转化为单通道
的概率体,实现到的映射,沿深度方向对概率体进行soft-max归一化操作。
[0049]
在步骤s206中,所述正则化通过如下方法实现:
[0050][0051]
式中c(v0)为每个代价体中体素v0的代价,为正则化操作后体素v0的代价;ωk为第k个采样位置处的权重,vk为卷积感受野中固定的偏置,δvk为自适应代价聚合过程中学习的偏置。
[0052]
可以理解,体素化(voxelization)是将物体的几何形式表示转换成最接近该物体的体素表示形式,产生体数据集,其不仅包含模型的表面信息,而且能描述模型的内部属性。体素就相当于图像中的像素,可以理解为三维物体中的像素,这就使得三维空间中的物体可以基于规则的空间体素进行表示。
[0053]
体素的表示方法通常包括sdf和tsdf:sdf(signed distance field) 即有效距离场。也就是通过给每个体素赋予sdf来模拟物体表面。如果sdf 值大于0,表示该体素在当前表面前,如果sdf值小于0,则表示体素在表面后,sdf越接近0,表明它越接近场景真实表面。不过这种表示方法会占用大量的资源,因此有人提出了tsdf;
[0054]
tsdf是为了降低体素表示方法的资源消耗而提出的。tsdf采用栅格立方体代表三维空间,每个栅格中存放的是其到物体表面的距离,tsdf值的正负分别表示被表面遮挡与可见,而表面上的点则经过零点。
[0055]
在在本发明的一些实施例的步骤s300中,所述从每个概率体中恢复出深度图,并将其与过滤后的多个视角下的深度图融合,得到重建后的点云模型包括如下步骤:
[0056]
s301.深度图回归:为了实现亚像素级别的深度估计精度,本发明使用所有深度假设的加权平均作为最后的深度输出(soft-argmin操作),每一项的权重为该假设对应的概率值。逐像素的深度估计由下式计算得到:
[0057][0058]
其中p(d)为在深度假设d对应的概率值;
[0059]
s302.光度置信度图的计算:光度置信度图用于衡量多视图光度一致性匹配质量,本发明将离深度假设值最近的4个假设值概率求和得到光度置信度。光度置信度图用于上述实施例中的深度图过滤;
[0060]
s303.深度图过滤:深度图过滤使用光度一致性和几何一致性进行鲁棒的深度图过滤。本发明使用概率图来衡量深度估计的质量,将概率值低于τ0的点视为外点进行滤除。几何一致性用于衡量多视图之间的深度连续性。将参考图像像素点p1处的深度值d1投影至邻域视图的pi点处,然后将pi处的深度值di重投影至参考图像p
reproj
,其深度值d
reproj
,如果满足|p
reproj-p1|《 τ1并且|d
reproj-d1|/d1《τ2,则称像素p1处的深度估计值d1是两视图连续的。本发明中为保证深度估计的跨视图的连续性,至少满足n
τ
幅视图连续的深度估计才会被保留下来。将过滤后的像素点反向投影至三维空间中,获得稠密三维点云模型。
[0061]
在上述的实施例的步骤s100中,所述对所述多个稀疏点云进行预处理,得到多个视角下的深度图包括:s101.获取每一视图下所有关键点对应的三维点,过滤不可见的三维
点;s102.所述过滤后的多个三维点,根据当前视图的相机外参,通过投影变化和坐标变换,得到每个三维点在其图像坐标系中的深度值。
[0062]
示意性地,步骤s101可参考图4:获取每一视图下所有关键点对应的三维点,过滤不可见的三维点,将该视图可见的三维点记为p
world
。将世界坐标系中的三维点根据当前视图的相机外参,变换到相机坐标系下,得到相机坐标系下的点p
cam

[0063]
p
cam
=r
·
p
world
t,
[0064]
式中r为旋转矩阵,t为平移向量。根据投影关系,得到三维点在图像坐标系下的投影点及其深度值
[0065]
d(u,v,1)
t
=k
·
p
cam

[0066]
式中(u,v,1)
t
为图像像素点坐标的齐次坐标,d为像素点的深度值。k为相机内参。
[0067]
应理解,在实施本发明方法之前,需要代价体构建、代价体调制、深度图过滤和点云融合过程中的参数进行设定。在实际应用中,不同深度假设数目的代价体回归出的深度图存在差异;不同幅值和带宽对应的高斯调制函数的约束作用不同,不同的深度图融合参数会得到不同视觉效果的三维点云模型。本发明的各个参数:深度假设平面数nd=192,k=10,c=2δd,δd=d
j 1-dj,τ0=0.8,τ1=1,τ2=0.01,n
τ
=3。
[0068]
实施例2
[0069]
参考图7,本发明的第二方面,提供了一种基于稀疏点云和代价聚合的三维重建系统1,包括:获取模块11,用于获取多视角图像及其对应的多个稀疏点云,并对所述多个稀疏点云进行预处理,得到多个视角下的深度图;构建模块12,用于对所述多视角图像进行特征提取并构建一个或多个代价体,利用所述多个稀疏点云对每个代价体进行调制和正则化,得到多个概率体;重建模块13,用于从每个概率体中恢复出深度图,并将其与过滤后的多个视角下的深度图融合,得到重建后的点云模型。
[0070]
进一步的,所述构建模块12包括:提取单元,用于利用卷积神经网络分别对所述多视角图像的每张图像进行特征提取,得到多个特征图;计算单元,用于选取所述多个特征图中的一个特征图作为参考特征图,余下的多个特征图作为源特征图,并计算每个源特征图在参考特征图上的特征体,得到多个视图的特征体;聚合单元,用于将所述多个视图的特征体进行聚合为代价体。
[0071]
实施例3
[0072]
参考图8,本发明的第三方面,提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明在第一方面的方法。
[0073]
电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、 rom 502以及ram 503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。
[0074]
通常以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以
允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图8示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图8中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。
[0075]
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。
[0076]
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个计算机程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:
[0077]
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c 、python,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0078]
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
[0079]
以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献