English | 简体中文
通过蒸馏视觉基础模型来分割任意点云序列
刘友全1,*
孔令东1,2,*
岑俊3
陈润楠4
张文蔚1,5
潘亮5
陈恺1
刘子畏5
1上海人工智能实验室
2新加坡国立大学
3香港科技大学
4香港大学
5南洋理工大学S-Lab
Seal :seal:
Seal
是一个多功能的自监督学习框架,能够通过利用现成的视觉基础模型(VFMs)知识,并在表示学习阶段鼓励这些知识的空间和时间一致性,来分割任何汽车点云。
:sparkles: 亮点
- :rocket: 可扩展性:
Seal
直接将VFMs的知识蒸馏到点云中,在预训练过程中无需2D或3D的注释。 - :balance_scale: 一致性:
Seal
在相机到LiDAR和点到分割阶段都强制执行空间和时间关系,促进跨模态表示学习。 - :rainbow: 泛化性:
Seal
能以现成的方式将知识转移到涉及各种点云的下游任务中,包括真实/合成、低/高分辨率、大/小规模和干净/受损的数据集。
:oncoming_automobile: 2D-3D对应关系
:movie_camera: 视频演示
更新
- [2023.12] - 我们正在ICRA 2024上举办The RoboDrive Challenge。:blue_car:
- [2023.09] -
Seal
被选为NeurIPS 2023的:sparkles:聚焦论文:sparkles:。 - [2023.09] -
Seal
被接收到NeurIPS 2023!:tada: - [2023.07] - 我们发布了使用SLIC、SAM和SEEM生成语义超像素和超点的代码。更多VFMs正在开发中!
- [2023.06] - 我们的论文已在arXiv上发布,点击这里查看。代码将稍后发布!
大纲
安装
请参阅INSTALL.md了解安装详情。
数据准备
nuScenes | SemanticKITTI | Waymo Open | ScribbleKITTI |
---|---|---|---|
RELLIS-3D | SemanticPOSS | SemanticSTF | DAPS-3D |
SynLiDAR | Synth4D | nuScenes-C | |
请参阅DATA_PREPARE.md了解准备这些数据集的详细信息。
超点生成
原始点云 | 语义超点 | 真实标注 |
---|---|---|
请参阅SUPERPOINT.md了解使用视觉基础模型生成语义超像素和超点的详细信息。
入门指南
请参阅GET_STARTED.md了解如何使用此代码库的更多信息。
主要结果
:unicorn: 框架概述
Seal :seal: 框架概览。我们为每个时间戳 t 的{LiDAR,相机}对和时间戳 t + n 的另一个 LiDAR 帧生成语义超像素和超点,通过 VFMs 实现。然后形成两个相关目标,包括配对 LiDAR 和相机特征之间的空间对比学习以及不同时间戳段之间的时间一致性正则化。 |
:car: 余弦相似度
在我们的 Seal :seal: 框架中,查询点(红点)与使用 SLIC 和不同 VFMs 学习的特征之间的余弦相似度。从上到下示例中查询的语义类别分别是:"汽车"、"人造物"和"卡车"。颜色从紫色到黄色表示低到高的相似度分数。 |
:blue_car: 基准测试
方法 | nuScenes | KITTI | Waymo | Synth4D | |||||
---|---|---|---|---|---|---|---|---|---|
LP | 1% | 5% | 10% | 25% | 全部 | 1% | 1% | 1% | |
随机 | 8.10 | 30.30 | 47.84 | 56.15 | 65.48 | 74.66 | 39.50 | 39.41 | 20.22 |
PointContrast | 21.90 | 32.50 | - | - | - | - | 41.10 | - | - |
DepthContrast | 22.10 | 31.70 | - | - | - | - | 41.50 | - | - |
PPKT | 35.90 | 37.80 | 53.74 | 60.25 | 67.14 | 74.52 | 44.00 | 47.60 | 61.10 |
SLidR | 38.80 | 38.30 | 52.49 | 59.84 | 66.91 | 74.79 | 44.60 | 47.12 | 63.10 |
ST-SLidR | 40.48 | 40.75 | 54.69 | 60.75 | 67.70 | 75.14 | 44.72 | 44.93 | - |
Seal :seal: | 44.95 | 45.84 | 55.64 | 62.97 | 68.41 | 75.60 | 46.63 | 49.34 | 64.50 |
:bus: 线性探测
我们的 Seal :seal: 框架在 nuScenes 上预训练(不使用真实标签)并通过冻结骨干网络和线性分类头进行线性探测的定性结果。为突出差异,正确/错误的预测分别以灰色/红色显示。 |
:articulated_lorry: 下游泛化
方法 | ScribbleKITTI | RELLIS-3D | SemanticPOSS | SemanticSTF | SynLiDAR | DAPS-3D | ||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
1% | 10% | 1% | 10% | 半数 | 全部 | 半数 | 全部 | 1% | 10% | 半数 | 全部 | |
随机 | 23.81 | 47.60 | 38.46 | 53.60 | 46.26 | 54.12 | 48.03 | 48.15 | 19.89 | 44.74 | 74.32 | 79.38 |
PPKT | 36.50 | 51.67 | 49.71 | 54.33 | 50.18 | 56.00 | 50.92 | 54.69 | 37.57 | 46.48 | 78.90 | 84.00 |
SLidR | 39.60 | 50.45 | 49.75 | 54.57 | 51.56 | 55.36 | 52.01 | 54.35 | 42.05 | 47.84 | 81.00 | 85.40 |
Seal :seal: | 40.64 | 52.77 | 51.09 | 55.03 | 53.26 | 56.89 | 53.46 | 55.36 | 43.58 | 49.26 | 81.88 | 85.90 |
:truck: 鲁棒性测试
初始化 | 骨干网络 | mCE | mRR | 雾 | 湿 | 雪 | 运动 | 光束 | 交叉 | 回声 | 传感器 |
---|---|---|---|---|---|---|---|---|---|---|---|
随机 | PolarNet | 115.09 | 76.34 | 58.23 | 69.91 | 64.82 | 44.60 | 61.91 | 40.77 | 53.64 | 42.01 |
随机 | CENet | 112.79 | 76.04 | 67.01 | 69.87 | 61.64 | 58.31 | 49.97 | 60.89 | 53.31 | 24.78 |
随机 | WaffleIron | 106.73 | 72.78 | 56.07 | 73.93 | 49.59 | 59.46 | 65.19 | 33.12 | 61.51 | 44.01 |
随机 | Cylinder3D | 105.56 | 78.08 | 61.42 | 71.02 | 58.40 | 56.02 | 64.15 | 45.36 | 59.97 | 43.03 |
随机 | SPVCNN | 106.65 | 74.70 | 59.01 | 72.46 | 41.08 | 58.36 | 65.36 | 36.83 | 62.29 | 49.21 |
随机 | MinkUNet | 112.20 | 72.57 | 62.96 | 70.65 | 55.48 | 51.71 | 62.01 | 31.56 | 59.64 | 39.41 |
PPKT | MinkUNet | 105.64 | 76.06 | 64.01 | 72.18 | 59.08 | 57.17 | 63.88 | 36.34 | 60.59 | 39.57 |
SLidR | MinkUNet | 106.08 | 75.99 | 65.41 | 72.31 | 56.01 | 56.07 | 62.87 | 41.94 | 61.16 | 38.90 |
Seal :seal: | MinkUNet | 92.63 | 83.08 | 72.66 | 74.31 | 66.22 | 66.14 | 65.96 | 57.44 | 59.87 | 39.85 |
:tractor: 定性评估
Seal :seal: 和先前方法在 nuScenes 上预训练(不使用真实标签)并用 1% 标记数据微调后的定性结果。为突出差异,正确/错误的预测分别用灰色/红色表示。 |
待办事项
- 初始发布。:rocket:
- 添加许可证。详情请参见此处。
- 添加视频演示 :movie_camera:
- 添加安装详情。
- 添加数据准备详情。
- 支持语义超像素生成。
- 支持语义超点生成。
- 添加评估详情。
- 添加训练详情。
引用
如果您觉得这项工作有帮助,请考虑引用我们的论文:
@inproceedings{liu2023segment,
title = {通过蒸馏视觉基础模型来分割任意点云序列},
author = {刘友全 and 孔令东 and 岑骏 and 陈润楠 and 张文伟 and 潘亮 and 陈凯 and 刘子为},
booktitle = {神经信息处理系统进展},
year = {2023},
}
@misc{liu2023segment_any_point_cloud,
title = {分割任意点云代码库},
author = {刘友全 and 孔令东 and 岑骏 and 陈润楠 and 张文伟 and 潘亮 and 陈凯 and 刘子为},
howpublished = {\url{https://github.com/youquanl/Segment-Any-Point-Cloud}},
year = {2023},
}
许可证
本作品采用知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议进行许可。
致谢
本工作基于MMDetection3D代码库开发。
MMDetection3D是一个基于PyTorch的开源目标检测工具箱,面向下一代通用3D检测平台。它是由MMLab开发的OpenMMLab项目的一部分。
本代码库的部分内容改编自SLidR、Segment Anything、X-Decoder、OpenSeeD、Segment Everything Everywhere All at Once、LaserMix和Robo3D。
:heart: 我们感谢上述开源仓库的卓越贡献!