Connect with us

IA 101

Qu’est-ce que la vision par ordinateur ?

mm

Qu’est-ce que la vision par ordinateur ?

Les algorithmes de vision par ordinateur sont l’un des systèmes d’intelligence artificielle les plus transformateurs et les plus puissants au monde, à l’heure actuelle. Les systèmes de vision par ordinateur sont utilisés dans les véhicules autonomes, la navigation des robots, les systèmes de reconnaissance faciale et bien plus encore. Cependant, qu’est-ce que les algorithmes de vision par ordinateur exactement ? Comment fonctionnent-ils ? Pour répondre à ces questions, nous allons plonger dans la théorie derrière la vision par ordinateur, les algorithmes de vision par ordinateur et les applications des systèmes de vision par ordinateur.

Comment fonctionnent les systèmes de vision par ordinateur ?

Pour apprécier pleinement le fonctionnement des systèmes de vision par ordinateur, prenons un moment pour discuter de la façon dont les humains reconnaissent les objets. La meilleure explication que la neuropsychologie a pour expliquer comment nous reconnaissons les objets est un modèle qui décrit la phase initiale de reconnaissance d’objets comme une phase où les composants de base des objets, tels que la forme, la couleur et la profondeur, sont interprétés par le cerveau en premier. Les signaux de l’œil qui entrent dans le cerveau sont analysés pour extraire les bords de l’objet en premier, et ces bords sont joints ensemble pour former une représentation plus complexe qui complète la forme de l’objet.

Les systèmes de vision par ordinateur fonctionnent de manière très similaire au système visuel humain, en discernant d’abord les bords d’un objet et en les joignant ensuite pour former la forme de l’objet. La grande différence est que, puisque les ordinateurs interprètent les images comme des nombres, un système de vision par ordinateur a besoin d’une façon d’interpréter les pixels individuels qui composent l’image. Le système de vision par ordinateur attribuera des valeurs aux pixels de l’image et, en examinant la différence de valeurs entre une région de pixels et une autre région de pixels, l’ordinateur peut discerner les bords. Par exemple, si l’image en question est en niveaux de gris, les valeurs iront de noir (représenté par 0) à blanc (représenté par 255). Un changement soudain dans la plage de valeurs de pixels près les uns des autres indiquera un bord.

Ce principe de base de comparaison des valeurs de pixels peut également être appliqué aux images en couleurs, avec l’ordinateur comparant les différences entre les différents canaux de couleurs RVB. Maintenant que nous savons comment un système de vision par ordinateur examine les valeurs de pixels pour interpréter une image, jetons un coup d’œil à l’architecture d’un système de vision par ordinateur.

Réseaux de neurones convolutionnels (CNN)

Le type principal d’IA utilisé dans les tâches de vision par ordinateur est basé sur les réseaux de neurones convolutionnels. Qu’est-ce qu’une convolution exactement ?

Les convolutions sont des processus mathématiques que le réseau utilise pour déterminer la différence de valeurs entre les pixels. Si vous imaginez une grille de valeurs de pixels, imaginez une petite grille se déplaçant sur cette grille principale. Les valeurs sous la deuxième grille sont analysées par le réseau, donc le réseau n’examine qu’un petit nombre de pixels à la fois. C’est souvent appelé la technique des « fenêtres glissantes ». Les valeurs analysées par la fenêtre glissante sont résumées par le réseau, ce qui aide à réduire la complexité de l’image et à faciliter l’extraction de modèles.

Les réseaux de neurones convolutionnels sont divisés en deux sections distinctes, la section convolutionnelle et la section entièrement connectée. Les couches convolutionnelles du réseau sont les extracteurs de caractéristiques, dont le rôle est d’analyser les pixels dans l’image et de former des représentations qui peuvent être apprises par les couches densément connectées du réseau de neurones. Les couches convolutionnelles commencent par examiner simplement les pixels et extraire les caractéristiques de base de l’image comme les bords. Les couches convolutionnelles ultérieures joignent les bords pour former des formes plus complexes. À la fin, le réseau aura espérément une représentation des bords et des détails de l’image qu’il peut transmettre aux couches entièrement connectées.

Annotation d’images

Bien qu’un réseau de neurones convolutionnel puisse extraire des modèles d’images par lui-même, la précision du système de vision par ordinateur peut être grandement améliorée en annotant les images. L’annotation d’images est le processus d’ajout de métadonnées à l’image qui aide le classificateur à détecter les objets importants dans l’image. L’utilisation de l’annotation d’images est importante chaque fois que les systèmes de vision par ordinateur doivent être très précis, comme lors de la conduite d’un véhicule autonome ou d’un robot.

Il existe diverses façons d’annoter des images pour améliorer les performances d’un classificateur de vision par ordinateur. L’annotation d’images est souvent effectuée avec des boîtes de délimitation, une boîte qui entoure les bords de l’objet cible et indique à l’ordinateur de se concentrer sur la boîte. La segmentation sémantique est un autre type d’annotation d’images, qui fonctionne en attribuant une classe d’image à chaque pixel de l’image. En d’autres termes, chaque pixel qui pourrait être considéré comme « herbe » ou « arbres » sera étiqueté comme appartenant à ces classes. La technique fournit une précision au niveau du pixel, mais la création d’annotations de segmentation sémantique est plus complexe et plus longue que la création de simples boîtes de délimitation. D’autres méthodes d’annotation, comme les lignes et les points, existent également.

Blogueur et programmeur avec des spécialités en Machine Learning et Deep Learning sujets. Daniel espère aider les autres à utiliser le pouvoir de l'IA pour le bien social.