L'odometria visuale è un algoritmo di dead reckoning e pertanto è soggetta a deriva. La composizione di molte stime di moto relative può infatti accumulare progressivamente gli errori di stima.
Estendendo la minimizzazione a una sequenza completa di fotogrammi,
si ottiene un problema nella forma
| (10.105) |
Quando si desidera stimare simultaneamente le pose delle camere e la posizione dei punti tridimensionali osservati lungo una sequenza, minimizzando gli errori di riproiezione, si parla di Bundle Adjustment.
Il concetto di Bundle Adjustment, introdotto dalla fotogrammetria e successivamente adottato dalla Computer Vision (si veda il survey (TMHF00)), indica quindi una minimizzazione multivariabile volta a ottenere contemporaneamente una ricostruzione tridimensionale, le pose delle camere in una sequenza di immagini ed eventualmente i parametri intrinseci delle camere stesse.
Si tratta di una tecnica di ottimizzazione non lineare che utilizza come funzione di costo gli errori di riproiezione dei punti osservati, nella stessa forma dell'equazione (10.104). Poiché la stessa feature può essere osservata in diverse immagini, una singola osservazione contribuisce alla stima di più pose e punti tridimensionali. Il problema non può quindi essere scomposto in una sequenza di problemi indipendenti di odometria visuale: le diverse immagini e i punti condivisi devono essere considerati congiuntamente.
Il numero di variabili può diventare molto elevato e il problema risulta in generale non convesso. La struttura sparsa delle osservazioni viene pertanto sfruttata dalle tecniche di ottimizzazione sparse, che permettono di ridurre il costo computazionale e l'occupazione di memoria.
Paolo medici