Введение 3
Постановка задачи 4
Технология мобильного управления экранами 4
Техническое задание 10
Разработка прототипа 14
Написание клиент-серверной архитектуры 14
Разработки среды управления на примере игры 17
Реализация алгоритмов распознавания жестов 22
Заключение 36
Технологии взаимодействия и управления различными устройствами развиваются очень быстро, и приложений для таких предназначений огромное множество, лидеры из них - это TeamViewer, CrossLoop, Radmin, RealVNC и др. Однако, это все дополнительный софт и лишние программы, которые нужно устанавливать, и к тому же они имеют полный доступ над вашим устройством.
Передо мной встала задача разработки веб-приложения, которое позволяло бы без лишних затрат по времени управлять неким интерфейсом на компьютере (или любом другом немобильном устройстве) с помощью смартфона, который есть сейчас практически у каждого.
Ни для кого не секрет, что вся IT-индустрия развивается в сторону виртуальной реальности и «мобильного интернета», т.е. возможности смартфонов становятся шире и всё более значимы. Современные мобильные устройства обладают не только высокими вычислительными характеристиками, но и обилием различного рода датчиков, позволяющих узнать различные свойства окружения и некоторые свойства самого устройства в этом окружении. Отсюда и берется новый формат взаимодействия: определенные перемещения смартфона будут служить буквами алфавита языка жестов.
Я решил совместить эти две большие темы: разработка пока не очень распространенного вида взаимодействия устройств через веб-интерфейс и задача распознавания жеста. Данная работа имеет потенциал применения в различных сферах: от простой игровой индустрии до больших маркетинговых акций рекламной индустрии.
Подводя итоги, хотелось бы сказать, что подобный подход имеет большие перспективы и хорошие шансы закрепиться на рынке. Основными плюсами данных технологий являются:
• Простота подключения.
• Возможность работы практически с любого смартфона.
• Разнообразность элементов ввода (гироскоп, микрофон, кликабельный экран, на котором можно нарисовать любое количество клавиш, разных форм и размеров, расположенных в заданном порядке).
Мы так же убедились в простоте создания подобных приложений, в большом разнообразии уже готовых библиотек и фреймворков и удобстве их использования.
За время практики я полностью погрузился в исследуемую тему, получил немало новых знаний: от написания сервера до разработки и применения нейронных сетей. Данную технологию можно считать полностью раскрытой, т.к. применять её можно во многих отраслях: разработка игр, рекламные интерактивные стенды, простой серфинг в интернете, возможность приспособления для детей с ограниченными возможностями и т.д. А с применением машинного обучения можно приспособить ту или иную конкретную реализацию под самые сложные и необычные жесты гаджетами, не останавливаясь на простых примерах.
1. Нейронные сети. [Электронный ресурс]. - Режим доступа: https://habrahabr.ru/post/312450/, свободный.
2. A Step by Step Backpropagation Example. [Электронный ресурс]. -
Режим доступа: https://mattmazur.com/2015/03/17/a-step-by-step-
backpropagation-example/, свободный.
3. Using neural nets to recognize handwritten digits. [Электронный ресурс]. -
Режим доступа: http://neuralnetworksanddeepleaming.com/chap1.html,
свободный.
4. Нечеткая логика — математические основы. [Электронный ресурс]. -
Режим доступа: https: //basegroup .ru/community/articles/fuzzylogic -math,
свободный.
5. О решении задачи распознавания действий, производимых над объектом, на основе показаний акселерометра Н. В. Куриленко.
6. Нейронные сети на Javascript [Электронный ресурс]. - Режим доступа: https: //habrahabr.ru/po st/304414/, свободный.
7. Распознавание движения мобильного устройства Пестов Е. А
8. Learning Node.js / Shelley Powers: «O'Reilly», 2014. - 302 с.