1. A navigation system comprising: an image sensor operable to obtain a first image at a first moment in time and a second image at a second moment in time; an inertial measurement unit (IMU) operable to obtain measurement data corresponding to the first and second moments in time; and a processing unit coupled to the image sensor and the IMU, the processing unit operable to: estimate motion between the first and second moments in time based on the measurement data from the IMU; calculate a plurality of transformations based on the estimated motion; apply each of the plurality of transformations to the first image to produce a plurality of predicted images; compare the second image to each of the plurality of predicted images; select the predicted image from the plurality of predicted images which most closely matches the second image; and compensate for error in the IMU measurement data based on the transformation corresponding to the selected predicted image.