一种单目视觉深度估计方法与流程

文档序号:17091691发布日期:2019-03-13 23:32阅读:322来源:国知局
一种单目视觉深度估计方法与流程

本发明涉及一种图像信号处理技术,尤其是涉及一种单目视觉深度估计方法。



背景技术:

经济的高速发展带来了人们生活水平的不断提升,随着人们对好的生活质量的要求逐渐增强,交通的便利性也越来越好。汽车作为交通中的重要一环,其发展更加被重视。在人工智能大火的如今,无人驾驶也是近年来较为热门的话题之一,并且在百度宣布无人驾驶车进入批量生产即将投入使用之后,无人驾驶的热潮持续提高。车前的单目视觉深度估计是无人驾驶领域的一部分,它可以有效地保障汽车行驶过程中的安全。

单目视觉深度估计的方法主要有传统方法和深度学习方法。在深度学习方法出现之前,依赖于传统方法的深度估计得出的结果远不能满足人们的最低的期望标准;在深度学习方法出现后,在深度学习中使用端到端的训练方法,使用大量的训练数据,进行学习后深度估计得出的结果精度得到了极大的提升。eigen等人在文献《depthmappredictionfromasingleimageusingamulti-scaledeepnetwork》(《基于多尺度深度网络的单幅图像深度图预测》)中提出的神经网络的基础上进行了进一步提升,《基于多尺度深度网络的单幅图像深度图预测》提出使用两个尺度的神经网络来做深度估计:粗规模网络预测全局深度分布和精细规模网络以局部细化深度图,而eigen等人在这两个尺度的神经网络的基础上将其拓展到三个尺度。该三个尺度的神经网络架构首先使用第一个尺度来根据整个图像区域预测出一个较为粗略的结果,然后使用第二个尺度对其在中等分辨率的基础上进行优化,最后使用第三个尺度对结果上采样后做细化提炼获得预测深度图,但是,该三个尺度的神经网络架构是针对深度预测、表面法线估计和语义分割这三种不同的计算机视觉任务的联合预测而提出的,若将其单独用于深度估计,则深度估计的准确性却不是很高,而且最终得到的预测深度图只有原本图像尺寸的一半,而尺寸的不一致性不利于对其中深度信息的直接使用。



技术实现要素:

本发明所要解决的技术问题是提供一种单目视觉深度估计方法,其预测精度高。

本发明解决上述技术问题所采用的技术方案为:一种单目视觉深度估计方法,其特征在于包括训练阶段和测试阶段两个过程;

所述的训练阶段过程的具体步骤为:

步骤1_1:选取n幅原始的单目图像及每幅原始的单目图像对应的真实深度图像,并构成训练集,将训练集中的第n幅原始的单目图像记为{qn(x,y)},将训练集中与{qn(x,y)}对应的真实深度图像记为其中,n为正整数,n≥100,n为正整数,1≤n≤n,1≤x≤r,1≤y≤l,r表示{qn(x,y)}和的宽度,l表示{qn(x,y)}和的高度,r和l均能被2整除,qn(x,y)表示{qn(x,y)}中坐标位置为(x,y)的像素点的像素值,表示中坐标位置为(x,y)的像素点的像素值;

步骤1_2:构建端到端的卷积神经网络:卷积神经网络包括输入层、隐层和输出层;隐层包括编码框架、译码框架和上采样框架;

对于输入层,输入层的输入端接收一幅原始输入图像,输入层的输出端输出原始输入图像给隐层;其中,要求输入层的输入端接收的原始输入图像的宽度为r、高度为l;

