Введение 5
1 Основы технического зрения 6
1.1 Общие принципы работы технического зрения 6
1.2 Алгоритмы работы технического зрения 7
2 Принципы работы и применение нейронных сетей 9
2.1 История нейронных сетей: от ранних исследований до современности . 9
2.2 Структура нейронной сети и принципы ее работы 10
2.2.1 Общие принципы построения 10
2.2.2 Структура нейронной сети 11
2.2.3 Функция активации 12
2.2.4 Обучение нейросетей: итерации, эпохи и ошибки 14
2.2.5 Принцип работы нейронной сети 16
2.3 Виды нейронных сетей 17
2.4 Применение нейронных сетей в производстве и промышленности 18
2.5 Роль нейронных сетей в данной работе 19
3 Практическая часть 21
3.1 Используемое программное обеспечение 21
3.2 Общее описание кода 22
3.3 Создание тренировочного набора данных 23
3.4 Обучение нейронной сети на тренировочном наборе данных 27
3.5 Захват и обработка изображения с камеры 29
3.6 Анализ результатов 32
Заключение 37
Список используемых источников и литературы 38
Приложение А Код программы для создания обучающего набора данных ... 39
Приложение Б Код для создания и обучения модели нейронной сети 41
Приложение В Код программы для обработки и подачи изображения на вход нейронной сети
Современные технологии в области компьютерного зрения и искусственного интеллекта предоставляют уникальные возможности для создания систем распознавания объектов в реальном времени. Одной из актуальных задач является распознавание геометрических объектов в видеопотоке, что находит применение в различных сферах. Например, в области промышленности это может быть использовано для автоматического контроля качества заготовок и готовой продукции, в автоматических системах управления - для навигации роботов, контроля за станками с числовым программным управлением, для реализации автоматической транспортной системы на складах и в цехах. Это позволяет улучшить производственные процессы, повысить качество и количество выпускаемой продукции, усовершенствовать работу систем безопасности, повысить уровень автоматизации и роботизации в различных областях.
Целью работы является разработка программы для распознавания геометрических объектов в видеопотоке в режиме реального времени с использованием методов компьютерного зрения и искусственных нейронных сетей. Программа должна обнаруживать и классифицировать геометрические фигуры в реальном времени, что позволит ее применять в различных прикладных областях для автоматизации процессов и улучшения качества работы систем управления и мониторинга.
Для достижения поставленной цели необходимо решить следующие задачи:
6. изучить литературу по теме;
7. создать модель нейронной сети;
8. подготовить набор данных для обучения нейронной сети;
9. обучить нейронную сеть;
10. проанализировать результат
В заключение следует отметить, что данный подход к распознаванию геометрических объектов в режиме реального времени имеет огромную значимость и актуальность в современном мире компьютерного зрения и машинного обучения. Он может применяться в таких аспектах как промышленность, автоматическое вождение, улучшение систем безопасности и контроля и многих других.
В ходе данных исследований было проведено несколько экспериментов, с целью тестирования корректности работы программы распознавания геометрических объектов в режиме реального времени. Наилучшие результаты достигаются в случае наличия хорошего освещения в помещении, если фигура, которую требуется распознать, расположена достаточно близко к видеокамере и имеет малый угол поворота (до 10°). В случае существенных отклонений от указанных условий, наблюдается снижение эффективности распознавания. Так же следует отметить, что выбранные геометрические фигуры слишком простые. В следствие чего, программа может ошибочно распознавать их в фоне на изображении.
Дальнейшее развитие программы может включать в себя улучшение точности и скорости распознавания объектов, а также расширение функциональности для работы с различными типами геометрических объектов. Также важным аспектом является оптимизация алгоритмов обработки изображений и использование более сложных моделей нейронных сетей для улучшения качества распознавания.
1. Кузнецов, С. Н. Техническое зрение: алгоритмы и методы / С. Н. Кузнецов. - СПб.: Питер, 2016. - 320 с.
2. Мюллер А. Введение в машинное обучение с помощью Python : руководство для специалистов по работе с данными / Андреас Мюллер, Сара Гвидо. - Москва : Вильямс, 2017. - 480 с.: ил.
3. Гудфеллоу Я. Глубокое обучение / пер. с анг. А. А. Слинкина. - 2-е изд., испр. - М.: ДМК Пресс, 2018. - 652 с.: цв. ил.
4. Мюллер А. Введение в машинное обучение с помощью Python : руководство для специалистов по работе с данными / Андреас Мюллер, Сара Гвидо. - Москва : Вильямс, 2017. - 480 с.: ил.
5. Орельен Ж. Прикладное машинное обучение с помощью Scikit-Learn,
Keras и TensorFlow: концепции, инструменты и техники создания интеллектуальных систем , 2-е изд. : Пер. с англ. - СПб. : ООО «Диалектика», 2020. - 1040 с. : ил. - Парал. тит. англ.
6. Кэлер А. Изучаем OpenCV 3 / Адриан Кэлер, Гэри Брэдски. - Москва : ДМК Пресс, 2017. - 826 с.: ил.
7. Keras-Слои [Электронный ресурс]: Keras документация. - URL: https://ru-keras.com(Дата обращения: 01.05.2024)
8. Прохоренок Н. А. Python 3 и PyQt 5. Разработка приложений / Николай
Прохоренок, Владимир Дронов. - 2-е изд.. - Санкт-Петербург : БХВ-
Петербург, 2019. - 832 с.: ил.
9. Документация NumPy [Электронный ресурс]: NumPy documentation. - URL: https://numpy.org/doc/stable/index.html(Дата обращения: 24.04.2024)