- Notifications
You must be signed in to change notification settings - Fork0
ZhAnGToNG1/MSFC-Net
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Multi-Scale Semantic Fusion-Guided Fractal Convolutional Object Detection Network for Optical Remote Sensing Imagery
- The project contains the code for implementing theMSFC-Net for optiacal remote sensing object detection.
- This work has been published on IEEE TRANSACTIONS ON GEOSCIENCE AND REMOTE SENSING
| Backbone | ImageSize | mAP | Model |
|---|---|---|---|
| VGG-19 | 512x512 | 77.31 | download code:sofk |
| Detnet-50 | 512x512 | 77.44 | download code:q5g6 |
| ResNet-50 | 512x512 | 77.65 | download code:k5s5 |
| Cspdarknet-53 | 512x512 | 77.84 | download code:sx23 |
| ResNet-101 | 512x512 | 77.83 | download code:wess |
| ResNeXt-101 | 512x512 | 78.07 | download code:qwer |
| ResNeSt-101 | 512x512 | 80.26 | download code:dota |
| Backbone | ImageSize | mAP | Model |
|---|---|---|---|
| ResNeSt-101 | 512x512 | 70.08 | download code:dior |
Please refer toINSTALL.md for installation.
inital data structure:
data/dota├── train│ ├── images│ └── labelTxt└── val ├── images └── labelTxt- Split the original images
python dota_devkit/ImgSplit_multi_process.py(Manually enter the basepath and outpath)Then, you should get data in following structure.data/dota_split├── train│ ├── images│ └── labelTxt└── val ├── images └── labelTxt- Create COCO format json
python dota_devkit/DOTA2COCO.py(Manually enter the srcpath and destfile)data/dota_split├── train│ ├── images│ ├── labelTxt│ └── train.json│└── val ├── images ├── labelTxt └── val.json(The purpose of splitting val dataset is to find the optimal model, not for testing.)
For finishing the test, firstly, you only need to download the DOTA validation and DIOR test images, the ground truth have been provided inMSFC-Net_ROOT/exp/mAP/DOTA(DIOR)/input/ground-truth/. Secondly, please download above the model networks. Finally, you can test as follow:
For example, when testing on DOTA validation, run:(recommended to set CUDA_VISIBLE_DEVICES before running)
python test.py ctdet --exp_id test_dota --test_dir `your data path` --patch_size 512 --patch_overlap 128 --dataset DOTA --nms --arch msfc_101 --test_scales 1,0.4 --load_model `your model path` --arch msfcvgg_19 --arch msfcresnet_101 --arch msfscspdarknet_53 --arch ...when testing on DIOR test, run:
python test.py ctdet --exp_id test_dior --test_dir `your data path` --patch_size 512 --patch_overlap 112 --dataset DIOR --nms --arch msfc_101 --test_scales 1,0.4 --load_model `your model path`python train.py ctdet --exp_id msfcnet --batch_size 10 --dataset DOTA --arch msfc_101 --num_epoches 100
After testing the images, the results would be saved inMSFC-Net_ROOT/exp/mAP/DOTA(DIOR)/input/detection-results/.
The mAP is calculated by thehttps://github.com/Cartucho/mAP, for convenience, the code have been downloaded into the projectMSFC-Net_ROOT/exp/mAP/DOTA andMSFC-Net_ROOT/exp/mAP/DIOR.
For calculating the mAP, run:
python main.py -naYou can follow the below steps to run a quick demo:
you need to download the network model (DOTA or DIOR), then run:
python demo.py ctdet --demo `MSFC-Net_ROOT/exp/demo/images/` --load_model `your model path` --nms --test_scales 1 --dataset DOTA --arch msfc_101Contact:bit_zhangtong@163.com. If you have any questions.
The code is modified based onCenterNet.
@ARTICLE{msfc2021zhang, author={Zhang, Tong and Zhuang, Yin and Wang, Guanqun and Dong, Shan and Chen, He and Li, Lianlin}, journal={IEEE Transactions on Geoscience and Remote Sensing}, title={Multiscale Semantic Fusion-Guided Fractal Convolutional Object Detection Networkfor Optical Remote Sensing Imagery}, year={2022}, volume={60}, number={}, pages={1-20}, doi={10.1109/TGRS.2021.3108476}}About
Multi-Scale Semantic Fusion-Guided Fractal Convolutional Object Detection Network for Optical Remote Sensing Imagery
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Releases
Packages0
Uh oh!
There was an error while loading.Please reload this page.