3

私は現在、純粋な C コードで書かれた Viola-Jones コードと openCV 関数 cvHaarDetectObjects() を使用するコードの時間パフォーマンスを比較しています。

これまでのところ、純粋な C コードで顔を検出するのにかかる時間は、openCV 関数を使用した場合の約 3 倍になるようです。純粋な C コード バージョンでは単純化されたアルゴリズムが使用されますが。

誰か私にこれについてのヒントを教えてください。

4

1 に答える 1

2

プロファイラーを使用して両方の実装の速度を比較し、どの部分に最大の違いがあるかを確認します。Very Sleepyは私のお気に入りの 1 つですが、もちろんそれだけではありません - Windows 用の最高の無料 C++ プロファイラーは何ですか?
おそらくOpenCVの実装は、(ほとんどの操作で-Viola-Jonesアルゴリズムだけでなく、基本的な操作でも)並列化、MMX、SSE(異なるバージョン)などのプロセッサ拡張機能、および最適化のトリック(多くの場合かなり奇妙な - http://www.beyond3d.com/content/articles/8 )。

于 2013-08-27T12:02:47.017 に答える