IDS simplifie le traitement des données de caméra 3D

La perception de l'environnement avec des données de caméra 3D permet aujourd'hui la mise en œuvre de nombreuses applications innovantes qui, jusqu'à ce jour, ne pouvaient être réalisées que par des personnes. La robotique permet une détection des objets digne de l'homme et une réponse automatique à différentes situations. Outre les dimensions spatiales et la position dans l'atelier, il est également possible de tirer des conclusions précises sur les divergences ou les imperfections en comparant les données avec des objets de référence.

Le traitement des caméras 3D et de leurs données est très complexe. Il exige beaucoup de travail en amont et une période d'installation lors de la création d'une application. Dans le cadre d'applications multicaméras simples ou en association avec la robotique, des calibrages sophistiqués de plusieurs systèmes de coordonnées sont nécessaires avant de pouvoir réellement utiliser les données. En raison de la forte dépendance au système, l'application véritable doit souvent être développée directement sur le système pour générer des données exploitables. Pour les applications engageant des lieux de travail plus conséquents, le champ de vision et la résolution d'un grand nombre de caméras 3D ne sont également pas suffisants.

Ces exigences sont prises en compte dans le développement du nouveau kit de développement logiciel Ensenso SDK 2.2 et des nouvelles variantes 5 MP de la série Ensenso X. De nombreux détails ont ainsi été améliorés au profit d'une intégration nettement plus simple.

Optimisation d'une vaste gamme de modèles en termes de vitesse et de qualité

Les caméras 3D Ensenso conviennent aussi bien aux applications fixes que mobiles. Pour la préhension dans les bacs (Bin Picking) ou les comparaisons d'objets extrêmement précises, la technologie FlexView associée aux algorithmes SC sophistiqués (corrélation séquentielle) optimise l'exactitude des résultats des modèles de caméras N35, X36 1,3 MP, X36 5 MP. De plus, un projecteur haute performance installé de manière mobile projette un modèle aléatoire sur l'objet de test générant une image de l'objet de test avec une structure superficielle différente. Les algorithmes SC calculent ainsi les données d'objet 3D qui bénéficient à chaque fois de deux images supplémentaires (jusqu'à 16) pour augmenter la précision.

De même, pour les applications présentant des objets en mouvement, comme sur les convoyeurs en continu ou les chutes, dans lesquelles la caméra elle-même bouge, les modèles de caméras Ensenso N30, X30 1,3 MP, X30 5 MP sont parfaits. Les algorithmes SGM (Semi-Global-Matching) optimisés peuvent aussi parvenir à une précision remarquable des informations de profondeur à partir de l'enregistrement d'une seule paire d'images. Le sélecteur de caméras Ensenso proposé sur la page Web de la société IDS aide ainsi à trouver la caméra adaptée à chaque application.

Des yeux plus grands avec un champ de vision plus large

L'intégration de deux capteurs d'image Sony IMX264 5 MP permet d'augmenter la résolution 3D de la famille de caméras 3D Ensenso d'environ 35 % par rapport à la variante actuelle 1,3 MP, pour un gain simultané d'environ 20 % en termes de champ de vision. Pour détecter complètement une euro-palette chargée d'un volume de 120 x 80 x 100 cm, la distance entre la caméra et l'objet du test peut ainsi être réduite de 1,5 m à seulement 1,25 m. Avantage : la résolution native des capteurs est également exploitée bien plus efficacement. Le faible bruit numérique des capteurs Sony ajouté à cela améliore de façon spectaculaire le calcul des informations de profondeur (précision Z) de 0,43 mm à 0,2 mm.

Adéquation avec des applications embarquées grâce au calcul accéléré

Des capteurs plus performants génèrent naturellement des quantités de données plus importantes ; les temps de traitement qui en résultent peuvent donc être plus longs jusqu'à l'obtention des résultats. Des études de référence avec un modèle 5 MP ont confirmé des temps de traitement environ quatre fois plus longs pour l'appariement des images d'une paire ou jusqu'à l'obtention d'une image 3D complète. Cependant, les temps de calcul complet d'image 3D d'une corrélation séquentielle avec 16 paires d'images 5 MP haute résolution s'élèvent seulement à 2,5 secondes environ. Pour la plupart des applications, ces temps sont largement suffisants. Pour les applications ayant des exigences plus drastiques en termes de vitesse, un appariement semi-global (Semi Global Matching, SGM) avec une paire d'images 5 MP fournit une précision suffisante avec un temps de calcul de 1,1 seconde seulement.

Pour contrecarrer cependant les quantités plus importantes de données et les ralentissements associés, d'importants calculs ont été optimisés pour l'architecture CUDA. En fonction du processeur graphique utilisé et de la configuration des algorithmes correspondants, la capacité de calcul supplémentaire des processeurs graphiques NVIDIA accélère quasiment par cinq les processus de traitement.

Avec la prise en charge CUDA, les applications 3D deviennent également intéressantes pour l'environnement intégré. Exemple de plateforme adaptée : la carte NVIDIA Jetson TX2. Tandis que les calculs stéréo sont capables de recourir ici à 256 cœurs CUDA, un traitement d'image en aval fonctionne comme HALCON pour les périphériques intégrés sur les processeurs ARM disponibles.

Capacité multicaméra

Les bibliothèques logicielles Ensenso offrent une série de fonctions utiles pour utiliser plusieurs caméras dans une application. Grâce à différentes représentations et positions, les systèmes de coordonnées doivent comparer plusieurs caméras entre elles ou avec des points de repère du monde réel et être calibrés sur un système de coordonnées d'objet uniforme. Si les caméras doivent fonctionner avec un robot dont les mouvements doivent être coordonnés avec les données des caméras, un calibrage main-œil peut également être réalisé. Un assistant de calibrage intégré assiste l'utilisateur lors de cette opération.

Outre les caméras stéréo Ensenso supplémentaires, le SDK permet aussi d'intégrer et de calibrer très simplement des caméras uEye 2D monoculaires dans une application. La qualité des résultats de test et de mesure dans les applications 3D s'améliorent de manière significative grâce aux capacités des caméras 2D. Là où les caméras stéréo présentent des difficultés à identifier les objets dans les plages limites, les caméras 2D sont d'une aide incroyable avec la détection des contours et la reconnaissance des couleurs. Par ailleurs, les caméras 2D permettent aussi de capturer des informations supplémentaires comme les contenus de codes-barres. C'est la raison pour laquelle le logiciel Ensenso prend parfaitement en charge l'intégration des deux technologies. Les modèles de calibrage développés spécialement à cette fin facilitent aussi la conception et l'ajustement dans des systèmes multicaméra. Grâce à plusieurs plaques de calibrage logées de façon partiellement dissimulée dans les caméras, la bibliothèque NxLib détecte des systèmes de coordonnées d'objet de taille quelconque et les positions des caméras entre elles, puis peut les comparer.

La virtualisation au service du développement et du dépannage

Les développeurs d'application devraient surtout bénéficier des extensions « File Cameras » et « Virtual Cameras ». Pour améliorer les algorithmes et les processus, il est essentiel de pouvoir déboguer à plusieurs reprises des données identiques. Une caméra-fichier se comporte sur le système comme une véritable caméra, à la différence que ses images proviennent d'un dossier local avec des jeux de données enregistrés. Il est ainsi possible de re-simuler des séquences d'application avec les données sans avoir à accéder au système réel ou à reproduire les situations. C'est également un outil parfait pour détecter les erreurs : les utilisateurs peuvent enregistrer des jeux de données problématiques pour les mettre à la disposition de spécialistes du traitement des images. Les erreurs peuvent ainsi être reproduites simplement.