DaHoC / trainHOG

Example program showing how to train your custom HOG detector using openCV
221 stars 111 forks source link

Index of resulting single detector vector probably being incorrect #2

Closed DaHoC closed 9 years ago

DaHoC commented 11 years ago

The first value (Index 0) of the vector being generated in function getSingleDetectingVector() being always 0 due to the way SVMlight handles indices, as well as the last value (Index 3780) being overwritten by -b. An indexshift does not fix this issue because the positions/indices of the detecting vector components do matter for HOG.

jpjodoin commented 10 years ago

Did you ever make any progress with that ? I'm looking to solve the same issue. The default people detector doesn't start with 0 indeed and we lose a value because of the -b. I've tried to remove the -b and specify it manually in the detect function of hogdescriptor. In one case it works beautifully, but in the other case, it doesn't work so I'm guessing there might be more to this...

jpjodoin commented 10 years ago

What seems to work perfectly for me, is to shift indice by one, remove the -b at the end, rescale the detector to 3780 instead of 3781 and use model->b for the detection threshold in HoG.

DaHoC commented 9 years ago

With commit a6def3ac254b8c7cdd066afa8ecfd40eb9db5b6d, this bug should be closed. I also added a tentative check if training succeeded.