【3D目标检测】环境搭建(OpenPCDet、MMdetection3d、Det3d)

3D目标检测框架:OpenPCDet、MMdetection3d、Det3d
参考链接:3D目标检测框架综述

1 OpenPCDet

源码链接:
官方源码:https://gitcode.com/mirrors/open-mmlab/OpenPCDet/tree/master
官方首页介绍:https://gitcode.com/mirrors/open-mmlab/OpenPCDet/overview

1.1 创建OpenPCDet虚拟环境

conda create -n pcdet python=3.8 -y
conda activate pcdet
nvcc -V # 显示安装的cuda版本
nvcc --version
gcc --version

在这里插入图片描述
安装Pytorch
Pytorch官网

CUDA 10.2
pip install torch==1.12.1+cu102 torchvision==0.13.1+cu102 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu102
CUDA 11.3
pip install torch==1.12.1+cu113 torchvision==0.13.1+cu113 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu113

# 查看torch的版本
python -c 'import torch;print(torch.__version__)'
python -c 'import torch;print(torch.cuda.is_available())'

安装cudatoolkit和cudnn

CUDA 10.2
conda install cudatoolkit=10.2.89 cudnn==7.6.5 -c http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
CUDA 11.3
conda install cudatoolkit=11.3.1 cudnn==8.2.1 -c http://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main

安装spconv

pip install spconv-cu102 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install spconv-cu113 -i https://pypi.tuna.tsinghua.edu.cn/simple
python -c 'import spconv;print(spconv.__version__)'

安装open3d

pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple
python -c 'import open3d;print(open3d.__version__)'

1.2 安装OpenPCDet

参考链接:https://gitcode.com/mirrors/open-mmlab/OpenPCDet/blob/master/docs/INSTALL.md

git clone https://github.com/open-mmlab/OpenPCDet.git
cd OpenPCDet
pip install -r requirements.txt -i httPs://pypi.tuna.tsinghua.edu.cn/simple
pip install kornia==0.6.8 av2 chardet -i httPs://pypi.tuna.tsinghua.edu.cn/simple
python setup.py develop
python -c 'import pcdet;print(pcdet.__version__)'

1.3 OpenPCDet安装测试

官方参考:https://gitcode.com/mirrors/open-mmlab/OpenPCDet/blob/master/docs/DEMO.md
下载模型
在这里插入图片描述
执行测试

cd tools
'''
python demo.py --cfg_file cfgs / kitti_models / pointpillars.yaml \
    --ckpt pointpillars.pth \
    --data_path $ {POINT_CLOUD_DATA}
 '''
python demo.py --cfg_file cfgs/kitti_models/pv_rcnn.yaml --ckpt /media/ll/L/llr/a2023_my_3d/OpenPCDet/ckpt/pv_rcnn_8369.pth --data_path /media/ll/L/llr/a2023_my_3d/OpenPCDet/data/kitti/testing/velodyne/000008.bin

在这里插入图片描述

1.4 报错解决

依赖库缺少,笔者按照上述步骤依然缺少了两个依赖库,安装指令如下

pip install av2 kornia==0.6.8 -i https://pypi.tuna.tsinghua.edu.cn/simple

其中需要指定kornia版本,否则会报错如下
在这里插入图片描述

2 MMdetection3d

2.1创建并激活MMdetection3d虚拟环境

conda create -n mm3d python=3.9 -y
conda activate mm3d

2.2 MMDetection3d依赖库安装

Pytorch安装
Pytorch官网

pip install torch==1.12.1+cu102 torchvision==0.13.1+cu102 torchaudio==0.12.1 --extra-index-url https://download.pytorch.org/whl/cu102
# 查看torch的版本
python -c 'import torch;print(torch.__version__)'
python -c 'import torch;print(torch.cuda.is_available())'

mmcv安装
mmcv官网

# mim是OpenMMLab项目的包管理工具,它使mmcv的安装变得容易
pip install -U openmim
mim install mmcv==2.0.0
# 测试
python -c 'import mmcv;print(mmcv.__version__)'

mmdet安装
参考官网链接:BUILD MMCV FROM SOURCE

方法一:
git clone https://github.com/open-mmlab/mmdetection.git
cd mmdetection
pip install -r requirements/optional.txt
pip install -v -e .  # or "python setup.py develop"
方法二:
mim install mmdet==3.1.0
# 测试
python -c 'import mmdet;print(mmdet.__version__)'

安装open3d

pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple
python -c 'import open3d;print(open3d.__version__)'

2.3 编译安装MMDetection3d

注意版本匹配问题:

mmdet3d 1.2.0 requires mmdet<3.2.0,>=3.0.0
mmdet3d 1.2.0 requires mmcv<2.1.0,>=2.0.0rc4

git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
pip install -r requirements/optional.txt
pip install -v -e .  # or "python setup.py develop"
# 测试
python -c 'import mmdet3d;print(mmdet3d.__version__)'

2.4 环境测试

(mm3d) ll@ll:/media/ll/L/llr/a2023_my_3d/mmdetection3d$ python
Python 3.9.17 (main, Jul  5 2023, 20:41:20) 
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import torch
>>> torch.cuda.is_available()
True
>>> import mmcv
>>> import mmdet
>>> import mmdet3d
>>> 

2.5 测试demo

1、下载预训练模型:hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth

2、测试命令:

python demo/pcd_demo.py demo/data/kitti/000008.bin configs/second/second_hv_secfpn_8xb6-80e_kitti-3d-car.py my_checkpoints/hv_second_secfpn_6x8_80e_kitti-3d-car_20200620_230238-393f000c.pth

在这里插入图片描述

3 Det3d

源码链接:
官方源码:https://github.com/V2AI/Det3D/tree/master

3.1 创建Det3d虚拟环境

conda create -n det3d python=3.8 -y
conda activate det3d
pip install cmake --upgrade

安装Pytorch
Pytorch官网

pip install torch==1.9.0+cu102 torchvision==0.10.0+cu102 torchaudio==0.9.0 --extra-index-url https://download.pytorch.org/whl/cu102
# 查看torch的版本
python -c 'import torch;print(torch.__version__)'
python -c 'import torch;print(torch.cuda.is_available())'

安装nuscenes-devkit等依赖库

pip install nuscenes-devkit Cython setuptools flatbuffers sympy   -i https://pypi.tuna.tsinghua.edu.cn/simple 
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple 

安装spconv,只能本地安装
下载1.2.1版本的,进行本地安装
https://pan.baidu.com/s/1gbDuPizxke9crH1nFkCNOQ?pwd=6666

sudo apt-get install libboost-all-dev
cd spconv 
python setup.py bdist_wheel
cd ./dist && pip install *

安装open3d

pip install open3d -i https://pypi.tuna.tsinghua.edu.cn/simple
python -c 'import open3d;print(open3d.__version__)'

安装apex

git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir --global-option="--cpp_ext" --global-option="--cuda_ext" ./

3.2 安装Det3d

参考链接:https://github.com/V2AI/Det3D/blob/master/INSTALLATION.md

git clone https://github.com/poodarchu/Det3D.git
cd Det3D
python setup.py build develop

在这里插入图片描述
如上图所示则安装成功!!

3.3 问题解决

  1. 在编译spconv的时候遇到报错fatal error: THC/THCNumerics.cuh: No such file or directory
    在这里插入图片描述
    解决方法:
    找到错误的代码行,直接像下面那样注释掉对应的语句就行
//#include <THC/THCNumerics.cuh>

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值