We present a robust and real-time monocular six degree of freedom visual
relocalization system. We use a Bayesian convolutional neural network to
regress the 6-DOF camera pose from a single RGB image. It is trained in an
end-to-end manner with no need of additional engineering or graph optimisation.
The algorithm can operate indoors and outdoors in real time, taking under 6ms
to compute. It obtains approximately 2m and 6 degrees accuracy for very large
scale outdoor scenes and 0.5m and 10 degrees accuracy indoors. Using a Bayesian
convolutional neural network implementation we obtain an estimate of the
model's relocalization uncertainty and improve state of the art localization
accuracy on a large scale outdoor dataset. We leverage the uncertainty measure
to estimate metric relocalization error and to detect the presence or absence
of the scene in the input image. We show that the model's uncertainty is caused
by images being dissimilar to the training dataset in either pose or
appearance