Стажировка по проекту
Создание системы распознавания взрывоопасных предметов для перегружателей металлического лома
Компания: ООО «ПМХ-Втормет»



Суть проекта
Задача
Для чего
Вводные данные
Создание надежной и точной системы компьютерного зрения для выявления визуально опасных объектов на перегружателе лома, обеспечивающей безопасность и удобство работы оператора
  • Датасет, состоящий из 2000 изображений визуально опасных объектов, снятых на мобильные устройства
  • Используемые технологии: YOLO v8, Label Studio, PyQt6, OpenCV
  • Обученная и протестированная модель YOLO для детекции ВОП
  • Разработанное десктопное приложение на PyQt6 с возможностью мониторинга и обработки видеопотоков в реальном времени.
  • Полностью размеченный и подготовленный к обучению и тестированию датасет


Выходные данные



Снижение риска пропуска визуально опасных объектов, улучшение безопасности производственного процесса, а также повышение точности и скорости работы оператора
Проект «Втормет» продемонстрировал успешное взаимодействие команды, высокую вовлеченность стажёров и их готовность решать сложные задачи
Особо выделяются заслуги Олега Шамаева, Алексея Герасимова и Зорислава Выймова, чьи усилия были решающими для успешной реализации проекта. Прогресс проекта создаёт прочную основу для дальнейшего развития и совершенствования системы, позволяя интегрировать её в реальные производственные условия

результат
Участники
1 команды проекта
  • Терещенко алексей
    Тимлид проекта
  • коваленко сергей
    Помощник тимлида
  • шамаев олег
    Занимается внедрением AI в электротехнической компании
    1. Разметка датасета с использованием инструмента Label Studio
    2. Проведение экспериментов по обучению модели YOLOv8-OBB (Oriented Bounding Box)
    3. Разработка десктопного приложения на фреймворке PyQt6:
    • трансляция четырех видеопотоков,
    • вкладка для настройки параметров,
    • выбор области для детекции и исключение определенных зон из процесса детекции,
    • запись результатов детекции в базу данных или файл
  • герасимов алексей
    1. Взял на себя всю работу по созданию и обучению моделей YOLO для задачи сегментации ВОП
    2. Провёл серию экспериментов с обучением моделей, разработал и внедрил оптимизированные методы предобработки и аугментации данных, что значительно повысило точность детекции и общую производительность системы
    3. Экспертиза в области машинного обучения, в частности, глубоких нейронных сетей и методов компьютерного зрения, а также умение решать сложные технические задачи стали ключевыми факторами успешной реализации проекта
  • выймов зорислав
    Бинес-аналитик
    1. Провёл анализ и сортировку датасета по предполагаемым классам объектов
    2. Установил и освоил Label Studio для разметки данных
    3. Выполнил ручную разметку 1/3 датасета объектов заданных классов (ОВВ)
    4. Разработал Python-скрипт для конвертации разметки из JSON в формат для обучения YOLOv8 и автоматической подготовки данных
    5. Обучил модель YOLO для детекции опасных предметов, предназначенную для авторазметки оставшейся части датасета
    6. Автоматически разметил 2/3 датасета с помощью обученной модели и провёл проверку и коррекцию
    7. Создал Python-скрипт для объединения данных в коллажи для улучшения условий обучения модели на удалённых объектах
  • любарский сергей
    Предприниматель, CEO, CTO
    1. Изучил техническое задание и разработал собственный вариант архитектуры решения
    2. Разметил 200 снимков Взрывоопасных предметов (ВОП) — часть набора данных для обучения нейросети
    3. Разработал и протестировал модуль на Python с использованием PyQt6 для сегментации ВОП на базе модели YOLOv8
    4. Предложил несколько альтернативных методов приведения набора данных в соответствие с требованиями технического задания заказчика
    5. Участвовал в командной работе над проектом
  • валеев рамиль
    Менеджер, направление нефтехимия
    1. Разметка датасета заказчика:
    •    Ручная разметка данных
    •    Автоматическая разметка с использованием нейросети, обученной на ручной разметке
    2. Разработка функций для работы с датасетом:
    •    Визуальная проверка качества разметки, слияние данных, разделение на наборы, автоматическое создание YAML файла для YOLO
    •    Подсчёт и визуализация сбалансированности классов для задач Object Detection
    •    Функция реализующая метод аугментации «мозаикой» с возможностью выбора произвольного размера выходного файла и настраиваемыми параметрами коллажа
    3. Тестовые обучения сетей YOLO OBB
  • вавилов антон
    Sales Engineer в компании SMC
    1. Собрал и разметил датасет в Label Studio
    2. Обучил модель Yolov8
    3. Подготовил итоговую презентацию
