16

OpenCV C ++ LibのHOGDescriptorを使用して、画像の特徴ベクトルを計算します。ソース画像の特徴を視覚化したいと思います。誰か助けてもらえますか?

4

4 に答える 4

28

今日もまったく同じ問題がありました。HOGDescriptorOpenCVの関数を使用して64x128画像のベクトルを計算するのHOGDescriptor::compute()は簡単ですが、それを視覚化するための組み込み機能はありません。

最後に、勾配方向の大きさが3870の長いHOG記述子ベクトルにどのように格納されるかを理解することができました。

ここで視覚化するための私のC++コードを見つけることができますHOGDescriptor

http://www.juergenbrauer.org/old_wiki/doku.php?id=public:hog_descriptor_computation_and_visualization

それが役に立てば幸い!

ユルゲン

于 2012-06-28T15:35:23.593 に答える
13

HOGgles¹は、HOGの視覚化のために開発されたメソッドであり、ICCV2013で公開されています。例を次に示します。

HOGは何を見ていますか?

この視覚化ツールは、HOGの勾配ベクトルをプロットするよりも便利な場合があります。これは、特定のサンプルでHOGが失敗した理由がよくわかるためです。

詳細については、http ://web.mit.edu/vondrick/ihog/をご覧ください。


¹C。Vondrick、A。Khosla、T。Malisiewicz、A。Torralba 「HOGgles:オブジェクト検出機能の視覚化」コンピュータビジョン国際会議(ICCV)、オーストラリア、シドニー、2013年12月。

于 2013-10-31T20:16:45.677 に答える
2

このopencvグループディスカッションは、ブラウン大学で作成されたライブラリにつながります。

ではHOGpicture.m、記述子を視覚化する方法を理解できるはずです。関連する(matlab)コードは次のとおりです。自分で何かを作るだけで十分ですか?

(以下のコードはMITライセンスの下でリリースされています)

function im = HOGpicture(w, bs)

% HOGpicture(w, bs)
% Make picture of positive HOG weights.

% construct a "glyph" for each orientation
bim1 = zeros(bs, bs);
bim1(:,round(bs/2):round(bs/2)+1) = 1;
bim = zeros([size(bim1) 9]);
bim(:,:,1) = bim1;
for i = 2:9,
  bim(:,:,i) = imrotate(bim1, -(i-1)*20, 'crop');
end

% make pictures of positive weights bs adding up weighted glyphs
s = size(w);    
w(w < 0) = 0;    
im = zeros(bs*s(1), bs*s(2));
for i = 1:s(1),
  iis = (i-1)*bs+1:i*bs;
  for j = 1:s(2),
    jjs = (j-1)*bs+1:j*bs;          
    for k = 1:9,
      im(iis,jjs) = im(iis,jjs) + bim(:,:,k) * w(i,j,k);
    end
  end
end
于 2012-06-02T13:34:15.160 に答える
2

ユルゲン・ブラウアーに基づいた、任意のblockSizeおよびのHOGImageを再実装します。https://github.com/zhouzq-thu/HOGImagecellSizeを参照してください。

于 2019-07-04T00:57:01.570 に答える