Чтобы добыть железную руду, породу в карьере нужно рызрыхлить. В карьере СГОКа (Стойленского горно-обогатительного комбината) делается это с помощью буровзрывных работ. Полученную после взрыва горную массу нужно погрузить в карьерный самосвал, а потом в вагон-думпкар и отправить на обогатительную фабрику.
![](https://habrastorage.org/getpro/habr/upload_files/9fa/fe2/b7d/9fafe2b7d337d26638b35587970d0bb5.png)
Казалось бы, что может быть проще — черпай себе экскаватором да высыпай. А вот нет — тут легко допустить перегруз или же, наоборот, недогруз. Даже если средние показатели в норме, из-за таких вот «небольших» погрешностей мы на круг недовозили на фабрику 2-3% породы в сравнении с учетной нормой. Приходилось запускать дополнительные рейсы. Перегруз еще и опасен для транспорта — он повышает износ деталей и расход топлива, увеличивает риск выпадения кусков породы из вагона или кузова.
Мы на НЛМК очень любим ИИ, математические модели и прочие нейросети – вот их и взяли, чтобы повысить эффективность транспортировки железной руды с карьера на фабрику.
Зачем нам на СГОКе искусственный интеллект
Итак, как я уже сказала, при погрузке породы легко перегрузить или недогрузить транспорт. Как же найти баланс?
При оценке эффективности процесса транспортировки с точки зрения экономики мы опираемся на очень важный параметр — коэффициент использования грузоподъёмности. Наша цель — коэффициент загрузки транспорта 100%. Основной экономический эффект в этом случае мы получаем за счет экономии электроэнергии для железнодорожного транспорта и дизельного топлива для автомашин.
К тому же, правильная загрузка существенно снижает износ техники. Смещение груза на один борт кузова может стать причиной нештатной работы двигателя, повышенного износа и расхода топлива.
Решение задач с помощью ИИ для нас не в новинку, поэтому к проверке погрузки самосвалов и вагонов мы тоже подошли технологично. Избежать нештатных ситуаций и повысить эффективность грузоперевозок нам помогает цифровой сервис.
Yet another нейросеть для НЛМК
В качестве решения мы видели некую систему на базе машинного зрения, которая будет оценивать качество загрузки железной руды, сравнивая его с «паспортом загрузки» — документом, где указаны нормативные значения по заполнению транспорта — и выдавать корректирующие рекомендации для специалистов СГОКа.
Контроль должен производиться во всех местах погрузки: в карьере, где автосамосвалы забирают сырье, и на железнодорожной станции, где породу загружают в думпкары.
Проект реализовывали по довольно привычной для нас схеме:
проектирование решения и оценка экономического эффекта;
подбор и монтаж оборудования (видеокамеры, сервера, компьютеры и т.д);
сбор данных;
разметка и тренировка нейросети;
тестирование;
доработка алгоритмов нейросети;
разработка backend-сервисов и интеграция с системами НЛМК;
масштабирование системы на другие стационарные точки.
Установка видеооборудования и сбор данных
Для проверки гипотезы мы взяли простенькие камеры GoPro с «рыбьим глазом», изучили условия, учли ракурсы и определили, что попадет в кадр. Однако фишаи неиллюзорно искажали изображение — его приходилось исправлять программным способом, поэтому от этих объективов мы отказались практически сразу.
![Обратите внимание: картинка сильно изогнута по краям — это все фишай Обратите внимание: картинка сильно изогнута по краям — это все фишай](https://habrastorage.org/getpro/habr/upload_files/16a/3d9/4d6/16a3d94d6830da66b122dcac8d4e7050.png)
Оборудование подбиралось с учетом того, что в карьере довольно агрессивные условия — летом жарко, а зимой холодно, да и зона взрывных работ как никак.
Чтобы ускорить процесс и точность подбора техники, специалист по 3D смоделировал копию стационарной точки – на модели отрабатывали функционал нейросети. Подобрали конфигурацию камер без выездов «в поле». Кроме того, такая модель позволила «переключаться» между днём и ночью, чтобы оценить качество изображения.
![Вот он, карьер на горизонте… Вот он, карьер на горизонте…](https://habrastorage.org/getpro/habr/upload_files/f61/1d9/c78/f611d9c78344a04693bafc83dedc8eb0.png)
Все камеры стоят в зоне взрывных работ карьера. Поэтому используем влагозащищенные камеры Hikvision и инфракрасную камеру глубины Intel RealSense D40055. Для защиты камер от пыли, грязи и экстремальных температур оборудование поместили в телекоммуникационные шкафы, которые нередко используют сотовые операторы. Так как Intel RealSense D 40055 не предназначена для работы на улице, ее поместили в кастомный алюминиевый корпус.
Подготовка данных и обучение модели
Итак, с оборудованием «в полях» разобрались — переходим к самому интересному.
Сердце, а точнее, мозг нашего цифрового сервиса — нейросеть. Чтобы эта нейросеть могла действительно эффективно решать поставленную задачу, ее нужно обучить. Для обучения нам нужен был «материал» — размеченные изображения.
Разметка — процесс довольно длительный и монотонный. На разметку и валидацию одного изображения уходило от 30 до 60 минут. Для повышения стабильности работы нейросети использовали синтетические данные. Говоря простыми словами, взяли 3D-модель думпкара и написали скрипт, который рандомно генерировал случаи ненадлежащей погрузки — перегруз, недогруз, негабарит.
![Процедурно сгенерированная руда для нейросети Процедурно сгенерированная руда для нейросети](https://habrastorage.org/getpro/habr/upload_files/385/096/5f3/3850965f3cd06b331ef27cb22b830f76.png)
При этом синтетические данные не только быстро генерировались — на один кадр уходило минуты две — но и выходили уже размеченными. При необходимости можно было запустить непрерывную генерацию на нескольких машинах.
Стек технологий
В качестве формата разметки выбрали COCO. В качестве корневой технологии — фреймворк Detectron2 от Facebook для работы с machine learning. У используемой Instance Segmentation есть недостатки — она плохо работает с мелкими объектами, но у нас на точках все объекты довольно таки большие, поэтому этот минус оказался для нас абсолютно несущественным. Нейросеть хорошо справляется с задачей.
Для усреднения результатов предсказания между кадрами был разработан отдельный алгоритм. Он помогает получать усредненную информацию о перевозимой породе и устраняет случайные артефакты.
Кроме того, в сервис интегрированы цифровые линейки, которые переводят расстояние из пикселей в метры.
Обучение проходило в два этапа:
Обучили нейросеть на 1000 фото, добавили немного «синтетики» — получили рабочую модель.
Прогнали нейросеть по еще одному сету размеченных вручную кадров — получили улучшенную модель.
Для запуска MVP и «боевого» тестирования этого было достаточно.
Как работает сервис сейчас
Расскажем на примере ж/д. На пути смотрят три камеры:
Первая — на столбе — смотрит вниз, прямо на вагон с рудой. Изображение с нее уходит на сервер и обрабатывается: алгоритмы фиксируют отступы по краям и оценивают равномерность погрузки. Требования по отступам указаны в «паспорте загрузки» — это помогает избежать инцидентов со скатыванием камней с думпкара во время транспортировки породы.
Вторая камера снимает горку отгруженной железной руды. Она помогает найти физический центр массы и определить, правильно ли загружен вагон, нет ли перекоса.
![Это красивая моделька Это красивая моделька](https://habrastorage.org/getpro/habr/upload_files/701/fd5/b8e/701fd5b8eb963147523b174d2851578f.png)
![А это уже наша реализация А это уже наша реализация](https://habrastorage.org/getpro/habr/upload_files/0b5/957/f1e/0b5957f1edd9417172ae64648576877d.png)
Третья камера (инфракрасная) анализирует объем — создает профиль поверхности, благодаря которому алгоритм определяет высоту пика горки с погрешностью до десяти сантиметров. Кстати, именно благодаря этой камере система может определять вес. Работает это следующим образом. Поскольку профиль и геометрия кузова нам известна, для расчета объема достаточно несложных математических операций. Зная, что за порода погружена в вагон и какого она объема, мы можем узнать ее массу — для этого нужно плотность умножить на объём.
Чтобы наши камеры всегда видели четко, на точке установлены прожекторы на 72 000 люменов — прямо как на стадионах. Отдельная сложность с таким светом была на автодороге: водители сразу стали жаловаться на то, что он мешает и слепит при езде. Поэтому мы сразу сделали донастройку, чтобы свет был четко направленным.
![](https://habrastorage.org/getpro/habr/upload_files/e0a/171/864/e0a171864f264938f0cc4f282d7176b1.png)
Благодаря такому освещению изображение получается четким даже в самое темное время суток. Камеры в real time передают видео на сервер, где его обрабатывают алгоритмы. Для автономной работы системы на объекте установлен мини-компьютер и подведено питание.
Примерно такая же схема установки оборудования на автодороге.
![Тут установлены 3 камеры: сверху камера, которая смотрит в кузов, передает информацию о отступах насыпи от бортов кузова и негабаритах + камера глубины. Камера на столбе считывает номера самосвалов и профиль насыпи. А в «шкафу» ниже стоит мини ПК, который управляет камерой глубины. Сорри, погодка была не очень) Тут установлены 3 камеры: сверху камера, которая смотрит в кузов, передает информацию о отступах насыпи от бортов кузова и негабаритах + камера глубины. Камера на столбе считывает номера самосвалов и профиль насыпи. А в «шкафу» ниже стоит мини ПК, который управляет камерой глубины. Сорри, погодка была не очень)](https://habrastorage.org/getpro/habr/upload_files/f6d/f8f/122/f6df8f1223c45cf9ddcf2ea7cea65e0e.png)
![Так было на модели. Так было на модели.](https://habrastorage.org/getpro/habr/upload_files/ee2/7ae/b7f/ee27aeb7f98f04a2b1fcbd0ceade01e1.png)
![А вот оно работает. А вот оно работает.](https://habrastorage.org/getpro/habr/upload_files/83d/3c3/91b/83d3c391bcb148ca6f85459bac6ce96b.png)
Что умеет система сегодня
Сейчас система может оценивать не только процент загрузки самосвалов и думпкаров, но и ее правильность, т.е. сравнивать качество загрузки с «паспортом загрузки». Система определяет расстояния, такие как отступы загруженной породы от бортов карьерных самосвалов, количество и размер негабаритных кусков и сравнивает с указанными в паспорте.
![Тут на модели мы видим, что самосвал загружен неверно, есть риск высыпания породы. Тут на модели мы видим, что самосвал загружен неверно, есть риск высыпания породы.](https://habrastorage.org/getpro/habr/upload_files/db9/9e2/85e/db99e285ef157e053e0fa09957036e65.png)
Это позволяет оповестить о возможных проблемах машиниста экскаватора и своевременно скорректировать нагрузку. Если что-то корректировать поздно — можно оповестить о возможных рисках водителя самосвала или машиниста тягового агрегата. Они аккуратно транспортируют неправильно загруженный транспорт и смогут избежать нештатных ситуаций.
![](https://habrastorage.org/getpro/habr/upload_files/dcf/b60/1ec/dcfb601ec3d932c3c68b0a40284b4284.png)
Подводим итоги
В прошлом году мы сделали прогноз и определили ожидаемые эффекты сервиса на конец 2022 года.
Итак, что получилось сделать:
снизить расход топлива для самосвалов на 1% и электричества для думпкаров на 6,5%;
увеличить объем перевозимой руды на 1–2% за счет достижения параметров паспортной загрузки транспортных средств;
сократить количество поломок карьерных самосвалов и думпкаров;
определять негабариты ещё до попадания на обогатительную фабрику, что позволяет исключить простои дробилки крупного дробления – зная, что на дроблении будет негабарит, оператор может принять оптимальное решение и предотвратить забутовку дробилки.
![](https://habrastorage.org/getpro/habr/upload_files/b53/f00/a9f/b53f00a9f190a11d0aa09b51c1016af7.png)
Планы на будущее
В будущем мы планируем еще раз обучить модель с учетом нового оборудования – доукомплектовать каждую точку контроля лидарами, а также связать этот цифровой сервис с системами СГОКа и автоматически передавать машинистам экскаваторов, тяговых агрегатов и водителям самосвалов информацию о загрузках.
Поскольку сервис успешно себя продемонстрировал и доказал свою эффективность, мы планируем масштабировать его на другие точки, чтобы покрыть весь трафик перевозок.