Project Icon

3D-OVS

无需标注的开放词汇3D场景分割新方法

3D-OVS是一种创新的弱监督3D开放词汇分割方法,仅依靠文本描述即可实现3D场景的精准分割。该技术融合TensoRF重建与CLIP特征提取,通过提示工程和DINO特征优化,提高了3D场景的语义理解能力。这一方法将3D视觉与自然语言处理有机结合,为多个领域的应用提供了新的可能性。

[NeurIPS 2023] 弱监督3D开放词汇分割

本仓库包含了论文《弱监督3D开放词汇分割》的PyTorch实现。我们的方法可以使用开放词汇文本对3D场景进行分割,无需任何分割标注。


安装

在Ubuntu 20.04 + Pytorch 1.12.1上测试通过

安装环境:

conda create -n 3dovs python=3.9
conda activate 3dovs
pip install torch torchvision
pip install ftfy regex tqdm scikit-image opencv-python configargparse lpips imageio-ffmpeg kornia tensorboard
pip install git+https://github.com/openai/CLIP.git

数据集

请从此链接下载数据集并将其放在./data中。如果修改配置文件中的相应路径,也可以将数据集放在其他位置。数据集组织如下:

/data
|  /scene0
|  |--/images
|  |  |--00.png
|  |  |--01.png
|  |  ...
|  |--/segmentations
|  |  |--classes.txt
|  |  |--/test_view0
|  |  |  |--class0.png
|  |  |  ...
|  |  |--/test_view1
|  |  |  |--class0.png
|  |  |  ...
|  |  ...
|  |--poses_bounds.npy
|  /scene1
|  ...

其中images包含RGB图像,segmentations包含测试视图的分割标注,segmentations/classes.txt存储类别的文本描述,poses_bounds.npy包含由Colmap生成的相机姿态。

快速开始

我们在此链接中提供了场景的检查点。然后您可以通过以下命令测试分割:

bash scripts/test_segmentation.sh [CKPT_PATH] [CONFIG_FILE] [GPU_ID] 

配置文件存储在configs中,每个文件以configs/$scene_name.txt命名。结果将保存在检查点的路径中。更多细节可以在scripts/test_segmentation.sh中找到。

数据准备

我们需要从图像块中提取CLIP特征的层次结构用于训练。 您可以通过以下方式提取CLIP特征:(请将$scene_name修改为您要提取特征的场景名称)

bash scripts/extract_clip_features.sh data/$scene_name/images clip_features/$scene_name [GPU_ID]

提取的特征将保存在clip_features/$scene_name中。

训练

1. 训练原始TensoRF

此步骤用于重建场景的TensoRF。请修改configs/resonstruction.txt中的datadirexpname以指定数据集路径和实验名称。默认情况下,我们将datadir设置为data/$scene_name,将expname设置为$scene_name。然后您可以通过以下方式训练原始TensoRF:

bash script/reconstruction.sh [GPU_ID]

重建的TensoRF将保存在log/$scene_name中。

2. 训练分割

我们在configs下提供了数据集的训练脚本,命名为$scene_name.txt。您可以通过以下方式训练分割:

bash scripts/segmentation.sh [CONFIG_FILE] [GPU_ID] 

训练好的模型将保存在log_seg/$scene_name中。训练大约需要1小时30分钟,消耗约14GB的GPU内存。

故障排除

1. 加载CLIP特征非常慢

这是因为CLIP特征非常大(有512个通道)并消耗大量内存。您可以通过在配置文件中将clip_input设置为0.5或更小的值来加载更少视图的CLIP特征。通常0.5就足够获得良好的性能。

2. 提示工程

要测试您的提示是否良好,您可以在配置文件中将test_prompt设置为一个视图编号。然后您将在clip_features/clip_relevancy_maps中看到该视图中每个类别的相关性图。每个相关性图名为scale_class.png。然后您可以检查每个类别的相关性图是否良好。如果不好,您可以修改segmentations/classes.txt中的提示并再次测试。在我们的实验中,我们发现包含对象纹理和颜色的具体物体描述效果更好。

3. 自定义数据

对于自定义场景,您可以按照此链接中的恢复相机姿态部分使用Colmap生成相机姿态。 如果您的自定义数据没有标注的分割图,您可以在配置文件中将has_segmentation_maps设置为0。

4. 分割结果不佳

分割结果不佳可能是由于几何重建不佳、相机姿态错误或文本提示不准确。如果以上都不是主要原因,您可以尝试调整配置文件中的dino_neg_weight。 通常,如果分割结果与对象边界不太吻合,您可以将dino_neg_weight设置为大于0.2的值,例如0.22。如果分割出现错误,您可以将dino_neg_weight设置为小于0.2的值,例如0.18。由于dino_neg_weight鼓励模型在DINO特征相距较远时分配不同的标签,因此它越高,模型就越不稳定,但也会鼓励更锐利的边界。

待办事项

  • 目前我们只支持面向前方的场景,可以通过一些坐标变换来扩展支持无界360度场景。

致谢

这个仓库主要基于TensoRF。感谢他们分享了他们出色的工作!

引用

@article{liu2023weakly,
  title={Weakly Supervised 3D Open-vocabulary Segmentation},
  author={Liu, Kunhao and Zhan, Fangneng and Zhang, Jiahui and Xu, Muyu and Yu, Yingchen and Saddik, Abdulmotaleb El and Theobalt, Christian and Xing, Eric and Lu, Shijian},
  journal={arXiv preprint arXiv:2305.14093},
  year={2023}
}
项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号