1.一种基于RGB图和梯度图的卷积神经网络视觉深度估计方法,其特征在于包括训练阶段和测试阶段两个过程;
所述的训练阶段过程的具体步骤为:
步骤1_1:选取M幅原始的单目RGB图像及每幅原始的单目RGB图像对应的真实深度图像,将第i幅原始的单目RGB图像记为{Li(p,q)},将{Li(p,q)}对应的真实深度图像记为然后对每幅原始的单目RGB图像进行梯度化处理,得到每幅原始的单目RGB图像对应的梯度图像,将 对应的梯度图像记为 再将所有原始的单目
RGB图像及对应的真实深度图像和对应的梯度图像构成训练集;其中,M为正整数,M≥1000,i为正整数,i的初始值为1,1≤i≤M,1≤p≤W,1≤q≤H,W表示{Li(p,q)}、 和的宽度,H表示{Li(p,q)}、 和 的高度,W和H均能被2整除,Li(p,q)表示{Li(p,q)}中坐标位置为(p,q)的像素点的像素值, 表示
中坐标位置为(p,q)的像素点的像素值, 表示 中坐标位
置为(p,q)的像素点的像素值;
步骤1_2:构建卷积神经网络:卷积神经网络包括输入层、隐层和输出层;输入层包括RGB图输入层和梯度图输入层;隐层包括RGB图特征提取框架、梯度图特征提取框架、特征融合框架,RGB图特征提取框架由第1个至第18个并联卷积网络块、第1个至第4个最大池化层、第1个卷积层、第1个批规范化层组成,梯度图特征提取框架由第2个至第5个卷积层、第2个至第5个批规范化层、第1个至第4个激活层组成,特征融合框架由第1个至第4个Add融合层、第1个至第4个transitionup网络块、第6个至第9个卷积层、第6个至第9个批规范化层、第5个至第9个激活层组成;其中,4个最大池化层的池化步长均为2×2,第1个至第4个卷积层的卷积核大小均为3×3、卷积步长均设置为2×2,第1个卷积层的卷积核个数为128,第2个卷积层的卷积核个数为16,第3个卷积层的卷积核个数为32,第4个卷积层的卷积核个数为64,第5个至第9个卷积层的卷积核大小均为1×1、卷积步长均采用默认值,第5个卷积层的卷积核个数为128,第6个卷积层的卷积核个数为64,第7个卷积层的卷积核个数为32,第8个卷积层的卷积核个数为16,第9个卷积层的卷积核个数为1,9个批规范化层的参数均采用默认值,9个激活层的激活函数均采用ReLu;
对于RGB图输入层,其输入端接收一幅RGB输入图像,其输出端输出RGB图像给隐层;其中,要求RGB输入图像的宽度为W且高度为H;
对于梯度图输入层,其输入端接收RGB图输入层的输入端接收的RGB输入图像对应的梯度图像,其输出端输出梯度图像给隐层;其中,梯度图像的宽度为W且高度为H;
对于RGB图特征提取框架,第1个并联卷积网络块的输入端接收RGB图输入层的输出端输出的RGB图像,第1个并联卷积网络块的输出端输出16幅宽度为W且高度为H的特征图,将输出的所有特征图构成的集合记为D1;第2个并联卷积网络块的输入端接收D1中的所有特征图,第2个并联卷积网络块的输出端输出16幅宽度为W且高度为H的特征图,将输出的所有特征图构成的集合记为D2;第1个最大池化层的输入端接收D2中的所有特征图,第1个最大池化层的输出端输出16幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为Z1;第3个并联卷积网络块的输入端接收Z1中的所有特征图,第3个并联卷积网络块的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D3;第4个并联卷积网络块的输入端接收D3中的所有特征图,第4个并联卷积网络块的输出端输出
32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D4;第5个并联卷积网络块的输入端接收D4中的所有特征图,第5个并联卷积网络块的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D5;第2个最大池化层的输入端接收D5中的所有特征图,第2个最大池化层的输出端输出32幅宽度为 且高度为的特征图,将输出的所有特征图构成的集合记为Z2;第6个并联卷积网络块的输入端接收Z2中的所有特征图,第6个并联卷积网络块的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D6;第7个并联卷积网络块的输入端接收D6中的所有特征图,第7个并联卷积网络块的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D7;第8个并联卷积网络块的输入端接收D7中的所有特征图,第8个并联卷积网络块的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D8;第9个并联卷积网络块的输入端接收D8中的所有特征图,第9个并联卷积网络块的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D9;第10个并联卷积网络块的输入端接收D9中的所有特征图,第10个并联卷积网络块的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D10;第3个最大池化层的输入端接收D10中的所有特征图,第3个最大池化层的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为Z3;第11个并联卷积网络块的输入端接收Z3中的所有特征图,第11个并联卷积网络块的输出端输出
128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D11;第12个并联卷积网络块的输入端接收D11中的所有特征图,第12个并联卷积网络块的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D12;第13个并联卷积网络块的输入端接收D12中的所有特征图,第13个并联卷积网络块的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D13;第14个并联卷积网络块的输入端接收D13中的所有特征图,第14个并联卷积网络块的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D14;第15个并联卷积网络块的输入端接收D14中的所有特征图,第15个并联卷积网络块的输出端输出128幅宽度为且高度为 的特征图,将输出的所有特征图构成的集合记为D15;第4个最大池化层的输入端接收D15中的所有特征图,第4个最大池化层的输出端输出128幅宽度为 且高度为的特征图,将输出的所有特征图构成的集合记为Z4;第16个并联卷积网络块的输入端接收Z4中的所有特征图,第16个并联卷积网络块的输出端输出256幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D16;第17个并联卷积网络块的输入端接收D16中的所有特征图,第17个并联卷积网络块的输出端输出256幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D17;第18个并联卷积网络块的输入端接收D17中的所有特征图,第18个并联卷积网络块的输出端输出256幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为D18;第1个卷积层的输入端接收D18中的所有特征图,第1个卷积层的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为G1;第1个批规范化层的输入端接收G1中的所有特征图,第1个批规范化层的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为P1;
对于梯度图特征提取框架,第2个卷积层的输入端接收梯度图输入层的输出端输出的梯度图像,第1个卷积层的输出端输出16幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为G2;第2个批规范化层的输入端接收G2中的所有特征图,第2个批规范化层的输出端输出16幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为P2;第1个激活层的输入端接收P2中的所有特征图,第1个激活层的输出端输出16幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为A1;第3个卷积层的输入端接收A1中的所有特征图,第3个卷积层的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为G3;第3个批规范化层的输入端接收G3中的所有特征图,第3个批规范化层的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为P3;第2个激活层的输入端接收P3中的所有特征图,第2个激活层的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为A2;第
4个卷积层的输入端接收A2中的所有特征图,第4个卷积层的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为G4;第4个批规范化层的输入端接收G4中的所有特征图,第4个批规范化层的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为P4;第3个激活层的输入端接收P4中的所有特征图,第3个激活层的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为A3;第5个卷积层的输入端接收A3中的所有特征图,第5个卷积层的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为G5;第5个批规范化层的输入端接收G5中的所有特征图,第5个批规范化层的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为P5;第4个激活层的输入端接收P5中的所有特征图,第4个激活层的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为A4;
对于特征融合框架,第1个Add融合层的输入端接收P1中的所有特征图和A4中的所有特征图,第1个Add融合层的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为Add1;第5个激活层的输入端接收Add1中的所有特征图,第5个激活层的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为A5;第1个transitionup网络块的输入端接收A5中的所有特征图和D15中的所有特征图,第1个transitionup网络块的输出端输出256幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为T1;第6个卷积层的输入端接收T1中的所有特征图,第6个卷积层的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为G6;第
6个批规范化层的输入端接收G6中的所有特征图,第6个批规范化层的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为P6;第2个Add融合层的输入端接收P6中的所有特征图和A3中的所有特征图,第2个Add融合层的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为Add2;第6个激活层的输入端接收Add2中的所有特征图,第6个激活层的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为A6;第2个transitionup网络块的输入端接收A6中的所有特征图和D10中的所有特征图,第2个transitionup网络块的输出端输出128幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为T2;第7个卷积层的输入端接收T2中的所有特征图,第7个卷积层的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为G7;第7个批规范化层的输入端接收G7中的所有特征图,第7个批规范化层的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为P7;第3个Add融合层的输入端接收P7中的所有特征图和A2中的所有特征图,第3个Add融合层的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为Add3;第7个激活层的输入端接收Add3中的所有特征图,第7个激活层的输出端输出32幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为A7;第3个transitionup网络块的输入端接收A7中的所有特征图和D5中的所有特征图,第3个transitionup网络块的输出端输出64幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为T3;第8个卷积层的输入端接收T3中的所有特征图,第8个卷积层的输出端输出16幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为G8;第8个批规范化层的输入端接收G8中的所有特征图,第8个批规范化层的输出端输出16幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为P8;第4个Add融合层的输入端接收P8中的所有特征图和A1中的所有特征图,第4个Add融合层的输出端输出16幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为Add4;第8个激活层的输入端接收Add4中的所有特征图,第8个激活层的输出端输出16幅宽度为 且高度为 的特征图,将输出的所有特征图构成的集合记为A8;第4个transitionup网络块的输入端接收A8中的所有特征图和D2中的所有特征图,第4个transitionup网络块的输出端输出32幅宽度为W且高度为H的特征图,将输出的所有特征图构成的集合记为T4;第9个卷积层的输入端接收T4中的所有特征图,第9个卷积层的输出端输出1幅宽度为W且高度为H的特征图;第9个批规范化层的输入端接收第9个卷积层的输出端输出的特征图,第9个批规范化层的输出端输出1幅宽度为W且高度为H的特征图;第9个激活层的输入端接收第9个批规范化层的输出端输出的特征图,第9个激活层的输出端输出1幅宽度为W且高度为H的特征图;
对于输出层,其输入端接收第9个激活层的输出端输出的特征图,其输出端输出一幅RGB输入图像对应的估计深度图像;其中,估计深度图像的宽度为W且高度为H;
步骤1_3:将训练集中的每幅原始的单目RGB图像作为RGB输入图像,将RGB输入图像及其对应的梯度图像输入到卷积神经网络中进行训练,得到训练集中的每幅原始的单目RGBi
图像对应的估计深度图像,将{L (p,q)}对应的估计深度图像记为 其中,
表示 中坐标位置为(p,q)的像素点的像素值;
步骤1_4:计算训练集中的每幅原始的单目RGB图像对应的估计深度图像与对应的真实深度图像之间的损失函数值,将 与 之间的损失函数值记为
采用均方误差函数
获得;
步骤1_5:重复执行步骤1_3和步骤1_4共V次,训练得到卷积神经网络训练模型,并共得到M×V个损失函数值;然后从M×V个损失函数值中找出值最小的损失函数值;接着将值最小的损失函数值对应的权值矢量和偏置项对应作为卷积神经网络训练模型的最优权值矢量和最优偏置项,对应记为Wbest和bbest;其中,V>1;
所述的测试阶段过程的具体步骤为:
步骤2_1:令{L(p',q')}表示待测试的单目RGB图像;然后对{L(p',q')}进行梯度化处理,得到{L(p',q')}对应的梯度图像,记为{Lgradient(p',q')};其中,1≤p'≤W',1≤q'≤H',W'表示{L(p',q')}和{Lgradient(p',q')}的宽度,H'表示{L(p',q')}和{Lgradient(p',q')}的高度,L(p',q')表示{L(p',q')}中坐标位置为(p',q')的像素点的像素值,Lgradient(p',q')表示{Lgradient(p',q')}中坐标位置为(p',q')的像素点的像素值;
步骤2_2:将{L(p',q')}和{Lgradient(p',q')}输入到卷积神经网络训练模型中,并利用Wbest和bbest进行预测,得到{L(p',q')}对应的预测深度图像,记为{Lpredction(p',q')};其中,Lpredction(p',q')表示{Lpredction(p',q')}中坐标位置为(p',q')的像素点的像素值。
2.根据权利要求1所述的基于RGB图和梯度图的卷积神经网络视觉深度估计方法,其特征在于所有并联卷积网络块均由2个深度可分离卷积层、1个卷积层、3个批规范化层、1个Add融合层、1个激活层组成,第1个深度可分离卷积层和第1个批规范化层依次设置构成第一输入块,卷积层和第2个批规范化层依次设置构成第二输入块,第2个深度可分离卷积层和第3个批规范化层依次设置构成第三输入块;所有并联卷积网络块中的卷积层的卷积核大小均为3×3、卷积步长均采用默认值,所有并联卷积网络块中的深度可分离卷积层的卷积核大小均为1×1、卷积步长均采用默认值,第1个和第2个并联卷积网络块中的卷积层和深度可分离卷积层的卷积核个数为16,第3个至第5个并联卷积网络块中的卷积层和深度可分离卷积层的卷积核个数为32,第6个至第10个并联卷积网络块中的卷积层和深度可分离卷积层的卷积核个数为64,第11个至第15个并联卷积网络块中的卷积层和深度可分离卷积层的卷积核个数为128,第16个至第18个并联卷积网络块中的卷积层和深度可分离卷积层的卷积核个数为256;
在并联卷积网络块中,第1个深度可分离卷积层的输入端、卷积层的输入端、第2个深度可分离卷积层的输入端相连接作为并联卷积网络块的输入端,第1个批规范化层的输入端接收第1个深度可分离卷积层的输出端输出的所有特征图,第2个批规范化层的输入端接收卷积层的输出端输出的所有特征图,第3个批规范化层的输入端接收第2个深度可分离卷积层的输出端输出的所有特征图,Add融合层的输入端接收第1个批规范化层的输出端输出的所有特征图、第2个批规范化层的输出端输出的所有特征图、第3个批规范化层的输出端输出的所有特征图,激活层的输入端接收Add融合层的输出端输出的所有特征图,激活层的输出端作为并联卷积网络块的输出端。
3.根据权利要求1或2所述的基于RGB图和梯度图的卷积神经网络视觉深度估计方法,其特征在于所有transitionup网络块均由1个转置卷积层和1个Concatanate融合层组成;
所有transitionup网络块中的转置卷积层的卷积核大小均采用默认值、卷积步长均为2×
2,第1个transitionup网络块中的转置卷积层的卷积核个数为128,第2个transitionup网络块中的转置卷积层的卷积核个数为64,第3个transitionup网络块中的转置卷积层的卷积核个数为32,第4个transitionup网络块中的转置卷积层的卷积核个数为16;
在第1个transitionup网络块中,转置卷积层的输入端接收A5中的所有特征图,Concatanate融合层的输入端接收转置卷积层的输出端输出的所有特征图和D15中的所有特征图,Concatanate融合层的输出端作为第1个transitionup网络块的输出端;
在第2个transitionup网络块中,转置卷积层的输入端接收A6中的所有特征图,Concatanate融合层的输入端接收转置卷积层的输出端输出的所有特征图和D10中的所有特征图,Concatanate融合层的输出端作为第2个transitionup网络块的输出端;
在第3个transitionup网络块中,转置卷积层的输入端接收A7中的所有特征图,Concatanate融合层的输入端接收转置卷积层的输出端输出的所有特征图和D5中的所有特征图,Concatanate融合层的输出端作为第3个transitionup网络块的输出端;
在第4个transitionup网络块中,转置卷积层的输入端接收A8中的所有特征图,Concatanate融合层的输入端接收转置卷积层的输出端输出的所有特征图和D2中的所有特征图,Concatanate融合层的输出端作为第4个transitionup网络块的输出端。