1. A computer-implemented method of generating depth data for a scene using a camera-enabled mobile device, the method comprising: accessing, with one or more processors, a reference image of a scene, the reference image captured by an image capture device integrated with a camera-enabled mobile device; accessing, with the one or more processors, a sequence of images captured by the image capture device integrated with the camera-enabled mobile device, the sequence of images captured while the camera-enabled mobile device is moved according to a predefined camera motion specified by a camera pattern, each image in the sequence of images being captured from a different, pose relative to the reference image during the camera motion of the camera-enabled mobile device, and wherein the predefined camera motion specified by the camera pattern comprises at least some displacement of the camera-enabled mobile device in a vertical direction; selecting, with the one or more processors, a subset of the sequence of images as selected images based at least in part on an image metric, the image metric for each image in the sequence of images indicative of the blur of the image; determining, with the one or more processors, the pose of each selected image relative to the reference image; and determining, with the one or more processors; depth data for the scene from the selected images based at least in part on the pose of each selected image.