RSS

Free SIFT / SURF alternatives

20 Jul

Scrapped from http://tech.groups.yahoo.com/group/OpenCV/message/72592

I’ve tested the SIFT/SURF alternatives mentioned in a post by Gary last year and found them lacking.

FAST detector for keypoints – does not characterize keypoints (it’s fast, though)

Self-similarity features for keypoints (code by Rainer Lienhart) is IMHO patented by Shechtman & Irani as US patent (application), see e.g. http://www.faqs.org/patents/app/20100104158 (IMHO the US patent office allows to put in patents up to one year after publication)

Fast Keypoint Recognition using Random Ferns – similar speed and accuracy as SIFT/SURF, but needs far too much memory. I’ve measured 500M per object recognized even after optimizing the parameters in find_obj_ferns.cpp to reduce memory requirements. IMHO it does not make sense to train one fern classifier on multiple keypoints from the same object so this memory footprint would be incurred for each object to be recognized. E.g. to recognize 76 magazine pages like here (video done by myself), you’d need a whooping 34TB of main memory – not feasible.

http://www.youtube.com/user/SeewaldSolutions#p/f/3/1QceIPixocw

Given that cvSURF works reasonably well on small devices (I made it to about 1 fps on a recent Android model), which have nowhere that much memory, I currently don’t see any _feasible_ alternatives to SIFT/SURF for large-scale object recognition in OpenCV. Any idea/pointers? What can I do to fix this?

Advertisements
 
Leave a comment

Posted by on July 20, 2010 in Computer Vision, OpenCV

 

Tags: , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

 
%d bloggers like this: