Retour à la question du logiciel pouvant détecter les trucages photo

Démarré par psbez, Mars 10, 2020, 09:00:24

« précédent - suivant »

psbez

C'est souvent désolant de voir certains d'entre nous ( stepbystep – egtegt2 etc... dans ce cas précis   ) qui enterrent certains sujets intéressants en « détournant » le sujet principal du fil. Je m'en fiche si l'image primée du dernier concours Wildlife est truquée ou non. C'est une supposition que je fais. Si elle l'est réellement, on le saura ( peut-être ! ) un jour. C'est un fait que certains concours ont été faussés par des trucages. C'est donc un problème réel. La question posée est donc d'actualité : peut-on arriver à détecter ces photos ? Je posais une question supplémentaire pouvant préciser le problème : l'agencement initial des pixels d'un fichier photo est-il modifié par la suppression ou l'ajout d'éléments ?

baséli

Citation de: psbez le Mars 10, 2020, 09:00:24
l'agencement initial des pixels d'un fichier photo est-il modifié par la suppression ou l'ajout d'éléments ?

Oui, par définition de la suppression ou de l'ajout d'éléments!

Sinon, il existe (j'ai vu ça je ne sais plus où) des logiciels qui permettent de détecter les trucages faits avant l'apparition de ces logiciels. D'un coup on va développer des techniques visant à rendre les modifications indétectables.

Mais cela laissera d'autres types de traces, que d'autres logiciels détecteront. Du coup de nouvelles techniques permettant de rendre indétectable apparaîtront.

Et ainsi de suite: mesures, contre-mesures, le jeu classique du chat et de la souris. Ou des militaires, qui font ça depuis que le monde est monde.

egtegt²

Désolé, je n'avais pas l'impression d'avoir enterré ton sujet. Pour ce qui est de ta question, la réponse est complexe et simple : Une photo numérique étant par essence une simple juxtaposition de pixels, il est de façon évidente possible en théorie de créer une image fausse qui soit en tout point indétectable.

Ensuite, est-ce humainement faisable : je n'en suis pas persuadé, par contre créer une image indétectable par les logiciels spécialisé est plus simple à partir du moment où on connait les algorithmes servant à détecter la fraude.

Zaphod

Citation de: Stepbystep le Mars 10, 2020, 10:59:14Si en plus, tu faisais l'effort de chercher un minimum les informations, tu verrais que le jury demande le raw. Mais, c'est plus facile des descendre ce qu'on jalouse et qu'on sera à jamais incapable de faire.
En théorie, ça devrait être possible aussi de trafiquer un RAW.
Je ne pense pas qu'aucun logiciel le fasse actuellement, et c'est probablement assez complexe, et avec peu d'intérêt en pratique à part justement pour des "trucages", mais vu ce qu'on arrive à faire en retouche d'image, ça ne me paraît pas hors de portée.

egtegt²

Citation de: Stepbystep le Mars 10, 2020, 12:12:11
Aujourd'hui, aucun logiciel ne semble être capable d'écrire un raw dans son ensemble. Probablement que les constructeurs d'appareils en auraient les moyens, mais les logiciels de retouche qu'ils fournissent ne le permettent pas. Après, il y a toujours des logiciels qui permettent de modifier octet par octet n'importe quel fichier, mais au niveau de la retouche d'image, il faudrait être capable de modifier de manière cohérente de nombreuses données, ce qui semble impossible sans connaître la structure précise des fichiers raws de chaque marque, ce qui relève du secret industriel.
Vu que tous les éditeurs de logiciels de retouche savent le faire, ça ressemble à un secret de polichinelle ;)

En fait, ça n'est pas tellement plus compliqué de modifier un RAW que de modifier un JPEG, la principale différence étant qu'il y a des bibliothèques disponibles pour modifier un JPEG alors que pour un RAW, il faut écrire sa propre bibliothèque, mais ça reste largement faisable. Mais au moins, vu qu'il n'existe pas de logiciel tout fait à ma connaissance, ça demande des compétences assez forte en programmation.

