
openFrameworks & OpenCV SURF
6 months ago
My 2nd attempt to apply the SURF feature extraction (vision.ee.ethz.ch/~surf/) functionality of recent OpenCV versions on video content. Finally got it to work when wrapped in OF, after running in some weird memory leak using only standard C++. The original demo code is largely based on this one for static images by Liu Liu: is.gd/NAw7 (The image is by me for my little son)
I've been very impressed to see how well the image and its bounding quad are still recognized even if quite a large parts are occluded...
Next steps are to wrap this all in a nice new class for the existing ofxOpenCV addon, add temporal smoothing to stabilize the found marker edges/corners, make it threadsafe and add some additional matrix wrangling for using this all in markerless augmented reality scenarios (our real target here...)
UPDATE: by tweaking the SURF threshold parameter I could improve the framerate to be around 10fps whilst retaining fairly stable tracking.
I've been very impressed to see how well the image and its bounding quad are still recognized even if quite a large parts are occluded...
Next steps are to wrap this all in a nice new class for the existing ofxOpenCV addon, add temporal smoothing to stabilize the found marker edges/corners, make it threadsafe and add some additional matrix wrangling for using this all in markerless augmented reality scenarios (our real target here...)
UPDATE: by tweaking the SURF threshold parameter I could improve the framerate to be around 10fps whilst retaining fairly stable tracking.
-
Vimeo: About / Blog / Developers / Jobs / Community Guidelines / Community Forums / Help Center / Site Map / Merchandise
/ Get Vimeo

Previous Week
btw for markerless AR there is also the PTAM lib
robots.ox.ac.uk/~gk/PTAM/
robots.ox.ac.uk/~gk/youtube.html
but surf looks like it could be really useful for other things too. e.g. can you reduce the number of features to track? and does that improve framerate? If so could this potentially be used to track say human features in 3D space and construct a very rough skeleton in 3D?
cvlab.epfl.ch/software/bazar/