环境配置(Linux)
创建环境
conda create -n OpenOccupancy python==3.8 -y
激活环境
conda activate OpenOccupancy
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
查看本地GCC版本,gcc>=5
gcc -v
conda install -c omgarcia gcc-6 # gcc版本满足条件可不运行此行
pip install mmcv-full==1.4.0
pip install mmdet==2.14.0
pip install mmsegmentation==0.14.1
克隆编译MMdetection3D
git clone https://github.com/open-mmlab/mmdetection3d.git
cd mmdetection3d
git checkout v0.17.1 # Other versions may not be compatible.
pip install -e .
安装其他依赖项
pip install timm
pip install open3d-python
pip install PyMCubes
pip install spconv-cu111
pip install fvcore
pip install setuptools==60.2.0
安装 occupancy pooling
git clone https://github.com/JeffWang987/OpenOccupancy.git
cd OpenOccupancy
export PYTHONPATH=“.”
pip install -e .
数据准备
下载nuscenes-Full dataset(v1.0) 和 nuScenes-lidarseg,解压至nuscenes文件夹,格式如下:
OpenOccupancy
├── data/
│ ├── nuscenes/
│ │ ├── maps/
│ │ ├── samples/
│ │ ├── sweeps/
│ │ ├── lidarseg/
│ │ ├── v1.0-test/
│ │ ├── v1.0-trainval/
下载nuscenes_occ_infos_train.pkl 和 nuscenes_occ_infos_val.pkl 放到nuscenes文件夹下,格式如下:
OpenOccupancy
├── data/
│ ├── nuscenes/
│ │ ├── maps/
│ │ ├── samples/
│ │ ├── sweeps/
│ │ ├── lidarseg/
│ │ ├── v1.0-test/
│ │ ├── v1.0-trainval/
│ │ ├── nuscenes_occ_infos_train.pkl/
│ │ ├── nuscenes_occ_infos_val.pkl/
深度感知视图转换模块(应该是根据lidar真值生成一系列深度值)
python ./tools/gen_data/gen_depth_gt.py
运行上面的代码后会生成一个depth_gt文件夹,格式如下:
OpenOccupancy
├── data/
│ ├── nuscenes/
│ ├── depth_gt/
下载并解压缩nuScenes-Occupancy的标注
mv nuScenes-Occupancy-v0.1.7z ./data
cd ./data
7za x nuScenes-Occupancy-v0.1.7z
mv nuScenes-Occupancy-v0.1 nuScenes-Occupancy
解压后格式如下:
OpenOccupancy
├── data/
│ ├── nuscenes/
│ ├── depth_gt/
│ ├── nuScenes-Occupancy/
测试
bash run_eval.sh ./projects/configs/Cascade-Occupancy-Network/Multimodal-R50_img1600_cascade_x4.py ./openocc-ckpt-logs/multi-modal-CONet.pth 1
运行上面的命令,只能在终端输出数值结果,结果如下图所示。
可视化
貌似不能可视化,据说可视化的代码没有提供,需要自己写,所以在可视化的过程中报了一个错,如下图。(不太确定,请大佬指点一下)