Home

Awesome

A DeNoising FPN with Transformer R-CNN for Tiny Object Detection

method

A PyTorch implementation and pretrained models for DNTR (DeNoising Transformer R-CNN). We present DN-FPN, a plug-in that suppresses noise generated during the fusion of FPNs. In addition, we renalvate the standard R-CNN to consist of a transformer structure, namely Trans R-CNN.(base)

News

[2024/7/1]: DQ-DETR has been accepted by ECCV 2024. 🔥🔥🔥 [2024/5/3]: DNTR has been accepted by TGRS 2024. 🔥🔥🔥

Other Research Paper on Tiny Object Detection

<!-- A DeNoising FPN With Transformer R-CNN for Tiny Object Detection Hou-I Liu and Yu-Wen Tseng and Kai-Cheng Chang and Pin-Jyun Wang and Hong-Han Shuai, and Wen-Huang Cheng IEEE Transactions on Geoscience and Remote Sensing [paper] [code] -->
TitleVenueLinks
DNTRTGRS 2024Paper | code | 中文解读
DQ-DETRECCV 2024Paper | code | 中文解读

Installation and Get Started

<!-- Required environments: * Linux * Python 3.6+ * PyTorch 1.3+ * CUDA 9.2+ * GCC 5+ * [MMCV](https://mmcv.readthedocs.io/en/latest/#installation) * [cocoapi-aitod](https://github.com/jwwangchn/cocoapi-aitod) -->

Our model is based on mmdet-aitod and MMDetection.

<!-- This implementation is based on [MMDetection 2.24.1](https://github.com/open-mmlab/mmdetection). Assume that your environment has satisfied the above requirements, -->

Please follow the following steps for installation.

git clone https://github.com/hoiliu-0801/DNTR.git
cd DNTR/mmdet-dntr
# Installation
sh install.sh

Get Started with single GPU

Training DNTR, for example :

python tools/train.py configs/aitod-dntr/aitod_DNTR_mask.py

Testing DNTR, for example :

python tools/test.py configs/aitod-dntr/aitod_DNTR_mask.py

Performance

Table 1. Training Set: AI-TOD trainval set, Testing Set: AI-TOD test set, 36 epochs, where FRCN, DR denotes Faster R-CNN and DetectoRS, respectively.

MethodBackbonemAPAP<sub>50</sub>AP<sub>75</sub>AP<sub>vt</sub>AP<sub>t</sub>AP<sub>s</sub>AP<sub>m</sub>
FRCNR-5011.126.37.60.07.223.333.6
ATSSR-5012.830.68.51.911.619.529.2
ATSS w/ DN-FPNR-5017.941.012.93.716.425.335.0
NWD-RKAR-5023.453.516.88.723.828.536.0
DNTRR-5026.256.720.212.826.431.037.0
DNTR (New)R-5027.256.321.815.227.431.938.5

Table 2. Training Set: Visdrone train set, Validation Set: Visdrone val set, 12 epochs,

MethodBackboneAPAP<sub>50</sub>AP<sub>75</sub>
DNTRR-5034.457.935.3
UFPMP w/o DN-FPNR-5036.662.436.7
UFPMP w/ DN-FPNR-5037.862.738.6

Pretrained Weights of AI-TOD-v1 and AI-TOD-v2 .

https://drive.google.com/drive/folders/1i0mYPQ3Cz_k4iAIvSwecwpWMX_wivxzY

Note

If you want to run other baseline method with DN-FPN, please replace /mmdet/models/detectors/two_stage_ori.py with mmdet/models/detectors/two_stage.py.

For example: Faster R-CNN: python tools/train.py configs/aitod-dntr/aitod_faster_r50_dntr_1x.py.

Citation

@ARTICLE{10518058,
  author={Liu, Hou-I and Tseng, Yu-Wen and Chang, Kai-Cheng and Wang, Pin-Jyun and Shuai, Hong-Han and Cheng, Wen-Huang},
  journal={IEEE Transactions on Geoscience and Remote Sensing}, 
  title={A DeNoising FPN With Transformer R-CNN for Tiny Object Detection}, 
  year={2024},
  volume={62},
  number={},
  pages={1-15},
}

@InProceedings{huang2024dq,
author={Huang, Yi-Xin and Liu, Hou-I and Shuai, Hong-Han and Cheng, Wen-Huang},
title={DQ-DETR: DETR with Dynamic Query for Tiny Object Detection},
booktitle={European Conference on Computer Vision},
pages={290--305},
year={2025},
organization={Springer}
}