A system comprising: a computer processor configured to: receive from an image sensing device an image depicting a scene, a location of the image sensing device in real world coordinates, and locations of a plurality of points (410, 420, 430, 440) in the scene in the real world coordinates; determine and record pixel locations of the plurality of points; determine a center of the image; map each pixel in the image to an angular offset from the center of the image, wherein the mapping of each pixel characterizes and removes optical distortions of the image sensing device and the angular offset comprises a lateral offset from the center of the image and a vertical offset from the center of the image; generate camera-to-point vectors from the image sensing device to the locations of the plurality of points using the location of the image sensing device in real world coordinates and locations of a plurality of points in the scene in the real world coordinates; generate pixel-based vectors from the pixel locations of the plurality of points using the angular offsets; and iteratively align the pixel based vectors to the camera-to-point vectors to determine a rotation matrix describing a pose of the image sensing device and a metric based on an angular root mean square error between the pixel based vectors and the camera-to-point vectors; and after the pose of the image sensing device has been changed, re-determine the pose of the image sensing device, without repeating the mapping of each pixel, by generating pixel-based vectors from the pixel locations of the plurality of points using the angular offsets; and iteratively aligning the pixel based vectors to the camera-to-point vectors to determine a rotation matrix describing a pose of the image sensing device and a metric based on an angular root mean square error between the pixel based vectors and the camera-to-point vectors. a computer processor configured to: receive from an image sensing device an image depicting a scene, a location of the image sensing device in real world coordinates, and locations of a plurality of points (410, 420, 430, 440) in the scene in the real world coordinates; determine and record pixel locations of the plurality of points; determine a center of the image; map each pixel in the image to an angular offset from the center of the image, wherein the mapping of each pixel characterizes and removes optical distortions of the image sensing device and the angular offset comprises a lateral offset from the center of the image and a vertical offset from the center of the image; generate camera-to-point vectors from the image sensing device to the locations of the plurality of points using the location of the image sensing device in real world coordinates and locations of a plurality of points in the scene in the real world coordinates; generate pixel-based vectors from the pixel locations of the plurality of points using the angular offsets; and iteratively align the pixel based vectors to the camera-to-point vectors to determine a rotation matrix describing a pose of the image sensing device and a metric based on an angular root mean square error between the pixel based vectors and the camera-to-point vectors; and after the pose of the image sensing device has been changed, re-determine the pose of the image sensing device, without repeating the mapping of each pixel, by generating pixel-based vectors from the pixel locations of the plurality of points using the angular offsets; and iteratively aligning the pixel based vectors to the camera-to-point vectors to determine a rotation matrix describing a pose of the image sensing device and a metric based on an angular root mean square error between the pixel based vectors and the camera-to-point vectors. receive from an image sensing device an image depicting a scene, a location of the image sensing device in real world coordinates, and locations of a plurality of points (410, 420, 430, 440) in the scene in the real world coordinates; determine and record pixel locations of the plurality of points; determine a center of the image; map each pixel in the image to an angular offset from the center of the image, wherein the mapping of each pixel characterizes and removes optical distortions of the image sensing device and the angular offset comprises a lateral offset from the center of the image and a vertical offset from the center of the image; generate camera-to-point vectors from the image sensing device to the locations of the plurality of points using the location of the image sensing device in real world coordinates and locations of a plurality of points in the scene in the real world coordinates; generate pixel-based vectors from the pixel locations of the plurality of points using the angular offsets; and iteratively align the pixel based vectors to the camera-to-point vectors to determine a rotation matrix describing a pose of the image sensing device and a metric based on an angular root mean square error between the pixel based vectors and the camera-to-point vectors; and after the pose of the image sensing device has been changed, re-determine the pose of the image sensing device, without repeating the mapping of each pixel, by generating pixel-based vectors from the pixel locations of the plurality of points using the angular offsets; and iteratively aligning the pixel based vectors to the camera-to-point vectors to determine a rotation matrix describing a pose of the image sensing device and a metric based on an angular root mean square error between the pixel based vectors and the camera-to-point vectors.