Übersicht über die locatable Kamera

HoloLens enthält eine weltseitige Kamera, die an der Vorderseite des Geräts angebracht ist, mit der Apps sehen können, was der Benutzer sieht. Entwickler haben Zugriff auf und Kontrolle über die Kamera, genau wie bei Farbkameras auf Smartphones, tragbaren Geräten oder Desktops. Die gleichen universellen Windows-Medienerfassungs- und Windows Media Foundation-APIs, die auf Mobilen und Desktops funktionieren, funktionieren auf HoloLens. Unity hat diese Windows-APIs in abstrahierte Kameranutzungsfeatures auf HoloLens umschlossen. Zu den Featureaufgaben gehören das Aufnehmen von regelmäßigen Fotos und Videos (mit oder ohne Hologramme) und das Lokalisieren der Position der Kamera in und perspektive auf der Szene.

Gerätekamerainformationen

HoloLens (erste Generation)

  • Foto-/Video-Kamera (PV) mit automatischem Weißabgleich, automatischer Belichtung und vollständiger Bildverarbeitungspipeline korrigiert.

  • Weiße Privacy LED mit Blick auf die Welt, die leuchtet, wenn die Kamera aktiv ist.

  • Die Kamera unterstützt die folgenden Modi (alle Modi haben ein Seitenverhältnis von 16:9) bei 30, 24, 20, 15 und 5 fps:

    Video Vorschau Noch Horizontales Sichtfeld (H-FOV) Empfohlene Verwendung
    1\.280 × 720 1\.280 × 720 1\.280 × 720 45 Deg (Standardmodus mit Videostabilisierung)
    2048x1152 67 Deg Standbild mit der höchsten Auflösung
    1408x792 1408x792 1408x792 48 Deg Auflösung des Überscans (Auffüllens) vor Videostabilisierung
    1344x756 1344x756 1344x756 67 Deg Großer FOV-Videomodus mit Überscan
    896x504 896x504 896x504 48 Deg Energiesparmodus/Modus mit niedriger Auflösung für Bildverarbeitungsaufgaben

HoloLens 2

  • Autofokus-Foto-/Videokamera (PV) mit automatischem Weißabgleich, automatischer Belichtung und vollständiger Bildverarbeitungspipeline. Das Autofokussystem kann den Objektabstand von 30 cm bis unendlich anpassen. Die effektive Brennweite für das HoloLens 2 PV-Kameraobjektiv beträgt 4,87 mm +/- 5%. Neben der Abweichung von 5% aufgrund der Fertigungstoleranz ändert sich die Brennweite durch das Autofokussystem dynamisch. Der AF-Hub (Hub) beträgt bis zu 0,2 mm.

  • Weiße Privacy LED mit Blick auf die Welt, die leuchtet, wenn die Kamera aktiv ist.

  • HoloLens 2 unterstützt verschiedene Kameraprofile. Erfahren Sie, wie Sie Kamerafunktionen ermitteln und auswählen.

  • Die Kamera unterstützt die folgenden Profile und Auflösungen (alle Videomodi haben ein Seitenverhältnis von 16:9):

    Profil Video Vorschau Noch Frameraten Horizontales Sichtfeld (H-FOV) Empfohlene Verwendung
    Legacy, 0 BalancedVideoAndPhoto, 100 2272x1278 2272x1278 15.30 64.69 Hochwertige Videoaufzeichnung
    Legacy, 0 BalancedVideoAndPhoto,100 896x504 896x504 15.30 64.69 Vorschaustream für hochwertige Fotoaufnahme
    Legacy, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 Hochwertige Fotoaufnahme
    BalancedVideoAndPhoto, 120 1952x1100 1952x1100 1952x1100 15.30 64.69 Szenarien mit langer Dauer
    BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 Szenarien mit langer Dauer
    Videokonferenz, 100 1952x1100 1952x1100 1952x1100 15, 30,60 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 1504x846 1504x846 5, 15, 30,60 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 BalancedVideoAndPhoto, 120 1\.920 × 1.080 1\.920 × 1.080 1\.920 × 1.080 15, 30 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 BalancedVideoAndPhoto, 120 1\.280 × 720 1\.280 × 720 1\.280 × 720 15, 30 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 BalancedVideoAndPhoto,120 1128 x 636 15, 30 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 BalancedVideoAndPhoto, 120 960 × 540 15,30 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 BalancedVideoAndPhoto, 120 640x360 15, 30 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 Videokonferenzen, Szenarien mit langer Dauer
    Videokonferenz, 100 BalancedVideoAndPhoto, 120 424x240 15, 30 64.69 Videokonferenzen, Szenarien mit langer Dauer