Par contre on revient toujours au même problème : modifier une photo de façon invisible n'est en tout état de cause pas simple et la plupart du temps, un simple examen minutieux de la photo permet de détecter la supercherie.

Zaphod

Citation de: Stepbystep le Mars 10, 2020, 12:12:11
Aujourd'hui, aucun logiciel ne semble être capable d'écrire un raw dans son ensemble. Probablement que les constructeurs d'appareils en auraient les moyens, mais les logiciels de retouche qu'ils fournissent ne le permettent pas. Après, il y a toujours des logiciels qui permettent de modifier octet par octet n'importe quel fichier, mais au niveau de la retouche d'image, il faudrait être capable de modifier de manière cohérente de nombreuses données, ce qui semble impossible sans connaître la structure précise des fichiers raws de chaque marque, ce qui relève du secret industriel.
Certains appareils sortent des DNG... tous les smartphones par exemple.

egtegt²

Citation de: Stepbystep le Mars 10, 2020, 12:59:52
Ah bon ? Tu as des exemples ?

Je te parle d'écrire un raw dans le format de la marque.
Quand tu sais lire un format, ça n'a rien de compliqué de l'écrire, car au bout du compte, un raw n'est jamais qu'une matrice de valeurs avec une petite partie d'entête avec les metadata. Pour le modifier, il suffit d'être capable de lire le fichier puis de le réécrire en modifiant ces valeurs.

Zaphod

Citation de: Stepbystep le Mars 10, 2020, 13:47:20
Je te parle des raws générés par les appareils photo tels que Canon ou Nikon, c'est à dire des CR2 ou des nef. Un DNG n'est pas un vrai raw, tout au plus un format d'échange.
Un DNG peut tout à fait contenir des données brutes.
Il y a des appareils qui génèrent des DNG directement.
Pas Canon ou Nikon, mais Leica ou Pentax par exemple.

Zaphod

Je ne vois pas en quoi ça fait qu'un appareil qui choisit d'utiliser le DNG comme format RAW (il y en a), devrait être considéré comme ne sortant pas de vrai "brut".
Le fait que le format soit propriétaire, c'est un choix de certains constructeurs, non une obligation.
Mais bon peu importe.

En théorie rien n'empèche non plus de modifier un fichier RAW.
Certains logiciels le font d'ailleurs pour les métadonnées. Ca m'est arrivé d'ajouter des coordonnées GPS directement dans un RAW par exemple.
Pour la partie "image" c'est forcément plus complexe, mais à mon avis personne ne le fait parce qu'il n'y a pas de réel besoin et non pas parce que c'est techniquement infaisable.

egtegt²

#9
Citation de: Stepbystep le Mars 10, 2020, 14:36:13
La différence entre un raw propriétaire et le format DNG, c'est que le DNG est un format d'échange créé par Adobe et dont les spécifications sont accessibles à tous alors que la structure des raw propriétaires n'est réellement connue que par la marque elle-même, seules sont données aux éditeurs les informations permettant de lire les données, mais pas d'y écrire. C'est pour ça que les éditeurs de logiciels lorsqu'ils appliquent des réglages à un raw ne modifient pas vraiment le fichier mais créent ce qu'on appelle des side-cars qui sont des petits fichiers contenant les modifications et qui ne seront lisibles que par les logiciels qui les ont créés.

Même les logiciels des fabricants ne permettent pas de modifier le raw issu de l'appareil.

Maintenant, il semble qu'il existe la notion de DNG/jpg natif qui permet de s'assurer que c'est l'original issu de l'appareil et non une version modifiée, mais là, je n'ai pas plus d'infos.
Il va quand même falloir que tu nous explique comment un éditeur peut donner les informations permettant de lire un fichier raw aux éditeurs de logiciel sans leur donner la structure du fichier, et surtout en quoi c'est un secret industriel.

Bien sûr qu'aucune logiciel du commerce ne permet de modifier un raw, c'est le principe même du raw : un fichier qu'on lit pour en extraire une image. Techniquement parlant, il n'y a aucun intérêt à modifier un fichier raw sauf à vouloir le truquer.

