Serene Life

by garik

submit your photo


Hall of Fame
View past winners from this year

Please participate in Meta
and help us grow.

Take the 2-minute tour ×
Photography Stack Exchange is a question and answer site for professional, enthusiast and amateur photographers. It's 100% free, no registration required.

A friend has requested a full-res copy of a photo I posted on Facebook a few years ago. Back then I just had a point and shoot, I didn't organize my photos well, and since I have started organizing photos, it's only the newer ones that are organized. So somewhere in the mess of folders on my drive is this photo, what's the best way to find it (amongst tens of thousands of photos)? Is there a Tineye-like program I can download and run on my machine?

share|improve this question
1  
what os are you on? That's going to change the answer quite a bit. –  cabbey Apr 5 '11 at 11:10
1  
this question is not very appropriate for photoSE –  MattiaG Apr 5 '11 at 11:33
9  
It's peripheral, but I think it's definitely on topic, as managing large collections of photographs is important to many photographers. –  mattdm Apr 5 '11 at 11:38
    
@cabbey Windows 7 –  fredley Apr 5 '11 at 11:58

6 Answers 6

up vote 13 down vote accepted

The people who make TinEye have a product called PixMatch which can search individual collections. It's not implemented as a desktop application, though — it's a server-based API. And it appears to be priced for serious enterprise use, not for individuals. So that's there, but not really an answer.

But a competing company does have something for the desktop — Imense Desktop Similar Image Search, which runs on Apple Mac OS or Microsoft Windows with Adobe Bridge CS4. It's free for collections of up to 4000, and seems reasonably priced above that.

There are, in fact, a ton of things, once I figured out what to search for: Content-based image retrieval. There is actually a lot of work in this area, and a ton of both open source and closed tools. Most of these are focused on the big-enterprise/academia side of things, and are in various states of completion and polish.

Of these, I think imgSeek is the most interesting for the desktop case. This is Python/QT-based and so in theory should run on pretty much any platform, but is focused on Linux. It does a comparisons based on metadata (date, time, etc.), simple features like average luminosity or color, or by sophisticated wavelet-based estimation of similarity. That's probably overkill for finding the exact same image in a different size with different compression, but should work really well since that's basically the easiest possible case. It'll also find near matches, like this:

enter image description here

All that may be too much work for this specific one-time problem. How are your not-organized photos stored? Even if their filenames aren't helpul, the EXIF metadata should still be good. One simple approach is to import them into a program which can examine this data and search or sort by it. Or, you could use a program like jhead to rename them all so they have sensible date-based names. (Maybe both.)

share|improve this answer

Simply do a wildcarded search for JPEGs (*.jpg), narrowed down by date; all OSs have this functionality. You might have to do a bit of manual looking through, but this may jog your memory and help you narrow down the date range anyway.

share|improve this answer
1  
This is where I would start, taking any info that can be had from the FB photo (such as date posted) as a clue as well. –  RBerteig Apr 5 '11 at 19:02

The technology certainly exists, as you mention TinEye has the functionality to find a high res image based on a low res sample, but I don't know of any desktop implementation of that approach.

Your best bet is probably to do an advanced search based on date, working out the most accurate date you can from memory (when you uploaded to Facebook). Narrow it down to a few tens of images and then eyeball it.

share|improve this answer
2  
If he is using Linux, then digikam could do the job (its duplicate search accepts images and searches for images that look similar). This works quite well, in this example the images are all slightly different: granjow.net/uploads/digikam/digikam-fuzzy-image-duplicates.png –  Simon A. Eugster Apr 5 '11 at 12:02
    
Narrow it down by date, then pay your kid brother/nephew/niece £5/$5 to find it. It'll be fun for them and cost effective for you :) –  Winston Smith Apr 5 '11 at 14:58
    
+1 for narrowing search by date –  JYelton Apr 5 '11 at 16:21

I like @ElendilTheTall's answer, but:

I recommend a thumbnail viewing program like Irfanview's thumbnail viewer. Open the program, hit "T" for thumbnail view (or File > Thumbnails). You then have a folder tree on the left and thumbnails on the right. This is a quick way to view images within a folder, and it lets you skip folders you know it isn't in. The full *.jpg search will find a massive amount of images that aren't part of your collection, such as cached web images, etc.

Also using Windows 7 you can easily view thumbnails, but I find that the operating system will view every folder somewhat differently based on its content and it can be more time consuming to set the view to thumbnails with the size you want.

share|improve this answer

If you were on mac or unix I'd have suggested an implementation of basically what @ElendilTheTall answered with. But Windows... yeah, not my favorite place to work so not sure how to go about doing it.

BUT, LightRoom has a free 30 day trial. You could download that, throw all your images in it and then use it's filtering to slice and dice your way to the image. Filter by camera, then by date, then spin through the grid until you find it. I have most of my photos organized in folders on my drives, but I use that approach to finding images on a regular basis.

share|improve this answer
1  
And then, buy LR. I'm personally too lazy to do much formal organization of my photos, but LR has made it possible for more than 80% of them to be sensibly tagged, and all to be findable through its filters. The one thing I do every time I pull photos from a camera is to immediately import them into LR tagged "TODO". (LR is Adobe Photoshop Lightroom.) –  RBerteig Apr 5 '11 at 19:06

This touches on file management and I think a search on Super User for a drive indexer program may help you here.

Essentially:

  1. Let the indexer run overnight
  2. Run queries against the catalog

Note: Some indexers may even generate a small low-res thumbnail for you to look at.

share|improve this answer
    
My opinion of indexing programs is very poor, because of loss of performance and needless hard drive activity. Thumbnails can be generated in realtime by a good browsing program and the user need only visit candidate folders instead of the whole drive. –  JYelton Apr 5 '11 at 16:20
    
All management tools will work on a database as it's easier and quicker to search a catalog than do raw disk I/O searches. When in the situation presented by the op, then running multiple searches against that catalog is going to be better than the heavy I/O required for each search performed. –  Wayne Apr 6 '11 at 0:49

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.