对于编码框架,其由依次设置的第一卷积层、第一批规范化层、第一激活层、第一最大池化层、第二卷积层、第二批规范化层、第二激活层、第三卷积层、第三批规范化层、第一concatenate融合层、第三激活层、第二最大池化层、第四卷积层、第四批规范化层、第四激活层、第五卷积层、第五批规范化层、第二concatenate融合层、第五激活层、第三最大池化层、第一带孔卷积层、第六批规范化层、第六激活层、第二带孔卷积层、第七批规范化层、第三concatenate融合层、第七激活层、第四最大池化层、第三带孔卷积层、第八批规范化层、第八激活层组成;对于译码框架,其由依次设置的第一反卷积层、第九批规范化层、第四concatenate融合层、第九激活层、第六卷积层、第十批规范化层、第十激活层、第二反卷积层、第十一批规范化层、第五concatenate融合层、第十一激活层、第七卷积层、第十二批规范化层、第十二激活层、第三反卷积层、第十三批规范化层、第六concatenate融合层、第十三激活层、第八卷积层、第十四批规范化层、第十四激活层、第四反卷积层、第十五批规范化层、第七concatenate融合层组成;对于上采样框架,其由依次设置的第一上采样层、第十卷积层、第十七批规范化层、第十七激活层、第二上采样层、第十一卷积层、第十八批规范化层、第十八激活层、第三上采样层、第十二卷积层、第十九批规范化层、第十九激活层、第四上采样层、第十三卷积层、第二十批规范化层、第二十激活层组成;对于输出层,其由依次设置的第十五激活层、第九卷积层、第十六批规范化层、第十六激活层组成,其中,第一卷积层至第十三卷积层、第一带孔卷积层至第三带孔卷积层、第一反卷积层至第四反卷积层各自的卷积核大小为3×3,第一卷积层的卷积核个数为32、第二卷积层和第三卷积层的卷积核个数为64、第四卷积层和第五卷积层的卷积核个数为128、第一带孔卷积层和第二带孔卷积层的卷积核个数为256、第三带孔卷积层的卷积核个数为512、第一反卷积层和第六卷积层的卷积核个数为256、第二反卷积层和第七卷积层的卷积核个数为128、第三反卷积层和第八卷积层的卷积核个数为64、第四反卷积层的卷积核个数为32、第九卷积层的卷积核个数为1、第十卷积层的卷积核个数为256、第十一卷积层的卷积核个数为128、第十二卷积层的卷积核个数为64、第十三卷积层的卷积核个数为32,第一卷积层至第十三卷积层、第一带孔卷积层至第三带孔卷积层各自的卷积步长采用默认值,第一反卷积层至第四反卷积层各自的卷积步长为2×2,第一批规范化层至第二十批规范化层的参数采用默认值,第一激活层至第二十激活层的激活函数采用relu,第一最大池化层至第四最大池化层的池化步长为2×2,第一上采样层至第四上采样层的采样步长为2×2;

对于编码框架,第一卷积层的输入端接收输入层的输出端输出的原始输入图像,第一卷积层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为j1,其中,j1中的每幅特征图的宽度为r、高度为l;第一批规范化层的输入端接收j1中的所有特征图,第一批规范化层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为p1,其中,p1中的每幅特征图的宽度为r、高度为l;第一激活层的输入端接收p1中的所有特征图,第一激活层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为h1,其中,h1中的每幅特征图的宽度为r、高度为l;第一最大池化层的输入端接收h1中的所有特征图,第一最大池化层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为z1,其中,z1中的每幅特征图的宽度为高度为第二卷积层的输入端接收z1中的所有特征图,第二卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为j2,其中,j2中的每幅特征图的宽度为高度为第二批规范化层的输入端接收j2中的所有特征图,第二批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p2,其中,p2中的每幅特征图的宽度为高度为第二激活层的输入端接收p2中的所有特征图,第二激活层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为h2,其中,h2中的每幅特征图的宽度为高度为第三卷积层的输入端接收h2中的所有特征图,第三卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为j3,其中,j3中的每幅特征图的宽度为高度为第三批规范化层的输入端接收j3中的所有特征图,第三批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p3,其中,p3中的每幅特征图的宽度为高度为第一concatenate融合层的输入端接收p3中的所有特征图和h2中的所有特征图,第一concatenate融合层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为c1,其中,c1中的每幅特征图的宽度为高度为第三激活层的输入端接收c1中的所有特征图,第三激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h3,其中,h3中的每幅特征图的宽度为高度为第二最大池化层的输入端接收h3中的所有特征图,第二最大池化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为z2,其中,z2中的每幅特征图的宽度为高度为第四卷积层的输入端接收z2中的所有特征图,第四卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为j4,其中,j4中的每幅特征图的宽度为高度为第四批规范化层的输入端接收j4中的所有特征图,第四批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p4,其中,p4中的每幅特征图的宽度为高度为第四激活层的输入端接收p4中的所有特征图,第四激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h4,其中,h4中的每幅特征图的宽度为高度为第五卷积层的输入端接收h4中的所有特征图,第五卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为j5,其中,j5中的每幅特征图的宽度为高度为第五批规范化层的输入端接收j5中的所有特征图,第五批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p5,其中,p5中的每幅特征图的宽度为高度为第二concatenate融合层的输入端接收p5中的所有特征图和h4中的所有特征图,第二concatenate融合层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为c2,其中,c2中的每幅特征图的宽度为高度为第五激活层的输入端接收c2中的所有特征图,第五激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h5,其中,h5中的每幅特征图的宽度为高度为第三最大池化层的输入端接收h5中的所有特征图,第三最大池化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为z3,其中,z3中的每幅特征图的宽度为高度为第一带孔卷积层的输入端接收z3中的所有特征图,第一带孔卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为k1,其中,k1中的每幅特征图的宽度为高度为第六批规范化层的输入端接收k1中的所有特征图,第六批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p6,其中,p6中的每幅特征图的宽度为高度为第六激活层的输入端接收p6中的所有特征图,第六激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h6,其中,h6中的每幅特征图的宽度为高度为第二带孔卷积层的输入端接收h6中的所有特征图,第二带孔卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为k2,其中,k2中的每幅特征图的宽度为高度为第七批规范化层的输入端接收k2中的所有特征图,第七批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p7,其中,p7中的每幅特征图的宽度为高度为第三concatenate融合层的输入端接收p7中的所有特征图和h6中的所有特征图,第三concatenate融合层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为c3,其中,c3中的每幅特征图的宽度为高度为第七激活层的输入端接收c3中的所有特征图,第七激活层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为h7,其中,h7中的每幅特征图的宽度为高度为第四最大池化层的输入端接收h7中的所有特征图,第四最大池化层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为z4,其中,z4中的每幅特征图的宽度为高度为第三带孔卷积层的输入端接收z4中的所有特征图,第三带孔卷积层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为k3,其中,k3中的每幅特征图的宽度为高度为第八批规范化层的输入端接收k3中的所有特征图,第八批规范化层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为p8,其中,p8中的每幅特征图的宽度为高度为第八激活层的输入端接收p8中的所有特征图,第八激活层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为h8,h8也即为编码框架的输出,其中,h8中的每幅特征图的宽度为高度为