Edit : 5 minutes de recherche et on trouve la description détaillée de ce fameux format "secret" ;)

http://lclevy.free.fr/nef/

Zaphod

Citation de: Stepbystep le Mars 10, 2020, 16:27:09AUCUN logiciel ne permet d'écrire dans un raw propriétaire.
Comme précisé plus haut, certains logiciels le font pour les métadonnées (GPS par exemple).

baséli

Citation de: egtegt² le Mars 10, 2020, 15:56:13
et surtout en quoi c'est un secret industriel.

Ca permet juste de vendre un truc en plus (les librairies de déchiffrage) aux éditeurs tiers, et seulement si on le souhaite. Car bien sûr le reverse engineering est interdit. Voler, frauder les impôts, dépasser les limitations de vitesse   aussi. On comprend bien les limites de cette interdiction, qui d'ailleurs n'est pas en vigueur dans tous les pays  ;D

baséli

Citation de: Stepbystep le Mars 10, 2020, 13:47:20
Un DNG n'est pas un vrai raw, tout au plus un format d'échange.

Ta distinction n'a guère de sens informatiquement parlant. On pourrait mettre un raw sur des cartes perforées que ça resterait un raw, c'est à dire une représentation non traitée de ce qu'à capté l'électronique d'un appareil photo. Mais ce ne serait pas très pratique à utiliser.

psbez

Merci pour ces infos très intéressantes. Certaines « me dépassent » un peu ! Si j'ai bien compris, l'arrangement initial des pixels d'un fichier original, qu'il soit Raw ( ? ) ou jpeg ( ou autre ) est modifié par l'ajout d'éléments étrangers au fichier ou la suppression d'éléments appartenant au fichier. Pour moi, dans ces cas, il y a trucage de la photo.  Vous dites que les informaticiens ont certainement conçus des logiciels détectant ces modifications. Ces logiciels sont-ils utilisés par les organisateurs des grands concours photo ? En ce qui me concerne, je considère que certaines modifications concernant l'exposition, la netteté ne sont pas des trucages. Pour les recadrages, c'est à voir au cas par cas.. C'est « ma » conclusion. Qu'en pensez-vous ?

Zaphod

Je pense que chacun a sa propre limite... par exemple si je prends une photo de paysage et que quelque part il y a une cannette jetée par quelqu'un, je vais la virer avec la correction de défaut.
Pareil pour une ligne électrique qui passe sur un bout de ma photo.
Même si en général j'essaie d'éviter à la prise de vue...

En revanche je n'irais pas changer le ciel d'une photo comme certains logiciels le proposent.
Changer la balance des blancs ou les couleurs peut avoir un effet important sur une photo, mais est-ce qu'utiliser un filtre polarisant ça n'est pas déjà un "trucage" ?

Est-ce qu'un trucage doit être interdit dans un concours photo (tout dépend du thème probablement) ?
Je ne fais pas de concours photo et n'y accorde pas beaucoup d'importance donc je n'ai pas de réponse à cette question :)

Zaphod

Citation de: Stepbystep le Mars 10, 2020, 21:10:53Pour répondre à Zaphod, je ne crois pas qu'on puisse après coup ajouter directement dans le raw des données GPS, logiquement elles seront stockées dans les side-cars.
Geosetter le permet, et en plus général, Exiftool permet de modifier à peu près ce qu'on veut sur les métadonnées d'un RAW.
Sans aller chercher si loin, Lightroom modifie la date et l'heure des fichiers RAW directement dans le fichier. J'en étais presque sur, mais je viens de faire le test et c'est bien le cas.

baséli

Citation de: Stepbystep le Mars 10, 2020, 21:10:53
Pour le DNG, la question étant de savoir si on peut reconnaître un DNG natif en garantissant qu'il n'a pas été modifié. Vu que c'est le cas, je pense que c'est possible, mais je ne sais pas sur quel critère.

Une clé de hash générée par le boîtier? Il me semble qu'à un moment donné Canon proposait ça comme fonctionnalité.

zuiko

