Översikt över locatable camera

HoloLens innehåller en världsriktad kamera monterad på enhetens framsida som gör det möjligt för appar att se vad användaren ser. Utvecklare har tillgång till och kontroll över kameran, precis som för färgkameror på smartphones, bärbara datorer eller stationära datorer. Samma universella Windows Media Capture - och Windows Media Foundation-API:er som fungerar på mobil- och skrivbordsarbete på HoloLens. Unity har omslutit dessa Windows-API:er till abstrakta kameraanvändningsfunktioner på HoloLens. Funktionsuppgifter inkluderar att ta regelbundna foton och videor (med eller utan hologram) och hitta kamerans position i och perspektiv på scenen.

Information om enhetens kamera

HoloLens (första generationen)

  • Foto-/videokamera med automatisk vitbalans, automatisk exponering och fullständig bildbearbetningspipeline har åtgärdats.

  • White Privacy LED mot världen som lyser upp när kameran är aktiv.

  • Kameran stöder följande lägen (alla lägen är 16:9 proportioner) vid 30, 24, 20, 15 och 5 fps:

    Video Förhandsgranskning Fortfarande Vågrätt fält (H-FOV) Föreslagen användning
    1 280 × 720 1 280 × 720 1 280 × 720 45 grader (standardläge med videostabilisering)
    Saknas Saknas 2048x1152 67 grader Stillbild med högsta upplösning
    1408x792 1408x792 1408x792 48 grader Överskanningslösning (utfyllnad) före videostabilisering
    1344x756 1344x756 1344x756 67 grader Stort FOV-videoläge med overscan
    896x504 896x504 896x504 48 grader Låg effekt/lågupplösningsläge för bildbearbetningsuppgifter

HoloLens 2

  • Autofokus foto/videokamera (PV) med automatisk vitbalans, automatisk exponering och fullständig bildbearbetningspipeline. Autofokussystemet kan justera objektavståndet från 30 cm till oändligheten. Den effektiva brännvidden för HoloLens 2 PV kameraobjektiv är 4,87 mm +/- 5%. Förutom variationen på 5 % på grund av tillverkningstoleransen ändras brännvidden dynamiskt på grund av autofokussystemet. AF-resan (stroke) är upp till 0,2 mm.

  • White Privacy LED mot världen som lyser upp när kameran är aktiv.

  • HoloLens 2 stöder olika kameraprofiler. Lär dig hur du identifierar och väljer kamerafunktioner.

  • Kameran stöder följande profiler och upplösningar (alla videolägen är 16:9 proportioner):

    Profil Video Förhandsgranskning Fortfarande Bildfrekvenser Vågrätt fält (H-FOV) Föreslagen användning
    Legacy, 0 BalancedVideoAndPhoto, 100 2272x1278 2272x1278 15.30 64.69 Videoinspelning av hög kvalitet
    Legacy, 0 BalancedVideoAndPhoto,100 896x504 896x504 15.30 64.69 Förhandsgranskningsström för högkvalitativ fotoinspelning
    Legacy, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 Bildfångst av hög kvalitet
    BalancedVideoAndPhoto, 120 1952x1100 1952x1100 1952x1100 15.30 64.69 Scenarier med lång varaktighet
    BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 Scenarier med lång varaktighet
    VideoConferencing, 100 1952x1100 1952x1100 1952x1100 15, 30,60 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 1504x846 1504x846 5, 15, 30,60 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 BalancedVideoAndPhoto, 120 1 920 × 1 080 1 920 × 1 080 1 920 × 1 080 15, 30 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 BalancedVideoAndPhoto, 120 1 280 × 720 1 280 × 720 1 280 × 720 15, 30 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 BalancedVideoAndPhoto,120 1128x636 15, 30 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 BalancedVideoAndPhoto, 120 960x540 15,30 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 BalancedVideoAndPhoto, 120 640x360 15, 30 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 Videokonferenser, scenarier med lång varaktighet
    Videokonferens, 100 BalancedVideoAndPhoto, 120 424x240 15, 30 64.69 Videokonferenser, scenarier med lång varaktighet

Anteckning

Kunder kan använda mixad verklighet för att ta videor eller foton av din app som innehåller hologram och använda videostabilisering.

Om du vill att innehållet i användarens avbildning ska se så bra ut som möjligt finns det några saker du bör tänka på. Du kan också aktivera (och anpassa) hämtning av mixad verklighet direkt i din app. Läs mer på mixed reality capture för utvecklare.

Hitta enhetskameran i världen

När HoloLens tar foton och videor inkluderar de insamlade ramarna kamerans plats i världen och kamerans linsmodell. Den här informationen gör det möjligt för program att resonera om kamerans position i den verkliga världen för scenarier med förhöjd bildbehandling. Utvecklare kan kreativt distribuera sina egna scenarier med hjälp av sin favoritbildbearbetning eller anpassade bibliotek för visuellt innehåll.

