Ce site est un site officiel de l’ODERSA. Voici comment le savoir

Le domaine officiel

L’adresse de ce site se termine par odersa.org. Chaque service de l’association vit sur un sous-domaine de odersa.org et nulle part ailleurs. Si l’adresse dans la barre de votre navigateur ne finit pas par odersa.org, ce site n’est pas le nôtre.

Gratuit, et sans compte

Tout est ouvert tout de suite. Aucune inscription, aucun compte, aucun mot de passe, aucun abonnement, aucune publicité. Rien n’est réservé à qui paie, puisque rien ne se paie.

Aucune donnée collectée

Ce site ne vous suit pas : ni mouchard, ni mesure d’audience, ni cookie de traçage. Vous n’avez pas à nous croire : ouvrez les outils de développement de votre navigateur, onglet Réseau, et rechargez la page. Vous verrez la liste complète de ce que le site demande. Tout vient de odersa.org, rien ne part ailleurs.

Contenus libres

Les contenus sont publiés sous licence CC BY 4.0. Vous pouvez les copier, les traduire, les imprimer et les redistribuer, pour vos cours comme pour vos proches, à la seule condition de citer l’ODERSA.

Une image fabriquée

Une image fabriquée par une machine porte souvent la trace des opérations qui l’ont produite, et cette trace se mesure. Cette démonstration fabrique deux images sur votre appareil, montre où la trace apparaît, et montre à partir de quand elle devient illisible.

Un photographe accroupi au bord d’un terrain de football, un long téléobjectif à la main
Une photographie porte les traces de l’appareil qui l’a prise. Une image fabriquée porte les traces de ce qui l’a produite. Photographie : Ximeg, page du fichier, licence CC BY-SA 3.0 (texte de la licence).
Information

Tout se calcule dans votre navigateur. Les deux images sont dessinées sur cet appareil, leurs spectres y sont calculés, et aucune image n’est téléchargée de nulle part. Ouvrez l’onglet Réseau de votre navigateur et manipulez la démonstration : aucune requête ne part.

Deux images, le même contenu, une opération de différence

Les deux images ci-dessous sortent du même champ de départ. L’une est rendue telle quelle. L’autre passe par un goulot : elle est réduite, puis réagrandie en répétant chaque pixel, ce qui est l’opération de suréchantillonnage que les générateurs d’images enchaînent pour passer d’une petite carte de valeurs à une image de grande taille. Rien d’autre ne les sépare.

Un mot ou un nombre. La même graine redonne exactement les mêmes images et les mêmes mesures, sur n’importe quel appareil.
De combien l’image a été réduite avant d’être réagrandie. Ce nombre fixe le pas de la grille que la mesure va chercher dans le spectre.
0
En niveaux de gris, sur une échelle de 255. Le même bruit est ajouté aux deux images, pour que la comparaison reste juste. C’est le réglage le plus instructif de la page.

Lancez la fabrication. Les deux images, leurs deux spectres et la mesure chiffrée s’afficheront ici.

Ce que la mesure montre

La trace est un manque, pas un pic

L’idée répandue veut qu’une image fabriquée montre des pics dans son spectre. Ce que cette démonstration mesure est l’inverse, et c’est plus intéressant. Aux fréquences de la grille de suréchantillonnage, l’image fabriquée a systématiquement moins d’énergie que son voisinage, d’environ onze décibels. Ces fréquences sont exactement celles que le noyau de répétition annule : en répétant chaque pixel un certain nombre de fois, on applique un filtre dont les zéros tombent aux multiples de ce nombre. Le spectre garde donc le creux de l’outil qui l’a produit.

Sur l’image témoin, la même mesure donne moins d’un décibel d’écart, dans un sens ou dans l’autre, parce qu’il n’y a aucune raison qu’une texture privilégie ou évite ces fréquences-là. La différence entre les deux images n’est donc pas une impression : c’est un nombre, et il se refait.

Elle disparaît sous presque rien

Poussez le curseur de bruit et regardez la mesure fondre. Les valeurs relevées sur la graine par défaut, au facteur huit, sont celles-ci.

Écart de grille mesuré, en décibels, selon le bruit ajouté. Graine « ODERSA », facteur de suréchantillonnage huit.
Bruit ajoutéImage témoinImage fabriquée
aucun+0,2-11,0
2 niveaux-0,5-4,6
5 niveaux-0,8-1,6
10 niveaux-1,2-0,5
20 niveaux-0,7+0,2
40 niveaux-0,4+0,8

À cinq niveaux de gris de bruit, soit deux pour cent de l’échelle, la trace est déjà tombée sous le niveau du témoin. À dix niveaux, elle n’existe plus. Un bruit de cette amplitude est invisible à l’œil, et il se produit tout seul : une recompression, une capture d’écran, un redimensionnement, un filtre de retouche en font autant sans que personne l’ait voulu.

