Проекты*

Нейронная сеть по распознаванию животных

Работа призёров открытой городской научно-практической конференции «Инженеры будущего» по направлению «Инженеры» в секции «Информационные технологии, программирование, прикладная математика, социальный инжиниринг» среди работ учащихся 10–11 классов

Направление работы: Информационные технологии
Авторы работы: ГБОУ Школа № 1557, ГБОУ Школа № 152
Предметы: Математика, Информатика
Классы: 10 класс
Мероприятия: Открытая городская научно-практическая конференция «Инженеры будущего» по направлению «Инженеры» 2022 года

Актуальность

Современный уровень развития технологий и применение нейросетей в самых разных сферах показывают, что у этого направления огромные перспективы развития в разных областях, включая транспорт, робототехнику, сельскохозяйственную сферу, медицину, интернет вещей, развлечения, безопасность. Поэтому авторы решили сделать нейронную сеть, которая сможет распознавать образы домашних животных. Также было решено создать сайт, на который могут быть загружены фотографии животных и который послужит базой данных для нейросети. Такую нейросеть можно использовать в различных приложениях: автоматическая кормушка для кошек и собак, питание по расписанию и т. д.

Цель

Создать нейронную сеть по распознаванию образов домашних животных и соответствующий сайт.

Задачи

  1. Изучить теорию о нейросетях.
  2. Обучить нейронную сеть.
  3. Проверить качество обучения нейросети.
  4. Сделать вербализацию нейронной сети.
  5. Сделать сайт для нейросети.

Оснащение и оборудование, использованное при создании работы

  • Ноутбук

Описание

Авторы обучали нейросеть в декабре-январе 2021–2022 года. В процессе обучения сеть в определённом порядке просматривает обучающую выборку. Нейросети, обучающиеся с учителем, просматривают выборку множество раз, при этом один полный проход по выборке называется эпохой обучения. При обучении с учителем набор исходных данных делят на две части – собственно обучающую выборку и тестовые данные, принцип разделения может быть произвольным.

Распознавание изображений с помощью нейронных сетей возможно только посредством специального обучения, представляющего собой процесс, направленный на настройку параметров НС. В нашем проекте использовалось обучение с учителем. Важной задачей являлся набор данных для НС. Набор данных для обучения должен был удовлетворять нескольким критериям:

–      репрезентативность: данные должны иллюстрировать истинное положение вещей в предметной области;

–     непротиворечивость: противоречивые данные в обучающей выборке приведут к плохому качеству обучения сети.

Исходные данные преобразуются к виду, в котором их можно подать на входы сети. Каждая запись в файле данных называется обучающей парой или обучающим вектором. Обучающий вектор содержит по одному значению на каждый вход сети и, в зависимости от типа обучения (с учителем или без него), – по одному значению для каждого выхода сети. Обучение сети на «сыром» наборе, как правило, не даёт качественных результатов.

Мы будем использовать набор данных: Dogs&Cats, так как это качественные данные, которые часто используются в распознавании образов кошек и собак. В этом наборе данных содержится 10000 картинок кошек и собак.

Как видим, нейросеть распознала, что на картинке – кошка с 94,51% достоверности. Авторы проверили нейросеть на корректность и убедились, что она может распознавать кошек и собак, перейдя к разработке сайта, реализующего описанную выше процедуру распознавания изображений.

Для разработки авторам потребовались знания HTML, CSS, Python и Django Framework: сначала сделали макеты страниц в программе «Photoshop», далее были написаны основы сайта на языке разметки. Для оформления внешнего сайта использовались каскадные таблицы стилей, сайт подготовлен для работы на компьютере. В качестве серверной части сайта авторы взаимодействовали с библиотекой Django, написанной на популярном языке программирования Python. Для начала были написаны модели пользователей и питомцев, потом – функции регистрации и авторизации, после импортировали нейронную сеть на сайт. Также на сайте были написаны функции добавления и сохранения информации о своих питомцах.

Результаты работы/выводы

Авторы поняли, как работают нейронные сети, научились программировать нейронную сеть по распознаванию кошек и собак, работать с данными для нейросети, обучили нейросеть, научились делать сайт. Дальнейшее развитие проекта предусматривает улучшение нейронной сети, чтобы она могла распознавать породы кошек и собак, а также добавление новых функций на сайте.

Перспективы использования результатов работы

  • Перенос приложения на мобильные платформы
  • Добавление новых функций на сайте
  • Обучение нейросети определять породы кошек и собак
  • Улучшение скорости работы приложения

Мнение автора

«Мы рады возможности вкладывать частичку нашей души в такие проекты. Нам понравилось участвовать в конкурсе. В дальнейшем мы продолжим нашу работу. Участие в Открытой городской научно-практической конференции «Инженеры будущего» было полезным и увлекательным»