CN113962858A - 一种多视角深度获取方法 - Google Patents
一种多视角深度获取方法 Download PDFInfo
- Publication number
- CN113962858A CN113962858A CN202111230844.1A CN202111230844A CN113962858A CN 113962858 A CN113962858 A CN 113962858A CN 202111230844 A CN202111230844 A CN 202111230844A CN 113962858 A CN113962858 A CN 113962858A
- Authority
- CN
- China
- Prior art keywords
- depth
- dimensional
- image
- sequences
- sequence
- 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 60
- 238000000605 extraction Methods 0.000 claims abstract description 33
- 230000002457 bidirectional effect Effects 0.000 claims abstract description 8
- 238000013507 mapping Methods 0.000 claims abstract description 8
- 230000009466 transformation Effects 0.000 claims description 25
- 238000005070 sampling Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 9
- 238000012549 training Methods 0.000 claims description 7
- ORILYTVJVMAKLC-UHFFFAOYSA-N Adamantane Natural products C1C(C2)CC3CC1CC2C3 ORILYTVJVMAKLC-UHFFFAOYSA-N 0.000 claims description 3
- 238000013528 artificial neural network Methods 0.000 claims description 3
- 230000000007 visual effect Effects 0.000 abstract description 11
- 230000007246 mechanism Effects 0.000 abstract description 4
- 238000012545 processing Methods 0.000 abstract description 4
- 230000015654 memory Effects 0.000 abstract description 3
- 238000010801 machine learning Methods 0.000 abstract description 2
- 102100035275 E3 ubiquitin-protein ligase CBL-C Human genes 0.000 description 17
- 101000737269 Homo sapiens E3 ubiquitin-protein ligase CBL-C Proteins 0.000 description 17
- 238000011176 pooling Methods 0.000 description 12
- 239000011159 matrix material Substances 0.000 description 11
- 230000006870 function Effects 0.000 description 10
- 238000010606 normalization Methods 0.000 description 7
- 238000013135 deep learning Methods 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 239000013598 vector Substances 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000002059 diagnostic imaging Methods 0.000 description 2
- 238000006073 displacement reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000007613 environmental effect Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000006403 short-term memory Effects 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4007—Scaling of whole images or parts thereof, e.g. expanding or contracting based on interpolation, e.g. bilinear interpolation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4046—Scaling of whole images or parts thereof, e.g. expanding or contracting using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/70—Determining position or orientation of objects or cameras
- G06T7/73—Determining position or orientation of objects or cameras using feature-based methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10016—Video; Image sequence
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30244—Camera pose
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Image Processing (AREA)
Abstract
一种多视角深度获取方法,涉及计算机视觉领域和深度学习技术领域,使用机器学习的方式求深度图,对宽基线等拍摄角度问题及粗糙区域,弱纹理区域,遮挡等复杂的纹理和光影问题有更好的鲁棒性。在特征提取模块引入了CBAM注意力机制,从通道维度和空间维度两个方向整理每次卷积得到的特征。使用特征提取Unet结构中的跳层连接保证了高层信息不被覆盖,同时兼顾获取低层信息。特征提取Unet配合CBAM注意力机制充分考虑不同视角几何映射的关系,提高了特征提取模块对不同视角特征的识别能力。在代价正则化部分使用3D卷积和双向长短期记忆LSTM组合的方式,从深度维度和通道维度两个方面正则化三维方差特征,从而提高网络的处理,生成速度快。
Description
技术领域:
本发明涉及计算机视觉领域和深度学习技术领域,具体涉及一种多视角深度获取方法。
背景技术:
三维重建是指使用现实世界中三维物体的图像建立由计算机存储的三维模型,它是使用计算机存储客观世界三维几何结构的关键技术。三维重建应用于3D建模和绘图、机器人、医学成像、监视、跟踪和导航。同时深度获取在逆向工程、游戏和娱乐业等各行各业都有着广阔的应用前景。
使用计算机视觉实现三维重建是一个完整过程,包括相机标定、特征匹配和重建。三维重建目的是恢复物体完整的结构信息,因此需要获取物体的位置信息,通常包括法向量、深度等信息,其中深度是三维重建需要的重要信息,直接影响到重建的精确度和完整度。深度是指物点到相机的向量在相机的光轴上距离。深度获取容易受到干扰,场景中的光照和噪声等干扰都会影响到深度获取,因此深度获取是三维重建的关键技术。
多视角的深度获取,是指获取物体的一组图像序列或一段视频作为输入,并对输入进行处理,最终得到相机和每一个特征点的位置关系。多视角获取深度计算量巨大,耗时长、资源占用高,但是多视角获取深度的方法使重建的结果稳定、精确,适应各种不同曝光条件,对不连续区域及遮挡区域等复杂环境因素有着良好的鲁棒性。多视角的深度获取应用于3D建模和绘图、机器人、医学成像、监视、跟踪和导航。同时深度获取在逆向工程、游戏和娱乐业等各行各业都有着广阔的应用前景。
多视角深度获取算法可以分为传统的深度获取算法和基于深度学习的深度获取算法两类。第一类传统的深度获取算法具体有两个步骤构成,SFM(Structure frommotion)和MVS(Multi-view stereo)。SFM即运动恢复结构,首先使用LM优化(Levenberg-Marquardt),高斯牛顿法(Gauss-Newton iteration method)等优化方法迭代调整稀疏特征点,从而使用稀疏特征点的关系获取每个视角的位姿矩阵,使用稀疏特征点和位姿矩阵最终得到由稀疏特征点组成的点云。由于SFM只能根据稀疏特征点的三维空间位置进行计算,其重建出来的三维点云较为稀疏,缺少对细节的描述,无法实现可视化。因此需要MVS,即多视角立体匹配进行稠密估计,构造稠密点云。MVS可以分为四类:基于点云的方法、基于体素的方法、基于曲面演变的方法和基于深度获取的方法。本方法中讨论的MVS主要为基于深度获取的方法。MVS在SFM中获得的空间结构的基础上,计算各个视角对应的深度图,然后将各个深度图融合并进行表面重建,最终得到三维模型。基于深度获取的MVS方法通过多视角图像的匹配,将复杂的多视图三维重建简化为相对简单的单视图深度获取,从而简化了MVS的工作,提升了MVS的灵活性。
虽然传统的深度获取算法有很多优点,但是它的缺点在于接受的数据量大,运算速度难以提高。并且由于环境噪声、相机的畸变等不可避免的环境原因,以及粗糙区域,平滑无纹理区域以及遮挡等模型的原因,获取的图像难以提取特征,从而提高了特征匹配的难度。
基于深度学习的深度获取使用神经网络代替了SFM和MVS这种传统方法,简化了大部分的运算工作,同时提高了深度获取的鲁棒性。网络一般包括卷积或反卷积、批量归一化、非线性激活等模块。除此以外,一些网络为了学习不同尺度的特征,添加了最大池化模块和平均池化模块。在基于深度学习的深度获取中常用的网络结构为Unet。Unet分为编码器和解码器两部分,编码器使用卷积逐步使用下采样,同时随着通道数的增加,将特征信息归类到不同的通道中。解码器使用反卷积进行上采样,将不同的通道中的特征融合,恢复局部的细节,细化附加信息。
基于深度学习的深度获取方法训练时需要大量的数据,但是在使用时运算速度明显快于传统的深度获取方法。而且使用基于深度学习的深度获取方法可以获取不同尺度的图像特征以提高结果的准确度,并对弱纹理、重复纹理等一些复杂纹理有很好的鲁棒性。因此是近几年的研究热点。
发明内容:
发明目的:
为了获得更高精度的深度信息,解决传统深度获取方法受限于提取特征点导致对特征匹配的依赖性,同时加快生成深度图的速度。本发明提供了一种多视角深度获取方法。
技术方案:
一种多视角深度获取方法,本方法包括:
图像输入:同一相机在多个位置获取多幅输入图像组成的图像序列,图像序列中图像分为一幅参考图像和多幅目标图像;图像序列通过下采样的方法得到n组不同尺度的图像序列;获取的原始图像组成的图像序列和下采样得到的n组图像序列总共n+1组图像序列,n+1组图像序列按照尺度由小到大的顺序送入特征提取部分;
特征提取:将图像输入中获取n+1组三通道图像序列输入到特征提取Unet中。特征提取Unet由编码器和解码器构成,编码器由多个CBLC模块组成。每一个CBLC模块由卷积层(Convolution Layer)、批归一化(Batch Normalize)、泄露线性单元(LeakyReLu)和卷积注意力(CBAM)构成。解码器由多个使用反卷积的CBLC模块构成,每个反卷积CBLC模块由反卷积(Deconvolution Layer)、批归一化、泄露线性单元和卷积注意力构成。最终输出按尺度对应的n+1组16通道的二维特征序列。每一组二维特征序列包括一个参考图像的特征和多个目标图像的特征。输出的n+1组二维特征序列输入深度求精部分。
深度求精:在获得特征提取部分提取的n+1组二维特征序列以后,按照L=n,n-1,…,0,的顺序分别对这n+1组二维特征序列使用深度求精方法求取估计深度图,整个过程需要使用深度求精n+1次。深度求精包括三个部分:单应性变换、代价正则化、深度获取,如此循环进行深度求精的三个部分得到与原始图像尺度一致的估计深度图;
深度求精的三个部分如下:
一、单应性变换:单应性变换包括以下两个部分:获取深度数据、可微性单应。
(1)获取深度数据:第n组二维特征序列在深度取值范围内按照48等分,每等分内取中值,对48个中值进行深度遍历,因此长、宽两个维度的二维特征序列变成深度、长、宽三个维度的三维特征序列。由于等分使得遍历的深度值不精确,导致反转的过程中特征空间会存在空洞,采用双线性插值算法填充这些空洞。而对于其余的二维特征序列,在获取上一组图像序列的估计深度图后,对其上采样后再复制多组的策略构造深度数据。具体为使用上采样将上一组图像序列的估计深度图长宽扩增为原先的两倍,并根据上采样的结果复制8次形成深度数据作为本组的输入。
(2)可微性单应:特征提取获得的n+1组二维特征序列中的目标图像特征通过空间变换投射到对应的参考图像所在的坐标系中获得目标图像的反转特征。第n组的二维特征序列进行单应性变换时,使用获取深度数据部分得到的第n组深度数据。其余的二维特征序列对应的深度数据使用获取深度数据部分得到的其余部分的深度数据。同一深度二维特征序列中,首先将多个目标图像的二维特征映射到参考图像所在的坐标系下。由于映射变换遍历了深度数据,每一个目标图像的特征在映射时访问每一个深度数据生成映射的目标图像的特征,因此目标图像的图像序列对应的二维特征序列转化为三维特征序列。此三维特征序列和由参考图像的特征复制形成的三维特征计算方差,作为此图像序列对应的三维方差特征。
二、代价正则化:将单应性变换输出的三维方差特征送入三维代价正则化Unet中。代价正则化Unet包括三个部分:三维编码器,双向LSTM(长短期记忆),三维解码器。三维编码器由多个P3d(Pseudo-3D residual networks)残差模块构成。双向LSTM由两个输入方向相反的LSTM模块构成。三维解码器由多个三维反卷积模块构成。代价正则化Unet计算长、宽、深度这三个维度的特征,获取与输入尺度大小保持不变的三维代价量输入到深度获取部分。
三、深度获取:将代价正则化输出的三维代价空间转化为对应深度的概率,通过概率计算期望得到估计深度图。首先将代价正则化中求得的正则化代价量通过Softmax函数转换为不同深度的概率,将各个深度的概率和对应深度值求得期望得到序号L=i(n,n-1,…,1)的图像序列的估计深度图Fi。
深度求精对上一步获得的估计深度图Fi通过双线性插值的方法上采样求得长宽分别扩大2倍的深度图Fi ↑,该深度图Fi ↑和第i-1组的图像序列的长宽相同。对该Fi ↑按照深度间距为6.8复制出8张初始深度图Fi ↑ j(j=-4,…-1,,1,…,4),作为第i-1组图像序列的深度数据。然后将这些初始深度图送入单应性变换中,由于单应变换需要深度数据,将复制出的8张深度图作为第i-1组的图像序列的深度数据,使用单应变换求得三维方差特征。然后将其送入代价正则化,再使用深度获取部分求出第i-1组的估计深度图。如此迭代执行单应性变换、代价正则化和深度获取,直至计算出第0组图像序列的估计深度图。
网络的训练方式为使用n+1组尺度的图像序列的估计深度,每组图像序列中将估计深度和对应的ground truth深度图使用smoothl1误差函数求误差,将每组图像的误差求和从而得到总误差。根据总误差使用Adam优化器反向传播,从而更新方法参数。
优点及效果:
本发明具有以下优点和有益效果:
本发明使用机器学习的方式求深度图,相比于传统的深度获取算法,生成深度图速度更快,对宽基线等拍摄角度问题以及粗糙区域,弱纹理区域,遮挡等复杂的纹理和光影问题有着更好的鲁棒性。本方法在特征提取模块引入了CBAM注意力机制,从通道维度和空间维度两个方向整理每次卷积得到的特征。使用特征提取Unet结构中的跳层连接保证了高层信息不被覆盖,同时兼顾获取低层信息。特征提取Unet配合CBAM注意力机制充分考虑不同视角几何映射的关系,提高了特征提取模块对不同视角特征的识别能力。本方法在代价正则化部分使用3D卷积和双向长短期记忆LSTM组合的方式,从深度维度和通道维度两个方面正则化三维方差特征,从而提高网络的处理。
附图说明:
图1是本发明一种多视角深度获取方法的总体结构图;
图2是本发明一种多视角深度获取方法中特征提取Unet的编码器中CBLC模块说明图;
图3是本发明一种多视角深度获取方法中特征提取Unet的解码器中反卷积CBLC模块说明图;
图4是本发明一种多视角深度获取方法的卷积注意力CBAM说明图;
图5是本发明一种多视角深度获取方法的双向LSTM说明图;
图6是本发明一种多视角深度获取方法的P3d模块说明图。
具体实施方式:
下面结合附图对本发明做进一步的说明:
如图1所示,一种多视角深度获取方法,具体包括如下步骤:
图像输入:输入多幅图像,同一相机在多个位置获取图像。这里多个位置获取的图像分为一幅参考图像和多幅目标图像,这些图像都是128×160像素的RGB三通道图像。规定获取参考图像的位置称为参考视角,获取目标图像的位置称为目标视角。本方法通过对图像序列下采样,每次下采样长宽分别为原先的1/2,可以得到另一个尺度的图像序列。若下采样n次,便将最终的图像序列的序号逆序排列为L=n,n-1,…,0。L=i代表下采样i次的图像序列,序号L=0代表是原图像序列。将这L组图像序列一起送入特征提取部分。
特征提取:如图1的特征提取部分所示,将图像输入中获取n+1组三通道图像序列输入到特征提取Unet中。
特征提取部分按照特征提取Unet的结构,分为编码器和解码器两个部分。特征提取Unet的编码器由3组模块构成,每组都由相同的子模块构成。子模块简称为CBLC模块,其结构如图2所示,由卷积层(Convolution Layer)、批归一化(Batch Normalize)、泄露线性单元(LeakyReLu)和卷积注意力(CBAM)构成。三个CBLC模块构成一组,前两个CBLC中的卷积层使用3×3的卷积核,步长(Stride)为1,边填充(Padding)为1。第三个CBLC模块将步长调整为2使输出的特征长宽同步缩小为原先的0.5倍,同时输出通道数为输入通道数的2倍,同时实现了下采样和通道增加的功能。编码器的第一组CBLC模块将通道由3扩增到16,其余两组CBLC模块通过上述方式将通道增加为32、64,同时特征的长宽逐渐变为原来的0.5倍,0.25倍。图像序列中每个视角的三通道图像传入卷积网络,编码器使用卷积提取出64个通道的特征。
解码器获取编码器输出的特征,通过多个反卷积CBLC将特征压缩成16个通道的特征。解码器由3组反卷积CBLC模块构成,每组反卷积CBLC模块由2个CBLC子模块和1个反卷积CBLC子模块构成。反卷积CBLC模块如图3所示,由反卷积(Deconvolution Layer)、批归一化、泄露线性单元和卷积注意力(CBAM)构成。反卷积将特征空间的长宽上采样为原先的2倍,同时将输出通道数变为输入通道数的1/2。在编码器模块和对应的解码器模块之间使用跳层连接(Skip Layer),以融合特征提取过程中浅层网络和深层网提取的特征。最终获得16通道的特征。
卷积注意力(CBAM)如图4所示。卷积注意力(CBAM)的主干部分为通道注意力和空间注意力。通道注意力将送入的特征在同一通道上的值计算为一个权重。该种方式计算权重时,使用了两种方式,分别为平均池化(Average Pool)和最大池化(Max Pool)。平均池化对每通道的数据求出长为H、宽为W的输入数据的均值,得到1×1的输出。最大池化对每通道的数据求出长为H、宽为W的输入数据的最大值,得到1×1的输出。两种方式得到的最大值权重和平均值权重分别送入全联接(MLP)模块,将两个输出的结果相加,得到的权重在平均值和最大值两个角度评价通道内的特征。将权重值送入sigmoid激活函数,得到每一个通道的权重。通道注意力可以表达为公式(1):
Mc(x)=σ(MLP(Avgpoolc(x))+MLP(Maxpoolc(x))) (1)
公式中MLP为全联接,Avgpool为平均池化,Maxpool为最大池化,c为第c个通道,σ为sigmoid函数。Mc(x)代表c通道求得的权重。
将权重和输入的各个通道的特征相乘得到附加通道注意力的特征,如公式(2)所示:
XC=xc×Mc(x) (2)
Mc(x)是c通道求得的权重,xc是c通道输入特征,XC是c通道附加通道注意力后的特征。
空间注意力部分输入为附加通道注意力的特征XC,此特征通道为c,长宽为H和W。空间注意力对不同通道中的特征使用最大池化和平均池化,即将c×H×W特征XC在长和宽两个维度上切分为H×W个c×1×1的小块,对每个小块求最大值和求平均值,得到2个1×1×1的特征。将2个1×1×1的特征在长和宽上合并从而获得2张1×H×W的特征图,将2张特征图级联获得2×H×W的特征。然后使用输出通道为c的卷积核将通道为2的特征转化为通道为c的特征,然后使用sigmoid激活函数激活,求得附加空间注意力的特征。空间注意力公式可以表达如公式(3)表示:
Ms(x)=σ(F(concat(Avgpools(x),Maxpools(x)))) (3)
其中s表示在同一个像素的不同通道的所有特征点,Avgpool为对所有通道的平均池化,Maxpool为对所有通道的最大池化,F为7×7卷积层,对级联的两个通道的特征卷积,恢复为原先的通道数。最后使用sigmoid激活函数处理结果。
n+1组图像序列中的图像依次送进特征提取网络,获取n+1组图像序列的多个视角的特征集合。然后按照n,n-1,…,0,的顺序将第i组图像序列对应的特征集合送入深度求精。
深度求精:在获得特征提取部分提取的n+1组二维特征序列以后,按照n,n-1,…,0,的顺序分别对这n+1组二维特征序列使用深度求精方法的求估计深度图,整个过程需要使用深度求精n+1次。深度求精包括三个部分:单应性变换、代价正则化、深度获取,每次深度求精输出的估计深度图上采样后作为下次深度求精的输入,如此循环进行深度求精的三个部分得到与原始图像尺度一致的估计深度图;
深度求精的三个部分如下:
一、单应性变换:单应性变换分为两个部分,获取深度数据和可微性单应。
(1)获取深度数据。对于第n组二维特征序列,将其复制成48个坐标值矩阵,用来做48次可微性单应。同时在深度取值范围内按照48等分,每等分内取中值,按48个中值进行深度遍历,因此长、宽两个维度的二维特征变成深度、长、宽三个维度的三维特征空间。由于等分使得遍历的深度值不精确,导致反转的过程中三维特征空间会存在空洞,因此采用双线性插值算法填充这些空洞。对于其余的二维特征序列,使用上一组求出的估计深度图Di+1(p),通过双线性插值的上采样方法求得长宽分别扩大2倍的深度图Di+1 ↑(p),Di+1 ↑(p)和L=i的图像序列的长宽相同。然后通过将Di+1 ↑(p)加上不同倍数的深度残差Δd=6.8的方式复制8张深度图。如公式(4):
Dm=Dinit+mΔd(m=-4,…,-1,1,…,4) (4)
设定深度间距为6.8,在深度图Dinit的邻域按照间距Δd复制出8张深度图,m为Δd的倍数。将8张深度图在通道上级联在一起作为深度数据,送入下一步可微性单应。
(2)可微性单应。可微性单应使用了多个视角的位置矩阵和内参矩阵,将目标图像的特征通过映射到参考图像所在的坐标系中获得目标图像的反转特征。
可微性单应如公式(5)所示
其中,Ko代表参考视角的内参矩阵,R0代表参考视角相机的外参矩阵。Kj和Rj代表其他视角的内参和外参,I为单位矩阵,t为世界原点到相机的位移矩阵。d为参考视角的每一个对应点的深度值,按照生成的初始深度数据。Hj(d)代表物点在深度值为d的设置下从参考视角到目标视角的变换。j为视角的序号。
和第n组二维特征序列不同,其余的二维特征序列的可微性单应变换处理的是上一组生成的估计深度图复制产生的深度数据,如后文中的公式(9)所描述。按照复制出的8个深度图将第i-1组图像序列的目标图像的二维特征序列反转到参考图像的二维特征所在的坐标系中,如公式(6):
其中i代表第i组图像序列,j代表目标图像的组号,d代表第j个目标图像对应的特征匹配点的深度值,Kj为该目标图像对应的目标视角的内参矩阵,Rj为目标视角的旋转矩阵,tj为目标视角的位移向量,(u,v,1)为参考图像的特征p的坐标,dp为该点p的深度值,mΔdp为点p设置的m个残差。
其中Cd为在深度值为d的情况下的三维方差特征,N为目标图像的数量。为第j-1个目标视角的特征映射到参考视角所在坐标系的特征。为参考视角的特征。j为图像序列的序号。最后将获取的三维方差特征输入到代价正则化部分。
二、代价正则化:三维方差特征送入代价正则化Unet,使用P3d和双向LSTM得到三维代价空间。正则化Unet编码器部分使用多个P3d模块,通过不断增加卷积核的输出通道,从而实现三维方差特征通道数的增加。如图5所示,P3d模块在首部使用1×1×1三维卷积,然后串联了一个3×1×1三维卷积和一个1×3×3三维卷积作为中间部分,在尾部使用1×1×1三维卷积。首尾两个1×1×1三维卷积可以调整输入通道和输出通道。P3d模块在尾部1×1×1三维卷积后添加了跳层连接,将输入和经过P3d处理的输出相加,得到最终的输出。P3d模块中的1×1×1三维卷积可以灵活的改变通道数了。1×3×3三维卷积和3×1×1三维卷积能减少3D卷积占用的显存,并且实现同样的效果。
双向LSTM由两个方向相反的LSTM模块并联构成,如图6所示。双向LSTM的输入是一个按照深度值排列的二维代价列表。首先在深度值维度切分解码器输出的三维代价空间获得多个二维代价,再将切分的结果存入列表中便得到了二维代价列表。LSTM模块每次读入第i个二维代价xi,并获取前一次生成的隐藏状态Si-1,生成本次的输出yi和本次的隐藏状态Si。LSTM在读入第一个二维代价时使用了初始隐藏状态,初始隐藏状态是一个和输入x0相同大小的全0二维矩阵S0。第一个LSTM模块按照深度值由小到大的顺序输入二维代价,顺序输出二维代价序列,再将顺序输出的二维代价序列合并为正向的三维代价空间。第二个LSTM模块按照深度值由大到小的顺序输入编码层得到的二维代价序列,再输出反向的二维代价序列,然后将该反向的二维代价序列按照深度方向颠倒顺序,最终合并变为正向的三维代价空间。将两个代价空间相加,得到两个方向上的三维代价空间的融合。
解码器部分使用3D反卷积将三维代价空间的尺度扩大,同时恢复细节信息,得到最终的三维代价空间。
三、深度获取:深度获取部分将代价正则化输出的三维代价空间转化为对应深度的概率,使用概率计算期望作为估计深度图。深度获取使用代价正则化得到的三维代价空间生成估计深度图。使用上一步正则化生成的三维代价空间输入到输出通道为1的卷积层中,得到通道为一的三维代价空间。对该三维代价空间的通道使用降维操作,将该三维代价空间的通道维度去除转成二维的表示形式。然后使用Softmax转化为深度的概率,使用深度平面对应的深度值和得到的概率求期望作为估计深度图,得到图像序列i的估计深度图Di(p)如公式(8):
其中,n为深度平面的序号,dn也就是对应深度平面所指的深度值,Pn(d)是通过dn计算出来的该点深度值为dn的概率,Di(p)就是得到的第i组图像序列的估计深度图。
如上面三个部分所描述,深度求精使用深度获取部分的第i组图像序列的估计深度图Di(p),用上采样的方法得到Di ↑(p),作为第i-1组单应性变换的输入,再次经过代价正则化和深度获取后得到更加精细、尺度更大的估计深度图Di-1(p)。不断循环上述的三个部分最终得到和原图大小相同,精度更高的估计深度图。
在训练中,神经网络的训练方式为使用n+1组尺度的图像序列的估计深度,每组图像序列中将估计深度和对应的ground truth深度图使用smoothl1误差函数求误差,将每组图像序列的误差求和从而得到总误差。根据总误差使用Adam优化器反向传播,从而更新网络参数。
smoothl1误差函数,如公式(9):
Di GT(p)为ground truth深度图,Di(p)为求得的估计深度图,i为循环的次数,每次循环都将求得的smoothl1误差函数求和最后反向传播指导训练。
Claims (6)
1.一种多视角深度获取方法,其特征在于:该方法包括:
图像输入:同一相机在多个位置获取多幅输入图像组成的图像序列,图像序列中图像分为一幅参考图像和多幅目标图像;图像序列通过下采样的方法得到n组不同尺度的图像序列;获取的原始图像组成的图像序列定义组数L=0,而下采样得到的n组图像序列按照下采样的次数定义组数L分别为1,2,…,n,两者总共n+1组图像序列;将这n+1组图像序列按照尺度由小到大的顺序送入特征提取部分;
特征提取:将图像输入部分获得的n+1组多尺度图像序列送入特征提取Unet提取特征;使用特征提取Unet对每一组图像序列提取特征,得到由图像序列中的多张图像获取的特征组成的二维特征序列,并且这n+1组二维特征序列和其对应的图像序列相比通道数增加,长和宽不变;然后按照L=n,n-1,…,0,的顺序将这n+1组二维特征序列送入深度求精;
深度求精:在获得特征提取部分提取的n+1组二维特征序列以后,按照L=n,n-1,…,0,的顺序分别对这n+1组二维特征序列使用深度求精的方法求估计深度图,整个过程需要重复n+1次;深度求精包括三个部分:单应性变换、代价正则化、深度获取;每次深度求精输出的估计深度图使用上采样后作为下次深度求精的输入,如此循环进行深度求精的三个部分得到与原始图像尺度一致的估计深度图;
深度求精的三个部分如下:
一、单应性变换:对特征提取获取的每一组二维特征序列中的多个目标图像的特征通过空间变换投射到参考图像所在的坐标系中获得反转的特征;然后使用目标图像的反转特征序列和参考图像的特征求方差,得到三维方差特征输出;单应性变换主要为以下两个部分:获取深度数据、可微性单应;
(1)获取深度数据:空间变换投射时需要深度数据;对于第n组二维特征序列,在深度范围内按照48等分进行深度值的离散化得到初始深度数据;而对于其余的二维特征序列,获取上一组的估计深度图后,使用上采样后再复制多组的策略构造深度数据;
(2)可微性单应:同一二维特征序列中,首先将多个目标图像的二维特征映射到参考图像所在的坐标系下;由于遍历获取的深度数据,映射后的目标图像的特征序列为三维特征序列;此三维特征序列和由参考图像的二维特征复制形成的三维特征计算方差,作为此图像序列对应的三维方差特征;
二、代价正则化:将单应性变换获得的L=n,…,0图像序列对应的三维方差特征送入代价正则化Unet结构获得三维代价空间;获取的三维代价空间和送入的三维方差特征相比长宽和通道数保持不变;
三、深度获取:深度获取部分将代价正则化输出的三维代价空间转化为对应深度的概率,使用概率计算期望得到估计深度图;
在训练中,神经网络的训练方式为使用n+1组尺度的图像序列的估计深度图,每组图像序列中将估计深度图和对应的ground truth深度图使用smoothl1误差函数求误差,将每组图像的误差求和从而得到总误差;根据总误差使用Adam优化器反向传播,从而更新方法参数。
2.根据权利要求1所述的一种多视角深度获取方法,其特征在于:所述图像输入部分,相机拍摄多视角图像时从多个角度拍摄;每个拍摄的间距不能大于30cm,并且不应有多幅同一角度重复拍摄的图像。
3.根据权利要求1所述的一种多视角深度获取方法,其特征在于:所述特征提取部分,特征提取Unet由编码器和解码器构成,编码器和解码器中使用卷积注意力CBAM串联在每一个卷积模块的尾部,并且在编码器和解码器对应层间加入了跳层连接;最终的输出按尺度分为n+1组16通道的二维特征序列。
4.根据权利要求1所述的一种多视角深度获取方法,其特征在于,所述深度求精的单应性变换部分:
(1)所述深度求精的单应性变换部分,其中的获取深度数据部分;对于第n组的二维特征序列,在进行单应性变换时,深度是未知的,因此需要生成初始的深度数据;生成初始的深度数据的方法是:在深度取值范围内48等分,每等分内取中值,对48个中值进行深度遍历;由于等分生成的深度不精确,导致反转的过程中特征空间会存在空洞,可以采用双线性插值算法填充这些空洞;其余n-1,…,0组二维特征序列进行空间映射时需要的深度数据由上一组的二维特征序列对应的深度获取部分的输出提供。
5.根据权利要求1所述的一种多视角深度获取方法,其特征在于:所述深度求精中第二部分,代价正则化Unet结构由编码器,双向LSTM,三维解码器构成;编码器由P3d组成;双向LSTM由两个方向相反的LSTM模块组成;三维解码器由三维反卷积组成;正则化Unet获取的三维代价量和原先大小保持不变。
6.根据权利要求1所述的一种多视角深度获取方法,其特征在于:所述深度求精中第三部分,深度获取,使用Softmax求出的概率和对应深度求期望得到估计深度图DL(p)。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111230844.1A CN113962858B (zh) | 2021-10-22 | 2021-10-22 | 一种多视角深度获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111230844.1A CN113962858B (zh) | 2021-10-22 | 2021-10-22 | 一种多视角深度获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113962858A true CN113962858A (zh) | 2022-01-21 |
CN113962858B CN113962858B (zh) | 2024-03-26 |
Family
ID=79466003
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111230844.1A Active CN113962858B (zh) | 2021-10-22 | 2021-10-22 | 一种多视角深度获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113962858B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486928A (zh) * | 2021-06-16 | 2021-10-08 | 武汉大学 | 一种基于有理多项式模型可微分张量表达的多视影像对齐方法 |
CN115131684A (zh) * | 2022-08-25 | 2022-09-30 | 成都国星宇航科技股份有限公司 | 基于卫星数据UNet网络模型的滑坡识别方法及装置 |
CN115147709A (zh) * | 2022-07-06 | 2022-10-04 | 西北工业大学 | 一种基于深度学习的水下目标三维重建方法 |
CN115457101A (zh) * | 2022-11-10 | 2022-12-09 | 武汉图科智能科技有限公司 | 面向无人机平台的边缘保持多视图深度估计及测距方法 |
CN117218089A (zh) * | 2023-09-18 | 2023-12-12 | 中南大学 | 一种沥青路面构造深度检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019174377A1 (zh) * | 2018-03-14 | 2019-09-19 | 大连理工大学 | 一种基于单目相机的三维场景稠密重建方法 |
CN111259945A (zh) * | 2020-01-10 | 2020-06-09 | 大连理工大学 | 引入注意力图谱的双目视差估计方法 |
CN111652966A (zh) * | 2020-05-11 | 2020-09-11 | 北京航空航天大学 | 一种基于无人机多视角的三维重建方法及装置 |
WO2021013334A1 (en) * | 2019-07-22 | 2021-01-28 | Toyota Motor Europe | Depth maps prediction system and training method for such a system |
CN112734915A (zh) * | 2021-01-19 | 2021-04-30 | 北京工业大学 | 一种基于深度学习的多视角立体视觉三维场景重建方法 |
-
2021
- 2021-10-22 CN CN202111230844.1A patent/CN113962858B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019174377A1 (zh) * | 2018-03-14 | 2019-09-19 | 大连理工大学 | 一种基于单目相机的三维场景稠密重建方法 |
WO2021013334A1 (en) * | 2019-07-22 | 2021-01-28 | Toyota Motor Europe | Depth maps prediction system and training method for such a system |
CN111259945A (zh) * | 2020-01-10 | 2020-06-09 | 大连理工大学 | 引入注意力图谱的双目视差估计方法 |
CN111652966A (zh) * | 2020-05-11 | 2020-09-11 | 北京航空航天大学 | 一种基于无人机多视角的三维重建方法及装置 |
CN112734915A (zh) * | 2021-01-19 | 2021-04-30 | 北京工业大学 | 一种基于深度学习的多视角立体视觉三维场景重建方法 |
Non-Patent Citations (1)
Title |
---|
梁煜;张金铭;张为;: "一种改进的卷积神经网络的室内深度估计方法", 天津大学学报(自然科学与工程技术版), no. 08, 2 June 2020 (2020-06-02) * |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113486928A (zh) * | 2021-06-16 | 2021-10-08 | 武汉大学 | 一种基于有理多项式模型可微分张量表达的多视影像对齐方法 |
CN113486928B (zh) * | 2021-06-16 | 2022-04-12 | 武汉大学 | 一种基于有理多项式模型可微分张量表达的多视影像对齐方法 |
CN115147709A (zh) * | 2022-07-06 | 2022-10-04 | 西北工业大学 | 一种基于深度学习的水下目标三维重建方法 |
CN115147709B (zh) * | 2022-07-06 | 2024-03-19 | 西北工业大学 | 一种基于深度学习的水下目标三维重建方法 |
CN115131684A (zh) * | 2022-08-25 | 2022-09-30 | 成都国星宇航科技股份有限公司 | 基于卫星数据UNet网络模型的滑坡识别方法及装置 |
CN115457101A (zh) * | 2022-11-10 | 2022-12-09 | 武汉图科智能科技有限公司 | 面向无人机平台的边缘保持多视图深度估计及测距方法 |
CN117218089A (zh) * | 2023-09-18 | 2023-12-12 | 中南大学 | 一种沥青路面构造深度检测方法 |
CN117218089B (zh) * | 2023-09-18 | 2024-04-19 | 中南大学 | 一种沥青路面构造深度检测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN113962858B (zh) | 2024-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111325794B (zh) | 一种基于深度卷积自编码器的视觉同时定位与地图构建方法 | |
CN113962858B (zh) | 一种多视角深度获取方法 | |
CN108510573B (zh) | 一种基于深度学习的多视点人脸三维模型重建的方法 | |
US11763433B2 (en) | Depth image generation method and device | |
CN110009674B (zh) | 基于无监督深度学习的单目图像景深实时计算方法 | |
CN108921926B (zh) | 一种基于单张图像的端到端三维人脸重建方法 | |
CN113762358A (zh) | 一种基于相对深度训练的半监督学习三维重建方法 | |
CN112967373B (zh) | 一种基于非线性3dmm的人脸图像特征编码方法 | |
WO2022198684A1 (en) | Methods and systems for training quantized neural radiance field | |
CN112767467A (zh) | 一种基于自监督深度学习的双图深度估计方法 | |
CN114996814A (zh) | 一种基于深度学习与三维重建的家具设计系统 | |
CN115187638A (zh) | 一种基于光流遮罩的无监督单目深度估计方法 | |
CN113963117A (zh) | 一种基于可变卷积深度网络的多视图三维重建方法及装置 | |
CN112509021A (zh) | 一种基于注意力机制的视差优化方法 | |
CN114677479A (zh) | 一种基于深度学习的自然景观多视图三维重建方法 | |
CN113284251A (zh) | 一种自适应视角的级联网络三维重建方法及系统 | |
CN116993826A (zh) | 一种基于局部空间聚合神经辐射场的场景新视图生成方法 | |
CN116563682A (zh) | 一种基于深度霍夫网络的注意力方案和条带卷积语义线检测的方法 | |
Nakashima et al. | Learning to drop points for lidar scan synthesis | |
CN116758219A (zh) | 基于神经网络的区域感知多视角立体匹配三维重建方法 | |
CN111696167A (zh) | 自范例学习引导的单张影像超分辨率重构方法 | |
CN116310228A (zh) | 一种针对遥感场景的表面重建与新视图合成方法 | |
CN112541972A (zh) | 一种视点图像处理方法及相关设备 | |
CN115482368A (zh) | 一种利用语义图进行三维场景编辑的方法 | |
CN114708315A (zh) | 一种基于深度虚拟对应点生成的点云配准方法及系统 |
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 |