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

July 8, 2026 · View on GitHub

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

TitleVenueLinks
DNTRTGRS 2024Paper | code | 中文解读
DQ-DETRECCV 2024Paper | code | 中文解读

Installation and Get Started

Our model is based on mmdet-aitod and MMDetection.

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.

MethodBackbonemAPAP50AP75APvtAPtAPsAPm
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,

MethodBackboneAPAP50AP75
DNTRR-5034.457.935.3
UFPMP w/o DN-FPNR-5036.662.436.7
UFPMP w/ DN-FPNR-5037.862.738.6

AI-TOD-v1 and AI-TOD-v2 Datasets (Don’t forget to leave us a ⭐)

  • Step 1: Download the datasets from the below link.
https://drive.google.com/drive/folders/1CowS5BrujefWQxxlmOFfUuLOfUUm8w6U?usp=sharing

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

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

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}
}