CodeFormer

Évaluez CodeFormer pour une restauration autorisée : comparez les réglages de fidélité, les changements du visage et la licence non commerciale.

Identité et accès

Nom du modèle
CodeFormer
Accès
Code public et référence officielle de checkpoint sous S-Lab License 1.0.
Type de modèle
Restauration faciale
Architecture
Transformer avec dictionnaire discret appris comme a priori
Public visé
Équipes d'image et développeurs pouvant inspecter une copie de portrait autorisée et non commerciale.
Entrée
Visage ou image entière autorisés, avec conservation de la source inchangée.
Sortie
Visage restauré et, pour le flux complet, image recomposée.
Coût
Mesurez installation, sélection, inférence, étapes optionnelles, enregistrement et contrôle manuel.
À éviter
Ne pas utiliser pour identifier, reconstituer une preuve ou garantir les détails faciaux d'origine.

Sources et méthode

Licence et droits

Licence
S-Lab License 1.0
Type de licence
Code source accessible
Périmètre de la licence
Certains usages et redistributions non commerciaux sous conditions; les utilisateurs commerciaux doivent contacter les contributeurs.
Open source
Non

Disponibilité

État
Disponible
Périmètre de l’état
Disponible désigne le code public examiné et une référence officielle de checkpoint, pas la disponibilité d'un service ni une compatibilité testée.

Points clés

Contrôle visible de fidélité

La plage 0 à 1 et la valeur CLI 0,5 facilitent une comparaison contrôlée, sans réglage universellement optimal.

Séparer visage et image

Sélection, visage restauré et recomposition demandent des contrôles distincts.

Conditions non commerciales

La S-Lab License 1.0 n'est ni Apache 2.0 ni une permission commerciale générale.

Cas d’usage et limites

Évaluer une copie familiale privée

Comparer quelques réglages consignés sur une source autorisée et préserver les traits importants.

Examiner le flux officiel

Conserver source, visages détectés, sorties et journaux avant d'élargir un lot.

Avantages

  • Poids de fidélité documenté pour des comparaisons contrôlées.
  • Recadrages et images entières peuvent être inspectés séparément.
  • Le code public expose le repli sur l'entrée et les étapes optionnelles.

Limites

  • Des détails plausibles peuvent modifier des traits identitaires.
  • La licence limite l'autorisation déclarée aux usages non commerciaux.
  • Une erreur par visage peut produire un fichier; les ressources doivent être mesurées.

Thèmes

  • CodeFormer

À propos du modèle

Sur cette page

CodeFormer restaure des visages dégradés à l'aide d'un a priori visuel appris et d'un Transformer. Les traits du visage peuvent paraître plus nets, mais les détails faciaux générés ne prouvent pas ce qui figurait dans la scène d'origine. Cette évaluation concerne une copie restaurée destinée à un usage autorisé et non commercial, avec conservation de la source et inspection des modifications. Le projet officiel utilise la S-Lab License 1.0, qui n'accorde pas une autorisation commerciale générale.

Il s'agit d'une évaluation fondée sur les sources, pas d'un compte rendu d'essais d'images. Nous n'avons exécuté ni inférence, ni mesure de durée ou de mémoire GPU, ni envoi vers un service hébergé. L'exercice de photo familiale ci-dessous est un protocole proposé dont les résultats restent vides.

Définir ce que le portrait restauré doit préserver

La restauration aveugle de visages est un problème de reconstruction ambigu. CodeFormer utilise un dictionnaire discret appris comme a priori visuel et un Transformer pour prédire les codes. Un visage plausible peut donc contenir des traits que l'image endommagée n'établit pas. Article de recherche CodeFormer.

L'article est signé Shangchen Zhou, Kelvin C. K. Chan, Chongyi Li et Chen Change Loy, affiliés au S-Lab de la Nanyang Technological University. Cette attribution identifie la source de recherche; elle ne constitue pas une recommandation d'usage.

Avant toute modification, relevez l'orientation de la tête, la forme de la bouche, l'expression, les signes distinctifs et la relation entre le visage et les cheveux. Conservez le scan inchangé et donnez un autre nom à chaque dérivé. Une paupière nette ou une dent nouvellement visible ne résout pas l'incertitude de la source.

Pour la photo familiale, décidez explicitement si un visage encore légèrement flou mais reconnaissable sert mieux le but qu'un visage plus net dont l'expression a changé. Une personne qui connaît le sujet peut repérer une différence, mais son accord sur la ressemblance ne transforme pas un détail généré en preuve historique.

N'utilisez pas ce flux pour identifier une personne inconnue, reconstituer un détail probant ou certifier l'authenticité d'un visage. Si tous les réglages modifient un trait important, le rejet est un résultat valable.

Séparer le visage recadré du traitement de l'image entière

Avec --has_aligned, le script officiel traite l'entrée comme un visage aligné et la redimensionne en 512 × 512. Sans cette option, il détecte et aligne les visages, restaure les recadrages puis peut les réinsérer dans l'image. Le détecteur par défaut est retinaface_resnet50; --only_center_face change la sélection. Implémentation officielle de l'inférence.

