Geometry and Uncertainty in Deep Learning for Computer Vision