À l’heure où la démocratisation de l’usage du Machine Learning et Deep Learning bas son plein, Lobe une application gratuite propulsée par Microsoft, propose de réaliser de la classification d’images sans code !
Qu’est-ce que LOBE de Microsoft ?
LOBE est une application gratuite, s’installant sur l’ordinateur (Windows / Mac). Son rôle est de proposer un outil en mode « no code » capable de réaliser des classifications d’images.
Dans sa version bêta, seule la classification d’images est disponible, mais d’autres fonctionnalités telles que la segmentation et l’autolabellisation d’images seront bientôt disponibles
Pour télécharger, LOBE, c’est par ici : www.lobe.ai
Quels sont les algorithmes d’apprentissage utilisés par LOBE ?
Le modèle utilisé pour réaliser l’apprentissage dépend de ce que l’on souhaite obtenir.
Si l’on veut un apprentissage rapide, le modèle MobileNetV2 est utilisé. Dans le cas d’une précision importante, le modèle ResNet-50 est utilisé.
MobileNetV2 pour plus de rapidité
Les modèles de type MobileNet sont conçus pour fonctionner sur des appareils à fortes contraintes en termes de performances tels que les smartphones.
MobileNetV2 est un modèle très efficace pour la détection et la segmentation d’objets.
ResNet-50 pour plus de précision
ResNet (pour résidual network) introduit la notion d’apprentissage résiduel.
Dans un réseau neuronal convolutif profond, plusieurs couches sont empilées et sont entraînées dans le but de réaliser la tache qui lui est confiée.
Cet empilement peut se traduire à terme par une saturation des couches (Vanish Gradient) et donc un mauvais apprentissage.
Pour éviter cela, il est alors possible de « sauter » des couches. C’est ce que proposent les réseaux de type ResNet.
Utiliser un dataset pour l’apprentissage
Pour réaliser une classification, il faut à minima deux classes. C’est-à-dire deux types d’images différentes.
Dans notre cas, nous allons réaliser un apprentissage capable de détecter le port du masque. Il nous faut donc des images comportant des personnes portant un masque et des images et d’autres sans masques.
Pour créer notre jeu de données, Lobe propose trois modes :
- La capture d’images à l’aide la webcam
- L’import d’images
- L’import de Dataset
C’est ce dernier mode que nous allons utiliser, car il permet de labelliser automatiquement nos images.
En effet, si l’import d’image peut être intéressant, il vous faudra alors manuellement indiquer à quelle classe appartient l’image… cette tâche est très fastidieuse !
L’import de Dataset, consiste à sélectionner un répertoire sur notre disque dur. Ce répertoire contenant autant de sous-répertoires que de classes d’images
Et voilà, les données sont importées et labellisées automatiquement !
Le choix du mode d’apprentissage
Comme évoqué, nous pouvons soit choisir la rapidité d’apprentissage ou la précision.
Ce choix s’effectue dans le menu situé en haut à gauche en sélectionnant l’option « Project Setting… »
L’apprentissage : Faites chauffer la machine !
Une fois les images téléchargées, l’apprentissage démarre automatiquement et sa progression est affichée en bas à gauche de l’écran.
L’option GPU n’est pas encore disponible pour cette version encore en Beta. Par conséquent l’ordinateur va sans doute souffrir un peu pendant cette phase d’apprentissage plus ou moins longue. Le temps d’apprentissage étant en relation avec la capacité du processeur de votre machine.
Les résultats obtenus
Une fois l’apprentissage terminé, nous pouvons vérifier son efficacité à l’aide de notre webcam en cliquant sur le bouton Play.
Pour notre part, lors de premiers tests, le modèle ne semble pas performant.
99% de bonne classification lors de l’apprentissage… 0% lors de la phase de test. Est-il en surapprentissage ?
Il ne nous est pas possible de le savoir, car nous ne disposons pas d’éléments nous permettant d’analyser l’apprentissage réalisé.
Mais pas d’inquiétude, à chaque classification, il est possible d’indiquer si celle-ci est correcte ou non.
Une capture d’image est alors faite et l’apprentissage est à nouveau effectué.
Export du modèle
Une fois l’apprentissage réalisé, il nous est possible d’exporter le modèle au format Tensorflow.
Nous disposons alors d’un répertoire comportant le modèle et un fichier exemple réalisé en Python.
Malheureusement, malgré l’installation des librairies nécessaires (Tensorflow 1.15.3 et Pillow 7.2.0), nous ne sommes pas parvenus à charger correctement le modèle…
Si vous souhaitez nous aider dans cette étape, n’hésitez pas !
En résumé
LOBE dans sa version bêta est un outil assez prometteur. En utilisant des modèles ayant fait leurs preuves, il est possible d’obtenir des résultats satisfaisants en quelques minutes.
Néanmoins, le fait de ne pas « maitriser » l’apprentissage est assez troublant.
C’est donc un outil à suivre de près, malgrés ces quelques failles. On attend avec impatience la segmentation d’images !
Pour obtenir le dataset de ce tutoriel, n’hésitez pas à nous contacter.