16

В последнее время я изучал реализации скрытых марковских моделей на C++. Мне было интересно, могу ли я использовать любую из существующих библиотек HMM, написанную на C++, чтобы использовать с распознаванием Action (с OpenCV)?Скрытые марковские модели с C++

Я свяжусь, чтобы ИЗБЕГАЙТЕ «повторно изобретать колесо»!

Возможно ли использовать Torch3Vision, хотя (он выглядит) был разработан для работы для распознавания речи?

Моя идея заключается в том, что, если мы можем преобразовать векторы функций в символы/Наблюдения (с использованием векторного квантования - Kmeans кластеризация), мы можем использовать эти символы для декодирования, умозаключения, параметр обучения (алгоритм Baum-Welch). Таким образом, будет работать с Torch3Vision в OpenCV.

Любая помощь по этому поводу будет по-настоящему оценена.

ответ

11

Вы можете взглянуть на http://www.ece.ucsb.edu/Faculty/Rabiner/ece259/Reprints/tutorial%20on%20hmm%20and%20applications.pdf за теорию, лежащую в основе HMM. Это не сложно реализовать сами алгоритмы.

Для версии на основе C вы можете взглянуть на мою реализацию, http://code.google.com/p/accelges/, которую я сделал для проекта Google Summer of Code.

+0

Код был полезным. Итак, код, написанный для распознавания жестов, может использоваться в Computer Vision (для распознавания действий), когда мы используем правильные типы векторов признаков? – garak

+1

Это правильно. –

5

Существует также эта реализация, которую я написал несколько дней назад. Это класс для дискретного HMM с использованием OpenCV. Вы можете посмотреть здесь:

https://sourceforge.net/projects/cvhmm/

После квантования ваших возможностей, вы можете преобразовать каждый вектор признаков для одной этикетки и использовать последовательность меток для обучения дискретных СММ.

+0

Сак. У меня есть запрос здесь (http://stackoverflow.com/questions/34754602/hmm-for-image-sequence-classification-in-opencv-c) относительно использования библиотеки, могли бы любезно советовать? – Benson