Omówienie aparatu locatable

Urządzenie HoloLens zawiera kamerę na świecie zamontowaną na przedniej części urządzenia, która umożliwia aplikacjom sprawdzenie, co widzi użytkownik. Deweloperzy mają dostęp do aparatu i kontroli nad aparatem, tak jak w przypadku kamer kolorów na smartfonach, przenośnych lub komputerach stacjonarnych. Te same uniwersalne interfejsy API przechwytywania multimediów systemu Windows i Windows Media Foundation, które działają na urządzeniach przenośnych i komputerach stacjonarnych na urządzeniu HoloLens. Aparat Unity opakował te interfejsy API systemu Windows w celu abstrakcji funkcji użycia aparatu na urządzeniu HoloLens. Zadania funkcji obejmują robienie regularnych zdjęć i filmów wideo (z hologramami lub bez nich) oraz lokalizowanie pozycji aparatu w i perspektywę na scenie.

Informacje o aparacie urządzenia

HoloLens (pierwsza generacja)

  • Naprawiono aparat fotograficzny/wideo (PV) z automatycznym równoważeniem bieli, automatycznym narażeniem i pełnym potokiem przetwarzania obrazów.

  • Biała dioda LED prywatności stoi przed światem, który świeci za każdym razem, gdy kamera jest aktywna.

  • Aparat obsługuje następujące tryby (wszystkie tryby to współczynnik proporcji 16:9) na poziomie 30, 24, 20, 15 i 5 klatek na sekundę:

    Wideo Wersja zapoznawcza Nadal Pole poziome widoku (H-FOV) Sugerowane użycie
    1280x720 1280x720 1280x720 45 deg (tryb domyślny ze stabilizacją wideo)
    Nie dotyczy NIE DOTYCZY 2048x1152 67 deg Obraz o najwyższej rozdzielczości
    1408x792 1408x792 1408x792 48 deg Rozdzielczość overscan (dopełnianie) przed stabilizacją wideo
    1344x756 1344x756 1344x756 67 deg Duży tryb wideo FOV z funkcją overscan
    896x504 896x504 896x504 48 deg Niski poziom zasilania/tryb niskiej rozdzielczości dla zadań przetwarzania obrazów

HoloLens 2

  • Aparat fotograficzny/wideo (PV) z automatycznym równoważeniem bieli, automatycznym narażeniem i pełnym potokiem przetwarzania obrazów. System automatycznego koncentracji ostrości może dostosować odległość obiektu od 30 cm do nieskończoności. Efektywna długość ogniskowa obiektywu kamery HoloLens 2 PV wynosi 4,87 mm +/- 5%. Oprócz odchylenia 5% ze względu na tolerancję produkcji, długość ogniskowa zmieni się dynamicznie ze względu na system autocentrowania. Podróż AF (pociągnięcie) wynosi do 0,2 mm.

  • Biała dioda LED prywatności stoi przed światem, który świeci za każdym razem, gdy kamera jest aktywna.

  • HoloLens 2 obsługuje różne profile aparatów. Dowiedz się, jak odnajdywać i wybierać możliwości aparatu.

  • Aparat obsługuje następujące profile i rozdzielczości (wszystkie tryby wideo mają współczynnik proporcji 16:9):

    Profil Wideo Wersja zapoznawcza Nadal Szybkość klatek Pole poziome widoku (H-FOV) Sugerowane użycie
    Starsza wersja, 0 BalancedVideoAndPhoto, 100 2272x1278 2272x1278 15.30 64.69 Wysokiej jakości nagrywanie wideo
    Starsza wersja, 0 BalancedVideoAndPhoto,100 896x504 896x504 15.30 64.69 Podgląd strumienia na potrzeby wysokiej jakości przechwytywania zdjęć
    Starsza wersja, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 Wysokiej jakości przechwytywanie zdjęć
    BalancedVideoAndPhoto, 120 1952x1100 1952x1100 1952x1100 15.30 64.69 Scenariusze z długim czasem trwania
    BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 Scenariusze z długim czasem trwania
    VideoConferencing, 100 1952x1100 1952x1100 1952x1100 15, 30,60 64.69 Wideokonferencje, scenariusze z długim czasem trwania
    Wideokonferencing, 100 1504x846 1504x846 5, 15, 30,60 64.69 Scenariusze wideokonferencji, długi czas trwania
    Wideokonferencing, 100 BalancedVideoAndPhoto, 120 1920x1080 1920x1080 1920x1080 15, 30 64.69 Scenariusze wideokonferencji, długi czas trwania
    Wideokonferencing, 100 BalancedVideoAndPhoto, 120 1280x720 1280x720 1280x720 15, 30 64.69 Scenariusze wideokonferencji, długi czas trwania
    Wideokonferencing, 100 BalancedVideoAndPhoto,120 1128x636 15, 30 64.69 Scenariusze wideokonferencji, długi czas trwania
    Wideokonferencing, 100 BalancedVideoAndPhoto, 120 960x540 15,30 64.69 Scenariusze wideokonferencji, długi czas trwania
    Wideokonferencing, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 Scenariusze wideokonferencji, długi czas trwania
    Wideokonferencing, 100 BalancedVideoAndPhoto, 120 640x360 15, 30 64.69 Scenariusze wideokonferencji, długi czas trwania
    Wideokonferencing, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 Scenariusze wideokonferencji, długi czas trwania
    Wideokonferencing, 100 BalancedVideoAndPhoto, 120 424x240 15, 30 64.69 Scenariusze wideokonferencji, długi czas trwania

