SIGNet: Semantic Instance Aided Unsupervised 3D Geometry Perception(2019.6)

http://openaccess.thecvf.com/content_CVPR_2019/papers/Meng_SIGNet_Semantic_Instance_Aided_Unsupervised_3D_Geometry_Perception_CVPR_2019_paper.pdf

代码:https://github.com/mengyuest/SIGNet

 

摘要

  无监督学习几何信息(深度、光流等)在自动驾驶系统上兴起。然而,他们总是忽略物体间的关联并在过暗噪声大的环境下表现不好。本文的SIG-net结合物体的语义信息,使深度和光流与物体一致,并在低光照下表现好,在squared relative error上提高30%,对于动态物体的深度提高39%,光流提高29%。

介绍

图1:右边是SOTA方法,依赖于每个像素的信息。左面的SIG-net利用语义信息将空间约束进行encode,提高了几何预测

  传统无监督方法从像素级的反馈(光度重建损失)学习,SIGNet从存在的空间约束的关键部分学习,如图1.我们发现属于同一物体的像素在深度光流估计上有额外约束

  像素的空间约束如何编码?如图1利用语义信息,并将其解释为在几何关系密切相关的一组像素周围的边界,我们能轻易知道一个场景中不同的分割能够知道哪些像素是相关的,而对象边缘则表示深度的明显变化。此外,由于语义分割的标注是实用的,相对便宜且容易获得(几何标签如光流深度则需要额外的传感器和仔细标注)。

  问题是,如何结合语义信息与无监督几何估计?本方法是用RGB输入与语义信息结合:(1)实用语义信息增强(augment)RGB图像,(2)提出新的损失函数、结构、训练方法。

  特征增强:用RGB输入将每个像素类别的估计与实例分割结果分别进行结合。使用像素类别估计来定义分割mask,作为减少无监督几何估计的监督信号。并且,对于实例分割结果将其分成两个输入,实例边缘物体mask,从而使网络学习物体边缘和明显的梯度变化。

  损失函数增强: 其次,将语义损失包含到损失函数来加强损失函数,减少了评估阶段对语义特征的依赖,这对于环境(沙漠、矿地)中包含少量信息元素是很有必要的。我们设计了许多语义损失,如semantic warp loss, masked reconstruction loss, and semantic-aware edge smoothness loss.。然而,手动添加损失项来增强效果很困难,这是由于不知道损失的意义使得总是对简单的添加偏差,interpretable loss 能够优化无监督学习。因此,提出利用一个transfer网络学习如何通过语义重建损失估计语义mask,并对深度和位姿估计提供反馈。

  重要发现: (1)对feature和loss augmentation使用语义分割,在squared relative error上比GeoNet【51】更好 (2)当只进行特征加强,用实例信息语义进行结合。用类别实例特征使得相对平方差得到提高(3)最后,对于移动物体类(车辆)的相对平方差、深度、光流估计均有提高。

2. 相关工作

监督学习几何模型:深层模型被广泛应用与深度估计、追踪、位姿估计以及光流估计。

语义估计模型:语义估计包含图像分类、语义分割、实例分割等。利用 DeepLab v3+ [4] 和 Mask R-CNN [18] 将空间约束进行压缩来准确得到几何信息如深度和光流。

多任务学习语义深度:带有语义的场景几何能够提高效果。Liu[28]使用语义估计提供深度,但使用的是全监督方法、. Wang [44], Cross-Stitching [35], UberNet [23] ,NDDRCNN [12]使用单任务提高效果,但没有解决外部场景和对无监督几何的理解。

我们的方法基于PAD-Net【48】,PAD-Net通过将中间任务作为输入与最终的深度和分割任务相结合,我们使用语义输入的方法类似地将中间预测结果作为深度位姿预测的输入,解决了没有标签的问题

4. 方法

本文使用添加语义信息的方法增强3D几何,如像素的3D位置及其运动可以从稠密语义信息中推出,如图2所示

 

图2:无监督结构包含,DepthNet, PoseNet and ResFlowNet