Vérifiez d'abord que le bon visage a été sélectionné. Dans un portrait de groupe, limiter le traitement au visage central peut exclure une personne importante. Modifier le poids de fidélité ne corrige pas une mauvaise sélection.

Examinez séparément le recadrage restauré et sa réinsertion. Un visage convaincant seul peut paraître collé si sa netteté, sa couleur ou ses contours diffèrent du reste de la photo. L'amélioration Real-ESRGAN du fond et celle des visages sont des étapes optionnelles distinctes. Guide d'utilisation du dépôt.

Contrôlez le recadrage à son échelle de travail puis dans l'image entière à la taille d'affichage prévue. Commencez sans étape Real-ESRGAN optionnelle afin d'attribuer chaque changement à la bonne opération. Les exemples de visage aligné et d'image entière répondent à des buts différents et ne forment pas des conditions d'essai interchangeables.

Comparer les réglages de fidélité sur la même source

Le poids documenté va de 0 à 1 et la ligne de commande utilise 0,5 par défaut. Selon le dépôt, une valeur plus faible tend vers la qualité visuelle et une valeur plus élevée vers la fidélité. Ce n'est pas un classement universel. Gardez l'entrée, la sélection et les autres étapes fixes, puis changez un seul poids à la fois.

Comparez les yeux, la bouche, l'expression et les traits distinctifs avec la source au lieu de juger uniquement la netteté. Un poids de 1 ne garantit pas une copie inchangée, car la restauration apprise reste active. Architecture de CodeFormer.

Utilisez un dossier de sortie distinct pour chaque poids et consignez la valeur avec l'image. Si tous les réglages modifient un trait important, rejetez tous les dérivés et notez la raison. Une mise à l'échelle ou une retouche ultérieure ne doit pas réintroduire discrètement le même visage refusé.

Vérifier la licence et le mode d'accès réel

La S-Lab License 1.0 officielle autorise certains usages et redistributions non commerciaux sous conditions. Elle demande aux utilisateurs commerciaux de contacter les contributeurs. CodeFormer ne doit donc pas être présenté comme un projet Apache 2.0 ou comme une permission commerciale générale. S-Lab License officielle.

Toute redistribution autorisée doit conserver les avis de licence et de droit d'auteur requis. Le nom des contributeurs ne peut pas servir à promouvoir ou cautionner un produit dérivé sans autorisation écrite préalable. Consultez le texte intégral pour l'usage envisagé; ce résumé n'est pas une validation juridique.

Un code source lisible, une référence de checkpoint et un service hébergé sont des accès différents. Payer un fournisseur ne crée pas automatiquement les droits nécessaires sur le modèle sous-jacent. Les conditions du fournisseur et la licence du projet doivent être vérifiées séparément.

Le téléchargeur officiel pointe vers v0.1.0/codeformer.pth; nous n'avons ni téléchargé ni audité ce binaire. Pour un essai réel, consignez la révision épinglée du dépôt b33cc7d639d6545bfcccc7e0bc6ae51f24e79c2b, l'origine officielle du checkpoint et une somme de contrôle calculée localement. Ne remplacez pas silencieusement le fichier prévu par un miroir portant le même nom. Les conditions, la confidentialité, le prix et la disponibilité d'un service doivent être vérifiés séparément. Téléchargeur officiel du checkpoint.

La disponibilité du projet ne règle ni les droits sur l'image d'entrée, ni l'autorisation de publier le portrait d'une personne, ni les conditions des dépendances optionnelles. N'utilisez que du contenu et des étapes de traitement pour lesquels les droits nécessaires ont été clarifiés.

Préparer un essai familial limité

Utilisez une copie autorisée d'un scan et un portrait moins dégradé comme contrôle. Notez l'usage prévu, par exemple un affichage familial privé, ainsi que les traits qui doivent rester reconnaissables. Conservez les dimensions d’origine et consignez tout recadrage ou rééchantillonnage effectué avant l’inférence. Notez aussi l’environnement, le matériel et la commande complète. La procédure d'installation n'est pas une certification pour toutes les versions actuelles.

L'image de contrôle a une fonction diagnostique. Elle aide à distinguer un problème lié surtout à la forte dégradation d'un problème introduit par la sélection, l'alignement ou le chemin de traitement. Elle ne devient une référence mesurée qu'après une exécution réelle des deux images dans des conditions identiques et consignées.

Préparez un environnement isolé en suivant les instructions de la révision épinglée. Enregistrez les versions réellement installées, le matériel choisi, les journaux complets et les chemins exacts d'entrée et de sortie. Avant l'exécution, vérifiez la présence du checkpoint prévu et de toutes les dépendances requises. Résolvez les erreurs d'installation avant de comparer les images.

