
Par Szymon Trochimiak, ingénieur de recherche senior en ML
Pour l'IA physique, la simulation et le monde réel ne sont pas des sources de données concurrentes mais complémentaires. Il arrive qu'un objet s'ouvre pendant que le robot le transporte. Si le robot détecte un objet démonté, il peut s'arrêter et demander de l'aide. C'est le rôle de la détection d'anomalies en temps réel (LAD). La difficulté réside dans l'apprentissage de ces anomalies, car le robot les rencontre rarement (c'est d'ailleurs ce qui les définit). Nous expliquons ci-dessous comment nous avons utilisé des données synthétiques pour entraîner la LAD à reconnaître les défaillances que la production ne révèle que rarement.
Le système de détection d'anomalies en temps réel est un système de vision qui analyse les flux vidéo des caméras à 15 images par seconde pendant chaque prélèvement. Pour chaque image, il détermine si une anomalie a été détectée (par exemple, un élément démonté). Si, lors d'une tentative donnée, le modèle renvoie un résultat positif (anomalie détectée) pendant trois images consécutives, le robot s'arrête et un opérateur distant examine la situation.
LAD est évalué sur deux critères :
Une erreur peut entraîner l'envoi d'un médicament incomplet dans un colis client. Une fausse alerte mobilise l'opérateur et gaspille de précieuses secondes de cycle sur un poste conçu pour traiter des centaines de commandes par heure. À haut volume, ces secondes s'accumulent, il est donc essentiel de minimiser à la fois le taux de fausses alertes (FPR) et le taux de fausses alertes (FNR).
Les robots enregistrent chaque prélèvement, les vidéos abondent donc. Les étiquettes utiles, en revanche, sont rares. Quatre facteurs rendent ce problème complexe :
La solution de facilité évidente serait un modèle d'image génératif, mais il présente précisément les lacunes dont nous avons besoin. Décrire avec des mots où se termine “ partiellement ouvert ” et où commence “ totalement ouvert ” n'est pas fiable. Il est également difficile de générer… même Une boîte ouverte à 20 et 25 degrés, un exemple de paire contrastive permettant de visualiser une limite. Une étiquette lue à partir d'une consigne est une supposition. Une étiquette déduite de la géométrie est exacte.
Nous avons donc modélisé un étui pharmaceutique paramétrique pliant dans Blender. Chaque propriété importante pour l'étiquette est un paramètre explicite :
Comment passe-t-on d'une spécification à une boîte rendue et classifiée ?

Un simple rendu de carton sur fond gris n'apprendra pas grand-chose à un modèle sur un environnement de production réel. Nous l'intégrons donc dans des images réelles, en deux étapes. La première étape, hors ligne, crée une découpe – une pince réelle maintenant une boîte modélisée – une seule fois, puis la sauvegarde. La seconde étape, en ligne, colle cette découpe dans une image réelle à chaque fois que le modèle d'entraînement la dessine, de sorte que la même boîte apparaisse dans de nombreuses scènes.

1. Image source. Un cadre réel, issu de la production ou du laboratoire, dans lequel le robot maintient un objet. La pression d'aspiration indique si la pince saisit un objet, ce qui permet de prélever ces cadres automatiquement.

2. Extraire l'outil. Notre modèle de segmentation interne détecte la pince et l'objet tenu. Nous conservons la pince et éliminons tout le reste, y compris l'objet lui-même. Nous enregistrons également la luminosité de l'objet et de l'image entière pour des corrections ultérieures.

3. Élément source. Un carton rendu. Sa classe est définie par la géométrie du rendu.

4. Correspondance et superposition. Nous associons la pince à un rendu réalisé avec la même caméra et le même outil, puis nous superposons la pince réelle au carton rendu. Si la pince ne recouvre pas le carton, nous déplaçons ce dernier jusqu'à ce que ce soit le cas.

5. Correction gamma. Les rendus sont nets et précis. Nous ajustons la luminosité du carton à celle de l'objet réel qu'il remplace et enregistrons le résultat comme découpe finale.


7. Découpe finale et cadre cible. Le programme d'entraînement charge une image détourée et une image réelle où le robot ne tient rien, à partir des mêmes données du robot, de la même caméra et du même outil. Comme les images sources, elles peuvent être sélectionnées par un signal d'aspiration.

8. Superposition et correction gamma. Le découpage est collé à son emplacement. La caméra au poignet est fixée solidement à l'outil, de sorte que la pince collée recouvre presque entièrement la pince cible et qu'aucun remplissage n'est nécessaire. Enfin, nous harmonisons la luminosité de l'image source avec celle de l'image cible, ce qui donne l'image utilisée pour l'entraînement.

Chaque boîte rendue est réutilisée avec environ huit pinces réelles différentes, et chaque découpe se positionne sur une nouvelle image cible à chaque fois qu'elle est dessinée. Les images synthétiques représentent environ un quart de chaque lot d'entraînement.
Le rendu était la partie la plus simple. La plupart des leçons provenaient de l'évaluation et de la plomberie :
Nous avons étendu notre ensemble de test à toutes les tentatives étiquetées provenant de deux stations de production, environ 12 000 vidéos, et a complètement supprimé les deux stations de formation. Sur celle-ci, la formation utilise des cartons rendus. Généralisation nettement améliorée du laboratoire à la production : nous avons réduit le FNR 2.07 fois à FPR=1%. Conséquence pratique : nous pouvons désormais nous entraîner sur des images de production sans attendre que la production génère suffisamment de cassures.
La prochaine génération de rendus cible les défauts qui font encore défaut : boîtes déchirées et déformées, tremblements et flou de mouvement qu’ils provoquent, boîtes maintenues par un rabat ou la face inférieure, et contenus plus variés.
Dans les applications numériques comme physiques, il est tentant de considérer les données synthétiques comme un substitut complet à l'expérience du monde réel. L'approche privilégiant la simulation a permis d'obtenir des résultats impressionnants en robotique. locomotion, courses, et même football. Mais il nécessite un retour rapide au déploiement dans le monde réel pour évaluer et adapter le simulateur.
Notre travail chez Nomagic suit la même approche. Dans ce projet, nous sommes partis de données réelles : la pince, l’arrière-plan et l’éclairage proviennent de la production. La simulation devient un multiplicateur de données et nous créons des pièces et des variantes artificielles, enrichissant les données réelles d’informations spécifiques à chaque cas particulier. Pour itérer sur l’augmentation, nous devons à nouveau boucler la boucle jusqu’au déploiement en situation réelle.
Ce travail s'inscrit directement dans la voie de la maîtrise d'abord que nous avons décrite dans Un pivot humble vers l'IA physique et Les derniers pour cent. Le déploiement de robots et leur autonomie fiable reposent sur la résolution efficace des problèmes rares et sporadiques qui n'apparaissent qu'en production. La simulation ne remplace pas notre processus de déploiement, mais l'accélère. Face à de nouveaux cas limites, nous n'avons plus besoin d'attendre qu'ils se produisent suffisamment souvent pour en tirer des enseignements ; la simulation multiplie notre flux de données.
Si vous souhaitez développer une IA physique axée sur la maîtrise et accélérer l'impact de la simulation sur le déploiement : nous recrutons ! Lien vers notre page carrières