Tracciamento di piani combinato con il tracciamento del movimento
Questo articolo spiega come integrare il tracciamento di immagini piane con il tracciamento del movimento del dispositivo per migliorare la stabilità del tracciamento e l'esperienza utente in scenari complessi. Include i principi fondamentali, i risultati attesi e l'analisi dei potenziali problemi.
Principi fondamentali
Fusione del movimento (Motion Fusion) combina i dati di posa del tracciamento di immagini piane con quelli del tracciamento del movimento del dispositivo per ottenere una stima della posa più robusta. Di seguito il flusso principale:
Sincronizzazione e complementarità dei dati
- Tracciamento visivo: calcola la posa corrente (posizione + rotazione) attraverso la corrispondenza di punti caratteristici nell'immagine, ma è sensibile a oclusioni, sfocature o movimenti rapidi.
- Tracciamento del movimento: utilizza i dati ad alta frequenza dei sensori IMU combinati con l'output visivo per ottenere il movimento del dispositivo, ma presenta errori di deriva cumulativa.
- Meccanismo di fusione:
- Allinea i sistemi di coordinate della posa del tracciamento visivo con quella del tracciamento del movimento.
- Quando l'immagine target è chiaramente visibile e il movimento è stabile: priorità al tracciamento visivo. La posa del tracciamento visivo viene costantemente inviata al modulo di fusione per correggere la deriva cumulativa del sistema.
- Quando l'immagine target viene persa, è troppo piccola nel frame, o durante movimenti rapidi: il tracciamento visivo fallisce, priorità al tracciamento del movimento. La posa fusa viene predetta in base alla posa corrente del tracciamento del movimento.
Punti tecnici chiave
- Allineamento dei timestamp: allinea i timestamp dei frame visivi con i dati del tracciamento del movimento per evitare tremolii dovuti a latenza.
- Allineamento dei sistemi di coordinate: i sistemi di coordinate vengono allineati in base alle traiettorie del tracciamento visivo e del tracciamento del movimento.
- Rilocalizzazione: quando l'immagine riappare, il tracciamento visivo riprende il controllo correggendo rapidamente eventuali errori cumulativi, "riportando" gli oggetti virtuali nella posizione corretta.
Scenari applicabili e limitazioni
La fusione del movimento non è adatta a tutti gli scenari. Non è applicabile nei seguenti casi:
- Il dispositivo target non supporta funzionalità di tracciamento del movimento come ARCore/ARKit. Consulta la lista dettagliata dei dispositivi supportati: Supporto dispositivi per tracciamento movimento.
- L'immagine target/oggetto piano è dinamico nella scena, ad esempio una carta tenuta in mano.
Negli altri scenari, l'uso della fusione del movimento migliorerà notevolmente l'esperienza utente del tracciamento di immagini piane, inclusi ma non limitati a:
- Movimenti rapidi: l'utente muove rapidamente il dispositivo, la sfocatura da movimento causa il fallimento del tracciamento visivo.
- Scomparsa del target: quando l'immagine esce dal target o il target è occluso da oggetti dinamici (es. persone), il contenuto virtuale nella scena rimane visibile.
- Allontanamento dal target: l'utente si allontana dal target rendendolo troppo piccolo nel frame, ma il tracciamento rimane stabile.
- Condizioni di scarsa illuminazione: le prestazioni del tracciamento visivo diminuiscono, ma l'esperienza viene mantenuta.
Risultati ed effetti attesi
Negli scenari applicabili, l'uso della fusione del movimento fornirà un'esperienza utente più stabile e fluida rispetto al solo tracciamento di immagini piane.
Effetti ideali
- Tracciamento più stabile: gli oggetti virtuali non tremano né saltano.
- Transizioni fluide: quando il tracciamento visivo fallisce, la variazione della posa fusa è continua e naturale.
- Resistenza alle interferenze: quando l'immagine target viene persa, occlusa o il dispositivo si muove rapidamente, gli oggetti virtuali continuano a seguire il movimento del dispositivo.
Situazioni non ideali e soluzioni
| Fenomeno | Causa | Percezione utente | Soluzione |
|---|---|---|---|
| Inizializzazione non immediata | Il tracciamento del movimento richiede tempo per inizializzarsi | Il contenuto scompare nella fase iniziale | UI di avviso per assicurarsi che l'inizializzazione del tracciamento sia completata |
| Deriva evidente | Accumulo di errori di sistema senza correzione visiva prolungata | L'oggetto virtuale si sposta dalla posizione originale | Guidare l'utente a ridurre i tempi di occlusione o aggiungere prompt per la rilocalizzazione visiva |
| Calo delle prestazioni | Esecuzione simultanea prolungata delle due funzioni | Frame rate ridotto, scatti nel video | Fenomeno normale, disattivabile tramite API |
Metodo di verifica dei risultati attesi
Testare su dispositivi supportati in scenari reali:
- Inquadrare l'immagine, verificare che l'oggetto virtuale sia stabile.
- Ostruire l'immagine con la mano per 2 secondi spostando il dispositivo, osservare se l'oggetto virtuale si muove fluidamente.
- Togliere la mano, verificare che l'oggetto virtuale ritorni rapidamente in posizione senza salti.
Riepilogo e best practice
La fusione del movimento migliora significativamente la robustezza del tracciamento di immagini piane in molti scenari, ma richiede supporto hardware e prestazioni adeguate del dispositivo. Gli sviluppatori dovrebbero abilitare selettivamente la funzione in base ai dispositivi degli utenti target e fornire soluzioni di fallback per dispositivi meno performanti.
Riferimenti API per attivare/disattivare in tempo reale la fusione del movimento:
- Nativo: setResultPostProcessing
- Unity: EnableMotionFusion