Внедрение системы автоматической сортировки природных минералов
Суть предложения - заменить ручной отбор и субъективную оценку на стабильную автоматическую классификацию по визуальным признакам с обратной связью в MES/SCADA, чтобы снизить долю ошибочной партии и ускорить поток на линии.
Введение
Заказчик обрабатывает природное сырьё непрерывным потоком: партии неоднородны по фактуре, цвету и включениям. Операторы не успевают выдерживать единый стандарт при сменах и пиковых нагрузках, а ручной контроль даёт расхождения в классификации между сменами.
Мы спроектировали и внедрили конвейерное решение на базе компьютерного зрения и машинного обучения: камеры и освещение согласованы с требованиями материала, инференс работает на площадке заказчика, решения сортировки уходят в исполнительные механизмы без остановки линии.
Боль - запрос
Ожидания со стороны производства:
- Стабильное качество классификации 24/7, сопоставимое между сменами.
- Снижение доли ошибочно отбракованного и ошибочно пропущенного сырья.
- Прозрачные метрики и трассируемость решений для отдела качества.
- Интеграция с существующим контуром автоматизации без «ломки» процесса.
Описание проекта
На этапе пилота зафиксировали эталонные критерии классов, собрали репрезентативный датасет с разметкой, настроили аугментации под реальные условия пыли, вибраций и изменения освещенности. Затем развернули инференс на edge-устройствах рядом с линией, настроили мониторинг дрейфа данных и переобучение по мере накопления новых партий.
- Машинное обучение. Классификация и ранжирование по многомерным признакам, контроль качества модели на проде.
- Компьютерное зрение. Подбор оптики, калибровка цвета, устойчивость к бликам и частичному перекрытию объектов.
- Интеграция систем. Обмен сигналами с PLC/MES, журналирование решений, роли доступа для персонала.
- Оптимизация процесса. Настройка порогов и маршрутизации потоков под KPI заказчика.
Почему задача не решается «камерой с нейросетью»
Сортировка природного сырья отличается от привычных задач распознавания тем, что эталона у класса нет. Два куска одной категории могут выглядеть по-разному сильнее, чем куски соседних категорий: различаются влажность поверхности, налипшая пыль, угол скола, доля включений. Модель, обученная на «красивых» кадрах из лаборатории, на линии начинает ошибаться в первые же часы.
Второе отличие - цена ошибки несимметрична. Пропущенный в товарную фракцию брак обходится дороже, чем лишний кусок, ушедший в отвал, но и отвал не бесплатен: туда уходит оплаченное сырьё. Поэтому решение настраивается не на «максимальную точность» вообще, а на конкретный баланс двух ошибок, который считает экономика заказчика.
Третье - линия не останавливается. Систему нельзя внедрить «в окно»: она должна подключаться параллельно существующему процессу, доказывать себя в режиме наблюдения и только потом получать право управлять исполнительными механизмами.
Съёмочный узел: свет важнее камеры
Основную часть работы на площадке занял не подбор модели, а постановка съёмки. На конвейере с движущимся потоком изображение портят три вещи: смаз от скорости ленты, блики на влажной поверхности и дрейф цветовой температуры при смене внешнего освещения в течение суток.
- Освещение. Собственный стабилизированный источник вместо цехового света: спектр и яркость не зависят от времени суток и состояния ламп в цехе. Рассеиватели и поляризация гасят блики на мокром материале.
- Выдержка и синхронизация. Короткая выдержка убирает смаз, съёмка синхронизирована с движением ленты - каждый объект попадает в кадр целиком и один раз, без двойного счёта на стыке кадров.
- Геометрия. Фиксированное расстояние и угол, калибровочная мишень в кадре. Пересчёт пикселей в миллиметры позволяет считать размерные признаки, а не только цветовые.
- Защита узла. Кожух с обдувом: в запылённом цехе незащищённая оптика теряет прозрачность за смену, и модель начинает деградировать без единого изменения в коде.
Калибровочная мишень осталась в кадре и после запуска: по ней система сама замечает, что стекло загрязнилось или свет ушёл, и предупреждает до того, как это отразится на качестве сортировки.
Данные и разметка
Датасет собирали на самой линии, а не в лаборатории: только так в обучающую выборку попадают реальные состояния материала. Отдельно набирали редкие случаи - именно на них модель ошибается чаще всего, а в случайной выборке их почти нет.
- Эталоны классов зафиксированы вместе с отделом качества до начала разметки: письменный критерий и набор опорных примеров на каждый класс.
- Спорные объекты размечались независимо двумя разметчиками; расхождения разбирал технолог заказчика. Доля расхождений сама по себе оказалась полезной метрикой - она показала, где критерий класса сформулирован нечётко.
- Аугментации подбирались под реальные помехи цеха - пыль, вибрация, изменение освещённости, частичное перекрытие соседними кусками, - а не по стандартному набору.
- Выборка для проверки собрана из партий, которых не было в обучении: иначе метрика показывает память модели, а не её способность работать на новом сырье.
Инференс на площадке
Распознавание работает на сервере внутри периметра заказчика, рядом с линией. Решение принималось не из соображений приватности, а из требований к задержке и надёжности: сигнал на исполнительный механизм должен успеть за время, пока объект проезжает от камеры до отсекателя, и линия не должна вставать из-за проблем с внешним каналом связи.
Конфигурацию железа считали до закупки, исходя из скорости ленты и требуемого запаса по производительности. Видео за пределы сети не уходит: наружу отдаются только события и агрегированные метрики.
- Обработка потока. Кадр, детекция объектов, классификация, решение о маршрутизации - в одном конвейере с фиксированным бюджетом времени на объект.
- Отказоустойчивость. При недоступности модели линия переходит в прежний режим работы, а не останавливается: система деградирует до состояния «до внедрения», и это штатный сценарий.
- Журнал решений. Каждое решение сохраняется с кадром и уверенностью модели. Спорную партию можно поднять и разобрать постфактум - без этого отдел качества не может защитить результат перед клиентом.
Интеграция с линией
Систему подключали в три шага, и каждый следующий начинался только после того, как предыдущий отработал на реальном потоке.
- Наблюдение. Система смотрит на линию и пишет решения в журнал, ничем не управляя. Её выводы сравниваются с решениями операторов - это и есть замер базовой линии, от которой потом считается эффект.
- Подсказка. Решения выводятся оператору, но исполняет их по-прежнему человек. На этом шаге вылавливаются сценарии, о которых не подумали на пилоте.
- Управление. Система управляет отсекателями сама, у оператора остаётся возможность вмешаться и отменить решение. Каждое вмешательство записывается и уходит в обучающую выборку.
Обмен с контуром автоматизации идёт сигналами с PLC и записями в MES: смена, партия, распределение по классам, отбраковка. Для отдела качества это привычные отчёты в уже существующей системе, а не ещё один интерфейс, в который надо заходить отдельно.
Как принимали работу
Стопроцентной точности мы не обещаем - её не бывает ни у системы, ни у оператора. Вместо этого метрика приёмки фиксируется до старта работ и проверяется на отложенной выборке, собранной по той же методике, что и базовая линия.
- Допустимые доли пропусков и ложных срабатываний записаны раздельно: на этой задаче дороже пропустить брак, поэтому баланс смещён в сторону перестраховки.
- Замер до и после снимается по одной методике. Если методика меняется по дороге, сравнение теряет смысл - это первое, о чём договариваются на аудите.
- Результат считается на партиях, которых модель не видела: точность на знакомом сырье ничего не говорит о поведении на новом.
- Отдельно фиксируется доля объектов, по которым модель не уверена и передаёт решение человеку. Это не ошибка системы, а её штатное поведение, и её долю тоже нужно согласовать заранее.
Эксплуатация: почему проект не заканчивается запуском
Сырьё меняется. Новое месторождение, другая влажность, сезонная смена поставщика - и распределение данных уезжает от того, на котором училась модель. Внешне это выглядит как «система стала хуже работать», хотя в ней ничего не менялось.
Поэтому вместе с моделью на площадке работает мониторинг: система следит за распределением признаков и уверенностью решений и сообщает, когда картина перестаёт походить на обучающую. Это сигнал добрать данные и переобучить, а не ждать жалобы от производства.
- Контроль дрейфа. Сравнение текущего распределения с обучающим, предупреждение до падения качества, а не после.
- Дообучение по накоплению. Новые партии и вмешательства операторов пополняют выборку; переобучение проходит ту же приёмку, что и первая версия.
- Версионирование. У каждой модели на линии есть версия и отчёт о приёмке; откат на предыдущую - штатная операция, а не аварийная.
Общая длительность проекта - около 24 месяцев (пилот, промышленное внедрение, доработки по обратной связи с производством).
Команда
- 1 project manager
- 1 team lead (data science)
- 2 ML-инженера
- 2 back-end разработчика
Ориентировочный порядок бюджета реализации - обсуждается индивидуально под объём интеграций и требования к SLA (типовой диапазон для проектов такого класса - десятки тысяч USD).
Ключевой результат для заказчика - предсказуемое качество сортировки при росте потока и снижение зависимости от субъективных решений оператора; метрики фиксируются в отчётах и доступны для аудита.
Подробнее о подходе к промышленным внедрениям - в разделе «Видеоаналитика и компьютерное зрение».




