我是图像处理的初学者。我对HOG有一些疑问。
https://www.learnopencv.com/histogram-of-oriented-gradients/
从这个网站上,它提到HOG描述符中的每个元素将除以块中所有元素的总和。但是,如果重叠块,如何进行块规范化?我不明白,因为向量中的某些元素将是多个块的元素。
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]在红色块中,我们可以将第一个向量的第一个元素标准化为:v11 /(v11 + v12 + ... + v21 + v22 + v23 + .. + v31 + v32 + ... + v41 + v42 ... + V49)
但是,如何规范红色块和黄色块中的向量?
非常感谢你。
答案 0 :(得分:0)
扩展@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.
因此,要将红色块标准化,您将除以所有元素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]
但是对于黄色块的标准化,您仍然会使用红色块的两个单元格的原始直方图,即h2和h4。