AIREITER

GFPGAN vs CodeFormer na restauração facial: configurações e APIs

Última Atualização: 2026-09-01 01:44:31

Um modelo de restauração facial pode deixar um retrato danificado mais nítido — e, discretamente, mudar a pessoa da foto. Como ponto de partida, o GFPGAN costuma entregar uma limpeza mais simples e natural, enquanto o CodeFormer oferece mais controle quando preservar a identidade é prioridade. Os trabalhos publicados em 2026 apontam para restauradores guiados por referência, baseados em difusão e preparados para dispositivos de borda, mas nenhum deles ainda substitui diretamente as duas implementações já consolidadas.

Comece pelo tipo de dano, não pelo nome do modelo

Restauração facial não é apenas aumentar a resolução. Um modelo de super-resolução amplia a imagem e estima texturas ausentes em todo o quadro; já um modelo de restauração facial cega também usa um prior facial aprendido para reconstruir olhos, pele, cabelo e outros traços que podem ter desaparecido por completo. Isso torna o resultado mais convincente — e também abre espaço para desvios de identidade.

Entrada ou objetivoComece comPor quêPrincipal verificação
Retrato levemente desfocado, com traços reconhecíveisGFPGANA comparação oficial descreve a v1.3 como natural e adequada para entradas relativamente bem preservadasA pele ficou mais limpa sem perder marcas ou textura do cabelo?
Rosto muito pequeno ou severamente degradadoCodeFormerO controle w permite escolher quanto da reconstrução aceitarOs novos olhos e a boca ainda pertencem à pessoa da foto?
Pessoa real em que a semelhança é prioridadeCodeFormer com um w mais altoValores maiores de w geralmente favorecem a fidelidade à entradaO desfoque restante é preferível a um rosto inventado?
Rosto e fundo danificadosCodeFormer com aprimoramento de fundo, ou um upscaler separado para a imagem inteiraO CodeFormer pode encaminhar as áreas que não são rosto para o Real-ESRGANAs transições entre rosto, fundo e cabelo continuam naturais?
A imagem inteira precisa ser ampliada, sem restauração facial dedicadaReal-ESRGANEle é principalmente um restaurador/upscaler geral de imagens, com aprimoramento facial opcionalO aprimoramento facial está apagando texturas úteis?
Inferência em tempo real no celular ou em dispositivo embarcadoAcompanhe o CFRNetOs autores têm como alvo NPUs de consumo em 256×256Existe um checkpoint lançado e com suporte?

Um fluxo mais cuidadoso mantém o original intacto, restaura uma cópia e compara o rosto em 100% antes de avaliar o resultado ampliado.

Onde essa tabela simples deixa de funcionar

Para um desfoque leve ou um rosto gerado por IA com pequenos defeitos, experimente primeiro o GFPGAN quando a ideia for limpar a imagem sem reconstruí-la por completo. Já em um rosto deformado, minúsculo ou muito degradado, o CodeFormer costuma ser o experimento inicial mais útil, porque sua configuração de fidelidade deixa o compromisso entre preservação e reconstrução mais evidente.

Riscos e desbotamento espalhados por todo o scan são outro problema. GFPGAN e CodeFormer se concentram no rosto; trate rosto e fundo separadamente e depois examine a linha do cabelo, os óculos e o grão da composição. Em imagens com várias pessoas ou acessórios incomuns, use uma opção de rosto alinhado ou de rosto central quando ela estiver disponível no wrapper.

Não chame um resultado mais nítido de “evidência recuperada”. Quando a fonte perdeu os pixels, o restaurador está estimando um rosto plausível. Essa diferença é importante em acervos de família e, principalmente, em trabalhos jurídicos, jornalísticos ou relacionados à identificação.

GFPGAN, CodeFormer e as pesquisas de 2026 estão em níveis diferentes de maturidade

GFPGAN e CodeFormer são implementações de pesquisa open source oficialmente lançadas. O repositório oficial do GFPGAN documenta Python 3.7+, PyTorch 1.7+, pesos pré-treinados e inferência pela linha de comando. Já o repositório do CodeFormer documenta inferência local, modos para imagem inteira e vídeo, além de um peso de fidelidade de 0 a 1.

Os projetos de 2026 abaixo são sinais de pesquisa, não produtos hospedados equivalentes. Os artigos vinculados não documentam a mesma combinação de fluxo de trabalho baixável, API de produção, clareza de licença e cobrança previsível.

