CN109461177B - 一种基于神经网络的单目图像深度预测方法 - Google Patents
一种基于神经网络的单目图像深度预测方法 Download PDFInfo
- Publication number
- CN109461177B CN109461177B CN201811147330.8A CN201811147330A CN109461177B CN 109461177 B CN109461177 B CN 109461177B CN 201811147330 A CN201811147330 A CN 201811147330A CN 109461177 B CN109461177 B CN 109461177B
- Authority
- CN
- China
- Prior art keywords
- neural network
- layer
- width
- height
- input
- 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.)
- Active
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/50—Depth or shape recovery
-
- 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
-
- 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]
Abstract
本发明公开了一种基于神经网络的单目图像深度预测方法,其构建包括输入层、隐层和输出层的神经网络,隐层包括编码和解码网络框架,编码网络框架包括5个神经网络块、1个推理层和1个连接层,第1个和第2个神经网络块均由2个卷积层和1个最大池化层组成、第3个至第5个神经网络块均由3个卷积层和1个最大池化层组成、推理层包括2个带孔卷积神经网络,解码网络框架包括5个神经网络块、5个连接层、4个独立双线性上采样层,每个神经网络块由1个卷积层和1个双线性上采样层组成;将训练集中的单目图像输入到神经网络中进行训练;测试时将预测的单目图像输入到神经网络模型中进行预测,得到预测深度图像;优点是预测精度高,计算复杂度低。
Description
技术领域
本发明涉及一种图像深度预测技术,尤其是涉及一种基于神经网络的单目图像深度预测方法。
背景技术
随着机器学习的迅速发展,机器模仿人类从图像中一定程度上估计物体距离远近已成为可能,即机器能在一定程度上对单张图像进行深度预测并获得深度图。深度图在三维重建、机器人导航等领域应用较广;同时,深度图由于提供了物体远近的信息,有助于检测、分割等计算机视觉领域。深度图当前主要来源于不同型号的深度相机,但是深度相机因价格昂贵、不易携带等缺点应用具有局限性;而利用单目视觉提取的深度信息成本较低,已受到关注。自2014年,深度学习首次应用于单目图像深度预测,且获得了较好的预测结果。由数据驱动的深度学习方法在单目视觉深度预测领域发展较快。相较于原始的通过人工设计的手工特征提取图像的深度特性,深度学习方法由于通过数据提取特征,因此更加客观可靠。2014年,Eigen等人首次提出多尺度神经网络的方式,通过对图像进行粗糙-精细两个尺度的特征提取,通过粗糙尺度获得低分辨率粗糙的网络框架,并通过精细尺度优化;2016年,Laina I等人提出全卷积残差网络(Fully Convolutional Residual Networks,FCRN)网络框架,利用Resnet网络框架强大的特征提取能力进行特征提取,并通过变形的卷积替代反卷积过程加快了运算速度;2017年,Xiaogang Wang等通过加入条件随机场(Conditional Random Field,CRF)改善预测的深度图,并获得了较好的结果。但是,上述方法并没有充分考虑全局和局部特征,因此在深度预测中精度上仍然有提升的空间。
发明内容
本发明所要解决的技术问题是提供一种基于神经网络的单目图像深度预测方法,其预测精度高,且计算复杂度低。
本发明解决上述技术问题所采用的技术方案为:一种基于神经网络的单目图像深度预测方法,其特征在于包括训练阶段和测试阶段两个过程;
所述的训练阶段过程的具体步骤为:
步骤1_1:选取Q幅原始的单目图像及每幅原始的单目图像对应的真实深度图像,并构成训练集,将训练集中的第q幅原始的单目图像记为{Iq(i,j)|1≤i≤W,1≤j≤H},将训练集中与{Iq(i,j)|1≤i≤W,1≤j≤H}对应的真实深度图像记为其中,Q为正整数,Q≥200,q为正整数,1≤q≤Q,1≤i≤W,1≤j≤H,W表示{Iq(i,j)|1≤i≤W,1≤j≤H}和的宽度,H表示{Iq(i,j)|1≤i≤W,1≤j≤H}和的高度,Iq(i,j)表示{Iq(i,j)|1≤i≤W,1≤j≤H}中坐标位置为(i,j)的像素点的像素值,表示中坐标位置为(i,j)的像素点的像素值;
步骤1_2:构建神经网络:神经网络包括输入层、隐层和输出层;隐层包括编码网络框架和解码网络框架;
对于输入层,输入层的输入端接收一幅原始输入图像,输入层的输出端输出原始输入图像给隐层;其中,要求输入层的输入端接收的原始输入图像的宽度为W、高度为H;
对于编码网络框架,其包括5个神经网络块、1个推理层和1个连接层,第1个神经网络块由依次设置的2个卷积层和1个最大池化层组成,第2个神经网络块由依次设置的2个卷积层和1个最大池化层组成,第3个神经网络块由依次设置的3个卷积层和1个最大池化层组成,第4个神经网络块由依次设置的3个卷积层和1个最大池化层组成,第5个神经网络块由依次设置的3个卷积层和1个最大池化层组成,推理层由依次设置的2个带孔卷积神经网络构成,其中,每个神经网络块中的每个卷积层的卷积核尺寸为3×3、激活函数采用线性整流函数,每个神经网络块中的每个最大池化层的步长为2,每个带孔卷积神经网络中的卷积层的卷积核尺寸为3×3、激活函数采用线性整流函数,每个带孔卷积神经网络的膨胀率为2;
对于编码网络框架,第1个神经网络块的输入端接收输入层的输出端输出的原始输入图像,第1个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为A1,其中,K=64,A1中的每幅特征图的宽度为高度为符号为向下取整运算符号;第2个神经网络块的输入端接收A1中的所有特征图,第2个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为A2,其中,K=64,A2中的每幅特征图的宽度为高度为第3个神经网络块的输入端接收A2中的所有特征图,第3个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A3,其中,K'=128,A3中的每幅特征图的宽度为高度为第4个神经网络块的输入端接收A3中的所有特征图,第4个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A4,其中,K'=128,A4中的每幅特征图的宽度为高度为第5个神经网络块的输入端接收A4中的所有特征图,第5个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A5,其中,K'=128,A5中的每幅特征图的宽度为高度为推理层的输入端接收A5中的所有特征图,推理层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为B,其中,K'=128,B中的每幅特征图的宽度为高度为连接层的输入端接收A5中的所有特征图和B中的所有特征图,连接层通过Concatence方式连接A5和B得到集合C,连接层的输出端输出C,其中,C中的每幅特征图的宽度为高度为C中包含的特征图的总幅数为K'+K';
对于解码网络框架,其包括5个神经网络块、5个连接层、4个独立的双线性上采样层,每个神经网络块由依次设置的1个卷积层和1个双线性上采样层组成,其中,每个神经网络块中的卷积层的卷积核尺寸为3×3、激活函数采用线性整流函数,第1个神经网络块中的双线性上采样层的目标的宽度设置为与A4中的特征图的宽度一致、高度设置为与A4中的特征图的高度一致,第2个神经网络块中的双线性上采样层的目标的宽度设置为与A3中的特征图的宽度一致、高度设置为与A3中的特征图的高度一致,第3个神经网络块中的双线性上采样层的目标的宽度设置为与A2中的特征图的宽度一致、高度设置为与A2中的特征图的高度一致,第4个神经网络块中的双线性上采样层的目标的宽度设置为与A1中的特征图的宽度一致、高度设置为与A1中的特征图的高度一致,第5个神经网络块中的双线性上采样层的目标的宽度设置为与原始输入图像的宽度一致、高度设置为与原始输入图像的高度一致,每个独立的双线性上采样层的目标的宽度设置为与原始输入图像的宽度一致、高度设置为与原始输入图像的高度一致;
对于解码网络框架,第1个神经网络块的输入端接收C中的所有特征图,第1个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为C1,其中,K'=128,C1中的每幅特征图的宽度为高度为第1个连接层的输入端接收A4中的所有特征图和C1中的所有特征图,第1个连接层通过Concatence方式连接A4和C1得到集合C2,第1个连接层的输出端输出C2,其中,C2中的每幅特征图的宽度为高度为C2中包含的特征图的总幅数为K'+K';第2个神经网络块的输入端接收C2中的所有特征图,第2个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为C3,其中,K'=128,C3中的每幅特征图的宽度为高度为第2个连接层的输入端接收A3中的所有特征图和C3中的所有特征图,第2个连接层通过Concatence方式连接A3和C3得到集合C4,第2个连接层的输出端输出C4,其中,C4中的每幅特征图的宽度为高度为C4中包含的特征图的总幅数为K'+K';第3个神经网络块的输入端接收C4中的所有特征图,第3个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C5,其中,K=64,C5中的每幅特征图的宽度为高度为第3个连接层的输入端接收A2中的所有特征图和C5中的所有特征图,第3个连接层通过Concatence方式连接A2和C5得到集合C6,第3个连接层的输出端输出C6,其中,C6中的每幅特征图的宽度为高度为C6中包含的特征图的总幅数为K+K;第4个神经网络块的输入端接收C6中的所有特征图,第4个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C7,其中,K=64,C7中的每幅特征图的宽度为高度为第4个连接层的输入端接收A1中的所有特征图和C7中的所有特征图,第4个连接层通过Concatence方式连接A1和C7得到集合C8,第4个连接层的输出端输出C8,其中,C8中的每幅特征图的宽度为高度为C8中包含的特征图的总幅数为K+K;第5个神经网络块的输入端接收C8中的所有特征图,第5个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C9,其中,K=64,C9中的每幅特征图的宽度为W、高度为H;第1个独立的双线性上采样层的输入端接收C1中的所有特征图,第1个独立的双线性上采样层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为D1,其中,K'=128,D1中的每幅特征图的宽度为W、高度为H;第2个独立的双线性上采样层的输入端接收C3中的所有特征图,第2个独立的双线性上采样层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为D2,其中,K'=128,D2中的每幅特征图的宽度为W、高度为H;第3个独立的双线性上采样层的输入端接收C5中的所有特征图,第3个独立的双线性上采样层的输出端输出K幅特征图,将K幅特征图构成的集合记为D3,其中,K=64,D3中的每幅特征图的宽度为W、高度为H;第4个独立的双线性上采样层的输入端接收C7中的所有特征图,第4个独立的双线性上采样层的输出端输出K幅特征图,将K幅特征图构成的集合记为D4,其中,K=64,D4中的每幅特征图的宽度为W、高度为H;第5个连接层的输入端接收C9中的所有特征图和D1,D2,D3,D4中的所有特征图,第5个连接层通过Concatence方式连接C9和D1,D2,D3,D4得到集合E,第5个连接层的输出端输出E,其中,E中的每幅特征图的宽度为W、高度为H,E中包含的特征图的总幅数为K+K'+K'+K+K;
对于输出层,其包括1个卷积层,其中,卷积层的卷积核尺寸为3×3、激活函数采用线性整流函数;输出层的输入端接收E中的所有特征图,输出层的输出端输出一幅原始输入图像对应的预测深度图像;
步骤1_3:将训练集中的每幅原始的单目图像作为原始输入图像,输入到神经网络中进行训练,得到训练集中的每幅原始的单目图像对应的预测深度图像,将{Iq(i,j)|1≤i≤W,1≤j≤H}对应的预测深度图像记为其中,表示中坐标位置为(i,j)的像素点的像素值;
步骤1_5:重复执行步骤1_3和步骤1_4共V次,得到训练好的神经网络模型,并共得到Q×V个损失函数值;然后从Q×V个损失函数值中找出值最小的损失函数值;接着将值最小的损失函数值对应的权值矢量和偏置项对应作为训练好的神经网络模型的最优权值矢量和最优偏置项,对应记为Wbest和bbest;其中,V>1;
所述的测试阶段过程的具体步骤为:
与现有技术相比,本发明的优点在于:
1)针对当前深度预测的方法主要利用了小尺寸下的特征信息,对于大尺寸下的特征信息利用不足的缺点,本发明方法提出了一种新的神经网络结构,该神经网络结构采用5个神经网络块和两个带孔卷积层构成编码网络框架用于提取小尺寸下的特征信息,采用解码网络框架将图像逐渐恢复到原始单目图像的尺寸,在将图像不断变大的同时利用卷积神经网络提取特征,有效利用了大尺寸下获得的特征信息,通过两次融合的操作将编码网络框架阶段的特征信息融合入解码网络框架中,有利于边缘特征的提取和降低深度预测的误差。
2)本发明方法仅利用了相机中仿照左眼或右眼获得的单目视觉的原始单目图像及其对应的真实深度图像,即只利用了单目视觉的信息,相较于双目降低了计算成本,计算复杂度低。
3)本发明方法在编码网络框架的推理层利用了带孔卷积的方式增强了感受野,有利于生成更精确的深度图像,利用带孔卷积也减少了计算参数量,节约了计算成本。
附图说明
图1为本发明方法的总体实现框图。
具体实施方式
以下结合附图实施例对本发明作进一步详细描述。
本发明提出的一种基于神经网络的单目图像深度预测方法,其总体实现框图如图1所示,其包括训练阶段和测试阶段两个过程;
所述的训练阶段过程的具体步骤为:
步骤1_1:选取Q幅原始的单目图像及每幅原始的单目图像对应的真实深度图像,并构成训练集,将训练集中的第q幅原始的单目图像记为{Iq(i,j)|1≤i≤W,1≤j≤H},将训练集中与{Iq(i,j)|1≤i≤W,1≤j≤H}对应的真实深度图像记为其中,Q为正整数,Q≥200,如取Q=4000,q为正整数,1≤q≤Q,1≤i≤W,1≤j≤H,W表示{Iq(i,j)|1≤i≤W,1≤j≤H}和的宽度,H表示{Iq(i,j)|1≤i≤W,1≤j≤H}和的高度,Iq(i,j)表示{Iq(i,j)|1≤i≤W,1≤j≤H}中坐标位置为(i,j)的像素点的像素值,表示中坐标位置为(i,j)的像素点的像素值;在此,深度图像可通过激光雷达获取。
步骤1_2:构建神经网络:神经网络包括输入层、隐层和输出层;隐层包括编码网络框架和解码网络框架;
对于输入层,输入层的输入端接收一幅原始输入图像,输入层的输出端输出原始输入图像给隐层;其中,要求输入层的输入端接收的原始输入图像的宽度为W、高度为H;
对于编码网络框架,其包括5个神经网络块、1个推理层和1个连接层,第1个神经网络块由依次设置的2个卷积层和1个最大池化层组成,第2个神经网络块由依次设置的2个卷积层和1个最大池化层组成,第3个神经网络块由依次设置的3个卷积层和1个最大池化层组成,第4个神经网络块由依次设置的3个卷积层和1个最大池化层组成,第5个神经网络块由依次设置的3个卷积层和1个最大池化层组成,推理层由依次设置的2个带孔卷积神经网络构成,其中,每个神经网络块中的每个卷积层的卷积核尺寸为3×3、激活函数采用现有的线性整流函数(Rectified Linear Unit,ReLU),线性整流函数在结构上具有模仿人脑神经元的特点,因此能够符合实际生物学对模拟神经网络的期望,每个神经网络块中的每个最大池化层的步长为2,每个带孔卷积神经网络中的卷积层的卷积核尺寸为3×3、激活函数采用现有的线性整流函数,每个带孔卷积神经网络的膨胀率(Dilation Rate)为2;
对于编码网络框架,第1个神经网络块的输入端接收输入层的输出端输出的原始输入图像,第1个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为A1,其中,K=64,A1中的每幅特征图的宽度为高度为符号为向下取整运算符号;第2个神经网络块的输入端接收A1中的所有特征图,第2个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为A2,其中,K=64,A2中的每幅特征图的宽度为高度为第3个神经网络块的输入端接收A2中的所有特征图,第3个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A3,其中,K'=128,A3中的每幅特征图的宽度为高度为第4个神经网络块的输入端接收A3中的所有特征图,第4个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A4,其中,K'=128,A4中的每幅特征图的宽度为高度为第5个神经网络块的输入端接收A4中的所有特征图,第5个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A5,其中,K'=128,A5中的每幅特征图的宽度为高度为推理层的输入端接收A5中的所有特征图,推理层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为B,其中,K'=128,B中的每幅特征图的宽度为高度为连接层的输入端接收A5中的所有特征图和B中的所有特征图,连接层通过现有的Concatence方式连接A5和B得到集合C,连接层的输出端输出C,其中,C中的每幅特征图的宽度为高度为C中包含的特征图的总幅数为K'+K';
对于解码网络框架,其包括5个神经网络块、5个连接层、4个独立的双线性上采样层,每个神经网络块由依次设置的1个卷积层和1个双线性上采样层组成,其中,每个神经网络块中的卷积层的卷积核尺寸为3×3、激活函数采用现有的线性整流函数,第1个神经网络块中的双线性上采样层(采用现有的双线性插值的方法)的目标的宽度设置为与A4中的特征图的宽度一致、高度设置为与A4中的特征图的高度一致,第2个神经网络块中的双线性上采样层的目标的宽度设置为与A3中的特征图的宽度一致、高度设置为与A3中的特征图的高度一致,第3个神经网络块中的双线性上采样层的目标的宽度设置为与A2中的特征图的宽度一致、高度设置为与A2中的特征图的高度一致,第4个神经网络块中的双线性上采样层的目标的宽度设置为与A1中的特征图的宽度一致、高度设置为与A1中的特征图的高度一致,第5个神经网络块中的双线性上采样层的目标的宽度设置为与原始输入图像的宽度一致、高度设置为与原始输入图像的高度一致,每个独立的双线性上采样层的目标的宽度设置为与原始输入图像的宽度一致、高度设置为与原始输入图像的高度一致;
对于解码网络框架,第1个神经网络块的输入端接收C中的所有特征图,第1个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为C1,其中,K'=128,C1中的每幅特征图的宽度为高度为第1个连接层的输入端接收A4中的所有特征图和C1中的所有特征图,第1个连接层通过现有的Concatence方式连接A4和C1得到集合C2,第1个连接层的输出端输出C2,其中,C2中的每幅特征图的宽度为高度为C2中包含的特征图的总幅数为K'+K';第2个神经网络块的输入端接收C2中的所有特征图,第2个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为C3,其中,K'=128,C3中的每幅特征图的宽度为高度为第2个连接层的输入端接收A3中的所有特征图和C3中的所有特征图,第2个连接层通过现有的Concatence方式连接A3和C3得到集合C4,第2个连接层的输出端输出C4,其中,C4中的每幅特征图的宽度为高度为C4中包含的特征图的总幅数为K'+K';第3个神经网络块的输入端接收C4中的所有特征图,第3个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C5,其中,K=64,C5中的每幅特征图的宽度为高度为第3个连接层的输入端接收A2中的所有特征图和C5中的所有特征图,第3个连接层通过现有的Concatence方式连接A2和C5得到集合C6,第3个连接层的输出端输出C6,其中,C6中的每幅特征图的宽度为高度为C6中包含的特征图的总幅数为K+K;第4个神经网络块的输入端接收C6中的所有特征图,第4个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C7,其中,K=64,C7中的每幅特征图的宽度为高度为第4个连接层的输入端接收A1中的所有特征图和C7中的所有特征图,第4个连接层通过现有的Concatence方式连接A1和C7得到集合C8,第4个连接层的输出端输出C8,其中,C8中的每幅特征图的宽度为高度为C8中包含的特征图的总幅数为K+K;第5个神经网络块的输入端接收C8中的所有特征图,第5个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C9,其中,K=64,C9中的每幅特征图的宽度为W、高度为H;第1个独立的双线性上采样层的输入端接收C1中的所有特征图,第1个独立的双线性上采样层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为D1,其中,K'=128,D1中的每幅特征图的宽度为W、高度为H;第2个独立的双线性上采样层的输入端接收C3中的所有特征图,第2个独立的双线性上采样层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为D2,其中,K'=128,D2中的每幅特征图的宽度为W、高度为H;第3个独立的双线性上采样层的输入端接收C5中的所有特征图,第3个独立的双线性上采样层的输出端输出K幅特征图,将K幅特征图构成的集合记为D3,其中,K=64,D3中的每幅特征图的宽度为W、高度为H;第4个独立的双线性上采样层的输入端接收C7中的所有特征图,第4个独立的双线性上采样层的输出端输出K幅特征图,将K幅特征图构成的集合记为D4,其中,K=64,D4中的每幅特征图的宽度为W、高度为H;第5个连接层的输入端接收C9中的所有特征图和D1,D2,D3,D4中的所有特征图,第5个连接层通过现有的Concatence方式连接C9和D1,D2,D3,D4得到集合E,第5个连接层的输出端输出E,其中,E中的每幅特征图的宽度为W、高度为H,E中包含的特征图的总幅数为K+K'+K'+K+K;
对于输出层,其包括1个卷积层,其中,卷积层的卷积核尺寸为3×3、激活函数采用现有的线性整流函数;输出层的输入端接收E中的所有特征图,输出层的输出端输出一幅原始输入图像对应的预测深度图像。
步骤1_3:将训练集中的每幅原始的单目图像作为原始输入图像,输入到神经网络中进行训练,得到训练集中的每幅原始的单目图像对应的预测深度图像,将{Iq(i,j)|1≤i≤W,1≤j≤H}对应的预测深度图像记为其中,表示中坐标位置为(i,j)的像素点的像素值。
步骤1_5:重复执行步骤1_3和步骤1_4共V次,得到训练好的神经网络模型,并共得到Q×V个损失函数值;然后从Q×V个损失函数值中找出值最小的损失函数值;接着将值最小的损失函数值对应的权值矢量和偏置项对应作为训练好的神经网络模型的最优权值矢量和最优偏置项,对应记为Wbest和bbest;其中,V>1,在本实施例中取V=20。
所述的测试阶段过程的具体步骤为:
为了验证本发明方法的可行性与有效性,进行如下实验。
选用KITTI官网提供的数据集作为测试集,将测试集中的每幅待预测的单目图像输入到训练好的神经网络模型中,并利用Wbest和bbest进行预测,输出预测深度图像。通过6个评测指标比较预测深度图像与真实深度图像之间的关联性,这6个评测指标分别为:均方根误差(Root Mean Square Error,RMSE)、对数平均误差(Average lg10 Error,Log10)、对数均方根误差(Log Root Mean Square Error,Log_rms)以及阈值下的精确度值:δ1、δ2、δ3;其中,均方根误差、对数平均误差和对数均方根误差反应的是预测深度图像与真实深度图像之间的误差,越小越好;阈值下的精确度值δ1、δ2、δ3反应的是预测深度图像的精度,越大越好。
6个评测指标的计算公式如下: 的阈值下的精确度值:其中,符号“||”为取绝对值符号,T表示所有预测深度图像中的像素点的总个数,即T=W×H,max()为取最大值函数,y表示待预测的单目图像对应的真实深度图像中的像素点的像素值,表示待预测的单目图像对应的预测深度图像中的像素点的像素值。
表1给出了利用本发明方法得到的预测深度图像与真实深度图像之间的误差和相关性,从表1中可以看出,本发明方法有效降低了预测深度图像与真实深度图像之间的误差,精度也有所提高,可以较好地实现单目图像深度预测。
表1利用本发明方法得到的预测深度图像与真实深度图像之间的误差和相关性
评测指标结果 | RMSE | Log10 | Log_rms | δ<sub>1</sub> | δ<sub>2</sub> | δ<sub>3</sub> |
2.4136 | 0.237 | 0.126 | 0.677 | 0.948 | 0.975 |
Claims (2)
1.一种基于神经网络的单目图像深度预测方法,其特征在于包括训练阶段和测试阶段两个过程;
所述的训练阶段过程的具体步骤为:
步骤1_1:选取Q幅原始的单目图像及每幅原始的单目图像对应的真实深度图像,并构成训练集,将训练集中的第q幅原始的单目图像记为{Iq(i,j)|1≤i≤W,1≤j≤H},将训练集中与{Iq(i,j)|1≤i≤W,1≤j≤H}对应的真实深度图像记为其中,Q为正整数,Q≥200,q为正整数,1≤q≤Q,1≤i≤W,1≤j≤H,W表示{Iq(i,j)|1≤i≤W,1≤j≤H}和的宽度,H表示{Iq(i,j)|1≤i≤W,1≤j≤H}和的高度,Iq(i,j)表示{Iq(i,j)|1≤i≤W,1≤j≤H}中坐标位置为(i,j)的像素点的像素值,表示中坐标位置为(i,j)的像素点的像素值;
步骤1_2:构建神经网络:神经网络包括输入层、隐层和输出层;隐层包括编码网络框架和解码网络框架;
对于输入层,输入层的输入端接收一幅原始输入图像,输入层的输出端输出原始输入图像给隐层;其中,要求输入层的输入端接收的原始输入图像的宽度为W、高度为H;
对于编码网络框架,其包括5个神经网络块、1个推理层和1个连接层,第1个神经网络块由依次设置的2个卷积层和1个最大池化层组成,第2个神经网络块由依次设置的2个卷积层和1个最大池化层组成,第3个神经网络块由依次设置的3个卷积层和1个最大池化层组成,第4个神经网络块由依次设置的3个卷积层和1个最大池化层组成,第5个神经网络块由依次设置的3个卷积层和1个最大池化层组成,推理层由依次设置的2个带孔卷积神经网络构成,其中,每个神经网络块中的每个卷积层的卷积核尺寸为3×3、激活函数采用线性整流函数,每个神经网络块中的每个最大池化层的步长为2,每个带孔卷积神经网络中的卷积层的卷积核尺寸为3×3、激活函数采用线性整流函数,每个带孔卷积神经网络的膨胀率为2;
对于编码网络框架,第1个神经网络块的输入端接收输入层的输出端输出的原始输入图像,第1个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为A1,其中,K=64,A1中的每幅特征图的宽度为高度为符号为向下取整运算符号;第2个神经网络块的输入端接收A1中的所有特征图,第2个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为A2,其中,K=64,A2中的每幅特征图的宽度为高度为第3个神经网络块的输入端接收A2中的所有特征图,第3个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A3,其中,K'=128,A3中的每幅特征图的宽度为高度为第4个神经网络块的输入端接收A3中的所有特征图,第4个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A4,其中,K'=128,A4中的每幅特征图的宽度为高度为第5个神经网络块的输入端接收A4中的所有特征图,第5个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为A5,其中,K'=128,A5中的每幅特征图的宽度为高度为推理层的输入端接收A5中的所有特征图,推理层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为B,其中,K'=128,B中的每幅特征图的宽度为高度为连接层的输入端接收A5中的所有特征图和B中的所有特征图,连接层通过Concatence方式连接A5和B得到集合C,连接层的输出端输出C,其中,C中的每幅特征图的宽度为高度为C中包含的特征图的总幅数为K'+K';
对于解码网络框架,其包括5个神经网络块、5个连接层、4个独立的双线性上采样层,每个神经网络块由依次设置的1个卷积层和1个双线性上采样层组成,其中,每个神经网络块中的卷积层的卷积核尺寸为3×3、激活函数采用线性整流函数,第1个神经网络块中的双线性上采样层的目标的宽度设置为与A4中的特征图的宽度一致、高度设置为与A4中的特征图的高度一致,第2个神经网络块中的双线性上采样层的目标的宽度设置为与A3中的特征图的宽度一致、高度设置为与A3中的特征图的高度一致,第3个神经网络块中的双线性上采样层的目标的宽度设置为与A2中的特征图的宽度一致、高度设置为与A2中的特征图的高度一致,第4个神经网络块中的双线性上采样层的目标的宽度设置为与A1中的特征图的宽度一致、高度设置为与A1中的特征图的高度一致,第5个神经网络块中的双线性上采样层的目标的宽度设置为与原始输入图像的宽度一致、高度设置为与原始输入图像的高度一致,每个独立的双线性上采样层的目标的宽度设置为与原始输入图像的宽度一致、高度设置为与原始输入图像的高度一致;
对于解码网络框架,第1个神经网络块的输入端接收C中的所有特征图,第1个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为C1,其中,K'=128,C1中的每幅特征图的宽度为高度为第1个连接层的输入端接收A4中的所有特征图和C1中的所有特征图,第1个连接层通过Concatence方式连接A4和C1得到集合C2,第1个连接层的输出端输出C2,其中,C2中的每幅特征图的宽度为高度为C2中包含的特征图的总幅数为K'+K';第2个神经网络块的输入端接收C2中的所有特征图,第2个神经网络块的输出端输出K'幅特征图,将K'幅特征图构成的集合记为C3,其中,K'=128,C3中的每幅特征图的宽度为高度为第2个连接层的输入端接收A3中的所有特征图和C3中的所有特征图,第2个连接层通过Concatence方式连接A3和C3得到集合C4,第2个连接层的输出端输出C4,其中,C4中的每幅特征图的宽度为高度为C4中包含的特征图的总幅数为K'+K';第3个神经网络块的输入端接收C4中的所有特征图,第3个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C5,其中,K=64,C5中的每幅特征图的宽度为高度为第3个连接层的输入端接收A2中的所有特征图和C5中的所有特征图,第3个连接层通过Concatence方式连接A2和C5得到集合C6,第3个连接层的输出端输出C6,其中,C6中的每幅特征图的宽度为高度为C6中包含的特征图的总幅数为K+K;第4个神经网络块的输入端接收C6中的所有特征图,第4个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C7,其中,K=64,C7中的每幅特征图的宽度为高度为第4个连接层的输入端接收A1中的所有特征图和C7中的所有特征图,第4个连接层通过Concatence方式连接A1和C7得到集合C8,第4个连接层的输出端输出C8,其中,C8中的每幅特征图的宽度为高度为C8中包含的特征图的总幅数为K+K;第5个神经网络块的输入端接收C8中的所有特征图,第5个神经网络块的输出端输出K幅特征图,将K幅特征图构成的集合记为C9,其中,K=64,C9中的每幅特征图的宽度为W、高度为H;第1个独立的双线性上采样层的输入端接收C1中的所有特征图,第1个独立的双线性上采样层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为D1,其中,K'=128,D1中的每幅特征图的宽度为W、高度为H;第2个独立的双线性上采样层的输入端接收C3中的所有特征图,第2个独立的双线性上采样层的输出端输出K'幅特征图,将K'幅特征图构成的集合记为D2,其中,K'=128,D2中的每幅特征图的宽度为W、高度为H;第3个独立的双线性上采样层的输入端接收C5中的所有特征图,第3个独立的双线性上采样层的输出端输出K幅特征图,将K幅特征图构成的集合记为D3,其中,K=64,D3中的每幅特征图的宽度为W、高度为H;第4个独立的双线性上采样层的输入端接收C7中的所有特征图,第4个独立的双线性上采样层的输出端输出K幅特征图,将K幅特征图构成的集合记为D4,其中,K=64,D4中的每幅特征图的宽度为W、高度为H;第5个连接层的输入端接收C9中的所有特征图和D1,D2,D3,D4中的所有特征图,第5个连接层通过Concatence方式连接C9和D1,D2,D3,D4得到集合E,第5个连接层的输出端输出E,其中,E中的每幅特征图的宽度为W、高度为H,E中包含的特征图的总幅数为K+K'+K'+K+K;
对于输出层,其包括1个卷积层,其中,卷积层的卷积核尺寸为3×3、激活函数采用线性整流函数;输出层的输入端接收E中的所有特征图,输出层的输出端输出一幅原始输入图像对应的预测深度图像;
步骤1_3:将训练集中的每幅原始的单目图像作为原始输入图像,输入到神经网络中进行训练,得到训练集中的每幅原始的单目图像对应的预测深度图像,将{Iq(i,j)|1≤i≤W,1≤j≤H}对应的预测深度图像记为其中,表示中坐标位置为(i,j)的像素点的像素值;
步骤1_5:重复执行步骤1_3和步骤1_4共V次,得到训练好的神经网络模型,并共得到Q×V个损失函数值;然后从Q×V个损失函数值中找出值最小的损失函数值;接着将值最小的损失函数值对应的权值矢量和偏置项对应作为训练好的神经网络模型的最优权值矢量和最优偏置项,对应记为Wbest和bbest;其中,V>1;
所述的测试阶段过程的具体步骤为:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811147330.8A CN109461177B (zh) | 2018-09-29 | 2018-09-29 | 一种基于神经网络的单目图像深度预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811147330.8A CN109461177B (zh) | 2018-09-29 | 2018-09-29 | 一种基于神经网络的单目图像深度预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109461177A CN109461177A (zh) | 2019-03-12 |
CN109461177B true CN109461177B (zh) | 2021-12-10 |
Family
ID=65607157
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811147330.8A Active CN109461177B (zh) | 2018-09-29 | 2018-09-29 | 一种基于神经网络的单目图像深度预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109461177B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110223334B (zh) * | 2019-05-07 | 2021-09-14 | 深圳云天励飞技术有限公司 | 一种景深图获取方法及装置 |
CN110414674B (zh) * | 2019-07-31 | 2021-09-10 | 浙江科技学院 | 一种基于残差网络及局部细化的单目深度估计方法 |
CN111626298B (zh) * | 2020-04-17 | 2023-08-18 | 中国科学院声学研究所 | 一种实时图像语义分割装置及分割方法 |
CN111629194B (zh) * | 2020-06-10 | 2021-01-26 | 北京中科深智科技有限公司 | 一种基于神经网络的全景视频转6dof视频的方法及系统 |
CN111985324B (zh) * | 2020-07-14 | 2022-10-28 | 广西大学 | 结合全卷积回归神经网络和条件随机场的道路检测方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750702A (zh) * | 2012-06-21 | 2012-10-24 | 东华大学 | 基于优化bp神经网络模型的单目红外图像深度估计方法 |
CN106599805A (zh) * | 2016-12-01 | 2017-04-26 | 华中科技大学 | 一种基于有监督数据驱动的单目视频深度估计方法 |
CN107895192A (zh) * | 2017-12-06 | 2018-04-10 | 广州华多网络科技有限公司 | 深度卷积网络压缩方法、存储介质和终端 |
CN108231190A (zh) * | 2017-12-12 | 2018-06-29 | 北京市商汤科技开发有限公司 | 处理图像的方法和神经网络系统、设备、介质、程序 |
CN108229455A (zh) * | 2017-02-23 | 2018-06-29 | 北京市商汤科技开发有限公司 | 物体检测方法、神经网络的训练方法、装置和电子设备 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9858484B2 (en) * | 2014-12-30 | 2018-01-02 | Facebook, Inc. | Systems and methods for determining video feature descriptors based on convolutional neural networks |
US9811756B2 (en) * | 2015-02-23 | 2017-11-07 | Mitsubishi Electric Research Laboratories, Inc. | Method for labeling images of street scenes |
-
2018
- 2018-09-29 CN CN201811147330.8A patent/CN109461177B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102750702A (zh) * | 2012-06-21 | 2012-10-24 | 东华大学 | 基于优化bp神经网络模型的单目红外图像深度估计方法 |
CN106599805A (zh) * | 2016-12-01 | 2017-04-26 | 华中科技大学 | 一种基于有监督数据驱动的单目视频深度估计方法 |
CN108229455A (zh) * | 2017-02-23 | 2018-06-29 | 北京市商汤科技开发有限公司 | 物体检测方法、神经网络的训练方法、装置和电子设备 |
CN107895192A (zh) * | 2017-12-06 | 2018-04-10 | 广州华多网络科技有限公司 | 深度卷积网络压缩方法、存储介质和终端 |
CN108231190A (zh) * | 2017-12-12 | 2018-06-29 | 北京市商汤科技开发有限公司 | 处理图像的方法和神经网络系统、设备、介质、程序 |
Also Published As
Publication number | Publication date |
---|---|
CN109461177A (zh) | 2019-03-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109410261B (zh) | 基于金字塔池化模块的单目图像深度估计方法 | |
CN109461177B (zh) | 一种基于神经网络的单目图像深度预测方法 | |
CN111047548B (zh) | 姿态变换数据处理方法、装置、计算机设备和存储介质 | |
CN108596958B (zh) | 一种基于困难正样本生成的目标跟踪方法 | |
CN107644415B (zh) | 一种文本图像质量评估方法及设备 | |
CN110782462A (zh) | 一种基于双流特征融合的语义分割方法 | |
CN111681178B (zh) | 一种基于知识蒸馏的图像去雾方法 | |
CN109035172B (zh) | 一种基于深度学习的非局部均值超声图像去噪方法 | |
CN112001960A (zh) | 基于多尺度残差金字塔注意力网络模型的单目图像深度估计方法 | |
CN109635662B (zh) | 一种基于卷积神经网络的道路场景语义分割方法 | |
CN110728682A (zh) | 一种基于残差金字塔池化神经网络的语义分割方法 | |
Jiang et al. | A deep evaluator for image retargeting quality by geometrical and contextual interaction | |
CN110853057B (zh) | 基于全局和多尺度全卷积网络的航拍图像分割方法 | |
CN110929736A (zh) | 多特征级联rgb-d显著性目标检测方法 | |
CN112489164B (zh) | 基于改进深度可分离卷积神经网络的图像着色方法 | |
CN110175986A (zh) | 一种基于卷积神经网络的立体图像视觉显著性检测方法 | |
CN110705566B (zh) | 一种基于空间金字塔池的多模态融合显著性检测方法 | |
CN112464912B (zh) | 基于YOLO-RGGNet的机器人端人脸检测方法 | |
Xiao et al. | TTST: A top-k token selective transformer for remote sensing image super-resolution | |
CN109859166A (zh) | 一种基于多列卷积神经网络的无参3d图像质量评估方法 | |
CN111709983A (zh) | 一种基于卷积神经网络和光场图像的气泡流场三维重建方法 | |
CN113807356B (zh) | 一种端到端的低能见度图像语义分割方法 | |
CN115908793A (zh) | 一种基于位置注意力机制的编解码结构语义分割模型 | |
CN113313077A (zh) | 基于多策略和交叉特征融合的显著物体检测方法 | |
CN113096133A (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 |