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 :
- Son slide sur https://www.college-de-france.fr/site/gerard-berry/course-2018-01-31-16h00.htm
- La vidéo de la conférence à LILLIAD, Campus Université Lille
- ou en lecture sur youtube
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

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.
Image vue, photosites activables, photosites activés
Pour les photosites rouges :
255 | 255 | |||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 |
Pour les photosites verts :
255 | 255 | 255 | ||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 | 255 | 255 | |||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 |
Pour les photosites bleus :
255 | 255 | 255 | 255 | 255 | ||||||||||||||||||||||
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 ...
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)
255 | 255 | 255 | 255 | 191 | 255 | 191 | 255 | 63 | |||||||||
255 | 255 | 191 | 255 | 255 | 255 | 191 | 127 | ||||||||||
255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 63 | |||||||||
255 | 255 | 127 | 255 | 191 | 255 | 127 | 127 | 63 | 127 | 63 | |||||||
255 | 255 | 63 | 63 | 127 | 63 | 127 | 127 | 255 | 191 | 255 | |||||||
255 | 255 | 63 | 255 | 255 | 255 | 191 | |||||||||||
255 | 255 | 63 | 127 | 255 | 191 | 255 |
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)
255 | 255 | 127 | 255 | 255 | 255 | 127 | |||||||||||
255 | 255 | ||||||||||||||||
255 | 255 | 127 | 255 | 255 | 255 | 127 | |||||||||||
255 | 255 | ||||||||||||||||
255 | 255 | 127 | 255 | 255 | 255 | 127 | |||||||||||
255 | 255 | ||||||||||||||||
255 | 255 | 127 | 255 | 255 | 255 | 127 |
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)
255 | 255 | 127 | 255 | 255 | 255 | 127 | |||||||||||
127 | 255 | 255 | 255 | 127 | |||||||||||||
255 | 255 | 127 | 255 | 255 | 255 | 127 | |||||||||||
127 | 255 | 255 | 255 | 127 | |||||||||||||
255 | 255 | 127 | 255 | 255 | 255 | 127 | |||||||||||
127 | 255 | 255 | 255 | 127 | |||||||||||||
255 | 255 | 127 | 255 | 255 | 255 | 127 |
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)
127 | 127 | 127 | 127 | 127 | |||||||||||||
255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | ||||
127 | 127 | 127 | 127 | 127 |
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)
127 | 127 | 127 | 127 | 127 | 127 | 127 | 127 | 127 | |||||||||
255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | ||||
127 | 127 | 127 | 127 | 127 | 127 | 127 | 127 | 127 |
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
127 | 255 | 255 | 255 | 127 | ||||
127 | 255 | 255 | 255 | 127 | ||||
127 | 255 | 255 | 255 | 127 | ||||
127 | 255 | 255 | 255 | 127 | ||||
127 | 255 | 255 | 255 | 127 | ||||
127 | 255 | 255 | 255 | 127 | ||||
127 | 255 | 255 | 255 | 127 |
255 | 191 | 255 | 191 | 255 | 63 | |||
191 | 255 | 255 | 255 | 191 | 127 | |||
255 | 255 | 255 | 255 | 255 | 63 | |||
127 | 255 | 191 | 255 | 127 | 127 | 63 | 127 | 63 |
63 | 63 | 127 | 63 | 127 | 127 | 255 | 191 | 255 |
63 | 255 | 255 | 255 | 191 | ||||
63 | 127 | 255 | 191 | 255 |
127 | 127 | 127 | 127 | 127 | 127 | 127 | 127 | 127 |
255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 | 255 |
127 | 127 | 127 | 127 | 127 | 127 | 127 | 127 | 127 |
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 :

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 :

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 ?

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

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

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 :

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

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.

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é.
3 - Focus Stacking
Voici un exemple de prise de vue impossible à faire physiquement : regardons cette 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.

- 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 :

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...

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 :

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 :

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...

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

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
Activité publiée le 18 12 2019
Dernière modification : 11 12 2020
Auteur : ows. h.