一种基于多平面扫描的端到端网络的多视点场景重建方法与流程

文档序号:25791282发布日期:2021-07-09 11:27阅读:101来源:国知局
一种基于多平面扫描的端到端网络的多视点场景重建方法与流程

1.本发明涉及本发明涉及数字图像处理与计算机视觉领域,具体是一种基于多平面扫描的端到端网络的多视点场景重建方法,用于对已知相机内外参矩阵的多视点图像数据集进行三维重建,构建出深度图和点云的方法。


背景技术:

2.多视点三维重建(multi

view stereo)是计算机视觉领域中的研究热点之一,得到了学者们的广泛关注和大力研究,如何从图像中恢复物体的三维信息是计算机视觉研究的一个核心问题。multi

view stereo(mvs)的方法即为给定从不同视角拍摄的图像以及其对应的相机几何,通过稠密匹配的方式恢复出物体以及场景的三维结构。
3.现有mvs方法存在重建结果一般,准确率和完整度不能兼顾的问题。


技术实现要素:

4.本发明的目的是为了解决现有技术的不足,提供一种基于多平面扫描的端到端网络的多视点场景重建方法,用于对已知相机内外参矩阵的多视点图像数据集进行三维重建,构建出深度图和点云的方法。
5.为了实现以上目的,本发明所述的一种基于多平面扫描的端到端网络的多视点场景重建方法,该方法的具体步骤如下:
6.用金字塔结构提取各级图像特征,得到不同大小和分辨率的特征图,并计算相应内参;
7.用多平面扫描的方式在分辨率最低的特征图上构建基于方差的成本量并估计一个低分辨率的深度图;
8.将所述低分辨率的深度图进行上采样,并且联合更高分辨率的特征图对深度图进行细化,直到得到原图像大小的深度图为止。
9.进一步地,所述用金字塔结构提取各级图像特征,得到不同大小和分辨率的特征图,并计算相应内参,包括:
10.首先用cnn对原始的图像进行特征的提取,再使用双线性插值的方法对原图进行下采样,每次下采样的系数为0.5,然后将下采样的彩色图像输入到提取特征的cnn网络结构,提取下采样之后图像的特征图,构建一个两层的金字塔特征结构;
11.在训练的阶段提取3张图像的金字塔特征,分别为一张参考图像和两张源图像,在测试的时候提取5张图像的金字塔特征,包括一张参考图像和4张源图像。
12.进一步地,所述用金字塔结构提取各级图像特征的具体操作步骤为:
13.(a)先用深度神经网络提取原图像的特征图,所述深度神经网络一共有9层,每层都有3*3的卷积核以及一个leaky relu激活函数,最后特征提取网络输出的通道数为16;
14.(b)用双线性插值的方法来对原图像进行下采样,每下采样一次,图像的长和宽变成原来的一半;
15.(c)在训练阶段,提取三张图像的金字塔特征,其中一张是需要估计的参考图像,另外两张是源图像。
16.进一步地,所述计算相应内参,包括:
17.对于不同分辨率的图像重新计算内参矩阵的大小,具体的换算公式为:
[0018][0019]
其中,f'为下采样图像对应的相机焦距,f为相机焦距,c
x
'为下采样图像对应的光心的x坐标,c
x
为光心的x坐标,c
y
'为对应的光心的y坐标,c
y
为光心的y坐标。
[0020]
进一步地,所述用多平面扫描的方式在分辨率最低的特征图上构建基于方差的成本量,包括:
[0021]
使用三个不同的扫描方向,分别为45
°
,90
°
和135
°
,从这三个不同的方向分别构建出三个不同的成本量。
[0022]
进一步地,所述用多平面扫描的方式在分辨率最低的特征图上构建基于方差的成本量,包括:
[0023]
(a)通过单应性变换将不同相机参考坐标系下的图像变换到同一个坐标系下,得到源图像和参考图像在同一个相机参考坐标系下的特征图;
[0024]
(b)平面扫描的方向有三个,分别是45
°
,90
°
和135
°
,形成三个不同方向的平行平面集;将这三个平行平面集对应的法向量和距离代入到(a)中的所述变换中,得到不同参数下源图像变换到参考图像相机坐标系中的特征图,对每一个假设平面方向,每一个假设的深度得到一张源图像变换的特征图,由此得到3张参考相机坐标系下的特征图;
[0025]
(c)用求方差的方式来评估特征图之间的相似性,假设深度接近真实的深度值,由此得到一个方差图,沿着假设深度的方向将方差图堆叠起来,就得到一个成本量;每个平面扫描的方向构成一个成本量,对每一张源图像一共有三个成本量;所述三个成本量在整个神经网络中是独立的,分别输出一个距离图,再转换成深度进行融合。
[0026]
进一步地,所述估计一个低分辨率的深度图,包括:
[0027]
用3d卷积核对成本量进行正则化,使之在深度方向上和像素点在对应深度的概率值对齐,得到三个概率体,再计算每个像素点沿着深度方向上概率分布的熵,在三个概率分布中选择熵最小的概率分布,沿着深度方向用概率对深度进行加权,得到一张低分辨率的深度图。
[0028]
进一步地,所述估计一个低分辨率的深度图,包括:
[0029]
(a)用三个相同结构但是不共享参数的u

