SURF の通信照合プロセスを高速化するにはどうすればよいですか? 提供されたサンプルを使用して、Web カメラからカラー画像をキャプチャして処理するように変更しましたが、速度は確実に改善する必要があります。これはどこに取り組むべきですか?
2566 次
2 に答える
3
まず、SURF(少なくともOpenCVのもの)は灰色の画像のみをサポートします。
調整可能な記述子パラメーターはたくさんあります。それらを低い値に設定すると、パフォーマンスが向上します。
typedef struct CvSURFParams
{
int extended; // 0 means basic descriptors (64 elements each),
// 1 means extended descriptors (128 elements each)
double hessianThreshold; // only features with keypoint.hessian
// larger than that are extracted.
// good default value is ~300-500 (can depend on the
// average local contrast and sharpness of the image).
// user can further filter out some features based on
// their hessian values and other characteristics.
int nOctaves; // the number of octaves to be used for extraction.
// With each next octave the feature size is doubled
// (3 by default)
int nOctaveLayers; // The number of layers within each octave
// (4 by default)
}
CvSURFParams;
OpenCVのSURFドキュメントを参照してください。
また、OpenSURFlibの元の記事とメモを確認してください
于 2010-07-24T12:49:44.550 に答える
0
SURF コードで広く使用されている cvRound 関数に問題があります。要約すると、関数のオーバーロードには double と float の間の追加の型変換が伴うため、丸めコードが遅くなります。詳細な説明、速度測定値、およびパッチは、http: //computer-vision-talks.com/2011/06/a-few-thoughts-about-cvround/にあります。
于 2012-04-26T08:10:34.807 に答える