Uwaga

Klienci mogą korzystać z funkcji przechwytywania rzeczywistości mieszanej do tworzenia filmów wideo lub zdjęć aplikacji, które obejmują hologramy i używają stabilizacji wideo.

Jeśli chcesz, aby zawartość przechwytywania użytkownika wyglądała tak dobrze, jak to możliwe, należy wziąć pod uwagę pewne kwestie. Możesz również włączyć (i dostosować) przechwytywanie rzeczywistości mieszanej bezpośrednio w aplikacji. Dowiedz się więcej na temat przechwytywania rzeczywistości mieszanej dla deweloperów.

Lokalizowanie aparatu urządzenia na świecie

Gdy urządzenie HoloLens robi zdjęcia i filmy wideo, przechwycone ramki obejmują lokalizację aparatu na świecie i model obiektywu aparatu. Te informacje umożliwiają aplikacjom wnioskowanie o położeniu aparatu w świecie rzeczywistym w scenariuszach z obrazowaniem rozszerzonym. Deweloperzy mogą twórczo wdrażać własne scenariusze przy użyciu ulubionego przetwarzania obrazów lub niestandardowych bibliotek przetwarzania obrazów.

"Aparat" w innym miejscu w dokumentacji urządzenia HoloLens może odwoływać się do "wirtualnej kamery gry" (frustum renderuje aplikacja). O ile nie opisano inaczej, "aparat" na tej stronie odnosi się do rzeczywistego aparatu kolorów RGB.

Błąd zniekształcenia

W HoloLens 2 strumienie wideo i nadal obrazów są niezniszczone w potoku przetwarzania obrazów systemu przed udostępnieniem ramek aplikacji. Strumień podglądu zawiera oryginalne zniekształcone ramki. Ponieważ dostępne są tylko elementy CameraIntrinsics, aplikacje muszą zakładać, że ramki obrazów reprezentują doskonałą kamerę otworu.

Na urządzeniu HoloLens (pierwszej generacji) funkcja niezakłócona w procesorze obrazów może nadal powodować błąd do 10 pikseli podczas korzystania z funkcji CameraIntrinsics w metadanych ramki. W wielu przypadkach użycia ten błąd nie będzie mieć znaczenia. Jeśli jednak na przykład wyrównujesz hologramy do rzeczywistych plakatów lub znaczników i zauważysz < przesunięcie 10 pikseli (około 11 mm dla hologramów umieszczonych 2 metrów dalej), przyczyną może być ten błąd zniekształcenia.

Scenariusze użycia aparatu lokalizowalnego

Pokaż zdjęcie lub wideo na świecie, na którym zostało zrobione

Ramki aparatu urządzenia są wyposażone w przekształcenie "Camera To World", którego można użyć do pokazania dokładnie miejsca, w którym urządzenie zostało przechwycone. Można na przykład ustawić małą ikonę holograficzną w tej lokalizacji (CameraToWorld.MultiplyPoint(Vector3.zero)), a nawet narysować małą strzałkę w kierunku, w którym znajdował się aparat (CameraToWorld.MultiplyVector(Vector3.forward)).

Tag / wzorzec / plakat / śledzenie obiektów

