This is a implementation of rotation object detecion based on YOLOv3-quadrangle. I upgraded it to support pytorch 1.1 or higher and fix some bugs. Object detection in arbitrary orientations is achieved by detecting four corner points, the model has been tested on remote sensing dataset UCAS-AOD. The results and trained models can be found here.
The annotations of your own dataset need to be converted into DOTA format.
Generate imageset file via utils/generate_imageset.py
Run utils/kmeans.py
to generate preset anchors.
Modify two parts in cfg/yolov3.cfg
: 1. classes 2. conv filter before yolo layer should be (8+cls+1)*3
.
Modify training sets in .data
file.
Modify classnames in data/*.names
.
prepare labels:
python datasets/UCAS_AOD/ucas_aod2gt.py
conduct evaluation:
python eval.py
python detect.py