| Карточка | Таблица | RUSMARC | |
Нигматзянов, Наиль Азатович. Применение искусственного интеллекта в сфере промышленной безопасности и охраны труда: технологии компьютерного зрения для мониторинга средств индивидуальной защиты (проектный): выпускная квалификационная работа по программе бакалавриата. Направление подготовки (специальность): 02.03.03 "Математическое обеспечение и администрирование информационных систем". Направленность (профиль): "Системное интернет - программирование " / Н.А. Нигматзянов; Уфимский университет науки и технологий (УУНиТ), Институт информатики, математики и робототехники, Кафедра функционального анализа и программирования ; научный руководитель: М.Л. Бердникова; нормоконтроль : А.В. Постовалова. — Уфа, 2025. — 51 с. — <URL:https://elib.bashedu.ru/dl/diplom/2025/NIGMATZYANOV_N_A_AIS-4SIP211B_02.03.03-MOAIS-SIP_06.2025.pdf>. — Текст: электронныйДата создания записи: 31.10.2025 Тематика: ВКР; бакалавриат; компьютерное зрение; YOLO; промышленная безопасность; средства индивидуальной защиты; автоматизированный мониторинг использования; программное приложение Коллекции: Квалификационные работы бакалавров и специалистов; Общая коллекция Разрешенные действия: –
Действие 'Прочитать' будет доступно, если вы выполните вход в систему и будете работать на компьютерах в читальных залах Библиотеки
Группа: Анонимные пользователи Сеть: Интернет |
Права на использование объекта хранения
| Место доступа | Группа пользователей | Действие | ||||
|---|---|---|---|---|---|---|
| Локальная сеть Библиотеки | Аутентифицированные пользователи |
|
||||
| Локальная сеть Библиотеки | Все | |||||
| Интернет | Аутентифицированные пользователи |
|
||||
|
Интернет | Все |
Оглавление
- 689dd4820f8e38e316107ec6bea30b96832d50979825788d95ffe1b4ec92f681.pdf
- da18110ab3eaaa3f8b6ad2e6dd530a5bfe92bae8557b62a2cbef6096d37f059e.pdf
- 0e6b42d09e273a89a27e0cde61e069acb3fd1638215c6ea2e208d85adbd7c825.pdf
- ВВЕДЕНИЕ
- ГЛАВА 1. ТЕОРЕТИЧЕСКИЕ ОСНОВЫ ПРИМЕНЕНИЯ КОМПЬЮТЕРНОГО ЗРЕНИЯ В ПРОМЫШЛЕННОЙ БЕЗОПАСНОСТИ
- 1.1 Промышленная безопасность и охрана труда: вызовы и современные подходы.
- 1.3 Алгоритм YOLOv8 и его преимущества
- 1.4 Выбор направления исследования
- ГЛАВА 2. ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ НЕЙРОСЕТЕВОГО ПРИЛОЖЕНИЯ
- 2.1 Обзор архитектуры YOLOv8 и ее применение для детекции объектов
- 2.2 Подготовка и анализ датасет для обучения модели
- Чтобы наша модель машинного обучения, которая будет искать каски на людях, работала хорошо, ей нужен качественный и понятный набор данных. Для обучения YOLOv8 мы использовали специальный датасет с платформы Roboflow Universe.
- 2.2.1 Источник данных: Roboflow Universe
- Датасет для обучения был взят с платформы Roboflow Universe по адресу https://universe.roboflow.com/01workspace/work_space_1 . Roboflow Universe — это огромная библиотека публичных датасетов для компьютерного зрения, он очень удобен, потому что позвол...
- • Собирать и размечать данные: можно загружать свои картинки и видео, а потом вручную или автоматически отмечать на них нужные объекты (например, рисовать рамки для касок и людей).
- • Увеличение объем данных: платформа способна модифицировать изображения (поворот, масштабирование, изменение яркости, добавление шума) для расширения обучающей выборки, что улучшает производительность модели на разнообразных снимках.
- • Формировать и экспортировать: датасеты могут быть сохранены в различных форматах, совместимых со всеми версиями машинного обучения.
- Причины выбора Roboflow Universe как источника данных:
- • Готовые размеченные данные: наличие уже размеченных датасетов значительно экономит время и ресурсы.
- • Качество разметки: датасеты на Roboflow обычно хорошо проверены, поэтому ошибок и неточностей, которые могли бы помешать обучению модели, там мало.
- • Разнообразие: на платформе много изображений, снятых в различных условиях (освещение, ракурсы, фон), что придает сделать более универсальную модель.
- 2.2.2 Особенности разметки и структуры датасета
- Использование в данном исследовании содержат изображения, на которых видно людей, а также объектов, связанных с их СИЗ (каски). Разметка сделана в формате, который понимает YOLO, для каждого объекта указан его класс и координаты рамки. В датасете есть...
- • no-helmet: для людей без каски.
- • helmet: для людей в каске.
- Структура датасета обычно включает:
- • Папку с изображениями: здесь лежат все картинки, которые используется для обучения, проверки и тестирования модели.
- • Папку с аннотациями: для каждой картинки есть текстовый файл (например, .txt), где записана информация о размеченных объектах. Каждая строка в таком файле – это объект, и в ней указан ID класса объекта, а также нормализованные координаты центра огра...
- Пример строки аннотации (YOLO-формат): [class_id] [x_center] [y_center] [width] [height]
- Где:
- class_id : номер класса (например, 0 для no helmet , 1 для helmet ).
- x_center , y_center : координаты центра рамки (от 0 до 1).
- width , height : ширина и высота ограничивающей рамки (от 0 до 1).
- Данные для обучения были разделены на три части:
- Обучающая выборка(80%): на ней учится модель.
- Валидационная выборка(15%): на ней мы проверяем, насколько хорошо модель обобщает знания, полученные на обучающей выборке, и настраиваем её.
- Тестовая выборка(5%): на ней мы мы окончательно оцениваем производительность модели, эти данные она видит впервые.
- Анализ датасета:
- Перед обучением модели важно изучить датасет, чтобы понимать его особенности. Это включает:
- • Распределение классов: смотрим, сколько объектов каждого класса. Если каких-то классов очень мало, возможно, придется использовать специальные методы, чтобы модель не смещалась.
- • Размер и разрешение изображений: влияет на то как быстро модель обучится и сколько памяти ей понадобится.
- • Разнообразие сцен: создание более обобщающей модели должно содержать наличие снимков, снятых в различных условиях освещения, с разных ракурсов, с разным фоном и количеством людей.
- • Качество аннотаций: проверяем, нет ли ошибок в разметке (неправильные рамки, пропущенные объекты, неверные классы), потому что это может сильно повлиять на обучение.
- Использование качественного и правильно размеченного датасета является немаловажным шагом для успешного обучения YOLOv8 и её хорошей работе в задаче мониторинга СИЗ.
- 2.3 Процесс обучения модели
- Обучение YOLOv8 для детекции средств индивидуальной защиты (СИЗ) является важным этапом в разработке. Процесс включает в себя настройку параметров нейронной сети на размеченных данных с целью уменьшить ошибки предсказания и увеличить точность нахожден...
- 2.3.1 Анализ графиков обучения
- На представленных графиках (Рисунок 2.5) отражается процесс обучения YOLOv8 в течение 100 эпох. Каждый график показывает изменение определенного показателя в зависимости от количества пройденных эпох. Анализ этих графиков позволяет понять, насколько ...
- Рисунок 2.5 – Графики обучения YOLOv8
- Рассмотрим каждый график более подробно:
- В целом, анализ графиков обучения показывает, что YOLOv8 успешно обучается на предоставленном датасете. Все функции потерь демонстрируют устойчивое снижение как на обучающей, так и на валидационной выборках, что указывает на рентабельное обучение. Отс...
- 2.4 Разработка программного приложения на Python с использованием Qt Disigner
- Для демонстрации функционала YOLOv8, и обеспечения удобства использования, разработаем приложение на Python, используя библиотеку PyQt6 для создания графического интерфейса.
- Основные элементы и возможности приложения:
- • Графический интерфейс пользователя (GUI): приложение оснащено понятным интерфейсом, разработанным в Qt Designer. Он включает в себя область для отображения видео, кнопки для загрузки видео и запуска детекции, а также текстовое поле вывода отчётов о ...
- • Загрузка видео: пользователь может выбрать видеофайл (форматы .mp4, .avi, .mov) через стандартное окно выбора файла.
- • Детекция объектов в реальном времени: приложение использует обученную YOLOv8 для обработки виде. Каждый кадр видео анализируется на наличие людей в касках и без них. Обнаруженные объекты, обводятся рамками: красным цветом — это если человек без кас...
- • Отслеживание нарушений: приложение отслеживает уникальных нарушителей присваивая им уникальных ID. Чтобы избежать ложных срабатываний.
- • Формирование отчета: после обработки видео создаётся отчёт, который показывается в текстовом поле приложения. В отчёте указано общее количество найденных нарушителей и время каждого зафиксированного нарушения. Время представлено в виде ссылок, при н...
- Используемые библиотеки:
- • PyQt6: фреймворк для создания графических интерфейсов на Python. Работает на разных операционных системах и даёт много возможностей для настройки.
- • OpenCV (cv2): библиотека для работы с изображениями и видео.
- Используется для чтения видеофайлов, обработки кадров и наложения графических элементов (рамок, текста).
- • Ultralytics YOLO: официальная библиотека для работы с моделями YOLOv8. Предоставляет удобный способ загружать модель, запускать её и получать результаты детекции.
- • pandas: эта библиотека используется для работы с данными, в частности, для сохранения отчетов о нарушениях в формате CSV-файлов.
- • numpy: библиотека используется для работы с массивами данных.
- Принцип работы разработанного:
- 1. Инициализация: при запуске приложения появляется основное окно, содержащее кнопки управления, область для видео и текстовое поле для отчёта. В этот момент загружается предварительно обученная YOLOv8 (helmetYoloV8_100epochs.pt).
- 2. Выбор видео: пользователь нажимает кнопку «Загрузить видео» и выбирает необходимый видеофайл. Путь к файлу сохраняется в переменной self.video_path.
- 3.Запуск детекции: нажатие кнопки «Запустить детекцию» запускает отдельный поток VideoProcessingThread. Он обеспечивает фоновую обработку видео, не замедляя работу основного пользовательского интерфейса
- 4. Обработка видео в потоке:
- Поток открывает видеофайл с помощью библиотеки OpenCV.
- Каждый кадр передается в YOLOv8 для поиска объектов. Модель возвращает список найденных объектов с их классами (0 — без каски, 1 — в каске), координатами рамок и уникальными ID (для отслеживания).
- Для каждого обнаруженнего объекта проверяется его класс. Если объект относится к классу «без каски» (класс 0), то его ID добавляется в словарь self.tracked_people, где ведется счетчик кадров, в течение которых этот человек находится без каски. Если ...
- Если счетчик для определенного ID достигает заданного порога (например, 3 кадра) это считается подтвержденным нарушением. Время нарушения (тайминги) и ID нарушителя записывается. ID нарушителя также добавляется в self.violations_set для уникальных н...
- На кадр накладывается ограничивающие рамки: красные для нарушителей, зеленые для людей в касках. Также отображается ID человека.
- Обработанный кадр конвертируется в формат QImage и передается в основной поток посредством сигнала update_frame_signal.
- 5. Обновление интерфейса: основной поток получает QImage и выводит его в QLabel, тем самым обновляя видеоизображение на экране.
- 6. Завершение обработки видео и отчет: по завершении обработки всех кадров, поток VideoProcessingThread отправляет сигнал process_finished_signal, содержащий список временных меток нарушенйи и общее число уникальных нарушителей.
- 7. Отображение отчета: основной поток принимает данные отчета и формирует HTML-сообщение, которое затем отображается в QTextBrowser. Временные метки в отчете являются кликабельными ссылками.
- 8. Перемотка видео: при нажатии на метку в отчете, функция handle_link_click перехватывает событие, извлекает соответствующее время и показывает соответствующий кадр.
- 9. Сохранение отчета: отчет о нарушениях также сохраняется в файл violations_report.csv
- Такой подход обеспечивает эффективную обработку видео, интерактивное взаимодействие с пользователем и наглядное представление результатов детекции и отслеживания нарушений.
- Вывод по второй главе
- Во второй главе были подробно рассмотрены этапы разработки системы автоматического мониторинга средств индивидуальной защиты (СИЗ) с использованием алгоритма YOLOv8. Вот основные выводы, к которым мы пришли после анализа и практической работы:
- YOLOv8 — отличный выбор: архитектура YOLOv8 очень хорошо подходит для быстрого обнаружения объектов в реальном времени. Благодаря своей простой структуре и современным функциям.
- Правильный подбор и анализ набора данных (датасета) напрямую влияют на то, насколько хорошо будет работать модель. Мы использовали датасет с платформы Roboflow Universe, что сильно упростило подготовку данных, ведь там уже есть качественная разметка...
- Обучение прошло успешно: мы обучали YOLOv8 в течение 100 эпох. За это время значения ошибок стабильно снижались, а показатели качества (точность, полнота, mAP) улучшались. Мы не заметили признаков переобучения, что говорит о том, что мы правильно вы...
- Удобное приложение: мы разработали программу на PyQt6, которая использует обученную YOLOv8. Получился удобный и функциональный инструмент для выявления нарушений правил использования СИЗ. Приложение анализирует видео, находит уникальных нарушителей,...
- В итоге, наша работа показала, что выбранный подход очень эффективен. Созданная система может быть использована в реальных условиях для повышения безопасности на производстве. Мы успешно объединили современные технологии компьютерного зрения с приклад...
- ГЛАВА 3. ПРИМЕНЕНИЕ, ОЦЕНКА РЕЗУЛЬТАТОВ И ПЕРСПЕКТИВЫ
- 3.1 Применение разработанной системы и оценка результатов
- 3.2 Перспективы совершенствования модели
- 3.3 Условия прекращения решения задачи автоматизированным способом
- 3.4 Оценка эффективности реализации модели
- 79e7ac1636863253e6273a6c5205128f3bc7ad4599022f2dbaf27e920ddc8208.pdf
- СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ И ЛИТЕРАТУРЫ
- 79e7ac1636863253e6273a6c5205128f3bc7ad4599022f2dbaf27e920ddc8208.pdf
- СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ
- СЛОВАРЬ ТЕРМИНОВ
- ПРИЛОЖЕНИЯ
- 0e6b42d09e273a89a27e0cde61e069acb3fd1638215c6ea2e208d85adbd7c825.pdf
- da18110ab3eaaa3f8b6ad2e6dd530a5bfe92bae8557b62a2cbef6096d37f059e.pdf
- 115c4365bead3cd37a75a492f69a906cd4b63cf4c8dffbad751279ca549c2638.pdf
- 689dd4820f8e38e316107ec6bea30b96832d50979825788d95ffe1b4ec92f681.pdf
- da18110ab3eaaa3f8b6ad2e6dd530a5bfe92bae8557b62a2cbef6096d37f059e.pdf
- 79e7ac1636863253e6273a6c5205128f3bc7ad4599022f2dbaf27e920ddc8208.pdf
- da18110ab3eaaa3f8b6ad2e6dd530a5bfe92bae8557b62a2cbef6096d37f059e.pdf
Статистика использования
|
|
Количество обращений: 0
За последние 30 дней: 0 Подробная статистика |
