一、数据集的准备(PASCOL VOC)
首先将src/tools/get_pascal_voc.sh中涉及的数据集和工具都下载下来,之后在tools中建立voc文件夹,将数据集和工具放入到voc中,运行修改后的脚本:
cd voc
tar xvf VOCtrainval_06-Nov-2007.tar
tar xvf VOCtest_06-Nov-2007.tar
tar xvf VOCdevkit_08-Jun-2007.tar
tar xvf VOCtrainval_11-May-2012.tar
tar xvf VOCdevkit_18-May-2011.tar
mkdir images
cp VOCdevkit/VOC2007/JPEGImages/* images/
cp VOCdevkit/VOC2012/JPEGImages/* images/
unzip PASCAL_VOC.zip
mv PASCAL_VOC annotations/
cd ..
python merge_pascal_json.py
也可以保留rm命令,删除文件夹。最后将voc文件夹移动到data中。
二、test
1. 在model zoo:https://github.com/xingyizhou/CenterNet/blob/master/readme/MODEL_ZOO.md中的Pascal VOC部分下载ctdet_pascal_resdcn18_384,放到model文件夹中。
2. 根据https://github.com/xingyizhou/CenterNet/blob/master/readme/GETTING_STARTED.md中提供的命令和model zoo中resdcn18_384对应的训练、测试命令。运行:
python test.py ctdet --exp_id pascal_resdcn18_384 --arch resdcn_18 --dataset pascal --load_model ../models/ctdet_pascal_resdcn18_384.pth --flip_test
三、train
在https://github.com/xingyizhou/CenterNet/blob/master/experiments/ctdet_pascal_resdcn18_384.sh中有详细解释,按部就班即可。
cd src
# train
python main.py ctdet --exp_id pascal_resdcn18_384 --arch resdcn_18 --dataset pascal --num_epochs 70 --lr_step 45,60
# test
python test.py ctdet --exp_id pascal_resdcn18_384 --arch resdcn_18 --dataset pascal --resume
# flip test
python test.py ctdet --exp_id pascal_resdcn18_384 --arch resdcn_18 --dataset pascal --resume --flip_test
cd ..
四、处理结果
得到的result.json在exp/ctdet/pascal_resdcn18_384文件夹中,是一个包含21个元素的列表,第一个元素是背景,其余元素对应于各个类别。每一个元素是一个len=4952(4952张图片)的列表,列表中的元素len=5,左上角、右下角、score