本发明涉及一种光场图像的深度信息估计方法,主要是设计了一种基于全卷积神经网络的模型对光场图像进行深度信息估计。
背景技术:
光场成像技术近年来日渐成熟,不同于传统数码相机、数码摄像机或者是手机等以小孔成像为基础的图像获取设备,光场成像不仅可以获取到光线的光强信息,还可以捕获到光线的方向信息,因此,光场相机通过单次曝光可以记录3维场景的空间、视角等4维光场信息,与传统相机2维图像采集方式相比具有显著创新,具有“先拍摄,后对焦”的独特优势,可通过计算成像实现多视角成像、数字重对焦、深度估计、3维重构等多种成像应用。
目前,成熟的光场设备为ng等人开发的消费级单镜头光场相机lytro和lytroillum,该设备基于微透镜阵列以集成成像为基础,其模型见附图1。微透镜阵列中每个透镜可以接收到同一场景点的不同光线并在感光板上形成一个“宏像素”,由这些“宏像素”构成的图像称为光场子视图(lightfieldsubview),通过对光场子视图的重排编码可以得到我们最终需要的光场子孔径图像(lightfieldsub-apertureimages),其过程见附图2。
光场子孔径图像表示了不同视角的场景图像,但基于微透镜阵列的光场相机具有基线短的特点,这使得场景在不同视点的差异值(disparity)是连续的,可以通过构建对极线平面图(epipolarplaneimage,epi)来进行深度信息的估计,epi的结构如附图3所示,epi中直线的斜率和深度信息成正比关系。
当前,深度信息的估计方法分为两大类:基于epi的估计算法以及基于立体匹配的估计算法。基于立体匹配的算法典型代表为sabater等人提出基于图像块匹配(blockmatching)的深度估计算法,取6×6的中心视角的子微镜图像集,对同一行的奇数视角和偶数视角分别进行图像对的立体匹配,图像块之间相似度测量的方法是zssd(zero-meansumofsquareddifferences),再进行一维中值滤波去噪、亚像素优化,最终得到高精度深度图,基于立体匹配的算法复杂度高,计算代价大。基于epi的估计算法利用了epi中直线斜率和深度的关系,可以有效降低计算代价,并且估计精度更高,其中较为优秀的算法是wanner等人提出一个符合光场结构特性的局部深度估计算法,即利用结构张量计算epi上直线的局部水平和垂直方向的斜率,然后选择局部更可靠平滑的估计值,去除噪点,或者进行全局优化。但该算法对于镜面反射、高光或缺少纹理的表面无法估计精确的深度信息。
基于epi的估计算法近年来与深度学习相结合取得了不错的成绩,luo等人于2017年在cvpr中提出了一种基于epi的卷积神经网络的深度信息提取算法,该算法以水平及垂直epi作为输入,网络模型对epi进行特征分析,并得出场景点的深度信息估计值,其模型见附图4,该模型将输出的估计值作为分类任务输出(量化后的结果),因此模型的估计精度有限,对此,该算法还提出了基于能量函数的后优化处理,对最终生成的深度图作平滑优化。总体上基于深度学习的估计算法在精度以及计算代价上优于非深度学习的方式,但是仍然存在需要多次执行模型前向传播得到整体的深度图以及需要作后处理的缺点。
技术实现要素:
本发明立足于深度学习技术以及基于epi的光场的深度信息估计方式,采用全卷积网络的思想,提出一种可以高精度、高效率、低计算代价完成深度信息估计的算法。
为了实现上述发明的目的,本发明提供以下技术方案:
首先,算法提出改良的epi以及对应的边缘图作为网络模型的输入,改良的epi包含了所有像素点的信息,补正了传统epi只包含部分像素点信息的缺点,边缘图强调了边缘信息,补正了传统epi缺少边缘信息的缺点。
其次,算法提出基于全卷积神经网络的网络模型,对改良的epi以及边缘图进行像素级的特征学习,输出深度图。
最后,模型的训练需要大量数据,对此,提出了一种针对光场数据的特化的数据增强方案。
根据以上技术方案思想,本发明提供一种基于全卷积神经网络的光场深度信息的估计方法,该方法应用于基于微透镜阵列的光场深度信息估计,其特征在于,该方法包括以下过程:
a)使用基于微透镜阵列的光场相机采集光场图像数据,并使用改变视角顺序的方式增强数据多样性;
b)将增强后的光场图像数据合成为改良的epi(epipolarplaneimage)结构,同时,由边缘检测算法得到增强后的光场图像数据的边缘信息,组成边缘图;
c)构建基于全卷积神经网络的网络模型,把改良的epi结构和边缘图作为网络模型的输入,学习两者特征;
d)以平均绝对误差作为代价函数训练网络模型,直到模型参数收敛,输出差异图。
其中,改变视角顺序的方式,其特征是,该方式包含翻转及旋转两种,其中,翻转方式是按照合成为改良的epi结构前的视角方向反序,原来垂直方向从上至下顺序改为从下至上,原来水平方向从左至右顺序改为从右至左;
其中,改变视角顺序的方式,其特征是,该方式包含翻转及旋转两种,其中,旋转方式是根据旋转角度改变合成为改良的epi结构前的视角方向,当顺时针旋转角度为180°时,同时改变水平及垂直方向的视角提取顺序;当顺时针旋转角度为90°时,改变水平方向的视角提取顺序;当顺时针旋转角度为270°时,改变垂直方向的视角提取顺序;
其中,改良的epi结构,其特征是,改良的epi结构是三维结构;
其中,边缘图,其特征是:该边缘图是将80%的边缘信息和20%的原图信息进行叠加,生成的边缘图;
其中,基于全卷积神经网络的网络模型,其特征是,该模型由多个“卷积层-规范层-relu”基本单元和输出层的“卷积层-relu-卷积层”单元构成,模型的输入分别为改良的水平epi结构及其对应的边缘图、改良的垂直epi结构及其对应的边缘图,这4部分输入对应到模型的4个支路中。其中,每条支路中都包含有6个基本单元,基本单元中所有卷积层都是(2×2)大小的卷积核,卷积核数量为90;
其中,基于全卷积神经网络的网络模型,其特征是,该模型中4个支路合成为一个主路,其中,主路包含14个基本单元和输出层,基本单元中所有卷积层都是(2×2)大小的卷积核,卷积核数量为360,输出层第一个卷积层的卷积核大小为(2×2),卷积核数量为360,第二个卷积层的卷积核大小为(2×2),卷积核数量为1。
附图说明:
图1为背景中提到的单镜头微透镜阵列光场相机模型;
图2为背景中提到的子孔径图像的提取过程;
图3为背景中提到的epi结构示意图;
图4为背景中提到的luo等人提出的光场深度信息估计算法模型;
图5是本发明整体的算法流程图;
图6是本发明设计的基于全卷积神经网络的网络模型;
图7是本发明改良epi结构的形成过程;
图8是本发明边缘图预处理结果;
图9是本发明针对光场结构的数据增强处理方法。
具体实施方式
整个算法的流程图见图5,下面结合具体实施方式对本发明作进一步的详细描述。
具体的算法模型如图6所示,可以看到整体模型以卷积层为基础,不包含有全连接层,实现了全卷积的形式,并且没有后处理,输出为整个差异图,实现了端到端的形式。下面依次从模型参数、输入预处理来对图6模型进行详细描述。
图6中模型前半部分采用多流的形式,4部分的输入分别输入到4流中,但是每一条支路的参数数量一致(不代表参数相同,每条支路的参数在训练过程中是单独更新的),网络的层次结构以“卷积层-规范层-relu(整流线性单元)”为基本单元,前半部分的多流结构都是包含6个基本单元,其中所有卷积层的卷积核大小为(2×2),卷积核的数量为90;4部分输入经过多流以后将它们进行级联(按通道方向)输入到网络的后半部分,网络后半部分包含4个基本单元和一个输出部分,基本单元中所有卷积层的卷积核大小为(2×2),卷积核数量为360,输出部分包含的层级为“卷积层-relu-卷积层”,其中第一层卷积的卷积核大小为(2×2),数量为360,第二层卷积的卷积核大小为(2×2),卷积核数量为1(输出的差异图通道数为1)。
对于网络中层级结构的设计以及参数的选择理由如下:
①由于epi结构中的场景点在不视角上的移位量相当小,一般是像素级甚至是亚像素级的,因此将卷积核的大小设置为(2×2),卷积时的步长为1,这样可以感知4个像素点内的位移。
②基本单元选择“卷积层-规范层-relu”,卷积层不作展开说明,规范层的功能是将卷积层输出的分布重新规范化,解除不同卷积层之间的强耦合,起到正则化的作用;relu作为激活函数是实现整个网络函数的非线性化,而relu激活函数很接近线性函数,因此选择该激活函数可以使网络函数具有部分线性函数的优良属性。
③特别的,网络中不含有padding(填充),目的是不对输入增加无用信息,影响估计精度;网络中同样不具有pooling(池化),因为pooling会造成信息损失,影响估计精度。
模型输入包含有4个部分:水平、垂直方向对应的epi,以及由边缘图构成的水平、垂直epi。首先介绍本发明对epi结构的预处理:与图3的一般epi结构不同,一般的epi是将某一场景点按照视角顺序投影后形成,形成的epi结构只包含有部分场景点信息,而不包含整个场景点信息,而本发明使用改良后的epi包含整个场景点,目的是为了实现端到端的估计,下面介绍本发明改良epi的形成过程。
改良epi的形成见图7,具体为以下几个步骤:
①选取以中心视角图像为中心的水平方向所有视角的图片,并且将其灰度化,得到的图像大小为(高,宽,1),如图8中(a)所示。
②将灰度化的图像按照水平从左到右的顺序在图像的通道维度上进行合并,得到的水平epi输入大小为(高,宽,9)(以(9×9)视角分辨率为例),如图8中(b)所示。
③对垂直方向的图像作类似于步骤1,2的处理,可以得到垂直epi的输入。
对上述步骤的解释:首先对于步骤1,本发明期望网络学习同一场景点在不同视角下的位置关系,因此图像的色彩信息是不必要的冗余信息,所以将图像进行灰度化。其次对于步骤2,由于cnn网络的关键计算为卷积计算,为了让卷积操作可以实现对与不同视角图像的特征提取,本发明将不同视角下的图片按照视角顺序在图片的通道方向上进行合并,。这里着重强调按照视角顺序合并,在图3所示的一般epi结构中可以看到,只有按照视角顺序对图像进行提取重构才可以得到正确的epi结构。经上述步骤构成的epi结构包含了整个场景的信息,可以实现端到端的估计。
由于场景的深度在物体的边缘部分由跳变,而网络无法探测边缘部分的信息,从而导致边缘部分的估计精度低,对此,本发明提出边缘优化方法,具体做法是将水平、垂直epi中的图像处理为边缘图并以此作为输入添加到网络中,边缘图强调了边缘部分的信息,网络可以对边缘图进行特征学习来提高对边缘部分的估计精度。
见图8,边缘图的生成分为两步:首先利用canny边缘检测算子(不限制于该算法,可以使用其他的边缘检测算子,这不属于本发明的技术范围)生成图8(a)所示的边缘信息,该边缘信息只含有边缘值,其余部分为0,因此不可以直接以此图像作为边缘图,本发明将边缘信息与原图信息按照边缘80%,原图20%的比例进行叠加产生边缘图,如图8(b)所示。该边缘图保留了整个图像的场景点信息,同时强调了场景的边缘部分。
对于本发明模型的训练数据,本发明采用了hci开源光场数据集,由于该数据集光场图像数量少,本发明提出了针对光场结构特定的数据增强方式。数据增强有许多成熟的方法,但不是所有方式都能直接应用到本发明中,这里只介绍了本发明针对光场结构处理后的数据增强方法。
本发明针对图像的翻转和旋转两种增强方式作特化,因为这两种增强方式改变了光场子孔径图像的视角顺序和位置关系。对于翻转增强方式而言,其后处理较为简单,以垂直翻转为例,将图像进行垂直翻转后,所有光场子孔径图像在垂直方向顺序发生变化,之前提及了提取epi结构时视角顺序的重要性,因此在提取垂直方向epi结构时,对应的就要按照变化后的视角顺序提取,如图9中(a)所示,对于水平翻转也是同样的处理思想;对于旋转增强方式(默认顺时针旋转),其后处理分两种情况,若是旋转180°,其后处理与翻转一致,只完成视角顺序变换;但对于旋转90°或270°,不仅要改变提取epi结构时的视角顺序,提取的epi结构在水平及垂直方向的关系也要互换,以旋转90°为例,提取水平方向的子孔径图像合成的epi结构为实际为垂直epi结构,所以对应的要给到网络的垂直epi输入中,如图9中(b)所示。对应边缘图作同样的处理。
对于训练模型选择的代价函数和优化器,本发明选择平均绝对误差代价函数以及rmsprop优化器,这里只作简单阐述。
本发明的创新在于设计了端到端、全卷积形式的深度学习网络模型,并且以改良epi为网络输入使输入具备整体的场景点信息,这样可以使模型只经过一次前向传播来得到整体的差异图,其次是提出了利用边缘图优化边缘部分的估计精度,最后本算法根据光场的特点提出了特化的数据增强的处理方式。综上,本发明提出了一种高精度、高效率的光场深度信息估计方法。
以上对本发明提供的基于全卷积神经网络的光场深度信息估计方法作了详细阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。