Введение
- Анализ существующих решений
1.1. Постановка задачи проектирования
1.2. Анализ существующих решений программного обеспечения
- Проектирование системы идентификации персонала
2.1 Выбор методов и средств проектирования
2.2 Логическое проектирование системы
2.3 Физическое проектирование системы
2.4 Проектирование макета пользовательского интерфейса
2.5 Технико-экономическое обоснование проектных расчетов
- Технология программной реализации разработанных моделей и алгоритмов
3.1 Выбор средств программной реализации
3.2 Программная реализация пользовательского интерфейса системы
В настоящее время сложно представить жизнь современного человека без смартфона или планшета, многим они заменили настольные компьютеры и ноутбуки. Электронная почта, книги, навигация, фото- и видеокамера и многие другие возможности и функции давно присутствуют в смартфонах и список возможностей постоянно пополняется.
Актуальность обусловлена тем, что разработки в области искусственного интеллекта (ИИ) активно внедряются в повседневную жизнь, различные типы идентификации, основанные на распознавании лиц, внедряются повсеместно, все больше автоматизируются процессы слежения и мониторинга. Исследования ведутся такими гигантами как Google, Nvidia, Amazon, Intel. и многим энтузиастами. Больший резонанс произвела компания Apple, внедрив в своем новом устройстве технологию Face ID, заменив ей уже привычный сканер отпечатка пальца.
Целю работы является разработка мобильного приложения «Цветочный магазин». Целью разработки приложения является упрощение заказа букета для пользователей.
Для достижения цели работы должны быть решены следующие задачи:
- Изучить основные термины и понятия связанные с разработкой приложения.
- Провести анализ языков программирования для создания android приложений.
- Выбрать среду разработки.
- Выбрать архитектуру и компоненты мобильного приложения.
- Реализацовать компоненты обработки данных.
- Провести расчет трудозатрат на разработку приложения.
- Протестировать приложение
1. Анализ существующих решений
1.1. Постановка задачи проектирования
Разработка мобильных приложений под операционную систему Android на сегодняшние дни очень востребована ввиду её высокой популярности.
У систем распознавания лиц долгое время был один существенный недостаток. Они сильно зависели от освещения и ракурса. Впрочем, в охранных сканерах эта проблема не была заметна. К ним лицо прикладывалось почти вплотную, освещаясь затем лампами. Избавиться же от вышеупомянутого недостатка помогло внедрение стереосъемки. Две камеры понимают глубину сцены, в связи с чем точность показаний вырастает в несколько раз.
Как работает технология распознавания лиц?
Постепенно новая функция начала появляться в смартфонах. Здесь биометрическая идентификация пользователя внедряется для того, чтобы разблокировать устройство не мог посторонний человек. В идеале получить доступ к персональной информации может только близнец. Переживать по этому поводу не стоит. Вряд ли кто-то будет всерьез скрывать что-то от родного брата или сестры. Да и никто не мешает установить для чтения каких-то особо секретных данных дополнительный пароль.
Работу системы распознавания лиц в смартфонах можно условно разделить на четыре этапа:
Сканирование лица. Оно осуществляется при помощи фронтальной камеры или, как в случае с iPhone X, специального сенсора. Сканирование является трехмерным, поэтому фокус с показом фотографии срабатывать не будет.
Извлечение уникальных данных. Система ориентируется на набор особенностей сканируемого лица. Чаще всего это контуры глазниц, форма скул и ширина носа. В продвинутых системах также могут «замечаться» шрамы.
Извлечение из памяти шаблона с ранее полученными данными.
Поиск соответствий. Финальный этап, на котором система решает, разблокировать ли дисплей. Мощности современных процессоров позволяют тратить на «размышление» всего доли секунды.
Функция распознавания лиц может быть реализована даже при помощи фронтальной камеры — лишь бы она имела два объектива. Однако в таком случае работа данной функции окажется нестабильной. Дело в том, что лишь специальные датчики обеспечат сканирование лица даже в темноте, тогда как «фронталке» требуется яркое освещение. Также особые датчики виртуально выводят на лицо большее количество точек, поэтому они срабатывают даже при появлении бороды, очков и других помех.
Приложение «Идентификация персонала» должно идентифицировать персонал через распознавание лица.
Как работает распознавание лица?
Понятное дело, что учить смартфон запоминать ваше лицо, а также лица других людей — бессмысленная и ресурсоемкая задача. Он не будет классифицировать лица в том смысле, как делает это для различных видов животных или растений (в приложении Камера). Вместо этого телефон обучают делать кое-что другое.
Вначале (еще «на заводе») нейросеть учат просто различать лица, то есть, выделять какие-то конкретные признаки лица (формы, размеры, расстояния) и отличать одни от других. Делается это при помощи так называемой сверточной нейронной сети (CNN) и специальных фильтров или сверток (в рамках этой статьи понимание данного процесса совершенно не важно).
Вся нейросеть состоит из слоев: на первый слой подается изображение с лицом, на втором слое применяются свертки, дальше идет выделение отдельных признаков, после чего на последнем (выходном) слое определяется конкретный человек.
К примеру, если бы наша нейросеть определяла расу человека и на предпоследнем слое собрались бы такие признаки, как «темная кожа», «толстые губы», «широкий нос» и «крупные зубы», тогда на выходе активировался бы нейрон, отвечающий за негроидную расу.