创建并激活环境
conda create -n occformer python=3.7 -y
conda activate occformer
pip install torch==1.10.1+cu111 torchvision==0.11.2+cu111 torchaudio==0.10.1 -f https://download.pytorch.org/whl/cu111/torch_stable.html
安装 mmcv mmdet and mmseg
pip install mmcv-full==1.4.0
pip install mmdet==2.14.0
pip install mmsegmentation==0.14.1
克隆occformer仓库
git clone https://github.com/zhangyp15/OccFormer.git
编译 mmdetection3d
cd mmdetection3d
pip install -r requirements/runtime.txt
python setup.py install
cd ..
安装其他依赖项,如timm、einops、torchmetrics等
pip install -r docs/requirements.txt
pip install setuptools==60.2.0
准备SemanticKITTI数据集,请下载KITTI Odometry数据集(包括颜色,velodyne激光数据和校准文件)和语义场景补全的标注。
新建OccFormer/data/SemanticKITTI/文件夹,将上述压缩包全部解压至SemanticKITTI/,得到如下数据格式:(注意:不要把data_odometry_color.zip的calib.txt覆盖了data_odometry_calib.zip的calib.txt,最后再解压data_odometry_calib.zip,否则会报错,造成数据格式不对。)
OccFormer
├── data/
│ ├── SemanticKITTI/
│ │ ├── dataset/
│ │ │ ├── sequences
│ │ │ │ ├── 00
│ │ │ │ │ ├── calib.txt
│ │ │ │ │ ├── image_2/
│ │ │ │ │ ├── image_3/
│ │ │ │ │ ├── voxels/
| | | | | |—— velodyne/
| | | | | |—— times.txt
│ │ │ │ ├── 01
│ │ │ │ ├── 02
│ │ │ │ ├── ...
│ │ │ │ ├── 21
运行下面的命令,进行数据转换,生成一些npy文件
python projects/mmdet3d_plugin/tools/kitti_process/semantic_kitti_preprocess.py --kitti_root data/SemanticKITTI --kitti_preprocess_root data/SemanticKITTI --data_info_path projects/mmdet3d_plugin/tools/kitti_process/semantic-kitti.yaml
下载预训练权重,运行下面命令,生成pkl文件
bash tools/dist_test.sh projects/configs/occformer_kitti/occformer_kitti.py $YOUR_CKPT 8 --pred-save $YOUR_SAVE_PATH
安装mayavi包,可视化
#python3.8
pip install vtk==9.0.1
pip install mayavi==4.7.3
使用虚拟 X 服务器:如果你运行代码的环境没有实际的图形界面(例如,通过 SSH 远程连接到服务器),你可以考虑使用虚拟 X 服务器,如Xvfb。首先,确保你已经安装了Xvfb:
sudo apt-get install xvfb
然后,你可以在Xvfb环境中运行你的脚本:
xvfb-run -a python projects/mmdet3d_plugin/visualize/visualize_kitti.py YOUR_SAVE_PATH/sequences/08/predictions/ YOUR_VIS_PATH
运行可视化
python projects/mmdet3d_plugin/visualize/visualize_kitti.py $YOUR_SAVE_PATH/sequences/08/predictions/ $YOUR_VIS_PATH
可视化效果展示