This video demonstrates my first attempt at tracking FAST corners using SURF descriptors on the iPhone 3G. The framerate is still quite low but I haven’t started optimizing the code for the phone yet. The table below shows the relative amount of processing time each step takes, hopefully each can be reduced. This post is related to my previous one: OpenCV and FAST corners on the iPhone 3G. An updated post featuring extremely fast FAST corner detection is here: http://www.ml.sun.ac.za/mobile/stable-fast-corners-on-3gs-official-api/
In short: I compiled static OpenCV libs for the iPhone and ported FAST and SURF to the phone. Here is the table indicating the relative CPU time per frame for every step of the cycle. Everything is calculated on a half-sized scaled version of the frames captures by die phone’s camera.
|Step||% CPU time per frame|
|Preparing camera feed frame for OpenCV structures:||18.08%|
|Calculating integral image for SURF:||6.03%|
|Calculating SURF descriptors:||66.31%|
|Drawing stuff on output image:||2.41%|
|Converting output image to CGImage||3.01%|
Any comments and questions welcome.