Diagnosi e correzione: jitter dei contenuti
Questo articolo riguarda jitter, drifting o salti dei contenuti virtuali nel planar image tracking. Aiuta gli sviluppatori a distinguere il jitter normale da quello anomalo e fornisce metodi sistematici di troubleshooting e miglioramento.
Distinguere il "jitter normale"
Comprendere i casi seguenti aiuta a evitare ottimizzazioni eccessive o valutazioni errate:
Spostamento lieve (normale)
- Comportamento: il contenuto virtuale fluttua leggermente di alcuni pixel o ruota lentamente.
- Scenari:
- Illuminazione non uniforme, ad esempio cambiamenti di luce e ombra in ambienti interni
- Auto focus della camera o regolazione exposure
- Leggero tremolio della mano sul dispositivo, senza fissaggio con treppiede
- Aspettativa: questo tipo di scenario è difficile da evitare e non richiede trattamento speciale.
Jitter breve (normale)
- Comportamento: quando si muove rapidamente il dispositivo o la target image, il contenuto virtuale mostra jitter per 0,5-1 secondi e poi si stabilizza.
- Scenari:
- Processo di transizione da statico a dinamico
- Fase iniziale di riconoscimento quando la target image entra nel campo visivo
- Aspettativa: appartiene al processo di convergenza dell'algoritmo ed è normale se recupera in breve tempo.
Jitter ai bordi (normale)
- Comportamento: quando la image si trova al bordo del campo visivo della camera o vicino alla perdita, il contenuto virtuale salta leggermente.
- Scenari:
- La image è parzialmente occlusa, ad esempio un dito copre il bordo
- Il campo visivo della camera si sposta fuori dalla image
- Aspettativa: è un limite dell'algoritmo causato dalla perdita parziale delle tracking information. Si consiglia di guidare l'utente a mantenere la image al centro del campo visivo.
Cause comuni e miglioramenti del jitter anomalo
Il jitter seguente è un problema e richiede una soluzione mirata:
Qualità scarsa della target image
Sintomo: il contenuto virtuale mostra jitter continuo ad alta frequenza, salti irregolari o scompare frequentemente. Metodo di troubleshooting:
- Controllo del recognition score: usare il target image detection tool per controllare il recognition score.
Suggerimenti di miglioramento:
- Ottimizzare la image:
- Aumentare il contrasto locale.
- Evitare aree a colore pieno e aggiungere texture sottili.
- Evitare texture ripetitive.
Prestazioni hardware insufficienti
Sintomo: il jitter è più evidente sui dispositivi di fascia bassa rispetto a quelli di fascia media o alta, oppure il tracking si perde più facilmente. Metodo di troubleshooting:
- Controllare l'uso CPU: usare strumenti Profiler per monitorare l'uso CPU dell'applicazione.
Suggerimenti di miglioramento:
- Abilitare performance mode: impostare
ImageTrackerModesuPreferPerformance, sacrificando una piccola quantità di precisione in cambio di fluidità. - Ridurre il numero di tracking: se è abilitato multi-target tracking simultaneo, ridurre opportunamente
Simultaneous Number. - Adattare per piattaforma: fornire scenes semplificate per dispositivi di fascia bassa.
Interferenze ambientali
Sintomo: il jitter si verifica con illuminazione o background specifici e torna normale dopo aver cambiato ambiente. Metodo di troubleshooting:
- Test di illuminazione: testare separatamente con illuminazione uniforme, ad esempio in una giornata nuvolosa, e in condizioni di forte contrasto luce/ombra.
- Interferenza del background: controllare se lo sfondo della camera è troppo disordinato, ad esempio con molte persone in movimento.
- Interferenza da riflesso: controllare se la superficie fisica della target image è riflettente, ad esempio vetro o metallo.
Suggerimenti di miglioramento:
- Controllare l'illuminazione: consigliare agli utenti di usare l'app in un ambiente con illuminazione uniforme ed evitare luce diretta o ombre forti.
- Ottimizzazione fisica: se la image è su una superficie riflettente, coprirla con una pellicola opaca o realizzarla come oggetto fisico tramite stampa.
Jitter locale evidente del contenuto
Sintomo: la scene del contenuto virtuale è grande. Il jitter del contenuto virtuale vicino all'entità fisica della target image è minore, ma il jitter del contenuto virtuale lontano dalla target entity è evidente. Metodo di troubleshooting:
- Ridurre il contenuto: ridurre uniformemente lo
Scaledel contenuto virtuale nella scene, quindi testare di nuovo nello stesso ambiente e alle stesse condizioni.
Suggerimenti di miglioramento:
- Regolare opportunamente il contenuto: contenuti virtuali troppo grandi amplificano l'errore angolare nella direzione lontana dalla target entity. Ad esempio, un errore angolare di 0,1° vicino appare come un errore di allineamento virtual-real di 0,1cm, ma lontano viene amplificato a 10cm. Quando si progetta contenuto virtuale, regolare opportunamente la dimensione fisica del contenuto virtuale rispetto alla target image.
Riepilogo e best practice
Il jitter dei contenuti deve distinguere tra jitter normale e jitter anomalo. Il jitter normale, come lieve spostamento o recupero breve, non richiede trattamento speciale. Il jitter anomalo, come salti ad alta frequenza o perdita frequente, richiede attenzione aggiuntiva perché influisce sull'esperienza utente. Si consiglia il troubleshooting nel seguente ordine:
- Controllare la qualità della target image;
- Confermare se si tratta di un fenomeno specifico causato dalle prestazioni di un particolare dispositivo;
- Escludere interferenze ambientali, come illuminazione, scenes dinamiche, superfici riflettenti, ecc.;
- Verificare se il contenuto virtuale stesso è troppo grande.
Se il problema persiste, fornire log files, registrazioni schermo e altri materiali tramite il forum ufficiale EasyAR o il supporto tecnico per ulteriori analisi.