HOG具有MATLAB可视化代码

时间:2014-01-16 18:04:38

标签: matlab computer-vision feature-detection matlab-cvst

我在这里找到How are HoG features represented graphically?代码来可视化HOG功能;它由http://www.cs.berkeley.edu/~rbg/latent/index.html中的2个文件完成,visualizeHOG.m和 HOGpicture.m就是这样 (以下代码根据MIT许可证发布)

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

% 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

我不明白什么是bs参数,什么意思......任何人都可以帮助我?

3 个答案:

答案 0 :(得分:4)

如果您正在寻找可视化HOG,可以在这里查看http://web.mit.edu/vondrick/ihog/#code

最近发表于iccv 2013

答案 1 :(得分:3)

如果您想要显示HOG功能,请使用VLFeat(有一个名为render的选项,允许您执行此操作)。下面答案中提到的ICCV论文将HOG特征重建为图像。它试图告诉你,“计算机会看到什么”?两者都不同,你可能想尝试两者。

bs代表bin大小。通常使用8x8(因此,bs = 8),但您应该知道bin大小的值是什么,因为这是计算HOG本身的必要参数。

答案 2 :(得分:2)

计算机视觉系统工具箱for MATLAB中的extractHOGFeatures功能可选地返回一个可视化对象,让您可以看到这些功能。