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
5
A
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.
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
@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