4

SURF の通信照合プロセスを高速化するにはどうすればよいですか? 提供されたサンプルを使用して、Web カメラからカラー画像をキャプチャして処理するように変更しましたが、速度は確実に改善する必要があります。これはどこに取り組むべきですか?

4

2 に答える 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 に答える