PRZEWODNIK Wizualnej AI

Odbudowa twarzy GFPGAN

GFPGAN is an open-source model from Tencent's ARC Lab that repairs blurry, noisy, low-resolution or compressed faces in a single pass by borrowing detail from a pretrained StyleGAN2 face generator.

Posłuchaj tego przewodnikaOpowiadane przez sztuczną inteligencję · ~7 min

Na tej stronie8 min czytania
  1. Przegląd
  2. Kluczowe wnioski
  3. Głębokie nurkowanie
  4. Restoring a scanned family photo with GFPGAN
  5. Implementacja w świecie rzeczywistym
  6. Przyszłość odbudowy twarzy GFPGAN
  7. Wdrażanie tego w praktykę
  8. Źródła i dalsza lektura
  9. Odkrywaj dalej
  10. Często zadawane pytania

Przegląd

Published at CVPR 2021, it became one of the most widely used tools for restoring old photos and fixing faces in AI-generated images, while also illustrating the risk of invented detail.

Kluczowe wnioski

  1. GFPGAN restores degraded faces in one forward pass using features from a pretrained StyleGAN2 face generator as a prior.
  2. Channel-split spatial feature transform layers modulate half the GAN features with input information to balance realism and fidelity.
  3. The CVPR 2021 paper trained on the 70,000-image FFHQ dataset with synthetic blur, downsampling, noise and JPEG damage.
  4. On CelebA-Test, GFPGAN reported the best LPIPS, FID, NIQE and identity distance among the compared methods.
  5. Restored faces contain plausible invented detail, so they should not be treated as an accurate record of a real person.

Głębokie nurkowanie

Blind face restoration means recovering a clean, detailed face from a damaged photo when the exact damage is unknown. A real old snapshot might be blurred, shrunk, noisy and saved as a heavily compressed JPEG, all at once. GFPGAN, short for Generative Facial Prior GAN, attacks this by combining two sources of information: what can still be seen in the input, and what a separate network already knows about how faces look. That second source is the generative facial prior, taken from StyleGAN2, a generative adversarial network (GAN) trained to produce photorealistic faces.

The method was introduced in 'Towards Real-World Blind Face Restoration with Generative Facial Prior' by Xintao Wang, Yu Li, Honglun Zhang and Ying Shan of Tencent's Applied Research Center, posted to arXiv on 11 January 2021 and accepted at CVPR 2021. Earlier approaches leaned on geometric priors such as facial landmarks or parsing maps, which are hard to estimate from a badly degraded input, or on reference photos of the same person, which are rarely available. GAN inversion methods such as PULSE searched for a StyleGAN latent code that matched the input, which was slow and often produced a convincing face that was not the same person. GFPGAN set out to keep the realism of a GAN prior while staying faithful to the input, in one forward pass.

The pipeline has three stages. First, a degradation removal module, a U-Net with seven downsampling and seven upsampling steps, cleans the input and produces two outputs: multi-resolution spatial features and a compact latent feature. Second, the latent feature is mapped through small fully connected layers to intermediate latent codes for a StyleGAN2 generator pretrained at 512 by 512 pixels, which generates rich facial features. Third, Channel-Split Spatial Feature Transform layers, called CS-SFT, blend the two. At each resolution, the input's spatial features predict a scale and shift that modulate half of the StyleGAN2 feature channels, while the other half pass through untouched. The modulated half keeps the result tied to the real face; the untouched half preserves the GAN's texture and realism.

Training combines several losses. A reconstruction loss pairs pixel L1 distance with a perceptual loss from a VGG-19 network, and is applied at several pyramid levels inside the degradation removal module. An adversarial loss pushes the whole face to look real. Small local discriminators judge crops of the left eye, right eye and mouth, with a Gram-matrix style loss to sharpen fine texture. An identity preserving loss compares ArcFace face-recognition embeddings of the output and the ground truth, so the restored face still reads as the same person. The paper trained on the 70,000-image FFHQ dataset resized to 512 pixels, synthesizing damaged inputs by blurring, downsampling by a factor of 1 to 8, adding Gaussian noise and JPEG compressing at quality 60 to 100. Training ran for 800,000 iterations on four Nvidia Tesla P40 GPUs.

