Weakly Supervised Semantic Point Cloud Segmentation: Towards 10×FewerLabels

(本文是看完了这篇论文做的总结,有不对的地方欢迎指出)


摘要


针对点云的分析最近受到了很多关注,而分割又是其中最重要的任务之一。目前针对此任务的方法是设计深度网络和做大量的数据标记。本文作者认为做标记是一直有效的方式。

但是标记数据太过费时,所以本文提出了弱监督,只需要标记10%的数据,便可以近似达到全监督的效果。

方法是:

  • 学习梯度近似(learning gradient approximation)
  • 空间和颜色的平滑约束(spatial and color smoothess constraints)

介绍


目前针对点云数据的研究中比较流行的是形状分类(point cloud shape classification)和分割(point cloud segmentation)。针对这两种任务,比较流行的方法是设计深度学习算法和标记大量的数据。尽管很多社区的研究都集中在前者,但是本文作者认为后者(也就是标记数据)有可能是被忽略的瓶颈。因为,一个3D shape就需要1k到10k个点,而对于一个真实的indoor secene,可能需要百万个点云,这样标记起来太过于昂贵了,虽然现在有大范围标记的工具包,但还是一个很耗时的工作。

所以我们提出了弱监督学习。针对于弱监督学习的工作也有一些,如CRF捕获几何结构,但是这转化为一个纯结构化问题而没有捕获上下文信息(空间和颜色);第二个例子为将通过3D LiDAR获取的点云数据转化为深度图(depth map),然后用CNN进行特征学习。而这种半监督约束是根据LiDAR扫描的时间一致性生成的,不适用于一般的3D点云分割。

我们的方法有强大的上下文模型能力和处理3D点云数据,但本篇论文没有提出模型,而是在现有模型的基础上加3种方式的处理(其实是提出3中Loss),这三种方式也是本篇论文的重点。

  • 针对label的点:Incomplete supervision branch with softmax cross-entropy 它仅针对已标记的点进行惩罚。这种简单的方法却可以在减少10倍标签的情况下取得成功。这是因为它可以看作完全监督的抽样近似。在下面的篇幅中,我们的分析表明:①近似梯度收敛于分布的真实梯度。②间隙服从正态分布。③方差与采样点成反比。 而且还指出了标记策略(label的数量固定),即标注更多的样本(每个样本可能只有很少的label点)比标注少量的样本(每个样本的label点有很多)表现的好。
  • 针对unlabel的点又提出了三种约束:
  1. Inexact supervision:以多实例学习的方式定义了点云级别的交叉熵损失。它是为了抑制与negative categories相关点的激活。
  2. Siamese self-supervision:通过在随机平面内的旋转和翻转来增强训练数据,然后鼓励原始与增强后的点预测保持一致。
  3. Spatial and color smoothness constraint :因为语义的parts/objects经常在空间和颜色上也是一致的。

这些约束都是用在inferencr阶段。(下图为网络结构)

本文的贡献:

  1. To the best of our knowledge, this is the first work to investigate weakly supervised point cloud segmentation within a deep learning context.

  2. 对弱监督学习的成功给出了解释,在label点预算固定的情况下,提供了注释的策略。

  3. We adopt three additional losses based on inexact supervision, self-supervision and spatial and color smoothness to further constrain unlabelled data

相关工作


Incomplete Supervision

半监督学习的成功经常归功于对问题特定假设的利用包括graph manifold,空间和颜色的连续性。另一系列工作是基于集成学习,并引入其他约束。如原始数据和变更后的数据一致性和噪声,旋转等。这进一步启发了类似于数据提炼的集成方法。但这些都是应用于图像方面,对于点云数据的应用较少。也有一些其他作者提出的CRF,提取几何结构等,但是都有缺陷。我们利用深度神经网络结合其他空间约束进一步规范模型。这样,我们即利用了深度网络提供的空间相关和几何相关。

Inexact Supervision

inexact supervision可以看做是incomplete supervision的补充。

Point cloud Analysis

自从PointNet最先提出用级联的多层感知机来学习3D点云的特征,以此用来分类和分割。后续的很多工作都是通过local pooling或graph convolution来利用local geometry。语义分割之所以这么火,是因为它在机器人方面有很大的前景。而现有的工作都是依赖于点级别(point-level)的学习器,这种工作需要很详尽的point-level labelling。这是很费时的,而我们的弱监督可以只标记很少的点。

