我们在未见过的SemanticKITTI测试序列18和21上进行的移动物体分割。红色点被预测为移动物体。
如果您在学术工作中使用我们的代码,请引用相应的论文:
@article{mersch2022ral, author = {B. Mersch and X. Chen and I. Vizzo and L. Nunes and J. Behley and C. Stachniss}, title = {{使用稀疏4D卷积对3D LiDAR数据中的后退移动物体进行分割}}, journal={IEEE机器人与自动化快报(RA-L)}, year = 2022, volume = {7}, number = {3}, pages = {7503--7510}, }
相关视频请点击这里。
给定一系列点云,我们的方法将移动(红色)和非移动(黑色)点进行分割。
<p align="center"> <img src="https://yellow-cdn.veclightyear.com/835a84d5/36fd2382-3b1e-4df0-a9f6-be8a017cfeea.png"> </p>我们首先创建给定后退窗口中所有点的稀疏4D点云。我们使用MinkowskiEngine的稀疏4D卷积来提取时空特征并预测每个点的移动物体分数。
从官方网站下载SemanticKITTI数据。
./
└── sequences
├── 00/
│ ├── velodyne/
| | ├── 000000.bin
| | ├── 000001.bin
| | └── ...
│ └── labels/
| ├── 000000.label
| ├── 000001.label
| └── ...
├── 01/ # 00-10用于训练
├── 08/ # 用于验证
├── 11/ # 11-21用于测试
└── ...
使用以下命令在您的工作空间中克隆此仓库
git clone https://github.com/PRBonn/4DMOS
我们提供了一个Dockerfile和一个docker-compose.yaml文件,可以使用简单的Makefile运行所有Docker命令。
使用它,您需要
sudo apt-get install docker-compose
请注意,这将安装 docker-compose v1.25,这是推荐的版本,因为使用 docker-compose v2 在构建时访问 GPU 目前是一个未解决的问题。
重要 为了在构建阶段访问 GPU,请在 /etc/docker/daemon.json 中将 nvidia 设置为默认运行时:
{ "runtimes": { "nvidia": { "path": "/usr/bin/nvidia-container-runtime", "runtimeArgs": [] } }, "default-runtime": "nvidia" }
保存文件并运行 sudo systemctl restart docker 重启 docker。
使用以下命令构建包含所有依赖项的镜像
make build
在运行容器之前,您需要设置数据集的路径:
export DATA=path/to/dataset/sequences
要测试您的容器是否正常运行,请执行
make test
最后,运行容器
make run
现在您可以在容器内工作并运行训练和推理脚本。
如果不使用 Docker,您需要安装 setup.py 中指定的依赖项。可以通过以下命令以可编辑模式安装:
python3 -m pip install --editable .
现在根据 MinkowskiEngine 的安装维基页面安装它。安装 MinkowskiEngine 时,您的 CUDA 版本必须与用于编译 PyTorch 的 CUDA 版本相匹配。
如果尚未完成,请指定 SemanticKITTI 数据的路径:
export DATA=path/to/dataset/sequences
如果您使用 Docker,现在需要使用 make run 运行容器。
要使用 config/config.yaml 中指定的参数训练模型,请运行
python scripts/train.py
通过向上述命令传递 --help 标志,可以找到更多选项,如从预训练模型加载权重或设置检查点。
推理分两步进行。首先,预测移动对象置信度分数,然后融合多个置信度值以获得最终预测(非重叠策略或二进制贝叶斯滤波器)。
要对 path/to/model.ckpt 处的模型检查点进行每点置信度分数推理,请运行
python scripts/predict_confidences.py -w path/to/model.ckpt
我们提供了几个额外的选项,详见 --help 标志。置信度分数存储在 predictions/ID/POSES/confidences 中,以区分使用不同模型 ID 和姿态文件的设置。
接下来,可以通过以下命令获得最终的移动对象预测:
python scripts/confidences_to_labels.py -p predictions/ID/POSES
您可以使用 --strategy 参数来选择论文中的非重叠策略或贝叶斯滤波器策略。运行 --help 查看更多选项。最终预测存储在 predictions/ID/POSES/labels/ 中。
我们使用 SemanticKITTI API 来评估移动类的交并比(IOU)以及可视化预测结果。在您的工作空间中克隆该仓库,安装依赖项,然后运行以下命令来可视化您的预测结果,例如序列 8:
cd semantic-kitti-api
./visualize_mos.py --sequence 8 --dataset /path/to/dataset --predictions /path/to/4DMOS/predictions/ID/POSES/labels/STRATEGY/
要将结果提交到 LiDAR-MOS 基准测试,请按照此处的说明进行操作。
本项目是根据MIT许可证提供的免费软件。详情请参阅LICENSE文件。


免费创建高清无水印Sora视频
Vora是一个免费创建高清无水印Sora视频的AI工具


最适合小白的AI自动化工作流平台
无需编码,轻松生成可复用、可变现的AI自动化工作流

大模型驱动的Excel数据处理工具
基于大模型交互的表格处理系统,允许用户通过对话方式完成数据整理和可视化分析。系统采用机器学习算法解析用户指令,自动执行排序、公式计算和数据透视等操作,支持多种文件格式导入导出。数据处理响应速度保持在0.8秒以内,支持超过100万行数据的即时分析。


AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

