АВТОМАТИЗИРОВАННЫЙ ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ РАСПОЗНАВАНИЯ ЧЕЛОВЕКА ПО ПОХОДКЕ С ПОМОЩЬЮ ВИДЕОСЪЕМКИ
Сиволобов С.В.1, Бумагин В.В. 2
1Магистрант, кафедра информационных систем и компьютерного моделирования, Волгоградский Государственный Университет; 2Старший преподаватель, кафедра информационных систем и компьютерного моделирования, Волгоградский Государственный Университет.
АВТОМАТИЗИРОВАННЫЙ ПРОГРАММНЫЙ КОМПЛЕКС ДЛЯ РАСПОЗНАВАНИЯ ЧЕЛОВЕКА ПО ПОХОДКЕ С ПОМОЩЬЮ ВИДЕОСЪЕМКИ
Аннотация
Разработан автоматизированный программный комплекс для распознавания человека по походке с помощью нефронтальной видеосъемки. В работе решается основная проблема предыдущих версий программы – высокая трудоемкость обработки видеозаписей и невозможность работы в оперативном режиме. Работа имеет большую практическую и социальную значимость, и может быть применена при обеспечении безопасности охраняемых объектов и общества.
Ключевые слова: походка, видеосъемка, идентификация, распознавание.
Sivolobov S.V.1, Bumagin V.V. 2
1 Undergraduate, Department of Information Systems and Computer Modeling, Volgograd State University; 2 Assistant Professor, Department of Information Systems and Computer Modeling, Volgograd State University.
AUTOMATED SOFTWARE FOR HUMAN GAIT RECOGNITION USING VIDEO
Abstract
Developed an automated software system for human gait recognition using non-frontal video. We solve the main problem of previous versions of the program - the high complexity of processing video and inability to work online. The work is of great practical and social importance, and can be applied in ensuring the safety of protected objects and society.
Keywords: gait, video, identification, recognition.
В связи участившимися преступлениями в Волгоградской области, фигурантами в которых являются неизвестные, актуальной задачей является идентификация личности с помощью средств видеонаблюдения.
До настоящего времени мною была разработана программа для распознавания человека по походке на основе точек, выделяемых вручную на кадрах видеосъемки человека.
В настоящий момент разработана новая версия программы, в которой мы постарались убрать основной недостаток предыдущей версии (ручная обработка) не потеряв при этом высокую точность распознавания (главное достоинство этой версии). Основными преимуществами, по сравнению с предыдущей версией программы являются:
- Автоматический режим распознавания;
- Намного более низкая трудоемкость обработки кадров и как следствие высокая скорость работы;
- Возможность работы в оперативном режиме;
- Рассматривается возможность автоматически определять пол человека по видеосъемке.
В данной статье основное внимание уделяется именно автоматическому методу распознавания человека, не требующему вмешательства человека, в том числе с возможностью работы в реальном времени.
В качестве среды разработки использована Microsoft Visual Studio.NET и язык программирования C#. Кроме того используется платформа .NET Framework 2.0 и библиотека компьютерного зрения OpenCV.
Исходные данные поступают с камеры со стандартным соотношением сторон 4:3. Минимальное разрешение камеры: 640 х 480, что соответствует стандартному видеоразрешению VGA [3, 6]. При меньшем разрешении качество обработки кадров снижается. Черно-белый формат изображения допускается и не снижает качество обработки и распознавания.
В работе не используется устройство Microsoft Kinect (в виду высокой стоимости) или любые другие камеры для трехмерной или инфракрасной съемки.
Для распознавания человека используются выборки по 100 кадров (что соответствует 4 секундам времени съемки), которые начинаются с первого появления человека в кадре.
Изображения загружаются в цветовом режиме оттенков серого [3]. Отчасти это обусловлено тем, что многие камеры наблюдения предоставляют изображение именно в этом формате (рис. 1).
Рис.1 - Исходное изображение
С помощью специального алгоритма выделяется фон (рис. 2). Алгоритм выполняется очень быстро, даже для программы выполняемой последовательно, и может работать в режиме реального времени.
Используемый метод удаления фона использует специфику исследуемых видеозаписей и работает существенно быстрее аналогичных. Возможна его параллельная реализация.
Рис. 2 - Автоматически выделяемый фон
После нескольких итераций алгоритма удаления фона получаем черно-белую маску с выделенным контуром движущегося человека (рис. 3). Данный алгоритм близок к контурному анализу.
Рис. 3 - Выделенный контур человека.
Для удаления шума используется медианная фильтрация [7]. Специальный алгоритм определяет необходимость её применения (наличие шума).
Затем производится подгонка и сдвиг кадров для наилучшего совмещения фаз походки человека (рис. 4) на кадрах съемки, с фазами походок хранящихся в базе данных.
Рис. 4 - Различные фазы походки человека
На получаемых кадрах планируется автоматическая расстановка точек (голеностопный сустав, коленный сустав, центр тяжести и др.), которые использовались в предыдущей версии и показали свою практическую полезность.
В качестве данных для распознавания, возможно, использовать кадры с контурами человека, а также угловые перемещения точек. Кроме того, возможна ручная расстановка антропометрических точек [4, с. 35] на кадрах (рис. 5) как средства получить максимально точный результат за счет более длительной обработки.
Рис. 5 - Антропометрические точки выделенные вручную
Для классификации полученных данных была выбрана двухслойная сеть прямого распространения, так как такие сети обладают высокой способностью к обобщению и успешно используются для распознавания образов. В качестве функции активации нейронов использовалась функция tanh, поскольку она обеспечивает более быстрое обучение, чем другие функции [8].
Количество нейронов во входном и выходном слоях совпадает с размерностями входа и выхода нейросети. На вход нейронной сети поступают данные о положении антропометрических точек на различных кадрах. Количество выходов нейросети соответствует количеству классифицируемых походок. Количество нейронов в скрытом слое подбирается экспериментально в соответствии с рекомендациями из [1].
Для обучения «с учителем» использовался алгоритма обратного распространения ошибки [8].
Для распознавания походок на основе выделенных контуров человека используются сверточные нейронные сети [2, 8]. Использование технологий параллельных вычислений позволяет значительно ускорить скорость обучения сети. Имеются реализации сверточных нейронных сетей с помощью технологии CUDA [5].
В настоящий момент размер базы данных походок включает 100 видеосъемок для 70 людей. Среди них 50 мужчин и 20 женщин. База данных пополняется.
Список литературы
K.Swingler. Applying Neural Networks, A Practical Guide, Academic Press, 1996. – 303 с.
Y. LeCun and Y. Bengio. Convolutional networks for images, speech, and time-series. / M. A. Arbib // The Handbook of Brain Theory and Neural Networks – 2nd ed. – MIT Press, 2003. – P. 276 – 279.
Васильев В. Е., Морозов А. В. Компьютерная графика: Учеб. пособие. – СПб.: СЗТУ, 2005. – 101 с.
Зинин А.М., Буданов С.А., Черкашина И.И. Словарь основных терминов судебно-портретной экспертизы: Справочное пособие. М.: ЭКЦ МВД России , 2007. – 52 с.
Изотов П.Ю., Суханов С.В., Головашкин Д.Л. Технология реализации нейросетевого алгоритма в среде CUDA на примере распознавания рукописных цифр // Компьютерная оптика. – 2010. – № 2. Том 34. – С. 243 – 251.
Петров М. Н., Молочков В. П. Компьютерная графика. Учебник. – СПб.: Питер, 2003. – 736 c.
Сойфер В. А. Методы компьютерной обработки изображений. – М.: «ФИЗМАТЛИТ», 2003. – 784 с.
Хайкин С. Нейронные сети: полный курс, 2-е издание.: Пер. с англ. – М.: Издательский дом «Вильямс», 2006. – 1104 с.