1、基础环境
提前安装好,安装显卡驱动,cuda和cudnn的安装,Anaconda基础是深度学习环境
2、pytorch的安装
创建anaconda虚拟环境
输入如下指令创建并激活虚拟环境
conda create --name openmmlab python=3.8 -y
激活虚拟环境
conda activate openmmlab
安装pytorch
方案1
conda install pytorch==1.8.0 torchvision==0.9.0 torchaudio==0.8.0 cudatoolkit=11.1 -c pytorch -c conda-forge
方案2
pip install torch==1.8.0+cu111 torchvision==0.9.0+cu111 torchaudio==0.8.0 -f https://download.pytorch.org/whl/torch_stable.html
进行pytorch安装。
安装完成后检查pytorch是否安装成功,能否使用cuda在当前终端输入
python
import torch
torch.cuda.is_available()
显示true后输入 exit()退出python
输出结果如上代表pytorch安装成功!
2、安装mmdetection3d
依赖的安装
首先下载工具mim:
pip install -U openmim
mim install mmengine==0.10.4
#下载mmcv
pip install mmcv==2.0.1 -f https://download.openmmlab.com/mmcv/dist/cu111/torch1.8/index.html
#下载mmcv-full
mim install mmcv-full==1.7.2
#下载mmdet
mim install mmdet==3.3.0
#下载mmsegmentation
mim install mmsegmentation==1.2.2
#下载mmdet3d
mim install mmdet3d==1.4.0
下载源码加编译
cd 到所给源代码目录
例如:我的源代码在G盘(从github下载mmdet3d源代码)
cd mmdetection3d-main
pip install -e .
方案2:实验室电脑可以把代码放在桌面
cd Desktop
cd mmdetection3d-main
pip install -e .
验证安装
步骤 1. 我们需要下载配置文件和模型权重文件。
mim download mmdet3d --config pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car --dest .
下载将需要几秒钟或更长时间,这取决于您的网络环境。完成后,您会在当前文件夹中发现两个文件 pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py 和 hv_pointpillars_secfpn_6x8_160e_kitti-3d-car_20220331_134606-d42d15ed.pth。
步骤 2. 推理验证。
python demo/pcd_demo.py demo/data/kitti/000008.bin pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py hv_pointpillars_secfpn_6x8_160e_kitti-3d-car_20220331_134606-d42d15ed.pth --show
Demo 会将预测结果保存到 outputs/pred/000008.json 文件中
得到的json文件解读:
labels_3d:
这是一个包含10个元素的列表,每个元素都是0。这通常表示系统已经检测到了10个对象(可能是车辆、行人或其他)
scores_3d:
这是一个包含10个元素的列表,每个元素都是一个浮点数,表示系统对每个检测到的对象的置信度或分数。分数越高,系统对该检测的信心就越大。在这个例子中,第一个对象的置信度最高(0.9750319123268127),而最后一个对象的置信度最低(0.4417424499988556)。
bboxes_3d:
这是一个包含10个元素的列表,每个元素都是一个包含7个元素的列表(代表一个3D边界框)。这7个元素分别是:
x, y, z:边界框的中心坐标(在3D空间中)。
l, w, h:边界框的长、宽、高。
r:边界框的旋转角(通常是绕z轴的旋转)。
这些边界框定义了检测到的对象在3D空间中的位置和大小。
box_type_3d:
这是一个字符串,表示这些边界框的类型是"LiDAR"。这确认了我们正在处理的数据来自LiDAR传感器。