ProjetoO que há de novoEvidência apresentada no artigoLeitura atual
CFRNetRestaurador no estilo ResNet com 2,0 milhões de parâmetros, treinado como um operador de ponto fixo23 ms por ciclo INT8 em uma NPU HiSilicon Hi3402; conjunto de teste com 300 imagensEnviado em 5 de junho de 2026; ainda não é um substituto comprovado para o GFPGAN
HDRFaceRepresentações de alta dimensão extraídas da entrada degradada e de uma restauração intermediáriaImplementado com SD V2.1-base e Qwen-ImageEnviado em 14 de maio de 2026; a fonte não informa API hospedada nem preço
IConFaceCondicionamento opcional com até três imagens de referência da mesma identidadeRelata compatibilidade líder com referências e um benchmark de identidade auditado por pessoasRevisado em 5 de agosto de 2026; fluxo promissor com referências, mas não é um substituto direto

Onde o GFPGAN se destaca — e onde ele muda o rosto

O GFPGAN usa um prior facial generativo pré-treinado — incluindo um prior baseado em StyleGAN2 no método publicado — para restaurar rostos degradados. O README oficial afirma que a v1.3 produz resultados mais naturais e lida melhor com entradas de baixa qualidade, mas alerta que ela nem sempre é superior à v1.2 e pode alterar levemente a identidade. O GFPGAN é distribuído sob a Apache License 2.0.

A comparação oficial entre versões é qualitativa, não um benchmark numérico. Ela descreve a v1.2 como mais nítida, porém ocasionalmente artificial, e a v1.3 como mais natural, mas não muito nítida. Por isso, o GFPGAN é uma primeira tentativa sensata quando o rosto original está, em linhas gerais, correto — mas ele não oferece o controle explícito entre identidade e reconstrução presente no CodeFormer.

Comparações oficiais entre versões do GFPGAN

O que o peso de fidelidade do CodeFormer realmente controla

O CodeFormer usa um transformer com consulta a um codebook para restauração facial cega. Seu controle central é o peso de fidelidade w, cuja faixa documentada é [0, 1]. Os autores afirmam que valores menores de w geralmente produzem um resultado visualmente mais bonito, enquanto valores maiores preservam melhor a identidade e o conteúdo da entrada.

w representa uma troca, não um controle de qualidade: um valor baixo pode criar um rosto mais limpo ao inventar detalhes, enquanto um valor alto tende a preservar melhor a fonte e deixar visíveis o desfoque, a compressão e outros danos. O fluxo de imagem inteira do CodeFormer também reinsere o rosto restaurado na cena, e o README alerta que isso pode prejudicar a textura do cabelo na transição entre rosto e fundo.

O CodeFormer usa a NTU S-Lab License 1.0. Leia a licença antes de redistribuir o software ou integrá-lo comercialmente, em vez de presumir que um endpoint hospedado e o repositório seguem exatamente os mesmos termos.

O que os benchmarks publicados realmente permitem concluir

Há evidências publicadas úteis, mas não existe um ranking universal de 2026 comparando todos os modelos e todos os tipos de dano. O artigo da ICCV 2023 sobre restauração iterativa por difusão avaliou GFPGAN e CodeFormer ao lado de outros baselines no CelebA-HQ.

Em uma tabela com degradação sintética, o artigo apresentou os seguintes números:

ModeloPSNRÍndice de identidade ArcFace
GFPGAN26.950.59
CodeFormer25.700.75
IDM, método do artigo27.420.87

Esses números dependem do protocolo e não representam um ranking universal de 2026. O mesmo artigo usou seus próprios conjuntos de dados, processo de degradação, implementações e método de avaliação. Eles ajudam a entender por que os restauradores mais novos se concentram em autenticidade, mas não preveem qual será o melhor resultado em uma foto de família específica.

Como ajustar os parâmetros sem criar um rosto plastificado

O problema do “rosto plastificado” aparece quando intensidade da restauração, fidelidade da identidade e composição são tratados como se fossem um único controle. São decisões separadas.

Uma grade inicial útil para o CodeFormer

Rode a mesma entrada com três configurações antes de trocar a imagem ou o modelo:

Faixa de wO que esperarQuando usar
0.3–0.5Reconstrução mais agressiva e mais detalhes inventadosOlhos ou boca estão muito comprometidos e a identidade já é incerta
0.5–0.7Um meio-termo entre limpeza visível e fidelidade à entradaVocê precisa de uma primeira comparação geral
0.8–1.0Maior proximidade com a fonte, deixando mais danos originais aparentesA semelhança importa mais do que obter a máxima nitidez

