CodeFormer

Avalie o CodeFormer em uma restauração permitida: compare fidelidade, mudanças no rosto, recomposição e licença.

Identidade e acesso

Nome do modelo
CodeFormer
Acesso
Código público e referência oficial de checkpoint sob S-Lab License 1.0.
Tipo de modelo
Restauração facial
Arquitetura
Transformer com livro de códigos discreto aprendido como prior
Público-alvo
Equipes de imagem e desenvolvedores que possam revisar uma cópia de retrato permitida e não comercial.
Entrada
Rosto ou imagem inteira permitidos, mantendo a fonte intacta.
Saída
Recorte facial restaurado e, no fluxo completo, imagem recomposta.
Custo
Meça instalação, seleção, inferência, etapas opcionais, gravação e revisão manual.
Quando evitar
Não usar para identificar, reconstruir provas ou garantir detalhes faciais originais.

Fontes e método

Licença e direitos

Licença
S-Lab License 1.0
Tipo de licença
Código-fonte disponível
Escopo da licença
Determinados usos e redistribuições não comerciais sob condições; usuários comerciais devem contatar os colaboradores.
Código aberto
Não

Disponibilidade

Estado
Disponível
Escopo do estado
Disponível descreve código público revisado e referência oficial de checkpoint, não disponibilidade de serviço ou compatibilidade testada.

Pontos principais

Controle visível de fidelidade

A faixa 0 a 1 e o padrão CLI 0,5 permitem comparação controlada, não uma configuração melhor para todos.

Separe rosto e imagem

Seleção, rosto restaurado e recomposição exigem verificações distintas.

Condições não comerciais

S-Lab License 1.0 não é Apache 2.0 nem permissão comercial geral.

Casos de uso e limites

Revisar uma cópia familiar privada

Comparar poucos ajustes registrados em uma fonte permitida e preservar traços importantes.

Examinar o fluxo oficial

Guardar fonte, rostos detectados, saídas e logs antes de ampliar um lote.

Vantagens

  • Peso de fidelidade documentado para comparações controladas.
  • Recortes e imagem completa podem ser revisados separadamente.
  • O código público expõe o fallback e etapas opcionais.

Limitações

  • Detalhes plausíveis podem mudar traços de identidade.
  • A licença limita a permissão declarada a fins não comerciais.
  • Uma falha facial pode gerar arquivo; os recursos precisam ser medidos.

Temas

  • CodeFormer

Sobre o modelo

Nesta página

O CodeFormer restaura imagens faciais degradadas usando um prior visual aprendido e um Transformer. O resultado pode ficar mais legível, mas detalhes faciais gerados não provam o que existia na cena original. Esta avaliação se limita a uma cópia permitida, não comercial e destinada à exibição, com preservação da fonte e inspeção das alterações. O projeto oficial usa a S-Lab License 1.0, que não concede permissão comercial geral.

Esta é uma avaliação baseada em fontes, não um relatório de testes com imagens. Não executamos inferência, medições de tempo ou memória de GPU nem envios a serviços hospedados. O exercício de foto de família abaixo é um plano proposto, com resultados ainda vazios.

Defina o que o retrato restaurado precisa preservar

A restauração cega de rostos é um problema de reconstrução ambíguo. O CodeFormer usa um livro de códigos discreto aprendido como prior visual e um Transformer para prever códigos. Assim, um rosto plausível pode conter traços que a imagem danificada não comprova. Artigo de pesquisa do CodeFormer.

O artigo é de Shangchen Zhou, Kelvin C. K. Chan, Chongyi Li e Chen Change Loy, vinculados ao S-Lab da Nanyang Technological University. Essa atribuição identifica a fonte de pesquisa e não recomenda um uso específico.

Antes de editar, identifique a posição da cabeça, o formato da boca, a expressão, marcas distintivas e a relação entre rosto e cabelo. Preserve o escaneamento intacto e use outro nome para cada derivado. Uma pálpebra nítida ou um dente recém-visível não elimina a incerteza da fonte.

Na foto de família, decida explicitamente se um rosto ainda um pouco suave, mas reconhecível, serve melhor à finalidade do que um rosto mais nítido com expressão alterada. Alguém familiarizado com a pessoa pode notar mudanças, mas considerar a aparência familiar não transforma um detalhe gerado em registro histórico.

Não use esse fluxo para identificar uma pessoa desconhecida, reconstruir detalhes probatórios ou certificar autenticidade. Se todas as configurações mudarem um traço importante, rejeitar todos os resultados é uma decisão válida.

Separe o recorte facial do fluxo de imagem inteira