net 3d卷积网络来提取深度的概率分布;通过整个神经网络的损失将u

net的输出对应为参考图像沿着深度方向在不同深度上的概率分布,输出为一个概率体;
[0030]
(b)根据深度概率分布的熵来融合深度信息;对于参考图像的每个像素有三个不同的概率估计,选择熵最小的概率估计作为该像素点沿着深度方向的概率分布,再使用softmax回归,得到该像素点的一个深度估计;对所有像素点重复这个操作,得到最低分辨
率距离参考坐标系原点的距离图;
[0031]
(c)将估计出来的三张参考图像在不同虚拟扫描平面下的距离图转化为世界坐标系下的深度图,得到参考图像的三张深度估计图。
[0032]
进一步地,所述将所述低分辨率的深度图进行上采样,并且联合更高分辨率的特征图对深度图进行细化,直到得到原图像大小的深度图为止,包括:
[0033]
将上一级估计出来的低分辨率的深度图进行上采样到一个更大的深度图上,再对这个深度图进行细化,得到原图大小的深度图,完成对单张参考图像深度的估计。
[0034]
进一步地,所述将所述低分辨率的深度图进行上采样,并且联合更高分辨率的特征图对深度图进行细化,直到得到原图像大小的深度图为止,包括:
[0035]
(a)将初步估计的深度图进行优化和调整;将低分辨率的深度图进行上采样,得到一个初步的深度估计,在所述深度估计附近进行采样估计;
[0036]
(b)构建法向量垂直于参考图像相机坐标系的假设平面的成本量,沿着假设平面法向量方向在所述深度估计附近采样8个深度值,对深度进行更精细的估计;
[0037]
(c)对低分辨率的深度图重复上采样和细化的过程直到得到与输入图像大小相同的深度图为止,即得到参考图像的深度估计图。
[0038]
本发明所述的具体是一种基于多平面扫描的端到端网络的多视点场景重建方法,用于对已知相机内外参矩阵的多视点图像数据集进行三维重建,构建出深度图和点云。通过像素级的稠密匹配的方式从多张图像中恢复出物体以及场景的三维结构。
附图说明
[0039]
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0040]
图1为根据本发明实施方式的基于多平面扫描的端到端网络的多视点场景重建方法流程图;
[0041]
图2为根据本发明实施方式的特征金字塔网络结构示意图;
[0042]
图3为根据本发明实施方式的平面扫描变换原理示意图;
[0043]
图4为根据本发明实施方式的平面扫描单应性变换之后的特征图;
[0044]
图5为根据本发明实施方式的u

net网络结构图。
具体实施方式
[0045]
下面将参照附图更详细地描述本公开的示例性实施方式。虽然附图中显示了本公开的示例性实施方式,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施方式所限制。相反,提供这些实施方式是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。
[0046]
本发明中,基于平面扫描的多视点场景重建的本质是借鉴基于两张图片构建成本量(cost volume)的双目立体匹配的深度估计方法,扩展到多张图片的深度估计中。
[0047]
本发明中,平面扫描算法将深度范围内分为一个个平面,如果平行平面足够密集,空间被分割的足够细,那么空间物体表面上的一点m一定位于众多平行平面中的其中一个
平面上。平面扫描法通过将一组图像投影到一个平面假设上,然后再投影到参考图像上来匹配参考图像。通过这个步骤卷曲的图像将和参考图像比较测量图像的不相似度,计算得出一个cost(损失)值。如果测试的平面假设接近参考图像中一个像素的真实深度,则对应的cost会较低。测试许多平面假设,取每个像素的最佳匹配平面所产生的深度,然后生成参考图像的深度图。将平面扫描算法应用到多视点三维重建中,在参考图像和一张源图像两两之间用平面扫描的方法构建一系列深度假设及其对应的损失函数cost map,再通过计算方差的方法来将多个视点卷曲变换之后的特征图联合在一起评价,假设的深度越接近真实值,多视点卷曲变换之后的方差越小,这样构建出来的损失是一个3d volume的结构,可以直接输入到u