Участники
2 команды проекта
  • Белоус Павел
    Тимлид проекта
  • Кравченко Дмитрий
    Помощник тимлида
  • Савченко Даниил
    Программист ГАУК ЗК «Филармония»
    1. Подготовка скрипта для поиска изображений в яндекс картинках для обогащения датасета
    2. Разметка при помощи Cvat
    3. Разработка десктопных утилит: утилита конвертации BB в OBB с помощью сегментации SAM, утилита сравнения аннотаций датасетов, парсер похожих изображений на изображение датасета, утилита создания аннотированых мозаик
    4. Провел серию сравнимых экспериментов как в ручную так и с использованием Optuna для поиска наилучших гиперпараметров
    5. Обучил модель YOLOv8 для детекции взрывоопасных предметов
    6. Разработал скрипт для разделения видео на части мозаики для наилучшего детектирования объектов
  • Хвоинская Елена
    Ведущий инженер-программист АО «Концерн «Автоматика»
    1. Участие в сборке и датасета из открытых источников, в подготовке тестового набора данных
    2. Разметка при помощи Cvat                      
    3. Подбор оптимальных гиперпараметров с помощью Optuna                                          
    4. Адаптация сторонних датасетов
    5. Подготовка скриптов предобработки данных
    6. Подготовка скрипта перевода аннотаций из формата YOLO1.1(BB) в формат YOLO OBB
    7. Тестирование различных вариантов обучения и дообучения с целью повышения метрик точности модели
  • Волохов Александр
    Инженер-исследователь, директор компании
    1. Участие в сборке и датасета из открытых источников, в подготовке тестового набора данных
    2. Разметка при помощи Cvat
    3. Подготовка скриптов предобработки и постобработки данных
    4. Эксперименты по обучению YOLOv8
    5. Оптимизация гиперпараметров выбранной Yolo с помощью Optuna
  • Аборкин Павел
    Специалист МосИнстУправл
    1. Участие в сборке и датасета из открытых источников, в подготовке тестового набора данных
    2. Разметка при помощи LabelImage
    3. Подготовка скриптов предобработки и постобработки данных
    4. Обучение и тестирование различных моделей YOLOv8 на разных вариантах датасета (дополненные классы, и т.п.)
  • Каштанов Никита
    Менеджер по продажам и логистики в нерудной компании
    1. Поиск изображений для обогащения датасета
    2. Разметка при помощи Cvat
    3. Подбор оптимальных гиперпараметров с помощью Optuna
    4. Адаптация сторонних датасетов
    5. Подготовка скриптов предобработки данных
    6. Использование нативных библиотек для детекции отдаленных объектов
  • Солошенко Сергей
    Животновод
    1. Установка Docker, установка программ разметки CVAT, Label Studio, Label Img, сравнение функционала и удобства использования под нашу задачу
    2. Разметка части датасета в CVAT
    3. Обучение и тестирование различных моделей YOLOv8 на разных вариантах датасета (дополненные классы, и т.п.)
    4. Подбор оптимальных гиперпараметров с помощью Optuna, сравнение со встроенным методом от ultralytics .tune()
    5. Тестирование различных вариантов обучения и дообучения с целью повышения метрик точности модели
    6. Подготовка сриптов предобработки и постобработки данных
    7. Подготовка скрипта с предсказанием в несколько потоков
  • Надич Денис
    Оператор-фактуровщик
    1. Дополнил и вручную разметил часть датасета в CVAT
    2. Разработал Python-скрипт на соответствие аннотаций изображениям
    3. Провел серию экспериментов с использованием библиотеки Optuna по обучению модели на предобученной YOLOv8
  • Голдобина Влада
    SQA, System Testing, Customer Support
    1. Участие в сборке и датасета из открытых источников, в подготовке тестового набора данных
    2. Разметка при помощиLabelStudio
    3. Эксперименты по обучению YOLOv8