TAMALOG

プログラミングがあれば遠いところへ行けます。プログラムと人の共生を記録します。

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特徴抽出が高速ですね。

f:id:tamanobi:20150713092753p:plain

f:id:tamanobi:20150713092758p:plain

計測用コード

Measuring processing time of OpenCV's feature dete ...

まとめ

名前だけあって、FASTが爆速ですね。ほかと比べてオーダーがひとつ違います。この結果を考慮すると、特徴点抽出にFAST, 特徴量記述にORBを使うのが良さそうです。