对于译码框架,第一反卷积层的输入端接收编码框架的输出即h8中的所有特征图,第一反卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为f1,其中,f1中的每幅特征图的宽度为高度为第九批规范化层的输入端接收f1中的所有特征图,第九批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p9,其中,p9中的每幅特征图的宽度为高度为第四concatenate融合层的输入端接收p9中的所有特征图和p7中的所有特征图,第四concatenate融合层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为c4,其中,c4中的每幅特征图的宽度为高度为第九激活层的输入端接收c4中的所有特征图,第九激活层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为h9,其中,h9中的每幅特征图的宽度为高度为第六卷积层的输入端接收h9中的所有特征图,第六卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为j6,其中,j6中的每幅特征图的宽度为高度为第十批规范化层的输入端接收j6中的所有特征图,第十批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p10,其中,p10中的每幅特征图的宽度为高度为第十激活层的输入端接收p10中的所有特征图,第十激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h10,其中,h10中的每幅特征图的宽度为高度为第二反卷积层的输入端接收编码框架的输出即h10中的所有特征图,第二反卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为f2,其中,f2中的每幅特征图的宽度为高度为第十一批规范化层的输入端接收f2中的所有特征图,第十一批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p11,其中,p11中的每幅特征图的宽度为高度为第五concatenate融合层的输入端接收p11中的所有特征图和p5中的所有特征图,第五concatenate融合层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为c5,其中,c5中的每幅特征图的宽度为高度为第十一激活层的输入端接收c5中的所有特征图,第十一激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h11,其中,h11中的每幅特征图的宽度为高度为第七卷积层的输入端接收h11中的所有特征图,第七卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为j7,其中,j7中的每幅特征图的宽度为高度为第十二批规范化层的输入端接收j7中的所有特征图,第十二批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p12,其中,p12中的每幅特征图的宽度为高度为第十二激活层的输入端接收p12中的所有特征图,第十二激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h12,其中,h12中的每幅特征图的宽度为高度为第三反卷积层的输入端接收h12中的所有特征图,第三反卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为f3,其中,f3中的每幅特征图的宽度为高度为第十三批规范化层的输入端接收f3中的所有特征图,第十三批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p13,其中,p13中的每幅特征图的宽度为高度为第六concatenate融合层的输入端接收p13中的所有特征图和p3中的所有特征图,第六concatenate融合层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为c6,其中,c6中的每幅特征图的宽度为高度为第十三激活层的输入端接收c6中的所有特征图,第十三激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h13,其中,h13中的每幅特征图的宽度为高度为第八卷积层的输入端接收h13中的所有特征图,第八卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为j8,其中,j8中的每幅特征图的宽度为高度为第十四批规范化层的输入端接收j8中的所有特征图,第十四批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p14,其中,p14中的每幅特征图的宽度为高度为第十四激活层的输入端接收p14中的所有特征图,第十四激活层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为h14,其中,h14中的每幅特征图的宽度为高度为第四反卷积层的输入端接收h14中的所有特征图,第四反卷积层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为f4,其中,f4中的每幅特征图的宽度为r、高度为l;第十五批规范化层的输入端接收f4中的所有特征图,第十五批规范化层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为p15,其中,p15中的每幅特征图的宽度为r、高度为l;第七concatenate融合层的输入端接收p15中的所有特征图、h1中的所有特征图、上采样框架的输出,第七concatenate融合层的输出端输出96幅特征图,将输出的所有特征图构成的集合记为c7,其中,c7中的每幅特征图的宽度为r、高度为l;