方法(Methodology)


Point Cloud Encoder Network

提出了点的表达方式:

   

{Xb}b=1...B:每个shape的点。Xb∈RNxF:N代表点数,F表示x,y,z坐标以及额外的信息。yb∈{1....K}N:K表示一个shape的part。Zb是提取的点特征。

Incomplete Supervision Branch

假设样本{Xb}是被标记的点,二分掩码M∈{0,1}B×N,是被标记的点的编码。(即M表示被标记的点)

我们在被标记的点上定义softmax cross-entropy:(红色是softmax,蓝色的是交叉熵的公式)。C = ||M||。

我们的网络可以用10倍少的标记点,产生与全监督相似的结果。基本原理如下:我们假设两个网络(全监督和半监督)具有相似的权重,然后以相同的初始化开始,则每个step的梯度相似度越高,就有越高概率产生相似的结果。下面定义了两个网络的梯度:(全监督:lf,半监督:lw)

   

该部分的理论是,假设一个全监督和半监督,如果两个网络的梯度相近时,就可以产生相近的预测。接着证明了全监督和半监督的不同服从于正态分布,所以我们能用半监督的梯度来很好的近似全监督的梯度。这也就解释了为什么半监督能和全监督产生相似的结果。

最后分析还指出,在固定labels的预算下,应当标记更多的样本(每个样本的label少一些),这样更符合独立同分布的假设。

Inexact Supervision Branch

b假设每个part都只要有一个label,每个训练样本Xb都有一个不精确的标签yb,这个label只是简单的在所有点上做maxpooling。因此是以多实例学习的方式构造了inexact supervision branch。

我们引入了sigmoid cross entropy:

基本原理是对于样本中缺少的part categories,不应该用high logits来预测。不完整的监督分支只针对一小部分标记的点,不精确的监督分支是针对样本中的所有点,他们两个是互相补充的。

Siamese Self-Supervision

尽管有上述两种损失,还有很多未标记的点没有经过任何约束。在这些点上加一些约束会改善结果,所以提出了Siamese Self-Supervision。我们假设任何一点的预测都是旋转和镜面

翻转不变的,如一个室内场景label不应随着随着视角的改变而改变(类似于旋转不变性)。即设计两个共享参数的编码器f1(X)和f2(X),然后给定训练样本X,我们应用随机变换,该变换包括沿X和/或Y轴的随机镜像以及XoY平面旋转:

θ~u(0,2π)(均匀分布),a,b,c~B(1,0.5)(伯努利分布)。其中这个rotation被训练来使g(f1(X))和g(f2(X))的概率预测散度最小,其中g(·)是softmax函数。 我们使用L2距离来测量散度:

根据经验发现它比KL-散度更好。

说白了,这是数据增强。

Spatial & Color Smoothness Constraint

3D形状或场景的语义标签经常在空间和颜色上是连续的,尽管在卷积神经网络中有包含,但是显式的约束更加有利。所以,我们在training和inference阶段会增加额外的约束。

Spatial & color Manifold

可以在点云上定义流形,以通过图形说明局部几何形状和颜色。我们将3D坐标通道和RGB通道(如果有的话)分别表示为Xxyz和Xrgb,然后计算成对距离。

然后对每个点进行k近邻搜索来构造k-nn图,并将相应的权重矩阵表示为:Wc ∈R NxN

当xyz和rgb都可用时,我们可以把这两个矩阵相加,Wij = Wxyz + Wrgb。这是合理的,因为xzy模糊了边界,rgb连接了较远的点。但当构造的流行与ground-truth矛盾时,我们向W添加must-link和must-not-link以增强对已知数据的解释。

最后,把它写成拉普拉斯矩阵 L=D-W。

Training stage

我们引入manifold正则化是为了鼓励特征嵌入与之前获得的流行兼容,具体来说就是如果wij较高,则f(xi)应该接近f(xj)。

Inference Stage

在图像分割过程中,CNN没有考虑边界问题,经常使用CRF来完善,而这个问题在点云分割中尤为严重,特别是弱监督的情况下。所以提出了标签传播程序来完成预测。具体来说,预测的Z应该遵守由拉普拉斯L定义的空间和颜色manifold,同时不能偏离正确Z太远。我们把目标写为:

可以通过以下方式简单地获得每个点的最终预测值:

Training

最终的训练目标为所有目标的总和:

