[CVPR 2026 Findings] SAT
June 1, 2026 ยท View on GitHub
[CVPR 2026 Findings] Official repository for "SAT: Selective Aggregation Transformer for Image Super-Resolution"
SAT: Selective Aggregation Transformer for Image Super-Resolution [Paper Link]
Dinh Phu Tran, Thao Do, Saad Wazir, Seongah Kim, Seon Kwon Kim and Daeyoung Kim
Updates
- โ 2026-04-01: Release repository
Overview
Abstract:
Transformer-based approaches have revolutionized image super-resolution by modeling long-range dependencies. However, the quadratic computational complexity of vanilla self-attention mechanisms poses significant challenges, often leading to compromises between efficiency and global context exploitation. Recent window-based attention methods mitigate this by localizing computations, but they often yield restricted receptive fields. To mitigate these limitations, we propose Selective Aggregation Transformer (SAT). This novel transformer efficiently captures long-range dependencies, leading to an enlarged model receptive field by selectively aggregating key-value matrices (reducing the number of tokens by 97%) via our Density-driven Token Aggregation algorithm while maintaining the full resolution of the query matrix. This design significantly reduces computational costs, resulting in lower complexity and enabling scalable global interactions without compromising reconstruction fidelity. SAT identifies and represents each cluster with a single aggregation token, utilizing density and isolation metrics to ensure that critical high-frequency details are preserved. Experimental results demonstrate that SAT outperforms the state-of-the-art method PFT by up to 0.22dB, while the total number of FLOPs can be reduced by up to 27%.
Overall Architecture of SAT:
Selective Aggregation Attention:
Quantitative Results:
Qualitative Results:
Environment
- PyTorch >= 1.7 (Recommend NOT using torch 1.8!!! It would cause abnormal performance.)
- BasicSR == 1.3.4.9
Installation
Install Pytorch first. Then,
pip install -r requirements.txt
python setup.py develop
How To Test
- Run the following codes:
python basicsr/test.py -opt options/test/SAT_SRx4.yml
The testing results will be saved in the ./results folder.
How To Train
-
Refer to
./options/trainfor the configuration file of the model to train. -
Preparation of training data can refer to this page.
-
The training command is like
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 --master_port=4321 basicsr/train.py -opt options/train/train_SAT_SRx4.yml --launcher pytorch
The training logs and weights will be saved in the ./experiments folder.
Citations
BibTeX
TBD
Acknowledgement
Our codes was built on BasicSR and RGT. Thank you authors for sharing their great works.