RT-Focuser / README.md
ReaganWZY's picture
Update
296f2b2 verified
---
license: mit
tags:
- image-deblurring
- computer-vision
- onnx
- pytorch
- real-time
pipeline_tag: image-to-image
---
# RT-Focuser: Real-Time Lightweight Model for Edge-side Image Deblurring
Official PyTorch and ONNX release of RT-Focuser, a lightweight image deblurring model designed for real-time edge deployment.
## Model Details
- Developed by: Zhuoyu Wu and collaborators
- Shared by: ReaganWu
- Model type: Image deblurring model
- Frameworks: PyTorch, ONNX
- License: MIT
- Paper: [RT-Focuser: A Real-Time Lightweight Model for Edge-side Image Deblurring](https://arxiv.org/abs/2512.21975)
- Code repository: [GitHub - ReaganWu/RT-Focuser](https://github.com/ReaganWu/RT-Focuser)
## Model Description
RT-Focuser is a lightweight single-input single-output image deblurring model for real-time deployment on edge devices. It is designed to balance restoration quality and inference speed, with support for both PyTorch and ONNX inference.
Highlights:
- Lightweight: 5.85M parameters
- Efficient: 15.76 GMACs
- Real-time performance on desktop and mobile hardware
- Suitable for edge-side image restoration and streaming scenarios
## Available Checkpoints
This repository provides:
- `Pretrained_Weights/GoPro_RT_Focuser_Standard_256.pth`
- `Pretrained_Weights/rt_focuser_wint8_afp16.onnx`
- `Pretrained_Weights/rt_focuser_wint8_afp32.onnx`
- `Pretrained_Weights/rt_focuser_wint8_aint8.onnx`
## Intended Use
Direct use:
- Single-image motion deblurring
- Real-time restoration pipelines
- Edge/mobile/embedded deployment experiments
- ONNX-based inference benchmarking
Out-of-scope use:
- Medical or safety-critical decision making
- Forensic restoration requiring guaranteed fidelity
- General-purpose enhancement outside motion-deblur settings without validation
## Training Data
The released model is trained and evaluated on the GoPro image deblurring dataset.
## Performance
Reported results from the project README:
| Model | PSNR | SSIM | Params | GMACs | Time (s) |
| --- | --- | --- | --- | --- | --- |
| RT-Focuser | 30.67 | 0.9005 | 5.85M | 15.76 | 0.006 |
Additional reported deployment speed:
- iPhone 15 (CoreML): 146.72 FPS
- RTX 3090 (PyTorch CUDA): 154.42 FPS
- Intel Xeon CPU (OpenVINO): 22.74 FPS
- Intel Xeon CPU (ONNX Runtime): 14.95 FPS
## Risks and Limitations
- Performance depends on blur type, resolution, and domain shift.
- The model is primarily presented for research and engineering use.
- Results outside the GoPro-style motion blur setting may degrade noticeably.
- Quantized ONNX checkpoints may trade image quality for speed depending on backend and hardware.
## How to Use
### PyTorch
```python
import torch
from PIL import Image
import torchvision.transforms as transforms
from model.rt_focuser_model import RT_Focuser_Standard
model = RT_Focuser_Standard()
checkpoint = torch.load(
"Pretrained_Weights/GoPro_RT_Focuser_Standard_256.pth",
map_location="cpu"
)
model.load_state_dict(checkpoint, strict=True)
model.eval()
transform = transforms.Compose([
transforms.Resize((256, 256)),
transforms.ToTensor()
])
image = Image.open("Sample/Blurry.png").convert("RGB")
input_tensor = transform(image).unsqueeze(0)
with torch.no_grad():
output = model(input_tensor)