基于Openpcdet的pointpillars_ros复现

1、确保已安装好torch、cuda、cudnn

 参考博文:虚拟环境conda安装cuda11.7和cudnn和pytorch_weixin_44589524的博客-CSDN博客

 2、安装spconv、pcdet

 spconv2.x  安装极其简单,只需在官网找到对应cuda版本,使用指令安装即可

pip install spconv-cu117  #cuda11.7的版本

 安装完后出现如图即可

验证是否安装成功,无报错即可

 安装Openpcdet,执行以下指令即可,但是需要科学上网,不然太慢了

git clone https://github.com/open-mmlab/OpenPCDet.git
cd OpenPCDet
pip install -r requirements.txt 
python setup.py develop 

出现如下页面即安装成功

 验证是否安装完整(和spconv一样,没有输出则安装成功)

至此,所有环境安装完毕,参考:

Ubuntu 20.04

python 3.9

torch 1.13.0

torchvision 0.14.0

torchaudio 0.13.0

cudatoolkit 11.7

cudnn 8.5.0

spconv 2.x

3、复现Pointpillars_ros

下载源代码并下载相关环境包,然后将Openpcdet工程中的OpenPCDet/tools中的全部文件以及/OpenPCDet/pcdet(就是pcdet包),复制粘贴放入到src/pointpillars/tools文件夹下,然后单独创建models包用来存放训练好的权重文件,请在GitHub - open-mmlab/OpenPCDet: OpenPCDet Toolbox for LiDAR-based 3D Object Detection.下载,最终tools中的文件如图所示。

mkdir -p ~/pointpillars_ros/src
cd pointpillars_ros/src
git clone https://github.com/BIT-DYN/pointpillars_ros
cd ..
# 进入到搭建好的openpcdet环境
conda activate pcdet
conda install --user rospkg catkin_pkg
conda install -c conda-forge quaternion

sudo apt-get install ros-noetic-pcl-ros
sudo apt-get install ros-noetic-jsk-recognition-msg
sudo apt-get install ros-noetic-jsk-rviz-plugins

 修改ros.py、pointpillars.launch、pointpillars.rviz中的部分内容,参考:三维目标检测之ROS可视化_hello689的博客-CSDN博客  文中第三部分,你也可以直接下载该博主已修改好的包,更便捷。

修改完后继续编译

##注意!!!若直接执行catkin_meke可能会出现系统python版本与anaconda的python版本冲突
##因此需先指定pythoon路径,同时编译应在最外层的文件夹下,也就是我例子中的~/pointpillars_ros

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3

这里可能会出现一些错误,如图

 只需要安装对应"av2"即可,缺失其他包步骤相同

pip install av2

 

最后文件结构如图(编译后的)所示(bag需要自己创建,用来存放bag包,你可以从kitti官方下载后进行转换,详细参考如何将KITTI转换成bag(针对点云)-CSDN博客

 做好前述工作后,开始正式启动launch

conda activate pcdet
source ~/pointpillars_ros/devel/setup.bash
roslaunch pointpillars_ros pointpillars.launch

这时又出现了新的报错

根据错误提示应该是kitti_models/pointpillars.yaml中的kitti_dataset.yaml路径错误,于是将其修改为绝对路径,如图

 继续运行后,可以跑通,但是检测框延时情况非常严重

 只需将点云话题更改为modified即可

评论 16
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值