La puissance de Unity dans l'IA

Depuis 2018, Cross Compass a intégré Unity dans le pipeline de plusieurs de ses services de conseil pour le secteur manufacturier afin de former et de valider des algorithmes d'IA en toute sécurité avant leur déploiement. Lisez la suite pour découvrir comment cette entreprise d'IA a utilisé la technologie du jeu pour ajouter de la valeur à une industrie aussi mature.
Cross Compass est une entreprise d'IA de premier plan fournissant des solutions à la pointe de la technologie aux leaders mondiaux de l'industrie dans les domaines de la fabrication, de la robotique, des jeux, de la santé, du design et du marketing. Établi à Tokyo en 2015, Cross Compass développe des techniques de pointe en apprentissage profond, apprentissage automatique et vie artificielle, pour augmenter la sécurité, la qualité et la productivité au bénéfice de la société.
Nous les avons invités à partager avec leurs propres mots pourquoi ils ont adopté Unity et comment cela les aide à offrir les avantages suivants :
- Offre une plateforme pour discuter des spécifications et des progrès avec les clients et partenaires
- Évite de nombreux contrôles de sécurité nécessaires pour mettre en place l'environnement de collecte de données
- Fournit une quantité illimitée de données pour la formation et les tests d'IA
- Permet des cycles itératifs de formation et de test d'IA plus rapides en simulation
- Conduit à la livraison de solutions d'IA avec des performances et une qualité supérieures pour les utilisateurs finaux
- Augmente la valeur de l'intervention humaine tandis que les IA gèrent les tâches répétitives de manière fiable
En savoir plus dans cet article invité de Cross Compass par Romain Angénieux, Responsable du groupe Simulation IA ; Steven Weigh, Designer de l'identité de marque mondiale ; et Antoine Pasquali, Directeur technique.

Concevoir et déployer des solutions d'IA de pointe pour les environnements de fabrication est un processus compliqué. Les lignes de production manufacturières ont été méticuleusement optimisées et perfectionnées pendant des décennies. Les experts ont conçu, ajusté et itéré chaque détail de bout en bout, pour garantir les normes d'efficacité, de sécurité et de qualité les plus élevées qui répondent à des exigences strictes de l'industrie et à des délais de livraison serrés. Cela laisse zéro place à l'expérimentation, à la perturbation, au risque ou aux méthodes non éprouvées.
L'IA, en comparaison, évolue à la vitesse de la lumière. Chaque jour apporte de nouvelles recherches sur les dernières méthodes, les possibilités élargies et de nouvelles frontières. Cependant, la plupart de ces recherches n'existent que dans le laboratoire, reposant sur des données soigneusement sélectionnées qui ressemblent peu au bruit, aux données non structurées, non étiquetées, ou comme c'est souvent le cas, à l'absence complète de données qui existent dans le monde réel. En contraste frappant avec la fabrication, l'IA prend rarement le temps de se valider dans des conditions réelles. Les deux industries ne pourraient pas être plus éloignées dans leurs approches.
Dans un laboratoire, atteindre 99 % de précision est un accomplissement louable. Dans l'environnement de fabrication, un taux d'erreur restant de 1 % est un échec, un défaut ou un risque de sécurité inacceptable qui peut avoir de graves conséquences dans le monde réel. Étant donné cette dichotomie, comment pourrions-nous introduire les dernières solutions d'IA dans un environnement aussi précis et contraint ? Et comment pourrions-nous expérimenter, valider et déployer des solutions d'IA d'une manière qui n'introduit pas de risque, de coût, de temps d'arrêt, ou une combinaison des trois ? Ce sont les questions que nous nous posions lorsque nous avons été chargés de former et de déployer l'IA sur les lignes de production de nos clients.

La solution la plus évidente était de ramener l'environnement de fabrication dans le laboratoire. C'est-à-dire de recréer le sol de l'usine dans un environnement simulé où nous pouvons développer nos solutions d'IA sans craindre de temps d'arrêt ou d'endommager des équipements à la pointe de la technologie.
Un environnement simulé nous donne un contrôle total sur les conditions de l'usine, nous permettant de changer des paramètres, d'expérimenter, de perturber et de valider nos algorithmes afin d'explorer de nouvelles solutions d'IA. En d'autres termes, la simulation nous permet de faire toutes les choses que nous ne pouvons pas faire dans le monde réel.

