Как ИИ работает даже в зоне взрывных работ
Чтобы добыть железную руду, породу в карьере нужно рызрыхлить. В карьере СГОКа (Стойленского горно-обогатительного комбината) делается это с помощью буровзрывных работ. Полученную после взрыва горную массу нужно погрузить в карьерный самосвал, а потом в вагон-думпкар и отправить на обогатительную фабрику.
Казалось бы, что может быть проще — черпай себе экскаватором да высыпай. А вот нет — тут легко допустить перегруз или же, наоборот, недогруз. Даже если средние показатели в норме, из-за таких вот «небольших» погрешностей мы на круг недовозили на фабрику 2–3% породы в сравнении с учетной нормой. Приходилось запускать дополнительные рейсы. Перегруз еще и опасен для транспорта — он повышает износ деталей и расход топлива, увеличивает риск выпадения кусков породы из вагона или кузова.
Мы на НЛМК очень любим ИИ, математические модели и прочие нейросети — вот их и взяли, чтобы повысить эффективность транспортировки железной руды с карьера на фабрику.
Зачем нам на СГОКе искусственный интеллект
Итак, как я уже сказала, при погрузке породы легко перегрузить или недогрузить транспорт. Как же найти баланс?
При оценке эффективности процесса транспортировки с точки зрения экономики мы опираемся на очень важный параметр — коэффициент использования грузоподъёмности. Наша цель — коэффициент загрузки транспорта 100%. Основной экономический эффект в этом случае мы получаем за счет экономии электроэнергии для железнодорожного транспорта и дизельного топлива для автомашин.
К тому же, правильная загрузка существенно снижает износ техники. Смещение груза на один борт кузова может стать причиной нештатной работы двигателя, повышенного износа и расхода топлива.
Решение задач с помощью ИИ для нас не в новинку, поэтому к проверке погрузки самосвалов и вагонов мы тоже подошли технологично. Избежать нештатных ситуаций и повысить эффективность грузоперевозок нам помогает цифровой сервис.
Yet another нейросеть для НЛМК
В качестве решения мы видели некую систему на базе машинного зрения, которая будет оценивать качество загрузки железной руды, сравнивая его с «паспортом загрузки» — документом, где указаны нормативные значения по заполнению транспорта — и выдавать корректирующие рекомендации для специалистов СГОКа.
Контроль должен производиться во всех местах погрузки: в карьере, где автосамосвалы забирают сырье, и на железнодорожной станции, где породу загружают в думпкары.
Проект реализовывали по довольно привычной для нас схеме:
проектирование решения и оценка экономического эффекта;
подбор и монтаж оборудования (видеокамеры, сервера, компьютеры и т.д);
сбор данных;
разметка и тренировка нейросети;
тестирование;
доработка алгоритмов нейросети;
разработка backend-сервисов и интеграция с системами НЛМК;
масштабирование системы на другие стационарные точки.
Установка видеооборудования и сбор данных
Для проверки гипотезы мы взяли простенькие камеры GoPro с «рыбьим глазом», изучили условия, учли ракурсы и определили, что попадет в кадр. Однако фишаи неиллюзорно искажали изображение — его приходилось исправлять программным способом, поэтому от этих объективов мы отказались практически сразу.
Обратите внимание: картинка сильно изогнута по краям — это все фишай
Оборудование подбиралось с учетом того, что в карьере довольно агрессивные условия — летом жарко, а зимой холодно, да и зона взрывных работ как никак.
Чтобы ускорить процесс и точность подбора техники, специалист по 3D смоделировал копию стационарной точки — на модели отрабатывали функционал нейросети. Подобрали конфигурацию камер без выездов «в поле». Кроме того, такая модель позволила «переключаться» между днём и ночью, чтобы оценить качество изображения.
Вот он, карьер на горизонте…
Все камеры стоят в зоне взрывных работкарьера. Поэтому используем влагозащищенные камеры Hikvision и инфракрасную камеру глубины Intel RealSense D40055. Для защиты камер от пыли, грязи и экстремальных температур оборудование поместили в телекоммуникационные шкафы, которые нередко используют сотовые операторы. Так как Intel RealSense В 40055 не предназначена для работы на улице, ее поместили в кастомный алюминиевый корпус.
Подготовка данных и обучение модели
Итак, с оборудованием «в полях» разобрались — переходим к самому интересному.
Сердце, а точнее, мозг нашего цифрового сервиса — нейросеть. Чтобы эта нейросеть могла действительно эффективно решать поставленную задачу, ее нужно обучить. Для обучения нам нужен был «материал» — размеченные изображения.
Разметка — процесс довольно длительный и монотонный. На разметку и валидацию одного изображения уходило от 30 до 60 минут. Для повышения стабильности работы нейросети использовали синтетические данные. Говоря простыми словами, взяли 3D-модель думпкара и написали скрипт, который рандомно генерировал случаи ненадлежащей погрузки — перегруз, недогруз, негабарит.
Процедурно сгенерированная руда для нейросети
При этом синтетические данные не только быстро генерировались — на один кадр уходило минуты две —, но и выходили уже размеченными. При необходимости можно было запустить непрерывную генерацию на нескольких машинах.
Стек технологий
В качестве формата разметки выбрали COCO. В качестве корневой технологии — фреймворк Detectron2 от Facebook для работы с machine learning. У используемой Instance Segmentation есть недостатки — она плохо работает с мелкими объектами, но у нас на точках все объекты довольно таки большие, поэтому этот минус оказался для нас абсолютно несущественным. Нейросеть хорошо справляется с задачей.
Для усреднения результатов предсказания между кадрами был разработан отдельный алгоритм. Он помогает получать усредненную информацию о перевозимой породе и устраняет случайные артефакты.
Кроме того, в сервис интегрированы цифровые линейки, которые переводят расстояние из пикселей в метры.
Обучение проходило в два этапа:
Обучили нейросеть на 1000 фото, добавили немного «синтетики» — получили рабочую модель.
Прогнали нейросеть по еще одному сету размеченных вручную кадров — получили улучшенную модель.
Для запуска MVP и «боевого» тестирования этого было достаточно.
Как работает сервис сейчас
Расскажем на примере ж/д. На пути смотрят три камеры:
Первая — на столбе — смотрит вниз, прямо на вагон с рудой. Изображение с нее уходит на сервер и обрабатывается: алгоритмы фиксируют отступы по краям и оценивают равномерность погрузки. Требования по отступам указаны в «паспорте загрузки» — это помогает избежать инцидентов со скатыванием камней с думпкара во время транспортировки породы.
Вторая камера снимает горку отгруженной железной руды. Она помогает найти физический центр массы и определить, правильно ли загружен вагон, нет ли перекоса.
Это красивая моделька
А это уже наша реализация
Третья камера (инфракрасная) анализирует объем — создает профиль поверхности, благодаря которому алгоритм определяет высоту пика горки с погрешностью до десяти сантиметров. Кстати, именно благодаря этой камере система может определять вес. Работает это следующим образом. Поскольку профиль и геометрия кузова нам известна, для расчета объема достаточно несложных математических операций. Зная, что за порода погружена в вагон и какого она объема, мы можем узнать ее массу — для этого нужно плотность умножить на объём.
Вот система определила негабарит в вагоне, он обведен красным на отдельной выноске. Синее поле — это карта глубины: чем ярче цвет, тем меньше глубина насыпи. Третья картинка — это центровка груза. Синяя линия показывает центр массы, а красная центр думпкара.
Чтобы наши камеры всегда видели четко, на точке установлены прожекторы на 72 000 люменов — прямо как на стадионах. Отдельная сложность с таким светом была на автодороге: водители сразу стали жаловаться на то, что он мешает и слепит при езде. Поэтому мы сразу сделали донастройку, чтобы свет был четко направленным.
Благодаря такому освещению изображение получается четким даже в самое темное время суток. Камеры в real time передают видео на сервер, где его обрабатывают алгоритмы. Для автономной работы системы на объекте установлен мини-компьютер и подведено питание.
Примерно такая же схема установки оборудования на автодороге.
Тут установлены 3 камеры: сверху камера, которая смотрит в кузов, передает информацию о отступах насыпи от бортов кузова и негабаритах + камера глубины. Камера на столбе считывает номера самосвалов и профиль насыпи. А в «шкафу» ниже стоит мини ПК, который управляет камерой глубины.
Сорри, погодка была не очень)
Так было на модели.
А вот оно работает.
Что умеет система сегодня
Сейчас система может оценивать не только процент загрузки самосвалов и думпкаров, но и ее правильность, т.е. сравнивать качество загрузки с «паспортом загрузки». Система определяет расстояния, такие как отступы загруженной породы от бортов карьерных самосвалов, количество и размер негабаритных кусков и сравнивает с указанными в паспорте.
Тут на модели мы видим, что самосвал загружен неверно, есть риск высыпания породы.
А так в реальной системе. На верхнем поле видим негабарит + некорректная загрузка, т.к. не соблюдён отступ от края кузова до насыпи (отступ должен быть минимум 30 см.) Зеленое поле — карта глубины насыпи.
Это позволяет оповестить о возможных проблемах машиниста экскаватора и своевременно скорректировать нагрузку. Если что-то корректировать поздно — можно оповестить о возможных рисках водителя самосвала или машиниста тягового агрегата. Они аккуратно транспортируют неправильно загруженный транспорт и смогут избежать нештатных ситуаций.
Подводим итоги
В прошлом году мы сделали прогноз и определили ожидаемые эффекты сервиса на конец 2022 года.
Итак, что получилось сделать:
снизить расход топлива для самосвалов на 1% и электричества для думпкаров на 6,5%;
увеличить объем перевозимой руды на 1–2% за счет достижения параметров паспортной загрузки транспортных средств;
сократить количество поломок карьерных самосвалов и думпкаров;
определять негабариты ещё до попадания на обогатительную фабрику, что позволяет исключить простои дробилки крупного дробления — зная, что на дроблении будет негабарит, оператор может принять оптимальное решение и предотвратить забутовку дробилки.
Планы на будущее
В будущем мы планируем еще раз обучить модель с учетом нового оборудования — доукомплектовать каждую точку контроля лидарами, а также связать этот цифровой сервис с системами СГОКа и автоматически передавать машинистам экскаваторов, тяговых агрегатов и водителям самосвалов информацию о загрузках.
Поскольку сервис успешно себя продемонстрировал и доказал свою эффективность, мы планируем масштабировать его на другие точки, чтобы покрыть весь трафик перевозок.