SVD Bug Continue (Bug #2027)


Added by João cabral almost 13 years ago. Updated over 12 years ago.


Status:Done Start date:2012-06-07
Priority:Normal Due date:
Assignee:Vadim Pisarevsky % Done:

0%

Category:core
Target version:2.4.2
Affected version: Operating System:
Difficulty: HW Platform:
Pull request:

Description

For floats SVD returns wron results ( as off [[http://code.opencv.org/issues/1448]] )


It seems that this is not totally resolved.
See the file in the attach.

If the matrix is CV_32FC1 sometimes the SVD results are incorrect. In this example the matrix U has some values with the wrong sign, and also it has NaN and inf in some elements. The matrix Vt also has wrong sign in some elements.

If we change all the matrix to CV_64FC1 then the results are accurate.

Opencv - Matrix CV_32FC1

Q=
[0.97855008, 1.2548437, 0.1352066;
  0.55914873, 0.71705663, 0.078065962;
  0, 0, 0]
U=
[0.86822981, -0.49616224, -inf;
  0.49616224, 0.86822981, -nan;
  0, 0, -nan]
W=
[1.839398; 0.00069751492; 1.4012985e-45]
Vt=
[0.61271936, 0.78572941, 0.084877647;
  -0.071619853, -0.05175164, 0.9960885;
  0.78704864, -0.61640161, 0.024564598]

Matlab/Octave

Q =

   0.97855   1.25484   0.13521
   0.55915   0.71706   0.07807
   0.00000   0.00000   0.00000

U =

  -0.86823  -0.49616   0.00000
  -0.49616   0.86823   0.00000
   0.00000   0.00000   1.00000

S =

Diagonal Matrix

   1.83940         0         0
         0   0.00070         0
         0         0   0.00000

V =

  -0.612719  -0.071656   0.787045
  -0.785729  -0.051724  -0.616404
  -0.084878   0.996087   0.024610

This happens with the most recent build (booth branch 2.4.1 and trunk 2.4.9 )
Os: Ubuntu 11.10


svdtest.m - C++ file (254 Bytes) João cabral, 2012-06-07 12:59 am

testSVD.cpp - Matlab/Octave file (1.3 kB) João cabral, 2012-06-07 12:59 am


Related issues

related to Bug #1448: It seems a bug in SVD Done

Associated revisions

Revision 82cb2ab5
Added by Vadim Pisarevsky over 12 years ago

fixed bug in SVD, ticket #2027; fixed building highgui with ffmpeg support on MacOSX

Revision 06acf709
Added by Andrey Pavlenko about 11 years ago

Merge pull request #2027 from AD-530:brief_cl

History

Updated by Vadim Pisarevsky over 12 years ago

thanks! the problem was fixed in r8848

  • Status changed from Open to Done

Updated by Andrey Kamaev over 12 years ago

  • Target version set to 2.4.2

Also available in: Atom PDF