Com --has_aligned, o script oficial trata a entrada como um rosto alinhado e redimensiona para 512 × 512. Sem a opção, ele detecta e alinha rostos, restaura os recortes e pode inseri-los novamente na imagem. O detector padrão é retinaface_resnet50; --only_center_face altera a seleção. Implementação oficial de inferência.

Primeiro, confirme que o rosto pretendido foi selecionado. Em uma foto de grupo, restringir o processo ao rosto central pode excluir uma pessoa importante. Alterar o peso de fidelidade não corrige uma seleção errada.

Examine separadamente o recorte e a recomposição. Um rosto convincente isolado pode parecer colado se nitidez, cor ou limite do cabelo não combinarem com o restante da foto. As melhorias Real-ESRGAN para fundo e rosto são etapas opcionais distintas. Orientações do repositório.

Revise o recorte restaurado na escala de trabalho e dentro da imagem completa no tamanho final de exibição. Comece sem as etapas opcionais do Real-ESRGAN para atribuir cada mudança à operação correta. Os exemplos de rosto alinhado e imagem inteira têm finalidades diferentes e não são condições de avaliação intercambiáveis.

Compare configurações de fidelidade na mesma fonte

O peso documentado vai de 0 a 1, e a linha de comando usa 0,5 como padrão. Segundo o repositório, valores menores tendem à qualidade visual e maiores à fidelidade. Isso não é uma classificação universal. Mantenha entrada, seleção e outras etapas fixas, mudando um peso por vez.

Compare olhos, boca, expressão e traços distintivos com a fonte, em vez de avaliar só a nitidez. O peso 1 não promete uma cópia inalterada, pois a restauração aprendida continua ativa. Arquitetura do CodeFormer.

Use um diretório de saída separado para cada peso e registre o valor com cada imagem. Se todos os ajustes mudarem um traço importante, rejeite todos os derivados e anote o motivo. Uma ampliação ou retoque posterior não deve reintroduzir silenciosamente o mesmo rosto rejeitado.

Verifique a licença e o acesso real

A S-Lab License 1.0 oficial permite determinados usos e redistribuições não comerciais sob condições. Entre elas estão preservar os avisos aplicáveis e não usar o nome dos colaboradores para endossar ou promover produtos derivados sem autorização prévia por escrito. Ela orienta usuários comerciais a contatar os colaboradores. Portanto, o CodeFormer não deve ser apresentado como Apache 2.0 nem como permissão comercial ampla. S-Lab License oficial.

Código legível, checkpoint para download e serviço hospedado são formas diferentes de acesso. Pagar a um provedor não estabelece, por si só, os direitos necessários para usar o modelo subjacente, e uma demonstração pública não comprova uma licença irrestrita. Em trabalho comercial, confirme separadamente a permissão aplicável ao modelo e os termos do serviço antes de assumir um compromisso com o cliente.

O downloader oficial aponta para codeformer.pth na versão v0.1.0 do projeto; não baixamos nem auditamos esse binário. No registro de avaliação, preserve a revisão fixada da fonte, b33cc7d639d6545bfcccc7e0bc6ae51f24e79c2b, a origem oficial do checkpoint e, caso ele seja obtido, o checksum calculado localmente. Um espelho com arquivo de nome semelhante não deve substituir silenciosamente o arquivo pretendido. Downloader oficial do checkpoint.

Também não verificamos capacidade, preço, privacidade ou continuidade dos serviços hospedados mantidos pelos autores e citados no README. Antes de enviar ou redistribuir uma foto de família, confirme o direito de processar a imagem de entrada, a autorização para publicar o retrato das pessoas e os termos das dependências opcionais. Se alguma permissão necessária estiver incerta, resolva-a antes do processamento.

Prepare um teste limitado com foto de família

Use uma cópia permitida de um escaneamento e um retrato menos degradado como controle. Registre a finalidade, como exibição familiar privada, e os traços que precisam continuar reconhecíveis. A imagem de controle ajuda a separar uma falha causada pela degradação intensa de outra introduzida pelo caminho de detecção, alinhamento, restauração ou recomposição. Ela só se torna uma referência medida depois que o teste é executado e as observações são registradas.

Preserve as dimensões originais e registre qualquer recorte ou reamostragem feito antes da inferência.

Prepare um ambiente isolado seguindo as instruções da revisão oficial fixada. Registre as versões realmente instaladas de Python, PyTorch e dependências, o dispositivo escolhido, a origem e o checksum do checkpoint, além de caminhos explícitos e separados para entrada e saída. Guarde o comando exato e o log completo de cada tentativa. A receita de instalação não certifica compatibilidade com toda combinação atual de sistema operacional e dependências. Resolva erros de instalação, arquivos de modelo ausentes e caminhos de exemplo não substituídos antes de comparar imagens.

