2012-08-06 20 views
5

Zastanawiam się, czy ktoś zdołał pomyślnie zastosować implementację OpenCV Latent SVM Detector (http://docs.opencv.org/modules/objdetect/doc/latent_svm.html). Istnieje przykładowy kod, który pokazuje, jak korzystać z biblioteki, ale problem polega na tym, że przykładowy kod wykorzystuje gotowy model detektora wygenerowany przy użyciu MatLab. Czy ktoś może przeprowadzić mnie przez kolejne etapy tworzenia własnego modelu detektora?Wykrywacz OpenCV i Latent SVM

Odpowiedz

5

Implementacja MATLAB LatSVM przez autorów artykułu ma skrypt pociągu o nazwie pascal. Jest README z archiwum tar wyjaśniając jej wykorzystania:

 
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'. 

Aby uzyskać więcej informacji, odwiedź authors website. Strona zawiera również papier tej metody.

+1

W zależności od tego, co planujesz zrobić, może się okazać, że bardziej ogólna implementacja SVM w OpenCV (biblioteka uczenia maszynowego) działa lepiej. Na przykład dla prostego HoG, po prostu utwórz obiekt SVM, obliczyć HoG i wprowadzić go do SVM za pomocą 'SVM :: train_auto()' – Bee

+1

@Yamaneko trenowałem wiele modeli za pomocą kodu MATLAB, o którym wspomniałeś ale nie mogłeś znaleźć sposób na konwersję tych modeli do formatu .xml, dzięki czemu mogę ich używać również z kodem OpenCV. – 3yanlis1bos