2011-10-04 20 views
11

Chciałbym wiedzieć, czy jest jakiś kod lub dobra dokumentacja dostępna do wdrożenia funkcji HOG? Starałem się przeczytać dokumentację here ale jest to dość trudne do zrozumienia i musi SVM ..HOG dla "wykrywania obiektu" opencv

Co potrzebne jest tylko do realizacji detektora HOG dla obiektów .... Podoba Ci się to, co robi SIFT lub SURF

Btw, nie jestem interesujący w pracy this.

Dziękuję ..

+0

Trochę się spóźniłem, ale dla prostego i prostego przykładu ZOBACZ: http://stackoverflow.com/questions/6090399/get-hog-image-features-from-opencv-python – jmunsch

Odpowiedz

4

można przyjrzeć http://szproxy.blogspot.com/2010/12/testtest.html

wydał również "tutorial" do HOG na SourceForge tutaj: http://sourceforge.net/projects/hogtrainingtuto/?_test=beta

Wiem to, ponieważ jestem mając ten sam problem co ty. Samouczek nie jest jednak tym, co nazwałbym samouczkiem, wiązką kodów źródłowych, brakiem dokumentacji, ale zakładam, że to działa i przynajmniej może cię gdzieś sprowadzić.

+0

Dziękuję za odpowiedź , ale do wykrywania ludzi, jest już wdrożony samouczek w próbkach w opencv open source, ale nie znam wymaganych parametrów do wykrywania obiektów. – Mario

1

Na koniec i upraszczając nieco, wszystko, co potrzebne do wykrycia określonych obiektów w obrazie jest:

„interesujące”
  • Zlokalizuj wyodrębnić poprawki:

W celu uzyskać punkty zainteresowania, możesz użyć niektórych algorytmów, takich jak wykrywacz narożny Harris, losowo lub po prostu jak przesuwane okna.

  • Z tych punktów dostać łatki:

trzeba będzie podjąć decission wielkości plastra.

  • Z tych łat oblicza deskryptor funkcji. (jak HOG).

Zamiast HOG można użyć innego deskryptor funkcji jak Sift, surf ...
realizacja HOG nie jest zbyt trudne. Musisz obliczyć gradienty wyekstrahowanej łatki stosując przy tym jądra Sobel X i Y, po czym musisz podzielić plaster w komórkach NxM, na przykład 8x8 i obliczyć histogram gradientów, kątów i wielkości. W poniższym linku można go zobaczyć bardziej szczegółowe wyjaśnienie: HOG Person Detector Tutorial

  • Sprawdź wektora cech w uprzednio przeszkolony klasyfikatora

Gdy masz ten wektor, sprawdź, czy jest to pożądany przedmiot lub nie z wcześniej przeszkolonym klasyfikatorem takim jak SMV. Zamiast SVM można na przykład użyć NeuralNetworks.

Implementacja SVM jest trudniejsza, ale istnieje kilka bibliotek takich jak opencv, z których można korzystać.

Powiązane problemy