ДЕПАРТАМЕНТ ОБРАЗОВАНИЯ ГОРОДА МОСКВЫ
КОЛЛЕДЖ ПРЕДПРИНИМАТЕЛЬСТВА №11
ИССЛЕДОВАТЕЛЬСКАЯ РАБОТА
Система распознавания жестов руки с использованием web-камеры
Выполнил: Студент группы КС-12 Иванов Иван Иванович | Преподаватель: Преподаватель Центра ИКТ Тойвонен Елена Брониславовна |
Содержание:
Содержание: 2
Введение. 3
Цели работы.. 3
Задачи. 3
Общая схема работы.. 4
Распознавание. Нейронная сеть. 4
Искусственный нейрон. 4
Нейронная сеть. 4
Алгоритм обратного распространения ошибки. 4
Результаты проделанной работы.. 4
Список литературы: 4
Приложения. 4
Введение
В современном обществе особую актуальность приобретает автоматизация процессов в жизни человека. Это требует развития системы распознавания различных объектов и ситуаций, для дальнейшего принятия решений. Так, например, на промышленных предприятиях распознавание образов может применяться для сортировки объектов, движущихся по конвейеру; в охранных системах, для предоставления доступа определенному кругу лиц; распознавание так же может применяться в повседневной жизни, например, для помощи глухонемым в общении с окружающими.
Система предназначена для преобразования языка жестов в текстовый эквивалент, с дальнейшим синтезом речи. Пользователь показывает перед веб-камерой жест из заранее определенного набора (языка). Анализируя изображение с камеры, программа распознает этот жест, сопоставляя его с английским алфавитом. Далее формируется текст из букв, эквивалентных жестам, и произносится программой.
Цели работы
В работе были потавлены следующие цели:
1. Исследовать:
1.1. Принципы функционирования нейронных сетей
1.2. Алгоритмы бинаризации изображений
1.3. Функции Speech API для работы со звуком
2. создать систему распознавания жестов с использованием веб-камеры
3. получить опыт работы в команде
Задачи
Для достижения поставленной цели необходимо было выполнить следующие задачи:
1. Научиться получать изображения с веб-камеры
2. Реализовать преобразование изображений в удобный для распознавания вид
3. Реализовать многослойный персептрон
4. Реализовать программу, обучающую нейронную сеть
5. Разработать удобный для распознавания язык жестов
Общая схема работы
1. Получение изображения с web-камеры с помощью мультимедийного фреймворка DirectShow
2. Преобразование изображения в удобный для нейронной сети вид
2.1. Масштабирование
2.2. Бинаризация изображения с использованием двойного порога
2.3. Определение наибольшего компонента связности черных пикселей, с помощью поиска в ширину
2.4. Удаление оставшихся побочных объектов
2.5. Изменение размера получившегося изображения до 120x120 пикселей
3. Подсчет количества изменившихся пикселей с момента последнего захвата изображения
4. Если эта величина меньше назначенного порога, то происходит распознавание изображения нейронной сетью
5. Для уменьшения погрешности и случайностей анализируются сигналы последних 10 распознаваний
6. Добавление в строку результата нужную букву
7. Пользователь завершает ввод с помощью специального жеста
(количество изменившихся пикселей больше очень большого порога)
Воспроизведение получившейся строки с помощь Speech AP
Распознавание. Нейронная сеть.
Искусственный нейрон
Структурной единицей сети является искусственный нейрон. С помощью синапсов, сигналы с входов передаются на нейрон. Каждому синапсу ставится в соответствие его вес. Сигнал на нейроне будет равен взвешенной сумме сигналов со всех входов. Далее результат проходит через передаточную функцию, и принимает значение от 0 до 1. В нашем случае мы используем сигмоидальную функцию активации, из-за удобности при обучении сети.
Нейронная сеть
Нейронная сеть состоит из таких искусственных нейронов. Они разделяются на слои. Все нейроны одного слоя соединены синапсами со всеми нейронами следующего слоя и так далее. Входной слой, или сенсоры, вычислительной нагрузки не несет. Каждому сенсору ставится в соответствие ровно один пиксель изображения. Если соответствующий пиксель черный, то сигнал на нейроне будет 1 иначе 0. В сети, которую мы используем 14400 нейронов входного слоя, 100 нейронов скрытого слоя и 26 выходного (в соответствии с количеством букв английского языка). По сигналам на нейронах последнего слоя программа может судить о том, какая буква была изображена на распознаваемой картинке.
Мы обучаем многослойный персептрон с помощью алгоритма обратного распространения ошибки, а так же используем расписание обучения, то есть чем больше итераций обучения прошло, тем меньше корректировка весов.
Алгоритм обратного распространения ошибки
В настоящее время существует множество алгоритмов обучения. Наиболее известный из них – алгоритм обратного распространения ошибки. Данный алгоритм используется для минимизации отклонения реальных значений выходных сигналов нейронной сети от требуемых.
Результаты проделанной работы
1. Исследованы:
1.1. Принципы функционирования нейронных сетей
1.2. Алгоритмы бинаризации изображений
1.3. Функции Speech API для работы со звуком
2. создана система распознавания жестов с использованием веб-камеры
3. в процессе получен опыт работы в команде
Список литературы:
1. К. Ю. Поляков Информатика. 11. Углубленный уровень [Текст]: учебник для 11-го класса: в 2 ч. / К. Ю. Поляков, Е. А. Еремин. - 5-е изд. - Москва: Бином. Лаб. знаний, 2016. - 24 см. - (ФГОС).; ISBN 978-5-9963-3105-5: 7000 экз.
2. Н.Д. Угринович Информатика и информационные технологии. Учебник для 10-11 классов. – М.: Бином. Лаборатория знаний, 2011 г
3. Проект Типичный программист — крупнейшее в сети ВКонтакте объединение людей, [Электронный ресурс]. Дата обновления: 19.04.2017. URL: https://tproger.ru/experts/25/
4. Весь Богородский уезд: форум // Богородск – Ногинск. Богородское краеведение: сайт. Ногинск, 2006. URL: https://www.bogorodsk-noginsk.ru/forum/ (дата обращения: 20.02.2007)
Приложения
Рисунок 1-Внешний вид программы, обучающей нейронную сеть