赞
踩
基于自监督方法的单目深度估计尽管整体精度很高,当前方法仍然面临(1)不准确的物体级(object-level)的深度估计(2)尺度的不确定性。前一问题会产生纹理复制或不准确的物体边缘,后一问题需要额外的传感器如雷达提供深度真实值,或者双目相机作为额外的训练输入。本文通过引入DNet。贡献如下:
(a)提出新的稠密连接估计层(dense connected prediction (DCP) )提供更好的物体级的深度估计
(b)针对自动驾驶传感器,提出稠密几何约束(dense geometrical constrains (DGC))从而不需要额外的设备来恢复尺度。DCP层能够从深度图中更好的区分出物体边缘,并且深度在物体级别上更加连续,DGC可以与使用ground-truth信息恢复的尺度相比较,当给定的相机高度并且属于地面上的点占总体像素的1.03%以上。
现有深度估计的两个缺点:
图1:DNet与其他自监督单目深度估计的结构区别,实线是本网络流程图,需显示其他方法。DCP生成结构特征来获取更好的物体级的深度,DGC直接从单目图像中估计绝对深度。基于尺度恢复的DGC与ground-truth的对比在右上角
本文,提出单目自监督深度估计网络DNet,利用稠密连接的结构特征得到物体级的深度,利用几何约束不依靠其他传感器进行尺度恢复,从而进行实际应用
【15】使用目标图像与从相邻帧重建的图像计算光度重建损失。但前提假设是场景是固定的,并在相邻图像没有遮挡。
【17】【18】【19】使用不同的运动模型解决动态场景问题;
【20】通过建立两个额外的层引入3D表面法向量(surface normal)。
【14】使用像素级的最小重投影损失(后者求均值,前者是最小值)代替光度重建损失,能够解决部分遮挡。它还使用上采样并提出对固定像素的auto-mask来防止对低纹理区和移动物体错误生成的深度'holes'现象
然而,估计相对深度始终与绝对深度存在尺度差距,为了进行评估,使用的是与真实值均值之间的比例,而往往真实值难以获得
尺度不确定性一直是单目相机的3D视觉问题。【21】利用位姿信息【22】使用双目数据与训练网络,都是用额外的传感器信息但结果一般。为了进行单目SLAM,【23】【24】结合物体检测算法,并利用物体大小先验条件恢复尺度,然而增加了计算复杂度,并且当场景值没有已知物体类别时鲁棒性受限(和自己一个问题)
解决相机和地面的结合关系是一个有效方法,对于地面来说,能够常常被车载相机采集到。主要任务是利用相机-地面的几何约束估计相机高度,然后利用相机先验高度推出尺度。【25】使用训练的分类器提取到地面,但能力不强。【26】与【27】【28】相似提取到了感兴趣区的稠密地面点,但需要双目信息添加。
【29】使用表面法向量提取地面点从而计算出相机高度。然而,由于这是个基于特征点的方法,需要得到连续帧图像的数据关系,使得很难应用在在仅有单帧图像输入的单目深度估计中。此外,这个方法将地面作为一个平坦且仅有一个单独的表面向量,这是一个较强的假设。
相比而言,我们的方法没有数据约束,可以应用在单目深度估计和SLAM。而且,我们可以得到像素级的表面法向量以及地面分割,使得算法鲁棒
DNet可以分为两部分,分别是相对深度估计,使用稠密连接估计(DCP)加强物体级的深度估计;以及基于稠密几何约束(DGC)尺度恢复,不需要额外的传感器信息,如图2
图2:算法首先使用DCP进行相对深度估计来生成结构特征。然后,进入尺度恢复模块,利用地面与相机间的几何关系,使用提取到的地面点计算出稠密相机高度。利用相机高度的中间值作为最终估计值来获得尺度因子,最后与相对深度图进行结合,用计算的尺度得到绝对深度图
DNet基于Monodepth2,作为自监督估计,它的对象级深度仍然具有纹理复制且不准确的边缘,通过引入DCP代替Mono2中使用的全分辨率模块
Monodepth2 w/o 全分辨率:
结构:深度网络和位姿网络。时刻的图像作为深度网络,输出一个稠密相对深度图,位姿网络输入两组连续图像和,并输出t时刻相对于和时刻的相对位姿
自监督损失:像素级的最小化重建损失和视差的平滑度损失,重建损失由前后帧图像向目标图像重建后,与目标图像对比。光度差由SSIM和L1norm计算:
其中是权重调节 像素级的最小化损失为
其中,
与感知逆深度的边缘平滑相结合:
其中是平均归一化的逆深度,所有的损失可以由两个参数和定义为
其中i指的是解码器的不同分辨率层,由分辨率决定
整体损失:由于低分辨率的深度估计的光度差可能是错误的网络估计或下采样造成的结果,损失中对高低分辨率结果使用相同的权重,会错误的诱导网络收敛到非最优值。此外,考虑到低分辨率的特征被多次利用,低分辨率的深度估计的损失权重由按下方进行减少
其中,用来调节权重
DCP层:
为了解决由双线性采样和局部最小化产生的的局部梯度,【12】-【15】使用多尺度方法进行深度估计,由于分别使用不同尺度的特征,因此会造成深度伪影(如图9)。我们提出DCP层结合不同尺度的特征,依据是基于低分辨率的解码网络能够提供更可靠的对象级深度,而高分辨层更倾向于局部深度细节
图9:与基础相比,添加了DCP能够获得更加准确的物体边缘以及明显减少了深度伪影
在DCP层中,不同尺度的特征通道使用卷积层降到了8,从而使通道数平均且简化后续计算。低分辨特征经过上采样后与高分辨特征结合,从而使很少考虑物体深度的高分辨加入更多对象细节。最终的深度是基于DCF层的机构特征得到的,如图3
图3: DCP层结构,与原始的多尺度估计不同(直接单独使用不同分辨率的特征),DCP中将从低到高的分辨率特征进行叠加连接。
尺度恢复是在相对深度求出之后进行,因此绝对深度图能够单独使用一帧图像生成。稠密几何约束(DGC)专门对自动驾驶应用,其假设图像中含有足够的地面点。与尺度恢复使用的特征匹配不同,地面点由DGC从单目图像中生成稠密地面点图。每个点都用来估计相机高度,如图5.大量相机高度获得后,应用概率方法估计相机高度,外围点会影响尺度结果
图5:DGC算法,与普通对所有地面点直升生一个表面法向量的几何约束不同,DGC为每个点生成一个表面法向量,每个法向量用来估计一个相机高度,总体高度由计算出的中间值确定
(1)表面法向量计算:第一步对输入图像中每个表面法向量求解,所有的点需要被投影到3D坐标系下:
其中指的是在i行j列的2D像素齐次坐标,是3D点,是深度,K为内参 与【20】相似,对每个像素,的8个紧邻点用来决定几个围绕它的平面,如图4,8个紧邻点被分为4组,的 两个向量分别连接到一对点形成90度角(由2D图像的几何关系得到),如:。4对向量形成4个表面,因此生成4个法向量(按颜色划分,都是两两垂直的向量),可以由以下进行计算
其中表示中,第a对中的第b个元素,且
最终的归一化法向量,由四个平均法线经过归一化和平均得到:
图4:2D-3D投影以及表面法向量计算8个紧邻点间的匹配关系。相同颜色的点与中间点分别形成两个向量,从4个向量对能够计算出4个向量对,并用来形成表面法向量
(2)地面点计算:地面点指的是有一个接近于理想地面法线的归一化法线,如.使用理想目标法线和计算出的归一化表面法向量,我们可以基于余弦函数的绝对值生成一个相似度函数。计算出的相似度被用来作为简单标准定义是否为地面点。
考虑到估计的表面法向量的不确定性,以及如图5中所示,相机的y轴不一定严格垂直于地面,设置了一个阈值,如果,那么认为像素点是地面点。在对所有点都进行划分后,即可生成一组地面点,其中是点在y轴上的值
(3)相机高度估计:当从图像中找到稠密地面点时,可以得到地面点与相机间的几何关系。如图5,相机高度是向量在点法向量方向的投影,比如。因此,的相机高度可以按如下计算:
其中,对所有的进行此操作
现在得到地面点那么多个的相机高度,但对于整体的尺度因子,只需要估计出一个相机高度来对照相对深度,最后选用估计相机高度的均值作为最终高度。
(4)尺度因子计算:给定当前对应的相对深度图计算的相机高度,还需要真是相机的高度。尺度因此简单对其进行计算
在成功估计相对深度图的尺度因子后,绝对深度可以计算为
其中,代表的绝对深度
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。