对于上采样框架,第一上采样层的输入端接收z4中的所有特征图,第一上采样层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为y1,其中,y1中的每幅特征图的宽度为高度为第十卷积层的输入端接收y1中的所有特征图,第十卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为j10,其中,j10中的每幅特征图的宽度为高度为第十七批规范化层的输入端接收j10中的所有特征图,第十七批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p17,其中,p17中的每幅特征图的宽度为高度为第十七激活层的输入端接收p17中的所有特征图,第十七激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h17,其中,h17中的每幅特征图的宽度为高度为第二上采样层的输入端接收h17中的所有特征图,第二上采样层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为y2,其中,y2中的每幅特征图的宽度为高度为第十一卷积层的输入端接收y2中的所有特征图,第十一卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为j11,其中,j11中的每幅特征图的宽度为高度为第十八批规范化层的输入端接收j11中的所有特征图,第十八批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p18,其中,p18中的每幅特征图的宽度为高度为第十八激活层的输入端接收p18中的所有特征图,第十八激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h18,其中,h18中的每幅特征图的宽度为高度为第三上采样层的输入端接收h18中的所有特征图,第三上采样层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为y3,其中,y3中的每幅特征图的宽度为高度为第十二卷积层的输入端接收y3中的所有特征图,第十二卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为j12,其中,j12中的每幅特征图的宽度为高度为第十九批规范化层的输入端接收j12中的所有特征图,第十九批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p19,其中,p19中的每幅特征图的宽度为高度为第十九激活层的输入端接收p19中的所有特征图,第十九激活层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为h19,其中,h19中的每幅特征图的宽度为高度为第四上采样层的输入端接收h19中的所有特征图,第四上采样层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为y4,其中,y4中的每幅特征图的宽度为r、高度为l;第十三卷积层的输入端接收y4中的所有特征图,第十三卷积层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为j13,其中,j13中的每幅特征图的宽度为r、高度为l;第二十批规范化层的输入端接收j13中的所有特征图,第二十批规范化层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为p20,其中,p20中的每幅特征图的宽度为r、高度为l;第二十激活层的输入端接收p20中的所有特征图,第二十激活层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为h20,其中,h20中的每幅特征图的宽度为r、高度为l;

对于输出层,第十五激活层的输入端接收译码框架的输出即c7中的所有特征图,第十五激活层的输出端输出96幅特征图,将输出的所有特征图构成的集合记为h15,其中,h15中的每幅特征图的宽度为r、高度为l;第九卷积层的输入端接收h15中的所有特征图,第九卷积层的输出端输出1幅特征图,将输出的所有特征图构成的集合记为j9,其中,j9中的特征图的宽度为r、高度为l;第十六批规范化层的输入端接收j9中的特征图,第十六批规范化层的输出端输出1幅特征图,将输出的所有特征图构成的集合记为p16,其中,p16中的特征图的宽度为r、高度为l;第十六激活层的输入端接收p16中的特征图,第十六激活层的输出端输出1幅特征图,将输出的所有特征图构成的集合记为h16,其中,h16中的特征图的宽度为r、高度为l,h16中的特征图即为原始输入图像对应的估计深度图像;

步骤1_3:将训练集中的每幅原始的单目图像作为原始输入图像,输入到卷积神经网络中进行训练,得到训练集中的每幅原始的单目图像对应的估计深度图像,将{qn(x,y)}对应的估计深度图像记为其中,表示中坐标位置为(x,y)的像素点的像素值;

步骤1_4:计算训练集中的每幅原始的单目图像对应的估计深度图像与对应的真实深度图像之间的损失函数值,将之间的损失函数值记为

步骤1_5:重复执行步骤1_3和步骤1_4共v次,得到训练好的卷积神经网络训练模型,并共得到n×v个损失函数值;然后从n×v个损失函数值中找出值最小的损失函数值;接着将值最小的损失函数值对应的权值矢量和偏置项对应作为训练好的卷积神经网络训练模型的最优权值矢量和最优偏置项,对应记为wbest和bbest;其中,v>1;

所述的测试阶段过程的具体步骤为:

步骤2_1:令{q(x',y')}表示待预测的单目图像;其中,1≤x'≤r',1≤y'≤l',r'表示{q(x',y')}的宽度,l'表示{q(x',y')}的高度,q(x',y')表示{q(x',y')}中坐标位置为(x',y')的像素点的像素值;

步骤2_2:将{q(x',y')}输入到训练好的卷积神经网络训练模型中,并利用wbest和bbest进行预测,得到{q(x',y')}对应的预测深度图像,记为{qdepth(x',y')};其中,qdepth(x',y')表示{qdepth(x',y')}中坐标位置为(x',y')的像素点的像素值。

所述的步骤1_4中,采用均方误差函数获得。

与现有技术相比,本发明的优点在于:

1)本发明方法在构建卷积神经网络的过程中采用了跳层连接方式,即采用了concatenate融合层,并同时在编码框架内使用了短跳层连接,即使用了第一concatenate融合层、第二concatenate融合层、第三concatenate融合层进行连接;在编码框架和译码框架间使用了长跳层连接,即使用了第四concatenate融合层、第五concatenate融合层、第六concatenate融合层、第七concatenate融合层进行连接,使用跳层连接有益于多尺度特征融合和边界保持,短跳层连接丰富了在编码过程中信息多样性,长跳层连接解决了译码部分原始边界信息的缺失,从而使得利用训练得到的卷积神经网络训练模型进行深度估计更准确。

