УДК 004.93’ 12:621.398
РАСПОЗНАВАНИЕ ЛИЧНОСТИ ПО ПОХОДКЕ НА ОСНОВЕ WAVELET-ПАРАМЕТРИЗАЦИИ ПОКАЗАНИЙ АКСЕЛЕРОМЕТРОВ
А.Г. Казанцева, Д.Н. Лавров
В этой статье предлагается алгоритм распознавания личности по походке на основе wavelet-параметризации показаний акселерометров. Для сбора данных были использованы акселерометры, являющиеся частью устройства SunSPOT. Данные подвергаются предварительной обработке и дальнейшей параметризации на основе вейвлет-декомпозиции. Идентификация походки осуществляется с помощью предварительно обученной искусственной нейронной сети. Компьютерное моделирование даёт точность идентификации около 90%.
Введение
Биометрические методы распознавания предполагают систему распознавания людей по одной или более физических или поведенческих черт. Биометрические данные можно разделить на два основных класса:
- Физиологические — относятся к форме тела. В качестве примера можно привести: отпечатки пальцев, распознавание лица, ДНК, ладонь руки, сетчатка глаза, запах.
- Поведенческие связаны с поведением человека. Например, походка и голос [1].
Чаще всего в мобильных устройствах для биометрической идентификации используются отпечатки пальцев. Этот метод более удобен, чем пароли, но тем не менее требует от пользователя активных действий.
Также были предложены методы идентификации на основе голоса, подписи и походки [2-4]. Однако идентификация по голосу или подписи тоже в той или иной мере требует вмешательства пользователя, в то время как идентификация по походке может быть абсолютно прозрачной для него.
В настоящее время портативные устройства, такие как мобильные телефоны, смартфоны, коммуникаторы, карманные персональные компьютеры и т.д., получили широкое распространение. Большинство из них оснащается акселе-
Copyright © 2011 А.Г. Казанцева, Д.Н. Лавров
Омский государственный университет им. Ф.М. Достоевского
E-mail: dma666@bk.ru, lavrov@omsu.ru
рометрами, которые и позволяют замерять необходимые для идентификации параметры.
При расследовании различного рода преступлений и ведении оперативнорозыскных мероприятий возможны ситуации, когда необходимо идентифицировать владельца смартфона или коммуникатора. Одним из возможных способов идентификации личности на расстоянии в таких ситуациях также является идентификация по походке.
Целью данной работы является разработка и реализация метода идентификации личности по походке с параметризацией на основе дискретного вейвлет-преобразования и искусственной нейронной сетью (ИНС) в качестве классификатора.
Для достижения этой цели в работе поставлены следующие задачи:
- разработать метод параметризации на основе дискретного вейвлет-преобразования;
- эмпирически подобрать вейвлет, дающий лучшее распознавание;
- выбрать тип нейросети, алгоритм её обучения и другие параметры;
- обучить нейросеть;
- оценить результаты.
Проект будет реализован на языке программирования Java, так как этот язык является объектно-ориентированным, кроссплатформенным, обладает гибкой системой безопасности [5], а также прост в использовании.
Поскольку невозможно, не проводя эксперимента, предугадать, какой вейвлет даст лучшие результаты для поставленной задачи, необходима библиотека вейвлет-преобразований, поддерживающая широкий спектр различных вейвлетов.
Так как ни одна из известных библиотек на языке Java не реализует достаточное количество вейвлетов, необходимо разработать собственную библиотеку вейвлет-преобразований. Эта библиотека должна будет поддерживать основные семейства дискретных вейвлетов, такие как вейвлеты Хаара, Добеши, симлеты, койфлеты и биортогональные вейвлеты; быть легко расширяемой и удобной в использовании.
В качестве библиотеки нейросетей будет использоваться библиотека Encog, так как она поддерживает большое количество типов нейросетей, алгоритмов обучения [6], а также обладает более высокой производительностью, чем другие библиотеки [7].
1. Применение ИНС для идентификации личности
1.1. Исходные данные
Телеметрические данные снимались при помощи устройства SunSPOT (Sun Small Programmable Object Technology). SunSPOT — это беспроводное сенсорное устройство, оборудованное, среди прочего, трёхмерным акселерометром LIS3L02AQ и поддерживающее беспроводной протокол передачи данных IEEE 802.15.4 [8], что позволяет производить замеры на расстоянии до 10 метров от
базовой станции [9].
В качестве сигнала для последующей параметризации был выбран модуль ускорения |а| = \Jc?x + а^ + a?z, где ax,ay,az - ускорения по осям х, у и z соответственно [10]. Этот выбор обусловлен тем, что модуль ускорения не зависит от ориентации датчика в пространстве. Таким образом, положение устройства не будет вносить погрешность в результаты измерений.
В ходе эксперимента были произведены измерения телеметрических параметров походки группы из трёх человек (группа 1), по 20 замеров на человека. Также были произведены измерения параметров походки группы из 22 человек (группа 2) для оценки вероятности ошибок второго рода, по одному замеру на человека. Показания акселерометра снимались с частотой 100 Hz. Во время измерений SunSPOT находился в кармане.
Из каждого замера был выбран интервал длиной 256 отсчётов, что примерно соответствует 2,5 секундам реального времени.
1.2. Параметризация
Для параметризации телеметрических данных использовался метод, предложенный в работе [11]. Для выбранных на предыдущем шаге интервалов вычислялись детализирующие и аппроксимационные коэффициенты первого уровня. На основе этих коэффициентов рассчитывались следующие статистические параметры: среднее значение, минимум, максимум и стандартное отклонение. Составленный из них вектор использовался для обучения сети. Схема параметризации представлена на рисунке 1.
1.3. Выбор типа нейросети и её параметров
Для решения задачи классификации была выбрана двухслойная сеть прямого распространения, так как такие сети обладают высокой способностью к обобщению [12] и успешно используются для распознавания образов. В качестве функции активации нейронов использовалась функция tanh, поскольку она обеспечивает более быстрое обучение, чем другие функции [13].
Количество нейронов во входном и выходном слоях совпадает с размерностями входа и выхода нейросети и, соответственно, равно 8 и 2. Количество нейронов в скрытом слое, равное 4, было подобрано экспериментально в соответствии с рекомендациями из [13].
Для обучения «с учителем» использовалась модификация алгоритма обратного распространения ошибки - алгоритм RProp (Resilient Propagation) [14]. RProp является одним из самых быстрых алгоритмов обучения сетей прямого распространения [15].
1.4. Обучение нейросети
Всё множество параметризованных данных было разделено на три множества: обучающее, тестовое и множество «нарушителей» (множество, которое
avg(') max() minO stDev() at?g{) max(') min{) stDevQ
0 1 2 3 4 5 б 1
веіпор параметров
Рис. 1. Схема параметризации
сеть не должна распознавать). 60 измерений первой группы разделили пополам между обучающим и тестовым множествами. В множество «нарушителей» вошли измерения из второй группы.
Для нормирования входных значений нейросети использовалась формула
/(./•) = Х ~ тШ (high - low) + low, max — min
где X - значение, подлежащее нормированию; mm - минимально возможное значение х\ max - максимально возможное значение х\ low = — 1 - нижний предел интервала нормированных значений; high, = 1 - верхний предел [16, с. 149].
Эталонные выходные значения нейросети кодировались таким образом, чтобы евклидовы расстояния между их кодами были равны. Для группы из трёх человек кодовые расстояния между эталонами составили 1,73 (при использовании нормирования в интервале от -1 до 1). В результате этого ошибочная идентификация, к примеру, участника 1 как участника 2, будет иметь такой же вес, что и ошибочная идентификация 1 как 3 [16, с. 152].
Ошибка обучения вычислялась как кодовое расстояние между реальным выходом сети и эталонным:
d = а/('¿і - ai)2 + (-¿2 - а2)2 + ■■■ + (гп - сіп)2,
Рис. 2. График зависимости вероятностей ошибок от порогового значения
где а - реальный выход, а г - эталонный [16, с. 153]. В целях предотвращения переобучения сети ошибка рассчитывалась не только на данных из обучающего множества, но и на одном наборе данных из тестового множества [17].
Для параметризации, экспериментальным способом, был выбран вейвлет Добеши 06.
Обучение проводилось до тех пор, пока ошибки идентификации 1-го, 2-го и 3-го участников не становились меньше 0,01.
В качестве порогового значения ошибки было выбрано значение 0,05. Если евклидово расстояние между выходом нейросети и эталоном меньше этого порогового значения, то считается, что образец был идентифицирован. График зависимости вероятностей ошибок от порогового значения изображён на рисунке 2.
Таблица 1. Результаты тестирования обученной нейросети
Вероятность Вероятность Вероятность Вероятность
корректного корректного корректного ошибки 2-го
распознавания распознавания распознавания рода, %
участника 1, % участника 2, % участника 3, %
100 90 80 18,2
90
1.5. Результаты
В таблице 1 представлены результаты тестирования нейросети, обученной в соответствии с разработанным методом.
Отметим, что полученный результат выполнен на относительно коротких выборках, которые включали 4-5 полных шага. С учётом того, что первый шаг и последний искажены началом и остановкой движения, для идентификации использовались 2-3 полных шага. Следует ожидать улучшения идентификации при сборе более длинных записей.
Выбранный метод параметризации может быть модифицирован, что тоже может привести к улучшению точности идентификации.
Заключение
В данной дипломной работе был разработан и реализован метод идентификации личности по походке с использованием вейвлет-параметризации и нейронной сетью в качестве классификатора.
Для этого было сделано следующее:
- разработана библиотека вейвлетов JWT, исходный код библиотеки размещён в SVN-хранилище Омской группы пользователей Java по адресу: http ://java.net/projects/omskjug/sources/svn/show/ trunk/ JWT;
- разработан метод параметризации на основе дискретного вейвлет- преобразования;
- эмпирически подобран вейвлет (Добеши D6), дающий лучшее распознавание;
- выбран тип нейросети (сеть прямого распространения), алгоритм её обучения (RProp) и подобраны параметры нейросети и алгоритма обучения;
- проведено обучение нейросети.
Вероятность корректной идентификации по походке составила в среднем 90%, а вероятность ошибки 2-го рода — 18,2%.
Литература
1. Биометрия // Википедия: свободная электронная энциклопедия: на русском языке. URL: http : //ru .wikipedia . org/wiki/Биометрия (дата обращения: 10.10.2010).
2. Ekinci М. Human Identification Using Gait // Turk J Elec Engin. 2006. V. 14, N.2. P. 267-291.
3. Mantyjarvi J. et al. Identifying Users of Portable Devices from Gait Pattern with Accelerometers // 2005 IEEE International Conference on Acoustics, Speech, and Signal Processing. V. 2. 2005. P. 973-976.
4. Sprager S., D. Zazula. A Cumulant-Based Method for Gait Identification Using Accelerometer Data with Principal Component Analysis and Support Vector Machine // WSEAS Transactions on Signal Processing. 2009. V.5, N.ll. P. 369-378. 37
5. Java // Википедия: свободная электронная энциклопедия: на русском языке. URL: http: //ru. wikipedia. org/wiki/ Java (дата обращения: 10.10.2010).
6. Encog Java and DotNet Neural Network Framework. URL: http://www. heatonresearch. com/encog (дата обращения: 12.11.2010).
7. Benchmarking and Comparing Encog, Neuroph and JOONE Neural Networks. URL: http://www.codeproj ect.сош/KB/recipes/benchmark-neuroph-encog. aspx (дата обращения: 12.11.2010).
8. Sun SPOT // Wikipedia: The Free Encyclopedia. URL: http: //en. wikipedia. org/wiki/Sun_SPOT (дата обращения: 12.11.2010).
9. IEEE 802.15.4-2006 // Википедия: свободная электронная энциклопедия: на русском языке. URL: http://ru.wikipedia.org/wiki/IEEE_802.15.4-200 6 (дата обращения: 20.11.2010).
10. Goldman R. Using the LIS3L02AQ Accelerometer. URL: http: //www.
sunspotworld.com/docs/AppNotes/AccelerometerAppNote.pdf (дата обращения: 22.12.2010).
11. Tayel M.B., El-Bouridy M.E. ECG Images Classification Using Feature Extraction Based on Wavelet Transformation and Neural Networks // ICGST, International Conference on AIML. 2006.
12. Вежневец А. Популярные нейросетевые архитектуры // Компьютерная графика и мультимедиа. 2004. N.2. URL: http://cgm.computergraphics.ru/content/ view/57 (дата обращения: 21.11.2010).
13. Swingler К. Applying Neural Networks. A Practical Guide. URL: http: //www.nsu. ru/matlab/MatLab_RU/neuralnetwork/book4/3_2 . asp. htm#3_2 (дата обращения: 23.11.2010).
14. Локальные минимумы. Выбор длины шага обучения. Динамическое добавление нейронов. Алгоритм RProp. Обучение без учителя. Алгоритм Хебба. URL: http: //apsheronsk .bozo. ru/Neural/Lec4 . htm (дата обращения: 23.11.2010).
15. RProp // Wikipedia: The Free Encyclopedia. URL: http://en.wikipedia.org/ wiki/Rprop (дата обращения: 23.11.2010).
16. Heaton J. Programming Neural Networks with Encog 2 in Java. St. Louis : Heaton Research, 2010.
17. Чубукова И.A. Data Mining. URL: http://www.intuit.ru/department/ database/datamining/11/4 .html (дата обращения: 10.10.2010).