Обнаружение руки в режиме реального времени в видеопотоке с помощью признаков Хаара и AdaBoost-классификатора
Автор: Нгуен Тоан Тханг
Журнал: Проблемы информатики @problem-info
Рубрика: Средства и системы обработки и анализа данных
Статья в выпуске: S, 2011 года.
Бесплатный доступ
Приведен обзор методов обнаружения положения руки на изображении. Предлагается способ обнаружения руки в реальном времени в видеопотоке на основе признаков Хаара и AdaBoost-классификатора. Анализируются результаты работы программной реализации предложенного способа.
Обнаружение руки, признаки хаара
Короткий адрес: https://sciup.org/14320356
IDR: 14320356 | УДК: 004.931
Текст научной статьи Обнаружение руки в режиме реального времени в видеопотоке с помощью признаков Хаара и AdaBoost-классификатора
Введение. В разговоре человека с собеседником жесты руки часто играют важную роль, добавляя эмоциональную окраску произносимым словам и привнося тем самым дополнительную информацию. В компьютерном мире жесты можно использовать для управления компьютером. Этот факт является предпосылкой для создания способа интерактивного взаимодействия человека с компьютером. При реализации данного подхода необходимо обнаружить положение руки (если она имеется на изображении или видеофрейме) и отслеживать ее движение. Эта задача является первоочередной в системах интерактивного взаимодействия человек-машина. В данной работе излагается высокоскоростной алгоритм обнаружения руки в реальном времени и обсуждаются результаты работы соответствующей программной реализации.
Методы обнаружения руки на изображении. Существуют различные методы обнаружения руки на изображении. Эти методы можно разделить на две группы: методы на основе внешнего вида руки (Vision-based approach) и методы на основе 3D-модели руки (3D hand model based approach) [1]. В методах на основе внешнего вида руки при моделировании используются двумерные параметры изображения, которые сравниваются с такими же параметрами, выделенными из входного изображения. В методах на основе 3D-модели применяются кинематические 3D-модели руки, с помощью которых можно оценить параметры руки, сравнивая их с двумерными проекциями этих 3D-моделей. В методах первого типа используются такие при- а б


Признаки линии
LU™ й | d^W^
(а) (b) (с) (d) (е) (f) (g) (h)
Рис. 1. Примеры признаков Хаара:
a – множество простых признаков; б – множество расширенных признаков знаки, как цвет кожи [2-4], образы руки [5, 6], локальные признаки [7, 8], оптический поток [9, 10].
Каждый метод имеет преимущества и недостатки. Методы на основе цвета кожи имеют высокую скорость выполнения и могут работать в реальном времени, но при этом зависят от изменения освещения или не позволяют отличить руку от вещей, цвет которых подобен цвету кожи. Методы с использованием образов руки и локальных признаков работают так же быстро, но на сложном фоне не обеспечивают точное обнаружение. Оптический поток позволяет обнаружить только движущиеся объекты. Методы на основе 3D-моделей обеспечивают большую степень свободы (можно обнаруживать и одновременно распознавать различные формы руки), но требуют большого объема вычислений и наличия обширной базы данных, включающей все позы руки.
В настоящее время метод Джонса – Виолы с использованием признаков Хаара и AdaBoost-классификатора для обнаружения человеческих лиц предлагает один из лучших алгоритмов для решения таких задач. В данной работе метод Джонса – Виолы используется для решения задачи обнаружения руки в реальном времени.
Метод обнаружения руки на изображении на основе признаков Хаара и AdaBoost-классификатора (метод Джонса – Виолы). Метод Джонса – Виолы был разработан для решения задачи обнаружения человеческих лиц на изображении. Главное преимущество этого метода состоит в высокой скорости его выполнения. В [11] показано, что метод Джонса Виолы может обрабатывать до 15 кадр/с, т. е. позволяет работать в реальном времени. В данной работе метод Джонса – Виолы применяется для обнаружения руки и отслеживания ее положения в видеопоследовательности.
Признаки Хаара. Значение признаков Хаара вычисляется по формуле [11]
f ( x ) = ∑ I - ∑ I ,
S 1 S 2
где I – интенсивность пикселей; S 1 – все пиксели в области черного прямоугольника; S 2 – все пиксели в области белого прямоугольника. На рис. 1 показаны простые и расширенные признаки Хаара, используемые в данной работе.
Интегральное изображение . Использование интегрального изображения позволяет быстро вычислить значения признаков Хаара независимо от размера изображения. Интегральное изобра-


