La division Innovation de Schneider Electric est en charge, comme son nom l’indique, d’innover en investiguant sur différentes technologies porteuses. Dans cette optique, Schneider Electric s’est penché sur le sujet de l’intelligence artificielle, de la réalité augmentée et de l’utilisation du smartphone. Le but était de savoir comment la société pouvait utiliser et combiner ces technologies. Très rapidement, un projet autour de l’identification de produits commercialisés par Schneider Electric se dégagea.
Neovision a conçu et développé une application mobile embarquant une technologie alliant Deep Learning, Computer Vision et Réalité Augmentée. Cette application permet de détecter et d’identifier des disjoncteurs Schneider Electric sur un flux vidéo et ce en temps réel. Après avoir reconnu et positionné les différents plans de la pièce, un détecteur d’images vient repérer les disjoncteurs et notre OCR s’applique à lire la référence sur l’étiquette. Suite à l’analyse vidéo d’une installation, SE dispose de la liste des produits installés.
La division Innovation de Schneider Electric dispose aujourd’hui d’une application mobile multifonction. Embarquant un détecteur d’objets et une technologie OCR, les usages liés à cette application sont aussi nombreux que variés : création de jumeaux numériques, saisie automatique de références, recherche visuelle dans le catalogue produit, meilleure connaissance du parc et recommandation de produits adaptés… Seule notre imagination semble pouvoir brider ses usages.
Schneider Electric, c’est un groupe international, 135 000 collaborateurs mais aussi et surtout l’incarnation d’une volonté d’innover au rang mondial. Spécialiste leader sur son marché, son activité s’articule autour de produits relatifs à la distribution électrique et l’automatisme. Avant-gardiste, la société s’est rapidement engagée prônant l’efficacité énergétique et la durabilité. Préférant agir à réagir, Schneider Electric opère un virage stratégique, s’orientant de plus en plus vers une activité de services numériques.
Or dans cette logique visant à développer de nouveaux services numériques, toutes les technologies connexes trouvent une place de choix. C’est bien entendu le cas du Smartphone, de l’Intelligence Artificielle et de la Réalité Augmentée.
Ces questionnements ont trouvé écho lorsque Romain Gassion, Innovation Project Manager chez Schneider Electric, découvre Neovision au travers de l’écosystème de startup grenoblois. Ayant déjà travaillé sur d’autres projets avec Schneider Electric, Neovision est connue de la société et les premiers contacts se nouent très rapidement.
A l’époque, Romain et son équipe souhaitaient expérimenter. Expérimenter l’utilisation de l’intelligence artificielle pour reconnaître les produits fabriqués et commercialisés par Schneider Electric. A priori, le challenge est tout à fait à portée de Neovision. Toutefois, une première contrainte émerge très rapidement : la solution doit prendre la forme d’une application mobile. Plutôt logique puisque de nombreuses personnes, pour ne pas dire tout le monde, sont équipées de smartphones et viser un déploiement mobile simplifierait ainsi la mise en production de ce service numérique. La seconde, elle, se révélait un peu plus challengeante. Notre technologie devait être directement embarquée dans l’application et donc tourner sur le smartphone, car la connectivité n’est pas toujours présente sur le terrain. La détection et la reconnaissance des produits doivent donc se faire en temps réel sur le flux vidéo sans qu’aucune connexion réseau soit nécessaire. Bien qu’expérimentales, les bases du projet étaient posées et ce dernier prenait forme. L’équipe Neovision pouvait se mettre au travail !
Tout d’abord, concentrons-nous sur l’application mobile. Cette dernière a été conçue pour fonctionner sur iOS et Android, le but étant d’être accessible à 100% des utilisateurs smartphones. Pour le développement de l’application, le choix s’est porté sur Unity. Largement utilisé pour le développement de jeux, il s’avère tout aussi pertinent pour cette application qui nécessite un moteur parfaitement adapté à la tâche visée : le tracking 3D. En effet, le tracking 3D, en détectant les plans des pièces et en associant les produits détectés à ces plans, permet de localiser et de suivre les informations dans la scène 3D et ainsi de mémoriser les informations. Unity propose également de très bons outils permettant d’optimiser les applications mobiles, un paramètre essentiel. C’est donc dans une application mobile développée via Unity et tournant sur iOS et Android que notre modèle serait embarqué.
Avant de nous intéresser au modèle, à proprement parlé, penchons-nous sur les données, élément indispensable lorsque nous parlons d’apprentissage. Les données en question prennent la forme d’images et plus précisément de photos de disjoncteurs. Quoi de plus normal puisque ce sont ces objets que nous souhaitons détecter et reconnaître. Des données fournies par notre client Schneider Electric qu’il a fallu annoter mais aussi standardiser au format COCO (une référence en Computer Vision). Toutefois, le volume de données disponibles n’était pas suffisant pour mener un apprentissage optimal. Neovision a donc généré de nouvelles données, de synthèse mais tout aussi réalistes que représentatives. Ces images ont été générées à partir d’un logiciel CAO qui permet de simuler en 3D les produits Schneider Electric.
Au final, la composition du dataset utilisé dans le cadre du projet était de 2789 images réelles pour 16403 images générées. Comme quoi, une quantité de données limitée n’est pas une fatalité. En savoir plus sur la génération de données.
Le déploiement ciblé et la base de données constituée, l’équipe Neovision pouvait travailler sur le fameux modèle à intégrer dans l’application. Pour rappel, la tâche visée est la détection et la reconnaissance de disjoncteurs Schneider Electric tout en assurant un bon tracking 3D. Ainsi, nos experts ont jeté leur dévolu sur un modèle du framework Pytorch avec un backbone customisé via les paramètres d’apprentissage. Ce modèle aussi rapide que performant, propose de définir les objets visés en un seul et unique point, et c’est là son principal intérêt. Si certains disjoncteurs sont isolés et de grande taille, d’autres sont bien plus petits et disposés les uns à côté des autres : les Acti9. Il fallait donc pouvoir les différencier. En le définissant par un simple point, la détection se fait plus précise.
Une fois entraîné, le modèle livrait ses résultats, et le moins que l’on puisse dire, c’est qu’ils étaient plutôt concluants, encore plus lorsque les images générées étaient incluses dans le jeu d’entraînement. L’ajout de ces images permettant d’améliorer le score de détection des différentes classes de 3 à 26 points !
Voilà donc un nouveau défi relevé par l’équipe Neovision. Il faut dire que faire tourner des modèles de Deep Learning, directement sur smartphone nécessite une réelle expertise. Tout d’abord sur la création du bon modèle mais aussi et surtout sur l’optimisation de ce dernier, sans ses compétences, impossible de l’embarquer tel quel.
Le modèle de détection et de tracking fin prêt, ne restait plus qu’à intégrer la technologie OCR de Neovision. Pour se faire, une nouvelle étape algorithmique permet d’isoler une zone d’intérêt sur l’image : l’étiquette. C’est ensuite sur cette nouvelle image de l’étiquette que notre OCR vient extraire la référence du disjoncteur pour formellement l’identifier. En savoir plus sur notre technologie OCR.
Schneider Electric dispose aujourd’hui d’une application mobile qui embarque une solution intelligence alliant plusieurs technologies : tracking 3D, détection d’objet et lecture automatique de caractères (OCR). D’ailleurs, et c’est ici tout l’intérêt du projet, les usages (saisie automatique de référence, recherche visuelle pour accéder à des fiches techniques, recommandations de produits similaires, création de jumeaux numériques…) sont aussi nombreux que les utilisateurs potentiels (techniciens, commerciaux, clients…).
DEEP LEARNING, COMPUTER VISION, EDGE COMPUTING, SMARTPHONE, REALITE AUGMENTEE (AR)
« Dans le cadre d’une démarche d’innovation, nous avons demandé à Neovision de nous aider à élaborer un algorithme permettant d’effectuer la reconnaissance de nos équipements à l’aide de photos. Durant tout le projet, Neovision a utilisé son expertise dans le domaine de reconnaissance d’image pour nous aider à préciser notre besoin, puis a élaboré une solution permettant de lever la faisabilité technique. Le prototype auquel nous avons abouti nous a permis de convaincre en interne de la pertinence du sujet et a déclenché un effet Waouh. Nous avons beaucoup apprécié notre collaboration avec l’équipe Neovision car elle a très rapidement cerné notre besoin et a su être réactive aux différents virages que nous avons dû prendre. Tout cela dans le cadre de relations très sympathiques et enrichissantes. »
Romain Gassion, Innovation Project Manager chez Schneider Electric
1 mars 2022
Application Mobile, Computer Vision, Deep Learning, IA embarquée, Industrie, R&D