BashGU
Electronic Library

     

Details

Нигматзянов, Наиль Азатович. Применение искусственного интеллекта в сфере промышленной безопасности и охраны труда: технологии компьютерного зрения для мониторинга средств индивидуальной защиты (проектный): выпускная квалификационная работа по программе бакалавриата. Направление подготовки (специальность): 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>. — Текст: электронный

Record create date: 10/31/2025

Subject: ВКР; бакалавриат; компьютерное зрение; YOLO; промышленная безопасность; средства индивидуальной защиты; автоматизированный мониторинг использования; программное приложение

Collections: Квалификационные работы бакалавров и специалистов; Общая коллекция

Allowed Actions:

*^% Action 'Read' will be available if you login and work on the computer in the reading rooms of the Library

Group: Anonymous

Network: Internet

Document access rights

Network User group Action
Library BashGU Local Network Authenticated users Read
Library BashGU Local Network All
Internet Authenticated users Read
-> Internet All

Table of Contents

  • 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
        • СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ
        • СЛОВАРЬ ТЕРМИНОВ
        • ПРИЛОЖЕНИЯ
  • 115c4365bead3cd37a75a492f69a906cd4b63cf4c8dffbad751279ca549c2638.pdf
  • 689dd4820f8e38e316107ec6bea30b96832d50979825788d95ffe1b4ec92f681.pdf
    • da18110ab3eaaa3f8b6ad2e6dd530a5bfe92bae8557b62a2cbef6096d37f059e.pdf
      • 79e7ac1636863253e6273a6c5205128f3bc7ad4599022f2dbaf27e920ddc8208.pdf

Usage statistics

stat Access count: 0
Last 30 days: 0
Detailed usage statistics