http://www.cs.berkeley.edu/~rbg/latent/voc-release5.tgzで入手できるコードは、オブジェクト検出で広く使用されています。ds、bs、treesを返すimgdetect関数があります。dsには検出ボックスが含まれており、bsには検出に使用されたフィルターのどれが画像で応答したかが含まれているようですが、treesには部分スコアに関する情報が含まれています。treesとbsを使用してパート スコアを取得する方法を見つけることができませんでした. 基本的に、検出ボックスが与えられた場合、検出に応答したフィルターと、オブジェクトの検出に使用された各フィルター (サブ パーツ) のスコアを調べたいと思います。
1 に答える
gdetect_parse.m の最後に次の行を追加します。バウンディング ボックス (x1、x2、y1、y2) はbsのボックスに対応し、スコアは最後から 2 番目の行になります。木の中{i}
ノード ID = 8; // リーフ ノードであることを確認します。つまり、ツリーの 2 行目 {i} は 1 にする必要があります。
ツリー ID = 1; //検出ツリーの 1 つ
scale = (model.sbin/pyra.scales(trees{tree_id}(8, node_id)));
x1 = (trees{tree_id}(6, node_id) - 1 - pyra.padx*(2^trees{tree_id}(9, node_id)))*scale + 1
y1 = (trees{tree_id}(7, node_id) - 1 - pyra.pady*(2^trees{tree_id}(9, node_id)))*scale + 1
filter_id = model.symbols(trees{1}(3, node_id)).filter;
fx = model.filters(filter_id).size(2);
fy = model.filters(filter_id).size(1);
x2 = x1 + fx*スケール - 1
y2 = y1 + fy*スケール - 1