Citation de: Zaphod le Mars 10, 2020, 21:31:46
Geosetter le permet, et en plus général, Exiftool permet de modifier à peu près ce qu'on veut sur les métadonnées d'un RAW.
Sans aller chercher si loin, Lightroom modifie la date et l'heure des fichiers RAW directement dans le fichier. J'en étais presque sur, mais je viens de faire le test et c'est bien le cas.

On peut ajouter que CNX2 (pas CNXD) de Nikon écrivait toutes les modifications apportées à l'image par le logiciel, non pas dans un fichier side-car (comme CNXD ou les autres) mais directement dans le NEF (raw de Nikon).
C'est le seul, à ma connaissance, qui sache faire ça et personnellement je trouve ce comportement plus pratique que les side-car.
Je m'en sers encore avec mon D7200.

zuiko

Citation de: Stepbystep le Mars 10, 2020, 23:40:46
Zuiko, tu aurais un exemple de raw ainsi modifié ?

Une photo sans grand intérêt que j'ai traficotée.
Il y a même deux versions dans le même fichier :
- une V1 couleur, juste travaillée en contraste et netteté,
- une V2 noir et blanc avec quelques coups de tampon, un coup de filtre passe bas, un léger recadrage.
Lien Wetransfer

zuiko

Citation de: Stepbystep le Mars 11, 2020, 01:39:46
Déjà, on voit qu'il a été modifié avec Capture NX 2. Après, il faudrait regarder de plus près si ce n'est pas juste un tif avec une extension nef, mais là je vais me coucher.  ;D

Au fait, VNX2 peut faire également quelques modifications plus "simples" dans le fichier NEF, réglage d'exposition, de balance des blancs, recadrage, éclaircissement des ombres, netteté...
Ces modifications sont lues par CNX2. Une fois des modifications effectuées par CNX2, VNX2 ne peut plus modifier le fichier (mais affiche bien le jpeg intégré au RAW conforme aux modifs de CNX2).

Zaphod

Citation de: Stepbystep le Mars 10, 2020, 22:53:06
Regarde les fichiers xmp qui sont générés, c'est ce qu'on appelle les side-cars, des petits fichiers qui permettent de stocker des modifications liées aux raws.
Oui merci je sais ce que c'est qu'un fichier sidecar.
C'est bien le RAW qui est modifié.

Citation de: Stepbystep le Mars 10, 2020, 23:15:13
Mais même si on peut modifier certaines données des exifs, ça ne veut pas dire qu'on peut modifier l'image.
On n'est pas dans le cas d'un fichier crypté avec seulement une clé de lecture fournie aux softs qui voudraient l'utiliser.
Les données de chaque photosite sont codées quelque part, et les logiciels savent aller les lire.
Je suppose qu'avec une motivation suffisante, on pourrait aller éditer le contenu.

D'autre part, les RAW enregistrés par l'appareil peuvent déjà contenir des "trucages" : live composite, focus stacking, hdr, filtre ND simulés, suppression du bruit sur les poses longues, etc... etc... les données sont traitées et ensuite seulement elles sont enregistrées en tant que RAW.

Même si on ne considère pas ces opérations comme des trucages, il s'agit d'une "manipulation" des données, et ça pourrait très bien être appliqué à d'autres opérations plus lourdes.

egtegt²

Citation de: Stepbystep le Mars 10, 2020, 16:27:09
Simple, de deux manières au moins. En fournissant des composants logiciels  permettant de lire les données et en donnant les clefs de déchiffrage, mais pas d'encodage.

De plus ta supposée description est loin d'être complète :

All information in this page has been gathered without hurting any proprietary software, using public information like Dcraw or ExifTool and as a test for my CR2 file parser.

AUCUN logiciel ne permet d'écrire dans un raw propriétaire.

Rappel :