As faixas refletem o compromisso documentado, não uma garantia para todos os wrappers. O README do CodeFormer usa w=0.5 na restauração de rostos alinhados, w=0.7 no aprimoramento de imagem inteira e w=1.0 no exemplo de comando para vídeo.

Se o resultado parecer uma máscara de cera, comece comparando um w mais alto, reduzindo a visibilidade ou a mesclagem do rosto — caso o serviço ofereça esse controle — e usando um recorte com mais contexto original. Reintroduzir parte da textura original na mesclagem pode diminuir o aspecto artificial, mesmo quando o recorte restaurado está nítido.

O que observar entre uma passada e outra

  1. Identidade: distância entre os olhos, largura do nariz, formato da boca, contorno do rosto e marcas distintivas.
  2. Textura: poros, sardas, barba, fios de cabelo e grão do filme.
  3. Acessórios: óculos, brincos, chapéus e cabelos sobre o rosto.
  4. Integração: iluminação, cor, grão e transição entre rosto e fundo.
  5. Repetibilidade: se uma segunda passada muda o rosto novamente.

O GFPGAN não oferece o mesmo controle w. Use com moderação os controles de versão do modelo e de visibilidade/mesclagem. O repositório oficial informa que a v1.3 pode ser executada duas vezes, mas a restauração repetida deve continuar sendo tratada como um experimento; se a segunda passada alterar a identidade ou a textura, fique com a primeira saída.

Execução local: mais controle, dependências desatualizadas

A inferência local mantém a imagem na sua máquina, mas coloca sob sua responsabilidade Python, PyTorch, pesos do modelo, CUDA, pacotes de detecção e permissões de arquivos.

Como rodar o GFPGAN localmente

O repositório oficial documenta uma instalação limpa que não exige extensões CUDA personalizadas:

git clone https://github.com/TencentARC/GFPGAN.git
cd GFPGAN
pip install basicsr
pip install facexlib
pip install -r requirements.txt
python setup.py develop
wget https://github.com/TencentARC/GFPGAN/releases/download/v1.3.0/GFPGANv1.3.pth \
  -P experiments/pretrained_models
python inference_gfpgan.py -i inputs/whole_imgs -o results -v 1.3 -s 2

O README lista Python >=3.7 e PyTorch >=1.7; GPU NVIDIA e CUDA são caminhos opcionais na configuração documentada. O comando aceita pastas, escala final, upsampling do fundo, processamento apenas do rosto central, rostos alinhados e identificação automática de extensões.

Como rodar o CodeFormer localmente

O ambiente oficial do CodeFormer exige alguns passos a mais:

git clone https://github.com/sczhou/CodeFormer
cd CodeFormer
conda create -n codeformer python=3.8 -y
conda activate codeformer
pip3 install -r requirements.txt
python basicsr/setup.py develop
python scripts/download_pretrained_models.py facelib
python scripts/download_pretrained_models.py CodeFormer

O repositório lista PyTorch >=1.7.1 e CUDA >=10.1. O dlib é opcional para o detector e o fluxo de recorte facial; o FFmpeg é necessário para o fluxo de vídeo documentado no Windows e no Mac.

Para um rosto alinhado em 512×512, o exemplo oficial é:

python inference_codeformer.py -w 0.5 --has_aligned \
  --input_path inputs/cropped_faces

Para aprimoramento da imagem inteira, o README usa -w 0.7 e, opcionalmente, adiciona --bg_upsampler realesrgan e --face_upsample. O repositório não publica um requisito confiável de VRAM, throughput ou latência; portanto, teste o ambiente exato em vez de prometer um mínimo de hardware.

Custos de API e opções de integração

A inferência hospedada facilita a prototipagem, mas preço e licença continuam sendo decisões separadas.

Tabela de custos hospedados com data de referência

A página do GFPGAN no Replicate, a página do CodeFormer no Replicate e a página do Real-ESRGAN no Replicate informam custos aproximados. Os preços foram verificados em 1º de setembro de 2026. Os dois modelos faciais indicam conclusão típica em até 3 segundos em uma Nvidia L40S; as estimativas variam conforme as entradas.

Modelo hospedadoCusto informadoExecuções aproximadas por US$ 1
tencentarc/gfpganUS$ 0,0020/execução500
sczhou/codeformerUS$ 0,0028/execução357
nightmareai/real-esrganUS$ 0,0020/imagem de saída500
Custo por execução da restauração facial hospedada