La trace est indiscutable et elle ne survit à presque rien. Les deux moitiés de cette phrase comptent autant.

La méthode

Le calcul entier, pour qui veut le refaire sans cette page.

  1. Fabriquer le champ de départ. Cinq couches de bruit lissé, de plus en plus fines, additionnées avec une amplitude qui diminue de moitié à chaque couche. On obtient une texture dont l’énergie décroît avec la fréquence, comme celle d’une photographie. Le tirage est ensemencé par la graine affichée, donc reproductible.
  2. Fabriquer la seconde image. Moyenner le champ par blocs carrés du côté choisi, ce qui donne une petite image, puis la réagrandir en répétant chaque pixel autant de fois. C’est un suréchantillonnage au plus proche voisin.
  3. Ajouter le bruit, s’il y en a, à la même amplitude sur les deux images.
  4. Passer chaque image en luminance, retirer sa moyenne, puis calculer sa transformée de Fourier à deux dimensions. Retirer la moyenne est indispensable : sinon la composante continue écrase tout et le spectre n’est qu’un point au centre.
  5. Recentrer le spectre, prendre l’amplitude de chaque fréquence, et la convertir en décibels par rapport au maximum.
  6. Mesurer. Faire la moyenne des décibels aux fréquences dont les deux coordonnées sont des multiples du pas de grille, puis la moyenne des décibels partout ailleurs, et soustraire. C’est l’écart de grille. Une valeur proche de zéro veut dire que ces fréquences n’ont rien de particulier. Une valeur nettement négative veut dire qu’un noyau de répétition est passé par là.

Le pas de grille vaut le côté de l’image divisé par le facteur de suréchantillonnage. Changez le facteur dans la démonstration, et le pas change avec lui : la mesure va chercher la trace ailleurs, et elle la trouve. C’est ce qui montre que la mesure suit vraiment l’opération, et qu’elle ne trouve pas ce qu’elle a envie de trouver.

Ce que cette démonstration ne fait pas

  • Elle montre qu’une opération de fabrication laisse une trace mesurable et reproductible dans le domaine des fréquences.
  • Elle montre que cette trace dépend du réglage de l’opération, et se déplace avec lui.
  • Elle montre à partir de quelle perturbation la trace cesse d’être lisible.
  • Elle ne détecte rien. Cette page fabrique elle-même les deux images : elle sait laquelle est laquelle, elle ne le devine pas, et elle ne rend aucun score de confiance.
  • Elle ne juge aucune image que vous lui apporteriez, et elle n’accepte pas de fichier. Un outil qui prétendrait trancher sur une image réelle mentirait.
  • Elle ne reproduit pas un vrai générateur d’images. Le suréchantillonnage est l’une de ses opérations, pas toutes, et les architectures récentes atténuent délibérément cette signature.

Ce que la recherche a mesuré

Trois résultats publiés encadrent cette démonstration, et un quatrième en donne la limite.

Les images produites par des réseaux génératifs présentent des artefacts systématiques visibles dans le domaine fréquentiel, causés par les opérations de suréchantillonnage communes à ces architectures. Le composant de suréchantillonnage des réseaux antagonistes laisse une empreinte spectrale caractéristique et reproductible, exploitable même sans avoir vu ce modèle précis à l’entraînement. Ces travaux disent la même chose que la mesure ci-dessus : l’outil signe son passage.

La limite est publiée aussi, et elle est nette. Un travail évalué par les pairs établit que les filigranes invisibles au niveau du pixel sont retirables par une attaque de régénération, qui ajoute du bruit puis reconstruit l’image, et que cette famille d’attaques préserve la qualité visuelle. Ses auteurs concluent qu’il faut passer des filigranes invisibles à des marques qui préservent le sens de l’image. Ce que le curseur de bruit de cette page fait en trois secondes est la version élémentaire de cette attaque.

Un dernier fait ferme la discussion sur l’œil humain : des observateurs ne distinguent plus de manière fiable un visage synthétique d’un visage réel, et jugent même les visages synthétiques en moyenne plus dignes de confiance. Se fier à son impression n’est donc pas une méthode de repli.

Le geste à garder

Devant une image dont l’origine compte, ne cherchez pas l’indice dans l’image. Cherchez la source : qui l’a publiée le premier, à quelle date, et que disent les métadonnées de provenance quand elles existent. Ce chemin est traité au chapitre les filigranes. Un indice technique sert à documenter un doute, jamais à conclure seul.

Pour aller plus loin

Le même travail sur un signal sonore est au chapitre une voix fabriquée. Les deux façons de marquer un contenu sont au chapitre les filigranes. Les situations où l’outil se referme sont réunies dans quand ne pas s’en servir. Toutes les démonstrations du site sont réunies à la page démonstrations, et le sommaire du cours à la page comprendre.

Sources