1. A computer-implemented method comprising: obtaining, by a computing device, first sensor data including a first image taken by the computing device; obtaining a first estimated location of the computing device and a first estimated orientation of the computing device, wherein the first estimated location and the first estimated orientation are generated by a first estimator based at least on one or more visual features of the first image; obtaining, by the computing device, second sensor data including a second image taken by the computing device; determining, based on a comparison between the first image and the second image, (i) a change from the first estimated location of the computing device and (ii) a change from the first estimated orientation of the computing device; obtaining a second estimated location of the computing device generated by a second estimator based at least on the change from the first estimated location; obtaining a second estimated orientation of the computing device generated by the second estimator based at least on the change from the first estimated orientation; and obtaining (i) an updated estimated location of the computing device based at least on the first estimated location and the second estimated location, and (ii) an updated estimated orientation of the computing device based at least on the first estimated orientation and the second estimated orientation.