单目深度估计的孔径监测--Aperture Supervision for Monocular Depth Estimation
作者提出了一种新方法来训练机器学习算法,通过使用摄像机孔径提供的信息作为监督,从单个图像估计场景深度。 之前的工作使用深度传感器的输出或来自备用视点的同一场景的图像作为监视,而我们的方法使用来自相同视点的图像,这些图像是在不同的摄像机光圈下拍摄的。 为了使学习算法能够使用光圈效果作为监视,我们引入了两个可微分光圈渲染函数,这些函数使用输入图像和预测深度来模拟真实摄像机光圈引起的景深效果。 我们对端到端的单眼深度估计网络进行训练,以预测最佳解释这些有限孔径图像的场景深度,作为输入全焦点图像的散焦模糊渲染。
一、相关介绍
1、镜头光圈:光圈越大,景深越小;光圈越小,景深越大。背景离焦面越远越模糊。
2 、光场
光场从7维简化到4维
L(u,v,x,y)表示光场的一个采样,其中各变量分别表示:(u,v)和(x,y)分别为光线与两个平面的交点坐标,在四维(u,v,x,y)坐标空间中,一条光线对应光场的一个采样点
二 、单目深度估计
从全聚焦图像和预测的深度图中呈现浅景深图像。作者提出实现的两种模型
■1 可微孔径渲染函数(光场模型)
其中合成光场部分请参考作者发表的另一片论文:Learning to Synthesize a 4D RGBD Light Field from a Single Image
1)、利用孔径越来越小的图像之间的深度相关差异来训练卷积神经网络(CNN)来预测深度 Z(x;I)
2)、将Z(x;I)展开为 D(x, u) = gθe (Z(x; I))
3)扭曲到摄像机中的每一个视场 L(x, u) = I(x + uD(x, u))
其中L(x, u)为模拟相机光场
4)剪切光场,使其聚焦到场景中所需的深度,并添加从整个孔径到达每个传感器像素的光线,以呈现浅景深图像S (x)
缺点:计算成本与可以渲染的散焦模糊的宽度成二次比例
■2 组合孔径呈现 (合成模型)
实现原理较简单
优点:计算复杂度与它所能渲染的散焦模糊的宽度成线性比例
Sc (x; I , d) = P (x, d − d; I ) (I (x) ∗ k (x, d))
原理
在一个1-D场景中,我们的光场和合成孔径渲染功能的图解,由两个不同深度的漫射点(红圈和绿圈)组成。在输入全聚焦图像中,通过一个小孔径(蓝色椭圆)进行成像,两个场景点都被成像到图像平面上的delta函数(黑线)。光场渲染函数(顶部)以这幅图像和景深图作为输入,用有限的孔径预测虚拟相机内的光场,并将光线穿过整个孔径,以呈现浅景深图像。成分呈现函数(底部)需要all-in-focus图像和一个概率质量函数为每个像素在一组离散的深度,和图像呈现浅景深效果。通过将输入图像模糊与磁盘的内核相应离散的深度,通过每一深度的概率加权。
三 性能评价
1 、光场数据集实验
2、数码单反相机数据集实验
从我们的DSLR(数码单反)实验中,对50幅图像的测试集进行了定量比较。
3 、预测效果
从光场实验的测试集对单目深度估计结果进行定性比较。我们的孔径监控模型能够估计高质量的详细深度。由多视点监控训练的网络所估计的深度是合理的,但通常在遮挡边缘都有工件。
从我们光场实验的测试集得到的浅景深图像中对作物进行定量和定性的比较。我们的模型在孔径监督下对深度进行了预测,得到的图像与地面真实情况非常吻合。使用多视图监控训练的深度的图像包含了近遮挡边缘的假边缘和工件,而使用直接深度监控训练的深度图像则不包含任何合理的景深效果。