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
Un exemple parmi tant d'autres :
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
Avant traitement, l'appareil ne possède toutes les informations sur photosites puisque les photosites sont munis
- soit d'un filtre rouge qui permet de savoir si on a reçu du rouge sur cette zone, mais on ne dispose donc d'aucune information sur le vert ou le bleu,
- soit d'un filtre vert qui permet de savoir si on a reçu du vert sur cette zone, mais on ne dispose donc d'aucune information sur le rouge ou le bleu,
- soit d'un filtre bleu qui permet de savoir si on a reçu du bleu sur cette zone, mais on ne dispose donc d'aucune information sur le vert ou le rouge.
Imaginons que les filtres RGB soient répartis de cette façon
A | B | |||||||
C | D | |||||||
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.
Imaginons maintenant qu'on veuille prendre une photo de l'image réelle suivante :
A | B | |||||||
C | D | |||||||
Le photosite vert A est éclairé par une lumière verte qu'il peut détecter.
Le photosite rouge B est éclairé par une lumière rouge qu'il peut détecter.
Le photosite bleu C est éclairé par une lumière verte qu'il ne peut pas détecter !
Le photosite vert D est éclairé par une lumière rouge qu'il ne peut pas détecter !
Voici les informations obtenues sur les 4 sites A, B, C et D :
A | B | |||||||
C | D |
Comme vous pouvez le voir, on a perdu une grande partie des informations du monde réelle puisqu'on pourrait croire que les photosites bleu C et vert D n'ont reçu aucune couleur. C'est faux, mais c'est ce qui est mémorisé !
Rappel : le blanc est la somme d'une lumière rouge et verte et bleue.
Voici l'image réelle, la position des photosites R et les valeurs détectées pour le rouge :
255 | 255 | |||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 |
Voici l'image réelle, la position des photosites V et les valeurs détectées pour le vert :
255 | 255 | 255 | ||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 | 255 | 255 | |||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 | |||||||||||||||||||||||||
255 | 255 |
Voici l'image réelle, la position des photosites B et les valeurs détectées pour le bleu :
255 | 255 | 255 | 255 | 255 | ||||||||||||||||||||||
Si on ramène les informations des 3 types de photosites sur une seule grille, voici les données que nous sommes parvenus à récupérer de l'image réelle :
255 | ||||||||
Il s'agit de la représenttion des données réellement connues de façon certaine. Les données stockées ne sont donc pas une restitution fidèle de l'image réelle !
Il faut donc trouver un moyen de
- donner une intensité rouge imaginaire mais réaliste aux zones qui ne possèdent pas de filtres rouges;
- donner une intensité verte imaginaire mais réaliste aux zones qui ne possèdent pas de filtre vert;
- donner une intensité bleue imaginaire mais réaliste aux zones qui ne possèdent pas de filtre bleu;
Il existe différents algorithmes d'interpolation.
En voici une :
Interpolation par valeur moyenne
- Si la zone est une zone R
- on lui donne une valeur V valant la moyenne des 4 V qui l'entourent
- on lui donne une valeur B valant la moyenne des 4 B qui l'entourent
- Si la zone est une zone B
- on lui donne une valeur V valant la moyenne des 4 V qui l'entourent
- on lui donne une valeur R valant la moyenne des 4 R qui l'entourent
- Si la zone est une zone V
- on lui donne une valeur R valant la moyenne des 2 R qui l'entourent
- on lui donne une valeur B valant la moyenne des 2 B qui l'entourent
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 les intensités vertes 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 les 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 les 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.
Pour le pixel en bas à gauche, on a ainsi : R:127 G:255 B:127
Voici l'image reconstituée en utilisant les triplets RGB interpolés sur chaque pixel :
Bien entendu, nous avons un peu de mal ici à retrouver notre "drapeau" mais c'est parce que l'image est vraiment en très basse résolution. En aggrandissant un peu la taille, on retrouve un peu plus l'image originale :
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 taille des photosites par rapport à la taille d'une image :

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 distorsion 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 distorsion. 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 contiendrait néanmoins encore des défauts à cause de la difficulté de couper réellement parfaitement droit et en deux exactement.
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.
Conclusion : l'image obtenue sur votre smartphone n'est pas l'image réelle mais simplement une création numérique obtenue à partir des données incomplètes obtenues par les photosites et corrigées pour toujours compte des défauts du système optique.
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 distorsions :

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 !
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 Artificielle) 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.