1. A computer implemented method, comprising: receiving, using one or more processors, a plurality of images captured by a mobile device at an area, the area being associated with a set of candidate locations; detecting, using the one or more processors, one or more feature indicators associated with the plurality of images, the feature indicators including semantic features related to the area, the semantic features including at least one of textures of objects, patterns, architecture, or decor; comparing, using the one or more processors, the semantic features with a plurality of stored location features; selecting, using the one or more processors, a location from the set of candidate locations based at least in part on the comparison; and estimating, using the one or more processors, a position of the mobile device based at least in part on the selected location.