net结构中求出沿深度方向的概率分布。
[0048]
多平面扫描是指用多个不同方向的平面簇对场景的深度进行划分,再基于这些不同方向的平面做单应性变换,将源图像变换到参考图像相机坐标系。多平面的假设有利于估计倾斜平面的深度。
[0049]
如图1所示,本发明所述的一种基于多平面扫描的端到端网络的多视点场景重建方法,该方法的具体步骤如下:
[0050]
步骤一:用特征金字塔提取各级图像特征,并计算相应内参;
[0051]
(1):利用特征金字塔提取各级图像特征,得到不同大小和分辨率的特征图,分为原图特征提取,图像下采样,下采样图像特征提取三个部分,具体为:
[0052]
(1.1):首先对输入的原图像进行特征提取
[0053]
在训练阶段,输入是三张图像,包括一张需要估计深度的参考图像(reference image)和两张辅助深度估计的源图像(source image),为了构建图像特征金字塔,需要在同一图像的不同分辨率上提取特征,并且在各个尺度上提取特征的网络是共享权重的。特征提取网络的结构如图2所示,整个网络一共有9层,每层都有3*3大小的卷积核以及一个leaky relu激活函数,输入的彩色图像是三通道,经过卷积之后输出为16通道的特征;
[0054]
(1.2):用双线性插值的方法对图像进行下采样
[0055]
用双线性插值的方式对原图像进行下采样,并且每次插值采用的scale系数为0.5,每下采样一次,图像的长和宽变为原图像的一半;将原图下采样两次,得到原图1/2*1/2以及1/4*1/4大小的低分辨率图像;
[0056]
(1.3):下采样图像特征提取
[0057]
将低分辨率图像输入到相同的特征提取网络(feature extraction network)中,提取出16通道的特征,在这一步中使用的是和原图中同一个特征提取网络,包含9层,每层都有3*3大小的卷积核以及一个leaky relu激活函数并且共享特征,保证在不同分辨率的图像中提取的是同种类的特征;对输入的三张图像都做上述的操作,至此可以分别得到三张图像的三层特征金字塔,每一层有16个通道的特征;
[0058]
(2):三个图像的特征金字塔用于后面的cost volume构建,在图像进行下采样的时候,图像相对应的内参k也会发生变化,因此对于不同分辨率的图像需要重新计算内参矩阵的大小,具体的换算公式为:
[0059][0060]
其中,f'为下采样图像对应的相机焦距,c
x
'为下采样图像对应的光心的x坐标,c
y
'为对应的光心的y坐标,最后计算得出的内参矩阵形式为:
[0061][0062]
步骤二:用多平面扫描来构建低分辨率深度图;
[0063]
(1)通过平面扫描单应性变换将不同相机参考坐标系下的图像变换到同一个坐标系下,并构建cost volume,具体步骤为:
[0064]
(1.1):将相机的模型抽象成一个针孔成像的模型,取源图像特征金字塔最上层分辨率为原图1/4*1/4大小的特征图,将源图像特征图的像素逆投影到虚拟平面上,再将同一个虚拟平面上的点投影到参考相机坐标系上,得到源图像变换到参考图像平面的特征图,特征变换的单应性矩阵为:
[0065][0066]
其中,k为相机的内参矩阵,r为外参矩阵中的旋转矩阵,t为外参矩阵中的平移矩阵,n为平面扫描的法向量方向,d为原点到假设平面的距离,i是一个3*3的单位矩阵。对于同一个扫描方向n,有d个距原点不同的平面,平面扫描变换原理如图3所示,对源图像中的所有像素点,都有x'=hx,其中x'是参考图像中的像素点投影到源图像中对应的像素点坐标,x是源图像坐标系中的像素坐标。通过平面扫描,可以构建出一张源图像特征图变换到参考图像平面的d张特征图,当扫描方向和虚拟平面距离不一样时,变换之后的特征图也不一样,如图4所示;
[0067]
(1.2):平面扫描的方向有三个,分别是45
°
,90
°
和135
°
,对应的法向量为对于每一个扫描平面的方向,又可以假设不同的d,即原点到平面的距离d∈[d
min
,d
max
],这样就形成了三个不同方向的平行平面集。将这三个平行平面集对应的法向量和距离d代入到单应性变换的公式中,可以得到不同参数下源图像变换到参考图像相机坐标系中的特征图,对每一个假设平面方向,每一个假设的深度可以得到一张源图像变换的特征图,将这些深度图沿着假设深度方向堆叠在一起可以得到一个源图像特征图构成的volume。每个volume的大小为b
×
d
×
f
×
h
×
w其中,b为batch size的大小,d为平面距离假设的数目,f为特征图的数量,h为特征图的高度,w为特征图的宽度;
[0068]
(1.3):将每个源图像都变换到参考图像相机坐标系之后,对于每个源图像可以得到三个不同扫描方向的volume。每一张参考图像特征图有两张源图像与其对应,通过求方
差的方式将多视点的信息融合在一起构建出一个cost map:
[0069][0070]
其中,v
i
表示第i个视角变换到参考图像相机坐标系的特征图,表示当前平面d下所有特征的均值,n表示视点的数目,c即为构建出来的基于方差的cost map,也可以称为variance map,方差图。当参考图像和源图像变换到参考坐标系的特征图之间的方差最小时,说明此时的平面法向量和深度最接近像素真实(ground

truth)的法向量和深度,经过方差的运算,参考图像和源图像的特征被融合到了一张图像上,将这样得到的三个cost volume记为c1,c2,c3,分别对应45
°
,90
°
和135
°
的扫描方向。
[0071]
(2):用u

