CPU CascadeClassifier with HOG not working anymore with opencv 3.0.0.rc1 (Bug #4336)


Added by Valentino Proietti almost 10 years ago. Updated over 9 years ago.


Status:Open Start date:2015-05-14
Priority:Normal Due date:
Assignee:Steven Puttemans % Done:

0%

Category:objdetect
Target version:3.0
Affected version:branch 'master' (3.0-dev) Operating System:Linux
Difficulty:Hard HW Platform:x64
Pull request:

Description

Hi,
While moving from opencv 2.4.10 to opencv 3.0.0rc1 I found that the CPU CascadeClassifier is not working anymore with HOG.
Digging into the code I discovered that the HOGEvaluator is completely missing in 3.0.

This is the FeatureEvaluator::create() method from the 2.4 version:

Ptr<FeatureEvaluator> FeatureEvaluator::create( int featureType )
{
    return featureType == HAAR ? Ptr<FeatureEvaluator>(new HaarEvaluator) :
        featureType == LBP ? Ptr<FeatureEvaluator>(new LBPEvaluator) :
        featureType == HOG ? Ptr<FeatureEvaluator>(new HOGEvaluator) :
        Ptr<FeatureEvaluator>();
}

And this is the same method from the 3.0 version:

Ptr<FeatureEvaluator> FeatureEvaluator::create( int featureType )
{
    return featureType == HAAR ? Ptr<FeatureEvaluator>(new HaarEvaluator) :
        featureType == LBP ? Ptr<FeatureEvaluator>(new LBPEvaluator) :
        Ptr<FeatureEvaluator>();
}

They are both extracted from the "cascadedetect.cpp" source file of the relative version.

The "opencv_traincascade" utility included in the 3.0.0rc1 version still permits us to use HOG for training but we don't know how to use the training results anymore.
Is it a bug or a decision ?
If the latter: how are supposed to be used files produced by "opencv_traincascade" with HOG ?

Thank you
Valentino


Related issues

related to Bug #4137: Crash while loading HOG object detection model Cancelled 2015-01-20

History

Updated by Alex D almost 10 years ago

Valentino Proietti wrote:

Hi,
While moving from opencv 2.4.10 to opencv 3.0.0rc1 I found that the CPU CascadeClassifier is not working anymore with HOG.
Digging into the code I discovered that the HOGEvaluator is completely missing in 3.0.

This is the FeatureEvaluator::create() method from the 2.4 version:
[...]

And this is the same method from the 3.0 version:
[...]

They are both extracted from the "cascadedetect.cpp" source file of the relative version.

The "opencv_traincascade" utility included in the 3.0.0rc1 version still permits us to use HOG for training but we don't know how to use the training results anymore.
Is it a bug or a decision ?
If the latter: how are supposed to be used files produced by "opencv_traincascade" with HOG ?

Thank you
Valentino

I have exactly the same problem.

Updated by Vadim Pisarevsky almost 10 years ago

  • Category set to objdetect

Updated by Vadim Pisarevsky almost 10 years ago

We decided to drop the current HOG cascades in OpenCV 3.x. The implemented HOG features are quite weird - different from Dalal's interpretation of HOG, different from P. Dollar integral channel features. In xobjdetect we slowly grow superior ICF/ACF+WaldBoost-based detector, which is there already and will be improved during 2015.

  • Status changed from New to Cancelled
  • Assignee set to Vadim Pisarevsky
  • Difficulty set to Hard

Updated by Valentino Proietti almost 10 years ago

I'm just wondering why this "design decision" has not been evidenced as needed on the release notes, but may be it's just my fault.

Thank you very much indeed Vadim !!!

Updated by Steven Puttemans over 9 years ago

Valentino Proietti wrote:

I'm just wondering why this "design decision" has not been evidenced as needed on the release notes, but may be it's just my fault.

Thank you very much indeed Vadim !!!

Actually that is a very good point. It should be mentioned if functionality is dropped. We should remove the ability to train HOG features than also from the training interface. Will take a look at it later on! I will reopen this bugreport simply so I can link the PR for the deletion of the functionality.

  • Status changed from Cancelled to Open
  • Assignee changed from Vadim Pisarevsky to Steven Puttemans

Updated by Maksim Shabunin over 9 years ago

Issue has been transferred to GitHub: https://github.com/Itseez/opencv/issues/4989

Also available in: Atom PDF