Le deep learning et la reconnaissance d'image.
Avec la quantité d’images qui s’accumulent sur internet, les scientifiques qui travaillaient dans le domaine de la vision par ordinateur ont saisi l’opportunité d’utiliser toutes ces bases de données pour créer des modèles de reconnaissance d’image. Les performances de la reconnaissance d’image ont explosé avec l’arrivée du deep learning.
Vous pouvez également consulter les articles suivants :
Un modèle de réseaux de neurones profond est capable aujourd’hui de reconnaître chaque élément d’une scène pourvu qu’il ait été entraîné pour cela. À partir de la sémantique de cette reconnaissance, un réseau de neurone profond peut même générer une légende à cette scène.
Par exemple, aujourd’hui il est assez courant de pouvoir obtenir le résultat suivant automatiquement :
Une fois que l’ordinateur a identifié tous les éléments de la scène ci-dessus, il sera capable de dire en sortie : «Il y a une corbeille de fruits et légumes sur fond blanc. Dans la corbeille il y a 2 tomates, une aubergine et 3 poivrons.». A partir de ces observations, beaucoup de données sont exploitables, le nombre de fruits, le nombre de légumes, la taille du panier etc.
Ce qui est important et révolutionnaire ce n'est pas le faite de savoir combien de tomates il y a dans un panier mais la compréhension d'une scène.
Les voitures autonomes utilisent ce principe.
Les voitures autonomes ont besoin de comprendre ce qui se passe autours d’elles et en temps réelle. Pour cela l’utilisation de réseaux de neurones est requis. La voiture analyse chaque scène qui l’entoure et cela plusieurs fois par seconde et ainsi elle est capable d’anticiper des besoins, par exemple elle reconnaîtra la présence d’un piéton sur sa trajectoire (ou sur la chaussée), la présence d’un feu tricolore, d’un panneau de signalisation, de la chaussée etc...cela est rendu possible grâce au deep learning et aux progrès technologiques qui permettent d’embarquer d’importantes puissances de calculs dans de petits espaces.
Mais comment cela est-il possible?
Nous allons voir dans cet article le fonctionnement de la reconnaissance d’image par intégration d’une méthode basée sur le deep learning.
Qu'est-ce qu'une image pour un ordinateur ?
Pour un être humain, une image, qu’elle soit numérique, imprimée ou sur un autre support est perçu de la même façon.
Nous sommes sur-entraîné pour cet exercice, nous avons tellement l’habitude de voir et d’interpréter tout ce qui nous entoure que nous avons l’impression que de nos yeux à notre cerveau il n’y a qu’une étape, bien évidement cela est faux.
Ce qui serait génial c’est qu’un ordinateur soit capable d’en faire autant que notre cerveau mais cela reste encore bien trop complexe. Les scientifiques se sont plutôt intéressés au fonctionnement du cortex cérébral des vertébrés. C'est à partir de ces observations que les scientifiques se sont inspiré pour créer les modèles de reconnaissance d'images par apprentissage profond.
Un ordinateur ne sait pas ce qu’est une image (et il s’en fou), ce qu’il comprend ce sont les chiffres (nous savons qu’à son plus bas niveau l’ordinateur ne traite que du binaire c’est à dire des 0 et des 1). L’ordinateur décompose une image en pixels («picture element»), c'est la plus petite composante d’une image, c’est un carré unicolore.
Lorsqu’une image est composée de suffisamment de pixels, nous avons l’impression de voir une image continue mais si l’on zoom sur cette image, nous observons les différents pixels qui la compose :
Un pixel peut être de n’importe quelle couleur, pour cela il est composé de trois composantes : rouge, vert et bleu, lesquelles en se mélangeant peuvent reproduire n’importe quelle couleur. Pour cela on code la valeur de chacune des composantes sur une échelle de 0 à 255 (codage sur 8 bits).
Par exemple, si un pixel a la valeur suivante : Rouge = 0, Vert = 0 et Bleu = 0 alors ce pixel sera noir et à l’opposé si ce pixel vaut; Rouge = 255, Vert = 255 et Bleu = 255 alors ce dernier sera blanc.
Ce qui rend une image unique c’est la valeur de ses pixels mais également leurs disposition spatiale. En effet l’ordre des pixels est capitale et pour cela nous considérons une image comme un tableau dont le nombre de ligne correspond à la hauteur (en pixel) de l’image et le nombre de colonne correspond à la largeur de l’image (en pixel) et dont chaque case représente un pixel.
Maintenant que l’on sait comment l’ordinateur comprend le concept d’image, nous allons voir comment se débrouille l'ordinateur pour reconnaître des images, pour comprendre une image avec le deep learning.
À savoir, lorsque l'on fait de la reconnaissance d’image par apprentissage profond, on utilise de façon quasi systématique les réseaux de neurones convolutifs.
Voir la suite de l'article :