Cet article de blog est la deuxième partie de notre série de blogs sur la vision 3D par ordinateur. Si vous n'avez pas lu le premier article, vous pouvez le consulter ici. Ce deuxième article (Partie 2) fournit une vue d'ensemble des méthodes d'acquisition optique 3D. Nous abordons les différences entre les divers types de capteurs et les avantages qu'ils peuvent apporter à des cas d'utilisation spécifiques. Nous abordons également les différents formats de données 3D et les options de stockage.
Nous avons vu dans le premier billet de cette série que la capacité à percevoir et à interpréter la structure tridimensionnelle du monde environnant devient de plus en plus importante dans un large éventail d'industries. Mais comment les machines peuvent-elles obtenir cette couche supplémentaire d'informations ? Il existe un large éventail de méthodes d'acquisition optique 3D qui leur permettent de capturer (ou d'estimer) la profondeur et les informations spatiales de leur environnement.
La figure 1 présente différentes techniques d'acquisition classées en méthodes actives et passives. Les méthodes actives nécessitent une source lumineuse externe qui émet un signal et mesure le signal réfléchi ou renvoyé, alors que les méthodes passives n'en nécessitent pas.
En suivant la structure du pipeline présentée dans l'article précédent (voir également la figure 2), nous nous concentrerons dans cette deuxième partie sur la capture et le stockage des données 3D. Nous nous concentrerons plus particulièrement sur quatre méthodes principales, à savoir la stéréovision, la lumière structurée, le temps de vol et le LiDAR. Pour chaque méthode, nous explorerons le principe de fonctionnement, les avantages, les inconvénients et les cas d'utilisation réels où la technique excelle. Enfin, nous conclurons en vous fournissant une carte de décision pour vous aider à choisir la méthode la plus appropriée en fonction de différents facteurs, ainsi qu'une brève discussion sur les tendances futures en matière d'acquisition optique 3D.
En fournissant une compréhension approfondie de ces méthodes d'acquisition optique 3D, nous visons à doter les lecteurs des connaissances nécessaires pour prendre des décisions éclairées lors de la sélection de la bonne technique pour une application ou une industrie spécifique.
TLDR : Pour ceux qui n'ont pas le temps ou la flemme de lire l'article complet, nous fournissons à la fin une carte de décision qui indique quand utiliser chaque type de capteur en fonction des exigences des différentes applications et des facteurs externes. Elle résume l'article d'une manière courte, compacte et visuelle.
La vision stéréo, également appelée vision stéréoscopique, est une méthode d'acquisition 3D passive qui imite la façon dont les humains perçoivent la profondeur. Elle utilise deux caméras ou plus, positionnées à une certaine distance (appelée ligne de base), pour capturer des images de la même scène à partir de points de vue légèrement différents. Ces images, appelées paires stéréoscopiques, sont ensuite traitées par un algorithme de correspondance stéréoscopique afin d'identifier les points correspondants (caractéristiques) dans les deux images. La disparité entre ces points est calculée, c'est-à-dire la différence entre leurs positions horizontales dans les images de gauche et de droite.¹
En exploitant la géométrie de la caméra et en utilisant la triangulation, la profondeur (ou les coordonnées 3D) de chaque point de la scène peut être déterminée. Les détails de la méthode d'estimation de la profondeur n'entrent pas dans le cadre de ce billet de blog. Toutefois, les personnes intéressées par un traitement plus mathématique du sujet peuvent consulter les documents suivants.
Les capteurs de vision stéréoscopique génèrent deux principaux types de données : les couples stéréoscopiques (images gauche et droite) et les cartes de profondeur (cartes de disparité). En combinant les informations de profondeur de la carte de profondeur avec les images 2D originales, une représentation 3D de la scène peut être reconstruite.
Les systèmes de vision stéréo présentent des caractéristiques précieuses :
D'autre part, ces derniers souffrent généralement de :
Alors que les inconvénients évoqués précédemment concernent la vision stéréoscopique passive, les techniques de vision stéréoscopique active utilisent une source lumineuse, telle qu'un laser ou une lumière structurée, pour éclairer la scène capturée. Cette approche améliore la correspondance stéréo et permet à la méthode d'être performante dans des conditions de faible luminosité. Cependant, elle a un coût plus élevé en raison de la nécessité d'un composant supplémentaire - le projecteur.
La vision stéréoscopique est une méthode d'acquisition populaire, principalement en raison de sa flexibilité et de son faible coût. Les applications de la vision stéréoscopique dans le monde réel sont nombreuses et peuvent être observées dans :
En résumé, la stéréovision est une méthode d'acquisition 3D polyvalente et rentable qui convient à toute une série d'applications, en particulier lorsque des informations en temps réel sur la profondeur sont nécessaires. Toutefois, sa dépendance à l'égard de la texture et sa sensibilité aux changements d'éclairage peuvent poser des problèmes dans certains scénarios.
La lumière structurée est une méthode d'acquisition 3D optique active qui consiste à projeter un motif connu (souvent une série de bandes ou une grille) sur la scène ou l'objet à numériser. La déformation du motif projeté sur la surface de l'objet est capturée par une caméra placée à une position et une orientation connues par rapport au projecteur. La relation entre le projecteur, la caméra et la déformation du motif permet d'extraire des informations sur la profondeur.⁴
Les données générées par les systèmes à lumière structurée comprennent l'image 2D capturée avec le motif déformé et le nuage de points 3D ou la carte de profondeur qui en résulte, qui représentent la structure 3D de l'objet ou de la scène scannée. En fonction des caractéristiques du motif projeté/codé, différents algorithmes peuvent être utilisés pour décoder le motif déformé et calculer les informations de profondeur.
Les installations d'éclairage structuré bénéficient des avantages suivants
Les problèmes associés à ces configurations sont les suivants :
Les situations réelles dans lesquelles cette méthode d'acquisition est la plus efficace sont les suivantes :
Les capteurs de temps de vol (ToF) sont une méthode d'acquisition 3D optique active qui mesure le temps nécessaire à la lumière émise, généralement la lumière infrarouge (IR), pour aller du capteur à l'objet et en revenir. Le capteur ToF émet des impulsions lumineuses (capteurs ToF directs) ou des ondes continues (capteurs ToF indirects), qui sont réfléchies par la surface de l'objet et détectées par le capteur. La lentille d'imagerie du capteur collecte la lumière réfléchie de la scène et la convertit en données de profondeur sur chaque pixel de la matrice. La profondeur (ou la distance par rapport à l'objet) est calculée en connaissant la vitesse de la lumière et en mesurant le temps d'aller-retour de la lumière. Cette carte de profondeur est une représentation en 2D de la structure en 3D de la scène, et elle peut être combinée avec des données supplémentaires, telles que des images RVB provenant d'une autre caméra, pour créer une représentation en 3D plus complète.⁷
Les bonnes propriétés des capteurs ToF sont les suivantes :
Les inconvénients de ces capteurs sont les suivants :
Les capteurs de temps de vol sont couramment utilisés dans :
Le LiDAR (Light Detection and Ranging) fonctionne selon le principe du temps de vol (ToF), à l'instar des capteurs ToF. Cela signifie qu'il détermine la distance en calculant le temps de trajet aller-retour de la lumière et la vitesse de la lumière. Cependant, le LiDAR utilise généralement plusieurs faisceaux laser (sources lumineuses à haute puissance) et un mécanisme rotatif ou oscillant pour couvrir une plus grande zone ou obtenir une vue complète à 360 degrés de l'environnement. Les faisceaux laser sont généralement orientés dans une direction et un angle spécifiques, et la distance est mesurée en fonction de ces coordonnées. Les données obtenues sont donc un nuage de points (et non une carte de profondeur) et une représentation directe de l'environnement, fournissant des informations spatiales précises.
Les données générées par les capteurs LiDAR comprennent les informations brutes de synchronisation et d'intensité pour chaque impulsion laser et le nuage de points 3D qui en résulte et qui représente la structure 3D de l'environnement scanné. Le nuage de points contient les coordonnées X, Y et Z de chaque point dans l'espace 3D et, dans certains cas, des informations supplémentaires telles que l'intensité ou la couleur.
Les avantages du LiDAR sont les suivants
Les propriétés les moins souhaitables de ces capteurs sont les suivantes :
Maintenant que nous avons examiné les différents types de méthodes d'acquisition 3D, il est important de réfléchir au type de données que ces capteurs génèrent et à la meilleure façon de les stocker. Il est également important de réfléchir au type de données que ces capteurs génèrent et à la meilleure façon de les stocker.
Les données collectées par ces capteurs se présentent généralement sous l'une des formes suivantes : cartes de profondeur ou nuages de points.
Pour générer un nuage de points à partir d'une carte de profondeur 2D, les informations de profondeur (coordonnées Z) de chaque pixel de la carte de profondeur sont combinées avec les informations spatiales correspondantes (coordonnées X et Y) du pixel dans le champ de vision du capteur. Ce processus est appelé "rétroprojection" ou "déprojection".
Le processus de rétroprojection implique l'application des paramètres intrinsèques et extrinsèques du capteur, tels que la longueur focale, la résolution du capteur et la pose du capteur, pour convertir les informations de la carte de profondeur 2D en coordonnées 3D. Ce processus est généralement mis en œuvre dans un logiciel et est disponible dans diverses bibliothèques open-source telles que Point Cloud Library (PCL), Open3D et OpenCV.
Il existe deux grandes catégories de formats pour le stockage des données de nuages de points : ASCII et LAS/LAZ.¹³
Les formats ASCII utilisent des fichiers de texte brut où les coordonnées X, Y et Z de chaque point sont séparées par un caractère, tel qu'un espace ou une virgule. Ces fichiers peuvent également inclure un en-tête de tableau avec des métadonnées et des informations supplémentaires pour chaque point, telles que l'intensité ou l'amplitude. Les extensions courantes des fichiers ASCII sont TXT, XYZ, PTS et PTX. Les fichiers OBJ peuvent également être utilisés pour stocker des données de nuages de points, bien que cette méthode puisse être inefficace pour les grands ensembles de données (OBJ est destiné à stocker les propriétés géométriques des objets et inclura des quantités inutiles d'informations pour les données de nuages de points).
En revanche, les formats LAS/LAZ sont des formats de fichiers binaires spécialement conçus pour le stockage et l'échange de données lidar.
Étant donné que ces données ne sont pas structurées, il est courant de les stocker dans un lac de données, soit dans le nuage, soit sur site, en fonction de votre configuration. Les services de stockage dans le nuage tels que Google Cloud Storage, Amazon S3 et Azure Blob Storage peuvent être utilisés pour stocker et gérer de grands ensembles de données ponctuelles.
Dans cet article de blog, nous avons exploré différentes méthodes d'acquisition 3D optiques, notamment la stéréovision, la lumière structurée, le temps de vol et le LiDAR. Chaque technique a ses propres principes de fonctionnement, avantages et inconvénients, ce qui les rend adaptées à différentes applications et scénarios. La carte de décision ci-dessous (figure 9) permet de choisir facilement le capteur le plus approprié à utiliser, compte tenu d'un ensemble d'exigences commerciales ou pratiques communes. N'oubliez pas que cette carte de décision est une ligne directrice générale et que le meilleur choix pour une application spécifique peut dépendre de divers autres facteurs.
Outre les méthodes évoquées, il convient également de noter l'émergence de systèmes hybrides qui combinent plusieurs techniques d'acquisition 3D afin de surmonter les limitations et d'améliorer les performances globales. Les progrès réalisés dans le domaine du matériel et des logiciels amélioreront le traitement en temps réel des données 3D, ce qui permettra une analyse plus rapide et plus efficace des scènes. L'intégration de la technologie de détection 3D et de la vision par ordinateur à d'autres technologies telles que la réalité augmentée, la réalité virtuelle et la robotique créera de nouvelles possibilités d'interaction et d'automatisation. Et bien sûr, comme les techniques d'apprentissage automatique continuent de s'améliorer, nous pouvons nous attendre à voir apparaître des algorithmes plus précis et plus robustes qui faciliteront la reconstruction en 3D d'environnements complexes, ainsi que la détection et le suivi d'objets avec une meilleure connaissance de l'espace.
Nous espérons que cet article de blog vous a fourni des informations précieuses sur le monde des méthodes d'acquisition 3D optiques et qu'il vous aidera à prendre des décisions éclairées lors de la sélection de la technique appropriée à vos besoins.
[1] - Sanja Fidler. Introduction à la compréhension d'images : Profondeur à partir de la stéréo. Université de Toronto - CSC420, 2021.
[2] - Institut de recherche Toyota. Voir clair : Faire progresser la vision stéréo robotique.
[3] - Stereo Labs. Solution d'analyse spatiale.
[4] - D. Scharstein et R. Szeliski, "High-accuracy stereo depth maps using structured light," (Cartes de profondeur stéréo de haute précision utilisant la lumière structurée). 2003 IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2003. Proceedings.Madison, WI, USA, 2003, pp. I-I, doi : 10.1109/CVPR.2003.1211354.
[5] - Zivid Applications. Inspection de la maintenance industrielle.
[6] - "Technologie des scanners dentaires 3d de laboratoire : Lumière structurée ou balayage laser ?". BIZ Dental.
[7] - Larry Li. "Caméra à temps de vol - Introduction". Texas Instruments.
[8] - Pat Marion. "Retourner le scénario avec Atlas". Boston Dynamics.
[9] - Magic Leap 2un casque immersif avec temps de vol en 3D.
[10] - Liu, Shan. 3D Point Cloud Analysis : Traditional, Deep Learning, and Explainable Machine Learning Methods (Analyse de nuages de points 3D : méthodes traditionnelles, d'apprentissage profond et d'apprentissage automatique explicable). Cham : Springer International Publishing AG, 2022.
[11] - "Des solutions lidar plus intelligentes pour l'avenir". Waymo, 21 septembre 2022.
[12] - "3 façons dont le LiDAR peut transformer l'agriculture moderne". ACI Corporation.
[13] - "Examen des options de stockage et d'accès aux données des nuages de points dans le nuage". NASA ESDIS Standards Coordination Office, février 2022.