Condividi tramite


Panoramica della fotocamera locatable

HoloLens include una fotocamera globale montata sulla parte anteriore del dispositivo che consente alle app di vedere cosa vede l'utente. Gli sviluppatori hanno accesso e controllo della fotocamera, proprio come per fotocamere a colori su smartphone, portatili o desktop. Le stesse API universali di Windows Media Media Capture e Windows Media Foundation che funzionano su dispositivi mobili e desktop funzionano in HoloLens. Unity ha eseguito il wrapping di queste API windows per astrarre le funzionalità di utilizzo della fotocamera in HoloLens. Le attività di funzionalità includono l'acquisizione di foto e video regolari (con o senza ologrammi) e l'individuazione della posizione della fotocamera in e la prospettiva sulla scena.

Informazioni sulla fotocamera del dispositivo

HoloLens (prima generazione)

  • Correzione della fotocamera dello stato attivo/video con bilanciamento automatico del bianco, esposizione automatica e pipeline di elaborazione completa delle immagini.

  • LED bianco privacy rivolto al mondo che illumina ogni volta che la fotocamera è attiva.

  • La fotocamera supporta le modalità seguenti (tutte le modalità sono 16:9 proporzioni) a 30, 24, 20, 15 e 5 fps:

    Video Anteprima Ancora Campo orizzontale di visualizzazione (H-FOV) Utilizzo consigliato
    1280x720 1280x720 1280x720 45 g (modalità predefinita con stabilizzazione video)
    N/D N/D 2048x1152 67 gradi Immagine ancora con risoluzione più alta
    1408x792 1408x792 1408x792 48 gradi Risoluzione dell'overscan (riempimento) prima della stabilizzazione video
    1344x756 1344x756 1344x756 67 gradi Modalità video FOV di grandi dimensioni con overscan
    896x504 896x504 896x504 48 gradi Bassa potenza/modalità a bassa risoluzione per le attività di elaborazione delle immagini

HoloLens 2

  • Autofocus photo/video (PV) camera with auto white balance, auto exposure, and full image-processing pipeline.Autofocus photo/video (PV) camera with auto white balance, auto exposure, and full image-processing pipeline. Il sistema di autofocus può regolare la distanza dell'oggetto da 30 cm a infinito. La lunghezza focale efficace per l'obiettivo della fotocamera HoloLens 2 PV è di 4,87 mm +/- 5%. Oltre alla variazione del 5% a causa della tolleranza di produzione, la lunghezza focale cambierà dinamicamente a causa del sistema di messa a fuoco automatica. Il viaggio af (tratto) è fino a 0,2 mm.

  • LED bianco privacy rivolto al mondo che illumina ogni volta che la fotocamera è attiva.

  • HoloLens 2 supporta profili di fotocamera diversi. Scopri come individuare e selezionare le funzionalità della fotocamera.

  • La fotocamera supporta i profili e le risoluzioni seguenti (tutte le modalità video sono proporzioni 16:9):

    Profilo Video Anteprima Ancora Frequenza dei fotogrammi Campo orizzontale di visualizzazione (H-FOV) Utilizzo consigliato
    Legacy, 0 BalancedVideoAndPhoto, 100 2272x1278 2272x1278 15.30 64.69 Registrazione video di alta qualità
    Legacy, 0 BalancedVideoAndPhoto,100 896x504 896x504 15.30 64.69 Flusso di anteprima per l'acquisizione di foto di alta qualità
    Legacy, 0 BalancedVideoAndPhoto, 100 3904x2196 64.69 Acquisizione di foto di alta qualità
    BalancedVideoAndPhoto, 120 1952x1100 1952x1100 1952x1100 15.30 64.69 Scenari di durata prolungata
    BalancedVideoAndPhoto, 120 1504x846 1504x846 15.30 64.69 Scenari di durata prolungata
    VideoConferenza, 100 1952x1100 1952x1100 1952x1100 15, 30,60 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 1504x846 1504x846 5, 15, 30,60 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 BalancedVideoAndPhoto, 120 1920x1080 1920x1080 1920x1080 15, 30 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 BalancedVideoAndPhoto, 120 1280x720 1280x720 1280x720 15, 30 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 BalancedVideoAndPhoto,120 1128x636 15, 30 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 BalancedVideoAndPhoto, 120 960x540 15,30 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 BalancedVideoAndPhoto, 120 760x428 15, 30 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 BalancedVideoAndPhoto, 120 640x360 15, 30 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 BalancedVideoAndPhoto, 120 500x282 15, 30 64.69 Videoconferenza, scenari di durata prolungata
    Videoconferenza, 100 BalancedVideoAndPhoto, 120 424x240 15, 30 64.69 Videoconferenza, scenari di durata prolungata

Nota

I clienti possono sfruttare l'acquisizione di realtà mista per scattare video o foto dell'app che includono ologrammi e usare la stabilizzazione video.

Se si vuole che il contenuto dell'acquisizione dell'utente sia più valido possibile, ci sono alcune cose da considerare. È anche possibile abilitare (e personalizzare) l'acquisizione di realtà mista direttamente all'interno dell'app. Altre informazioni sull'acquisizione di realtà mista per gli sviluppatori.

Individuazione della fotocamera del dispositivo nel mondo

Quando HoloLens prende foto e video, i fotogrammi acquisiti includono la posizione della fotocamera nel mondo e il modello di lente della fotocamera. Queste informazioni consentono alle applicazioni di ragionare sulla posizione della fotocamera nel mondo reale per scenari di immagine aumentata. Gli sviluppatori possono implementare in modo creativo i propri scenari usando l'elaborazione di immagini preferite o le librerie di visione artificiale personalizzate.

