1. A method comprising: receiving scene description information associated with an image, the scene description information comprising semantic data for a plurality of objects within the image; assigning a weight to each object in the plurality of objects based on the semantic data, the weight being independent of a geographic location, to yield weighted scene description information; organizing, via a processor, the image and the weighted scene description information into a data structure, wherein the data structure comprises, for each object in the plurality of objects, a storage array as an infinite array of the each object; classifying the image based on the data structure to, yield a classified image; modifying the weight of a specific object in the plurality of objects based on user search preferences and repeated searching for the specific object, to yield a modified object weight; storing the modified object weight for the specific object in the infinite array for the specific object; and upon receiving a search query, responding to the search query by returning matching images in the image database based on a comparison of the search query to the data structure using the modified object weight.