(Nwe le 19 octobre 2023) Les systèmes de détection de profondeur tels que les caméras ToF à temps de vol peuvent être utilisés pour générer des images de profondeur de l'environnement pour HoloLens 2, où chaque pixel de l'image de profondeur représente la distance jusqu'au point correspondant dans le environnement . Dans l'imagerie ToF, la distance d'un point sur la surface d'imagerie dans l'environnement dépend de la durée de l'intervalle de temps nécessaire à la lumière de la caméra ToF pour se rendre à ce point, puis revenir au capteur de la caméra ToF.
L'imagerie ToF basée sur la phase est une variante de l'imagerie ToF où la profondeur est calculée en fonction du déphasage de la lumière modulée en amplitude réfléchie par l'objet. En raison du mouvement de la caméra ToF entre les acquisitions de données de phase, les données de phase intra-trame peuvent être relativement décalées. Par exemple, dans une première acquisition de données de phase intra-trame, un pixel peut détecter des données de phase à une première fréquence de modulation en un emplacement dans la scène. Ensuite, pendant l'acquisition de données de phase dans la trame suivante, les pixels peuvent détecter des données de phase à un emplacement de scène différent à une seconde fréquence de modulation. Les données de phase à différentes fréquences deviennent incohérentes, ce que l'on peut appeler un flou de mouvement.
Ainsi, dans la demande de brevet intitulée « Correction de mouvement pour l'imagerie de profondeur à temps de vol », Microsoft a proposé une méthode de correction de mouvement pour l'imagerie ToF.
Pour ce faire, l'image AB de luminosité active correspondant à la première fréquence de modulation de la lumière d'éclairage est comparée à l'image AB correspondant à la deuxième fréquence de modulation de la lumière d'éclairage pour déterminer la translation bidimensionnelle intra-trame. La translation 2D intra-image correspond au mouvement estimé de la caméra par rapport à la scène imagée.
La traduction 2D intra-image est ensuite appliquée aux données de phase pour aider à aligner les images de phase et former des données de phase corrigées. Ensuite, un décompactage de phase est effectué sur les données de phase corrigées pour obtenir une image de profondeur tridimensionnelle corrigée intra-trame. La traduction 2D intra-image peut également être utilisée pour effectuer une correction de mouvement sur des images AB intra-image. Par exemple, l'image AB corrigée intra-trame peut être obtenue en faisant la moyenne des images AB corrigées.
Dans un exemple comme celui-ci, la première image AB de la première image est comparée à la deuxième image AB de la deuxième image pour déterminer la traduction 2D inter-image. La translation inter-images est une estimation du mouvement entre les images. Une traduction 2D inter-trames peut ensuite être appliquée à l'image de profondeur de la première trame pour former une image de profondeur générée entre les trames. La translation bidimensionnelle inter-trame peut être déterminée à partir de l'image AB corrigée intra-trame.
De plus, en tant qu'estimation du mouvement de la caméra, la traduction 2D inter-images peut être générée et utilisée dans diverses routines de post-traitement temporel ou services logiciels. Par conséquent, les modes de réalisation décrits dans le brevet peuvent aider à obtenir une correction du flou de mouvement de données de profondeur 3D à l'aide de données d'image AB intra-trame 2D. En utilisant des données 2D, la correction de mouvement peut être effectuée en temps réel avec des performances de calcul relativement efficaces par rapport à l'utilisation de données de profondeur 3D pour la correction du flou de mouvement.
La figure 2 montre un exemple incluant une caméra ToF 202. Parmi eux, la caméra ToF est un système d'imagerie de profondeur ToF basé sur la phase 200. La caméra ToF 202 comprend un réseau de capteurs 204 comprenant une pluralité de pixels ToF 206 configurés chacun pour acquérir un échantillon de lumière qui capture des données de phase, un contrôleur 208 et un système d'objectif 210.
Le contrôleur 208 est configuré pour collecter et traiter les données des pixels ToF 206 du réseau de capteurs 204 afin de construire une image de profondeur. Le contrôleur 208 peut inclure des instructions exécutables pour effectuer un débruitage et/ou un déroulement de phase.
Le système d'imagerie de profondeur 200 comprend à la fois un émetteur de lumière modulé 230 et un obturateur électronique analogique et/ou modulé numériquement 232 pour le réseau de capteurs 204 afin de contrôler l'intégration de la lumière à travers le réseau de capteurs 204. L'émetteur de lumière modulé 230 peut être configuré pour émettre un rayonnement électromagnétique de n'importe quelle fréquence détectable par le pixel ToF 206.
La lumière modulée peut être modulée à différentes fréquences séquentiellement ou simultanément, et le réseau de capteurs 204 est configuré pour échantillonner la lumière réfléchie par l'émetteur de lumière modulée 230 vers la surface 220 et renvoyée vers la caméra. Chaque pixel de détection ToF 206 du réseau de capteurs 204 peut comprendre une ou plusieurs prises de pixels pour intégrer des signaux lumineux réfléchis à différents intervalles de temps et ainsi déterminer des déphasages.
Pour chaque fréquence de modulation, le réseau de capteurs 204 est contrôlé pour échantillonner la lumière à plusieurs angles de phase de la lumière modulée en amplitude provenant de la source lumineuse et déterminer l'échantillon de phase pour chaque fréquence de modulation à partir des multiples échantillons de lumière pour la fréquence de modulation. Les échantillons de phase peuvent ensuite être déroulés pour obtenir une valeur de profondeur pour chaque pixel.
En raison de la périodicité de la lumière modulée, la phase totale mesurée se répète tous les 2π. Étant donné que n(k) ne peut pas être mesuré directement par des pixels ToF basés sur la phase, la phase totale et donc la distance réelle associée à la mesure sont ambiguës. Par conséquent, dans l’imagerie ToF basée sur la phase, la distance pouvant être mesurée (plage sans flou) est limitée par la fréquence de modulation.
Deux fréquences de modulation différentes ou plus peuvent être utilisées pour augmenter la plage sans ambiguïté, puis les données de déphasage collectées peuvent être réparties pour déterminer avec précision la distance.
La figure 3 illustre schématiquement un exemple de données d'image ToF 300 pour une pluralité de K fréquences de modulation. Les données 300 représentent des données qui peuvent être acquises par le système d'imagerie de profondeur 200 pendant l'acquisition de trames multifréquences.
Dans l'exemple illustré, les données de profondeur comprennent un tableau M×N de données pour chacune des K fréquences de modulation, ce qui donne une grille M×N de données de profondeur intra-trame 302a-c, où dans chaque grille chaque pixel 304 représente une valeur de mesure obtenue à une fréquence de modulation de lumière d'éclairage correspondante K parmi K fréquences de modulation.
La phase mesurée permet de calculer la valeur de profondeur associée au pixel. Mais comme mentionné ci-dessus, dans l'imagerie ToF basée sur la phase, la distance pouvant être mesurée (plage sans flou) est limitée par la fréquence de modulation. Par conséquent, un ensemble de fréquences de modulation K ≥ 2 K peut être utilisé pour augmenter la portée, permettant ainsi de démêler les informations de phase pour déterminer avec précision la distance.
Le déballage de phase est une méthode permettant de lever l'ambiguïté des données de déphasage et d'identifier les valeurs de distance correctes en éclairant une scène avec plusieurs lumières modulées en amplitude de différentes fréquences, car l'ambiguïté de distance est différente pour chaque fréquence de lumière d'éclairage.
Mais comme mentionné ci-dessus, si la caméra de profondeur ToF est en mouvement, des erreurs de déroulement de phase peuvent survenir. Étant donné que l'acquisition des données de profondeur à chaque fréquence est effectuée séquentiellement, l'image de phase et l'image AB sont temporairement séparées dans une seule image.
Par exemple, l'image de phase intra-trame 306a peut inclure des données de phase ƒ1 de première fréquence acquises vers le début de la trame, l'image de phase intra-trame 306b peut inclure des données de phase ƒ2 de deuxième fréquence acquises vers le milieu de la trame, la phase intra-trame l'image 306b peut inclure des données de phase ƒ3 de troisième fréquence acquises vers la fin de la trame.
Ainsi, si la caméra de profondeur ToF se déplace entre les acquisitions intra-trame, les données de phase aux trois fréquences différentes peuvent être décalées et mal alignées. Des données de phase incohérentes peuvent entraîner des erreurs lors du déroulement des phases.
Ainsi, Microsoft a proposé une solution utilisant les données d'image AB pour estimer le mouvement et déterminer la traduction 2D.
La société note que même si les données de profondeur peuvent être utilisées, la détermination de la traduction 2D basée sur les données d'image AB peut être plus robuste en raison des différences de luminosité actives entre les objets de la scène. Une correction de mouvement intra-image peut ensuite être effectuée sur les données de phase à l'aide d'une traduction 2D. Effectuer un déroulement de phase sur des données de phase corrigées intra-image peut aider à éviter les erreurs de déroulement dues au flou de mouvement.
La figure 4 montre un exemple de méthode pour effectuer une telle correction sur les données de profondeur avant le déroulement de la phase. Le procédé 400 peut être mis en œuvre dans un système informatique qui reçoit des données d'une caméra de profondeur ToF.
En 402, une collecte de trames multifréquences est effectuée, dans laquelle plusieurs échantillons de phase intra-trame sont collectés par le capteur d'image ToF. Des échantillons de phase intra-trame sont collectés pour chacune d'une pluralité de fréquences de modulation de lumière d'éclairage (ƒ1, ƒ2, ƒ3) pour former des données de profondeur intra-trame correspondantes 404a-c. Dans cet exemple, les données de profondeur intra-trame 404a sont obtenues en premier, les données de profondeur intra-trame 404b sont obtenues en deuxième lieu, et les données de profondeur intra-trame 404c sont obtenues en troisième, comme le montre la flèche temporelle.
En 406, une correction d'étalonnage du signal est effectuée pour obtenir les données de phase 408 et les données de luminosité active 410. Comme mentionné ci-dessus, les données de profondeur intra-image à différentes fréquences peuvent être relativement décalées en raison du mouvement de la caméra. Par conséquent, le procédé 400 compare les données de luminosité active 410 pour estimer et corriger le mouvement.
Ici, l'image intra-AB 410a est comparée à l'image intra-AB 410b pour déterminer la première translation 2D intra-trame 412. La translation bidimensionnelle de AB1 vers AB2 peut être exprimée par [Δu, Δv]1,2, où Δu est le déplacement du pixel dans la direction x et Δv est le déplacement du pixel dans la direction y. La traduction intra-2D 412 est une estimation de mouvement entre les données de profondeur intra-image 404a et les données de profondeur intra-image 404b.
Ensuite, l'image intra AB 410a est comparée à l'image intra AB 410c pour déterminer une deuxième translation intra 2D 414, notée [Δu, Δv] 13.
Dans un mode de réalisation, l'image intra-AB 410b peut être comparée à l'image intra-AB 410c pour déterminer une troisième translation 2D intra-trame. Dans d'autres exemples, toutes paires d'images AB intra-trame appropriées peuvent être comparées pour déterminer les traductions 2D intra-trame correspondantes. Toute méthode appropriée peut être utilisée pour comparer les images AB et déterminer la traduction. Dans un exemple, les caractéristiques sont extraites d'images AB, transformées en cartes de caractéristiques et utilisées pour comparer des images.
Après avoir déterminé la translation 2D, les données de phase peuvent être corrigées à l'aide de la translation déterminée. Dans le mode de réalisation représenté sur la figure 4, une translation bidimensionnelle intra-trame 412 est appliquée à l'image de phase 408b pour corriger l'image de phase afin de former une image de phase corrigée 420b. De même, une translation bidimensionnelle intra-trame 414 est effectuée sur l'image de phase 408c pour corriger l'image de phase, formant une image de phase corrigée 420c.
Par conséquent, les données de phase corrigées 420 représentent les données de phase qui ont été « réalignées » sur l'image de phase 408a. Dans un exemple, une ou plusieurs traductions bidimensionnelles peuvent être appliquées pour former une image de phase corrigée alignée avec l'image de phase 408b ou 408c.
En 422, le procédé 400 consiste également à effectuer un déroulement de phase sur les données de phase corrigées 420 pour former une image de profondeur 424. Puisque les images de phase corrigées 420b, 420c peuvent être réalignées avec l'image de phase 408a, le déroulement de phase en 422 peut produire relativement moins d'erreurs de déroulement que dans l'exemple où la correction du flou de mouvement est ignorée.
Ainsi, la méthode 400 peut aider à obtenir de meilleures performances dans le traitement des données de profondeur 404 pour former l'image de profondeur 424.
De plus, l'application de la traduction 2D intra-image peut être réalisée par convolution et peut donc être combinée avec des processus de filtrage spatial et temporel qui utilisent également la convolution. Dans le même temps, en tant qu'estimation du mouvement de la caméra, la traduction 2D intra-image déterminée peut être utile pour diverses applications de post-traitement, telles que les filtres temporels, l'estimation de trajectoire, l'estimation de région dynamique ou la cartographie. Des techniques similaires peuvent être utilisées pour corriger des images intra-AB et former des images AB intra-corrigées.
En référence à la figure 5, la méthode 500 utilise une translation bidimensionnelle intra-trame 412, 414 pour former des données AB corrigées 510. Dans un exemple, la méthode 500 est exécutée conjointement avec la méthode 400. Dans d'autres exemples, la méthode 500 est exécutée séparément de la méthode 400.
Comme le montre la figure 5, la translation bidimensionnelle intra-trame 412 est appliquée à l'image AB intra-trame 410b pour corriger l'image afin de former une image AB corrigée 510b. En outre, une translation bidimensionnelle intra-trame 414 est appliquée à l'image AB 410c pour former une image AB corrigée 510c. Avec l'image intra AB 408a, les images AB corrigées 510b-c forment des données AB corrigées 510.
En 518, le procédé 500 consiste en outre à faire la moyenne des données AB corrigées 510 pour former une image AB corrigée intra-trame 520. L'image AB intra-corrigée 520 peut être émise pour un traitement ultérieur et/ou émise sur un écran.
Les images AB corrigées intra-image peuvent également être utilisées pour générer des images de profondeur inter-image. En plus de corriger le flou de mouvement dans les images de profondeur, la correction peut également être effectuée entre les images.
Brevets associés : Brevet Microsoft | Correction de mouvement pour l'imagerie de profondeur en temps de vol
La demande de brevet Microsoft intitulée « Correction de mouvement pour l'imagerie de profondeur en temps de vol » a été initialement soumise en mars 2022 et a été récemment publiée par l'Office américain des brevets et des marques.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!