Améliorer la perception de profondeur des robots avec des caméras doubles
Une nouvelle méthode améliore les cartes de profondeur en utilisant deux types de caméras pour la robotique.
― 8 min lire
Table des matières
Les caméras de profondeur sont des outils super importants en robotique, surtout pour des trucs comme donner à un robot la capacité de voir et d'interagir avec les objets autour de lui. Mais bon, beaucoup de caméras de profondeur moins chères et plus petites ne filment pas des infos de profondeur assez claires pour un mouvement et une détection d'objets précise. Ça peut poser des problèmes quand on essaie de suivre des objets ou de comprendre correctement l'environnement du robot.
Pour régler ce souci, on propose une méthode qui utilise deux types différents de caméras de profondeur pour améliorer la qualité des infos qu'un robot reçoit. L'idée, c'est d'utiliser une caméra de profondeur plus avancée et plus chère pour guider le processus de débruitage des données d'une caméra moins coûteuse. Avec ça, on espère créer des cartes de profondeur plus nettes qui aident le robot à mieux comprendre son environnement.
Contexte sur les Caméras de Profondeur
Les caméras de profondeur capturent des images qui incluent à la fois des infos couleurs et des valeurs de profondeur, indiquant à quelle distance se trouve chaque objet. En robotique, elles peuvent aider les robots à mieux saisir leur environnement, leur permettant d'accomplir des tâches de manière plus humaine. Mais toutes les caméras de profondeur ne se valent pas. Certaines, comme l'Intel RealSense, sont compactes et offrent des taux de rafraîchissement rapides, mais produisent des cartes de profondeur bruitées. D'autres, comme la Zivid One+, offrent des infos de profondeur haute résolution et plus claires, mais sont plus volumineuses et ont des taux de rafraîchissement plus lents.
Cette différence de qualité signifie que les robots doivent souvent faire des compromis. Une caméra moins chère peut mieux convenir dans certaines situations, mais peut ne pas fournir les meilleures données. En revanche, une caméra plus coûteuse peut donner de meilleures données, mais peut être plus difficile à utiliser.
Méthode Proposée
Notre approche combine les forces des deux types de caméras, utilisant des données de haute qualité de l'une pour améliorer l'exactitude de l'autre. On se concentre sur la création d'un système qui peut débruiter les cartes de profondeur capturées par la caméra moins chère en utilisant les infos de profondeur de la meilleure.
On commence par aligner les images prises par les deux caméras, en s'assurant qu'elles capturent la même scène sous légèrement différents angles. Ensuite, on crée un ensemble de données étiquetées en générant des cartes de profondeur propres, essentielles pour entraîner le modèle de débruitage.
Collecte de Données
Pour collecter des données, on a utilisé à la fois une caméra de moins bonne qualité (RealSense D435) et une caméra de meilleure qualité (Zivid One+). On a veillé à ce que les deux caméras soient positionnées au même endroit pour une collecte de données cohérente. On a capturé des images d'objets spécifiques et aussi des combinaisons de ces objets dans différentes positions. Ça nous a permis de créer un ensemble de données diversifié et complet pour notre processus d'entraînement.
L'ensemble de données résultant contient des paires d'images de profondeur et de couleur. Chaque paire d'images contient des données des deux caméras, offrant une vue plus claire des objets étudiés.
Technique de Masquage
Pour s'assurer que notre modèle se concentre uniquement sur les objets qui nous intéressent et ignore les infos de fond non pertinentes, on a développé une technique pour créer des masques. Ces masques identifient quelles parties des images contiennent les objets qui nous intéressent.
On commence par utiliser une méthode qui regroupe les points dans l'espace 3D en fonction de leurs surfaces lisses. Ça aide à distinguer les objets du fond. Ensuite, on applique une seconde étape de regroupement pour retirer les points qui ne font pas partie des objets principaux. Enfin, on combine les deux masques pour obtenir une représentation plus précise des positions des objets dans les images.
Entraînement du Réseau
Une fois notre ensemble de données prêt, on l'utilise pour entraîner un Réseau de neurones spécifiquement conçu pour débruiter les cartes de profondeur. L'architecture du réseau qu'on a choisie s'appelle UNet, qui est super adaptée pour des tâches de segmentation d'images.
Le processus d'entraînement consiste à alimenter le réseau avec des paires d'images de profondeur et leurs masques correspondants. Le réseau apprend à prédire des cartes de profondeur plus propres en se basant sur les entrées bruitées qu'il reçoit. Pour garantir de meilleures performances, on applique aussi diverses techniques pour réduire le risque de surajustement du modèle à notre ensemble de données limité.
Augmentation des Données
Étant donné que notre ensemble de données est relativement petit, on applique des techniques d'augmentation des données pour en augmenter artificiellement la taille. Plutôt que de simplement modifier les images originales, ce qui pourrait conduire à des valeurs de profondeur incorrectes, on opère dans l'espace 3D. En manipulant les nuages de points 3D dérivés des images, on peut créer de nouvelles variations des données tout en maintenant leur intégrité de profondeur.
Ça augmente la quantité de données d'entraînement disponibles, permettant au modèle d'apprendre des caractéristiques plus robustes et d'améliorer ses performances sur des données jamais vues.
Évaluation du Modèle
Après avoir entraîné le modèle, on évalue ses performances avec des métriques qui mesurent à quel point le modèle débruite bien les cartes de profondeur. On compare les performances de notre modèle par rapport aux images d'entrée originales et aux données de vérité terrain générées par la caméra de haute qualité.
La métrique principale qu'on utilise est la perte L1 moyenne, qui nous donne une idée de la proximité des cartes de profondeur prédites par rapport aux cartes de profondeur véritables. On regarde aussi différentes plages de différences de profondeur pour comprendre dans quels domaines le modèle performe le mieux.
Nos résultats montrent que le modèle réduit efficacement le bruit dans les cartes de profondeur, surtout pour les plus grandes divergences entre les valeurs de profondeur d'entrée et cibles. Même s'il a du mal avec les petites différences, dans l'ensemble, le modèle améliore significativement la clarté des infos de profondeur.
Comparaison avec les Travaux Précédents
On met nos résultats en contraste avec ceux d'études précédentes qui ont traité des tâches similaires. Bien que ces études aient utilisé des ensembles de données et des méthodes différentes, il est clair que notre approche est efficace pour débruiter les cartes de profondeur des objets YCB, qui présentent des défis uniques à cause de leurs formes et tailles variées.
Les performances de notre modèle indiquent qu'il offre une méthode précieuse pour améliorer les capacités de détection de profondeur en robotique, comblant le fossé entre les capteurs de moindre qualité et le besoin d'infos de profondeur précises.
Conclusion
En résumé, on a présenté une approche novatrice pour débruiter les cartes de profondeur d'une caméra de moindre qualité en utilisant des infos d'une caméra de meilleure qualité. En développant un processus structuré pour la collecte de données, le masquage et l'entraînement d'un réseau de débruitage, on a montré qu'il est possible d'obtenir des infos de profondeur plus claires qui peuvent améliorer la perception d'un robot de son environnement.
Bien que notre méthode ait ses limites, notamment en ce qui concerne la génération de masques et la complexité de l'alignement des différentes caméras, elle offre une voie prometteuse pour améliorer la perception de profondeur des robots. Les travaux futurs pourraient impliquer l'intégration de notre cadre dans des systèmes robotiques actifs pour des applications en temps réel, permettant aux robots d'apprendre dynamiquement de leurs environnements.
L'objectif est de rendre ces technologies plus robustes et adaptables pour une utilisation dans le monde réel, améliorant finalement l'efficacité des robots dans diverses applications, allant des environnements industriels aux tâches quotidiennes.
Titre: Multi-Object Self-Supervised Depth Denoising
Résumé: Depth cameras are frequently used in robotic manipulation, e.g. for visual servoing. The quality of small and compact depth cameras is though often not sufficient for depth reconstruction, which is required for precise tracking in and perception of the robot's working space. Based on the work of Shabanov et al. (2021), in this work, we present a self-supervised multi-object depth denoising pipeline, that uses depth maps of higher-quality sensors as close-to-ground-truth supervisory signals to denoise depth maps coming from a lower-quality sensor. We display a computationally efficient way to align sets of two frame pairs in space and retrieve a frame-based multi-object mask, in order to receive a clean labeled dataset to train a denoising neural network on. The implementation of our presented work can be found at https://github.com/alr-internship/self-supervised-depth-denoising.
Auteurs: Claudius Kienle, David Petri
Dernière mise à jour: 2023-05-09 00:00:00
Langue: English
Source URL: https://arxiv.org/abs/2305.05778
Source PDF: https://arxiv.org/pdf/2305.05778
Licence: https://creativecommons.org/licenses/by/4.0/
Changements: Ce résumé a été créé avec l'aide de l'IA et peut contenir des inexactitudes. Pour obtenir des informations précises, veuillez vous référer aux documents sources originaux dont les liens figurent ici.
Merci à arxiv pour l'utilisation de son interopérabilité en libre accès.