Использование скрытых марковских моделей для...
DESCRIPTION
Использование скрытых марковских моделей для распознавания жестов головы. Докладчик: Калитеевский В.Н. Научный руководитель: проф. Граничин О.Н. Санкт-Петербургский Государственный Университет, Математико-Механический Факультет, 2014 год. Постановка задачи. - PowerPoint PPT PresentationTRANSCRIPT
Использование скрытых марковских моделей для
распознавания жестов головы
Докладчик: Калитеевский В.Н.Научный руководитель: проф.
Граничин О.Н.
Санкт-Петербургский Государственный Университет, Математико-МеханическийФакультет, 2014 год
Постановка задачи
Создание приложения, распознающего заданный набор жестов:
• Кивок• Наклон головы влево и возврат• Наклон головы вправо и возврат• Поворот головы влево и возврат• Поворот головы вправо и возврат• Приближение• Отдаление• Прочие
Этапы распознавания
Предварительная работа перед обучением и распознаванием делится на следующие этапы:
• Выделение жестов на видео потоке• Подготовка входных параметров• Извлечение признаков
Признаки
Базовая тройка: , где : отклонение направления головы угла
относительно вертикали : изменение отрезка [Глаза] – [Рот]
: горизонтальное отклонение координаты центра рта
x,,
x
Признаки:пример
Рис. 1: Два положения лица при наклоне головы налево
2B
1A2A
1B
x
12
1A
1B
2A
2B
2211 ; BABA
xxAAx 12
12
Рис. 2: Схема наклонаголовы
Признаки
x
Распознавание лица
Распознавание опорных точек лица
Рис. 3: intel perceptual computing sdk
Выделение жестов
В случае преувеличения суммы последних десяти кадров одного из признаков некоторого порогового значения начинается запись жеста
Рис. 4: начало записи жеста при превышении некоторого порогового значения
Порог
Время
СММ: Формальное определение
• • • , • , для • ,
Полный набор параметров модели будем обозначать, как
},..,{ 1 N},..,{ 1 MooO
}{ ijA ))(|)1(( ttP ijij Nji ,1
}{ ilB ))(|)(( ttoP ilil
M
lil
1
1 i}{ i ))1(( ii P Ni1
},,{ BA
Обучение СММ
• Даны N – обучающих примера , где - наблюдаемая последовательность, а - метка из числа классов
• Делим эти N примеров на M групп так, чтобы каждая группа содержала элементы с одной меткой
• Подготавливаем данные из : извлекаем признаки и равномерно распределяем точки
• С помощью алгоритма Баума-Уелша обучаем СММ, подавая на вход признаки и соответствующую метку
)(),....,( ,1,1 NN yOyO iO
iy M,...,1
iO
Алгоритм Баума-Уелша
Исходные данные: со случайными начальными условиями.
Алгоритм итеративно обновляет параметр до схождения в одной точке.
},,{ BA
)|(
)1()(,|)1(),()( )1(
oP
ttottPtv jtjoiji
jiij
N
jiji v
1
)1(
1
1 1
1
1
)(
)(
T
t
N
jij
T
tij
ij
tv
tv
T
t
N
jij
T
otot
N
jij
il
tv
tvl
1 1
)(,1 1
)(
)(
Классификация
• Дана наблюдаемая последовательность
• Подготавливаем данные: извлекаем и распределяем точки
• С помощью алгоритма Витерби, подавая на вход признаки, вычисляем принадлежности к каждому классу M:
• Выбираем класс , набравший максимальную вероятность
TOOO ....21
)|( OPmaxM)|(max OP
Алгоритм Витерби
• Инициализация:• Рекурсия: ,
, • Остановка: ,
)()1(max)( tiojtjj
i tt
Ni1jij
ji tt )1(maxarg)(
)(max* Tjj
)(maxarg)(* TT jj
Заключение
Достигнут высокий уровень детектирования жестов
Алгоритм на идее ЕМ-метода
СММ
Кивок 60% 80%Наклон влево 70% 90%Наклон вправо 70% 90%Поворот налево 70% 90%Поворот направо 70% 90%Приближение 95% 95%Удаление 95% 95%
Результаты
Приложение, с высокой точностью распознающее заданный набор жестов.
• C# Gui• Python