1. A method of camera pose estimation in a camera, the method comprising: capturing a model image of a scene at a pre-determined canonical camera pose; initializing a current camera pose to the pre-determined canonical camera pose; generating an image library from a plurality of warped images of the model image and the model image, wherein each warped image is a transformation of the model image at a different pre-determined camera pose, and wherein the image library comprises the predetermined camera pose for each warped image and for the model image; capturing a first image of the scene as a user moves the camera; reporting the current camera pose as a camera pose of the first image when the first image is acceptable; adding the first image to the image library when the first image is acceptable, a sufficient amount of time has passed since another captured image was added to the image library, and the camera pose of the first image is sufficiently different from all camera poses in the image library, wherein adding the first image comprises adding the camera pose of the first image to the image library; and re-initializing the current camera pose to a camera pose selected from the image library when the first image is not acceptable.