SNT Photo Algo

Identification

Infoforall

6 - Important la photo ?


Nous avons vu qu'une image numérique n'est en fin de compte qu'une suite de nombres.

Nous allons voir aujourd'hui que la photographie que vous voyez sur votre smartphone n'a rien à voir en réalité avec une représentation juste et non modifiée des données captées initialement.

Pour obtenir une image exploitable ou "juste", de nombreux algorithmes sont à l'oeuvre pour permettre de produire une image.

Mais surtout, nous allons voir que la photographie numérique (et l'informatique) sont en train de transformer le monde, de la même façon que le Web (et l'information) ont transformés la communication, le commerce et la presse par exemple.

Documents de cours : open document ou pdf

Le contenu de cette page est (plus que) grandement inspirée d'une conférence de Gérard Berry. Vous pouvez retrouver :

1 - Dématriçage

Vous devriez vous souvenir que nous avions réalisé des images numériques en codant nous même les valeurs. Par exemple :

P3 9 7 255 150 200 0 150 0 200 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 150 200 0 150 0 200 255 255 255 160 210 0 160 0 210 255 255 255 255 255 255 255 255 255 150 200 0 150 0 200 255 255 255 255 255 255 255 255 255 170 220 0 170 0 220 255 255 255 150 200 0 150 0 200 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 150 200 0 150 0 200 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 150 200 0 150 0 200 255 255 255 150 200 0 150 0 200 255 255 255 255 255 255 255 255 255 150 200 0 150 0 200 255 255 255 255 255 255 255 255 255 150 200 0 150 0 200 255 255 255 150 200 0 150 0 200 255 255 255 255 255 255 255 255 255 255 255 255 255 255 255 150 200 0 150 0 200
Visuel provoqué par le fichier image3.ppm
Résultat image P3

Mais même avant traitement, l'appareil ne peut pas possèder de toutes les informations sur tous les pixels puisque les photosites sont munis soit d'un filtre rouge, soit d'un filtre vert, soit d'un filtre bleu.

Chaque photosite ne permet d'obtenir que l'information rouge ou l'information vert ou l'information bleu !

Les appareils photos enregistrent toutes les informations issus des capteurs et de l'appareil (avant modification) dans un fichier nommé raw. L'intérêt de ce fichier est justement d'être brut : les données n'ont pas encore subies de traitement et peuvent donc être traitées de façon différente.

Prenons l'exemple fictif de l'image ci-dessus analysée par un ensemble de 9x7 photosites. Imaginons que les filtres RGB soient répartis de cette façon

Imaginons maintenant qu'on veuille prendre une photo de l'image suivante :

Regardons maintenant l'activation des photosites.

Rappel : le blanc est la somme d'une lumière rouge et verte et bleue.

somme de
et
et

Image vue, photosites activables, photosites activés

Pour les photosites rouges :

255255
255255
255255
255255

Pour les photosites verts :

255255255
255255
255255255255
255255
255255
255255
255255

Pour les photosites bleus :

255255255255255

Si on recompose juste une image avec ces données, on obtient l'image suivante :

255

On ne peut pas dire que ce soit une réelle restitution de l'image initiale. Non ?

Le problème est que chaque zone ne peut ici être que rouge ou verte ou bleu.

Or, chaque pixel possède trois sous-pixels qu'on peut activer de 0 à 255.

Il faut donc falloir tenter de donner une intensité rouge aux pixels qui ne possèdent de filtres rouges, d'intensité verte aux pixels qui ne possèdent pas de filtre vert ...

Cette façon de trouver une valeur cohérente sur les zones que ne contiennent pas de valeurs directement enregistrées sur la couleur se nomme une interpolation.

Il existe différents algorithmes d'interpolation.

En voici un :

Interpolation par valeur moyenne
  • Si la zone ne possède pas de valeur verte, on fixe la valeur verte en faisant la moyenne des 4 valeurs vertes autour.
  • Si la zone est une zone rouge, on trouve la valeur bleue en faisant la moyenne des 4 valeurs bleues alentour.
  • Si la zone est une zone bleue, on trouve la valeur rouge en faisant la moyenne des 4 valeurs rouges alentour.
  • Si la zone est une zone verte,
    • on trouve la valeur de rouge en faisant la moyenne des 2 zones rouges autour
    • on trouve la valeur de bleue en faisant la moyenne des 2 zones bleues autour