On the synthetic CelebA-Test benchmark of 3,000 images, the paper reports GFPGAN at an LPIPS of 0.3646, FID of 42.62 and NIQE of 4.077, the best perceptual scores among the methods compared, including PSFRGAN, DFDNet, HiFaceGAN and PULSE. LPIPS measures perceptual distance to the ground truth, FID compares image statistics to real faces, and NIQE scores naturalness without a reference; lower is better for all three. Its identity distance of 34.60 was also the lowest, while its PSNR of 25.08 dB was slightly below a fine-tuned DeblurGANv2 at 25.91, a reminder that pixel-accurate and realistic-looking are different goals. The authors also tested on real low-quality sets: LFW-Test, CelebChild-Test and 407 faces from 188 web photos.

The open-source release grew after the paper. The GitHub repository, under the Apache 2.0 license, lists V1 as the paper model with colorization, V1.2 as sharper but sometimes unnatural with a made-up look, V1.3 as more natural with slight identity change, and V1.4 as adding slightly more detail and better identity. A 'clean' architecture removed the need for custom CUDA extensions, which made installation much easier. Non-face regions are enlarged by Real-ESRGAN, a sibling project from the same team. The repository showed about 37,700 GitHub stars when checked for this article.

Compared with alternatives, GFPGAN sits between older prior-based restorers and newer approaches. CodeFormer, published at NeurIPS 2022 by Shangchen Zhou and colleagues, replaces the continuous GAN prior with a learned discrete codebook and a transformer that predicts codes, and offers a fidelity weight to trade realism against faithfulness. Its authors report better robustness under heavy damage. Diffusion-based face restorers are a further line of work. GFPGAN's advantages are speed and simplicity: one forward pass, no per-image optimization, and modest hardware needs.

The limitations matter. The paper notes that under very severe degradation, restored details twist into artifacts, and very large head poses yield unnatural faces, because synthetic training damage differs from real-world damage. Grayscale inputs can produce biased skin color since there is no color information to anchor it. More fundamentally, any generative restorer fills missing detail with plausible guesses. The output can look sharp yet differ from the real person, so GFPGAN results should not be treated as evidence of what someone looked like, for example in forensic or journalistic use. Running it locally needs a PyTorch install and benefits from a GPU; hosted runs on Replicate cost fractions of a cent.

04Działający przykład

Restoring a scanned family photo with GFPGAN

  1. Clone the TencentARC/GFPGAN repository, install its Python requirements and the realesrgan package, and download the V1.4 model weights linked in the README.

  2. Scan an old photo at a reasonable resolution and place it in an input folder.

  3. Run the inference script on that folder with the version flag set to 1.4 and the upscale factor set to 2, keeping Real-ESRGAN as the background upsampler.

  4. Open the results folder, which holds cropped input faces, restored faces, side-by-side comparisons and the full restored image.

  5. Compare each restored face with the original crop, looking for changed eye shape, teeth, skin texture or expression.

  6. Repeat with version 1.3 and note which output keeps the person's likeness better.

Co pokazuje

The learner gets a twice-enlarged photo with sharper faces and a background enlarged by Real-ESRGAN. Checking the comparison images shows where GFPGAN invented detail, which is the key judgment before sharing or archiving the result.

Implementacja w świecie rzeczywistym

The AUTOMATIC1111 Stable Diffusion web UI offers GFPGAN or CodeFormer as a built-in face restoration option, with a slider controlling how visible the fix is on generated portraits.

Replicate hosts tencentarc/gfpgan as a pay-per-use API, listing typical predictions within about 5 seconds on an Nvidia L40S GPU at roughly $0.0045 per run.

Family historians run scanned prints through GFPGAN's inference script with the Real-ESRGAN background upsampler to sharpen faces while enlarging the whole photo twofold.

Researchers use GFPGAN's CelebA-Test results as a baseline when publishing newer face restorers such as CodeFormer, which reports better robustness to severe degradation.

Newcomers try GFPGAN without installing anything through the Hugging Face Gradio demo and Colab notebooks linked from the official repository, uploading a photo and downloading the restored result.

Przyszłość odbudowy twarzy GFPGAN

The GFPGAN paper names its own next step: learning degradation and data distributions from real images rather than only synthetic ones, since the mismatch causes artifacts on severe damage and large poses. Work since then has explored other priors. CodeFormer (NeurIPS 2022) uses a discrete codebook and transformer and exposes an explicit fidelity control, and diffusion models are increasingly used as priors for restoration because they model fine texture well. Open problems include measuring identity preservation reliably, avoiding hallucinated detail that changes who a person appears to be, keeping results consistent across video frames, and reducing demographic bias, which the paper itself flags for grayscale inputs and calls for more diverse, balanced training data. As restoration tools spread into consumer photo apps, provenance and labeling of restored images are likely to receive more attention, though how platforms will handle this is not settled.

