📈 GH Trending Explorer 🎲 Surprise me

← all repos

mihawk-99 / PS5_MihawkGen

git clone https://github.com/mihawk-99/PS5_MihawkGen.git v1.0.0 · 8d ago

Neural frame generation for PS5 homebrew: beats FSR 3.1 on unseen game frames, in about 2 ms on the console.

+0
stars, 24h · #35,786
+31
stars, 7 days · #3,728
+31
stars, 30 days · #14,249
32
★ total · +31% this week
8
forks · 0 open issues

Star history (as recorded here)

2026-10-20 · 31 ★ 2026-10-22 · 32 ★
LanguageC++
License—
Created2026-10-14 (8d ago)
Last push8d ago
Watchers0
OwnerUser

Links

README excerpt
# PS5 MihawkGen
**Neural frame generation for the PS5, in 432,308 parameters.**
Two colour frames in, the picture between them out. Compute shaders on the PS5's own GPU, no engine data, no motion vectors, no async compute.
MihawkGen turns a 30 or 60 fps picture into 120 fps on a base PS5: one generated picture between two real frames at 60 fps, three at 30 fps. It works on the *pictures* a title shows, so it needs nothing from the title: no engine data, no motion vectors. When a title does hand over depth and motion vectors, a second method (`mvsplat`) uses them.
## Why it is small
| Model | Parameters | Compute for one 288×512 pair | Runs on a PS5? |
| --- | ---: | ---: | --- |
| **MihawkGen network** | **0.43 M** | **4.4 GFLOPs** | **yes: about 2.2 ms at 3840×2160** |
| AMT-S | 3.0 M | 32 GFLOPs | not tested |
| IFRNet | 5.0 M | 57 GFLOPs | not tested |
| IFRNet-L | 19.7 M | 226 GFLOPs | no (about 50× the compute) |
| GIMM-VFI-R | 19.8 M | RAFT, 20 iterations | no |
The network estimates a flow and a mask at four scales, warps both real frames with it, and mixes them. It cannot paint a pixel that is not in one of the two frames; a last shader pass keeps still regions exact.
## Benchmarks
The honest kind: the same triplets (frame, the real picture between, next frame) for every method, never-trained clips only, a hash audit of the benchmark against the training clips, and one scorer for all. PSNR in dB (higher is better), SSIM, LPIPS (lower is better); the average over clip sets.
**33 never-trained 2D clip sets**, the picture at t = ½:
| Method | PSNR | SSIM | LPIPS |
| --- | ---: | ---: | ---: |
| GIMM-VFI-R (20 M, research) | 30.44 | 0.9418 | 0.0420 |
| SGM-VFI (21 M, research) | 30.20 | 0.9372 | 0.0454 |
| **MihawkGen (0.43 M)** | **30.08** | **0.9391** | **0.0428** |
| BiM-VFI (6.9 M, research) | 30.08 | 0.9410 | 0.0426 |
| plain average of the two frames | 29.29 | 0.9223 | 0.0481 |
| FSR 3.1 frame interpolation (no engine data) | 28.82 | 0.9206 | 0.0506 |
**8 never-trained 3D clip sets:**
| Method | PSNR | SSIM | LPIPS |
| --- | ---: | ---: | ---: |
| GIMM-VFI-R | 37.00 | 0.9328 | 0.0675 |
| SGM-VFI | 36.38 | 0.9257 | 0.0621 |
| **MihawkGen** | **35.84** | **0.9178** | **0.0578** |
| BiM-VFI | 35.64 | 0.9295 | 0.0551 |
| plain average | 33.66 | 0.8857 | 0.0716 |
| FSR 3.1 | 31.53 | 0.8840 | 0.0742 |
Three generated pictures between two real ones (t = ¼, ½, ¾) keep the same order: on the 3D set MihawkGen leads the plain average by 1 to 1.6 dB at every instant.
**Reading the tables.** MihawkGen beats FSR 3.1 and the plain average on every metric on both sets, and is within 0.4 dB of a 20-million-parameter research model on 2D clips. The research models are far ahead on 3D (up to 1.2 dB) and cost 7× to 50× the compute. They are measured, not shipped.
### Every situation
`train/situations.py` renders 70 controlled scenes with an exact truth (scrolls, pans, zoom, rotation, parallax, sprites, explosions, particles, fades, HUD over motion, tickers