"Fotocamera" altrove nella documentazione di HoloLens può fare riferimento alla "fotocamera del gioco virtuale" (il frustum a cui viene eseguito il rendering dell'app). A meno che non sia descritto in caso contrario, "fotocamera" in questa pagina si riferisce alla fotocamera a colori RGB reale.

Errore di distorsione

In HoloLens 2, i flussi di immagini e video non vengonostorati nella pipeline di elaborazione delle immagini del sistema prima che i fotogrammi siano resi disponibili all'applicazione. Il flusso di anteprima contiene i fotogrammi distorti originali. Poiché solo le fotocamereIntrinsiche sono rese disponibili, le applicazioni devono presupporre che i fotogrammi di immagine rappresentino una fotocamera perfetta.

In HoloLens (prima generazione), la funzione di annullamento dell'operazione nel processore di immagini può comunque lasciare un errore di fino a 10 pixel quando si usano i metadati del frame. In molti casi d'uso questo errore non è importante. Tuttavia, se, ad esempio, si allineano gli ologrammi a poster o marcatori reali e si noterà un < offset da 10 px (circa 11 mm per gli ologrammi posizionati 2 metri di distanza), questo errore di distorsione potrebbe essere la causa.

Scenari di utilizzo della fotocamera locatable

Mostra una foto o un video nel mondo in cui è stato acquisito

I fotogrammi della fotocamera del dispositivo sono dotati di una trasformazione "Camera To World" che può essere usata per mostrare esattamente dove era il dispositivo quando ha acquisito l'immagine. Ad esempio, è possibile posizionare un'icona olografica piccola in questa posizione (CameraToWorld.MultipliPoint(Vector3.zero)) e anche disegnare una piccola freccia nella direzione in cui la fotocamera era rivolta (CameraToWorld.MultipliVector(Vector3.forward)).

Tag/Pattern/Poster/Rilevamento oggetti

Molte applicazioni di realtà mista usano un'immagine o un modello visivo riconoscibile per creare un punto tracciabile nello spazio. Un'applicazione può eseguire il rendering di oggetti relativi a tale punto o creare una posizione nota. Un uso tipico per HoloLens trova un oggetto reale contrassegnato con fiducia. Questo potrebbe verificarsi, ad esempio, su tablet configurati per comunicare con HoloLens tramite Wi-Fi.

È necessario riconoscere un modello visivo e posizionare un oggetto nello spazio mondiale dell'applicazione:

  1. Toolkit di riconoscimento dei modelli di immagine, ad esempio codice a matrice, tag AR, ricerca viso, tracciatori cerchio, OCR e così via.
  2. Raccogliere fotogrammi di immagine in fase di esecuzione e passarli al livello di riconoscimento.
  3. Unprogetto le loro posizioni di immagine tornano in posizioni mondiali o probabilmente raggi del mondo.
  4. Posizionare i modelli virtuali in queste posizioni del mondo.

Alcuni collegamenti importanti per l'elaborazione delle immagini:

Mantenere un frame-rate interattivo dell'applicazione è fondamentale, soprattutto quando si tratta di algoritmi di riconoscimento delle immagini a esecuzione prolungata. Per questo motivo, si usa comunemente il modello seguente:

  1. Thread principale: gestisce l'oggetto fotocamera.
  2. Thread principale: richiede nuovi frame (asincrono).
  3. Thread principale: passare nuovi frame al thread di rilevamento.
  4. Thread di rilevamento: elabora l'immagine per raccogliere i punti chiave.
  5. Thread principale: sposta il modello virtuale in modo che corrisponda ai punti chiave trovati.
  6. Thread principale: ripetere dal passaggio 2.

Alcuni sistemi di indicatori di immagine forniscono solo una posizione a pixel singolo, che equivale a un raggio di posizioni possibili. Altri forniscono la trasformazione completa, in tal caso questa sezione non è necessaria. Per raggiungere una singola posizione 3D, è possibile calcolare più raggi e trovare il risultato finale dall'intersezione approssimativa. Per ottenere questo risultato, sarà necessario:

  1. Creare un ciclo che raccoglie più immagini della fotocamera.
  2. Trovare i punti di funzionalità associati e i loro raggi del mondo.

Dato due o più percorsi di tag tracciati, è possibile posizionare una scena modellata per adattare lo scenario corrente dell'utente. Se non puoi presupporre la gravità, dovrai avere tre posizioni tag. In molti casi viene usata una combinazione di colori in cui le sfere bianche rappresentano posizioni tag tracciate in tempo reale e le sfere blu rappresentano posizioni tag modellate. In questo modo l'utente può misurare visivamente la qualità dell'allineamento. Si presuppone la configurazione seguente in tutte le applicazioni:

  • Due o più percorsi di tag modellati.
  • Uno "spazio di calibrazione", che nella scena è l'elemento padre dei tag.
  • Identificatore della funzionalità della fotocamera.
  • Comportamento, che sposta lo spazio di calibrazione per allineare i tag modellati con i tag in tempo reale (è consigliabile spostare lo spazio padre, non i marcatori modellati stessi, perché altre connessioni sono posizioni relative a tali tag).

Tenere traccia o identificare oggetti o visi reali contrassegnati con tag o spostando oggetti/visi usando LED o altre librerie di riconoscimento

Esempi:

  • Robot industriali con LED (o codici a matrice per oggetti in movimento più lenti).
  • Identificare e riconoscere gli oggetti nella stanza.
  • Identificare e riconoscere le persone nella stanza, ad esempio inserendo schede contatto olografiche su visi.

Vedi anche