Вход

Разработка приложения для определения и идентификации лиц на фотографии на языке Python

Рекомендуемая категория для самостоятельной подготовки:
Дипломная работа*
Код 456173
Дата создания 2020
Страниц 78
Мы сможем обработать ваш заказ (!) 2 мая в 12:00 [мск]
Файлы будут доступны для скачивания только после обработки заказа.
1 990руб.
КУПИТЬ

Содержание

Введение 3
Определение хода выполнения работы и выделение подзадач 4
1. Теоретические основы 6
1.1. Методы нахождения человеческих лиц на фотографии 6
1.1.1. Метод Виолы-Джонса 6
1.1.2. Метод Направленных Градиентов 10
1.2. Приведение изображения лица к единому стандарту. Аффинные преобразования 11
1.3. Нейронные сети 12
1.3.1. Понятие нейрона, нейронной сети 12
1.3.2. Функция активации 14
1.3.3. Понятие глубокой нейронной сети 14
1.3.4. Структура сверточной нейронной сети 15
1.3.5. Обучение сверточных нейронных сетей 19
1.3.8. Метод обратного распространения ошибки 25
1.3.9. Стохастический градиентный спуск 35
1.3.10. Регуляризация нейронной сети 37
2. Практическая часть 39
2.1. Выбор обучающих данных 39
2.2. Выбор программного обеспечения 40
2.3. Подготовка данных для обучения нейронной сети 42
2.4. Загрузка данных для обучения 44
2.5. Ошибки в задаче идентификации 46
2.6. Архитектура нейронной сети для извлечения bottleneck признаков 50
2.7. Реализация функции потерь на основе триплетов 52
2.8. Процесс обучения и тестирования и тестирования 53
2.9. Реализация обученной нейронной сети как функции в виде API на python 57
Заключение 58
Список литературы 59
Приложения 60

Введение

Существует множество задач, которые связаны с нахождением неявных характеристик у наблюдаемого объекта, на основании которых можно сделать некоторые выводы относительно его. В работе с изображениями одной из самых популярных считается задача идентификация человека по его фотографии, то есть выявление характеристик, с помощью которых, с определённой долей вероятности, можно будет сделать вывод о том, какому человеку принадлежит изображение на фотографии. Она возникает во многих сферах деятельности человека: от социальных сетей, где необходимо определить и отметить всех знакомых и друзей, кто изображен на фото, до обнаружения опасных субъектов в видеопотоке с камер уличного наблюдения и мест большого скопления людей. Ее суть заключается в том, чтобы, имея некоторую базу с именами людей и их изображениями, определить кто именно из базы является владельцем нового изображения или же такого человека вообще нет в базе. Данная задача предполагает обработку большого потока информации и не имеет однозначного решения, так как не ясно какие черты человека необходимо выделить, а какие не очень и важны при анализе схожести одного человека с другим. Таким образом, автоматизация процесса идентификации субъекта по его изображению является не совсем тривиальной задачей. Для её решения необходим инструмент, способный выделять признаки в исходном изображении, желательно численно интерпретируемые. Лидирующим инструментом в сфере выявления различных факторов и признаков на изображениях и не только являются нейронные сети. Методы с использованием нейросетевых технологий достигают в задах идентификации человека огромных успехов. Однако вычислительная сложность из-за огромных размеров обучающих выборок, на которых натренированы нейронные сети, или очень сложной архитектуры зачастую не позволяют самостоятельно реализовать поставленную задачу. Существуют готовые решения с уже натренированными нейронными сетями для идентификации человека, реализованные в виде различных библиотек. Но использование
сложных функций библиотек в проектах не всегда хорошо, так как это ограничивает возможности по дальнейшему развитию проекта и зависимостью от разработчика библиотеки. Эта зависимость выражается в определенном формате входных и выходных данных, гиперпараметрах нейронной сети, полю восприятия нейронной сети и т.д. Уместнее изучить различные существующие решения задачи идентификации человека по его фото, проанализировать их с учётом их особенностей и своих возможностей, потребностей, и реализовать самостоятельно. Это позволит глубже понять суть работы выбранного метода, чем при знакомстве с документацией библиотеки, реализующей нужную задачу. Однако не означает, что для реализации подзадач, возникающих в процессе реализации, нужно «изобретать велосипед» и переписывать хорошо зарекомендовавшие себя программные продукты, а то, что надо найти компромисс и решить какие блоки проекта можно доверить на исполнение сторонним программам, а какие требуют большего внимания и собственноручной реализации.
Целью работы является реализация облачного сервиса по распознаванию человека на фотографии. Решаться будет немного более узкая задача, а именно идентификация субъекта по изображению его лица. В итоге будет получена программа, адаптированная под относительно небольшие вычислительные мощности и ограничения на количество обучающих данных, с точностью близкой к лучшим продуктам в сфере распознавания лиц людей по их фотографии.
Определение хода выполнения работы и выделение подзадач
Исходными данными, с которым придется работать программе: база с изображениями людей и новое поступающее на «вход» изображение, относительно которого необходимо сделать вывод о том, есть ли человек, который изображен на этой фотографии на изображениях из базы или нет и сообщить это, как результат работы программы. Если на фото не один человек,
выявить всех людей и вернуть уже список с опознанными и неопознанными лицами. На первый взгляд задача, которую необходимо решить напоминает задачу классификации, но не при условии постоянного пополнения/уменьшения изображений в базе. Это условие потребует постоянного переобучения нейронной сети из-за изменения количества классов. При постоянном использовании сервиса в работе некоторого ресурса или предприятия недопустимы такие частые отказы в его работе. Они будут обусловлены тем, что для переобучения нейронной сети потребуется некоторое время, за которое человек, которого удалили из базы сможет проходить успешно идентификацию, а человек которого добавили в базу определяться как незнакомец. Решение той проблемы заключается в разработке некоторого компаратора, который мог бы брать к сравнению изображение из базы и входное изображение. Причем необходимо потребовать от компаратора вероятностного подхода к оценке двух изображений, то есть сообщать на сколько похожи люди на разных фотографиях. На этом моменте сформировались основные требования к реализуемой программе. Необходимо выделить подзадачи и определить инструменты для их решения.
Первая подзадача представляет собой писк обучающих данных. Выборка фотографий должна быть достаточно большой и содержать в себе изображения под различными ракурсами, углами наклона, уровнями яркости и с другим факторами фото-производства. Особенности человеческой внешности тоже должны быть учтены, так как человек в разное время может иметь различную прическу, носить очки, иметь предметы гардероба, скрывающие часть лица и т.д. Для анализа будут взяты следующие базы с фотографиями:
Вторая подзадача представляет собой способ выделения всех лиц на фотографии. Так как поступать в программу будут поступать различные изображения человека, необходимо выбрать способ выделения лиц на этих
фотографиях. К рассмотрению будет взята пара «Метод Виола-Джонса» и
«Гистограмма направленных градиентов».
Третья подзадача выражается в сведении выделенных лиц к единому стандарту. Для ее решения необходимо изучить метод, способный приводить изображения лиц, сделанные под разным углом и наклоном, сохраняя закономерности, присущие искаженному изображению. Такого рода преобразования называются – аффинными. Далее они получат более подробное описание.
Четвертая подзадача является основной. Она подразумевает реализацию функции, которая способна выявлять характерные черты человеческого лица. Её можно тоже разбить на множество подзадач, таких как выбор гиперпараметров нейронной сети, вида функции потерь, метода ее оптимизации и так далее. Она так же получит более подробное описание в теоретической части работы.
Пятой подзадачей является программная реализация предыдущих задач, сбор их в единое приложение и размещение на сервере, с возможностью подключения к нему из других приложений.
После определения подзадач можно перейти к описанию инструментов, с помощью которых они будут реализованы

