YOLO:
It train YOLO in VOC2007(train,vaild)+VOC2012(train,vaild) datasets and test on VOC2007(test).
I replace FC layer with Conv Layer to save memory. And you can also training with FC layer!
Model | mAp. |
---|---|
My model fc layer | - |
My model conv layer | 0.66 |
Origin papar | 0.63 |
- Python3
- Pytorch 1.3 or higher
- apex
git clone https://github.com/NVIDIA/apex
cd apex
pip install -v --no-cache-dir ./
- Download the training, validation, test data and VOCdevkit
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar
- Extract all of these tars into one directory named
VOCdevkit
tar xvf VOCtrainval_06-Nov-2007.tar tar xvf VOCtest_06-Nov-2007.tar tar xvf VOCdevkit_08-Jun-2007.tar
- It should have this basic structure
$VOCdevkit/
$VOCdevkit/VOC2007
$VOCdevkit/VOC2012
- Generate the train and test list
python tools/convert_voc.py --dir_path ./
cat VOC2007_train.txt VOC2012_train.txt VOC2007_val.txt VOC2012_val.txt >> train.txt
- Download the pretrain model
wget https://pjreddie.com/media/files/darknet19_448.conv.23.
- Configure the training param
bash train.sh
bash test.sh
vis_detector.ipynb