OpenCV3.0.0-dev+Python2.7.6で特徴量(ORB/AKAZE/KAZE/FAST/BRISK)の計測
OpenCV3.0に実装されている局所特徴量の速度をPython2.7.6で計測しました。
注意
FASTは、特徴点抽出のアルゴリズムです。FAST単体では、特徴量記述は行っていません。特徴量記述は、別のアルゴリズム(SIFT, SURF, ORB)で行う必要があります。
実行時間
10回実行時間を計測して、平均値を算出しました。以下の表にまとめます。
feature name | time | time/keypoint | |
---|---|---|---|
1 | orb | 0.0270579908 | 5.959910e-05 |
2 | akaze | 0.0446945421 | 1.041831e-04 |
3 | kaze | 0.1884253337 | 3.119625e-04 |
4 | fast | 0.0007557057 | 3.595175e-07 |
5 | brisk | 0.2198475384 | 1.609426e-04 |
グラフ
上の表を棒グラフで表現しました(GNU Rのggplot2を使用)。圧倒的にfast特徴抽出が高速ですね。
計測用コード
Measuring processing time of OpenCV's feature dete ...
まとめ
名前だけあって、FASTが爆速ですね。ほかと比べてオーダーがひとつ違います。この結果を考慮すると、特徴点抽出にFAST, 特徴量記述にORBを使うのが良さそうです。