Le hashing perceptuel, expliqué : PDQ, vpdq, et ce qu’Instagram & TikTok comparent vraiment
Par l’équipe b10.studio
Chaque fois qu’une plateforme vous dit qu’une vidéo est un « doublon », signale une correspondance de droits d’auteur ou rétrograde discrètement un repost, la même famille de technologies est dessous : le hashing perceptuel. Si vous travaillez dans le social, la pub ou le contenu à grande échelle, il vaut la peine de bien le comprendre — pas comme une boîte noire, mais comme un nombre mesurable sur lequel raisonner. Voici cette explication.
Hash cryptographique vs hash perceptuel
Commençons par le contraste, car c’est toute l’idée.
Un hash cryptographique (SHA-256 et compagnie) est conçu pour que le moindre changement de l’entrée — un bit retourné — produise une sortie totalement différente. Parfait pour « est-ce exactement le même fichier ? » et inutile pour « est-ce le même contenu ? ». Ré-enregistrez un JPEG et son SHA-256 change entièrement, alors que l’image semble identique.
Un hash perceptuel est conçu pour la propriété inverse : des entrées qui se ressemblent visuellement ou auditivement doivent produire des sorties proches. De petits changements peu perceptibles ne déplacent le hash que légèrement. C’est ce qui permet à une plateforme de reconnaître votre vidéo après recompression, redimensionnement et rognage.
Comment se construit un hash perceptuel d’image (PDQ)
PDQ est l’algorithme de hachage d’images open-source de Meta — largement utilisé et bon modèle pour toute la famille. Conceptuellement :
- Normaliser. Réduire l’image et la convertir en luminance (niveaux de gris). Les détails fins et la couleur sont jetés volontairement — ce sont les choses qui changent entre quasi-doublons.
- Transformer dans l’espace fréquentiel. Une transformée en cosinus discrète (DCT) sépare la structure large (basses fréquences) des détails fins (hautes fréquences). La structure large est ce qui survit à la compression et au redimensionnement.
- Quantifier en bits. Les coefficients basse fréquence sont réduits à une chaîne binaire de longueur fixe — pour PDQ, une empreinte de 256 bits.
Le résultat est une chaîne de bits compacte qui capture l’essence de l’image. Deux images visuellement proches aboutissent à deux chaînes de bits proches.
Comparer les hashes : la distance de Hamming
On ne compare pas les hashes perceptuels pour l’égalité — on mesure à quel point ils sont proches. La métrique est la distance de Hamming : le nombre de positions de bits où deux hashes diffèrent.
- Distance 0 → empreintes identiques bit à bit.
- Une petite distance → la plateforme les traite comme le même contenu (une correspondance).
- Une grande distance → traités comme distincts.
Chaque plateforme choisit un seuil. En dessous, vous êtes un doublon ; au-dessus, vous êtes neuf. Le nombre exact est propriétaire et varie selon la plateforme et la surface, mais le modèle est universel : la détection de doublons, c’est « la distance de Hamming est-elle sous T ? ». Tout votre travail, en réutilisant, est de pousser cette distance au-dessus de T tout en gardant la création intacte.
La vidéo : vpdq et la dimension temps
La vidéo ajoute le temps. vpdq (PDQ vidéo, aussi de Meta) le gère de la façon évidente : échantillonner des images sur la durée, calculer un hash PDQ par image échantillonnée, et représenter la vidéo comme l’ensemble de ces hashes d’images.
La correspondance devient alors « quelle fraction d’images du clip A a une correspondance proche quelque part dans le clip B ? ». C’est pourquoi plusieurs retouches naïves échouent à le tromper :
- Couper les extrémités retire des images mais en laisse correspondre la plupart — le milieu partagé compte encore comme une correspondance.
- Réordonner ou changer la vitesse déplace les images mais ne change pas à quoi la plupart ressemblent.
- La recompression ne déplace le hash de chaque image que légèrement, bien sous le seuil.
Pour réellement déplacer l’empreinte d’une vidéo, il faut décaler les hashes image par image sur toute la timeline — donc un changement visuel distribué, au niveau de l’image, pas une seule retouche aux bords.
L’audio aussi est empreinté
Le hachage visuel n’en est que la moitié. L’audio a son propre empreintage perceptuel (à la Chromaprint/AcoustID), construit à partir d’un spectrogramme du son plutôt que des octets de la forme d’onde. Un audio identique est un fort signal de doublon, indépendant — c’est pourquoi deux montages visuellement distincts qui partagent exactement la même piste audio peuvent quand même être reliés. Une stratégie de repost complète doit tenir compte des deux empreintes.
Pourquoi les astuces naïves ne marchent pas
Confrontez les tactiques courantes du « le rendre neuf » au modèle et elles s’effondrent de façon prévisible :
- « J’ai changé le format / réencodé. » Le réencodage change les octets, pas les pixels normalisés. Le hash bouge à peine.
- « Je l’ai redimensionné / changé la résolution. » PDQ réduit d’abord — votre résolution est normalisée avant le hachage.
- « J’ai un peu recadré / coupé l’intro. » Les petits recadrages survivent à la normalisation ; les coupes laissent correspondre la plupart des images.
- « J’ai effacé les métadonnées. » Le hash est construit à partir des pixels et de l’audio. Les métadonnées ne sont pas une entrée.
Les quatre laissent la distance de Hamming bien sous le seuil. Elles donnent l’impression d’être des changements significatifs parce qu’elles changent le fichier ; elles ne changent pas l’empreinte.
Ce qui déplace vraiment la distance
Des changements distribués, peu perceptibles, qui touchent le signal normalisé en plein d’endroits à la fois :
- Décalages d’étalonnage couleur, de gamma et de saturation (modifient la luminance sur chaque image)
- Transformations géométriques fractionnaires — rotation, zoom, déformation (décalent la structure dans l’espace fréquentiel)
- Bruit et grain structurés (perturbent les coefficients que PDQ quantifie)
- Re-timing audio, ajustements de hauteur/tempo et EQ (déplacent l’empreinte acoustique)
Le métier, c’est le calibrage : assez pour franchir le seuil, assez doux pour que la fidélité — à quel point la création reste intacte — demeure élevée.
Mesurez au lieu de deviner
La bonne nouvelle, tout ceci étant un nombre, c’est que vous pouvez le mesurer directement. Notre Risk Analyzer exécute un vrai PDQ sur les images et vpdq sur la vidéo, calcule la distance de Hamming entre une source et une variante, ajoute un score de fidélité SSIM robuste à l’alignement et une correspondance audio Chromaprint — pour voir exactement où se situe un fichier par rapport à un seuil de correspondance avant même de poster.
Le hashing perceptuel n’est ni magique ni imbattable. C’est une métrique de distance bien définie avec un seuil. Une fois que vous le voyez ainsi, « ce repost va-t-il se faire prendre ? » cesse d’être une superstition et devient quelque chose de vérifiable.
Notre Risk Analyzer exécute un vrai PDQ / vpdq sur n’importe quel fichier que vous lui donnez et indique la distance de Hamming — le nombre même sur lequel les plateformes fixent leur seuil. C’est gratuit.
Essayer le Risk Analyzer