En 2018, nous avons réalisé une analyse des solutions sur le marché afin de déterminer quelle technologie correspondrait le mieux à nos besoins en matière de simulation.
L'objectif était de faciliter, d'accélérer et de sécuriser la mise en place de l'environnement, la collecte des données et la validation des performances de l'IA avant de la déployer sur le robot physique.
Nous avons commencé par examiner des moteurs spécifiques aux robots conçus pour simuler les comportements des robots, les propriétés des articulations et des dépendances, et les capteurs. Ces moteurs sont extrêmement précis en termes de physique, de contrôle de comportement et de robotique de bas niveau. Cependant, et malgré leur forte attache au réalisme, nous avons constaté que ces moteurs manquaient de flexibilité pour recréer des scènes plus complexes.
Randomisation de domaine météorologique (MDR) pour des applications robotiques. Nous utilisons le Pipeline de rendu haute définition (HDRP) de Unity et le Shader Graph pour créer des variations dans les conditions de ciel, les lumières, les arrière-plans et les textures des objets. (Avec l'aimable autorisation de Cross Compass)
Dans le contexte de l'IA, bien que nous ayons effectivement besoin de physiques précises et d'un contrôle parfait sur les comportements du robot, nous devons également importer une large gamme d'objets de différentes formes, avec des textures et des visuels réalistes, tels que des lumières, des ombres, des effets de caméra, etc.
Ici, nous avons découvert que les moteurs de jeu répondaient bien à cette variété d'exigences, car ils offrent des réponses simples à ces autres contraintes. La manipulation des robots serait toujours possible à un niveau de contrôle plus élevé, ce qui correspondait à notre stratégie de développement de solutions indépendantes du matériel.
Notamment, Unity nous a permis de nous concentrer uniquement sur la création des fonctionnalités nécessaires à la formation des IA sur les robots, tout en laissant le reste au moteur. Pour gagner du temps de développement, nous pouvions compter directement sur son importateur de fichiers existant, son système de rendu, son moteur physique, son cycle de vie de script, son planificateur et ses options de déploiement.
De plus, Unity propose des mises à jour régulières ainsi que des contributions de collaborateurs pour adapter le moteur à des applications plus avancées telles que la nôtre. Le soutien actif de l'écosystème de Unity garantirait que tout problème potentiel serait correctement traité.
À la fin de notre analyse, Unity s'est révélé être notre meilleure option pour sa polyvalence et son évolutivité.

Aujourd'hui, les développements Unity sont entièrement intégrés dans nos processus d'automatisation de la fabrication. Du côté de la recherche, nous créons des scènes diverses, allant de la prise à la navigation en passant par le contrôle adaptatif basé sur les retours de capteurs, pour tester la robustesse de nos algorithmes d'IA dans des conditions inattendues, et pour faire avancer notre technologie plus loin dans des territoires inexplorés.
Chaque projet de recherche provient d'un besoin client et est ensuite élargi vers une solution plus générale pour traiter des cas similaires. Nous intégrons ces solutions les unes après les autres dans notre environnement de simulation principal en tant qu'actifs empaquetés, afin de maintenir un flux de développement continu, une compatibilité dans le temps et un code propre.
Depuis que nous avons commencé à utiliser Unity, nous avons principalement développé des fonctionnalités pour importer des objets et des pièces de robot, créer des scènes réalistes et appliquer des techniques de randomisation de domaine. En parallèle, nous avons établi des protocoles de communication avec nos IA et avec des logiciels robotiques tiers, ainsi que différentes configurations de simulation pour la génération de données, la formation d'IA, les tests et la validation en temps réel pour toutes les scènes.
Unity offre la flexibilité requise pour de tels développements experts, comme un calcul de physique indépendant de la vitesse de simulation, ce qui permet de générer des données précises cent fois plus vite que ce que l'œil peut voir. Le Asset Store et les outils des partenaires de Unity nous fournissent également des ajustements et des fonctionnalités occasionnels pour une progression plus rapide.
Unity nous a permis de réduire considérablement le temps et le coût liés à la formation, aux tests et au déploiement de solutions d'IA pour nos clients et partenaires. Le résultat est des niveaux de sécurité plus élevés, une augmentation de la valeur de l'intervention humaine sur le sol de l'usine, et un produit de meilleure qualité livré aux utilisateurs finaux. Le moteur physique de Unity et ses fonctionnalités nous permettent de contrôler chaque aspect du sol de l'usine simulée, ce qui donne des solutions d'IA plus précises et robustes que jamais.
Voici un flux de travail commun pour utiliser Unity dans nos projets :
Lors de projets de consultation, nous créons des branches de notre environnement principal Unity, où nous pouvons travailler librement pour répondre aux besoins spécifiques des clients, puis fusionner les fonctionnalités ajoutées dans la branche principale. Typiquement, nous commencerions par créer une maquette de la solution en sélectionnant et en personnalisant une scène préconfigurée avec nos actifs pertinents. Montrer une démo en simulation aux clients aide à clarifier les spécifications du projet ainsi que son objectif final en termes de déploiement dans l'usine.
Nous préparons ensuite l'environnement et l'IA pour la formation. La simulation nous offre le luxe de la génération de données, par laquelle nous générons des données de manière beaucoup plus rapide, plus sûre et plus flexible que ce que permettrait la collecte dans le monde réel. Seuls les experts en IA peuvent indiquer les informations pertinentes à obtenir de la simulation ; cependant, l'étiquetage des données est obtenu gratuitement. Cela signifie que nous pouvons fournir à l'IA n'importe quelles données, avec la plus haute précision, alors que dans le monde réel, les mêmes données pourraient être difficiles, voire impossibles à rassembler. De plus, il n'y a pas de limite à la quantité de données générées.
La randomisation de domaine appliquée à l'entrée visuelle de l'IA. Les techniques MDR sont appliquées en simulation pour garantir que l'IA fonctionne efficacement dans des conditions réelles. (Avec l'aimable autorisation de Cross Compass)
À ce stade, nous testons nos modèles et ajustons leur précision jusqu'à la marge d'erreur spécifiée par le client pour garantir une solution finale robuste. Pour cela, nous devons former nos IA afin qu'elles soient efficaces dans le monde réel, sous des variations inattendues de lumière et de bruit reçues par les caméras et autres capteurs. Notre actif emballé pour la randomisation de domaine a été spécifiquement conçu pour combler cette lacune. Nous validons ensuite nos IA en simulation en temps réel. Ceci est également utilisé pour démontrer la solution IA aux clients.
Enfin, nous déployons à l'usine. Nos ingénieurs en robotique, avec l'assistance des intégrateurs de systèmes, préparent, en fonction du nombre d'éléments de déploiement, soit un banc d'essai, soit le système final directement sur le site du client. Les ingénieurs IA effectuent les premiers tests, et typiquement un membre de notre équipe de simulation visite également pour vérifier la conformité avec la scène simulée utilisée pour l'entraînement. Cela permet des ajustements rapides, si nécessaire, avant d'expédier l'IA finale, formée sur un ensemble de données beaucoup plus large, avant enfin d'instruire les techniciens de l'usine sur la façon d'utiliser leurs nouveaux algorithmes IA.
Évolution de notre solution de picking à travers les versions 1.0 à 3.0. La version 1 a répliqué des conditions physiques réalistes lors de la prise d'objets dans le seau. La version 2 s'est concentrée sur la simulation du robot et des pinces. Le MDR a ensuite été développé et appliqué dans la version 3. Les techniques IA ont également été perfectionnées à chaque version, comme on peut le voir dans les widgets de caméra. (Avec l'aimable autorisation de Cross Compass) Unity est un travail en cours tout autant que notre propre développement, et notre base de code et nos processus s'améliorent avec chaque nouveau projet. Nous n'avons pas encore rencontré de défi que nous ne puissions relever en utilisant Unity et notre expertise.
---
Commencer avec Unity Industry.
