Intelligence Artificielle

Reconnaissance Image Définition

Reconnaissance Image définition

La première question que vous vous posez peut-être est de savoir quelle est la différence entre la vision par ordinateur et la reconnaissance d’images. En effet, la vision par ordinateur a été vigoureusement développée par Google, Amazon et de nombreux développeurs d’IA, et les deux termes « vision par ordinateur » et « reconnaissance d’images » peuvent avoir été utilisés de manière interchangeable. La vision par ordinateur (CV) consiste à laisser un ordinateur imiter la vision humaine et agir. Par exemple, la CV peut être conçue pour détecter un enfant qui court sur la route et produire un signal d’avertissement pour le conducteur. En revanche, la reconnaissance d’images consiste à analyser les pixels et les formes d’une image pour reconnaître l’image comme un objet particulier. La vision par ordinateur signifie qu’elle peut « faire quelque chose » avec les images reconnues. Comme je décrirai dans ce billet les techniques de machine learning pour la reconnaissance d’images, j’utiliserai toujours le terme « reconnaissance d’images ».

J’ai écrit un autre billet intitulé « Convolutional Autoencoders for Image Noise Reduction ». Dans cet article, je donne une introduction douce pour les données d’image et j’explique pourquoi les auto-codeurs convolutionnels sont la méthode préférée pour traiter les données d’image. N’hésitez pas à le consulter si vous êtes intéressé !

Qu’est-ce que la reconnaissance d’images ?

Comme le dit la phrase « Ce que vous voyez est ce que vous obtenez », le cerveau humain facilite la vision. Il n’est pas nécessaire de faire un effort pour distinguer un chien, un chat ou une soucoupe volante. Mais ce processus est assez difficile à imiter pour un ordinateur : il ne semble facile que parce que Dieu conçoit notre cerveau incroyablement doué pour reconnaître les images. Un exemple courant de reconnaissance d’images est la reconnaissance optique de caractères (OCR). Un scanner peut identifier les caractères de l’image pour convertir les textes d’une image en un fichier texte. Avec le même procédé, l’OCR peut être appliquée pour reconnaître le texte d’une plaque d’immatriculation dans une image.

Puisque vous vous intéressez à la reconnaissance d’images, je vous encourage à jeter un coup d’œil à cette vidéo intéressante :

Comment fonctionne la reconnaissance d’images ?

Comment former un ordinateur à distinguer une image d’une autre image ? Le processus d’un modèle de reconnaissance d’image n’est pas différent du processus de modélisation par machine learning. J’énumère le processus de modélisation pour la reconnaissance d’images dans les étapes 1 à 4.

Modélisation Étape 1 : Extraire les caractéristiques des pixels d’une image

Image for post

Image for post

Figure (A)
Tout d’abord, un grand nombre de caractéristiques, appelées traits, sont extraites de l’image. Une image est en fait constituée de « pixels », comme le montre la figure (A). Chaque pixel est représenté par un nombre ou un ensemble de nombres – et la plage de ces nombres est appelée la profondeur de couleur (ou profondeur de bits). En d’autres termes, la profondeur de couleur indique le nombre maximum de couleurs potentielles qui peuvent être utilisées dans une image. Dans une image (8 bits) en niveaux de gris (noir et blanc), chaque pixel a une valeur qui va de 0 à 255. La plupart des images utilisent aujourd’hui des couleurs de 24 bits ou plus. Une image en couleur RVB signifie que la couleur d’un pixel est la combinaison du rouge, du vert et du bleu. Chacune de ces couleurs a une valeur comprise entre 0 et 255. Ce générateur de couleurs RVB montre comment n’importe quelle couleur peut être générée par RVB. Ainsi, un pixel contient un ensemble de trois valeurs RGB(102, 255, 102) se réfère à la couleur #66ff66. Une image de 800 pixels de large, 600 pixels de haut a 800 x 600 = 480 000 pixels = 0,48 mégapixels (« mégapixel » est 1 million de pixels). Une image d’une résolution de 1024×768 est une grille de 1 024 colonnes et 768 lignes, qui contient donc 1 024 × 768 = 0,78 mégapixels.

