脚本宝典收集整理的这篇文章主要介绍了One Thing One Click: A Self-Training Approach for Weakly Supervised 3D Semantic Segmentation笔记,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
点云初学者,有理解错误的欢迎提出。
问题:对点云上的每个点进行标签标注的成本高昂
目的: achieve a PErformeance comaPRable wITh a fully supervised baseline given the extremely-sparse annotations。【弱监督下的点云语义分割】。
实验所采用的数据集:
ScanNet-v2 S3DIS
基本流程:
- 对数据集进行super-voxel partition。然后“One Thing One Click” :对每个实例选一个点进行标注;对一个点标注实质上就是对点所属的segment进行标注。【标注策略:每个实例被划分为多个segment,随机选一个segment标注】。
- 利用得到的有标签的数据分别训练3D U-net(负责语义分割)和Relation Net(辅助计算voxel之间相似度)。
- 保持前面两个网络的参数不变,将点云送入这两个网络,通过优化一个能量函数选出具有高置信度的unlabelled voxel更新其标签。
- 重复2和3步骤直到收敛。
创新点:设计了一个融合 self-traing 的 label-propagation 机制,实现了弱监督下点云的语义分割
与前面SegGroup的异同:
备注:下标(i,j)分别表示点和voxel的index
3D U-Net网络作为骨架。损失函数:
其中(bar{c}是点p_i的)ground truth
作用:聚合体素内的点的特征
方法:对体素内点的特征向量求和再平均得到体素的特征向量。
基本结构就是3D U-Net移除最后一个分类层。目的:为每个super-voxel生成一个与类别紧密相关(f_j)。借鉴了原型网络的思想采用对比学习进行训练。
如果完全采用原型网络的思想可能会导致最后生成的每个类的原型背离了实际的categorical center导致网络不稳定且难以收敛。因此设计了 memory bank。它的作用是生成每个类别的原型 ( prototype ) ;memory bank的Shape是(c×d),其中每一行代表一个类别的原型。以(f_i)作为" query ", Relation Network的损失函数:【个人感觉好像公式写错了,少了一个exp。见补充材料里面对对比学习介绍】
其中(bar{c}是v_j的ground truth , tau是一个text{temperature hyperparameter});这个损失函数的作用是:groups the embeddings of voxels which have same category together, while pushing those of different categories apart.
memory bank里面原型的更新方法:
其中(m)是一个 momentum coefficient,刚开始memory bank里面的值是随机的。
通过最小化一个energy function来给每个unlabelled voxel 分配一个标签。然后基于这个分配到的标签对voxel计算一个置信度,如果这个置信度超过一个阈值那么就可以将最小化energy function分配到的标签确定为该voxel的标签。
energy function:
其中:
(c_j, c_{j'}, p_j,p_{j'}和u_j,u_{j'})是 the normalized mean color, mean coordinates and mean 3D U-Net feature, respectively, of super-voxels (v_j和v_{j'})
可以看出如果(v_j和v_{j'})的相似度高但是预测的标签不一样那么energy function就会很高。置信度的定义【联系论文作者,论文里面的负号是误添的,应该是没有】:
G denotes the graph propagation.【本人理解:就是指最小化energy function的过程】
可以看出以仅0.02%的标注消耗实现了69.1%的mIou。关于Data Efficient的解释见论文。
1T3C:每一个实例一开始选三个segment进行标注。
可以看出论文提出的方法与全监督相比仅有2%的性能下降。不过这个*所说的仅在初始伪标签下进行训练啥意思?仅在初始伪标签下训练性能就能达到62.18?
对Scannet-v2中的每个类随机选取200个super-voxels,进行t-SNE可视化:
可以看出对Relation Network学到的特征进行聚类,效果好于对RGB和坐标特征进行聚类的效果。
Iteration1就是图三的Initial pseudo labels。文中指出大约5次Iteration网络性能就收敛了;再增加迭代次数并不能带来显著的性能提升。【注意:性能收敛时仍然可能出现有些super-voxel没有标签】
其他详细实验看论文
来自:对比学习综述
简述:
理解对比学习(这里面介绍内容的与1T1C论文更贴合)
来自:( 小样本学习(few-shot learning)之原形网络(Prototypical Networks)
简述:
该文提出了一种可以用于few-shot learning的原形网络(prototypical networks)。该网络能识别出在训练过程中从未见过的新的类别,并且对于每个类别只需要很少的样例数据。原形网络将每个类别中的样例数据映射到一个空间当中,并且提取他们的“均值”来表示为该类的原形(prototype)。使用欧几里得距离作为距离度量,训练使得本类别数据到本类原形表示的距离为最近,到其他类原形表示的距离较远。测试时,对测试数据到各个类别的原形数据的距离做softmax,来判断测试数据的类别标签。
以上是脚本宝典为你收集整理的One Thing One Click: A Self-Training Approach for Weakly Supervised 3D Semantic Segmentation笔记全部内容,希望文章能够帮你解决One Thing One Click: A Self-Training Approach for Weakly Supervised 3D Semantic Segmentation笔记所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。