net网络来提取深度的概率分布
[0072]
(2.1):由于假设平面的法向量不相同,因此深度的概率分布也不相同,不能使用共享参数的u

net。u

net是一种经典的全卷积网络结构,网络结构如图5所示,网络左侧是压缩路径(contracting path),右侧是扩展路径(expansive path)压缩路径由4个block组成,每个block使用了3个有效卷积和1个max pooling降采样,扩展路径同样由4个block组成,每个block通过反卷积将feature map的尺寸变大,通过这样对称的操作,将cost volume映射成一个代表概率的概率体(volume p)。这个概率volume的大小为b
×
d
×
h
×
w,其中,b为batch size的大小,d为平面距离假设的数目,h为特征图的高度,w为特征图的宽度,这个概率volume表示每个像素在对应平面上的概率大小。将u

net输出的三个概率分布用softmax进行回归可以分别得到三张像素距离光心的距离图,对于90
°
扫描平面估计出来的为深度图,然而45
°
和135
°
估计出来的并不是深度图,需要做一个转换,将其转换为深度图。
[0073]
(2.2)对于90
°
扫描方向的平面来说,虚拟平面垂直于参考图像坐标系的z轴,因此估计出来的平面距离等于像素的深度值,而对于45
°
和135
°
的扫描平面来说,平面距光心的距离不等于深度值,因此需要将估计出来的距离值转换成深度图,变换的公式如下:
[0074][0075]
其中,z为世界坐标系下的深度值,d为平面到光心的距离,即(2.1)中估计出来的距离图,k表示参考图像相机的内参矩阵,(u,v)表示对应像素的坐标,n
t
表示扫描方向对应的法向量。这里用其次坐标来表示,通过这一步将(2.1)中估计出来的三张参考图像在不同虚拟扫描平面下的距离图转化为世界坐标系下的深度图,得到了参考图像的三张深度估计图。
[0076]
(2.3)当虚拟扫描平面跟像素所在三维平面更接近时,cost的值会更小,因此,估计出来的概率分布的熵越小,基于这个假设,对估计出来的三个概率volume p沿着深度方向分别求熵:
[0077][0078]
其中,p
i
表示某个像素在平面i处的概率,h表示某像素概率分布的熵,d为平面距离假设的数目。通过上述公式可以得到三张熵图,分别表示45
°
,90
°
和135
°
虚拟扫描平面构建出来的深度图在对应像素处概率分布的熵值大小,对比这三张熵图取每个像素熵最小对应估计出来的深度值,得到最后的深度估计,由此估计出了一个较为可靠的低分辨率深度图。
[0079]
步骤三:对低分辨率深度图进行上采样并细化(refine);
[0080]
(1)将初步估计的深度图进行优化和调整,称之为refine。将低分辨率的深度图进行上采样,得到一个初步的深度估计d

,调整之后的深度d=d

+

d,在d

附近进行采样估计,此时的单应性矩阵变为:
[0081][0082]
其中

d=s
p
/m,s
p
为深度采样的范围,m为深度采样的数量,由此得到像素变换的关系;
[0083]
(2)根据步骤(2)中提到的方法构建cost volume,在第一个阶段中,对低分辨率深度图的估计已经考虑了像素点在不同平面的情况,并且已经得到了一个较为准确的初步估计。因此在refine过程中只需构建法向量垂直于参考图像相机坐标系的假设平面的cost volume,沿着假设平面法向量方向在d

附近采样8个深度值,再输入扫描平面为90
°
的u

net网络中,对深度进行更精细的估计。
[0084]
(3)在每个refine的阶段,都有其中d
l
表示h/2
l
×
w/2
l
大小图像的深度估计。对低分辨率的深度图重复上采样和refine的过程直到得到与输入图像大小相同的深度图h
×
w为止,即得到了参考图像的深度估计图。
[0085]
以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1