BEV和OCC学习-7:mmdet3d 3D检测demo测试
推理 — MMDetection3D 1.4.0 文档
3D 检测
点云样例
在点云数据上测试 3D 检测器,
python demo/pcd_demo.py ${PCD_FILE} ${CONFIG_FILE} ${CHECKPOINT_FILE} [--device ${GPU_ID}] [--score-thr ${SCORE_THR}] [--out-dir ${OUT_DIR}] [--show]
点云和预测 3D 框的可视化结果会被保存在 ${OUT_DIR}/PCD_NAME
,它可以使用 MeshLab 打开。注意如果你设置了 --show
,通过 Open3D 可以在线显示预测结果。
在 KITTI 数据上测试 PointPillars 模型:
模型下载:
wget https://download.openmmlab.com/mmdetection3d/v1.0.0_models/pointpillars/hv_pointpillars_secfpn_6x8_160e_kitti-3d-car/hv_pointpillars_secfpn_6x8_160e_kitti-3d-car_20220331_134606-d42d15ed.pth
测试:
python demo/pcd_demo.py demo/data/kitti/000008.bin configs/pointpillars/pointpillars_hv_secfpn_8xb6-160e_kitti-3d-car.py checkpoints/hv_pointpillars_secfpn_6x8_160e_kitti-3d-car_20220331_134606-d42d15ed.pth --show
单目 3D 样例
在图像数据上测试单目 3D 检测器,运行:
python demo/mono_det_demo.py ${IMAGE_FILE} ${ANNOTATION_FILE} ${CONFIG_FILE} ${CHECKPOINT_FILE} [--device ${GPU_ID}] [--out-dir ${OUT_DIR}] [--show]
ANNOTATION_FILE
需要提供 3D 到 2D 的仿射矩阵(相机内参矩阵),可视化结果会被保存在 ${OUT_DIR}/PCD_NAME
,其中包括图像以及预测 3D 框在图像上的投影。
在 nuScenes 数据上测试 FCOS3D 模型:
模型下载:
wget https://download.openmmlab.com/mmdetection3d/v0.1.0_models/fcos3d/fcos3d_r101_caffe_fpn_gn-head_dcn_2x8_1x_nus-mono3d/fcos3d_r101_caffe_fpn_gn-head_dcn_2x8_1x_nus-mono3d_20210715_235813-4bed5239.pth
注意:测试时出现
报错1. img_path = data_info['images'][cam_type]['img_path'] KeyError: 'CAM2'
修改方法:
报错2:lidar2img = cam2img @ lidar2cam
ValueError: matmul: Input operand 1 has a mismatch in its core dimension 0, with gufunc signature (n?,k),(k,m?)->(n?,m?) (size 4 is different from 3)修改方法:
测试:
python demo/mono_det_demo.py demo/data/nuscenes/n015-2018-07-24-11-22-45+0800__CAM_BACK__1532402927637525.jpg demo/data/nuscenes/n015-2018-07-24-11-22-45+0800.pkl configs/fcos3d/fcos3d_r101-caffe-dcn_fpn_head-gn_8xb2-1x_nus-mono3d_finetune.py checkpoints/fcos3d_r101_caffe_fpn_gn-head_dcn_2x8_1x_nus-mono3d_20210715_235813-4bed5239.pth --cam-type CAM_BACK --show
多模态样例
在多模态数据(通常是点云和图像)上测试 3D 检测器,运行:
python demo/multi_modality_demo.py ${PCD_FILE} ${IMAGE_FILE} ${ANNOTATION_FILE} ${CONFIG_FILE} ${CHECKPOINT_FILE} [--device ${GPU_ID}] [--score-thr ${SCORE_THR}] [--out-dir ${OUT_DIR}] [--show]
ANNOTATION_FILE
需要提供 3D 到 2D 的仿射矩阵,可视化结果会被保存在 ${OUT_DIR}/PCD_NAME
,其中包括点云、图像、预测的 3D 框以及它们在图像上的投影。
在 NuScenes 数据上测试 BEVFusion 模型
模型下载:
wget https://download.openmmlab.com/mmdetection3d/v1.1.0_models/bevfusion/bevfusion_lidar-cam_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d-5239b1af.pth
测试:
执行demo/multi_modality_demo.py会报一些错误,我是改用了projects/BEVFusion/demo/multi_modality_demo.py
改用projects/BEVFusion/demo/multi_modality_demo.py:
python projects/BEVFusion/demo/multi_modality_demo.py demo/data/nuscenes/n015-2018-07-24-11-22-45+0800__LIDAR_TOP__1532402927647951.pcd.bin demo/data/nuscenes/ demo/data/nuscenes/n015-2018-07-24-11-22-45+0800.pkl projects/BEVFusion/configs/bevfusion_lidar-cam.py checkpoints/bevfusion_lidar-cam_voxel0075_second_secfpn_8xb4-cyclic-20e_nus-3d-5239b1af.pth --cam-type all --show --score-thr 0.4