Si on reprend notre image, l'application de l'algorithme précédent sur les 3 sous-couches R, G et B donne les intensités RGB suivantes :

  • 1 * 255 // 4 = 63
  • 2 * 255 // 4 = 127
  • 3 * 255 // 4 = 191

Pour l'intensité verte : (image de base puis intensités rouges interpolées)

255255255 25519125519125563
255255 191255255255191127
255255255 25525525525525563
255255 1272551912551271276312763
255255 636312763127127255191255
255255 63255255255191
255255 63127255191255

Pour l'intensité rouge dans les zones liées à un filtre vert, on fait la moyenne des deux photosites rouges autour du photosite vert : (image de base puis intensités rouges interpolées)

255255 127255255255127
255255
255255 127255255255127
255255
255255 127255255255127
255255
255255 127255255255127

Il reste à interpoler l'intensité rouge sur les zones correspondant à un filtre bleu; en prenant la moyenne des 4 photosites rouges autour : (image de base puis intensités rouges interpolées)

255255 127255255255127
127255255255127
255255 127255255255127
127255255255127
255255 127255255255127
127255255255127
255255 127255255255127

Pour l'intensité bleue dans les zones liées à un filtre vert, on regarde s'il y a 2 bleus, 1 bleu ou 0 bleu : (image de base puis intensités bleues interpolées)

127127127127127
255255255255255 255255255255255255255255255
127127127127127

Il reste à interpoler l'intensité bleue sur les zones correspondant à un filtre rouge; en prenant la moyenne des 4 photosites bleus autour : (image de base puis intensités bleues interpolées)

127127127127127127127127127
255255255255255 255255255255255255255255255
127127127127127127127127127

Il reste maintenant à recomposer l'image en utilisant les valeurs des sous-couches R, G et B sur les trois sous-pixels de chaque pixel

127255255255127
127255255255127
127255255255127
127255255255127
127255255255127
127255255255127
127255255255127

25519125519125563
191255255255191127
25525525525525563
1272551912551271276312763
636312763127127255191255
63255255255191
63127255191255

127127127127127127127127127
255255255255255255255255255
127127127127127127127127127

Il reste alors simplement à créer les pixels. Par exemple, le dernier pixel en bas à droite aura une intensité rouge de 127, vert de 255 et bleu de 127.

Voici l'image reconstituée après avoir interpolé les valeurs inconnues

Pour rappel, voici la chose que nous avons voulu photographié

Voici les données RAW obtenues sur les photosites :

255

Et voici l'image qu'on peut tenter de reconstituer sur la base de ces données incomplètes de la réalité avec notre méthode d'interpolation :

Le problème ici est bien entendu qu'on manque de photosites par rapport à la taille de l'image.

Voici un exemple réel de visualisation des données RAW après un dématriçage :

Visuel zoomé sur un contenu raw
Exemple de RAW

Attention, cette opération de dématriçage peut créer des artefacts sur l'image. La qualité de l'algorithme est ici fondamentale pour éviter ceci :

Image contenant un artefact, ici un moiré
Exemple de moiré, artefact visuel lors du dématriçage

2 - Problème de la distortion optique

L'optique de l'appareil photo pose également un problème physique. La plupart du temps, l'objectif est rond par exemple. Comment parvenir à obtenir une image rectangulaire à partir d'une lumière traversant un objectif rond ?

Distorsion caricaturale en barillet
Distorsion caricaturale en barillet - CC BY 2.0 - Josef F. Stuefer de Europe — Flickr

Or, c'est à partir de ces données qu'on va parvenir à obtenir une image affichée rectangulaire. Vous l'imaginez, il a fallu faire des choix et l'image affichée n'est donc pas l'exacte vérité.

Voici une image un peu moins déformée

Distorsion
Distorsion - CC BY 2.0 - Ángel — Edificio Duque de Lerma

Le principe est simple sur le papier : connaissant les défauts de l'optique, créer un algorithme qui va travailler sur les données pour tenter de retrouver les vraies positions et dimensions des "pixels".

Voici une courte explication physique du phénomène :

  • La lumière issue des objets réels passe à travers un diaphragme puis une lentille
  • ou la lumière passe d'abord par une lentille puis par un diaphragme
  • ou on divise la lentille en deux pour placer le diaphragme au milieu