A página do CodeFormer no Replicate afirma explicitamente que sua versão de API não pode ser usada comercialmente. Essa declaração se aplica àquela implantação hospedada; confira separadamente os termos de qualquer outro provedor.

A documentação da API do CodeFormer na fal identifica o endpoint como adequado para uso comercial e expõe fidelity, com padrão de 0.5, upscale_factor, com padrão de 2, aprimoramento facial opcional, alinhamento, seleção do rosto central e uma seed. Ela não publica um preço; portanto, não presuma que o custo da fal seja igual à estimativa do Replicate.

Fluxo hospedado mínimo

A documentação da fal mostra um fluxo de uso com cliente JavaScript:

import { fal } from "@fal-ai/client";

const result = await fal.subscribe("fal-ai/codeformer", {
  input: {
    image_url: "https://example.com/input.jpg",
    fidelity: 0.7,
    upscale_factor: 2,
    face_upscale: true
  },
  logs: true
});

console.log(result.data);

Para trabalhos mais longos, a mesma documentação oferece envio para fila, consulta de status, recuperação do resultado e callbacks por webhook. Mantenha FAL_KEY ou uma chave equivalente do provedor no servidor, nunca no código do navegador ou do aplicativo móvel.

Página do modelo GFPGAN no Replicate Página do modelo CodeFormer no Replicate

Problemas que usuários reais ainda encontram

Nos tópicos de usuários, relatos de instalação e relatos de erros no upscaling consultados, as pessoas descrevem tanto um rosto visualmente melhorado que já não parece pertencer à mesma pessoa quanto erros de integração local. São relatos de uso, não benchmarks controlados.

“Acho que o CodeFormer tende a ‘inventar’ um rosto em vez de consertá-lo.” — u/TheMemo, r/StableDiffusion

A lição operacional é simples: compare as saídas em rostos representativos e fixe o ambiente antes de rodar um pipeline em lote.

FAQ: restauração facial com GFPGAN e CodeFormer

GFPGAN ou CodeFormer: qual é melhor para fotos antigas?

Como regra prática, comece com o GFPGAN quando o rosto for reconhecível e você quiser uma limpeza natural; use o CodeFormer quando a degradação for severa ou o controle sobre a semelhança for mais importante.

Qual valor de fidelidade do CodeFormer preserva a identidade?

Valores mais altos de w favorecem a fidelidade à entrada, enquanto valores mais baixos geralmente priorizam um resultado mais limpo, porém mais inventado. Compare 0.5, 0.7 e 0.9 e mantenha a saída que preserva os traços distintivos, não necessariamente aquela com os olhos mais nítidos.

Devo restaurar antes de aumentar a resolução?

Como fluxo prático, comece restaurando o rosto em uma cópia e faça o upscaling da imagem final depois. Um fluxo combinado, como o Real-ESRGAN com aprimoramento facial, é uma exceção — mas ainda exige verificar identidade e transição entre rosto e fundo.

Esses modelos conseguem recuperar detalhes completamente borrados?

Não. Nenhum modelo consegue recuperar de forma confiável uma informação que nunca foi capturada. GFPGAN e CodeFormer podem gerar detalhes faciais plausíveis; portanto, um olho ou uma boca mais nítidos não provam que o detalhe original foi recuperado.

Os modelos de 2026 já estão prontos para substituir GFPGAN ou CodeFormer?

Os artigos vinculados mostram direções importantes, incluindo execução em dispositivos de borda, condicionamento de alta dimensão e referências da mesma identidade, mas ainda não apresentam um substituto amplamente disponível com a mesma documentação de fluxo local e hospedado.

Posso usar comercialmente a API do CodeFormer no Replicate?

A página do CodeFormer no Replicate afirma que sua versão de API não pode ser usada comercialmente. O repositório original tem sua própria NTU S-Lab License 1.0, e outros provedores podem publicar termos diferentes.

A escolha prática é um equilíbrio entre invenção e controle

Selecione três recortes representativos: desfoque leve, desfoque intenso e um retrato arranhado e de baixa resolução. Rode o GFPGAN e o CodeFormer com w=0.5, 0.7 e 0.9, mantenha o original ao lado de cada saída e rejeite qualquer resultado que altere traços essenciais para a identidade. Quando o fundo também precisar de reparo, encaminhe o aumento da imagem inteira para um upscaler separado.

Para a próxima etapa, consulte o guia de download e interface gráfica do Real-ESRGAN e o guia de upscalers gratuitos de vídeo com IA.