1. A server comprising: a storage medium configured to store a plurality of images; and a processing circuit configured to execute instructions to: receive at least one rectified image having at least one potential object of interest from a computing device for a visual search and including a modified perspective view of the at least one potential object of interest relative to a view of the at least one potential object of interest in one or more unrectified images, the at least one rectified image created based on at least a partial 3D geometric model of an environment included in the one or more unrectified images, the at least partial 3D geometric model including at least the portion of the one or more potential objects of interest within the environment, wherein the at least partial 3D geometric model is built using at least one unrectified image of the one or more unrectified images including the environment and at least a portion of one or more potential objects of interest within the environment; and extract descriptors representing features of the at least one rectified image, wherein the extracted descriptors of the at least one rectified image are designed to be invariant to rotation, scale, and lighting without needing to be invariant to perspective or affine distortion.