0

В настоящее время я работаю над системой распознавания динамических жестов. Я решил пойти на функцию кривизны формы руки. На данный момент я могу получить список углов кривизны контура руки.Анализ формы руки с помощью скрытой марковской модели

Проблема в том, что я застрял в том, что мне делать дальше. Немного информации можно найти в многочисленных публикациях, которые я нахожу. Этот набор углов на жест/позу должен быть «ОБРАБОТАН» перед передачей обработанного вывода в «Скрытую марковскую модель» для классификации.

Но в чем состоит этот процесс? Я столкнулся с: Фурье-преобразование, B сплайн и множество функций, но я не знаю, как передать набор углов (например, -23, 90, 45, 156, ...) на такие функции.

Благодарим за терпение.

Следующая картина показывает, что этап я достиг до сих пор:

enter image description here

+1

Что вы используете для классификации HMM? (просто добавив комментарий, чтобы получить уведомление об улучшениях:]) – berak

+0

Спасибо. Я новичок в компьютерном зрении и машинах. Можете ли вы любезно объяснить, что вы подразумеваете под своим вопросом, пожалуйста? Если вы имеете в виду как инструмент, я столкнулся с Jahmm - основанный на Java подход для HMM. Это довольно интересно, но об этом мало поддержки, учитывая, что я очень новичок в этой области! – test

+1

Да, я имел в виду это, спасибо за разъяснение – berak

ответ

1

Можете ли вы объяснить, как вы получили эти углы? Вы можете группировать последовательные углы вместе и могут относиться к ним каким-то образом: скажем, вычитая их или обработав их каким-то образом, чтобы найти, какие пальцы были открыты/закрыты, или найти направление, в котором направляется рука. Например, скажем, что центр тяжести вашей ладони находился в (x, y) в одном кадре и в (a, b) в другом кадре. Затем вы можете вычесть их, чтобы найти направление, в котором направляется ваша рука.

Теперь, когда вы нашли углы кривизны контура руки, у вас есть количество разных точек и изменение углов. Путем сопряжения последовательных углов и нахождения количества точек на контуре вы можете попытаться определить, какие пальцы открыты и которые закрыты. Посмотрите на алгоритм Convex-Hull, если вы пытаетесь обнаружить обнаружение пальцев. Но поскольку вы говорите, что ваши жесты динамичны, это должно означать, что ваша рука постоянно движется в пространстве, выполняя определенный жест. Просьба уточнить это. После обработки результат должен формировать последовательность наблюдений, которая будет служить в качестве входных данных для вашего HMM.

+0

Мне удалось решить эту проблему, вычислив угол от предыдущего Centroid руки до текущего Centroid. Затем я вектора квантую углы, которые у меня есть в UP DOWN LEFT RIGHT, и формирую последовательность наблюдений для HMM, таких как: LEFT LEFT LEFT DOWN LEFT – test

+1

да, это хороший подход. Что-то похожее на то, что я пробовал изначально. Надеюсь, это сработало хорошо для вас :) –