2012-08-06 26 views
5

Me preguntaba si alguien ha logrado utilizar la implementación de OpenCV Detector Latent SVM (http://docs.opencv.org/modules/objdetect/doc/latent_svm.html) con éxito. Hay un código de muestra que muestra cómo utilizar la biblioteca, pero el problema es que el código de muestra utiliza un modelo de detector preparado que se generó con MatLab. ¿Puede alguien guiarme a través de los pasos sobre cómo generar mi propio modelo de detector?OpenCV y latetent SVM Detector

Respuesta

5

La implementación MATLAB de LatSVM por los autores del documento tiene un script de tren llamado pascal. Hay una README con el paquete de archivos que explica su uso:

 
Using the learning code 
======================= 

1. Download and install the 2006-2011 PASCAL VOC devkit and dataset. 
    (you should set VOCopts.testset='test' in VOCinit.m) 
2. Modify 'voc_config.m' according to your configuration. 
3. Start matlab. 
4. Run the 'compile' function to compile the helper functions. 
    (you may need to edit compile.m to use a different convolution 
    routine depending on your system) 
5. Use the 'pascal' script to train and evaluate a model. 

example: 
>> pascal('bicycle', 3); % train and evaluate a 6 component bicycle model 

The learning code saves a number of intermediate models in a model cache 
directory defined in 'voc_config.m'. 

Para obtener más información, visite el authors website. La página también contiene el papel de este método.

+1

Dependiendo de lo que planeas hacer, es posible que la implementación más genérica de SVM en OpenCV (biblioteca de Machine Learning) funcione mejor. Por ejemplo, para un HoG simple, simplemente cree un objeto SVM, calcule HoG y aliméntelo en su SVM usando 'SVM :: train_auto()' – Bee

+1

@Yamaneko. He entrenado muchos modelos con la ayuda del código MATLAB que ha mencionado pero no pudo No encuentro una forma de convertir estos modelos a formato .xml para que pueda usarlos también con código OpenCV. – 3yanlis1bos