2)本发明方法使用端到端的卷积神经网络训练框架,在编码框架的第三最大池化层之后使用了三个带孔卷积层来提取特征信息,而带孔卷积层能够在不增加训练参数的数量的前提下可以扩大神经元的感受野,得到更多的特征信息。

3)本发明方法创建的卷积神经网络的隐层包括编码框架、译码框架和上采样框架,三个框架的结合使得利用训练得到的卷积神经网络训练模型能够提取到具有丰富信息的特征,从而可以获得准确性高的深度信息,进而提高了深度估计结果的精度。

4)利用本发明方法得到的预测深度图像的尺寸与原始的单目图像的尺寸相同,有利于对其中深度信息的直接使用。

附图说明

图1为本发明方法中创建的卷积神经网络的隐层中的编码框架的组成结构示意图;

图2为本发明方法中创建的卷积神经网络的隐层中的译码框架和创建的卷积神经网络的输出层各自的组成结构示意图;

图3为本发明方法中创建的卷积神经网络的隐层中的上采样框架的组成结构示意图。

具体实施方式

以下结合附图实施例对本发明作进一步详细描述。

本发明提出的一种单目视觉深度估计方法,其特征在于包括训练阶段和测试阶段两个过程。

所述的训练阶段过程的具体步骤为:

步骤1_1:选取n幅原始的单目图像及每幅原始的单目图像对应的真实深度图像,并构成训练集,将训练集中的第n幅原始的单目图像记为{qn(x,y)},将训练集中与{qn(x,y)}对应的真实深度图像记为其中,n为正整数,n≥100,如取n=1000,n为正整数,1≤n≤n,1≤x≤r,1≤y≤l,r表示{qn(x,y)}和的宽度,l表示{qn(x,y)}和的高度,r和l均能被2整除,qn(x,y)表示{qn(x,y)}中坐标位置为(x,y)的像素点的像素值,表示中坐标位置为(x,y)的像素点的像素值;在此,原始的单目图像和其对应的真实深度图像直接由kitti官网提供。

步骤1_2:构建端到端的卷积神经网络:卷积神经网络包括输入层、隐层和输出层;隐层包括编码框架、译码框架和上采样框架。

对于输入层,输入层的输入端接收一幅原始输入图像,输入层的输出端输出原始输入图像给隐层;其中,要求输入层的输入端接收的原始输入图像的宽度为r、高度为l。

对于编码框架,如图1所示,其由依次设置的第一卷积层、第一批规范化层、第一激活层、第一最大池化层、第二卷积层、第二批规范化层、第二激活层、第三卷积层、第三批规范化层、第一concatenate融合层、第三激活层、第二最大池化层、第四卷积层、第四批规范化层、第四激活层、第五卷积层、第五批规范化层、第二concatenate融合层、第五激活层、第三最大池化层、第一带孔卷积层、第六批规范化层、第六激活层、第二带孔卷积层、第七批规范化层、第三concatenate融合层、第七激活层、第四最大池化层、第三带孔卷积层、第八批规范化层、第八激活层组成;对于译码框架,如图2所示,其由依次设置的第一反卷积层、第九批规范化层、第四concatenate融合层、第九激活层、第六卷积层、第十批规范化层、第十激活层、第二反卷积层、第十一批规范化层、第五concatenate融合层、第十一激活层、第七卷积层、第十二批规范化层、第十二激活层、第三反卷积层、第十三批规范化层、第六concatenate融合层、第十三激活层、第八卷积层、第十四批规范化层、第十四激活层、第四反卷积层、第十五批规范化层、第七concatenate融合层组成;对于上采样框架,如图3所示,其由依次设置的第一上采样层、第十卷积层、第十七批规范化层、第十七激活层、第二上采样层、第十一卷积层、第十八批规范化层、第十八激活层、第三上采样层、第十二卷积层、第十九批规范化层、第十九激活层、第四上采样层、第十三卷积层、第二十批规范化层、第二十激活层组成;对于输出层,如图2所示,其由依次设置的第十五激活层、第九卷积层、第十六批规范化层、第十六激活层组成,其中,第一卷积层至第十三卷积层、第一带孔卷积层至第三带孔卷积层、第一反卷积层至第四反卷积层各自的卷积核大小为3×3,第一卷积层的卷积核个数为32、第二卷积层和第三卷积层的卷积核个数为64、第四卷积层和第五卷积层的卷积核个数为128、第一带孔卷积层和第二带孔卷积层的卷积核个数为256、第三带孔卷积层的卷积核个数为512、第一反卷积层和第六卷积层的卷积核个数为256、第二反卷积层和第七卷积层的卷积核个数为128、第三反卷积层和第八卷积层的卷积核个数为64、第四反卷积层的卷积核个数为32、第九卷积层的卷积核个数为1、第十卷积层的卷积核个数为256、第十一卷积层的卷积核个数为128、第十二卷积层的卷积核个数为64、第十三卷积层的卷积核个数为32,第一卷积层至第十三卷积层、第一带孔卷积层至第三带孔卷积层各自的卷积步长采用默认值,第一反卷积层至第四反卷积层各自的卷积步长为2×2,第一批规范化层至第二十批规范化层的参数采用默认值,第一激活层至第二十激活层的激活函数采用relu,第一最大池化层至第四最大池化层的池化步长为2×2,第一上采样层至第四上采样层的采样步长为2×2。

