There are services like TinEye (http://www.tineye.com) that allow users to upload an image and get similar images from the web. The results do not have to be exact copies but may include re-sizing, cropping and even small parts of other images. How does this search work? What are the most common approaches to this problem? Any nice research papers available?