1,下载代码:https://github.com/hustvl/GKT
git clone https://github.com/hustvl/GKT
2,创建环境:
conda create -n GKT python=3.8 -y
3,安装依赖:
cd segmentation
pip install -r requirements.txt#作者这里写错了
python setup.py develop
此处我在运行最后一条时报错,后来发现是权限问题,需要将anaconda的权限给所有用户使用。
4,数据组织
尝试可以下载nuscenes-mini-v1.0,也可以下载所有trainval-1.0的关键帧
参见:
https://github.com/hustvl/GKT/blob/main/segmentation/docs/dataset_setup.md
下载作者的标签
连接https://www.cs.utexas.edu/~bzhou/cvt/cvt_labels_nuscenes.tar.gz
解压相关标签和nuscenes数据
tar -xvf /path/to/downloads/cvt_labels_nuscenes.tar.gz -C /media/datasets
mkdir /media/datasets/nuscenes/
# Untar all the keyframes and metadata
for f in $(ls /path/to/downloads/v1.0-*.tgz); do tar -xzf $f -C /media/datasets/nuscenes; done
# Map expansion must go into the maps folder
unzip /path/to/downloads/nuScenes-map-expansion-v1.3.zip -d /media/datasets/nuscenes/maps
构建完毕如下
/media/datasets/
├─ nuscenes/
│ ├─ v1.0-trainval/
│ ├─ v1.0-mini/
│ ├─ samples/
│ ├─ sweeps/
│ └─ maps/
│ ├─ basemap/
│ └─ expansion/
└─ cvt_labels_nuscenes/
├─ scene-0001/
├─ scene-0001.json
├─ ...
├─ scene-1000/
└─ scene-1000.json
5,标签生成
安装依赖库
pip install nuscenes-devkit==1.1.7
生成标签
全数据集合,原作者写错了一个函数,generate_data.py
# 可视化
python3 scripts/generate_data.py
data=nuscenes \
data.version=v1.0-trainval \
data.dataset_dir=/media/datasets/nuscenes \
data.labels_dir=/media/datasets/cvt_labels_nuscenes \
visualization=nuscenes_viz
# 不可视化
python3 scripts/generate_data.py \
data=nuscenes \
data.version=v1.0-trainval \
data.dataset_dir=/media/datasets/nuscenes \
data.labels_dir=/media/datasets/cvt_labels_nuscenes \
如果使用mini数据集那么就将里面的v11.0-trainval换成v1.0-mini,即可。
6,可以下载其预训练权重,谷歌网盘,需要梯子下载。
https://drive.google.com/file/d/1WyVwxykkh3jlSW8HiT3NKtJjISBsUaiq/view?usp=sharing
mkdir pretrained_models
cd pretrained_models
# 将预先训练权重放这里
7,训练,测试,评估
#训练
python scripts/train.py +experiment=gkt_nuscenes_vehicle_kernel_7x1.yaml data.dataset_dir= data.labels_dir=
#测试
python scripts/eval.py +experiment=gkt_nuscenes_vehicle_kernel_7x1.yaml data.dataset_dir= data.labels_dir= experiment.ckptt
#评估
python scripts/speed.py +experiment=gkt_nuscenes_vehicle_kernel_7x1.yaml data.dataset_dir= data.labels_dir=