Visual Odometry (VO) is the process of estimating an agent’s motion relative to a reference frame by observing a sequence of images of its environment.

For every , we compute the transformation based on images and .

The VO pipeline is:

flowchart TD
    A[Image Sequence] --> B[Feature Detection]
    B --> C[Feature Matching]
    B -->D[Feature Tracking]
    C --> E[Motion Estimation]
    D -->E
    E --> F[Local Optimisation]

Bundle adjustment can be used as an optimisation to reduce drift by tracking features over multiple images and adjusting errors accordingly.