2014-01-16 59 views
2

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

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参数,什么手段..anycan能帮助我吗?

+0

我觉得这个网站可以帮到你:http://www.geocities.ws/talh_davidc/ – SomethingSomething

回答

3

如果你希望显示HOG特征,然后用VLFeat(有一个选项叫做render,它可以让你做到这一点)。在下面的答案中提到的ICCV论文将HOG特征重建为图像。它试图告诉你,“电脑会看到什么”?两者都不同,你可能想尝试两种。

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

+0

为什么默认是20?也在http://web.mit.edu/vondrick/ihog/#code中使用相同的代码,默认值是20,但功能是用8(如你所说)!不可能是相同的? – volperossa

+1

我从来没有说过'8'是默认的bin大小。它可以是任何东西。 '8'是我见过的最常见的。要了解其重要性,您必须阅读HOG详细信息。您可以查看[this](http://www.youtube.com/watch?v=0Zib1YEE4LU)视频。 –

2

MATLAB的计算机视觉系统工具箱中的extractHOGFeatures函数可选地返回一个可视化对象,让您可视化这些要素。