How long does it take to prepare the HOG descriptor?

We have a project that identifies the logo from the image. At first we used the Haar classifier, but training the Haar classifier takes a lot of time (4 days for each logo on our Core i5 machine). It will take a lot of time to train more than 300 logos (we do not have high-performance computers). So, we decided to switch to an object detector based on HOG, hoping that its training will take much less time.

Does anyone have an idea of ​​how long it takes to train the HOG descriptor? We will train about 100 positive and 100 negative 600x800 pixels per logo (on a machine with a Core i5 processor).

+4
source share
3 answers

Unanswerable, depends on the number of boxes and other implementation details. It is also possible for the content of the images. Do not expect this to be very fast with 60k images. If I were you, I would seriously think about scaling images, 600x800 is much more than you need for recognition. 150x200 should still be recognizable, but all calculations will be 16 times faster.

+3
source

You must explicitly reduce your input images. For example, the HOG descriptor typically extracts from 64x128 pedestrian images to train an accurate pedestrian detector. Learning the Haar classifier always takes a lot of time, and it is difficult to predict how long it will take, because it can block at a certain stage.

+1
source

It's hard to give you any specific numbers, but learning with HOG is several orders of magnitude higher than learning with Haar-like features. HOG also uses much less memory. In addition, you have the opportunity to use the LBP functions in both OpenCV and the trainCascadeObjectDetector function in MATLAB. Using LBP is also much faster than using Haar.

0
source

All Articles