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

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 :

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

AB
CD

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 :

AB
CD

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 :

AB
CD

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.

somme de
et
et

Voici l'image réelle, la position des photosites R et les valeurs détectées pour le rouge :

255255
255255
255255
255255

Voici l'image réelle, la position des photosites V et les valeurs détectées pour le vert :

255255255
255255
255255255255
255255
255255
255255
255255

Voici l'image réelle, la position des photosites B et les valeurs détectées pour le bleu :

255255255255255

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

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

Pour les intensités rouges interpolées :

255255 127255255255127
127255255255127
255255 127255255255127
127255255255127
255255 127255255255127
127255255255127
255255 127255255255127

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

Pour le pixel en bas à gauche, on a ainsi : R:127 G:255 B:127

Si RGB correspond à
et
et
, on obtient

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 :

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

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

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 !

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é
  • la moyenne d'un ensemble de photos,
  • les tremblements...

D'ailleurs, le bruit lorsqu'on appuie sur le bouton n'est là que pour donner l'illusion que tout se passe à ce moment, alors que l'appareil filme constamment et que ce bruit n'est là que pour faire plaisir à l'utilisateur.

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

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