OpenPCDet安装及其3D检测算法实现

前言

open-mmlab /OpenPCDet是一个简洁独立开源的适用于激光雷达3D目标检测的平台,支持多种基于深度学习的3D目标检测算法,可以使用开源数据集或者自制数据集进行训练测试。
github网址链接

一、配置环境

1.1 验证cmake 版本(3.13)

cmake --version

cmake官网链接
cmake版本要大于等于1.13,不然后边的库的setup过程会报错。不要看网上的博客盲目执行pip install cmake或者apt-get autoremove cmake,这样会导致出一些额外的错误,最好的方法是采用超链接的方法进行版本的修改。

1.2 验证cuda、cudnn版本(10.2)

nvcc -V和nvidia-smi两个命令显示的cuda是不一致的,这个问题不大。主要看nvcc -V这条命令显示的cuda版本。nvidia-smi所显示的cuda是,这个台机器安装驱动所能带动的最大cuda版本,nvcc -V显示的cuda版本才是运行是的版本。一般来说nvidia-smi所显示的版本要高一些。

1.3 确定python(3.7)、pytorch版本

安装pytorch时,安装命令,建议去官网复制粘贴,不容易出现cuda和torch版本不匹配的问题。有时也直接用下边的命令行,下载安装也非常快,比如 2.1的第三条指令。

二、安装spconv

2.1 创建虚拟环境

conda create -n pcdet python=3.7  # 创建python3.7环境
conda activate pcdet # 激活环境
conda install pytorch==1.5.0 torchvision==0.6.0 -c pytorch

验证安装成功

(pcdet) ypx@ypx:~/ws/OpenPCDet$ python
Python 3.7.13 (default, Mar 29 2022, 02:18:16) 
[GCC 7.5.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> import torchvision
>>> print(torch.__version__)
1.5.0
>>> print(torchvision.__version__)
0.6.0a0+82fd1c8
>>> 

在这里插入图片描述
注:(1)pytorch与torchvision版本视具体工程算法、硬件要求进行适当选择。因为后期具体编译的需要,必要时需要提升版本。
(2)对于虚拟环境的pytorch与torchvision安装有conda install 与pip install两种。大部分情况下是没有差别,但是有些依赖会有问题,为保持一致性,最好选pip install。
(3)在虚拟环境中,注意pip install、pip3 install、conda install是有区别的:
https://www.zhihu.com/question/395145313
大部分情况下,二者没有区别,怎么安装都可以work,不过,二者混着装各种package你真的会因为版本冲突而发疯!conda有严格的检查机制,它会保证你当前装的package安装好之后能work,但是,它只检查用conda安装过的package。例如,你新安装的package会依赖numpy ,不过你已经安装numpy(e.g., 1.19.2),但是用pip安装的,不好意思,它会认为你没安装,然后用conda再安装一个依赖版本的numpy(e.g., 1.18.5)。这个时候,两个numpy可能就打架了。并且你pip list与conda list显示的numpy版本可能不一致,结果不知道最后运行程序的时候调用了哪个版本的numpy。这个时候,uninstall可能也卸载不干净,卸了一个还有一个,最后还可能一直list有却是一个空壳。这个时候,快刀斩乱麻的方法,找到anaconda的lib/site-packages/numpy, 手动删掉它!pip的一个好处是可以安装时既检查conda安装过package的也检查pip安装过的package。不过,它只负责要什么装什么,不负责能不能把装的一堆packages打通,可能装好不work。一般原则,在新环境中,如果装多个packages,既用到conda,又用到pip,那就先conda 的都装好,再pip,如果能用一种装到底,就不要来回换着用。

2.2 安装spconv

spconv是一个卷积库,分为spconv 1.x与spconv 2.x两种版本,具体可以参考:
OpenPCDet完整环境下Spconv1.x与Spconv2.x的安装问题及解决方法
spconv 的github链接

这一步比较容易出现问题。目前spconv出了2.0以上版本,而spconv2.只支持cuda10.2以上版本,如果cuda版本合适,直接运行pip安装即可,像我的系统安装的是cuda10.1,只能老老实实下载原始的版本。

2.2.1 找个文件夹,开始安装spconv1.2:

#安装libboost
sudo apt-get install libboost-all-dev
# 下载spconv,并切换分支
git clone -b v1.2.1 https://ghproxy.com/https://github.com/traveller59/spconv.git

在这里插入图片描述

2.2.2 spconv项目中的third_party对应的目录中有三个文件夹是空的,删除了进行更换;

在这里插入图片描述

cd third_party
git clone https://ghproxy.com/https://github.com/pybind/pybind11
#或者  git clone https://github.com/pybind/pybind11.git
cd pybind11
git checkout -b 3b1dbeb

在这里插入图片描述

2.2.3 编译安装 spconv v1.2

cd .. #退回
cd ..
python3 setup.py bdist_wheel
#如setup.py这一步报错,可能需要你删掉build/ dist/ spconv.egg-info/,这几个文件夹之后再编译

成功编译后:
在这里插入图片描述

注:这一步极有可能报错,

报错一:

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

报错二:

  • 16
    点赞
  • 164
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
回答: 要在ROS中实时运行OpenPCDet,你需要按照以下步骤进行操作。首先,将OpenPCDet工程中的OpenPCDet/tools中的全部文件以及/OpenPCDet/pcdet文件夹复制粘贴到src/pointpillars/tools文件夹下。确保没有遗漏pcdet文件夹\[1\]。接下来,确保你已经配置好了OpenPCDet的环境,并且已经根据教程迁移了代码并配置好了ROS环境\[2\]。然后,进入之前搭建好的OpenPCDet环境,使用命令`conda activate pcdet`激活环境。最后,使用命令`roslaunch pointpillars_ros pointpillars.launch`启动OpenPCDet\[2\]。如果你遇到问题,可以尝试执行以下命令:`conda activate openpcdet`和`source ~/ws/pointpillars_ros/devel/setup.bash`,然后再次运行`roslaunch pointpillars_ros pointpillars.launch`\[3\]。这样,你就可以在ROS中实时运行OpenPCDet了。 #### 引用[.reference_title] - *1* *3* [基于openpcdet的Pointpillars之ROS可视化](https://blog.csdn.net/weixin_58207716/article/details/129472906)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [基于ros和openpcdet使用自己的雷达进行实时三维目标检测](https://blog.csdn.net/Debtor/article/details/129825175)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值