PF-RPN: Prompt-Free Universal Region Proposal Network
π§ Model Details
PF-RPN (Prompt-Free Universal Region Proposal Network) is a state-of-the-art model for Cross-Domain Open-Set Region Proposal Network, accepted at CVPR 2026.
Open-vocabulary detectors typically rely on text prompts (class names), which can be unavailable, noisy, or domain-sensitive during deployment. PF-RPN tackles this by revisiting region proposal generation under a strictly prompt-free setting. Instead of specific category names, all categories are unified into a single token (object).
Model Architecture Innovations
To improve proposal quality without explicit class prompts, PF-RPN introduces three key designs:
- Sparse Image-Aware Adapter: Constructs pseudo-text representations from multi-level visual features.
- Cascade Self-Prompt: Iteratively enhances visual-text alignments via masked pooling.
- Centerness-Guided Query Selection: Selects top-k decoder queries using joint confidence scores.
Model Sources
- Repository: PF-RPN GitHub Repository
- Paper: PF-RPN: Prompt-Free Universal Region Proposal Network (CVPR 2026)
- Base Framework: MMDetection 3.3.0
- Backbone: Swin-Base (
swinb)
π― Intended Use
- Primary Use Case: Generating high-quality, class-agnostic region proposals ("objects") across diverse, unseen domains without requiring domain-specific text prompts or retraining.
- Protocol: Strict one-class open-set setup where
custom_classes = ('object',).
ποΈ Training Data
The provided checkpoint (pf_rpn_swinb_5p_coco_imagenet.pth) was trained on a combined dataset of COCO 2017 and ImageNet-1k.
- To simulate the open-set proposal generation task, all ground-truth categories are merged into a single class (
object). - The specific released model uses a 5% subset of the COCO training data merged with ImageNet images.
π Evaluation Data and Performance
PF-RPN achieves state-of-the-art Average Recall (AR) under prompt-free evaluation across multiple benchmarks.
Cross-Domain Few-Shot Object Detection (CD-FSOD)
Evaluated across 6 target domains (ArTaxOr, clipart1k, DIOR, FISH, NEUDET, UODD).
| Method | Prompt Free | AR100 | AR300 | AR900 | ARs | ARm | ARl |
|---|---|---|---|---|---|---|---|
| GDINOβ‘ | β | 54.7 | 57.8 | 61.6 | 34.1 | 49.3 | 67.0 |
| GenerateU | β | 47.7 | 54.1 | 55.7 | 28.1 | 48.3 | 69.4 |
| Cascade RPN | β | 45.8 | 52.0 | 56.9 | 31.1 | 50.5 | 66.0 |
| PF-RPN (Ours) | β | 60.7 | 65.3 | 68.2 | 38.5 | 61.9 | 80.3 |
Object Detection in the Wild (ODinW13)
Evaluated across 13 diverse target domains.
| Method | Prompt Free | AR100 | AR300 | AR900 | ARs | ARm | ARl |
|---|---|---|---|---|---|---|---|
| GDINOβ‘ | β | 69.1 | 70.9 | 72.4 | 40.8 | 64.6 | 78.4 |
| GenerateU | β | 67.3 | 71.5 | 72.2 | 32.8 | 63.1 | 80.0 |
| Cascade RPN | β | 60.9 | 65.5 | 70.2 | 40.3 | 65.5 | 75.0 |
| PF-RPN (Ours) | β | 76.5 | 78.6 | 79.8 | 45.4 | 71.9 | 85.8 |
(β‘ indicates models where original class names were replaced with object to simulate a prompt-free setting).
βοΈ How to Use
Installation
Ensure you have a working environment with Python 3.10, PyTorch 2.1.0, and CUDA 11.8. Install MMDetection and this repository's codebase as described in the GitHub README.
Quick Start: Evaluation
- Download the Weights
mkdir -p checkpoints
# Download GroundingDINO base weights
wget -O checkpoints/groundingdino_swinb_cogcoor_mmdet-55949c9c.pth \
[https://download.openmmlab.com/mmdetection/v3.0/grounding_dino/groundingdino_swinb_cogcoor_mmdet-55949c9c.pth](https://download.openmmlab.com/mmdetection/v3.0/grounding_dino/groundingdino_swinb_cogcoor_mmdet-55949c9c.pth)
# Download PF-RPN weights
wget -O checkpoints/pf_rpn_swinb_5p_coco_imagenet.pth \
[https://huggingface.co/tangqh/PF-RPN/resolve/main/pf_rpn_swinb_5p_coco_imagenet.pth](https://huggingface.co/tangqh/PF-RPN/resolve/main/pf_rpn_swinb_5p_coco_imagenet.pth)
2. **Run Inference / Testing**
```bash
python tools/test.py \
configs/pf-rpn/pf-rpn_coco-imagenet.py \
checkpoints/pf_rpn_swinb_5p_coco_imagenet.pth
Note: Data preprocessing is required before evaluation. Datasets must be downloaded and their categories merged into a single object class using the provided tools/merge_classes_and_sample_subset.py script. See the repository for detailed data preparation commands.
π Citation
If you use PF-RPN in your research, please cite:
@inproceedings{tang2026pf,
title={Prompt-Free Universal Region Proposal Network},
author={Tang, Qihong and Liu, Changhan and Zhang, Shaofeng and Li, Wenbin and Fan, Qi and Gao, Yang},
booktitle={CVPR},
year={2026}
}