Рис. 2. Понятие интегрального изображения:
а – интегральное изображение в точке p ( x,y ); б – вычисление суммы пикселей внутри прямоугольника жение P в точке p ( x,y ) вычисляется как сумма интенсивностей всех точек, находящихся выше и левее нее (рис. 2, а ) [11]:
P ( x, y ) = S I ( x ', у ').
x ' < x, y ' < y
Таким образом, сумма пикселей внутри прямоугольника D (см. рис. 2, б ) может быть вычислена в виде P 4 + P 1 – P 2 – P 3 и не зависит от размера изображения.
AdaBoost-классификатор . Видеопоток, получаемый с помощью видеокамеры, представляет собой последовательность кадров. Для каждого кадра вычисляется его интегральное изображение. Затем кадр сканируется окном малого размера (субокном), содержащим признаки Хаара. Для каждого j -го признака соответствующий классификатор определяется формулой [11]
h ( x ) =
' 1, P j f j ( x ) < P j 9 j ,
. 0,
где x – субокно; θ j – пороговое значение; p j – направление знака неравенства; f j – признак Хаара.
AdaBoost-алгоритм позволяет повысить точность классификации с помощью ряда слабых классификаторов, используя так называемую каскадную классификацию (рис. 3). В результате вычисляется взвешенная комбинация этих слабых классификаторов:
N
H (x) = S aih i=1
( N – количество слабых классификаторов; α i – коэффициент, полученный из тренируемой базы данных; h i – слабый классификатор).

Рис. 3. Каскадная классификация в алгоритме AdaBoost
Программная реализация и обсуждение результатов. В данной программной реализации создана база изображений для тренировки AdaBoost-классификатора, содержащая 400 изображений с объектом (рука) (рис. 4) и 500 случайных изображений без объекта (негативные изображения) (рис. 5). Разработан 14-ступенчатый каскадный классификатор для распознавания руки. Для тестирования использовалась база изображений, содержащая 100 изображений размером 640×480 с объектом.
В результате численных экспериментов установлено, что обработка каждого изображения из тестовой выборки выполняется за 50–60 мс (рис. 6). Объект правильно обнаруживается на 99 изображениях из 100.
При работе в реальном времени видеопоток получается с помощью встроенной камеры ноутбука Asus с частотой 15 кадр/с. Размер кадра – 640×480 пикселей. Программа протестирована на ноутбуке Asus с процессором Intel Core Duo 2, видеокартой

Рис. 4. Часть базы позитивных изображений с объектом

Рис. 5. Часть базы негативных изображений без объекта

NVIDIA GEFORCE G621M. Скорость Рис. 6. Обнаружение руки в реальном времени обработки в реальном времени состав ляет приблизительно 14-15 кадр/с, что является достаточным для отслеживания и распознавания движения объектов.
Выводы. Алгоритм Джонса – Виолы на основе признаков Хаара и AdaBoost позволяет решать задачу обнаружения руки с таким же быстродействием, как и задачу обнаружения человеческих лиц (для которой он первоначально предназначался). Скорость обработки на обычном компьютере достигает 14-15 кадр/с, что является достаточным для работы в режиме реального времени.
Следует отметить, что алгоритм обеспечивает достаточно высокую точность. Для дальнейшего повышения точности классификатора необходимо расширить базу изображений (как позитивных, так и негативных) для обучения.
Список литературы Обнаружение руки в режиме реального времени в видеопотоке с помощью признаков Хаара и AdaBoost-классификатора
- ZHOU H., HUANG T. S. Tracking articulated hand motion with Eigen dynamics analysis//Proc. of the Intern. conf. on computer vision, Nice (France), 14-16 Oct. 2003. Washington DC: IEEE Computer Soc., 2003. V. 2. P. 1102-1109.
- Wu Y., Huang T. S. Non-stationary color tracking for vision-based human computer interaction//IEEE Trans. Neural Networks. 2002. V. 13, N 4. P. 948-960..
- Manresa C., Varona J., MAS R., Perales F. J. Hand tracking and gesture recognition for human-computer interaction//Electron. Lett. Comput. Vision Image Anal. 2005. V. 5, N 3. P. 96-104.
- Mckenna S., Morrison K. A comparison of skin history and trajectory-based representation schemes for the recognition of user-specific gestures//Pattern Recognition. 2004. V. 37. P. 999-1009.
- Chen F., Fu C., Huang C. Hand gesture recognition using a real-time tracking method and hidden Markov models//Image Vision Comput. 2003. V. 21, N 8. P. 745-758.
- NG C. W., RANGANATH S. Gesture recognition via pose classification//Proc. of the 15th Intern. conf. on pattern recognition, Barcelona (Spain), 3-7 Sept. 2000. Washington DC: IEEE Computer Soc., 2000. V. 3. P. 699-704.
- Oka K., Sato Y., Koike H. Real-time fingertip tracking and gesture recognition//Proc. IEEE. Comput. Graphics Appl. 2002. V. 22, N 6. P. 64-71.
- Huang C., Jeng S. A model-based hand gesture recognition system//Machine Vision Appl. 2001. V. 12, N 5. P. 243-258..
- CUTLER R., TURK M. View-based interpretation of real-time optical flow for gesture recognition//Proc. of the 3rd IEEE conf. on face and gesture recognition, Nara (Japan), 14-16 Apr. 1998. Washington DC: IEEE Computer Soc., 1998. P. 416-421.
- LU S., METAXAS D., SAMARAS D., OLIENSIS J. Using multiple cues for hand tracking and model refinement//Proc. of the IEEE conf. on computer vision and pattern recognition, Madison (USA), 16-22 June 2003. Washington DC: IEEE Computer Soc., 2003. P. 443-450.
- Viola P., Jones M. Rapid object detection using a boosted cascade of simple features//Proc. of the IEEE conf. on computer vision and pattern recognition. Washington DC: IEEE Computer Soc., 2001. P. 511-518..