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 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
