SVM bug in OpenCV 3.0 (Bug #4229)


Added by Boris Mansencal about 10 years ago. Updated almost 10 years ago.


Status:Done Start date:2015-03-05
Priority:High Due date:
Assignee:Maksim Shabunin % Done:

0%

Category:ml
Target version:3.0
Affected version:branch 'master' (3.0-dev) Operating System:Any
Difficulty:Medium HW Platform:x64
Pull request:https://github.com/Itseez/opencv/pull/3931

Description

It seems there is a bug in the SVM code in OpenCV 3.0 (checked with 3.0.0Beta & git head 0b99f6b..f9b8ce1)

The attached program with the attached data crashes on my machine (Linux Fedora 19, gcc 4.8.3).
The equivalent (?) code for OpenCV 2.4 works correctly with OpenCV 2.4.9.

It seems that the bug is in modules/ml/src/svm.cpp : Qfloat* get_row_base( int i, bool* _existed )
in the call to kernal->calc(), the parameter lru_cache_data.ptr<Qfloat>(kr.idx) is called with kr.idx==-1.


testSVM.cpp - SVM test program (2.9 kB) Boris Mansencal, 2015-03-05 12:25 pm

data3K_SVM.bin - data for test program (140.6 kB) Boris Mansencal, 2015-03-05 12:25 pm


Related issues

related to Bug #4207: OpenCV 3.0 SVM crashes for large number of iterations Done 2015-02-19

History

Updated by Steven Puttemans about 10 years ago

Since Maksim revised the SVM module, I guess he will quicker get this solved.

  • Status changed from New to Open
  • Assignee changed from Maria Dimashova to Maksim Shabunin

Updated by Boris Mansencal about 10 years ago

It seems that this bug is a duplicate of Bug #4207: http://code.opencv.org/issues/4207

They made the same observation : kr.idx == -1, in the comments on this page http://answers.opencv.org/question/55627/opencv-30-svm-crashes-for-large-number-of-iterations/

Updated by Maksim Shabunin almost 10 years ago

Should be fixed in pull request 3931 (https://github.com/Itseez/opencv/pull/3931)

  • Status changed from Open to Done
  • Pull request set to https://github.com/Itseez/opencv/pull/3931
  • Difficulty set to Medium

Also available in: Atom PDF