EasyAR Plane Detection
EasyAR Plane Detection rileva automaticamente i piani orizzontali nell'ambiente mentre EasyAR Motion Tracker è in esecuzione, offrendo funzioni come il posizionamento di oggetti virtuali.
Principio di EasyAR Plane Detection
EasyAR Plane Detection è una semplice capacità di comprensione dell'ambiente che viene eseguita automaticamente in modo sincrono durante l'esecuzione di EasyAR Motion Tracker. In base alle informazioni spazio-temporali ottenute dalla camera del dispositivo e dai sensori inerziali, il sistema modella continuamente l'ambiente reale, identificando e tracciando i piani orizzontali e fornendo supporto di base per posizionamento di oggetti virtuali, allineamento dell'interazione e comprensione spaziale.

Il processo specifico è:
Motion tracking
Durante motion tracking, EasyAR acquisisce continuamente due tipi principali di dati: frame immagine continui dalla camera RGB e dati di accelerometro e giroscopio. Tramite un algoritmo di fusione visivo-inerziale, il sistema stima posizione e orientamento continui a sei gradi di libertà del dispositivo nel sistema di coordinate del mondo, fornendo una traiettoria camera stabile e a basso drift per la successiva modellazione spaziale e analisi dei piani.
Rilevamento dei feature point e triangolazione
Sulla base della stima della pose, EasyAR estrae e traccia feature point visivi stabili dalla sequenza di immagini, come corner o aree con texture distintive, e triangola questi punti tramite geometria multi-vista per recuperare le loro posizioni nello spazio 3D, formando una rappresentazione locale di point cloud 3D.
Generazione di aree candidate di piano
Dopo aver ottenuto la point cloud 3D, il sistema esegue un'analisi geometrica per trovare insiemi di punti che potrebbero appartenere allo stesso piano. Attraverso la relazione con la direzione della gravità, il sistema può distinguere candidati di piano orizzontale, cioè piani i cui vettori normali sono approssimativamente paralleli alla gravità, come pavimenti o piani di tavoli.
Tracking e rilevamento del piano
EasyAR convalida e aggiorna i piani rilevati nei frame consecutivi:
- Determina se i nuovi punti 3D osservati supportano un modello di piano esistente;
- Regola dinamicamente estensione, confine e confidence del piano in base alla coerenza delle osservazioni;
- Rimuove candidati piano transitori o instabili. Un risultato diventa un “piano disponibile” solo quando coerenza geometrica e stabilità temporale soddisfano entrambe i requisiti.
Sistema di coordinate del piano e allineamento del contenuto virtuale
Una volta confermato un piano, è possibile usare il risultato di plane detection per realizzare effetti AR più realistici:
- Posizionare oggetti virtuali sul piano, allineandoli a scala e direzione reali;
- Eseguire ray casting, Hit Test, per mappare i tocchi sullo schermo a posizioni reali sul piano;
- Implementare logiche di interazione basate sul piano, come snapping degli oggetti, movimento e decisioni di occlusione.
Poiché i piani e il sistema motion tracking condividono lo stesso sistema di coordinate del mondo, gli oggetti virtuali possono mantenere una consistenza spaziale stabile e continua mentre l'utente muove il dispositivo.
Plane detection dipende dalla pose stabile e dalla struttura spaziale fornite da motion tracking, e i risultati di plane detection possono a loro volta migliorare la comprensione dell'ambiente, ad esempio aiutando il posizionamento dei contenuti e il design dell'interazione. Insieme costituiscono la base centrale della percezione spaziale EasyAR, ma nell'architettura di sistema sono disaccoppiati. Plane detection non modifica il risultato della stima della pose di motion tracking stesso.
Best practice
Per garantire l'esperienza utente di plane detection, seguire queste pratiche.
- Guidare gli utenti a muoversi lentamente ed evitare di restare fermi, muoversi rapidamente o ruotare sul posto.
- Evitare piani privi di texture, a colore uniforme, a specchio o comunque difficili da riconoscere visivamente.
Nota
Plane Detection è la funzione EasyAR per riconoscere piani orizzontali nell'ambiente. Surface Tracking non rileva né riconosce strutture planari in una scena e deve essere distinto.