1. A method for generating three-dimensional models from uncalibrated views comprising acts of: forming a three-dimensional model of at least a portion of a scene viewed from an uncalibrated image capturing device location by: receiving images from uncalibrated views of the uncalibrated image capturing device location; extracting features from the images from uncalibrated views of the uncalibrated image capturing device location; computing correspondence between features from images from the uncalibrated views captured from the uncalibrated image capturing device location; forming a three-dimensional structure modeling the at least a portion of a scene viewed from the uncalibrated image capturing device location; iteratively performing the act of forming a three-dimensional model viewed from an uncalibrated image capturing device location, for a subset of the uncalibrated image capturing device locations available; stitching together the three-dimensional models viewed from the subset of the uncalibrated image capturing device locations by: finding spatially local persistent feature groupings from the uncalibrated views captured at an uncalibrated image capturing device location; iteratively performing the act of finding spatially local persistent feature groupings for a subset of the uncalibrated image capturing device locations available; computing correspondence between sets of feature groupings from two uncalibrated image capturing device locations for a subset of pair-wise combinations of uncalibrated image capturing device locations; searching for best matches, whereby multiple three-dimensional models from a subset of uncalibrated image capturing device locations are thus “stitched” together to form an overall three-dimensional model of at least a portion of a scene; and outputting the overall three-dimensional model of at least a portion of a scene.