先用lseg训练了100个epoch,之后又用Ltotal训练了100个epochs,不同编码器网络训练的lr和batchnorm decay都保存了。

Experiment


Dataset

ShapeNet:16个categories,16881个shape,50个parts。

PartNet:24个categories,26671个shapes。

S3DIS:用于室内场景理解,由6个区域组成,每个区域有若干个房间。

Weakly Supervision Segmentation

两种弱监督方式被研究:

  1. 每个categories只标记一个label,在ShapeNet上只有不超过0.8%的点被标记,在S2DIS上有不超过0.2%的点被标记。
  2. 标记10%的点。

Encoder Network

我们使用DGCNN(带有默认参数)作为我们的编码器网络,因为他在基准形状分割方面表现得很好,并且有很高的效率。但是我们的网络也与其他的备用网络兼容。

Comparisons

3中方法进行比较:

  1. 全监督学习,这种被认为是弱监督学习的上限。
  2. 弱监督学习,其中又有3种不同的方法。①Ⅱ模型提出对原始输入和增强的输入进行监督,但没有对增强的输入进行不完全监督。②使用temporal ensemble方法,它使用DGCNN作为编码器网络,Lseg作为损失函数。③我们提出的方法,Ours is trained with mutil-task total loss Ltotal with label propagation in the inference stage.
  3. 无监督学习,具体来说是使用Kmeans和归一化切谱聚类的方法。

Evaluation

对于所有数据集,我们计算每个测试样本的联合上的平均(mIoU),并报告所有样本(SampAvg)和所有类别(CatAvg)的平均mIoU。对于无监督方法,我们找到了预测与真实性之间的最佳置换,然后计算相同的mIoU指标。

ShapeNet

我们在shapenet上做了评估。1 label与全监督相差了12%;10%的label与全监督表现相当;而我们的方法优于其他的半监督和聚类算法。

S3DIS

和在shapenet上评估差不多,我们的方法还比全监督好一些。

PartNet

和在shapenet上评估差不多,我们的方法与全监督相仿。

(第一张为Shapenet,第二张为S3DIS和PartNet)

Qualitative Example

我们在S2DIS上展示了分割结果,我们的方法(10%label)能消除嘈杂区域来改善结果,但是在对象的边界处表现的不太好。

Label more points or more samples

给定固定的标签,假设总点数的10%,通过不同发策略表明,标记更多的samples,each sample with fewer labeled points比较好。结果如图:

Ablation Study

我们分析了额外的loss和标签传播的重要性。采用1 labels的方案对所有数据及进行不同的损失评估。

先验证Siam(Siamese self-supervision),结果是对S3DIS有很大的提升;MIL(multi-instance loss)的提升;Smo(smooth constaint)和inference(TeLp) stages consistently到来的额外提升。

最后展示了只使用数据增强的结果。

后面还展示了我们方法的兼容性,结果展示在PointNet和DGCNN上面都有相同的提升。

Amount of labelled data

标记点的数量对分割的效果影响很大,我们展现了从1%-100%的标记对分割效果的影响。可以看出,特别对于真实的S3DIS来说,当标记达到10%左右是,其结果接近全监督效果。

Point Feature Embedding

我们可视化了特征嵌入来进一步说明为什么弱监督有如此好的性能。我们首先通过T-SNE将最后一层之前的特征投影到2D空间中,以进行完全监督和10%弱监督。我们观察到了类似的特征嵌入模式,即弱监督和全监督的表现差不多,所以才有这么好的结果。

Conclusion


在本文中,我们发现现有的点云编码器网络只需要几个labelled点即可为点云分割任务产生非常有竞争力的性能。我们从统计的角度进行分析,并对固定标签预算下的注释策略提供了见解。此外,我们提出了三个额外的训练损失,即不精确监督,Siamese self-supervision以及空间和颜色平滑度,以进一步规范该模型。在三个公共数据集上进行了实验,以验证我们提出的方法的有效性。尤其是在10倍更少标记点的全面监督下,结果是很有竞争力的。

