Skip to content
Back to skills

Face Restoration

ASecurity

Face restoration for degraded footage: CodeFormer vs GFPGAN, fidelity trade-offs, restore-before-enhance ordering.

  • 2 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 29, 2026
ai-agentsgotestingdocumentation

Security analysis

A100/100

Pro scans all 2 files and shows the line behind each finding

Scanned September 29, 2026

npx -y skills add aicodedecode/awesome-muse-skills --skill face-restoration --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Face Restoration?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Face Restoration
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/aicodedecode-face-restoration/badge)](https://www.skillsdirectory.com/skills/aicodedecode-face-restoration)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: face-restoration
description: Face restoration for degraded footage: CodeFormer vs GFPGAN, fidelity trade-offs, restore-before-enhance ordering.
---

# Face Restoration Usage for OpenMontage

> Sources: CodeFormer paper (Zhou et al. 2022), GFPGAN documentation, Real-ESRGAN upsampling docs,
> existing Layer 2 skill at `skills/creative/enhancement-strategy.md`

## Quick Reference Card

```
DEFAULT MODEL:    CodeFormer with fidelity 0.5
ALTERNATIVE:      GFPGAN (faster, less controllable)
FIDELITY RANGE:   0 = max quality enhancement, 1 = max faithfulness to input
BG UPSAMPLER:     Enable to also upscale the background (Real-ESRGAN)
PROCESSING ORDER: face_restore BEFORE face_enhance — restore first, polish second
```

## CRITICAL DISTINCTION — face_restore vs face_enhance

| Tool | What It Does | When to Use |
|------|-------------|-------------|
| `face_enhance` | FFmpeg filter chains — skin smoothing, color balance, sharpening | Good-quality footage that needs polish |
| `face_restore` | AI model reconstruction — rebuilds degraded face detail | Bad-quality footage with blur, compression, low-res faces |

**Decision rule:** If the face is recognizable and just needs polish, use `face_enhance`. If the face is degraded, blurry, or compressed beyond recognition, use `face_restore`.

## Model Selection

| Model | Strengths | Fidelity Control | Speed |
|-------|----------|------------------|-------|
| CodeFormer | Better quality, identity preservation, controllable | Yes (0-1 slider) | Slower |
| GFPGAN | Good baseline, simpler | No | Faster |

### Fidelity Tuning (CodeFormer Only)

| Fidelity | Effect | Use Case |
|----------|--------|----------|
| 0.0 | Maximum enhancement — best visual quality but may alter identity | Unrecognizable faces, artistic use |
| 0.3 | Strong restoration — good for very degraded faces | Old footage, heavy compression artifacts |
| 0.5 | Balanced (default) — restoration + identity preservation | General-purpose restoration |
| 0.7 | Conservative — mild cleanup, strong identity preservation | Webcam footage, light degradation |
| 1.0 | Minimal change — essentially passthrough | Testing, comparison baseline |

## Common Workflows

### 1. Old Footage Restoration

```
face_restore (fidelity 0.3) → color_grade → compose
```

Heavy restoration for archival/vintage footage where faces are significantly degraded.

### 2. Webcam Cleanup

```
face_restore (fidelity 0.7) → face_enhance (talking_head_standard) → compose
```

Light restoration followed by polish — best for modern but low-quality webcam footage.

### 3. Low-Res Face + Background Upscale

```
face_restore (bg_upsampler=true) → compose
```

Single-step restoration when both face and background need improvement.

### 4. Archival Photo for Talking Head

```
face_restore → talking_head tool (SadTalker)
```

Restore the source face image before feeding into the talking-head animation pipeline.

## Quality Checklist

Before accepting face_restore output, verify:

- [ ] Restored face is sharper and cleaner than input
- [ ] Identity is preserved — the person is still recognizable
- [ ] No hallucinated features (extra eyes, wrong skin texture, teeth artifacts)
- [ ] Skin texture looks natural, not plastic/over-smoothed
- [ ] Consistent across frames (for video) — no flickering between restored/unrestored quality

## Applying to OpenMontage

When using the `face_restore` tool:

1. **Use face_restore BEFORE face_enhance** in the processing chain — restore first, polish second
2. **Start with fidelity 0.5** and adjust based on visual inspection
3. **For talking-head pipelines with poor source footage**, apply face_restore in the assets stage
4. **Enable `bg_upsampler` only when both face AND background need improvement**
5. **NEVER use face_restore on already-good footage** — it can introduce subtle artifacts
6. **Compare input and output side-by-side** — the face should be recognizably the same person
7. **For video, extract key frames and test face_restore settings** before processing full video

Files in this skill

  • LICENSE-NOTE.md614 B
  • SKILL.md4 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…