EchoSR: Efficient Context Harnessing for Lightweight Image Super-Resolution [Information Fusion 2026 π₯π₯π₯ IF 15.5]
Abstract: Image super-resolution (SR) aims to reconstruct high-quality, high-resolution (HR) images from low-resolution (LR) inputs and plays a critical role in various downstream applications. Despite recent advancements, balancing reconstruction fidelity and computational efficiency remains a fundamental challenge, particularly in resource-constrained scenarios. While existing lightweight methods attempt to expand receptive fields, many of them either incur substantial computational overhead, naively scale up kernel sizes, or lack mechanisms for coherent multi-scale integration, limiting their overall effectiveness and scalability. To address these limitations, we propose EchoSR, an efficient context-harnessing framework for lightweight image super-resolution, which unifies multi-scale receptive field modeling and hierarchical context fusion. EchoSR decouples feature learning into disentangled local, multi-scale, and global modeling stages through an efficient context-harnessing strategy, and further promotes seamless cross-scale integration via a cross-scale overlapping fusion mechanism. Extensive experiments have shown that EchoSR consistently outperforms state-of-the-art lightweight super-resolution methods across multiple benchmarks, while also achieving a faster speed
$(\sim 2\times)$ .
All pretrained weights, datasets, and visual results are available
via Baidu Netdisk (code: Echo).
| Model | Task | model_weights |
|---|---|---|
| EchoSR_light_x2 | Lightweight SR x2 | link |
| EchoSR_light_x3 | Lightweight SR x3 | link |
| EchoSR_light_x4 | Lightweight SR x4 | link |
| Model | Task | model_weights |
|---|---|---|
| EchoSR_light_x2 | Lightweight SR x2 | link |
| EchoSR_light_x3 | Lightweight SR x3 | link |
| EchoSR_light_x4 | Lightweight SR x4 | link |
| EchoSR_lite_x2 | Lightweight SR x2 | link |
| EchoSR_lite_x3 | Lightweight SR x3 | link |
| EchoSR_lite_x4 | Lightweight SR x4 | link |
Real-world SR weights are available via Baidu Netdisk (code:
Echo).
| Model | Task | model_weights |
|---|---|---|
| EchoSR_Real_x2 | Real-world SR x2 | Baidu Netdisk |
| EchoSR_Real_x4 | Real-world SR x4 | Baidu Netdisk |
We achieve state-of-the-art performance on lightweight image super-resolution tasks. Detailed results can be found in the paper.
This codebase was tested with the following environment configurations. It may work with other versions.
- Ubuntu 20.04
- CUDA 11.7
- Python 3.8
- PyTorch 2.0.1 + cu117
cd EchoSR
conda env create -f environment.yaml
conda activate EchoSRpip install -r requirements.txtAll datasets and visual results can be downloaded
from Baidu Netdisk (code: Echo), which includes: EchoSR
classical SR visual results, real-world SR visual results, benchmark datasets (Set5, Set14, BSD100, Urban100, Manga109,
RealSR test), and real SR pretrained weights.
The training and testing datasets used in our work are organized as follows:
| Task | Training Set | Testing Set |
|---|---|---|
| Classic SR | DIV2K (800 training images) + Flickr2K (2650 images) β DF2K combined [download] | Set5 + Set14 + BSD100 + Urban100 + Manga109 |
| Real-world SR | DF2K | RealSR |
-
Download the training datasets and place them in
datasets/DF2K. Download testing datasets and place them indatasets/SR. -
Follow the instructions below:
# Lightweight SR x2 (DIV2K, 1 GPU)
python basicsr/train.py -opt options/EchoSR_train/train_lightx2_Div2K.yml --auto_resume
# Lightweight SR x2 (DF2K, 2 GPUs)
CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 --master_port=1234 \
basicsr/train.py -opt options/EchoSR_train/train_lightx2_DF2K.yml --launcher pytorch
# Lightweight SR x3 (DF2K, 2 GPUs)
CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 --master_port=1234 \
basicsr/train.py -opt options/EchoSR_train/train_lightx3_DF2K.yml --launcher pytorch
# Lightweight SR x4 (DF2K, 2 GPUs)
CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 --master_port=1234 \
basicsr/train.py -opt options/EchoSR_train/train_lightx4_DF2K.yml --launcher pytorch
# Lite SR x2 (DF2K)
python basicsr/train.py -opt options/EchoSR_train/train_litex2_DF2K.yml --auto_resumeUse the SRRealModel in basicSR/model For training
# Real-world SR x2, 2 GPUs
CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 --master_port=1111 \
basicsr/train.py -opt options/real/train/train_realesr_x2EchoSR.yml --launcher pytorch
# Real-world SR x4, 2 GPUs
CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 --master_port=1111 \
basicsr/train.py -opt options/real/train/train_realesr_x4EchoSR.yml --launcher pytorch-
Download the testing datasets and place them in
datasets/SR. Pre-trained weights are already inexperiments/. -
Update the dataset paths in
options/EchoSR_test/*.ymlto match your local setup. -
Run testing:
# Classic lightweight SR
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_light_SRx2.yml
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_light_SRx3.yml
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_light_SRx4.yml
# DF2K variants
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_light_SRx2_DF2K.yml
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_light_SRx3_DF2K.yml
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_light_SRx4_DF2K.yml
# Lite variants (DF2K)
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_lite_SRx2_DF2K.yml
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_lite_SRx3_DF2K.yml
python basicsr/test.py -opt options/EchoSR_test/test_EchoSR_lite_SRx4_DF2K.yml-
Download the real SR pretrained weights from Baidu Netdisk (code:
Echo) and place them inckptor other place you want. -
Update paths in
options/real/test/test_realesr_x2EchoSR.ymland run:
# Real-world SR
python basicsr/test.py -opt options/real/test/test_realesr_x2EchoSR.yml
python basicsr/test.py -opt options/real/test/test_realesr_x4EchoSR.ymlConfig files for comparison methods are available in options/real/test/ (DAT, MambaIR, SwinIR, HIT-SIR, SeeMoRe,
SRFormer) and options/testOthers/.
ERF (Effective Receptive Field) visualization and model complexity analysis code can be found at ./analysis/ERF/ and
./analysis/model_zoo/.
Please cite us if our work is useful for your research.
@article{ZHAO2026104471,
title = {EchoSR: Efficient Context Harnessing for Lightweight Image Super-Resolution},
journal = {Information Fusion},
pages = {104471},
year = {2026},
issn = {1566-2535},
doi = {https://doi.org/10.1016/j.inffus.2026.104471},
url = {https://www.sciencedirect.com/science/article/pii/S1566253526003507},
author = {Hanli Zhao and Binhao Wang and Shihao Zhao and Tao Wang and Kaihao Zhang and Wanglong Lu},
keywords = {Image super-resolution, Lightweight super-resolution, Context harnessing, Multi-scale feature fusion, Convolutional neural network},
abstract = {Image super-resolution (SR) aims to reconstruct high-quality, high-resolution (HR) images from low-resolution (LR) inputs and plays a critical role in various downstream applications. Despite recent advancements, balancing reconstruction fidelity and computational efficiency remains a fundamental challenge, particularly in resource-constrained scenarios. While existing lightweight methods attempt to expand receptive fields, many of them either incur substantial computational overhead, naively scale up kernel sizes, or lack mechanisms for coherent multi-scale integration, limiting their overall effectiveness and scalability. To address these limitations, we propose EchoSR, an efficient context-harnessing framework for lightweight image super-resolution, which unifies multi-scale receptive field modeling and hierarchical context fusion. EchoSR decouples feature learning into disentangled local, multi-scale, and global modeling stages through an efficient context-harnessing strategy, and further promotes seamless cross-scale integration via a cross-scale overlapping fusion mechanism. Extensive experiments have shown that EchoSR consistently outperforms state-of-the-art lightweight super-resolution methods across multiple benchmarks, while also achieving a faster speed (β―βΌβ―2β―Γβ―). The source code is available at https://github.com/funnyWang-Echoes/EchoSR.}
}
This project is released under the Apache 2.0 license.
This code is based on BasicSR and MambaIR. Thanks for their awesome work.