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.

b547a38b28ccef39b770e0429b4d309d.jpg

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 :

 Sur cette image, nous pouvons voir ce qu’un modèle de réseau de neurones profond est capable de reconnaître aujourd’hui.

Sur cette image, nous pouvons voir ce qu’un modèle de réseau de neurones profond est capable de reconnaître aujourd’hui.

Par exemple une fois que l’ordinateur a identifié tous les éléments de la scène ci-dessus, il sera capable de dire en sortie : «Une personne fait du vélo sur la voie de gauche d’une route. Il semble que la scène se passe de jour dans une banlieue.». A partir de ces observations, beaucoup de données sont exploitables, le nombre de personnes présentes, le nombre de voiture garées, de voiture qui roulent, de maisons, d’arbres etc. C’est le principe qu’utilise les voitures autonomes.

 Photo de la voiture autonome créée par Google.

Photo de la voiture autonome créée par Google.

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 non seulement grâce au deep learning mais également grâce 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 ordianteur ?

Pour un être humain, une image, qu’elle soit numérique, imprimée ou sur un autre support, une image 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, lorsque que nos yeux «voient» une scène, beaucoup d’étapes sont nécessaires avant que l’on visualise cette scène comme on l’imagine communément.Nous sommes très fort pour ça, nous sommes même capable de reconnaître des objets ou des personnes, de prédire une action, d’imaginer des conséquences d’une scène, de comprendre une scène, de faire des relations complexes entre différents éléments d’une scène.


Ce qui serait génial c’est qu’un ordinateur soit capable d’en faire autant mais notre cerveau est tellement complexe qu’essayer d’en reproduire ne serait-ce que quelques fonctions, serait beaucoup trop compliqué pour le moment. Les scientifiques se sont plutôt intéressés au fonctionnement du cortex cérébral des vertébrés.
En effet, c’est des observation du fonctionnement du cortex cérébral des vertébrés que la reconnaissance d’image par deep learning s’est inspirée.

Une image que l’on voit sur un écran est une image numérique. 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), nous allons donc décomposer une image en pixels («picture element»). On appelle pixel 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 :

 Observation des pixels d’une image.

Observation des pixels d’une image.

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 bien définit.


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.

Vous avez un projet et vous pensez que le deep learning peut améliorer vos résultats ? Contactez-nous !

Posted on April 11, 2018 and filed under Intelligence artificielle.