我是图像处理的初学者。我有一些关于 HOG 的问题。

https://www.learnopencv.com/histogram-of-oriented-gradients/

在这个网站上,它提到 HOG 描述符中的每个元素将除以 block 中所有元素的总和。但是,如果 block 重叠,如何进行 block 归一化呢?我不明白,因为 vector 中的某些元素将是多个 block 的元素。

Picture of block normalization

例如,如果我们有一个直方图 [v11 v12 v13 v14...v19] 、[v21 v22 v23 v24...v29]、[v31 v32 v33 v34 v35...v39] 和 [v41 v42 v43 v44 ..v49] 在红色 block 中,我们可以像这样标准化第一个 vector 的第一个元素: v11/(v11+v12+...+v21+v22+v23+..+v31+v32+...+v41+v42 ...+v49)

但是,如何标准化红色 block 和黄色 block 中的 vector ?

非常感谢。

请您参考如下方法:

扩展@Massimiliano Janes 的评论:

假设你的直方图是

h1 = [v11, v12, v13, ..., v19], 
 
h2 = [v21, v22, v23, ..., v29],  
 
h3 = [v31, v32, v33, ..., v39], 
 
h4 = [v41, v42, v43, ..., v49] for the red block. 

因此,要标准化红色 block ,您需要除以所有元素 h1、h2、h3 和 h4 的总和。

sum = v11 + v12 + ... + v19 + v21 + ... + v49 

现在,新的标准化直方图将是

h1_new = [v11/sum, v12/sum, ..., v19/sum] 
 
h2_new = [v21/sum, v22/sum, ..., v29/sum] 
 
h3_new = [v31/sum, v32/sum, ..., v39/sum] 
 
h4_new = [v41/sum, v42/sum, ..., v49/sum] 

但是为了标准化黄色 block ,您仍然需要使用红色 block 的两个单元格的原始直方图,即 h2 和 h4。


评论关闭
IT虾米网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!