对于编码框架,第一卷积层的输入端接收输入层的输出端输出的原始输入图像,第一卷积层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为j1,其中,j1中的每幅特征图的宽度为r、高度为l;第一批规范化层的输入端接收j1中的所有特征图,第一批规范化层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为p1,其中,p1中的每幅特征图的宽度为r、高度为l;第一激活层的输入端接收p1中的所有特征图,第一激活层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为h1,其中,h1中的每幅特征图的宽度为r、高度为l;第一最大池化层的输入端接收h1中的所有特征图,第一最大池化层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为z1,其中,z1中的每幅特征图的宽度为高度为第二卷积层的输入端接收z1中的所有特征图,第二卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为j2,其中,j2中的每幅特征图的宽度为高度为第二批规范化层的输入端接收j2中的所有特征图,第二批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p2,其中,p2中的每幅特征图的宽度为高度为第二激活层的输入端接收p2中的所有特征图,第二激活层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为h2,其中,h2中的每幅特征图的宽度为高度为第三卷积层的输入端接收h2中的所有特征图,第三卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为j3,其中,j3中的每幅特征图的宽度为高度为第三批规范化层的输入端接收j3中的所有特征图,第三批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p3,其中,p3中的每幅特征图的宽度为高度为第一concatenate融合层的输入端接收p3中的所有特征图和h2中的所有特征图,第一concatenate融合层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为c1,其中,c1中的每幅特征图的宽度为高度为第三激活层的输入端接收c1中的所有特征图,第三激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h3,其中,h3中的每幅特征图的宽度为高度为第二最大池化层的输入端接收h3中的所有特征图,第二最大池化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为z2,其中,z2中的每幅特征图的宽度为高度为第四卷积层的输入端接收z2中的所有特征图,第四卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为j4,其中,j4中的每幅特征图的宽度为高度为第四批规范化层的输入端接收j4中的所有特征图,第四批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p4,其中,p4中的每幅特征图的宽度为高度为第四激活层的输入端接收p4中的所有特征图,第四激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h4,其中,h4中的每幅特征图的宽度为高度为第五卷积层的输入端接收h4中的所有特征图,第五卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为j5,其中,j5中的每幅特征图的宽度为高度为第五批规范化层的输入端接收j5中的所有特征图,第五批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p5,其中,p5中的每幅特征图的宽度为高度为第二concatenate融合层的输入端接收p5中的所有特征图和h4中的所有特征图,第二concatenate融合层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为c2,其中,c2中的每幅特征图的宽度为高度为第五激活层的输入端接收c2中的所有特征图,第五激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h5,其中,h5中的每幅特征图的宽度为高度为第三最大池化层的输入端接收h5中的所有特征图,第三最大池化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为z3,其中,z3中的每幅特征图的宽度为高度为第一带孔卷积层的输入端接收z3中的所有特征图,第一带孔卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为k1,其中,k1中的每幅特征图的宽度为高度为第六批规范化层的输入端接收k1中的所有特征图,第六批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p6,其中,p6中的每幅特征图的宽度为高度为第六激活层的输入端接收p6中的所有特征图,第六激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h6,其中,h6中的每幅特征图的宽度为高度为第二带孔卷积层的输入端接收h6中的所有特征图,第二带孔卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为k2,其中,k2中的每幅特征图的宽度为高度为第七批规范化层的输入端接收k2中的所有特征图,第七批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p7,其中,p7中的每幅特征图的宽度为高度为第三concatenate融合层的输入端接收p7中的所有特征图和h6中的所有特征图,第三concatenate融合层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为c3,其中,c3中的每幅特征图的宽度为高度为第七激活层的输入端接收c3中的所有特征图,第七激活层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为h7,其中,h7中的每幅特征图的宽度为高度为第四最大池化层的输入端接收h7中的所有特征图,第四最大池化层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为z4,其中,z4中的每幅特征图的宽度为高度为第三带孔卷积层的输入端接收z4中的所有特征图,第三带孔卷积层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为k3,其中,k3中的每幅特征图的宽度为高度为第八批规范化层的输入端接收k3中的所有特征图,第八批规范化层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为p8,其中,p8中的每幅特征图的宽度为高度为第八激活层的输入端接收p8中的所有特征图,第八激活层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为h8,h8也即为编码框架的输出,其中,h8中的每幅特征图的宽度为高度为