Ces commandes n'ont pas été exécutées. Elles laissent désactivées les options Real-ESRGAN de fond et de visage, mais conservent l'échelle de sortie distincte --upscale 2 utilisée par défaut.

Les chemins inputs/family-photo.png et results/... ne sont que des exemples. Remplacez-les par votre propre copie d’entrée autorisée et par des dossiers de sortie distincts afin de ne jamais écraser la source.

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

Après une exécution, inspectez d'abord la sélection et l'alignement, puis comparez chaque recadrage restauré à la source, et enfin examinez l'image recomposée. Conservez les sorties rejetées autant que le dérivé préféré. N'ajoutez l'amélioration du fond ou du visage qu'après avoir choisi une restauration acceptable, dans une comparaison séparée et consignée.

Utiliser une fiche d'acceptation propre au visage

ÉtapeDécisionPreuve à conserver
SourceQuels traits sont visibles ou incertains ?Scan inchangé et annotations.
SélectionLe bon visage a-t-il été aligné ?Recadrage détecté et position dans la photo.
ModificationL'expression ou un trait reconnaissable a-t-il changé ?Recadrages comparables, réglages et décision écrite.
RéinsertionLe visage s'intègre-t-il à la taille cible ?Image entière avec contours inspectés.
LivraisonLe dérivé reste-t-il distinct de l'archive ?Fichiers séparés et note de restauration.

Fixez un budget de correction avant de traiter une collection. Incluez l'inspection, les rejets et les retouches manuelles. L'attrait visuel ne suffit pas à accepter une copie.

Un visage visuellement attrayant qui modifie un trait important échoue; un résultat prudent peut rester utile malgré un peu de flou. Fixez la tolérance selon la photo et son destinataire, pas selon une cible générique de netteté. Laissez les observations de charge et de correction vides tant qu'elles n'ont pas été mesurées.

Trouver le premier artefact incorrect

Le script peut intercepter une erreur de restauration pour un visage et enregistrer à la place le recadrage d'entrée. La présence d'un fichier de sortie ne prouve donc pas que l'inférence a réussi. Examinez le journal, la sélection et le recadrage restauré.

ObservationPremière preuveAction contrôlée
Une personne manqueOptions de sélection et visages détectésCorriger la sélection avant le poids.
Le visage ne change pasJournal et paire de recadragesRésoudre l'erreur signalée puis relancer le même cas.
L'expression changeTraits visibles à la même échelleComparer un réglage à la fois ou tout rejeter.
Le visage paraît colléContours de l'image et étapes optionnellesVérifier la réinsertion avant toute amélioration.
Les ressources manquentDimensions, nombre de visages, matériel et optionsRéduire l'essai de façon documentée puis mesurer.

Ces lignes sont des hypothèses de diagnostic et des étapes d'inspection, pas des taux d'échec mesurés. Ne qualifiez pas automatiquement tout visage inchangé d'exception et n'attribuez pas tout défaut de bord à l'upscaler. Repérez d'abord la première différence pertinente dans les artefacts conservés, puis choisissez la correction.

Mesurer les ressources du travail complet

L'utilitaire peut choisir MPS, CUDA ou CPU selon ses contrôles. Ces chemins de code ne prouvent pas une exécution réussie sur votre machine. Cette évaluation n'établit aucune mémoire vidéo minimale, durée universelle ou capacité garantie. Utilitaire officiel de sélection du matériel.

Séparez téléchargement et démarrage des inférences répétées. Notez dimensions, nombre de visages, détecteur, poids, étapes optionnelles, matériel, enregistrement et inspection manuelle. Le chemin vidéo conserve des images d'entrée puis de sortie en mémoire; il ne faut pas le décrire comme un flux borné démontré.

Si la vidéo est nécessaire, commencez par un court extrait dont le traitement est autorisé. Examinez explicitement les images adjacentes pour vérifier la stabilité de l'identité, de l'expression et des traits distinctifs, puis consignez l'usage mémoire. Une seule image convaincante ne démontre pas la cohérence temporelle.

Choisir la suite à partir des preuves

Si une copie autorisée convient avec une correction acceptable, conservez source, réglages et dérivé ensemble. Sinon, choisissez un meilleur scan, une retouche manuelle ou une correction limitée qui n'invente pas les détails incertains. Cette évaluation ne désigne pas de vainqueur entre CodeFormer et GFPGAN et ne reproduit aucun benchmark.

Choisissez l'opération à partir du premier problème établi. Si seul un visage est endommagé, une restauration faciale limitée suivie d'une inspection peut convenir. Si toute l'image est simplement petite, testez séparément une mise à l'échelle ordinaire. Pour une rayure ou un défaut hors du visage, une réparation sans modèle facial est souvent plus appropriée. Si le recadrage isolé est acceptable mais la réinsertion médiocre, corrigez la recomposition au lieu de générer davantage de détails faciaux.

Le répertoire des modèles permet d'explorer d'autres catégories. Avant une collection ou un service, clarifiez les permissions, la charge réelle et les critères d'acceptation.