Search code examples
opencvimage-processingfeature-detectionobject-detectionfeature-descriptor

HOG descriptor for pedestrian detection training


I wonder why my HOG descriptor can't prevail the right silhouettes of the human body. I use the parameters like

CV_WRAP HOGDescriptor() : winSize(64,128), blockSize(16,16), blockStride(8,8),
        cellSize(8,8), nbins(9), derivAperture(1), winSigma(-1),
        histogramNormType(HOGDescriptor::L2Hys), L2HysThreshold(0.2), gammaCorrection(true),
        free_coef(-1.f), nlevels(HOGDescriptor::DEFAULT_NLEVELS), signedGradient(false)
    {}

When I plot them why I don't have correct silhouettes as the one sample shown in this discussion. The two images are attached. Color image is my hog descriptor and gray is the one from the above link.

What are the facts I need to look at to have correct silhouettes as shown in the image in the above discussion?

enter image description here enter image description here


Solution

  • The gray image is the positive weighted image to the HOG descriptor. Not the pure descriptor. I wonder how Opencv's default people detector is trained. The trained SVM detector size is only a few kilobyte and detection rate is good. My trained detector has Megabyte of size and hit rate is poor/false alarm rate is high.