4.1 语义输入加强

  语义信息作为输入特征能够增强几何估计模型,与RGB图像不同,语义估计使用封闭blobs来标记物体连续结构。然而,由于没有训练标签,不能确定使用语义标签作为输入是否有效,而且语义信息可能丢失失真,会变成带噪声的训练信号。我们发现尽管语义信息含有噪声但还是起了作用,如图3,我们使用多种语义标签来加强输入(语义分割、实例分割、实例边缘)。这施加了额外的约束,如属于某个特定物体的像素的深度,此外,深度的突然变化被认为是车辆的边缘。

对像素类别标签进行编码:

对类别标签采用两个输入编码方法:稠密编码和one-hot编码。在稠密编码中,稠密类别标签沿着输入通道连接在一起,添加的语义特征集中在[-1,1]的范围内,从而和RGB输入一致。one-hot编码中,首先将类别语义估计扩展为one-hot编码,然后在于输入通道连接。标签为one-hot稀疏向量,这个变量不需要归一化,因为其范围与RGB输入近似相等。

实例语义信息编码:

  稠密和one-hot编码中每个像素都只含有类别标签,而不是实例标签。我们觉得实例级语义信息有利于无监督的几何预测,因为它提供了同类型单个对象之间边界的准确信息。与类别标签不同,实例标签自身不能很好的表达。在不同帧中,同一标签可能指的是不同物体实例,为了有效表达实例信息,我们计算稠密实例图的梯度图,并用其作为额外的特征通道连接在类别标签输入(dense/one-hot encoding)上。

直接输入与残差校正:

为弥补encoding不足,实验时使用不同结构将语义信息喂入几何估计模块。特别是,使用一个将语义信息作为输入的单独分支进行残差估计。注意,使用残差深度估计比直接输入方法效果提高更多。

4.2 语义信息引导的损失函数

由于语义标签含有噪声结构较深,语义估计的结果可能会消失。因此,提出带有语义信息的损失函数。

Semantic Warp Loss:

  语义预测可以帮助学习RGB图像在像素值方面重建正确违反明显语义对应关系的场景(如 将像素匹配到错误的语义类/实例),于是,我们除了对RGB图像进行重建还对语义预测也进行重建。由于其实从source的语义预测变化到target,因此称为‘Semantic Warp Loss’。为source语义估计,为变化后的语义图,变换损失如下:

Masking of Reconstruction Loss via Semantics:

由于物体运动的模糊性会导致sub-optimal学习,语义标签能通过将每类区域进行分割来解决。我们将前景区域分割出去形成新图像,其中,c为RGB的通道索引,为像素乘积操作,为二进制语义分割(共K类)的第k个通道。同样可以得到,最终的相似性损失定义为:

为了在保留清晰细节的同时滤除错误的预测,标准做法是使用通过图像梯度加权的边缘感知深度平滑度损失Lds

公式(2)中,|.|表示绝对值,是相邻的微分操作,并经常使用金字塔的多尺度预测进行计算

Semantic-Aware Edge Smoothness Loss:

当强调深度平滑区域时,公式(2)利用RGB推出边缘位置。这可以通过添加从语义估计计算得到的边缘图来改进。已知语义分割结果,定义一个权重矩阵,其在类别边缘区权重,在其他区域权重,得到新的图像相似性损失:

Semantic Loss by Transfer Network:

我们发现,高质量的深度图通常能够描绘出物体类别背景区域,因此设计了transfer network architecture,如图4 模块从原始RGB图像和语义标签的输出得到估计的深度图。转移网络对目标函数引入语义重建损失项来使估计的深度图在纹理上更加丰富。使用ResNet-50作为主干,并改变输入输出的卷积层维度来与分割任务相匹配,网络生成one-hot heatmap并使用交叉熵作为语义相似性测量:

图4:从深度估计中推出语义标签,转移函数使用RGB和估计深度作为输入,对加入Semantic前后进行测试。

图5:从上到下: 输入、Geonet 的AbsRel error map、文章的AbsRel error map、与Geo相比的增强

图6:即使亮度条件下降到30%,仍然abs error很低,说明鲁棒性很高。

实验

哪个模块最需要额外信息?

Tab3,与depthnet相比,posenet从语义信息学习到的很少,因此用与之前结构相同的新的posenet(将语义信息单独喂入新网络,而不是直接连接送入一个中)喂入语义信息,并用两者之和喂入估计位姿。depthnet不适用

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值