Wiele aplikacji rzeczywistości mieszanej używa rozpoznawalnego obrazu lub wzorca wizualnego, aby utworzyć punkt do śledzenia w przestrzeni. Aplikacja może renderować obiekty względem tego punktu lub utworzyć znaną lokalizację. Typowym zastosowaniem dla urządzenia HoloLens jest znalezienie rzeczywistego obiektu oznaczonego fiducials. Może się to zdarzyć na przykład na tabletach skonfigurowanych do komunikowania się z urządzeniem HoloLens za pośrednictwem sieci Wi-Fi.

Aby rozpoznać wzorzec wizualizacji i umieścić obiekt w przestrzeni świata aplikacji, musisz mieć kilka rzeczy:

  1. Zestaw narzędzi do rozpoznawania wzorców obrazów, taki jak kod QR, tagi AR, wyszukiwanie twarzy, śledzenie okręgów, OCR itd.
  2. Zbierz ramki obrazów w czasie wykonywania i przekaż je do warstwy rozpoznawania.
  3. Rozprojektuj swoje lokalizacje obrazów z powrotem na pozycje świata lub prawdopodobne promienie świata.
  4. Umieszczanie modeli wirtualnych w tych lokalizacjach na świecie.

Niektóre ważne linki do przetwarzania obrazów:

Utrzymywanie interakcyjnej szybkości klatek aplikacji ma kluczowe znaczenie, zwłaszcza w przypadku długotrwałych algorytmów rozpoznawania obrazów. Z tego powodu często używamy następującego wzorca:

  1. Główny wątek: zarządza obiektem aparatu.
  2. Główny wątek: żąda nowych ramek (asynchronicznych).
  3. Główny wątek: przekazywanie nowych ramek do śledzenia wątku.
  4. Wątek śledzenia: przetwarza obraz w celu zbierania kluczowych punktów.
  5. Główny wątek: przenosi model wirtualny w celu dopasowania do kluczowych punktów.
  6. Główny wątek: powtórz z kroku 2.

Niektóre systemy znaczników obrazów zapewniają tylko lokalizację z jednym pikselem, co odpowiada promieniu możliwych lokalizacji. (Inne zapewniają pełną transformację, w takim przypadku ta sekcja nie jest potrzebna). Aby przejść do jednej lokalizacji 3D, możemy obliczyć wiele promieni i znaleźć wynik końcowy według ich przybliżonego skrzyżowania. Aby uzyskać ten wynik, należy wykonać następujące działania:

  1. Utwórz pętlę, która zbiera wiele obrazów aparatów.
  2. Znajdź skojarzone punkty cech i ich promienie świata.

Biorąc pod uwagę co najmniej dwie śledzone lokalizacje tagów, można umieścić w modelu scenę dopasowaną do bieżącego scenariusza użytkownika. Jeśli nie możesz założyć grawitacji, będziesz potrzebować trzech lokalizacji tagów. W wielu przypadkach używamy schematu kolorów, w którym białe kule reprezentują lokalizacje tagów śledzonych w czasie rzeczywistym, a niebieskie kule reprezentują modelowane lokalizacje tagów. Dzięki temu użytkownik może wizualnie ocenić jakość wyrównania. Zakładamy następującą konfigurację we wszystkich naszych aplikacjach:

  • Co najmniej dwie modelowane lokalizacje tagów.
  • Jedna "przestrzeń kalibracji", która w scenie jest elementem nadrzędnym tagów.
  • Identyfikator funkcji aparatu.
  • Zachowanie, które przenosi miejsce kalibracji w celu wyrównania modelowanych tagów do tagów czasu rzeczywistego (ostrożnie przenosimy przestrzeń nadrzędną, a nie same znaczniki modelowane, ponieważ inne połączenia są położeniami względem nich).

Śledzenie lub identyfikowanie oznakowanych stacjonarnych lub ruchomych obiektów/twarzy w świecie rzeczywistym przy użyciu diod LED lub innych bibliotek rozpoznawania

Przykłady:

  • Roboty przemysłowe z diodami LED (lub kodami QR dla wolniej poruszających się obiektów).
  • Identyfikowanie i rozpoznawanie obiektów w pomieszczeniu.
  • Zidentyfikuj i rozpoznaj osoby w pokoju — na przykład umieszczając holograficzne karty kontaktowe na twarzach.

Zobacz też