Фрагмент работы для ознакомления

Дипломная работа выполнена по всем требованиям и защищена на "отлично".

Список литературы


1) D. G. Lowe. Distinctive image features from scale-invariant keypoints. IJCV, 60(2):91-110, 2004.
2) Vahdat Kazemi and Josephine Sullivan. One millisecond face alignment with an ensemble of regression trees. In Computer Vision and Pattern Recognition (CVPR), 2014 IEEE Conference on, pages 1867–1874. IEEE, 2014.
3) Bull. Math. Biophys. – 1943. – v.5. – pp.115–133. Русский перевод • первоначальная публикация: Мак-Каллок У.С., Питтс В. Логическое исчисление идей, относящихся к нервной активности
4) Горбань А. Н. Обучение нейронных сетей. – М. : ПараГраф, 1990.
5) F. Schroff, D. Kalenichenko, and J. Philbin, “Facenet: A unified embedding for face recognition and clustering,” in CVPR, 2015.
6) S. Sankaranarayanan, A. Alavi, C. D. Castillo, and R. Chel-lappa. Triplet probabilistic embedding for face verificationand clustering. In Biometrics Theory, Applications and Sys-tems (BTAS), 2016 IEEE 8th International Conference on,pages 1–8. IEEE, 2016.
7) Q. Cao, L. Shen, W. Xie, O. M. Parkhi, and A. Zisserman. Vggface2: A dataset for recognising faces across pose and age. arXiv preprint arXiv:1710.08092, 2017.
8) Ян Гудфеллоу. Глубокое обучение / Ян Гудфеллоу, Аарон Курвилль, Иошуа Бенджио. – М.: ДМК Пресс, 2017. – С. 21-314.
9) Антонио Джулли. Библиотека Keras – инструмент глубокого обучения/ Антонио Джулли, Суджит Пол. – М.: ДМК Пресс, 2017. – С. 20-290
10) Christian Szegedy, Sergey Ioffe, Vincent Vanhoucke. Inception- v4, Inception-ResNet and the Impact of Residual Connections on Learning
Очень похожие работы
Пожалуйста, внимательно изучайте содержание и фрагменты работы. Деньги за приобретённые готовые работы по причине несоответствия данной работы вашим требованиям или её уникальности не возвращаются.
* Категория работы носит оценочный характер в соответствии с качественными и количественными параметрами предоставляемого материала. Данный материал ни целиком, ни любая из его частей не является готовым научным трудом, выпускной квалификационной работой, научным докладом или иной работой, предусмотренной государственной системой научной аттестации или необходимой для прохождения промежуточной или итоговой аттестации. Данный материал представляет собой субъективный результат обработки, структурирования и форматирования собранной его автором информации и предназначен, прежде всего, для использования в качестве источника для самостоятельной подготовки работы указанной тематики.
bmt: 0.00989
© Рефератбанк, 2002 - 2024