La vision est l'un de nos sens les plus puissants. Un coup d'œil à une personne nous permet d'identifier son visage, son humeur, ses gestes. Un regard sur une scène urbaine nous permet de reconnaître les voitures, les piétons, les feux de circulation. Nous faisons cela instantanément et sans effort conscient. Pour les ordinateurs, c'est une tâche monumentalement complexe. La vision par ordinateur (Computer Vision) est le secteur de l'IA qui vise à donner aux machines cette capacité: voir, analyser, et interpréter le monde visuel.
Qu'est-ce que la vision par ordinateur ?
La vision par ordinateur est une branche de l'IA qui se concentre sur la compréhension automatique des images et des vidéos. Elle va au-delà de simplement voir : elle implique de reconnaître des objets, de détecter des caractéristiques, de segmenter des images en régions significatives, et d'extraire des insights du contenu visuel.
Les applications vont de la reconnaissance faciale (sécurité, photography) à la conduite autonome (détecter les piétons, les feux de circulation, les obstacles), en passant par la radiologie (déterminer les tumeurs) et l'agriculture (évaluer la santé des cultures).
Comment les ordinateurs voient-ils les images
La représentation numérique
Quand vous regardez une photo, vous voyez des formes, des couleurs, des textures. L'ordinateur, lui, voit des nombres. Une image numérique est une grille (ou matrice) de petits carrés appelés pixels. Chaque pixel a trois valeurs : intensité du rouge (R), du vert (G), et du bleu (B), chacune entre 0 et 255. Une image de 1000×1000 pixels contient 1 million de pixels, soit 3 millions de nombres. Une image en couleur n'est donc qu'une très grande matrice de nombres.
De bas niveau vers haut niveau
Pour reconnaître une voiture dans une image, un système de vision par ordinateur doit construire une compréhension progressive :
- Bas niveau : Détecter les bords, les coins, les transitions de couleur.
- Niveau intermédiaire : Combiner ces éléments simples en formes : rectangles, cercles (pneus de la voiture).
- Haut niveau : Reconnaître des concepts complexes : c'est une voiture. C'est une voiture rouge. C'est probablement une Tesla Model 3.
C'est exactement ce que les réseaux de neurones convolutifs (CNN) font : chaque couche successively détecte des motifs plus complexes.
Techniques principales de la vision par ordinateur
Classification d'images
La tâche la plus basique : donner un label à une image entière. « Cette image est un chat. » Les réseaux de neurones profonds entraînés sur des millions d'images peuvent classifier avec une précision surhumaine. ImageNet, un database de 14 millions d'images étiquetées, a propulsé cette tâche.
Détection d'objets
Non seulement identifier qu'une image contient des voitures, mais dire où elles sont. Le système retourne une boîte englobante autour de chaque voiture. C'est essentiel pour les voitures autonomes, les systèmes de surveillance, et les applications robotiques.
Segmentation sémantique
Chaque pixel de l'image est étiqueté avec sa classe. Un système de segmentation pour les voitures autonomes pourrait étiqueter chaque pixel comme « route », « trottoir », « voiture », « piéton », « ciel », etc. C'est bien plus précis que des boîtes englobantes.
Reconnaissance faciale
Détecter les visages, reconnaître qui ils sont, extraire les expressions faciales. C'est utilisé pour l'authentification biométrique, les systèmes de surveillance, les applications photos. Cependant, la reconnaissance faciale soulève des préoccupations importantes concernant la vie privée et le biais.
Analyse de vidéo
Les vidéos sont essentiellement une séquence d'images. La vision par ordinateur pour les vidéos détecte non seulement les objets à chaque frame, mais suit aussi leurs mouvements au fil du temps. Utile pour les sports analytics, la surveillance, le tracking.
Reconstruction 3D
À partir de plusieurs images 2D, reconstituer la forme 3D d'un objet. Cela implique une mathématique complexe. Les applications incluent la modélisation architecturale, la création d'effets spéciaux au cinéma, et même la chirurgie robotique.
Applications réelles de la vision par ordinateur
Santé et médecine
Les radiologues diagnostiquent les cancers en analysant les radiographies et IRM. Les systèmes de vision par ordinateur peuvent analyser ces images aussi bien, voire mieux, que les humains. Ils détectent les tumeurs, identifient les fractures, et peuvent prédire l'évolution de maladies.
Voitures autonomes
Une voiture autonome utilise un système de vision par ordinateur (caméras, lidar, radar) pour comprendre son environnement en temps réel : localiser les piétons, lire les panneaux de circulation, maintenir une trajectoire. Des entreprises comme Tesla, Waymo, et Cruise investissent massivement.
Retail et commerce
Les magasins utiliser la vision par ordinateur pour surveiller les stocks (y-a-t-il assez de produits sur l'étagère ?), compter les clients, analyser les comportements d'achat. Certains magasins « sans caisse » utilisent la vision pour reconnaître les articles et facturer automatiquement.
Agriculture
Les drones avec caméras surveyent les champs et détectent les maladies des plantes, les mauvaises herbes, et les zones mal arrosées. Cela permet une agriculture de précision, réduisant l'usage de pesticides et optimisant les rendements.
Sécurité
Les systèmes de reconnaissance faciale et de détection d'anomalies utilisent la vision par ordinateur pour surveiller les aéroports, les banques, et les rues. Cela améliore la sécurité mais soulève aussi des questions d'éthique et de liberté (voir notre article sur l'éthique de l'IA).
Photographie et édition
Certains appareils photographiques modernes utilisent la vision pour améliorer automatiquement les photos (enlever les yeux rouges, ajouter de la profondeur). Les outils d'édition comme Photoshop utilisent la vision par ordinateur pour des tâches comme la suppression d'objets.
Défis et questions ouvertes
Malgré les progrès remarquables, la vision par ordinateur fait face à des défis :
Robustesse
Un système peut classifier parfaitement les images sur l'ensemble d'entraînement mais échouer sur de vraies images du monde réel. Les conditions d'éclairage différentes, les angles inattendus, et les variations mineures peuvent tromper les systèmes.
Biais
Si un système de reconnaissance faciale est entraîné principalement sur des visages caucasiens, il performera moins bien sur d'autres groupes ethniques. C'est une source grave d'inégalité.
Adversarial examples
Des perturbations minuscules et imperceptibles aux pixels peuvent faire échouer un système de vision très sophistiqué. Un chercheur a créé des lunettes qui trompent les systèmes de reconnaissance faciale. C'est une vulnérabilité importante.
Explicabilité
Pourquoi le système a-t-il identifié cet objet comme une voiture et pas un camion ? Contrairement aux systèmes basés sur des règles explicites, les réseaux de neurones sont des boîtes noires.