HOG Computing Functions

I have one problem in the second stage, which is the accumulation of weighted votes to orient the gradient along spatial cells.

Assuming the cell is 8*8 . Let me use two matrices GO[8][8]([1 9]) , GM[8][8] to represent the gradient orientation and the gradient value, respectively. The orientation of the gradient ranges from 0 - 180 , and there are 9 orientation baskets.

According to my understanding of HOG for each pixel in a cell, adding its gradient value to the corresponding orientation buffer. Thus, we can have a histogram for each cell.

But there is one sentence that scares me.

"To reduce overlap, the number of votes (gradient value) is interpolated trilinearly between adjacent bin centers in both orientations and position." one

Why is it interpolated? How to interpolate? Can someone explain in more detail? No reduction in smoothing.

Thanks in advance.


1 This proposal is in the dissertation of Navneet Dalal PHD, p38, line 4.

+7
opencv computer-vision
source share
1 answer

Interpolation is a standard method for calculating histograms. The idea here is that each value is not just placed in one bit, but is distributed between two neighboring cells (assuming a 1d histogram), based on how far it is from the center of the original hopper.

The purpose of this is to consider situations where a small measurement error can cause the value to be placed in another bit. This is a very good thing for any type of histogram, not just HOG if you have processor cycles.

There is also two-linear and trilinear interpolation for two-dimensional and three-dimensional histograms, where each value is distributed between 4 and 8 neighboring cells, respectively.

+8
source share

All Articles