【OpenPCDet】详细部署与复现

Friday, Oct 25, 2024 | 2 minute read | Updated at Friday, Oct 25, 2024

@

本文详细介绍了在Ubuntu 20.04系统上配置OpenPCDet 3D目标检测工具箱的完整流程,涵盖创建虚拟环境、安装PyTorch与spconv等关键依赖,并最终完成编译和数据导入。

OpenPCDet简介

OpenPCDet是一个用于3D目标检测的开源工具箱,它提供了多种数据集的加载器,支持多种模型,并且易于扩展。

本人使用硬件与环境

Linux操作系统(Ubuntu20.04) Python环境(Anaconda下独立创建) CPU: 11th Gen Intel® Core™ i9-11900K @ 3.50GHz × 16 GPU: NVIDIA GeForce RTX 3090 cuda:11.3

配置步骤

创建虚拟环境

1
conda create -n pcdet python=3.8   

激活进入虚拟环境

1
conda activate pcdet

安装pytorch

查看cuda版本

1
 nvcc -V  

查看运行结果

在这里插入图片描述
在这里插入图片描述

查看对应版本下载命令行 https://pytorch.org/get-started/previous-versions/ 可以使用pip或conda 下载安装,本人选择conda

1
conda install pytorch==1.12.1 torchvision==0.13.1 torchaudio==0.12.1 cudatoolkit=11.3 -c pytorch 

安装完成后验证

1
2
3
python
import torch
torch.cuda.is_available()

若返回True,则证明安装成功 退出python

1
quit()

安装对应的spconv

根据自己服务器的cuda版本查找对应的spconv版本 https://gitcode.com/gh_mirrors/sp/spconv?utm_source=csdn_github_accelerator&isLogin=1

1
pip install spconv-cu113

验证spconv是否安装成功

1
2
python
import spconv

没有报错则安装成功

下载安装OpenPCDet

image
image

下载后进入OpenPCDet文件夹中

1
cd OpenPCDet

注意此时要在自己创造的环境中打开该文件夹

img
img

安装OpenPCDet所需环境

1
pip install -r requirements.txt

运行以上命令行可以一键安装,需要注意的是由于之前已经安装过pytorch,将该文件中pytorch相关的注释掉

img
img

由于pip安装速度太慢,我选择了conda安装 打开该txt文件,对应相关的包conda安装。 安装需要的包后就可以安装OpenPCDet库了

1
python setup.py develop

安装中报错基本是缺少相应的包或者包的版本过新了,把该包remove,选择一个更低版本的包安装基本就可以解决问题。 运行setup文件无报错后就可以导入数据复现结果了!

导入数据集

这里我使用的是Kitti公开数据集,可以从官网下载The KITTI Vision Benchmark Suite 附一个网盘链接:KITTI链接: https://pan.baidu.com/s/1EaWsLH_ZcGGUDoDfZNEGAA?pwd=3acs 提取码: 3acs

下载完成后将数据导入OpenPCDet中

img
img
image
image

将数据导入为以下格式

img
img

之后运行以下代码生成相应的数据集配置文件

1
python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml

生成了以下配置文件

image
image

模型训练

进入配置文件夹

1
cd tools

model zoo 几个模型的训练示例

如果运行pointpillars,则输入以下命令 python train.py –cfg_file cfgs/kitti_models/pointpillar.yaml 如果运行pointrcnn,则输入以下命令 python train.py –cfg_file cfgs/kitti_models/pointrcnn.yaml 如果运行second,则输入以下命令 python train.py –cfg_file cfgs/kitti_models/second.yaml

训练报错解决

训练过程中如果报以下相关错误:KeyError: ‘road_plane‘

/home/pc/OpenPCDet/tools/cfgs/kitti_models/pointpillar.yaml /home/pc/OpenPCDet/tools/cfgs/dataset_configs/kitti_dataset.yaml

则在以上两个文件中修改内容

img
img

将此处的True修改为False

训练中可以使用以下命令监测GPU的使用情况

1
watch -n 0.5 nvidia-smi

img
img

训练结果

训练完成后,会生成相应的训练文件,位于文件

/home/OpenPCDet/output/kitti_models/pointrcnn/default

img
img

可以在训练日志train 2024xxxxxxxx.log中查看本次模型的训练精度

img
img

结果可视化

训练成功后可运行以下命令进行结果可视化

1
python demo.py --cfg_file cfgs/kitti_models/pointrcnn.yaml --data_path ../data/kitti/testing/velodyne/000005.bin --ckpt ../output/kitti_models/pointrcnn/default/ckpt/checkpoint_epoch_80.pth

img
img

如果报错提示缺少包open3d 和mayavi,则选择其中一个下载导入就行,实测open3d比mayavi好用,运行下面命令下载open3d(清华源)

1
pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple

对训练过程中的损失函数等可视化可以运行下面命令

1
tensorboard --logdir="/home/OpenPCDet/output/kitti_models/pointrcnn/default/tensorboard"

会输出以下结果

TensorFlow installation not found - running with reduced feature set. Serving TensorBoard on localhost; to expose to the network, use a proxy or pass –bind_all TensorBoard 2.12.0 at http://localhost:6006/ (Press CTRL+C to quit)

之后在网页上打开该网址即可查看可视化结果

img
img

至此OpenPCDet的部署和复现完毕。

参考博客: https://zhuanlan.zhihu.com/p/2835189199 https://zhuanlan.zhihu.com/p/685759829 https://blog.csdn.net/jin15203846657/article/details/122735375?spm=1001.2014.3001.5506 https://blog.csdn.net/qq_30653631/article/details/107620137

© 2021 - 2026 古月月仔的博客

🌱 Powered by Hugo with theme Dream.

关于我
  • 我是古月月仔
  • Ethan Hu
  • 分享技术学习笔记与生活点滴
  • 现居: 上海 中国
  • 家乡: 平遥 山西
在用的学习工具
  • 📝 Typora —— 极致简洁的 Markdown 编辑器,助力沉浸式文档撰写与知识记录。
  • 📓 Notion —— 一站式工作空间,用于搭建个人知识库、项目管理与深度协作。
  • 🔗 N8N —— 强大的基于节点的自动化工作流工具,轻松实现不同应用间的逻辑联动。
  • 🤖 Gemini —— 智能 AI 助手,在代码辅助、创意激发与信息检索中提供强力支撑。
我的爱好
  • 🚀 喜欢折腾各种好玩的技术
  • 📸 业余摄影爱好者
  • 🎮 各类游戏玩家
  • 💻 数码产品折腾爱好者
  • 📚 阅读:赫尔曼·黑塞 & 阿尔贝·加缪
  • 🎞️ 追番中:《电锯人:蕾塞篇》
  • 🎬 经典重温:《命运石之门》
最近正在学