对于译码框架,第一反卷积层的输入端接收编码框架的输出即h8中的所有特征图,第一反卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为f1,其中,f1中的每幅特征图的宽度为高度为第九批规范化层的输入端接收f1中的所有特征图,第九批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p9,其中,p9中的每幅特征图的宽度为高度为第四concatenate融合层的输入端接收p9中的所有特征图和p7中的所有特征图,第四concatenate融合层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为c4,其中,c4中的每幅特征图的宽度为高度为第九激活层的输入端接收c4中的所有特征图,第九激活层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为h9,其中,h9中的每幅特征图的宽度为高度为第六卷积层的输入端接收h9中的所有特征图,第六卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为j6,其中,j6中的每幅特征图的宽度为高度为第十批规范化层的输入端接收j6中的所有特征图,第十批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p10,其中,p10中的每幅特征图的宽度为高度为第十激活层的输入端接收p10中的所有特征图,第十激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h10,其中,h10中的每幅特征图的宽度为高度为第二反卷积层的输入端接收编码框架的输出即h10中的所有特征图,第二反卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为f2,其中,f2中的每幅特征图的宽度为高度为第十一批规范化层的输入端接收f2中的所有特征图,第十一批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p11,其中,p11中的每幅特征图的宽度为高度为第五concatenate融合层的输入端接收p11中的所有特征图和p5中的所有特征图,第五concatenate融合层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为c5,其中,c5中的每幅特征图的宽度为高度为第十一激活层的输入端接收c5中的所有特征图,第十一激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h11,其中,h11中的每幅特征图的宽度为高度为第七卷积层的输入端接收h11中的所有特征图,第七卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为j7,其中,j7中的每幅特征图的宽度为高度为第十二批规范化层的输入端接收j7中的所有特征图,第十二批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p12,其中,p12中的每幅特征图的宽度为高度为第十二激活层的输入端接收p12中的所有特征图,第十二激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h12,其中,h12中的每幅特征图的宽度为高度为第三反卷积层的输入端接收h12中的所有特征图,第三反卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为f3,其中,f3中的每幅特征图的宽度为高度为第十三批规范化层的输入端接收f3中的所有特征图,第十三批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p13,其中,p13中的每幅特征图的宽度为高度为第六concatenate融合层的输入端接收p13中的所有特征图和p3中的所有特征图,第六concatenate融合层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为c6,其中,c6中的每幅特征图的宽度为高度为第十三激活层的输入端接收c6中的所有特征图,第十三激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h13,其中,h13中的每幅特征图的宽度为高度为第八卷积层的输入端接收h13中的所有特征图,第八卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为j8,其中,j8中的每幅特征图的宽度为高度为第十四批规范化层的输入端接收j8中的所有特征图,第十四批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p14,其中,p14中的每幅特征图的宽度为高度为第十四激活层的输入端接收p14中的所有特征图,第十四激活层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为h14,其中,h14中的每幅特征图的宽度为高度为第四反卷积层的输入端接收h14中的所有特征图,第四反卷积层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为f4,其中,f4中的每幅特征图的宽度为r、高度为l;第十五批规范化层的输入端接收f4中的所有特征图,第十五批规范化层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为p15,其中,p15中的每幅特征图的宽度为r、高度为l;第七concatenate融合层的输入端接收p15中的所有特征图、h1中的所有特征图、上采样框架的输出,第七concatenate融合层的输出端输出96幅特征图,将输出的所有特征图构成的集合记为c7,其中,c7中的每幅特征图的宽度为r、高度为l。

对于上采样框架,第一上采样层的输入端接收z4中的所有特征图,第一上采样层的输出端输出512幅特征图,将输出的所有特征图构成的集合记为y1,其中,y1中的每幅特征图的宽度为高度为第十卷积层的输入端接收y1中的所有特征图,第十卷积层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为j10,其中,j10中的每幅特征图的宽度为高度为第十七批规范化层的输入端接收j10中的所有特征图,第十七批规范化层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为p17,其中,p17中的每幅特征图的宽度为高度为第十七激活层的输入端接收p17中的所有特征图,第十七激活层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为h17,其中,h17中的每幅特征图的宽度为高度为第二上采样层的输入端接收h17中的所有特征图,第二上采样层的输出端输出256幅特征图,将输出的所有特征图构成的集合记为y2,其中,y2中的每幅特征图的宽度为高度为第十一卷积层的输入端接收y2中的所有特征图,第十一卷积层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为j11,其中,j11中的每幅特征图的宽度为高度为第十八批规范化层的输入端接收j11中的所有特征图,第十八批规范化层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为p18,其中,p18中的每幅特征图的宽度为高度为第十八激活层的输入端接收p18中的所有特征图,第十八激活层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为h18,其中,h18中的每幅特征图的宽度为高度为第三上采样层的输入端接收h18中的所有特征图,第三上采样层的输出端输出128幅特征图,将输出的所有特征图构成的集合记为y3,其中,y3中的每幅特征图的宽度为高度为第十二卷积层的输入端接收y3中的所有特征图,第十二卷积层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为j12,其中,j12中的每幅特征图的宽度为高度为第十九批规范化层的输入端接收j12中的所有特征图,第十九批规范化层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为p19,其中,p19中的每幅特征图的宽度为高度为第十九激活层的输入端接收p19中的所有特征图,第十九激活层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为h19,其中,h19中的每幅特征图的宽度为高度为第四上采样层的输入端接收h19中的所有特征图,第四上采样层的输出端输出64幅特征图,将输出的所有特征图构成的集合记为y4,其中,y4中的每幅特征图的宽度为r、高度为l;第十三卷积层的输入端接收y4中的所有特征图,第十三卷积层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为j13,其中,j13中的每幅特征图的宽度为r、高度为l;第二十批规范化层的输入端接收j13中的所有特征图,第二十批规范化层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为p20,其中,p20中的每幅特征图的宽度为r、高度为l;第二十激活层的输入端接收p20中的所有特征图,第二十激活层的输出端输出32幅特征图,将输出的所有特征图构成的集合记为h20,其中,h20中的每幅特征图的宽度为r、高度为l。

