ShiftLUT: Spatial Shift Enhanced Look-Up Tables for Efficient Image Restoration (CVPR 2026)

March 3, 2026 ยท View on GitHub

arXiv Conference


Step 1: Train the CNN Backbone

cd Net_train/[task_type]

# Stage 1: Train the network with offset prediction module
bash train_stage1.sh

# Evaluate the Stage 1 model and collect predicted offsets from LSS
python eval_offset.py

# Stage 2: Train the network with fixed offset
bash train_stage2.sh

# (Optional) Evaluate the Stage 2 model
python eval.py

Step 2: Convert CNN to LUT

python net2LUT.py

This script converts a trained CNN model into a set of LUTs for efficient inference.


Step 3: Evaluate LUT Performance

cd LUT_test/[task_type]
python eval_LUT.py

This runs the final evaluation using the converted LUTs.


๐Ÿ” Replace [task_type] with one of: sr, denoising, or deblocking.


Project Structure

ShiftLUT/
โ”œโ”€โ”€ Net_train/
โ”‚   โ”œโ”€โ”€ sr/              # Super-resolution training code
โ”‚   โ”œโ”€โ”€ denoising/       # Denoising training code
โ”‚   โ””โ”€โ”€ deblocking/      # Deblocking training code
โ”‚
โ”œโ”€โ”€ models/              # Trained CNN models
โ”œโ”€โ”€ net2LUT.py           # Convert trained network to LUT
โ”‚
โ”œโ”€โ”€ LUT_test/
โ”‚   โ”œโ”€โ”€ sr/              # Super-resolution LUT evaluation
โ”‚   โ”œโ”€โ”€ denoising/       # Denoising LUT evaluation
โ”‚   โ””โ”€โ”€ deblocking/      # Deblocking LUT evaluation

Citation

If you find our work useful in your research, please consider citing:

@inproceedings{zeng2026shiftlut,
  title={ShiftLUT: Spatial Shift Enhanced Look-Up Tables for Efficient Image Restoration},
  author={Zeng, Xiaolong and Yu, Yitong and Xiong, Shiyao and Hao, Jinhua and Sun, Ming and Zhou, Chao and Wang, Bin},
  booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
  year={2026},
  url={https://arxiv.org/abs/2603.00906}
}

Acknowledgement

This work is based on the following works, thank the authors a lot.

SR-LUT

MuLUT

TinyLUT