Hinweis

Kunden können Die Mixed Reality-Aufnahme nutzen, um Videos oder Fotos ihrer App aufzunehmen, die Hologramme enthalten und videostabilisiert werden.

Wenn Sie möchten, dass der Inhalt der Erfassung Ihres Benutzers so gut wie möglich aussieht, sollten Sie einige Dinge berücksichtigen. Sie können die Mixed Reality-Aufnahme auch direkt in Ihrer App aktivieren (und anpassen). Weitere Informationen finden Sie unter Mixed Reality Capture für Entwickler.

Ortung der Gerätekamera in der Welt

Wenn HoloLens Fotos und Videos aufnimmt, enthalten die aufgenommenen Frames den Standort der Kamera in der Welt und das Objektivmodell der Kamera. Diese Informationen ermöglichen es Anwendungen, die Position der Kamera in der realen Welt für Augmented Imaging-Szenarien zu ermitteln. Entwickler können ihre eigenen Szenarien mithilfe ihrer bevorzugten Bildverarbeitung oder benutzerdefinierten Maschinelles Sehen-Bibliotheken kreativ rollieren.

"Kamera" an anderer Stelle in der HoloLens-Dokumentation kann sich auf die "virtuelle Spielkamera" beziehen (das Frustum, in das die App rendert). Sofern nicht anders beschrieben, bezieht sich "Kamera" auf dieser Seite auf die reale RGB-Farbkamera.

Verzerrungsfehler

Auf HoloLens 2 werden die Video- und Standbilddatenströme in der Bildverarbeitungspipeline des Systems aufgehoben, bevor die Frames der Anwendung zur Verfügung gestellt werden. Der Vorschaustream enthält die ursprünglichen verzerrten Frames. Da nur die CameraIntrinsics zur Verfügung gestellt werden, müssen Anwendungen davon ausgehen, dass Bildrahmen eine perfekte Lochkamera darstellen.

Bei HoloLens (erste Generation) kann die Funktion zum Aufheben der Auflösung im Bildprozessor bei Verwendung von CameraIntrinsics in den Framemetadaten weiterhin einen Fehler von bis zu 10 Pixeln hinterlassen. In vielen Anwendungsfällen spielt dieser Fehler keine Rolle. Wenn Sie jedoch beispielsweise Hologramme an realen Postern oder Markern ausrichten und einen < 10-px-Offset bemerken (etwa 11 mm für Hologramme, die 2 Meter entfernt positioniert sind), kann dieser Verzerrungsfehler die Ursache sein.

Verwendungsszenarien für locatable Kameras

Anzeigen eines Fotos oder Videos in der Welt, in der es aufgenommen wurde

Die Gerätekameraframes verfügen über eine Transformation von "Camera to World", die verwendet werden kann, um genau anzuzeigen, wo sich das Gerät befand, als es das Bild aufgenommen hat. Beispielsweise könnten Sie an dieser Stelle ein kleines holografisches Symbol (CameraToWorld.MultiplyPoint(Vector3.zero)) positionieren und sogar einen kleinen Pfeil in die Richtung zeichnen, in die die Kamera gerichtet war (CameraToWorld.MultiplyVector(Vector3.forward)).

Tag-/Muster-/Poster-/Objektnachverfolgung

Viele Mixed Reality-Anwendungen verwenden ein erkennbares Bild oder visuelles Muster, um einen nachverfolgbaren Punkt im Raum zu erstellen. Eine Anwendung kann Objekte relativ zu diesem Punkt rendern oder einen bekannten Speicherort erstellen. Eine typische Verwendung für HoloLens ist die Suche nach einem realen Objekt, das mit Fiducialen gekennzeichnet ist. Dies kann beispielsweise auf Tablets auftreten, die für die Kommunikation mit HoloLens über WLAN eingerichtet wurden.