Os comandos abaixo não foram executados. Eles mantêm desativadas as opções Real-ESRGAN de fundo e rosto, mas preservam a escala de saída separada --upscale 2, usada por padrão.

python inference_codeformer.py -i inputs/family-photo.png -o results/family-w0 -w 0
python inference_codeformer.py -i inputs/family-photo.png -o results/family-w05 -w 0.5
python inference_codeformer.py -i inputs/family-photo.png -o results/family-w1 -w 1

Depois da execução, inspecione primeiro a seleção e o alinhamento, compare cada recorte restaurado com a fonte e só então examine a imagem recomposta. Preserve os resultados rejeitados junto com o derivado preferido. Adicione melhoria de fundo ou rosto apenas após escolher uma restauração aceitável, como comparação separada e registrada.

Use uma ficha de aceitação específica para o rosto

EtapaDecisãoEvidência a preservar
FonteQuais traços estão visíveis ou incertos?Escaneamento intacto com anotações.
SeleçãoO rosto correto foi alinhado?Recorte detectado e posição na foto.
AlteraçãoExpressão ou traço reconhecível mudou?Recortes comparáveis, ajustes e decisão escrita.
RecomposiçãoO rosto se integra no tamanho final?Imagem completa com limites inspecionados.
EntregaO derivado é distinguível do arquivo?Arquivos separados e nota de restauração.

Defina um orçamento de correção antes de ampliar a coleção. Inclua inspeção, resultados rejeitados e retoque manual. Aparência atraente, sozinha, não é critério de aceitação.

Um rosto atraente que altera um traço importante falha; um resultado conservador pode continuar útil mesmo com alguma suavidade. Defina a tolerância para a fotografia e seu destinatário, não por uma meta genérica de nitidez. Deixe as observações sobre esforço e correção em branco até que sejam medidas.

Encontre o primeiro artefato incorreto

O script pode capturar uma falha na restauração de um rosto e salvar o recorte de entrada como substituto. Logo, a existência de um arquivo de saída não comprova inferência bem-sucedida. Verifique o log, a seleção e o recorte restaurado.

ObservaçãoPrimeira evidênciaPróxima ação controlada
Uma pessoa está ausenteOpções de seleção e rostos detectadosCorrigir a seleção antes do peso.
O rosto não mudaLog e par de recortesResolver a falha e repetir o mesmo caso.
A expressão mudaTraços visíveis na mesma escalaComparar um ajuste por vez ou rejeitar todos.
O rosto parece coladoLimites da imagem e etapas opcionaisRevisar a recomposição antes de melhorar.
Faltam recursosDimensões, rostos, dispositivo e opçõesReduzir o teste de forma documentada e medir.

As linhas são hipóteses de diagnóstico e passos de inspeção, não taxas de falha medidas. Não classifique automaticamente todo rosto inalterado como exceção nem atribua todo problema de borda ao ampliador. Use os artefatos preservados para localizar a primeira diferença relevante antes de escolher a correção.

Meça os recursos do trabalho completo

O utilitário pode escolher MPS, CUDA ou CPU segundo suas verificações. Esses caminhos de código não comprovam funcionamento na sua máquina. Esta avaliação não estabelece VRAM mínima, tempo universal ou capacidade garantida. Utilitário oficial de seleção de dispositivo.

Separe download e inicialização das inferências repetidas. Registre dimensões, número de rostos, detector, peso, etapas opcionais, hardware, gravação e revisão manual. O caminho de vídeo acumula quadros de entrada e depois de saída na memória; não o descreva como fluxo limitado comprovado.

Se houver necessidade de vídeo, comece com um clipe curto e autorizado. Além da memória, examine a identidade aparente nos quadros adjacentes: olhos, boca, expressão e contorno podem oscilar mesmo quando cada quadro isolado parece plausível. Não extrapole o resultado do clipe curto para a capacidade ou a consistência de uma gravação sem limite definido.

Escolha o próximo passo pelas evidências

Se uma cópia permitida funcionar com correção aceitável, preserve juntos fonte, ajustes e derivado. Caso contrário, escolha a próxima etapa pelo defeito observado. Use restauração facial quando o problema está nos traços do rosto; teste um upscale comum separadamente quando falta resolução geral, inclusive fora do rosto. Para riscos ou lacunas fora da face, prefira reparo não facial. Se o recorte restaurado for aceitável, mas parecer deslocado na foto, investigue recomposição e limites. Um escaneamento melhor ou retoque manual limitado, sem inventar detalhes incertos, também pode ser a decisão correta. Esta avaliação não declara vencedor entre CodeFormer e GFPGAN nem reproduz benchmarks.

Explore outras categorias no diretório de modelos. Antes de ampliar para coleção ou serviço, esclareça permissões, carga real e critérios de aceitação.