Skip to content

Framefix

An automatic motionblur fix for any picture Res

Core trick

Runs a fine-tuned NAFNet/Restormer deblurring model on-device via ExecuTorch right after photo capture.

Tags

Description

An automatic motionblur fix for any picture Res
xenn0010/FrameFix★ 10 forksJupyter NotebookMITCreated Oct 20, 2025 · last push Oct 20, 2025

README excerpt

# FrameFix - AI-Powered Real-Time Image Deblurring

FrameFix is an Android camera application that uses ExecuTorch and a fine-tuned PyTorch deblurring model to automatically enhance blurry photos immediately after capture on edge devices.

## Features

- **Real-time Deblurring**: Automatically enhances photos affected by motion blur, camera shake, or defocus blur
- **On-Device Processing**: Uses ExecuTorch for efficient edge inference on Snapdragon 8 Elite
- **Instant Results**: Processed images ready when you view them (2-3 second processing)
- **State-of-the-Art Model**: Fine-tuned NAFNet/Restormer architecture optimized for mobile

## Project Structure

```
FrameFix/
├── android/                    # Android native app
│   ├── app/
│   │   ├── src/main/
│   │   │   ├── java/com/framefix/
│   │   │   ├── res/
│   │   │   └── assets/         # .pte model file
│   │   └── build.gradle
│   ├── build.gradle
│   ├── settings.gradle
│   └── gradle/
├── model/                      # PyTorch model training & conversion
│   ├── colab_training.ipynb    # Google Colab notebook
│   ├── model_export.py         # Export to ExecuTorch
│   └── requirements.txt
├── assets/                     # Dataset samples for testing
└── README.md
```

## Setup Instructions

### 1. Model Training (Google Colab)

1. Open `model/colab_training.ipynb` in Google Colab
2. Select T4 GPU runtime: Runtime → Change runtime type → T4 GPU
3. Run all cells to:
   - Download pre-trained NAFNet weights
   - Fine-tun

Team