Производство
Python, Машинное зрение
Наш клиент — завод косметической продукции, где используются стеклянные банки. Качество упаковки критично: даже небольшие дефекты могут привести к возврату партии, потерям и ухудшению репутации.
Раньше контроль качества был полностью ручным. Оператор стоял у конвейера, осматривал банки и убирал дефектные вручную. Брак встречался нечасто, но если дефектная банка проходила дальше по линии, это могло привести к серьезным последствиям.
Задачи:
ML Sense — платформа для контроля качества продукции на производствах конвейерного типа. Система анализирует видеопоток в реальном времени, распознает мельчайшие дефекты стеклотары. Входит в Реестр Отечественного ПО.
Как это должно работать:
1. Обследование и замеры.
Мы начали с тщательного обследования производства и замера параметров линии, чтобы точно интегрировать систему. Важно было понять, как камеры и отбраковщик будут работать в условиях реального производства, чтобы интегрировать их без изменений на линии.
2. Разработка системы.
Создали систему с 5 камерами на первом посту (4 боковые и 1 сверху) и 4 камерами на втором посту для полного покрытия. Для внедрения потребовались детализированные чертежи, которые включали установки камер и отбраковщика, с учетом специфики линии и запыленности. Камеры должны были работать в грязных условиях, не мешая процессу.
3. Учет запыленности.
Мы увеличили защитный кожух, добавили вырезы и установили тубус для защиты камер от пыли, сохраняя при этом высокое качество изображений.
4. Сбор датасета и обучение нейросети.
Получили дефектные банки от клиента. Создали макет конвейерной линии у себя в лаборатории. Настроили камеры и освещение для оптимальных условий съемки.
Сделали фотографии с разных ракурсов, разметили дефекты и обучили нейросеть в тестовом режиме.
5. Цикл обучения и улучшений.
Провели несколько сборов дата сета и обучений нейросети на производстве клиента. Мы постоянно тестировали систему, собирали и размечали данные, обучали нейросеть и проверяли точность детекции. Каждый цикл включал улучшение метрик и прогон на производственной линии для точных результатов.
6. Проектирование и разработка отбраковщика.
Спроектировали и построили механизм, который принимает сигнал от ML Sense и удаляет бракованные банки с линии, исключая участие человека.
7. Автоматизация отбора брака.
Интегрировали ML Sense с отбраковщиком. После того как нейросеть выявляет дефект, сигнал идет на светозвуковую колонну и отбраковщик, который механически убирает брак. Вся работа происходит без участия человека, что ускоряет процесс и минимизирует ошибки.
1. Запыленность на линии и защита оборудования.
На линии стоит специальный кожух, который защищает продукцию от пыли. Но для установки вертикальной камеры нам пришлось вырезать отверстие в этом кожухе и дополнительно доработать его, чтобы камеры и банки оставались защищенными, а качество изображений — на высоте. Это было важным шагом, чтобы избежать попадания пыли и гарантировать четкость всех снимков.
2. Требования к освещению и условиям съемки.
Чтобы камеры могли точно фиксировать дефекты, мы всегда тщательно настраиваем освещение на линии клиента. В условиях нестабильного света и возможных отражений на стекле это было не так просто.
3. Разнообразие дефектов.
От клиента мы получили список дефектов, которые нужно было научить нейросеть распознавать: сколы, трещины, наплывы, пузырьки и другие повреждения. Каждый из этих дефектов может проявляться по-разному, поэтому понадобилось собрать датасет из 5 тысяч фотографий с разных ракурсов, чтобы система могла точно и безошибочно различать все типы дефектов.
Процесс стал гораздо быстрее и точнее. На первой точке контроля установлено пять камер: четыре под углом 90 градусов и одну сверху. На второй точке контроля добавили еще четыре камеры, которые проверяют банки после их наполнения и упаковки.
Каждая камера передает видеопоток в систему ML Sense, которая анализирует картинку и выявляет дефекты. Как только нейросеть находит брак, она подает сигнал на светозвуковую колонну и отбраковщик, который автоматически удаляет дефектную банку.
Ключевые показатели:
Экономический эффект:
Видеоаналитика и хранение данных: Python, C++, OpenCV, сверточные нейронные сети, YOLOv5, YOLOv8, YOLOv10, PostgreSQL, Flask.
Интерфейс оператора: React.