Hi,

Here is another suggestion : completely remove the OpenCV/SVM classifier from 
the train application, and add a statement in the SVMMachineLearningModel 
doxygen documentation to warn that the LibSVM implementation should be prefered.

Regards,

Julien
________________________________________
De : [email protected] [[email protected]] de la part de 
Jordi Inglada [[email protected]]
Envoyé : mardi 10 novembre 2015 12:23
À : otb-developers; otb-users
Objet : [otb-users] Issues with OpenCV SVM implementation

Dear all,

Thanks to Mathieu Fauvel, we have identified an issue with the SVM
implementation provided by OpenCV.

As a reminder, OTB offers access to OpenCV's machine learning module
which provides, among other classifiers, SVM. OTB also provides an SVM
machine learning model which uses libSVM.

OpenCV and libSVM yield different classification results. In the case of
the RBF kernel, the results are statistically equivalent (differences in
Overal Accuracy are not significant).

However, in the case of the linear kernel, OpenCV's implementation has
lower performances which can be up to 20% lower in terms of Overall
Accuracy with respect to libSVM's implementation.

We have not checked what happens with other kernels.

Example using hyperspectral data provided by Mathieu using 500 training
samples and 5000 validation samples and 18 random repetitions :

| version       |  OA avg |  OA std |
|---------------+---------+---------|
| libsvm RBF    | 0.94584 | 0.00149 |
| OpenCV RBF    | 0.94342 | 0.00219 |
| libsvm linear | 0.89899 | 0.00197 |
| OpenCV linear | 0.66548 | 0.07612 |

Having discussed informally with Julien, I think that the following
actions should be taken (just a proposal, of course) :

1. Document this issue in the otbSVMMachineLearningModel.
2. Remove the linear kernel option for the TrainImagesClassifier in the
   OpenCV case (-classifier.svm.k) so that only classifier.libsvm.k can
   be used for linear kernels.

What do you think?

Jordi

--
--
Check the OTB FAQ at
http://www.orfeo-toolbox.org/FAQ.html

You received this message because you are subscribed to the Google
Groups "otb-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/otb-users?hl=en
---
You received this message because you are subscribed to the Google Groups 
"otb-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

-- 
-- 
Check the OTB FAQ at
http://www.orfeo-toolbox.org/FAQ.html

You received this message because you are subscribed to the Google
Groups "otb-users" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/otb-users?hl=en
--- 
You received this message because you are subscribed to the Google Groups 
"otb-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to