01 марта 2016г.
В текущей статье приводится сравнительный анализ опробованных методов отслеживания кисти руки и описание применяемого.
Рассмотрены методы определения траектории перемещения кисти руки на основе детектора Виолы- Джонса и с вычислением центра масс координат пикселей имеющих цвет кожи.
При применении детектора Виолы-Джонса основные недостатки:
1. Ложные определения позиции кисти;
2. Не всегда постоянный радиус определяемого объекта (кисти), что сказывается на траектории;
3. Пропуски детектирования.
Первый недостаток может быть устранѐн путем фильтрации выбросов, второй – не столь существенный на практике, а третий (при длительных пропусках) может привести к существенному искажению траектории.
Необходимо отметить, что при использовании 2-го метода, для каждого фрейма получаем не координаты кисти руки, а смещение кисти руки относительно предыдущего кадра (что, соответственно, нам и нужно).
Основные недостатки второго метода:
1. Необходимость настройки HSV-фильтра под цвет кожи;
2. Ложные изгибы траектории, когда предплечье не закрыто.
Учитывая выявленные недостатки, решено использовать следующий подход, состоящий из двух задач:
1. Определение цвета кожи с использованием детектора Виолы-Джонса;
2. Слежение за «кистью руки» с использованием центра масс координат с цветом кожи.
Первая задача решается следующим образом (Рисунок 1): в окне вывода фрейма выделяем прямоугольную область, при детектировании кисти в ней производится гистограммный анализ цветового спектра. Для увеличения качества определения цвета кожи, необходимо, чтоб кисть руки максимально заполнял прямоугольную область.
Дальше, когда уже определили интервалы по компонентам H,S,V, переходим к считыванию траектории. При вычислении координаты кисти учитывается вес каждого пикселя. Вес пикселя задается
дробным числом в интервале от [0;1], являющимся произведением весов по каждой из компонент, заданных в таких же интервалах. А вес компоненты тем больше, чем ближе к значению компоненты, при котором достигается максимум гистограммы. Применение фильтра продемонстрировано на Рисунке 2:
Так же, была доработана система
классификации. Так как разные жесты имеют разную длину вектора, при несоответствии длин эталонный вектор отбрасывался из дальнейшей проверки. Проблема решена путем преобразования траектории в векторы с разными длинами. Траектория и векторные представления с разными длинами жеста «Z» представлены на Рисунке 3.