5. The system of claim 1 , wherein the visual input matching component identifies multiple matching images of the plurality of images and wherein the visual input matching component further assigns a visual score to each of the multiple matching images.
1. A system comprising: a processor in communication with computer-readable storage media; an index maintained in the computer-readable storage media, the index comprising image data that describes one or more first shape-descriptors, including first edgel-based representations, of each of a plurality of images, wherein the first edgel-based representations comprise a set of pixels that depict one or more boundary contours of each of the plurality of images and are created by segmenting each of the plurality of images into a plurality of image segments and performing a multi-phase contour detection on the plurality of image segments; a query receiving component that receives a visual input as a search query; a query parser that converts the visual input into at least one second shape-descriptor, including a second edgel-based representation, wherein the second edgel-based representation comprises a set of pixels that depicts one or more boundary contours of the visual input and is created by segmenting the visual input into a plurality of visual input segments and performing a multi-phase contour detection on each of the visual input segments; and a visual input matching component that matches the one or more first shape-descriptors, including the first edgel-based representations, of the plurality of images with the at least one second shape-descriptor, including the second edgel-based representation, of the visual input from the search query to identify at least one matching image of the plurality of images.