L'intérêt d'un format RAW est qu'il préserve toute l'information brute du capteur. D'ailleurs, c'est de là que vient son nom puisqu'en anglais le mot "raw" peut se traduire par "brut". Ainsi, dans un fichier RAW, chaque pixel contient toutes les informations de luminance et de chrominance de la photodiode auxquelles il est spatialement relié, sans additif et, surtout, sans perte. En effet, nous l'avons vu récemment, dans un fichier JPEG l'algorithme de compression détruit des informations, pour gagner en poids de fichier. Dans un fichier RAW, rien de cela n'existe même si, récemment, certains reflex haut de gamme se sont mis à proposer des formats RAW compressés, qui ne détruisent pas d'informations mais permettent d'obtenir des fichiers un peu plus légers.

Dans les faits, le fichier RAW est un fichier en deux parties : le fichier principal contient toutes les informations brutes issues du capteur, le fichier secondaire dit "side-car", est un fichier XMP qui contient les instructions de développement ainsi que les EXIF relatifs aux réglages de prise de vue (vitesse, ouverture, focale, balance des blancs, éventuels profils d'images, etc). Lorsque vous travaillez sur votre RAW, seul le fichier XMP est modifié : vous ne touchez jamais les informations brutes issues du capteur. Vous pouvez donc générer autant d'images différentes à partir d'un seul et même RAW originel que vous créez de doublons du XMP, ce sans jamais altérer les données originelles.


C'est un dialogue de sourd ;)

Oui aucun logiciel du marché ne permet de modifier un RAW parce que ça n'a pas d'intérêt, au contraire. C'est un peu comme si en argentique tu t'amusais à modifier le négatif. Une fois que c'est fait, tu ne peux plus revenir en arrière. Et les RAW sont fait juste pour l'inverse.

Mais techniquement, rien n'empêche de le faire, la seule raison valable serait la fraude donc aucun logiciel ne le propose, mais ça n'a rien de complexe.

zuiko

Citation de: egtegt² le Mars 11, 2020, 09:52:38
C'est un dialogue de sourd ;)

ça peut le devenir en effet.

Citation de: egtegt² le Mars 11, 2020, 09:52:38
Oui aucun logiciel du marché ne permet de modifier un RAW parce que ça n'a pas d'intérêt, au contraire. C'est un peu comme si en argentique tu t'amusais à modifier le négatif. Une fois que c'est fait, tu ne peux plus revenir en arrière. Et les RAW sont fait juste pour l'inverse.

Mais techniquement, rien n'empêche de le faire, la seule raison valable serait la fraude donc aucun logiciel ne le propose, mais ça n'a rien de complexe.

Je viens de démontrer, fichier à l'appui, que des logiciels Nikon, par le passé, modifiaient bien les fichiers RAW : les NEF. Ils utilisent des zones d'information du NEF pour stocker des ordres d'interprétation des données image qui, elles, restent probablement intactes.
Donc je poserais plutôt le postulat suivant :
- des logiciels sont capables de modifier les fichiers RAW (en tout cas ce fut vrai pour VNX2 et CNX2 concernant les NEF de NIkon), pour y ajouter des données d'interprétation de l'image et des données textuelles (EXIFs, localisation etc...).
- aucun logiciel ne modifie les données purement image contenues dans les fichiers RAW.

La plupart des logiciels actuels, y compris Nikon utilisent des fichiers side-car pour interpréter les données images et n'écrivent plus dans le fichier RAW lui-même. La raison en est d'une part le risque de casser le RAW, d'autre part la difficulté pour modifier un fichier au format propriétaire.

zuiko

Citation de: Stepbystep le Mars 11, 2020, 11:56:50
Un essai rapide que j'ai fait, c'est lorsque tu changes l'extension des nefs en tif, ils sont lus normalement. Donc, soit le nef est au final un tif avec quelques modifications, soit le logiciel ne tient pas compte de l'extension et fait une traduction à la volée. Pour le moment, je n'ai pas trop le temps de creuser.

Un essai rapide de mon côté :
- un NEF non modifié par CNX2 mais dont les exifs ont été enrichies sous VNX2 s'il est renommé en .TIF est toujours vu normalement par VNX2 (y compris les exifs) par contre CNX2 ne veut plus l'ouvrir... ("impossible de charger le fichier...")