800px-Lens_distorsion.svg.png
Distorsion - CC BY-SA 3.0 - Nicoguaro sur Wikipedia — Travail personnel

On pourrait croire sur le papier que la troisième solution permet de totalement faire disparaitre les défauts de distortion. Il s'agit en réalité d'une bonne solution physique sur le papier mais il est impossible d'avoir réellement une telle symétrie. En réalité, l'image se rapproche mais contient néanmoins des défauts.

Depuis quelques années, la solution est donc de ne pas tenter de corriger le défaut physiquement mais de le corriger informatiquement : connaissant la nature des défauts, on est capable d'obtenir graçe à un algorithme ce que devrait être l'image observée réelle.

Attention : l'image obtenue n'est donc pas l'image réelle mais simplement une représentation obtenue à partir de l'image stockée initialement dont on connait les défauts.

A titre d'exemple, voici une image (déjà bien transformée) avant l'application de l'algorithme visant à contrer les défauts liés aux distortions :

image_deformee.jpg
Avant application de l'algorithme - Photo séminaire 2008 de F. Guichard

Après application du programme de redressement de l'image :

image_transformee.png
Après application de l'algorithme - Photo séminaire 2008 de F. Guichard

Ce n'est pas encore néanmoins ce que percevrait un humain visualisant la scène. On peut encore laisser un algorithme agir, un algorithme gérant la perspective.

image_perspective.jpg
Gestion de la perspective - Photo séminaire 2008 de F. Guichard

En réalité, les photos montrent également les effets d'autres algorithmes agissant en même temps que les deux précédents : vous pourriez constater qu'il y a eu également une gestion du flou, des intensités lumineuses et des couleurs !

En conclusion, on notera bien que les images visualisées ne sont pas le reflet exact de ce que l'appareil a mémorisé. Il y a tout un tas de traitements et corrections algorithmiques avant d'obtenir le résultat visualisé.

Nous n'allons pas faire un inventaire de tous les algorithmes présents lorsqu'on appuie sur l'appareil.

Retenez déjà que l'image visualisée n'est certainement pas le résultat brut de données enregistrées sur l'appareil.

L'appareil possède ainsi des algorithmes qui gèrent la luminosité, la balance des blancs, la netteté ...

D'ailleurs, le bruit ne correspond plus à une prise de vue mais au lancement des algorithmes de restitution.

Chacune de vos photos est ainsi le résultat d'un ensemble de photos sur lequel on a réalisé des moyennes, pour améliorer le rendu et faire disparaitre les tremblements...

3 - Focus Stacking

Voici un exemple de prise de vue impossible à faire physiquement : regardons cette mouche

Photo de mouche
Mouche

Cette image est totalement nette.

Or, c'est impossible avec un appareil photo : soit on a une image nette du premier plan, soit on a une image nette de l'arrière plan.

Alors, comment fait l'appareil photo ?

Il triche !

Le principe du Focus Stacking est de prendre plusieurs photos avec différents réglages de façon à avoir une image nette de l'avant, une image nette de l'arrière et des images intermédiaires.

Ensuite, un algorthime se charge de ne garder que les parties nettes de chaque image.

FOCUS STACKING
Focus stacking
  • La première image permet d'avoir la tête de la mouche de façon nette
  • Le deuxième image permet d'avoir l'arrière des ailes nette
  • La troisième image est l'image affichée sur l'appareil : une composition algorithmique de 8 images en partie floue !

4 - L'informatique : un facteur de domination

Nous avons vu avec la partie Web que l'informatique a révolutionné le secteur de la communication, du commerce et du partage de données. En quelques décennies, le Web est parvenu à remplacer les médias classiques et bouleverses totalement la donne : télévision, presse papier...

C'est exactement le même principe avec la photographie numérique.

Commençons par une image que vous avez certainement vue : cette première image d'un trou noir :

Image du trou noir
Représentation du trou noir par l'IA

Beaucoup de personnes pensent qu'il s'agit d'une vraie image. Ce n'est clairement pas cela : on a donné tout un tas de données à un programme (une Intelligence Articielle) spécialisé dans la suppression des défauts et des parasites. Les données recueillies concernent également d'autres choses que le domaine visible. Cette IA a alors travaillé et fourni l'image de l'objet qui peut être responsable des données reçues. On peut donc affirmer que si on observait le trou noir, on verrait ceci. Mais ce n'est pas une image directe du trou noir. Il s'agit du résultat d'un traitement informatique.

