YOLOX OBB -- YOLOX 旋转框 | 实例分割
More rotated detection methods can reference OBBDetection. And you can reference 知乎 for more information🔥🔥🔥(知乎更加详细,大家请参考知乎)
- OBB OBB -> PolyIoU Loss(OBBDetection) \ KLD Loss(NeurIPS2021) \ GWD Loss(ICML2021)
- Inst Inst-> SparseInst(CVPR2022) \ CondInst(ECCV2020) \ BoxInst(CVPR2021)
Firstly, create python environment
conda create -n yolox_dect python=3.7 -y
then, install pytorch according to your machine, as cuda-10.2 and pytorch-1.7.0, you can install like following
conda activate yolox_dect
conda install pytorch==1.7.0 torchvision==0.8.0 torchaudio==0.7.0 cudatoolkit=10.2 -c pytorch -y
then, clone the github of the item and install requirements
git clone --recursive https://github.com/DDGRCF/YOLOX_OBB.git
cd YOLOX_OBB
pip3 install -U pip && pip3 install -r requirements.txt
pip3 install -v -e .
install BboxToolkit
cd BboxToolkit
python setup.py develop
If We want to train your datasets, firstly you first convert your data as dota datasets format. If you have a coco annotation-style datasets, you can just convert it annoatations into dota format. We perpare a script for you.
$ cd my_exps
$ bash coco2dota.sh
# PS: you should change filename、diranme and so on.
This part please reference BboxToolkit
I prepare the shell the demo script so that you can quick run obb demo as :
$ expn=... && exp=... && ckpt=... && cuda=... && img_path=...
$ bash my_exps/demo.sh ${expn} ${exp} ${ckpt} ${cuda} ${img_path} --output_format obb --save_result
$ expn=... && exp=... && cuda=... && num_device=... && batch_size=...
$ bash my_exps/train.sh ${expn} ${exp} ${cuda} ${num_device} ${batch_size} --fp16[optional]
- eval online
$ expn=... && exp=... && ckpt=... && cuda=...
$ bash my_exps/eval_obb.sh ${expn} ${exp} ${ckpt} ${cuda} ${num_device} ${batch_size} --fuse[optional] --fp16[optional] --options is_merge=True
- generate submission file for obb
$ expn=... && exp=... && ckpt=... && cuda=... && num_device=... && batch_size=...
$ bash my_exps/eval_obb.sh ${expn} ${exp} ${ckpt} ${cuda} ${num_device} ${batch_size} --fuse[optional] --fp16[optional] --options is_merge=True is_submiss=True --test
MODEL_ZOO | code: tdm6
Model | image size | mAP | epochs |
---|---|---|---|
YOLOX_s_dota1_0 | 1024 | 70.82(73.17) | 80(137) |
YOLOX_s_dota2_0 | 1024 | 49.52 | 80 |
YOLOX_s_condinst_coco | 1024 | 26.43 | 36 |
YOLOX_s_sparseinst_coco | 1024 | 0.05(error) | 24 |
more results, wait... |