Vue d’ensemble de la caméra locatable
HoloLens inclut une caméra universelle montée à l’avant de l’appareil qui permet aux applications de voir ce que l’utilisateur voit. Les développeurs ont accès et contrôlent l’appareil photo, comme ils le feraient pour les caméras couleur sur les smartphones, les portables ou les ordinateurs de bureau. Les mêmes API windows media universelles et Windows Media Foundation qui fonctionnent sur les appareils mobiles et de bureau fonctionnent sur HoloLens. Unity a encapsulé ces API Windows pour faire abstraction des fonctionnalités d’utilisation de la caméra sur HoloLens. Les tâches de fonctionnalité incluent la prise de photos et de vidéos régulières (avec ou sans hologrammes) et la localisation de la position de l’appareil photo dans la scène et de sa perspective.
Informations sur la caméra de l’appareil
HoloLens (première génération)
Appareil photo/vidéo (PV) fixe avec la balance des blancs automatique, l’exposition automatique et le pipeline de traitement d’image complet.
Led de confidentialité blanche face au monde qui s’allume chaque fois que l’appareil photo est actif.
La caméra prend en charge les modes suivants (tous les modes sont des proportions de 16:9) à 30, 24, 20, 15 et 5 ips :
Vidéo Préversion Encore Champ de vue horizontal (H-FOV) Utilisation suggérée 1 280 x 720 1 280 x 720 1 280 x 720 45 deg (mode par défaut avec stabilisation vidéo) N/A N/A 2048x1152 67 deg Image fixe de résolution la plus élevée 1408 x 792 1408 x 792 1408 x 792 48 deg Résolution de suranalyse (remplissage) avant la stabilisation vidéo 1344 x 756 1344 x 756 1344 x 756 67 deg Mode vidéo FOV volumineux avec suranalyse 896 x 504 896 x 504 896 x 504 48 deg Mode basse consommation/basse résolution pour les tâches de traitement d’images
HoloLens 2
Caméra photo/vidéo (PV) autofocus avec balance des blancs automatique, exposition automatique et pipeline de traitement d’image complet. Le système de mise au point automatique peut ajuster la distance de l’objet de 30 cm à l’infini. La longueur focale effective de l’objectif de caméra pv HoloLens 2 est de 4,87 mm +/- 5%. En plus de la variation de 5 % due à la tolérance de fabrication, la longueur focale change dynamiquement en raison du système d’autofocus. La course AF (trait) est jusqu’à 0,2 mm.
Led de confidentialité blanche face au monde qui s’allume chaque fois que l’appareil photo est actif.
HoloLens 2 prend en charge différents profils d’appareil photo. Découvrez comment découvrir et sélectionner les fonctionnalités de l’appareil photo.
La caméra prend en charge les profils et résolutions suivants (tous les modes vidéo sont des proportions de 16:9) :
Profil Vidéo Préversion Encore Fréquences d’images Champ de vue horizontal (H-FOV) Utilisation suggérée Legacy, 0 BalancedVideoAndPhoto, 100 2272 x 1278 2272 x 1278 15.30 64.69 Enregistrement vidéo de haute qualité Legacy, 0 BalancedVideoAndPhoto,100 896 x 504 896 x 504 15.30 64.69 Flux d’aperçu pour la capture de photos de haute qualité Legacy, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 Capture photo de haute qualité BalancedVideoAndPhoto, 120 1952 x 1100 1952 x 1100 1952 x 1100 15.30 64.69 Scénarios de longue durée BalancedVideoAndPhoto, 120 1504 x 846 1504 x 846 15.30 64.69 Scénarios de longue durée VideoConferencing, 100 1952 x 1100 1952 x 1100 1952 x 1100 15, 30,60 64.69 Visioconférence, scénarios de longue durée Vidéoconférence, 100 1504 x 846 1504 x 846 5, 15, 30,60 64.69 Visioconférence, scénarios de longue durée Visioconférence, 100 BalancedVideoAndPhoto, 120 1 920 x 1 080 1 920 x 1 080 1 920 x 1 080 15, 30 64.69 Visioconférence, scénarios de longue durée Visioconférence, 100 BalancedVideoAndPhoto, 120 1 280 x 720 1 280 x 720 1 280 x 720 15, 30 64.69 Visioconférence, scénarios de longue durée Visioconférence, 100 BalancedVideoAndPhoto,120 1128x636 15, 30 64.69 Visioconférence, scénarios de longue durée Visioconférence, 100 BalancedVideoAndPhoto, 120 960 x 540 15,30 64.69 Visioconférence, scénarios de longue durée Visioconférence, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 Visioconférence, scénarios de longue durée Visioconférence, 100 BalancedVideoAndPhoto, 120 640x360 15, 30 64.69 Visioconférence, scénarios de longue durée Visioconférence, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 Visioconférence, scénarios de longue durée Visioconférence, 100 BalancedVideoAndPhoto, 120 424x240 15, 30 64.69 Visioconférence, scénarios de longue durée
Notes
Les clients peuvent tirer parti de la capture de réalité mixte pour prendre des vidéos ou des photos de votre application qui incluent des hologrammes et utilisent la stabilisation vidéo.
Si vous souhaitez que le contenu de la capture de votre utilisateur soit aussi beau que possible, vous devez prendre en compte certaines choses. Vous pouvez également activer (et personnaliser) la capture de réalité mixte directement dans votre application. Pour plus d’informations, consultez Capture de réalité mixte pour les développeurs.
Localisation de la caméra de l’appareil dans le monde
Lorsque HoloLens prend des photos et des vidéos, les images capturées incluent l’emplacement de l’appareil photo dans le monde et le modèle d’objectif de l’appareil photo. Ces informations permettent aux applications de raisonner la position de la caméra dans le monde réel pour des scénarios d’imagerie augmentée. Les développeurs peuvent déployer de manière créative leurs propres scénarios à l’aide de leur traitement d’images favori ou de bibliothèques de vision par ordinateur personnalisées.
« Caméra » ailleurs dans la documentation HoloLens peut faire référence à la « caméra de jeu virtuelle » (le frustum vers lequel l’application s’affiche). Sauf indication contraire, « caméra » sur cette page fait référence à la caméra couleur RVB du monde réel.
Erreur de distorsion
Sur HoloLens 2, les flux vidéo et d’images fixes ne sont pas faussés dans le pipeline de traitement d’images du système avant que les images ne soient mises à la disposition de l’application. Le flux d’aperçu contient les images déformées d’origine. Étant donné que seules les caméras CameraIntrinsics sont disponibles, les applications doivent supposer que les images représentent un appareil photo parfait.
Sur HoloLens (première génération), la fonction d’annulation de la distortion dans le processeur d’images peut toujours laisser une erreur allant jusqu’à 10 pixels lors de l’utilisation de CameraIntrinsics dans les métadonnées d’image. Dans de nombreux cas d’utilisation, cette erreur n’a pas d’importance. Toutefois, si, par exemple, vous alignez des hologrammes sur des affiches ou des marqueurs réels et que vous remarquez un < décalage de 10 px (environ 11 mm pour les hologrammes positionnés à 2 mètres), cette erreur de distorsion peut en être la cause.
Scénarios d’utilisation des caméras locatables
Afficher une photo ou une vidéo dans le monde où elle a été capturée
Les images appareil photo sont fournies avec une transformation « Camera To World » qui peut être utilisée pour afficher exactement où se trouvait l’appareil quand il a capturé l’image. Par exemple, vous pouvez positionner une petite icône holographique à cet emplacement (CameraToWorld.MultiplyPoint(Vector3.zero)) et même dessiner une petite flèche dans la direction où la caméra était orientée (CameraToWorld.MultiplyVector(Vector3.forward)).
Tag / Pattern / Poster / Object Tracking
De nombreuses applications de réalité mixte utilisent une image ou un modèle visuel reconnaissable pour créer un point pouvant être suivi dans l’espace. Une application peut restituer des objets relatifs à ce point ou créer un emplacement connu. Une utilisation classique pour HoloLens consiste à trouver un objet réel marqué avec des fiducials. Cela peut se produire, par exemple, sur des tablettes qui ont été configurées pour communiquer avec HoloLens via Wi-Fi.
Vous aurez besoin de quelques éléments pour reconnaître un modèle visuel et placer un objet dans l’espace mondial de l’application :
- Un kit de ressources de reconnaissance de modèle d’image, comme le code QR, les balises AR, le recherche de visages, les suivis de cercles, l’OCR, etc.
- Collectez des images au moment de l’exécution et passez-les à la couche de reconnaissance.
- Déprojetez leurs emplacements d’image dans des positions du monde ou probablement des rayons du monde.
- Positionnez vos modèles virtuels sur ces emplacements mondiaux.
Quelques liens importants pour le traitement des images :
Il est essentiel de conserver une fréquence d’images d’application interactive, en particulier lorsqu’il s’agit d’algorithmes de reconnaissance d’images à long terme. Pour cette raison, nous utilisons généralement le modèle suivant :
- Thread principal : gère l’objet caméra.
- Thread principal : demande de nouvelles images (asynchrones).
- Thread principal : passez les nouvelles images au thread de suivi.
- Thread de suivi : traite l’image pour collecter des points clés.
- Thread principal : déplace le modèle virtuel pour qu’il corresponde aux points clés trouvés.
- Thread principal : répétez l’étape 2.
Certains systèmes de marqueurs d’image fournissent uniquement un emplacement d’un seul pixel, ce qui équivaut à un rayon d’emplacements possibles. (D’autres fournissent la transformation complète, auquel cas cette section n’est pas nécessaire.) Pour atteindre un seul emplacement 3D, nous pouvons calculer plusieurs rayons et trouver le résultat final par leur intersection approximative. Pour obtenir ce résultat, vous devez :
- Créez une boucle qui collecte plusieurs images d’appareil photo.
- Recherchez les points de caractéristique associés et leurs rayons mondiaux.
Avec au moins deux emplacements de balise suivis, vous pouvez positionner une scène modélisée en fonction du scénario actuel de l’utilisateur. Si vous ne pouvez pas supposer la gravité, vous aurez besoin de trois emplacements de balise. Dans de nombreux cas, nous utilisons un jeu de couleurs où les sphères blanches représentent les emplacements des étiquettes suivies en temps réel et les sphères bleues représentent les emplacements des étiquettes modélisées. Cela permet à l’utilisateur d’évaluer visuellement la qualité de l’alignement. Nous supposons la configuration suivante dans toutes nos applications :
- Au moins deux emplacements de balise modélisés.
- Un « espace d’étalonnage », qui dans la scène est le parent des balises.
- Identificateur de fonctionnalité de l’appareil photo.
- Comportement, qui déplace l’espace d’étalonnage pour aligner les balises modélisées sur les balises en temps réel (nous prenons soin de déplacer l’espace parent, et non les marqueurs modélisés eux-mêmes, car les autres points de connexion sont des positions par rapport à eux).
Suivre ou identifier des objets/visages fixes marqués ou en déplacement dans le monde réel à l’aide de LED ou d’autres bibliothèques de reconnaissance
Exemples :
- Robots industriels avec LED (ou codes QR pour les objets à déplacement plus lent).
- Identifiez et reconnaissez les objets dans la salle.
- Identifiez et reconnaissez les personnes dans la salle, par exemple, en plaçant des cartes de visite holographiques sur des visages.