Les Newsletters Interstices
Image originale (à gauche) et falsifiée (à droite) Photo : Tina Nikoukhah
    Niveau intermédiaire
    Niveau 2 : Intermédiaire
    Logo Creative Commons

    sous licence Creative Commons

    Les traces de compression pour détecter les photomontages

    Traitement d’images & Son
    Les réseaux sociaux, comme Facebook, Twitter, Instagram, WhatsApp et tant d'autres, permettent de partager des images massivement et rapidement. Ces images sont parfois utilisées en tant que « preuve » pour accompagner une information. Mais alors faut-il croire tout ce que l’on voit ?

    La falsification d’images ne date pas d’hier. Bien avant l’invention de l’imagerie numérique et l’émergence des réseaux sociaux, les régimes de Mussolini, Staline ou encore Mao ont produit des photographies retouchées pour tordre l’histoire à leur avantage. À cette époque, cela nécessitait de longues heures de travail, du matériel de pointe et une expertise poussée, alors qu’aujourd’hui toute personne avec un ordinateur, une tablette ou un smartphone peut devenir un habile faussaire grâce à la multitude d’outils disponibles.

    image truquée à l'aide du logiciel Affinity

    Image truquée à l’aide du logiciel Affinity.

    La formation, le stockage ou la retouche d’une image (qu’il s’agisse d’un trucage à des fins malveillantes ou purement esthétiques pour améliorer une photographie comme dans l’exemple ci-dessus) nécessitent l’usage de plusieurs algorithmes de traitement d’images. Ces opérations laissent souvent des traces parfois invisibles à l’œil nu, mais qu’il est possible d’analyser et de détecter au moyen d’outils dédiés.

    Tout au long de cet article, nous allons vous donner des clefs pour comprendre comment l’analyse de la chaîne de traitement d’une image, et plus particulièrement l’étape de la compression JPEG, peut aider à la détection de la falsification. Des équipes de recherche à travers le monde travaillent sur le développement d’outils fiables, avec l’ambition de les mettre à la disposition du grand public et des journalistes, afin que chacun puisse faire lui-même ce travail pour l’émergence de la vérité.

    Ces outils de détection de la falsification se veulent des compléments à l’approche actuellement bien répandue de la recherche de la source d’une image, en particulier dans les cas où l’image originale qui a été détournée n’est pas accessible.

    Une manière simple de prouver qu’une image a été truquée est de trouver l’image source à partir de laquelle le trucage a été effectué et de les comparer. De la même manière qu’il est possible d’effectuer une recherche texte dans le moteur de recherche Google, il est possible de mettre en entrée une image afin de voir les images similaires disponibles sur Internet : il s’agit de recherche d’image par le contenu. D’autres moteurs de recherche proposent cette même fonctionnalité, comme Tineye ou Yandex.

    recherche inversée : on retrouve l'image originale en triant la liste des résultats par dates.

    Grâce au plug-in InVID-WeVerify, il est possible de lancer rapidement une recherche inversée via les différents moteurs de recherche. Ici, sur Tineye, on retrouve l’image originale en triant la liste des résultats par dates. La superposition des deux images permet de mettre en évidence la falsification.

    En cherchant la provenance de l’image, on observe que certaines photos ne sont pas truquées mais sorties de leur contexte. Il s’agit de la manipulation la plus simple : récupérer de vieilles images et changer leur signification en modifiant leur légende plutôt que leur contenu.

    Il arrive que l’image originale ne soit pas publiée en ligne. Heureusement, même sans l’aide d’Internet, il est possible d’en savoir plus sur notre image. Au lieu de savoir de quel site elle provient et sur quelles plateformes elle a été partagée, il arrive qu’on puisse savoir comment, où et quand elle a été prise.

    Un fichier image issu d’un appareil photo contient, en plus de la photographie elle-même, des informations techniques sur l’image (définition, résolution…) mais aussi sur le contexte de la prise de vue (date, heure, position géographique…). Ces métadonnées nommées EXIF peuvent être examinées.

    Les données EXIF sont accessibles grâce aux logiciels de visualisation, en sélectionnant les paramètres de l’image. Si elles indiquent que cette image a été prise un 1er janvier à 3h du matin au centre de Paris, cela peut sembler suspect.

     

    Cependant, il est impossible de se fier complètement à ces métadonnées qui accompagnent l’image, car elles sont facilement modifiables, et sont même le plus souvent absentes. La plupart des réseaux sociaux comme Twitter, Facebook ou Instagram les suppriment volontairement pour préserver la vie privée de leurs utilisateurs. Notre but est donc d’obtenir de l’information uniquement à partir de l’image et des pixels qui la composent.

    Extraire de l’information de l’image

    Une analyse de l’image permet de savoir quelles transformations lui ont été appliquées. En effet, une photographie numérique subit une chaîne de traitement, à partir du moment où le capteur de l’appareil photo reçoit la lumière, et jusqu’à ce que l’image apparaisse sur nos écrans. Le schéma ci-dessous décrit quelques étapes du cycle de la vie d’une image. Ces étapes et les étapes supplémentaires telles que les différentes retouches ou modifications constituent l’histoire de l’image. Toutes ces opérations de traitement d’images laissent une trace, imperceptible mais rarement indétectable.

    opérations de la chaîne de traitement d'une image

    Exemples communs d’opérations de la chaîne de traitement d’une image.

    Une approche de détection de falsification consiste alors à reconstituer cette chaîne de traitement à partir des traces présentes dans l’image et regarder localement si chaque zone a le même historique que le reste de l’image.

    La zone falsifiée ne possède pas le même historique que le reste de l'image.

    La zone falsifiée ne possède pas le même historique que le reste de l’image.

    Prenons l’ordre inverse des étapes présentes dans la chaîne de traitement présentée ci-dessus, et intéressons-nous à la compression JPEG. En effet, lorsqu’on s’intéresse à des photographies, ce format est majoritaire (par rapport aux formats HEIF, GIF ou PNG).

    La compression JPEG

    Pour rappel, cette opération permet de stocker en mémoire un fichier image de telle sorte qu’il prenne moins de place sur le disque.

    Les étapes de la compression JPEG.

    Les étapes de la compression JPEG.

    La première étape consiste en une conversion de l’espace colorimétrique. L’image aux canaux de couleur rouges, verts et bleus (RVB, ou RGB en anglais) est convertie en base YCbCr : un canal de luminance et deux canaux de couleurs. L’œil humain étant plus sensible à la luminance, les canaux de couleurs sont souvent sous-échantillonnés pour occuper moins d’espace.

    Chaque canal est ensuite découpé en blocs de 8 × 8 pixels qui ne se chevauchent pas et où chaque bloc est alors traité indépendamment. Après passage dans le domaine de Fourier via une transformée en cosinus discrète (DCT), une quantification dépendant d’un paramètre Q est appliquée. Le facteur de qualité Q, qui est un paramètre de l’algorithme allant de 1 à 100, correspond au taux de compression. Plus ce taux est faible, plus le fichier résultant est léger, et plus l’image est dégradée. C’est lors de cette étape de l’algorithme que se produit la plus grande perte d’information (et donc de qualité visuelle), mais c’est aussi celle qui permet de gagner le plus de place en mémoire. La compression JPEG conduit à l’atténuation des hautes fréquences auxquelles l’œil humain est très peu sensible. Il s’agit des zones qui varient fortement sur quelques pixels, comme les zones très texturées.

    Chaque bloc est ensuite codé en suivant des algorithmes de compression de données sans perte et un en-tête est ajouté afin de former le fichier sous le format JPEG.

    Les traces de compression JPEG

    Pour visualiser un fichier JPEG, il faut alors le décompresser, c’est-à-dire inverser les étapes détaillées précédemment pour pouvoir afficher l’image. Cependant, les informations perdues lors de la quantification des blocs de 8 pixels de côté ne peuvent être reconstituées et cela conduit à l’apparition de discontinuités au bord des blocs de l’image décompressée.

    En zoomant sur une image ayant subi une compression, on parvient à voir à l’œil nu ces blocs, formant ce qu’on appelle la grille JPEG, qui correspondent aux traces de la compression. Plus le facteur de qualité Q est faible, plus l’image est compressée et donc plus ces traces sont marquées. Cependant, ces traces sont toujours présentes même si elles sont imperceptibles.

    50

    Zooms sur la même partie d’une image compressée à des facteurs de qualité différents.


    La compression JPEG possède ces caractéristiques particulières qui ne peuvent être naturellement présentes dans l’image. Des algorithmes permettent de les détecter avec fiabilité et ainsi dire si une image a subi une compression JPEG et avec quels paramètres (voir [1] dans les références bibliographiques).

    Si ces traces sont présentes, il est possible de les analyser pour détecter si elles sont cohérentes dans l’ensemble de l’image. En effet, des discontinuités dans la grille JPEG pourraient trahir un travail de retouche de la photographie.

    Pour ce faire, divers outils sont mis à disposition via des logiciels ou plateformes en ligne (InVID-WeVerify, Fotoforensics, Authenticate, etc.). Certains sont une aide à l’analyse visuelle, d’autres rehaussent les zones incohérentes et des méthodes voient le jour permettant de donner un résultat binaire, c’est-à-dire capable de dire avec certitude si telle zone d’une image a fait l’objet d’une modification.

    Prenons l’exemple de l’image ci-dessous et appliquons quelques outils qui vont analyser les traces laissées par la compression JPEG. L’image a été falsifiée pour effacer la personne se trouvant dans le fond de la scène.

    Les outils de détection de falsification basés sur les traces de compression JPEG

    Divers filtres et opérations permettent de faire ressortir les traces laissées par la compression JPEG, aidant ainsi un analyste à trouver visuellement les incohérences au sein de l’image.

    image falsifiée

    Image falsifiée.

    image filtrée avec Cross-diff

    Cross-diff [2].

    image filtrée avec ELA

    ELA [3].

    image filtrée avec Laplacien

    Laplacien.

    Ici, trois filtres sont appliqués à notre image falsifiée, afin d’amplifier les traces de compression. En effet, en passant le curseur de la souris sur chacune des trois images filtrées, on parvient à voir un agrandissement de la zone et il est possible d’apercevoir les blocs formant la grille JPEG.

    Sur notre exemple, ces outils permettent de voir ces traces mais pas de détecter d’incohérence. Cependant, il est possible que ces visualisateurs soient suffisants dans certains cas de falsification, comme par exemple le cas où la zone falsifiée possède une compression de qualité significativement différente de celle du reste de l’image.

    Une image provenant d’une autre image JPEG et compressée différemment (plus fortement, donc avec des traces JPEG plus importantes) a été collée dans la zone falsifiée. L’historique de compression JPEG de cette zone est donc différent de celui du reste de l’image.

    image falsifiée

    Image falsifiée.

    image filtrée avec Cross-diff

    Cross-diff [2].

    image filtrée avec ELA

    ELA [3].

    image filtrée avec Laplacien

    Laplacien.

    On remarque que cette modification a un impact sur les traces de compression qui sont plus marquées dans la zone falsifiée. (Pour voir un agrandissement d’une zone, passer le curseur de la souris sur l’image.)

    Ces outils ne permettent ni de donner des résultats définitifs concernant une éventuelle falsification, ni d’authentifier une photographie, seulement d’aider à l’analyse visuelle. Heureusement, des algorithmes de détection existent pour trouver ces incohérences à notre place.

    Voici quelques résultats provenant des méthodes qui cherchent à détecter les zones suspectes.

    Légende
    A : Falsifiée, B : DCT [4], C : BLOCK [5], D : GHOST [6], E : DQ [7], F : CAGI [8].

    Sur cet exemple, nous savons quelle zone a été falsifiée, donc il est plus facile d’interpréter les résultats de ces méthodes.

    Les résultats de DCT et DQ semblent corrects. GHOST révèle une nouvelle structure qui n’apparaissait pas dans l’image à tester et qui correspond bien à la zone falsifiée. CAGI détecte une partie de cette zone mais aussi d’autres parties de l’image. BLOCK ne détecte pas la falsification et met en relief des zones non falsifiées de l’image. Alors que ces méthodes permettent souvent de révéler les falsifications, elles peuvent aussi révéler des parties non modifiées de l’image. Elles possèdent alors un défaut majeur : il arrive qu’elles fassent de fausses détections, dues souvent aux structures présentes dans l’image.

    Légende
    A : Originale, B : DCT [4], C : BLOCK [5], D : GHOST [6], E : DQ [7], F : CAGI [8].

     

    Dans le cas d’une image originale, où toutes les parties de l’image ont le même historique de compression, on s’attendrait à n’avoir aucune zone différente d’une autre. Toute détection pour cette image est alors un faux positif.

    Il est ainsi important de parvenir à limiter les résultats erronés. Pour cela, des méthodes avec une couche de validation statistique sont développées afin de contrôler les fausses détections. Il est aussi important de ne pas attendre une quelconque expertise de la part des utilisateurs de ces outils qui visent un large public. Des méthodes, dites automatiques, c’est-à-dire qui ne nécessitent pas d’interprétation, sont aussi en train d’être développées par les chercheurs. Elles ont pour but de renvoyer un résultat binaire et fiable, accompagné d’une probabilité de confiance. Elles peuvent alors avoir pour défaut de ne pas détecter systématiquement les falsifications, mais les alertes qu’elles lèvent peuvent être considérées comme sûres.

    L’algorithme de détection automatique ZERO permet de détecter les incohérences de la grille JPEG. La zone blanche correspond à la zone détectée comme falsifiée de l’image. Les traces JPEG dans la zone blanche sont alors différentes des traces associées à la zone noire.

    On remarque que ZERO ne détecte aucune anomalie dans le cas de l’image originale, donc aucune fausse détection.

    L’objectif in fine n’est pas d’avoir une seule méthode résultant en une unique image. En effet, il est important d’avoir une grande batterie d’outils, car même si ces derniers reposent sur la même trace de compression JPEG, ils ne sont pas basés sur la même approche. Ainsi, avoir plusieurs méthodes révélant la même zone peut être vu comme une validation. Il existe d’ailleurs des approches de type « fusion » qui cherchent à renvoyer un seul résultat à partir de différentes méthodes. Si plusieurs d’entre elles ont détecté une zone comme suspecte, alors le résultat final indiquera une falsification dans cette même zone. Bien sûr, certaines de ces méthodes possèdent aussi les mêmes limitations et sont sensibles au même type de structure de l’image. D’où l’importance du développement des méthodes automatiques capables de contrôler les fausses détections.

    L’objectif serait d’avoir des outils capables de détecter des incohérences pour chaque trace laissée par les opérations subies par l’image. Ces derniers devront aussi être robustes à d’autres opérations pouvant être appliquées après la falsification, comme les changements de couleurs, de tailles et de nombreuses compressions. Cependant, il sera toujours possible d’écraser les traces intéressantes permettant la détection de falsification, mais souvent cela conduirait à réduire fortement la qualité de l’image. Avec les appareils photo d’aujourd’hui et leur qualité, il faut douter d’une image trop dégradée.

    Le projet Envisu4 vise à améliorer ces outils afin qu’ils soient plus faciles d’utilisation : obtenir un résultat automatique quand cela est possible et guider les utilisateurs afin qu’ils puissent prendre une décision en limitant l’émergence de faux positifs.

    [1]. Nikoukhah, Tina, et al. « JPEG grid detection based on the number of DCT zeros and its application to automatic and localized forgery detection. » Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition Workshops. 2019.
    [2]. Nikoukhah, Tina, et al. « Local JPEG Grid Detector via Blocking Artifacts, a Forgery Detection Tool. » Image Processing On Line 10 (2020): 24-42.
    [3]. Krawetz, Neal, and Hacker Factor Solutions. « A picture’s worth. » Hacker Factor Solutions 6.2 (2007): 2.
    [4]. Ye, Shuiming, Qibin Sun, and Ee-Chien Chang. « Detecting digital image forgeries by measuring inconsistencies of blocking artifact. » 2007 IEEE International Conference on Multimedia and Expo. IEEE, 2007.
    [5]. Li, Weihai, Yuan Yuan, and Nenghai Yu. « Passive detection of doctored JPEG image via block artifact grid extraction. » Signal Processing 89.9 (2009): 1821-1829.
    [6]. Farid, Hany. « Exposing digital forgeries from JPEG ghosts. » IEEE Transactions on Information Forensics and Security 4, no. 1 (2009): 154-160.
    [7]. Lin, Zhouchen, et al. « Fast, automatic and fine-grained tampered JPEG image detection via DCT coefficient analysis. » Pattern Recognition 42.11 (2009): 2492-2501.
    [8]. Iakovidou, Chryssanthi, et al. « Content-aware detection of JPEG grid inconsistencies for intuitive image forensics. » Journal of Visual Communication and Image Representation 54 (2018): 155-170.

    Newsletter

    Le responsable de ce traitement est Inria, en saisissant votre adresse mail, vous consentez à recevoir chaque mois une sélection d'articles.

    Niveau de lecture

    Aidez-nous à évaluer le niveau de lecture de ce document.

    Si vous souhaitez expliquer votre choix, vous pouvez ajouter un commentaire (Il ne sera pas publié).

    Votre choix a été pris en compte. Merci d'avoir estimé le niveau de ce document !

    Tina Nikoukhah

    Doctorante en traitement d'images au Centre Borelli (ex-CMLA), ENS Paris-Saclay.

    Voir le profil

    Découvrez le(s) dossier(s) associé(s) à cet article :

    DossierTraitement d’images & Son

    Photographie numérique

    Ces articles peuvent vous intéresser

    ArticleTraitement d’images & Son
    Algorithmes

    Tout ce que les algorithmes de traitement d’images font pour nous

    Tina Nikoukhah

    Niveau facile
    Niveau 1 : Facile
    ArticleTraitement d’images & Son
    Algorithmes

    De Fourier à la compression d’images et de vidéos

    Christine Guillemot
    Aline Roumy

    Niveau intermédiaire
    Niveau 2 : Intermédiaire