This repository is the official PyTorch implementation of "Fully 1×1 Convolutional Network for Lightweight Image Super-Resolution". If our work helps your research or work, please cite it.
@article{wu2023fully,
title={Fully $1\times1$ Convolutional Network for Lightweight Image Super-Resolution},
author={Gang Wu and Junjun Jiang and Kui Jiang and Xianming Liu},
year={2023},
journal={Machine Intelligence Research},
doi={10.1007/s11633-024-1401-z},
}
Wu, Gang, Junjun Jiang, Kui Jiang and Xianming Liu. “Fully 1×1 Convolutional Network for Lightweight Image Super-Resolution.” Machine Intelligence Research.
-
Update implementation codes.
-
Upload pre-trained weights utilized in manuscript. You can download from Google Drive or Baidu Netdisk with password
SCSR
.
Deep models have achieved significant process on single image super-resolution (SISR) tasks, in particular large models with large kernel (3×3 or more). However, the heavy computational footprint of such models prevents their deployment in real-time, resource-constrained environments. Conversely, 1×1 convolutions bring substantial computational efficiency, but struggle with aggregating local spatial representations, an essential capability to SISR models. In response to this dichotomy, we propose to harmonize the merits of both 3×3 and 1×1 kernels, and exploit a great potential for lightweight SISR tasks. Specifically, we propose a simple yet effective fully 1×1 convolutional network, named Shift-Conv-based Network (SCNet). By incorporating a parameter-free spatial-shift operation, it equips the fully 1×1 convolutional network with powerful representation capability while impressive computational efficiency. Extensive experiments demonstrate that SCNets, despite its fully 1×1 convolutional structure, consistently matches or even surpasses the performance of existing lightweight SR models that employ regular convolutions.
All experiments are evaluated based on BasicSR, and we provide a minimal implementation in SCNet_arch.py
.
For training, you may refer to the following script:
python basicsr/train.py -opt options/train/SCNet/SCNet-T-x4.yml
And for testing:
python basicsr/test.py -opt options/test/SCNet/SCNet-T-x4.yml
This code is licensed under the Creative Commons Attribution-NonCommercial 4.0 International for non-commercial use only. Please note that any commercial use of this code requires formal permission prior to use.
The codes are based on BasicSR. Thanks for their nice sharing.