Modélisation Étape 2 : Préparer des images étiquetées pour former le modèle

Image for post

Figure (B)
Une fois que chaque image est convertie en milliers de caractéristiques, avec les étiquettes connues des images, nous pouvons les utiliser pour former un modèle. La figure (B) montre de nombreuses images étiquetées qui appartiennent à différentes catégories telles que « chien » ou « poisson ». Plus nous pouvons utiliser d’images pour chaque catégorie, mieux un modèle peut être entraîné à dire à une image si c’est une image de chien ou de poisson. Dans ce cas, nous connaissons déjà la catégorie à laquelle appartient une image et nous l’utilisons pour entraîner le modèle. C’est ce qu’on appelle le « machine learning » supervisé.

Modélisation Étape 3 : Entraîner le modèle à catégoriser les images

Image for post

Image for post

Figure (C)
La figure (C) montre comment un modèle est entraîné avec les images pré-étiquetées. Les énormes réseaux au milieu peuvent être considérés comme un filtre géant. Les images dans leurs formes extraites entrent du côté de l’entrée et les étiquettes sont du côté de la sortie. L’objectif est de former les réseaux de telle sorte qu’une image avec ses caractéristiques provenant de l’entrée corresponde à l’étiquette de droite.

Étape de modélisation 4 : Reconnaître (ou prédire) qu’une nouvelle image fait partie des catégories

Une fois qu’un modèle est formé, il peut être utilisé pour reconnaître (ou prédire) une image inconnue. La figure (D) montre qu’une nouvelle image est reconnue comme une image de chien. Notez que la nouvelle image passera également par le processus d’extraction des caractéristiques des pixels.

Image for post

Image for post

Convolution Neural Networks – l’algorithme de reconnaissance d’images

Les réseaux de la figure (C) ou (D) ont laissé entendre que les modèles les plus populaires sont des modèles de réseaux neuronaux. Les Convolution Neural Networks (CNNs ou ConvNets) ont été largement appliqués dans la classification d’images, la détection d’objets ou la reconnaissance d’images.

Une explication en douceur des Convolution Neural Networks

Je vais utiliser les images des chiffres de l’écriture manuscrite du MNIST pour expliquer les CNN. Les images du MNIST sont des images en noir et blanc de forme libre pour les chiffres de 0 à 9. Il est plus facile d’expliquer le concept avec l’image en noir et blanc car chaque pixel n’a qu’une seule valeur (de 0 à 255) (notez qu’une image en couleur a trois valeurs dans chaque pixel).

La couche réseau des CNN est différente des réseaux de neurones typiques. Il existe quatre types de couches : la convolution, les ReLU, la mise en commun et les couches entièrement connectées, comme le montre la figure (E). Que fait chacun des quatre types de couches ? Laissez-moi vous expliquer.

Image for post

Image for post

  1. Convolution layer

Now we split the smaller filtered images and stack them into a single list, as shown in Figure (I). Each value in the single list predicts a probability for each of the final values 1,2,…, 0. This part is the same as the output layer in the typical neural networks. In our example, “2” receives the highest total score from all the nodes of the single list. So CNNs recognizes the original hand-writing image as “2”.

What is the difference between CNNs and the typical NNs?

The typical neural networks stack the original image into a list and turn it to be the input layer. The information between neighboring pixels may not be retained. In contrast, CNNs construct the convolution layer that retains the information between neighboring pixels.

Image for post

Image for post

Are there any pre-trained CNNs code that I can use?

Yes. If you are interested in learning the code, Keras has several pre-trained CNNs including XceptionVGG16VGG19ResNet50InceptionV3InceptionResNetV2MobileNetDenseNetNASNet, and MobileNetV2. It’s worth mentioning this large image database ImageNet that you can contribute or download for research purposes.

Business Applications

Image recognition has wide applications. In the next Module, I will show you how image recognition can be applied to claim to handle in insurance.

Ecrire un commentaire