"Kamera" någon annanstans i HoloLens-dokumentationen kan referera till den "virtuella spelkameran" (den frustum som appen renderar till). Om inget annat beskrivs refererar "kamera" på den här sidan till den verkliga RGB-färgkameran.

Förvrängningsfel

På HoloLens 2 är video- och stillbildsströmmarna odiskuterade i systemets pipeline för bildbearbetning innan bildrutorna görs tillgängliga för programmet. Förhandsgranskningsströmmen innehåller de ursprungliga förvrängda bildrutorna. Eftersom endast CameraIntrinsics görs tillgängliga måste programmen förutsätta att bildramarna representerar en perfekt pinhole-kamera.

På HoloLens (första generationen) kan funktionen undistortion i bildprocessorn fortfarande lämna ett fel på upp till 10 bildpunkter när du använder CameraIntrinsics i rammetadata. I många användningsfall spelar det här felet ingen roll. Men om du till exempel justerar hologram till verkliga affischer eller markörer och ser en < förskjutning på 10 px (ungefär 11 mm för hologram placerade 2 meter bort), kan det här förvrängningsfelet vara orsaken.

Scenarier för locatable Camera Usage

Visa ett foto eller en video i världen där det fångades

Enhetskameraramarna levereras med en "Camera To World"-transformering som kan användas för att visa exakt var enheten var när den tog bilden. Du kan till exempel placera en liten holografisk ikon på den här platsen (CameraToWorld.MultiplyPoint(Vector3.zero)) och till och med rita en liten pil i den riktning som kameran var riktad mot (CameraToWorld.MultiplyVector(Vector3.forward)).

Tagg/mönster/affisch/objektspårning

Många program för mixad verklighet använder ett igenkännligt bild- eller visuellt mönster för att skapa en spårbar punkt i rymden. Ett program kan återge objekt i förhållande till den punkten eller skapa en känd plats. En vanlig användning för HoloLens är att hitta ett verkligt objekt som är taggat med fidukialer. Detta kan till exempel inträffa på surfplattor som har konfigurerats för att kommunicera med HoloLens via Wi-Fi.

Du behöver några saker för att känna igen ett visuellt mönster och placera ett objekt i programmets värld:

  1. En verktygslåda för igenkänning av bildmönster, till exempel QR-kod, AR-taggar, ansiktssökare, cirkelspårare, OCR och så vidare.
  2. Samla in bildramar vid körning och skicka dem till igenkänningsskiktet.
  3. Avprojektera deras bildplatser tillbaka till världspositioner eller sannolikt världsstrålar.
  4. Placera dina virtuella modeller över dessa platser i världen.

Några viktiga bildbearbetningslänkar:

Det är viktigt att ha en interaktiv programramfrekvens, särskilt när du hanterar långvariga bildigenkänningsalgoritmer. Därför använder vi ofta följande mönster:

  1. Huvudtråd: hanterar kameraobjektet.
  2. Huvudtråd: begär nya ramar (async).
  3. Huvudtråd: Skicka nya ramar till spårningstråden.
  4. Spårningstråd: bearbetar avbildning för att samla in nyckelpunkter.
  5. Huvudtråd: flyttar virtuell modell så att den matchar hittade nyckelpunkter.
  6. Huvudtråd: upprepa från steg 2.

Vissa bildmarkörsystem tillhandahåller bara en plats med en bildpunkt, vilket motsvarar en stråle av möjliga platser. (Andra tillhandahåller den fullständiga transformeringen, i så fall behövs inte det här avsnittet.) För att komma till en enda 3D-plats kan vi beräkna flera strålar och hitta slutresultatet genom deras ungefärliga skärningspunkt. För att få det här resultatet måste du:

  1. Skapa en loop som samlar in flera kamerabilder.
  2. Hitta de associerade funktionspunkterna och deras världsstrålar.

Med tanke på två eller flera spårade taggplatser kan du placera en modellerad scen så att den passar användarens aktuella scenario. Om du inte kan anta allvaret behöver du tre taggplatser. I många fall använder vi ett färgschema där vita sfärer representerar spårade taggplatser i realtid och blå sfärer representerar modellerade taggplatser. På så sätt kan användaren visuellt mäta justeringskvaliteten. Vi förutsätter följande konfiguration i alla våra program:

  • Två eller flera modellerade taggplatser.
  • Ett "kalibreringsutrymme", som i scenen är överordnat taggarna.
  • Kamerafunktionsidentifierare.
  • Beteende, som flyttar kalibreringsutrymmet för att justera de modellerade taggarna med realtidstaggar (vi är noga med att flytta det överordnade utrymmet, inte själva de modellerade markörer, eftersom andra anslutningar är positioner i förhållande till dem).

Spåra eller identifiera taggade stationära eller rörliga verkliga objekt/ansikten med hjälp av lysdioder eller andra bibliotek för identifierare

Exempel:

  • Industrirobotar med lysdioder (eller QR-koder för långsammare rörliga objekt).
  • Identifiera och identifiera objekt i rummet.
  • Identifiera och identifiera personer i rummet, till exempel genom att placera holografiska kontaktkort över ansikten.

Se även