1

画像 I のサイズ [wH,wW] のすべてのスライディング ウィンドウの HOG を抽出したいと考えています。

現在私が持っているものは次のとおりです。


windows = im2col(I, [wH,wW]);

for i=1:step:size(windows,2)

    sub = reshape(windows(:,i), [wH,wW]);

    features(i,:) = featuresExtraction(sub);

end

featuresExtraction スクリプトが HOG などを抽出します。

走ってみると、非常にゆっくりと走っていることがわかります。それをより良くするための提案はありますか?

4

1 に答える 1

0

まず、Matlab プロファイラーを使用してコードをプロファイリングすることをお勧めします。

featuresExtractionこれを行うと、関数またはのいずれかim2colが計算が遅い理由であることがわかると思います。im2col他の Matlab 関数も呼び出す関数です。関数名をマークし、新しく開いたファイル内に多数の Matlab コードがある場合は、[選択を開く] を右クリックして確認します。

ループはfor正しいようですが、もちろん、コードは画像内の可能なすべてのウィンドウを反復処理します。これは非常に遅く、特に Matlab ループでは非常に遅いです。

本当にコードを高速化したい場合は、計算コストの高いメソッドを MEX インターフェイスを使用して C で実装することをお勧めします。優れたチュートリアルについては、これをチェックしてください: A Short MEX Tutorial and Demo

于 2013-02-07T22:59:50.397 に答える