CVPR 2020 论文总结:Weakly Supervised Semantic Point Cloud Segmentation: Towards 10×Fewer Labels相关推荐

  1. BBAM: Bounding Box Attribution Map for Weakly Supervised Semantic and Instance Segmentation

    本文是对2021年CVPR论文弱监督BBAM进行总结,有一些自己的理解 原文链接:https://arxiv.org/abs/2103.08907https://arxiv.org/abs/2103. ...

  2. CVPR 2020 论文和开源项目合集(Papers with Code)

    CVPR 2020 论文开源项目合集,同时欢迎各位大佬提交issue,分享CVPR 2020开源项目 [推荐阅读] CVPR 2020 virtual ECCV 2020 论文开源项目合集来了:htt ...

  3. CVPR 2020 论文大盘点-语义分割篇

    图像分割应用广泛,在CVPR 2020 论文中所占比例很高,可说是一大热门,有110多篇相关论文,本文盘点CVPR 2020 所有语义分割(Semantic Segmentation)相关论文(文末有 ...

  4. 【论文阅读】Online Attention Accumulation for Weakly Supervised Semantic Segmentation

    一篇弱监督分割领域的论文,其会议版本为: (ICCV2019)Integral Object Mining via Online Attention Accumulation 论文标题: Online ...

  5. 【论文阅读】Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation

    论文标题: Regional Semantic Contrast and Aggregation for Weakly Supervised Semantic Segmentation 作者信息: 代 ...

  6. 【论文阅读】Cross Language Image Matching for Weakly Supervised Semantic Segmentation

    这篇论文是CLIP模型较早的在弱监督分割上应用的论文. 论文标题: Cross Language Image Matching for Weakly Supervised Semantic Segme ...

  7. 【论文阅读】Weakly Supervised Semantic Segmentation using Out-of-Distribution Data

    一篇弱监督分割领域的论文,发表在CVPR2022上: 论文标题: Weakly Supervised Semantic Segmentation using Out-of-Distribution D ...

  8. CVPR 2020 论文大盘点-目标检测篇

    本文盘点CVPR 2020 所有目标检测相关论文,总计64篇论文,感觉最大的特点是3D目标检测研究工作很多有21篇,尤其是工业界单位,可能是自动驾驶热带来的.2D目标检测依然很热,神经架构搜索也开始在 ...

  9. CVPR 2020 论文大盘点-动作检测与动作分割篇

    本文继 CVPR 2020 论文大盘点-动作识别篇 之后继续总结CVPR 2020 中动作(action)相关的论文. 涉及的方向包括: 动作检测(Action Detection) 动作分割(Act ...

最新文章

  1. supervisor源码分析
  2. 基于互联网云脑架构分析百度的现状与未来
  3. 12、动态视图组件ListView、GridView
  4. java spring 集成定时器
  5. WPF插件开发:使用FrameworkElementAdapters时VS报错的问题
  6. 线性单链表存储结构c语言代码,单链表定义-(线性表的链表存储结构)
  7. 如何套用模板绘制生产管理流程图
  8. mysql教研室_MySQL数据库 范式
  9. YOLO V2论文理解
  10. Atitit 解析m4a文件的元数据标签音乐名,歌手 专辑 年代等信息 java版本 目录 1.1. 自己解析mp4 m4a结构 1 1.2. 格式返回 1 1.3. /bookmarksHtmlE
  11. AXE模式隐私号基于语音流分析的用户接听识别方案
  12. 驱动人生服务器正在维护,驱动人生驱动更新失败或者设备出现异常的解决方法...
  13. 【方向盘】轰动从未停止,感动从未消失。他,是周杰伦
  14. 达威尔液晶电子手写板儿童涂鸦画板写字板,培养小孩创造力和想象力的好工具!
  15. Spring和SpringMVC配置中父子WebApplicationContext的关系
  16. 考研日语线上笔记(八):完型易混易考知识点梳理篇
  17. 1.dom4j 解析xml
  18. 程序员的创世传说 第六节 棚户区的怪人
  19. 【解决问题】笔记本换硬盘 BIOS 不能识别
  20. APA轨迹规划常见算法

热门文章

  1. STM32MP157驱动开发——Linux RS232/485/GPS 驱动
  2. 宁波9家游戏开发运营公司简介
  3. 马云等10位大佬心酸往事:9天9夜未睡、装姑娘陪聊、遭人追杀、一夜白头…
  4. C语言中的结构体(struct)详解
  5. 中国休闲食品行业发展现状及前景分析,市场集中度低「图」
  6. 【C语言】scanf,getchar,getch函数详解
  7. CC3200学习笔记02-芯片简介
  8. 【蓝牙CC2541】调试蓝牙收发功能
  9. 解决 Docker Desktop for Mac 下载镜像缓慢的问题
  10. Matlab:索引超出数组范围