Na podstawie opisu problemu będą działać zarówno HMM (model generatywny), jak i CRF (model dyskryminacyjny). Zobacz tę dyskusję, aby uzyskać bardziej szczegółowe wyjaśnienie dwóch podejść:
Jaka jest różnica między algorytmem generatywnym a dyskryminacyjnym?
Sugestia: przed wybraniem algorytmu zacznij od dokładnego spojrzenia na swoje dane liczbowe za pomocą wykresów MATLAB lub podobnych. Jeśli informacje są wielowymiarowe (np. Wartości siły z wielu czujników), może się zdarzyć, że niektóre wymiary (np. Odczyt czujnika) nie zawierają użytecznych informacji dyskryminujących; w takim przypadku skompresuj dane za pomocą głównej analizy składników, aby uzyskać bardziej zwarte funkcje podczas treningu i klasyfikacji.
Teraz w odniesieniu do twojego pytania:
Różnica polega na tym, że HMM mogą reprezentować każdą z twoich klas tekstur za pomocą kilku ukrytych zmiennych / stanów, przechwytując w ten sposób wewnętrzną ewolucję czasową każdego kontaktu. Możemy powiedzieć, że HMM lepiej modeluje „niskopoziomową” (wewnątrzklasową) dynamikę twoich danych. Na przykład, w twoim przypadku, HMM pozwoli ci na jawne modelowanie trzech różnych faz każdej akwizycji danych: (1) początek kontaktu robota z obiektem; (2) stabilna część kontaktu; (3) koniec kontaktu i zwolnienie. Fazy te mogą mieć różne wartości w czasie, nawet dla tej samej tekstury obiektu, i warto je rozdzielić, aby poprawić wyniki klasyfikacji.
Z drugiej strony, CRF są bardziej odpowiednie do przechwytywania relacji „wysokiego poziomu” (międzyklasowych) twojego rozkładu danych, które są czasami ważne, gdy zmienność przestrzenno-czasowa jest wysoka lub gdy cechy obserwacji są bardzo podobne między dwie próbki należące do różnych klas.
Osobiście uważam, że HMM są łatwiejsze w użyciu i zacznę od nich, ale twój przebieg może się różnić.
Jeśli zdecyduję się zaklasyfikować do większej liczby kategorii, a rozróżnienie między każdą z nich jest bardzo subtelne, to w takim razie jaki byłby dobry wybór?
W takim przypadku CRF mogą być bardziej niezawodnym wyborem (patrz wyżej).
Czy wymuszone dane będą wystarczające do przechwycenia wszystkich informacji potrzebnych do zaklasyfikowania tekstur do tych kategorii?
Dodanie funkcji wizualnych (wyglądu obiektu), szczególnie w przypadku kamer zarejestrowanych w wysokiej rozdzielczości, może pomóc ustalić, czy obiekt ma szorstką teksturę, czy nie.