XLSR - Extremely Lightweight Quantization Robust Real-Time Single-Image Super Resolution for Mobile Devices
Welcome to the Pytorch-Lightning implementation of the research paper "Extremely Lightweight Quantization Robust Real-Time Single-Image Super Resolution for Mobile Devices (XLSR)". XLSR is a cutting-edge solution engineered to deliver exceptional image super-resolution while remaining lightweight, quantization-robust, and optimized for real-time execution on mobile devices.
- Lightweight Model: Designed for minimal memory footprint and computational efficiency.
- Quantization Robustness: Ensures high performance even after quantization, enabling seamless deployment on mobile hardware.
- Real-Time Performance: Provides low-latency performance, ideal for mobile and embedded systems.
To get started, ensure the following dependencies are installed:
- Python 3.10 or later
- PyTorch 2.3 or later
- PyTorch Lightning (latest version)
- Pillow
- NumPy
see test.ipynbXLSR leverages an efficient design composed of:
- Efficient Residual Blocks: Enhances feature extraction with minimal overhead.
- Pixel Shuffle Layers: Upscales images efficiently with reduced computational complexity.
XLSR supports the following datasets:
- DIV2K - A high-quality image super-resolution dataset.
- Place the dataset into the
datasetdirectory, with training images stored in theDIV2K_train_HRdirectory and validation images in theDIV2K_valid_HRdirectory.
To train the XLSR model, execute:
python main.py| Model | Parameters (K) | PSNR (dB) |
|---|---|---|
| XLSR | 20 | 29.58 |
- Original Paper: arXiv:2105.10288
- Journal reference: IEEE Computer Vision Pattern Recognition Workshops (Mobile AI 2021 Workshop)