Sie benötigen einige Dinge, um ein visuelles Muster zu erkennen und ein Objekt im Weltbereich der Anwendung zu platzieren:

  1. Ein Toolkit für die Bildmustererkennung, z. B. QR-Code, AR-Tags, Gesichtserkennung, Kreisverfolgung, OCR usw.
  2. Erfassen Sie Bildframes zur Laufzeit, und übergeben Sie sie an die Erkennungsebene.
  3. Heben Sie ihre Bildpositionen wieder in Weltpositionen oder wahrscheinliche Weltstrahlen auf.
  4. Positionieren Sie Ihre virtuellen Modelle auf diesen Weltstandorten.

Einige wichtige Bildverarbeitungslinks:

Die Beibehaltung einer interaktiven Anwendungsframerate ist wichtig, insbesondere wenn es um Algorithmen für die Bilderkennung mit langer Ausführungszeit geht. Aus diesem Grund verwenden wir häufig das folgende Muster:

  1. Hauptthread: Verwaltet das Kameraobjekt.
  2. Hauptthread: Fordert neue Frames (asynchron) an.
  3. Hauptthread: Übergeben Sie neue Frames an den Nachverfolgungsthread.
  4. Nachverfolgungsthread: Verarbeitet das Bild, um Wichtige Punkte zu sammeln.
  5. Hauptthread: Verschiebt das virtuelle Modell, um gefundene Schlüsselpunkte abzugleichen.
  6. Hauptthread: Wiederholen Sie den Vorgang aus Schritt 2.

Einige Bildmarkersysteme bieten nur eine Einzelne-Pixel-Position, was einem Strahl möglicher Positionen entspricht. (Andere Stellen die vollständige Transformation bereit, in diesem Fall ist dieser Abschnitt nicht erforderlich.) Um zu einem einzelnen 3D-Ort zu gelangen, können wir mehrere Strahlen berechnen und das Endergebnis anhand ihrer ungefähren Schnittmenge ermitteln. Um dieses Ergebnis zu erhalten, müssen Sie:

  1. Erstellen Sie eine Schleife, die mehrere Kamerabilder sammelt.
  2. Suchen Sie die zugeordneten Featurepunkte und deren Weltstrahlen.

Bei zwei oder mehr nachverfolgten Tagspeicherorten können Sie eine modellierte Szene so positionieren, dass sie dem aktuellen Szenario des Benutzers entspricht. Wenn Sie die Schwerkraft nicht annehmen können, benötigen Sie drei Tagpositionen. In vielen Fällen verwenden wir ein Farbschema, bei dem weiße Kugeln in Echtzeit nachverfolgte Tagpositionen und blaue Kugeln modellierte Tagpositionen darstellen. Dadurch kann der Benutzer die Ausrichtungsqualität visuell messen. Wir gehen von folgendem Setup in allen unseren Anwendungen aus:

  • Zwei oder mehr modellierte Tagspeicherorte.
  • Ein "Kalibrierungsbereich", der in der Szene das übergeordnete Element der Tags ist.
  • Kamerafeature-ID.
  • Verhalten, das den Kalibrierungsbereich verschiebt, um die modellierten Tags an den Echtzeittags auszurichten (wir achten darauf, den übergeordneten Bereich zu verschieben, nicht die modellierten Marker selbst, da andere Verbindungspositionen relativ zu ihnen sind).

Nachverfolgen oder Identifizieren markierter stationärer oder sich bewegender realer Objekte/Gesichter mithilfe von LEDs oder anderen Erkennungsbibliotheken

Beispiele:

  • Industrieroboter mit LEDs (oder QR-Codes für langsamer bewegte Objekte).
  • Identifizieren und Erkennen von Objekten im Raum.
  • Identifizieren und erkennen Sie Personen im Raum, z. B. durch Platzieren holografischer Visitenkarten über Gesichtern.

Weitere Informationen