Wdrażanie tego w praktykę

Dlaczego to ma znaczenie

  • Szybkość i skala. Wizualna sztuczna inteligencja może automatyzować zadania inspekcji, wykrywania i znakowania na dużą skalę.
  • Buduj wybory. Zespoły kreatywne mogą szybciej prototypować koncepcje przy mniejszej liczbie ręcznych poprawek.
  • Zespół i przepływ pracy. Operacje mogą wykorzystywać sygnały obrazu i wideo, które wcześniej były trudne do przetworzenia.

Uważaj na

  • Prawa do wizerunku i zgoda mogą stanowić ryzyko prawne, jeśli pochodzenie jest niejasne.
  • Wydajność modelu może się różnić w zależności od oświetlenia, demografii i środowiska.
  • Fałszywie pozytywne wyniki mogą pozostać niezauważone, chyba że monitorowane są progi ufności.

Kolejne kroki

  1. Zdefiniuj kryteria akceptacji dotyczące kosztów precyzji, wycofania i błędów.
  2. Przetestuj na danych odpowiadających rzeczywistym warunkom produkcyjnym.
  3. Dodaj weryfikację manualną, aby prognozy były mało pewne lub miały duży wpływ.
  4. Śledź dryf modelu i przeprowadzaj ponowną weryfikację po zmianie kamery lub zbioru danych.

Źródła i dalsza lektura

  1. arXiv (CVPR 2021)Towards Real-World Blind Face Restoration with Generative Facial Prior
  2. GitHub (Tencent ARC Lab)TencentARC/GFPGAN
  3. arXiv (NeurIPS 2022)Towards Robust Blind Face Restoration with Codebook Lookup Transformer
  4. arXivReal-ESRGAN: Training Real-World Blind Super-Resolution with Pure Synthetic Data
  5. Replicatetencentarc/gfpgan
  6. GitHub (AUTOMATIC1111)Features (stable-diffusion-webui wiki)

Odkrywaj dalej

Darmowy newsletter

Otrzymuj codzienne podsumowanie AI

Trzy zweryfikowane historie AI każdego poranka w dni robocze, napisane prostym angielskim. Bezpłatne na zawsze, bez reklam.

Jedno e‑mail każdego dnia roboczego. Wypisz się jednym kliknięciem. Nigdy nie sprzedajemy ani nie udostępniamy Twojego adresu.

Sprawdź się

Take the GFPGAN Face Restoration quiz

Natychmiastowa informacja zwrotna na każde pytanie oraz udostępnialny certyfikat z weryfikowalnym ID po zaliczeniu kursu.

Rozpocznij quiz

Wspieraj darmową edukację AI. AI Understanding jest organizacją non-profit 501(c)(3) — bez reklam, bez płatnej ściany, zawsze. Przekaż darowiznę

Często zadawane pytania

What is GFPGAN Face Restoration?

GFPGAN is an open-source model from Tencent's ARC Lab that repairs blurry, noisy, low-resolution or compressed faces in a single pass by borrowing detail from a pretrained StyleGAN2 face generator. Published at CVPR 2021, it became one of the most widely used tools for restoring old photos and fixing faces in AI-generated images, while also illustrating the risk of invented detail.

Jaki wstępnie wyszkolony model zapewnia „generatywne priorytety twarzy” GFPGAN?

GFPGAN ponownie wykorzystuje wstępnie wytrenowany moduł StyleGAN2 jako stały dekoder, który już koduje wygląd realistycznych twarzy.

What is the role of GFPGAN’s CS-SFT layers?

Channel-split spatial feature transform layers incorporate the pretrained facial prior while using input features to guide the result.

What does the GFPGAN paper report about inference?

The proposed model restores detail in a single forward pass, unlike image-specific GAN inversion that uses expensive inference-time optimization.

Jaki model towarzyszący jest często łączony z GFPGAN w celu obsługi tła?

GFPGAN przywraca twarze, podczas gdy Real-ESRGAN skaluje i oczyszcza otaczające tło za pomocą wielu dołączonych narzędzi.

Czego NIE wymaga GFPGAN podczas szkolenia?

GFPGAN wykorzystuje ogólną analizę twarzy, więc nie wymaga dopasowanych, wysokiej jakości referencji każdej osoby poddawanej rekonstrukcji.