En parlant des IA, il est maintenant assez facile d'identifier quelqu'un sur une image. Une photographie est finalement plus une preuve d'identité qu'un bout de papier. D'où la nécessité de faire attention à ses images, notamment sur le Web.

Est-il vraiment malin de donner à Google Photos les noms de gens dont les visages apparaissent sur vos photos ? C'est pratique pour faire des recherches oui. Mais Google récupère tout. Et connait donc le visage de tout le monde. Grace à vous. Et en plus c'est gratuit. Rassurez-vous, on trouve la même chose chez Apple...

Image d'identification via un visage
Image recupérée sur la page suivante : https://www.dad3zero.net/201505/apple-photos-reconnaissance-personnes-visages/

A partir de là, on peut sans problème demander à un ordinateur d'identifier cette personne sur d'autres photos. On sera donc avec qui cette personne parle, travaille... Autant c'était long à faire au temps du KGB lors de la Guerre Froide, autant c'est rapide maintenant puisque le traitement de l'information est ... informatisée.

Et peut-on lutter contre cela ?

Elément de réponse avec cette photo haute définition réalisée par une société chinoise à Shanghai :

Imade HD shangai
195 milliards de pixels pour cette image de Shanghai créée par la société chinoise BIG PIXEL

L'image est disponible ici (mais on y récupère vos données personnelles, attention) : http://www.bigpixel.cn

On peut zoomer et voir la tête des personnes :

Imade HD shangai
Un zoom sur l'un des points de l'image précédente

Ce système ou une multitude de caméras de surveillance et on obtient le système chinois, où les gens sont surveillés, notés et évalués en direct et en permanence.

Image haute résolution + capacité de calculs veut alors dire qu'on peut faire cela en temps réel sur une vidéo. Si on rajoute une IA comportementale, on finit par pouvoir estimer la dangerosité d'une personne en analysant les vidéos de toute une ville...

Identification et estimation
Tiré de la série Person of Interest

Il y a quelques années, c'était encore de la science fiction, mais la généralisation des caméras HD associées à des IA de reconnaissance faciale montre bien que le monde de la surveillance n'est plus du tout le même qu'il y a quelques années.

Toujours tenté de montrer votre tête dans une application gratuite de communication vidéo ?

Finissons avec encore autre chose : la création ou la modification de vidéo.

Une société a montré qu'elle était parvenue à créer un ensemble d'IA capables de générer des visages de personnes qui n'existent pas : this person does not exist

thispersondoesnotexist.com
Tiré de https://thispersondoesnotexist.com/

Attention donc : une photo ne prouve plus l'existence de quelqu'un. Bientôt les vidéos ?

Lorsqu'on voit les progrès réalisés dans le monde du jeu vidéo, on voit bien qu'il devient délicat de faire confiance à une simple vidéo. Peut-on encore dire qu'une vidéo permet d'enfermer quelqu'un sachant qu'on peut les modifier voir les créer ? Qui peut faire la différence ?

Un dernier exemple : une IA parvient à modifier une vidéo en faisant dire autre chose aux personnes. Cette technique se nomme Deepfake.

Sur la vidéo suivante, des chercheurs présentent un logiciel qui permet d'éditer le discours d'une vidéo.

Le lien vers cette vidéo (Youtube, désolé) https://youtu.be.

Un exemple très connu et très clair sur les dérives possibles : https://youtu.be

Cette partie vise à vous montrer que l'informatique est beaucoup plus présente que vous ne le pensiez dans la vie de tous les jours.

Ainsi, l'appareil photo numérique n'est pas simplement un appareil photo classique dans lequel les données sont enregistrés sous forme numérique. Non.

Ces appareils sont devenus plus des concentrés d'algorithmie que de technologie.

En quelques dizaines d'années, la photographie numérique a mis à terre la photographie classique. En même temps que les industries qui n'ont pas réussi à prendre le virage du numérique.

Comprendre les enjeux du numérique est donc fondamental au 21e siècle.

Activité publiée le 18 12 2019
Dernière modification : 11 12 2020
Auteur : ows. h.