Visual Odometry
- Detto anche: VO, Camera Odometry
- Categoria: State estimation & navigation › Localisation
- Tag: perception, navigation, cameras, localization
Stima del movimento di un robot o di una telecamera tracciando caratteristiche visive in immagini consecutive, che fornisce aggiornamenti di posizione senza encoder delle ruote né GPS.
Definizione
L'odometria visiva (VO) stima il movimento di un robot o di una fotocamera analizzando le variazioni tra immagini consecutive. A differenza dell'odometria delle ruote, che misura le rotazioni delle ruote, la VO ricava le informazioni sul movimento da caratteristiche visive seguite da un fotogramma all'altro. Il processo comprende rilevamento delle caratteristiche, loro abbinamento o inseguimento, stima del movimento e un'eventuale ottimizzazione locale. La VO è particolarmente utile quando le ruote slittano o in ambienti in cui gli encoder delle ruote non sono affidabili. Combinata con i dati di una IMU diventa odometria visivo-inerziale (VIO), che offre un tracciamento più robusto.
Perché è importante
L'odometria visiva stima quanto e in quale direzione si è mosso un robot osservando come il mondo scorre davanti alle sue telecamere. Conta soprattutto dove le soluzioni abituali non sono disponibili: al chiuso e sottoterra non c'è GPS, e sulle macchine con zampe o cingoli l'odometria delle ruote non ha senso. Una telecamera è inoltre molto più economica e leggera di un LiDAR, ed è per questo che l'odometria visiva è alla base della maggior parte del tracciamento di droni e dispositivi portatili. La sua debolezza è intrinseca: stima variazioni, quindi l'errore si accumula, e per tracciare qualcosa le serve una texture visiva.
Applicazioni principali
- Mantenimento della posizione e navigazione dei droni dove il GPS non è disponibile o non è affidabile
- Odometria dei robot con zampe, dove una misura basata sulle ruote non esiste
- Tracciamento dei visori AR e VR, lo stesso problema nell'hardware di consumo
- Robot di ispezione sotterranei, al chiuso e subacquei
- Rover planetari, dove l'odometria visiva corregge lo slittamento delle ruote sul terreno incoerente
- Avvio della SLAM visiva, che si basa sullo stesso tracciamento delle caratteristiche
In pratica
I sistemi pratici sono quasi sempre visivo-inerziali: la telecamera fornisce la struttura resistente alla deriva, mentre l'unità di misura inerziale (IMU) porta avanti la stima durante il mosso, le rotazioni rapide e i momenti in cui le caratteristiche scompaiono. È ciò che gira all'interno di un drone che mantiene la posizione al chiuso e di un visore VR che traccia una stanza. Il modo tipico in cui fallisce è istruttivo: puntatela verso una parete bianca e spoglia, o fatela funzionare in un corridoio buio, e la stima crolla perché non c'è nulla da tracciare. Una texture ripetitiva come i pavimenti piastrellati provoca un errore più sottile, in cui le caratteristiche vengono associate con sicurezza alla piastrella sbagliata.
Idee sbagliate comuni
- L'odometria visiva fornisce la posizione assoluta: integra il movimento relativo e deriva senza un riferimento esterno o una chiusura del ciclo
- Va bene qualsiasi telecamera: frequenza dei fotogrammi, tipo di otturatore e distorsione dell'obiettivo contano enormemente, e i soli artefatti del rolling shutter possono rovinare una stima
- Funziona in qualsiasi ambiente: pareti spoglie, buio, nebbia e motivi ripetitivi eliminano tutti le caratteristiche da cui dipende
- L'odometria visiva monoculare ricostruisce la scala reale: una sola telecamera non può farlo senza una IMU, una seconda telecamera o un oggetto di dimensioni note
Chi dovrebbe saperlo
- Chiunque costruisca un robot volante o con zampe che deve navigare senza GPS
- Sviluppatori che scelgono tra odometria delle ruote, visiva e inerziale
- Ingegneri che eseguono il debug di stime di posizione che derivano o saltano in spazi privi di caratteristiche
- Studenti che imparano il rapporto tra odometria visiva e SLAM completa
- Chiunque scelga le telecamere per un'applicazione di tracciamento, dove il tipo di otturatore è decisivo
Tecnologie correlate
- SLAM visiva (ORB-SLAM, LSD-SLAM)
- Odometria visivo-inerziale (VIO)
- Flusso ottico
- Rilevamento e associazione di caratteristiche (ORB, SIFT)
- Visione stereo e stima della profondità
- Bundle adjustment
- Odometria basata sul deep learning (TartanVO, DROID-SLAM)
- Fusione dei sensori con IMU e GPS
Progetti correlati
- Open3D: Modern library for 3D point cloud processing, mesh operations, and 3D machine learning
- PCL: Industry-standard C++ library for point cloud processing in robotics perception
- Cartographer: Google's real-time 2D and 3D SLAM system for multi-platform robotics
- Nav2: ROS 2 navigation stack with path planning and obstacle avoidance for mobile robots
- DimOS: Python robotics runtime with agents, SLAM and teleop, no ROS required
- ROS Motion Planning: One repo implementing 40+ classic and learning-based robot path planners as ROS plugins
Video
- Visual Odometry Series - Part 1 (Concept and Math): Hummingbird