OAPT: Offset-Aware Partition Transformer for Double JPEG Artifacts Removal
January 13, 2025 ยท View on GitHub
OAPT: Offset-Aware Partition Transformer for Double JPEG Artifacts Removal
Qiao Mo, Yukang Ding, Jinhua Hao, Qiang Zhu, Ming Sun, Chao Zhou, Feiyu Chen, Shuyuan Zhu
Official implementation of OAPT in ECCV2024, which is a transformer-based network designed for double (or multiple) compressed image restoration.
Architecture

Pattern clustering & inv operation

Experimental results on gray double JPEG images

Visual results

Training details
All the weights are put in Baidu Netdisk and Gdrive
| Model(Gray) | Params(M) | Multi-Adds(G) | TrainingSets | Pretrain model | iterations |
|---|---|---|---|---|---|
| SwinIR | 11.49 | 293.42 | DF2K | 006_CAR_DFWB_s126w7_SwinIR-M_jpeg10 | 200k |
| HAT-S | 9.24 | 227.14 | DF2K | HAT-S_SRx2 | 800k |
| ART | 16.14 | 415.51 | DF2K | CAR_ART_q10 | 200k |
| OAPT | 12.96 | 293.60 | DF2K | 006_CAR_DFWB_s126w7_SwinIR-M_jpeg10 | 200k |
Setup
The version of PyTorch we used is 1.7.0. Please ensure you have the correct versions of all dependencies by installing from the requirements.txt file.
pip install -r requirements.txt
python setup.py develop
Train
CUDA_VISIBLE_DEVICES=0,1,2,3 python -m torch.distributed.launch --nproc_per_node=4 --master_port=73 oapt/train.py -opt options/Gray/train/train_oapt.yml --launcher pytorch
Test
CUDA_VISIBLE_DEVICES=0 python oapt/test.py -opt ./options/Gray/test/test_oapt.yml