对于输出层,第十五激活层的输入端接收译码框架的输出即c7中的所有特征图,第十五激活层的输出端输出96幅特征图,将输出的所有特征图构成的集合记为h15,其中,h15中的每幅特征图的宽度为r、高度为l;第九卷积层的输入端接收h15中的所有特征图,第九卷积层的输出端输出1幅特征图,将输出的所有特征图构成的集合记为j9,其中,j9中的特征图的宽度为r、高度为l;第十六批规范化层的输入端接收j9中的特征图,第十六批规范化层的输出端输出1幅特征图,将输出的所有特征图构成的集合记为p16,其中,p16中的特征图的宽度为r、高度为l;第十六激活层的输入端接收p16中的特征图,第十六激活层的输出端输出1幅特征图,将输出的所有特征图构成的集合记为h16,其中,h16中的特征图的宽度为r、高度为l,h16中的特征图即为原始输入图像对应的估计深度图像。

步骤1_3:将训练集中的每幅原始的单目图像作为原始输入图像,输入到卷积神经网络中进行训练,得到训练集中的每幅原始的单目图像对应的估计深度图像,将{qn(x,y)}对应的估计深度图像记为其中,表示中坐标位置为(x,y)的像素点的像素值。

步骤1_4:计算训练集中的每幅原始的单目图像对应的估计深度图像与对应的真实深度图像之间的损失函数值,将之间的损失函数值记为采用均方误差函数获得。

步骤1_5:重复执行步骤1_3和步骤1_4共v次,得到训练好的卷积神经网络训练模型,并共得到n×v个损失函数值;然后从n×v个损失函数值中找出值最小的损失函数值;接着将值最小的损失函数值对应的权值矢量和偏置项对应作为训练好的卷积神经网络训练模型的最优权值矢量和最优偏置项,对应记为wbest和bbest;其中,v>1,在本实施例中取v=20。

所述的测试阶段过程的具体步骤为:

步骤2_1:令{q(x',y')}表示待预测的单目图像;其中,1≤x'≤r',1≤y'≤l',r'表示{q(x',y')}的宽度,l'表示{q(x',y')}的高度,q(x',y')表示{q(x',y')}中坐标位置为(x',y')的像素点的像素值。

步骤2_2:将{q(x',y')}输入到训练好的卷积神经网络训练模型中,并利用wbest和bbest进行预测,得到{q(x',y')}对应的预测深度图像,记为{qdepth(x',y')};其中,qdepth(x',y')表示{qdepth(x',y')}中坐标位置为(x',y')的像素点的像素值。

为了验证本发明方法的可行性和有效性,对本发明方法进行实验。

在此,本发明方法中构成训练集的单目图像和用于测试的单目图像均由kitti官方网站给出,因此直接使用kitti官方网站给出的测试数据集来分析测试本发明方法的准确性。将测试数据集中的每幅单目图像作为待预测的单目图像输入到训练好的深度卷积神经网络训练模型中,再载入训练阶段得到的最优权重wbest,获得对应的预测深度图像。

在此,采用单目视觉深度预测评价方法的6个常用客观参量作为评价指标,即:均方根误差(rootmeansquarederror,rms)、对数均方根误差(log_rms)、平均对数误差(averagelog10error,log10)、阈值准确性(thr):δ1、δ2、δ3。均方根误差、对数均方根误差、平均对数误差的数值越低代表预测深度图像与真实深度图像越接近,δ1、δ2、δ3的数值越高说明预测深度图像的准确性越高。反映本发明方法的评价性能优劣指标的均方根误差、对数均方根误差、平均对数误差和δ1、δ2、δ3的结果如表1所列。从表1所列的数据可知,按本发明方法获得的预测深度图像与真实深度图像之间的差别很小,这说明了本发明方法的预测结果的精度很高,体现了本发明方法的可行性和有效性。

表1利用本发明方法预测得到的预测深度图像与真实深度图像之间的对比评价指标

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1