基于非对称深度卷积神经网络的多视角深度预测方法
阅读说明:本技术 基于非对称深度卷积神经网络的多视角深度预测方法 (Multi-view depth prediction method based on asymmetric depth convolution neural network ) 是由 裴炤 田龙伟 汶得强 张艳宁 马苗 汪西莉 陈昱莅 武杰 杨红红 于 2019-10-18 设计创作,主要内容包括:本公开揭示了一种基于非对称深度卷积神经网络的多视角深度预测方法,包括:构建一种非对称深度卷积神经网络;结合参考图像,将相邻图像构造为平面扫描卷;在现有数据集上预先训练第一神经网络;使用第一神经网络的模型参数进一步初始化第二神经网络这一非对称深度卷积神经网络;最终通过第二神经网络完成多视角深度预测。本公开允许输入任意数量和任意分辨率的不同视角的图像,减少了繁琐的手工操作,也减少限制约束,从而实现了对多目图像所产生的不同视角图像的深度的高精度预测。(The invention discloses a multi-view depth prediction method based on an asymmetric depth convolution neural network, which comprises the following steps: constructing an asymmetric deep convolutional neural network; constructing adjacent images into a plane scanning volume by combining the reference images; pre-training a first neural network on an existing data set; further initializing the asymmetric deep convolutional neural network of the second neural network using the model parameters of the first neural network; and finally, completing multi-view depth prediction through a second neural network. The method and the device allow the input of any number of images with any resolution and different view angles, reduce complicated manual operation and limit constraint, and therefore achieve high-precision prediction of the depth of the images with different view angles generated by the multi-view image.)
技术领域
本公开属于计算机视觉技术领域,具体涉及基于非对称深度卷积神经网络的多视角深度预测方法。
背景技术
挖掘图像所包含的深度信息可以生成准确的深度图,目前深度预测研究已应用于3D重建领域并取得了显著成果。与深度学习方法相比,传统的图像深度预测方法需要大量的资源和大量繁琐的手工操作,如立体匹配和手工标记等。目前,基于深度学习的图像深度预测方法主要利用单目图像进行预测。而基于深度学习的多视角深度预测方法不仅可以减少繁琐的人工操作,而且可以减少限制条件。特别是对于结构简单、没有结构等细节场景的预测,比传统方法更准确、更稳定。将卷积神经网络应用于视觉重建问题,早期的工作主要是集中在利用图像的相似性进行立体匹配,最近的研究使用端到端的学习进行立体重建,然而,这些方法对相机的相对位姿或输入图像的数量有限制,或者会产生粗略的体积重构。
发明内容
为了解决上述技术问题,本公开揭示了一种基于非对称深度卷积神经网络的多视角深度预测方法,包括如下步骤:
S100、定义第一图像序列,其中,所述第一图像序列具备如下特征:所述第一图像序列不限制其中的图像数量、所述图像序列中的各个图像的分辨率是否相同不受限制、所述图像序列中的图像至少包括针对某一确定场景的多张不同视角的图像;
S200、任意选取所述第一图像序列中的一张图像作为所述确定场景中的参考图像;
S300、计算出图像序列中其余图像与参考图像的重叠率,并选取重叠率最高的N张作为所有的相邻图像,N最小能够取1;然后,对于N张相邻图像中的每一张相邻图像,根据参考图像对相邻图像在每个视差级别
上进行WarpAffine 仿射变换,并将仿射变换后的相邻图像存储在一个平面扫描卷中,以此构造出包括有张仿射变换后的相邻图像的平面扫描卷;S400、构建第一神经网络,所述第一神经网络包括由前向后依次连接的:特征融合模块、第一视差预测核心模块、特征聚合模块,其中:
特征融合模块,用于将参考图像和所述平面扫描卷中的仿射变换后的相邻图像的每一视差级别的特征融合并输出融合后的特征图,其中,所述特征融合模块包括由前向后依次连接的四个5*5卷积层;
第一视差预测核心模块,用于根据前一个模块所输出的融合后的特征图进行特征提取和对视差信息进行预测,其中,所述第一视差预测核心模块包括由前向后依次连接的两个卷积层,其中一个卷积层用于特征提取,另一个卷积层用于对视差信息进行预测以预测每个视差级别上的信息;
特征聚合模块,用于利用最大池化对前一个模块所预测的每个视差级别上的信息进行聚合以得到深度图,其中,所述特征聚合模块包括依次连接的一个池化层和两个卷积层,经过所述两个卷积层生成聚合后的特征图,所述聚合后的特征图经过全连通条件随机场优化得到1通道的视差图,求倒数得到所述确定场景中的所述参考图像的深度图;
S500、对于所述第一神经网络,将学***面扫描卷,并以该参考图像、平面扫描卷作为输入以预先训练所述第一神经网络;训练迭代320000次后,保存所述第一神经网络的模型参数;其中,该步骤使用自适应时刻估计法(Adam)迭代训练所述第一神经网络并保存模型参数,并且:
训练第一神经网络所采用的损失函数的公式为:
其中,n为视差级别数目,y为真实值相对应的视差级别,x为一个视差级别的一组预测值;
S600、构建第二神经网络,所述第二神经网络为所述非对称深度卷积神经网络;并且,所述第二神经网络:原样采用第一神经网络中的特征融合模块和特征聚合模块,但采用第二视差预测核心模块替换所述第一神经网络中的第一视差预测核心模块,以此形成由前向后依次连接的:特征融合模块、第二视差预测核心模块、特征聚合模块,并且:
其中,
所述第二视差预测核心模块由前向后依次为:第1至第6特征提取卷积块,第1至第5视差预测卷积块,且所述6个特征提取卷积块与5个视差预测卷积块之间的非对称使得所述第二神经网络构造为非对称深度卷积神经网络,其中,所述第二视差预测核心模块通过第1至第6特征提取卷积块进行特征提取,通过第 1至第5视差预测卷积块对视差信息进行预测;
S700、对于所述第二神经网络,将学***面扫描卷,并以该参考图像、平面扫描卷作为输入以用于训练所述第二神经网络,训练迭代 320000次后,保存所述第二神经网络的模型参数;其中,该步骤使用自适应时刻估计法(Adam)迭代训练所述第二神经网络并保存模型参数,并且:
训练第二神经网络所采用的损失函数的公式为:
其中,n为视差级别数目,y为真实值相对应的视差级别,x为一个视差级别的一组预测值;
S800、以待预测的另外某一确定场景的多张不同视角的图像作为第一图像序列,然后分别按照上述步骤S200、S300得到对应的参考图像、平面扫描卷,并以该参考图像、平面扫描卷作为输入,通过步骤S700训练所得的第二神经网络,求得该确定场景中的所述参考图像的深度图。
以此,本公开实现了一种不限制图像数量,也不限制图像分辨率的多视角深度预测方法。这使得本公开能够使用一个深度神经网络模型实现场景的多视角深度预测,提升了深度预测的准确性和鲁棒性,获得较为清晰的深度图。即使图像是RGB图像,也不受限制,也就是说,本公开能够用于拟合RGB图像和视差图之间的关系,然后将拟合出来的视差图转换为深度图。
此外,本公开所述的非对称结构卷积神经网络中的每一卷积层都可以进一步优先使用非线性激活函数,利用非线性的激活函数给本公开所述的非对称卷积神经网络引入非线性,使其拥有拟合非线性的能力。例如拟合RGB图像和视差图之间的关系,然后将拟合出来的视差图转换为深度图。
附图说明
后文将参照附图以示例性而非限制性的方式详细描述本申请的一些具体实施例。附图中相同的附图标记标示了相同或类似的部件或部分。本领域技术人员应该理解,这些附图未必是按比例绘制的。附图中:
图1方法流程图;
图2本发明使用的深度卷积神经网络结构图;
图3a、图3b为测试结果效果图,其中,图3a为原图,图3b为深度图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例中的附图1至图3a、图3b,对本公开实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。基于本公开中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
需要说明的是,本公开的说明书和权利要求书及附图中的术语,即使记载有“第一”、“第二”等,其仅仅是用于区别一些对象而已,而并非用于描述特定的顺序或先后次序。应该理解这样使用的术语在适当情况下可以互换,以便这里描述的本公开的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本公开的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
此外,本公开所称的“由前向后”遵循本领域中前向传播的特点。
在一个实施例中,本公开揭示了一种基于非对称深度卷积神经网络的多视角深度预测方法,包括如下步骤:
S100、定义第一图像序列,其中,所述第一图像序列具备如下特征:所述第一图像序列不限制其中的图像数量、所述图像序列中的各个图像的分辨率是否相同不受限制、所述图像序列中的图像至少包括针对某一确定场景的多张不同视角的图像;
S200、任意选取所述第一图像序列中的一张图像作为所述确定场景中的参考图像;
S300、计算出图像序列中其余图像与参考图像的重叠率,并选取重叠率最高的N张作为所有的相邻图像,N最小能够取1;然后,对于N张相邻图像中的每一张相邻图像,根据参考图像对相邻图像在每个视差级别
上进行 WarpAffine仿射变换,并将仿射变换后的相邻图像存储在一个平面扫描卷中,以此构造出包括有张仿射变换后的相邻图像的平面扫描卷;S400、构建第一神经网络,所述第一神经网络包括由前向后依次连接的:特征融合模块、第一视差预测核心模块、特征聚合模块,其中:
特征融合模块,用于将参考图像和所述平面扫描卷中的仿射变换后的相邻图像的每一视差级别的特征融合并输出融合后的特征图,其中,所述特征融合模块包括由前向后依次连接的四个5*5卷积层;
第一视差预测核心模块,用于根据前一个模块所输出的融合后的特征图进行特征提取和对视差信息进行预测,其中,所述第一视差预测核心模块包括由前向后依次连接的两个卷积层,其中一个卷积层用于特征提取,另一个卷积层用于对视差信息进行预测以预测每个视差级别上的信息;
特征聚合模块,用于利用最大池化对前一个模块所预测的每个视差级别上的信息进行聚合以得到深度图,其中,所述特征聚合模块包括依次连接的一个池化层和两个卷积层,经过所述两个卷积层生成聚合后的特征图,所述聚合后的特征图经过全连通条件随机场优化得到1通道的视差图,求倒数得到所述确定场景中的所述参考图像的深度图;
S500、对于所述第一神经网络,将学***面扫描卷,并以该参考图像、平面扫描卷作为输入以预先训练所述第一神经网络;训练迭代320000次后,保存所述第一神经网络的模型参数;其中,该步骤使用自适应时刻估计法(Adam)迭代训练所述第一神经网络并保存模型参数,并且:
训练第一神经网络所采用的损失函数的公式为:
其中,n为视差级别数目,y为真实值相对应的视差级别,x为一个视差级别的一组预测值;
S600、构建第二神经网络,所述第二神经网络为所述非对称深度卷积神经网络;并且,所述第二神经网络:原样采用第一神经网络中的特征融合模块和特征聚合模块,但采用第二视差预测核心模块替换所述第一神经网络中的第一视差预测核心模块,以此形成由前向后依次连接的:特征融合模块、第二视差预测核心模块、特征聚合模块,并且:
其中,
所述第二视差预测核心模块由前向后依次为:第1至第6特征提取卷积块,第1至第5视差预测卷积块,且所述6个特征提取卷积块与5个视差预测卷积块之间的非对称使得所述第二神经网络构造为非对称深度卷积神经网络,其中,所述第二视差预测核心模块通过第1至第6特征提取卷积块进行特征提取,通过第 1至第5视差预测卷积块对视差信息进行预测;
S700、对于所述第二神经网络,将学***面扫描卷,并以该参考图像、平面扫描卷作为输入以用于训练所述第二神经网络,训练迭代320000 次后,保存所述第二神经网络的模型参数;其中,该步骤使用自适应时刻估计法 (Adam)迭代训练所述第二神经网络并保存模型参数,并且:
训练第二神经网络所采用的损失函数的公式为:
其中,n为视差级别数目,y为真实值相对应的视差级别,x为一个视差级别的一组预测值;
S800、以待预测的另外某一确定场景的多张不同视角的图像作为第一图像序列,然后分别按照上述步骤S200、S300得到对应的参考图像、平面扫描卷,并以该参考图像、平面扫描卷作为输入,通过步骤S700训练所得的第二神经网络,求得该确定场景中的所述参考图像的深度图。
至此,能够理解,当第二神经网络作为本方法的关键被训练得到后,其自然可以用于解决实际的待预测的另外某一确定场景中相关的深度预测问题。需要说明的是,使用自适应时刻估计法可以使得本实施例在神经网络模型训练优化过程中通过让每个参数获得自适应的学习率,这是为了达到优化质量和速度的双重提升。所述损失函数则用于优化模型的输出深度图,其涉及真实视差级别的概率。
在另一个实施例中,其中,所述步骤S200中的视差级别通过如下方式确定:
将所述第一图像序列输入三维重建COLMAP系统,利用三维重建COLMAP系统分别估计相机姿态和稀疏重建模型中各个特征之间的距离,最大的一个即为最大视差,以最大视差作为最高视差级别,并将最大视差等分,每一等份为一个视差级别其中,
所述稀疏重建模型是三维重建COLMAP系统根据其所接收的图像序列所包含的颜色和深度信息重建的点云模型;
所述各个特征则是所述点云模型中捕捉到的物体的特征,其通过不同深度下的物体所对应的点云来表征。
就该实施例而言,其给出了视差级别的一种确定方式,其利用了三维重建 COLMAP系统。能够理解,也可以采取其他合适的方式确定视差级别。
在另一个实施例中,其中,所述步骤S600中的第二神经网络还包括:
第1至第3视差增强卷积块;
所述第二神经网络还通过第1至第3视差增强卷积块分别作用于第3至第5 视差预测卷积块,以使得空间特征加倍并优化最终输出的预测结果:预测的每个视差级别上的信息。
就该实施例而言,视差增强卷积块能够让空间特征加倍,优化预测结果。
在另一个实施例中,其中:
对于所述特征融合模块,其中的四个卷积层输出的特征图的通道数分别为: 64,96,32,4;
对于所述特征聚合模块,所述聚合后的特征图的通道数分别为400,100,所述特征聚合模块的两个卷积层最终生成100通道的聚合后的特征图。
能够理解,这是对于有关通道的具体限定,显而易见的,本公开并不排斥其他的合理、可行的通道的具体限定。
在另一个实施例中,其中:
所述第一数据集、第二数据集和第三数据集分别为ImageNet,DeMoN和 MVS-SYNTH数据集。
需要说明的是,使用公开数据集DeMoN(其中包括一系列真实场景数据集 SUN3D,RGB-D SLAM,CITYWALL和ACHTECK-TURM和一个合成数据集SCENES11)和 MVS-SYNTH训练所述神经网络,根源在于:DeMoN数据集包括上万个真实室内室外场景,包括走廊,办公室,书房,图书馆,仓库,建筑物,公园等等,每个场景包括不同数量,不同分辨率的多张图像;MVS-SYNTH数据集是从游戏场景中截取的,包含120个场景,每个场景包含100张分辨率为1920*1080的图像,当其用于本公开时,通过改变分辨率为1280*720和960*540进行数据增强,使合成场景数据扩大至3倍,也能得到不同分辨率的图像。能够理解,优选的,每个场景中不同视角的图像构成一个图像序列。
在另一个实施例中,其中:
所述第二数据集包括如下两类数据集中的任一或其组合:真实数据集、合成数据集;
第三数据集为针对第二数据集的合成数据集。
对于该实施例而言,就数据集而言,真实场景的数据集包含测量误差,而合成数据集有不真实的外观,并且不能像真实图像一样表现出某些特征,例如光照、景深等。因此合成数据集可以作为真实数据集的一个补充。例如后文提到的测试情况,测试集为ETH3D数据集和自己拍摄的10组室外场景数据,ETH3D包括13 组真实的室内室外场景和通过高精度激光扫面仪获得的图像深度图。
在另一个实施例中,其中:
对于第二视差预测核心模块,其中,第1和第2特征提取卷积块均由:由前向后的、依次连接的第一5*5卷积层、第二5*5卷积层构成,其中第2特征提取卷积块的第一个卷积层步长为2,第3至第6特征提取卷积块均由:由前向后的、依次连接的第一3*3卷积层、第二3*3卷积层构成,其中第一个卷积层步长为2。
在另一个实施例中,其中:
对于第二视差预测核心模块,其中,第1至第5视差预测卷积块均由:由前向后的、依次连接的一个上采样层、第一3*3卷积层、第二3*3卷积层构成。
在另一个实施例中,其中:
对于第二视差预测核心模块,其中,第1至第3视差增强卷积块均由:由前向后的、依次连接的一个3*3的卷积层和一个上采样层构成,并且:
所述第1视差增强卷积块中的卷积层的输入来源于第2视差预测卷积块中的第二3*3卷积层的输出;
所述第1视差增强卷积块中的上采样层则进一步输出至第3视差预测卷积块中的第二3*3卷积层;
所述第2视差增强卷积块中的卷积层的输入来源于第3视差预测卷积块中的第二3*3卷积层的输出;
所述第2视差增强卷积块中的上采样层则进一步输出至第4视差预测卷积块中的第二3*3卷积层;
所述第3视差增强卷积块中的卷积层的输入来源于第4视差预测卷积块中的第二3*3卷积层的输出;
所述第3视差增强卷积块中的上采样层则进一步输出至第5视差预测卷积块中的第二3*3卷积层。
在另一个实施例中,其中:
第1至第6特征提取卷积块输出的特征图的通道数分别为:600,800,1000, 1000,1000,1000;
第1至第5视差预测卷积块输出的特征图通道数分别为:1000,1000,800, 600,800;
第1至第3视差增强卷积块输出的特征图的通道数分别为:100,100,100;
并且,
在输出相同大小特征图的特征提取卷积块和视差预测卷积块之间有跳跃连接结构,把特征提取卷积块的结构和视差预测的结果在通道维度上拼接在一起,包括:
第1特征提取卷积块与第5视差预测卷积块之间有跳跃连接结构;
第2特征提取卷积块与第4视差预测卷积块之间有跳跃连接结构;
第3特征提取卷积块与第3视差预测卷积块之间有跳跃连接结构;
第4特征提取卷积块与第2视差预测卷积块之间有跳跃连接结构;
第5特征提取卷积块与第1视差预测卷积块之间有跳跃连接结构。
需要说明的是,跳跃连接结构能够充分利用不同尺度的空间特征,改善预测结果。
在本公开中,所有卷积层的非线性激活函数优先采用缩放指数线性单元激活函数。这是因为,对于本公开所要解决的多视角深度预测问题,发明人发现:采用缩放指数线性单元激活函数能够防止过拟合,相比其他激活函数而言,能够解决其他激活函数进入非线性饱和区带来的梯度弥散问题。
发明人对本公开的实施例进行测试的情况如下:
本发明以英伟达GPU作为计算平台,使用PyTorch深度学***面扫描卷。
按照图1所示流程,使用如图2所示的网络结构,效果如图3a,图3b所示。实验环境为:显卡:NVIDIA TITAN XP,PyTorch:0.3.1版本,使用ETH3D数据集进行测试并与传统的算法以及基于深度网络的算法进行比较。我们用以下评估方法评估本发明的结果,三个参数的计算结果越小,说明网络的预测精度越高,预测能力越强:
其中,di为预测的深度值,
表示真实的深度值,L1-inv表示预测值和真实值之间的L1距离。 L1-rel表示预测值和真实值之间的相对误差。SC-inv表示预测值和真实值的尺度不变误差。
结果对比:
结合附图能够发现,本公开所揭示的方法对于天空,树枝,玻璃等物体具有更高的准确性和鲁棒性,增强了可扩展性,显著改善了深度预测性能,取得了非常不错的技术效果。
以上仅为本公开的优选实施例而已,并不用于限制本公开,对于本领域的技术人员来说,本公开可以有各种更改和变化。凡在本公开的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本公开的保护范围之内。
- 上一篇:一种医用注射器针头装配设备
- 下一篇:基于机器视觉的牛体尺测量方法