Télécharger le fichier pdf d’un mémoire de fin d’études
Dévracage et intelligence artificielle
Choix technologiques
Dans le cadre du module de vision du dévracage, l’algorithme doit permettre de localiser (segmenter) un nombre prédéterminé de pièces dans la scène et d’estimer leur position et orientation associées. Le choix de la zone de préhension et le cal-cul de la trajectoire du robot sont réalisés par des algorithmes ad hoc et ne sont pas détaillés dans cette thèse. Le fonctionnement du module consiste dans un premier temps, à isoler les pièces du bac puis, à les découper afin de former un nombre dé-terminé d’instances de la pièce. Chaque instance est ensuite traitée pour estimer à la fois la position de la pièce dans le repère du bac et son orientation par rapport à un modèle 3D de référence. Contrairement au module industriel du commerce testé pré-cédemment, les estimations de pose de ces pièces doivent être réalisées en un temps court. Les calculs de pose sont donc effectués en parallèle par des composants de calculs adaptés notamment en utilisant des cartes graphiques (Graphics Processing Unit, GPU). Dans le but d’employer des technologies peu onéreuses et de limiter les défauts liés aux scanners 3D (Table 2), ces travaux de thèse proposent de se limiter à une image 2D en couleurs (Red Green Blue, RGB) du haut du vrac comme donnée d’entrée pour le module de vision. L’algorithme va donc chercher à établir deux cor-respondances principales : une image de bac vers une ou plusieurs images de pièces segmentées et une image d’une pièce segmentée vers une position et une orientation.
Ces deux correspondances sont complexes puisqu’un bac peut contenir un grand nombre de pièces enchevêtrées chacune présentant des réflexions lumineuses dif-férentes. Cependant, à partir d’exemples, l’apprentissage automatique doit permettre de construire automatiquement ces correspondances démontrant alors, la pertinence de l’intelligence artificielle pour ce processus. Afin de respecter les critères du module de vision (Table 1), l’algorithme doit être capable d’estimer une pose parmi toutes les orientations possibles d’une pièce mais il doit également être robuste aux différentes variations lumineuses que peut subir le matériau plastique. Pour cela, les exemples servant à l’apprentissage doivent être suffisamment hétérogènes afin de couvrir une large gamme de poses de pièce aux luminances variées. Néanmoins, construire un tel jeu de données est chronophage car l’apprentissage nécessite plusieurs centaines de milliers d’images pour fonctionner de façon optimale. De plus, il n’est pas simple d’obtenir en pratique toutes les orientations d’une pièce dans une scène et les tables tournantes, parfois utilisées dans de tels cas, sont limitées aux positions d’équilibre de l’objet. Enfin, toute session de prises de vue est dépendante de l’éclairage de la pièce et peut ne pas correspondre aux futures conditions d’utilisation en usine. En effet, le poste de dévracage peut être placé à n’importe quel emplacement d’une usine, sans contrôle d’éclairage, aussi bien en production de jour comme de nuit.
Face à ce constat, ces travaux de thèse proposent d’employer un apprentissage basé sur des images de synthèse du modèle 3D de la pièce. Un rendu 3D permet d’envisa-ger toutes les orientations possibles de l’objet tout en contrôlant à la fois l’éclairage de la scène virtuelle et les propriétés du matériau. Ces rendus peuvent être effectués par une carte graphique durant l’entraînement de l’algorithme ce qui ne nécessite pas de stockage de données au préalable. Les paramètres de scène sont modifiables dynami-quement et aléatoirement, ce qui permet à l’apprentissage automatique de constam-ment traiter des données différentes. Pour générer des bacs, un moteur de collision peut être injecté dans le rendu 3D afin de créer un vrac réaliste par l’intermédiaire d’un lancer de pièces. De plus, selon l’initialisation du lancer et le nombre de pièces souhaité, l’algorithme peut apprendre à traiter un vrac plus ou moins dense. Cepen-dant, le défaut majeur de la génération d’images est le biais introduit entre les données synthétiques et les données réelles. En effet, certaines pièces possèdent des défauts d’aspects (lignes de soudure dans le moule, traces des éjecteurs et injecteurs…) et des gravures de traçabilité (logo, numéro de lot…) relativement difficiles à simuler. Il convient donc de bien maîtriser les paramètres de scène afin de fournir des images réalistes anticipant les futures conditions d’exploitation en usine mais aussi, de pro-poser un algorithme d’apprentissage absorbant ce biais introduit. L’utilisation d’images de synthèse pour l’apprentissage permet également de s’affranchir de la production a priori de la pièce. L’entraînement peut alors être réalisé en connaissant le type de plastique employé ainsi que les pigments de couleur. Ceci est un avantage lorsque les délais de réponses aux clients sont courts et que l’entreprise doit s’assurer que la pièce finale peut être produite dans les meilleures conditions.
Manipulations du modèle
Représentations de la rotation
Gammes d’objets considérés
Complexité
Les réseaux de neurones construisent des caractéristiques propres à une pièce pour inférer correctement son orientation et peuvent donc éprouver des difficultés à traiter des géométries peu complexes. Afin d’être corrélée avec l’estimation de pose, la complexité d’un modèle CAO peut être évaluée en utilisant la distribution des courbures de chaque vertex ??. Soient vi un vertex du modèle et ses voisins vj pris avec une connectivité en 1-anneau, le défaut angulaire du vertex est obtenu en sommant les angles αj formés par deux vertex voisins successifs (Fig. 1.6).
|
Table des matières
Introduction
Intelligence artificielle et industries
Le dévracage industriel
Le processus
Automatisation du dévracage
Test d’une solution industrielle
Dévracage et intelligence artificielle
Choix technologiques
État de l’art
Problématique
I Génération de données
1 Définition et manipulation des modèles 3D
Introduction
1.1 Modèle CAO de l’objet
1.1.1 Maillage triangulaire
1.1.2 Unification et normales aux sommets
1.1.3 Nuage de points
1.2 Manipulations du modèle
1.2.1 Représentations de la rotation
1.2.2 Rotations et translations
1.3 Gammes d’objets considérés
1.3.1 Géométrie
1.3.2 Jeux de données
Synthèse et conclusion du chapitre
2 Création d’images
2.1 Rendu 3D
2.1.1 Projection
2.1.2 Ombrage de Phong
2.1.3 Intégration OpenGL
2.2 Jeu d’images virtuelles
2.2.1 Génération de pose
2.2.2 Génération de vrac
2.2.3 Augmentation des données
2.3 Jeu d’images réelles
2.3.1 Vracs de pièces
2.3.2 Prises de vue
Synthèse et conclusion du chapitre
II Méthodes d’estimation de pose
3 Segmentation de pièces
Introduction
3.1 État de l’art
3.1.1 Analyses ascendantes et descendantes
3.1.2 Compréhension de scènes
3.1.3 Réseaux de neurones
3.1.4 Positionnement de nos travaux
3.2 Segmentation sémantique
3.2.1 Architecture
3.2.2 Inférence
3.2.3 Performances
3.3 Segmentation d’instances
3.3.1 Réseaux récurrents
3.3.2 Réseaux récurrents avec inhibition
3.3.3 Réseaux récurrents avec attention visuelle
3.3.4 Algorithme ad-hoc
4 Estimation de pose
Introduction
4.1 État de l’art
4.1.1 Points à points
4.1.2 Caractéristiques locales
4.1.3 Modèles d’objets
4.1.4 Réseaux de neurones
4.1.5 Positionnement de nos travaux
4.2 Modalités des réseaux
4.3 Profondeur locale d’une pièce
4.3.1 Architecture
4.3.2 Performances
4.4 Orientation et translation sur Z
4.4.1 Équivalences en projection sur SO(3)
4.4.2 Architecture des réseaux
4.4.3 Apprentissage du réseau d’orientation
4.4.4 Performances
4.5 Rétro-projection et recalage
4.5.1 Initialisation
4.5.2 Estimation des normales
4.5.3 Fonctionnement
4.5.4 Performances
Synthèse et conclusion du chapitre
5 Déploiement du module de vision
Introduction
5.1 Précision de la pose
5.1.1 Incrément angulaire
5.1.2 Matériel
5.2 Biais réel-virtuel
5.2.1 Paramètres de scène
5.2.2 Calibration
5.3 Implémentation
5.3.1 Déportation des calculs
5.3.2 Préhension
Synthèse et conclusion du chapitre
Conclusions et perspectives
Réalisme des données
Segmentation d’instances
Précision de l’estimation de pose
Implémentation robotique
Annexes
A Ensemble des quaternions H
B Équivalences entre θ + ~u, SO(3) et Sp(1)
C Métriques sur SO(3) et Sp(1)
D Tirage homogène de points sur une sphère
Publications de l’auteur
Bibliographie
Télécharger le rapport complet