opera-tools-full-r2b — expert restoration tools fine-tuned along the planner's chains (OPERA "Full" stage, run 2)

Expert tools (SwinIR / Restormer / X-Restormer) fine-tuned end-to-end along the chains that the frozen planner opera-rsi/opera-planner-sft-r2 produced on the clean synthetic training set synth_5k_135 (paper appendix D protocol; our re-implementation in opera-rsi/opera-repro-code, overlay/full_r2_chain.sh + overlay/train_smoke.sh + Opera/tools/restormer/training/train_combined.py).

Results on MiO100 (1,440 images, Y channel; planner r2's own plans + these tools)

model A B C Avg PSNR SSIM LPIPS CLIPIQA
r2 Planning (pretrained tools) 22.57 22.71 20.99 22.09 0.710 0.364 0.408
r2 + these tools (epoch 9 of 12) 23.39 23.62 21.51 22.84 0.727 0.334 0.451
OPERA paper Full (reported) 24.81 24.63 23.04 24.16 0.74 0.24 —

Epoch selection: best internal-validation PSNR-Y (80/20 split of the training pairs, epochs after the 30% loss-ramp) → epoch 9 (24.37); MiO was evaluated exactly once, on that epoch. Per-epoch validation PSNR-Y: 23.45 23.93 23.94 23.86 23.97 24.17 24.34 24.18 24.37 24.24 24.20 24.32.

Protocol

  • Training pairs: 3,221 (validation 741) from synth_5k_135, chains from planner r2; images whose chain contains a cv2 brighten step are skipped (the brighten ops have no parameters; dropping only the step would teach the neural tools to brighten — this was the bug of run 1).
  • Adam lr 1e-6, patch 128, batch 1 × grad-accum 4, grad clip 0.5, L1 + progressive perceptual (VGG) weight over the first 30% of epochs, fp32 (fp16 autocast gave NaN at the first batch), 12 epochs (paper: 23), checkpoints every epoch.
  • Tools present in r2's chains and therefore updated (training pairs): swinir.car.jpeg40 1,418 · xrestormer.dehaze 956 · restormer.deblur.defocus-single 832 · restormer.derain 795 · xrestormer.sr.real 723 · restormer.deblur.motion 613 · restormer.denoise.color-sigma50 491 · swinir.sr.real-psnr 424 · restormer.denoise.color-sigma25 261 · xrestormer.derain 206 · swinir.denoise.color-sigma25 98 · xrestormer.deblur.motion 34. Never in a chain (not included here; use the original weights): restormer.denoise.color-sigma15, swinir.denoise.color-sigma15/50, xrestormer.denoise.gaussian.

Files

  • models/<tool>_epoch_9.pth — the 12 fine-tuned weights (state dicts in the trainer's checkpoint format; TOOLS_CKPT=<this dir> TOOLS_EPOCH=9 SKIP_PLAN=1 bash overlay/step0_eval.sh loads them).
  • metrics/validation_metrics.csv, metrics/metrics_history.json, plots/ — internal validation per epoch.
  • configs/train_config.json, configs/val_config.json — the exact chains and image pairs used (paths are cluster-local).
  • mio_eval/ — MiO per-category metrics of the epoch-9 evaluation (mio_full_planner_sft_r2_toolsb_e9).
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support