Feature extractor and descriptor OpenCV performance on iOS iPad and iPhones

I came across an article demonstrating the performance of the feature extraction and descriptor, which is useful when building opencv on iOS as it shows how the performance of your application will change across all of the devices. It compares ORB, BRISK, FREAK (using GoodFeaturesToTrack), FAST, BRIEF (using GoodFeaturesToTrack), SIFT and SURF. Feature And Descriptor Performance opencv

Feature Extractor/Descriptor Algorithm (Times in ms)
Device ORB BRISK FREAK FAST BRIEF SIFT SURF
iPad Air 52.37 775.7 46.49 7.72 3.64 877.09 805.5
iPad 4 80.3 1167.24 84.48 15.03 6.89 1378.78 842.3
iPad 3 162.99 2155.05 184.84 24.74 17.32 3518.18 1606.63
iPad Mini 1 162.96 2156.24 185.66 24.86 17.63 3586.21 1627.4
iPad 2 162.23 2150.66 184.24 24.7 17.2 3515.13 1599.75
iPhone 4S 200.54 2673.05 222.74 30.59 20.77 4320.1 1980.38
iPhone 5 84.41 1232.42 89.92 16.11 7.42 1474.19 804.29
iPhone 5S 55.15 829.54 49.04 8.22 3.76 1028.17 1024.97

Difference over the generations

This article does highlight the performance over generations of apple devices. Most notably the iPad 2, iPad mini 1 and iPad 3 have almost identical performance which is no surprise considering they all have the same A9 1Ghz dual core processor inside them. It is also interesting to note that from iPhone 4S -> iPhone 5 -> iPhone 5S and iPad 3 -> iPad 4 -> iPad Air the duration of several of the algorithms (ORB, FREAK, FAST and BRIEF) are showing almost halving in time taken to detect and extract keypoint and descriptors.

Performance difference of 64 bit processors

For the iPads comparing the iPad 4 and the iPad Air which both have 1.4Ghz dual core processors but iPad 4 is 32 bit and the iPad Air is 64 bit we can see that the performance improvement below. Most noticeably SURF shows only 4.4% improvement where as FREAK, BRIEF and FAST execute almost twice as fast on 64 bit as they did on 32 bit.

Percentage Performance Inprovement iPad 4 – > iPad Air (32 -> 64 bit)
ORB BRISK FREAK FAST BRIEF SIFT SURF
34.8% 33.5% 45.0% 48.6% 47.2% 36.4% 4.4%

Reference Article: OpenCV Performance Measurements on Mobile Devices

Bookmark and Share