Исторически такие кейсы были посвящены тому, что камера смотрела на ленту конвейера сверху и распознавала верхний слой, скажем, руды, а состав скрытых слоев предсказывали алгоритмы. В этот раз на технологических участках двух наших клиентов состав было удобнее всего смотреть прямо на месте пересыпа, когда продукция только попадает на конвейер. Это даёт неоспоримые преимущества — мы можем анализировать грансостав как есть, безо всяких скрытых слоев, — но вместе с тем ставит некоторые вызовы. Какие и как мы их решали, расскажем в кейсе.
Отмотать назад: с конвейера на пересып
В 2020 году мы разработали для ERG систему, которая анализирует содержимое конвейера и определяет состав руды в реальном времени. В ходе тестов наши алгоритмы показали точность замеров 98% по сравнению с контрольными ручными рассевами, а решение стало финалистом в OEE Award 2019 в номинации «Искусственный интеллект на производстве».
С камерой над конвейером не нужно было дорабатывать производственную линию — там установить её было удобнее всего. Но приходилось мириться с тем, что на изображения попадал только верхний слой.
Когда ERG обратилась к нам снова, мы предложили установить камеру в том месте, где руда ссыпается с конвейера.
В RDL у нас была шутка про «пересып», мол, находить объекты на пересыпе — это будить заснувших после обеда сотрудников. Но на самом деле пересып — это не послеобеденный сон, а бункер, в котором руда с одного конвейера попадает на другой.
Сложность в том, при падении камни значительно ускоряются и быстрее исчезают из кадра. Поэтому требования к камере возрастают: она должна фиксировать кадры без смазываний, несколько раз в секунду.
После того как были решены все вопросы с установкой оборудования, мы собрали с его помощью датасет, разметили его и начали разработку модели детекции руды. В процессе разработки мы проверили множество гипотез, придумали, как перевести размер объектов на видео к размерам в реальном мире, поэкспериментировали с разными архитектурами моделей и областями интереса — участками кадров, где модель распознает руду.
Результатом этого проекта стала модель, которая способна детектировать размер руды в реальном времени и рассчитывать процентное соотношение фракций. Клиент может проверить корректность данных о распределении руды ручным рассевом.
Для нас этот опыт был хоть и не новым, но большим Proof of Concept, шагом в направлении того, что мы способны определять руду не только при движении по конвейеру.
Но руда большая, это значительно упрощает задачу. Вопрос в том, где располагается аппаратный и софтверный предел, насколько маленькие объекты можно детектировать. Кейс с компанией «Еврохим» даёт на это ответ.
А насколько малые объекты можно находить с помощью камер и ИИ
«Еврохим Северо-Запад» (ООО «ПГ Фосфорит» в городе Кингисепп) производит кормовые добавки (КОФ), разрабатывает и внедряет на производство систему умного советчика.
Апатитовый концентрат вместе с кислотой и добавками проходит через вращающиеся обжиговые печи. Всё, что выходит из печи, называют клинкером. Он делится на два типа: готовая продукция размером менее 1,4 мм и более крупная фракция, требующая дополнительного измельчения в шаровых мельницах.
Клиент хотел увеличить выход готовой продукции, так как она более маржинальна для бизнеса.
После обсуждения с командой «Еврохима» мы выделили две задачи:
1_
Определить фракционный состав всей продукции на выходе из обжиговых печей и находить негабарит (более 2 мм), чтобы умный советчик знал процентное соотношение негабарита к целевой продукции и мог управлять режимами печей по этим данным.
2_
Сразу на выходе из печи узнавать объёмы продукции, так как на предприятии нет возможности измерять объём выхода по каждой печи отдельно.
RDL на пилотном проекте доказала, что может решить обе задачи. Сейчас проект переходит в стадию разработки MVP.
Откуда берётся негабарит
Есть пять обжиговых печей, которые расположены параллельно друг другу. Вся продукция — клинкер — через бункеры попадает на один общий конвейер.
Обычно одновременно в линию включены две-три печи. Если печь работает неоптимально, повышается выход нецелевой фракции. Также могут образовываться кольца нагара, которые способны привести к аварийной остановке, если вовремя ничего с ними не сделать.
Проблема заключается в том, что отследить образование нагара можно только по косвенным признакам, один из которых — повышение выхода крупной фракции (негабаритов).
Чтобы сократить количество внеплановых остановок и время простоя, а также повысить процент выхода целевой фракции КОФ, команда «Еврохим» и решила внедрить умного советчика.
Камера над лентой или прямо на пересыпе — что выбрать
У нас было две гипотезы, которые мы обсуждали с командой «Еврохима»: установить камеру над конвейером и измерять грансостав в лотках или направить её прямо на место пересыпа.
Мы захватили с собой полевой комплект оборудования и поехали на несколько дней на производство, чтобы определиться с расположением камер и снять видео для обучения нейросети.
Какие сложности мы заметили на производстве:
1_
Пересып закрыт шторками, чтобы клинкер не рассыпался мимо лотков конвейера. Но эти же шторки сильно сужают видимую зону и дают тень.
2_
Тёмный фон сливается с продукцией на снимках, нужно научиться их различать.
3_
Лотки имеют скошенную форму и при съёмке сверху тоже дают тень, что влияет на точность распознавания.
4_
Отсек для пересыпа не расположен статично по отношению к видеокамере и перемещается вперёд-назад.
5_
Размеры частиц клинкера, которые необходимо детектировать, всего 2 мм. Это по факту предел, на котором камера с разрешением 2,3 MP ещё способна детектировать объекты.
Получается, что обеим камерам мешает тень, всё движется, а размеры негабарита меньше некуда. Задачка.
Зачем выбирать, если можно не выбирать
На производстве мы остановились на том, что нам нужны две камеры: и на пересыпе, и над лентой.
Дело в самой конструкции производственной линии: печи расположены последовательно над лентой и параллельно друг другу, причем одновременно может работать сразу несколько печей. К какой печи относится продукция на ленте и сколько даёт клинкера на выходе — с единственной камерой непонятно.
Допустим, мы могли бы расположить пять камер над лентой — по одной после каждой печи. Но оставалась проблема со скрытым слоем на ленте, который не попадает в область видимости камеры сверху.
С двумя камерами мы могли проверить максимальное количество гипотез. На пересыпе в рамках пилота использовали камеру Basler acA1920-40gc с разрешением 1920 px × 1200 px и размером матрицы 1/1.2'' дюйма, оснащенную специальной оптикой и глобальным затвором. Для съёмки сверху мы взяли камеру глубины с инфракрасным прожектором Intel RealSance D455.
Proof of Concept
Для этапа Proof of Concept мы обучили две модели на снимках с производства.
Обе модели основаны на нейронной сети TOOD (Task-Aligned One-Stage Object Detection). В этой модели используется современный подход с использованием T-Head (Task-Aligned Head) который объединяет задачи классификации и детекции объектов в один модуль. В классических реализациях детекторов используются отдельные модули (Parallel Head) для реализации задач детекции и классификации.
T-Head строится на основе TAP (Task-Aligned Predictor), который сочетает в себе интерактивные функции и строит прогнозы.
Дополнительно нам нужно было динамически определять рабочую область на пересыпе. Проблема возникала из-за того, что бункер, перемещаясь взад-вперёд, создавал разную область кадра, в которую попадал и фон.
Чтобы отделять объекты от фона, оказалось достаточно обычных черно-белых кадров, а за счёт различных оттенков серого можно определять, насколько близко или далеко находится объект к месту съёмки. Это если говорить о пересыпе.
Своя специфика была и у камеры сверху. Она строит карту глубины, поэтому мы можем из объёма пустого лотка вычесть объём заполненного и получить объём материала. Это даёт понимание производительности каждой печи и помогает оптимизировать их работу.
Если лента с лотками будет проходить не одну печь, а несколько, то из каждого следующего значения объёма мы будем вычитать предыдущее и таким образом узнавать объём на выходе из каждой печи. Именно поэтому мы не можем установить одну камеру после последней печи и получать значение просто на выходе.
В обоих случаях — для камеры сверху и на пересыпе — мы сделали базовый алгоритм расчёта соотношения фракций. Результаты немного расходились из-за того, что более мелкие камни присыпали более крупные, и камера сверху не детектировала габарит.
При усреднении значений с двух камер мы получили результат, максимально похожий на ручной рассев. Даже на этапе пилотного проекта, без какого-либо дообучения моделей.
Взгляд на MVP
При масштабировании нужно учесть несколько моментов:
1_
Так как камера будет установлена довольно далеко от самого пересыпа, для MVP мы возьмем камеру с разрешением 5К и специально подобранным объективом, чтобы определять негабарит размером не больше пяти пикселей — именно такому разрешению соответствует размер в 1,4 мм (в пилотном проекте было 2 мм).
2_
Нужно будет синхронизировать работу камер на всех пяти печах, но, зная скорость движения ленты, это довольно тривиальная задача.
3_
Чтобы свет попадал в зону пересыпа, мы попросили клиента доработать место пересыпа.
В результате
1_
Мы можем рассчитывать объём выхода продукции с использованием камеры глубины и таким образом оценивать производительность печей.
2_
Предсказания по распределению грансостава (от 0 до 2 мм и от 2 и выше) приближены к реальным. При установке стационарных камер и дообучении моделей точность может быть повышена.
3_
Составлен план на MVP и доработку производственной линии под промышленное решение.
Получился очень интересный пилот — команде удалось успешно решить сложную задачу и максимально снизить степень неопределённости, несмотря на все ограничения. Но самое главное и вдохновляющее, что теперь мы готовы взяться за ещё более амбициозную задачу: продолжить работу и воплотить в жизнь MVP промышленной версии сервиса.
***
Над материалом работали:
текст — Стас Звягинцев,
редактор — Виталик Балашов,
иллюстрации — Марина Черникова.