Anyone know of an algorithm that will group pictures into events based on the date the picture was taken. Obviously I can group by the date, but I’d like something a little more sophisticated that would(might) be able to group pictures spanning multiple days based on the frequency over a certain timespan. Consider the following groupings:
- 1/2/2009 15 photos
- 1/3/2009 20 photos
- 1/4/2009 13 photos
- 1/5/2009 19 photos
- 1/15/2009 5 photos
Potentially these would be grouped into two groups:
- 1/2/2009 -> 1/5/2009
- 1/15/2009
Obviously there will be some tolerance(s) that need to be established.
Is there any well established way of doing this, other then inventing my own top/down approach?
You can apply pretty much any standard clustering technique to this, it’s just a matter of defining your distance function correctly. When you are making your matrix of distances between your photos you should consider a combination of physical distance between locations – if you have it – and temporal distance between their creation timestamps. Normalise them and put them on separate dimensions and you may even just be able to take a regular euclidean distance.
Best of luck.