博客专栏

EEPW首页>博客> SC-DepthV3来了!深度解析无监督单目深度估计V1到V3的主要变化(2)

SC-DepthV3来了!深度解析无监督单目深度估计V1到V3的主要变化(2)

发布人:计算机视觉工坊 时间:2022-11-19 来源:工程师 发布文章
3. SC-DepthV2做了什么?

之前的SC-DepthV1和MonoDepth2等网络主要针对KITTI等室外场景,取得了非常不错的效果。但SC-Depth系列的作者发现,这些网络很难泛化到室内场景中,室内估计出的深度图很差。这就很奇怪了,按理说只要经过足够的训练,室内和室外场景应该是可以取得相似的精度的。这是为什么呢?有一些学者认为,这是因为室内场景中有大量的弱纹理区域,比如白墙。这些区域很难去提取特征,就更不用说去做特征匹配,是这些弱纹理区域导致深度估计不准。看似有一定道理,但要知道室外场景中的天空也是弱纹理区域啊,并且也占了图像中的很大一部分。为什么同样是存在大量弱纹理场景,性能却差了那么多呢?SC-Depth系列的作者认为,室外场景中的相机运动主要是平移,旋转所占的比重很小,而室内场景正好相反。那么是不是室内场景中的旋转分量,对单目深度估计结果造成了影响呢?SC-Depth系列的作者对此进行了严密的数学推导:图片图片这个数学推导很有意思。SC-Depth系列作者发现旋转运动和深度估计结果完全无关!但平移运动和深度估计结果却是相关的!这个结论是什么意思呢?也就是说,对于旋转运动来说,就算估计的很准也不会帮助单目深度估计结果,但如果估计的不准就会给深度估计带来大量噪声。而对于平移运动来说,如果估计的位姿准确是可以辅助单目深度估计结果的。因此,SC-depthV2提出了位姿自修正网络,这个网络只估计旋转运动,并借此剔除场景中的旋转运动。之后将第二帧图像旋转到第一张图,这样两帧图像之间的位姿就只剩下的平移运动。自此,自监督深度估计网络就可以得到很好的训练。图片此外,SC-depthV2还提出了两个新的损失约束。这里具体解释一下:前面我们知道,Ia和Ib通过ARN生成了去除旋转运动的图像,理论上此时Ia和Ib’之间应该是不包含任何旋转的。也就是说Ia和Ib’再进行一次ARN得到的Rot2应该为0。此外,Ib’和Ib再进行一次ARN得到的Rot3应该和第一次得到的Rot1是相等的。通过这两个约束可以完全剔除两帧之间的旋转运动,得到更好的位姿估计结果。图片图片至于定量结果,由于作者主要思路就是针对室内场景中的旋转运动,因此主要评估的数据集是室内NYU。结果显示,SC-depthV2相较于之前的方法实现了大幅提升,这也验证了作者的想法。一句话总结:SC-DepthV2解决了旋转位姿对深度估计的影响问题。图片

4. SC-DepthV3做了什么?

至此,其实SC-Depth系列已经做的很好了。SC-DepthV1面向室外场景,SC-DepthV2面向室内场景,可以说实现了很好的通用性和泛化能力。但SC-DepthV1和SC-DepthV2都是基于静态环境假设的,虽然作者也利用Mask剔除了一些动态物体的影响,但当应用场景是高动态环境时,算法很容易崩溃。为了解决动态物体和遮挡问题,现有网络通常是检测动态物体,然后在训练时剔除这些区域。这些方法在训练时效果比较好,但是在推理时往往很难得到高精度。也有一些方法对每个动态对象进行建模,但网络会变得非常笨重。因此,SC-Depth系列作者又在近日提出了SC-DepthV3,面向高动态场景的单目深度估计网络!在各种动态场景中都可以鲁棒的运行!具体来说,SC-DepthV3首先引入了一个在大规模数据集上有监督预训练的单目深度估计模型LeReS,并通过零样本泛化提供单图像深度先验,也就是伪深度,同时引入了一个新损失来约束网络的训练。注意,LeReS只需要训练一次,在新场景中不需要进行finetune,因此这一网络的引入并不会加入额外的成本。图片LeReS显示了很好的定性结果,但伪深度的精度很低,伪深度的误差图也说明了这一问题。不过SC-DepthV3认为经过合适的模块设计,伪深度可以很好得促进无监督单目深度估计的结果。图片解决动态区域问题的关键是作者提出的动态区域细化(DRR)模块,该方法的来源是,作者发现伪深度在任意两个物体或像素之间保持极好的深度有序度。因此,SC-DepthV3提取动态和静态区域之间的真值深度序信息,并使用它来规范动态区域的自监督深度估计。为了从静态背景中分割动态区域,SC-DepthV3使用了SC-DepthV1中提出的Mask,并通过计算自监督训练中的前后向深度不一致性来生成,因此不需要外部分割网络。图片此外,伪深度显示了光滑的局部结构和物体边界。因此SC-DepthV3提出一个局部结构优化(LSR)模块来改进深度细节的自监督深度估计。该模块包含两个部分:一方面从伪深度和网络预测深度中提取表面法线,并通过应用法线匹配损失来约束;另一方面应用相对法向角度损失来约束物体边界区域的深度估计。在损失函数的设置上,除了之前的几何一致性损失、光度损失外,SC-DepthV3还提出了边缘感知平滑损失来正则化预测的深度图。图片在具体的评估上,SC-DepthV3在DDAD、BONN、TUM、KITTI、NYUv2和IBims-1这六个数据集进行了大量实验,定性结果显示SC-DepthV3在动态环境中具有极强的鲁棒性。定量结果也说明了SC-DepthV3在动态环境中的性能远超Monodepth2和SC-Depth。图片图片一句话总结:SC-DepthV3解决了动态环境问题。

5. 总结

SC-Depth系列是非常经典且先进的无监督单目深度估计网络,现在已经有了V1、V2、V3三个版本。其中SC-DepthV1主要解决深度图不连续的问题,SC-DepthV2主要解决室内环境中旋转位姿对深度估计产生噪声的问题,SC-DepthV3主要解决动态环境中的单目深度估计问题。可以说这三个网络已经可以应用于大多数的场景,这样在一个方向不断深耕的团队并不多见。研究单目深度估计网络的读者一定不要错过。参考文献:[1] 2021 IJCV:Unsupervised Scale-consistent Depth Learning from Video(SC-DepthV1)[2] 2022 TPAMI:Auto-Rectify Network for Unsupervised Indoor Depth Estimation(SC-DepthV2)[3] 2022 TPAMI:SC-DepthV3: Robust Self-supervised Monocular Depth Estimation for Dynamic Scenes(SC-DepthV3)

本文仅做学术分享,如有侵权,请联系删文。


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。



关键词:AI

相关推荐

技术专区

关闭