Привет, Хабр! Меня зовут Владимир Лебедев, я руковожу группой разработки департамента горнодобывающих решений компании «Рексофт».

На Хабре есть много полезных материалов на тему применения машинного зрения в промышленности. Я покажу вам перспективы использования этой технологии на карьерной технике и расскажу, куда копаем (извините за каламбур). В этой статье опишу, как с помощью нейронки можно считать циклы погрузки на фронтальных погрузчиках. Поехали!

Машинное зрение – одна из перспективных технологий, которая продолжает развиваться в разных сферах производства. Технология имеет множество успешных применений в тяжёлой промышленности: контроль гранулометрического состава руды, отслеживание зубьев ковша экскаватора (помогает отследить момент, когда зубец отломился), контроль усталости водителей, автоматическая проверка средств индивидуальной защиты на работниках и другие более узкие применения.

Одна из ключевых задач горнодобывающих предприятий – контроль эффективности горного производства. Представьте себе карьер. Если совсем образно, то это огромная песочница для взрослых, только там ездят самосвалы, которые перевозят по 130-220, а иногда и более тонн, экскаваторы размером с пятиэтажку, мощные буровые установки, дробилки, огромные склады продукции, фабрика. Техника мощная и стоит она серьезных денег: одна только шина самосвала порядка полутора-двух миллионов рублей. Ежедневно, в зависимости от маршрута, машина потребляет до трёх тонн топлива. Поэтому незапланированная остановка или снижение производительности таких машин приводит к серьезным потерям для предприятия. Чтобы вы понимали, что это за машины, прикладываю фото.

Управляющему персоналу необходимо следить за работой всей техники. Для этого используется система диспетчеризации. Ее задача – следить за производительностью машин и оборудования, оптимизировать рабочие процессы, тем самым снижая себестоимость процесса добычи. Для этого на борт машин ставится компьютер, который показывает водителю его сменное задание, прогресс выполнения плана и причины отклонения от него, показывает рейтинг эффективности водителя или машиниста по сравнению с его коллегами. Диспетчер видит общую ситуацию и отклонения в реальном времени на карте, мнемосхемах или дашбордах, предприятие может принимать оперативные решения быстрее и точнее.

В традиционном подходе к диспетчеризации, для учёта технологических циклов горных машин требуется интегрироваться с бортовыми системами телеметрии, где протоколы передачи данных могут быть зашифрованы или интерфейсы не активированы – это создаёт сложности при сборе данных с техники.

Кроме того, предприятия стараются использовать технику разных производителей, чтобы не зависеть от поставщиков. Таким образом, возникает задача подсчёта количества циклов погрузки-разгрузки для экскаваторов или фронтальных погрузчиков, которых может быть целый зоопарк: начиная от очень современных с электронным управлением, заканчивая примитивными с ручным управлением гидравликой, с минимумом проводов.

Классический подход для решения этой задачи - установка бортовых контроллеров и датчиков угла наклона и давления гидравлики, которые устанавливаются на рабочие органы машины. Программа детектирует превышение пороговых значений нескольких датчиков, и, если алгоритм выполнялся – засчитывается рабочий цикл. Казалось бы: просто и надёжно, универсальное решение для машины любого производителя. Однако, рабочие органы горных машин находятся в очень тяжёлых условиях эксплуатации, особенно ковш. Добыча ведётся в разных климатических условиях – от -50 до +50 градусов, а падение камней – обычное дело. Надо ли говорить, что не всякие датчики и коммутация выдерживают такой режим работы. Конечно, необходимо всячески защищать оборудование, но против камня весом в полтонны сложно придумать что-то действительно надёжное. Восстанавливать сломанные датчики, заново калибровать их – занятие организационно сложное для предприятия.

Ещё одним важным условием, которое позволяет подойти вплотную к массовому применению технологии, стало то, что на рынке появились компактные транспортные компьютеры, оснащённые чипами (NPU) для обработки задач искусственного интеллекта.

Это позволяет обеспечить аппаратное ускорение работы нейросети. Раньше для использования подобных решений на тяжёлой технике, приходилось заказывать индивидуальное изготовление таких компьютеров, и для вычислений использовались видеокарты (GPU). Они стоили достаточно дорого, так как требовали активного охлаждения, защиты от вибраций и пыли.

Мы используем модифицированную версию открытого фреймоворка YOLO восьмой итерации от Ultralytics. Подробнее про нее можно почитать вот здесь. Сердце этого семейства моделей - свёрточная нейронная сеть Darknet53. В восьмой итерации авторы использовали датасет с летающими объектами для предтренировки сети, что дало некоторое преимущество этой версии в работе со сложными для распознавания объектами.

Для того, чтобы решить задачу action detection, мы пошли по пути использования модифицированного подхода из статьи «Online Real-time Multiple Spatiotemporal Action Localisation and Prediction» (G Singh, 2017). Относительно классического подхода с современными достижениями в тренировке one stage детекторов, мы комбинировали в сети пространственные и временные представления из видеопотока, что позволило нам добиваться результатов, схожих с теми, что можно получить, используя более тяжеловесные архитектуры ( (2+1)D, 3D свертки, трансформеры). При этом сохранили простоту сбора данных, тренировки и деплоя решения в реальные условия работы.

В нашем опыте на фронтальный погрузчик была установлена видеокамера. Было записано около 300 часов работы погрузчика, из которых затем были отобраны отрезки с наиболее разнообразными условиями работы: в меняющейся обстановке, с разным уровнем освещенности, после этого выбрали 300 000 кадров, которые были размечены нашей командой вручную. Ниже пример:

демонстрация работы модели детектора операций, целью которого является определение режимов работы погрузчика: подсчёт циклов погрузки, количество погруженных ковшей, количество загруженных самосвалов, определение простоя

Модель не видела этот видеоряд при тренировке. Заметны подёргивания и ложные срабатывания, типичные проблемы недоученной нейросети. Квантизация и прунинг (методы оптимизации для снижения размера модели и увеличения скорости) пока что не проводились.

Я уверен, что эта разработка поможет предприятиям автоматизировать учёт производственных показателей погрузчика и получить существенный прогресс выполнения сменных заданий, а обслуживание и ремонт такой системы не будет трудоёмким.

В дальнейшем я покажу вам, как можно дальше развивать это решение, какие функции можно добавить, и какие ещё прикладные задачи можно решать с помощью машинного зрения.

Если вы знаете об интересных случаях использования машинного зрения в горнодобывающей промышленности, пишите в комментариях – обсудим. Также я буду рад вашим вопросам по посту. Если хотите о чем-то узнать поподробнее, дайте знать, напишу следующий пост по такому запросу. На связи!

Комментарии (21)


  1. EqualsZero
    19.07.2023 08:14

    Было бы интересно больше почитать про практическое применение полученного решения. В кабине же сидит оператор, и видит примерно то же, что и камера. Что именно дают бизнесу детекции траков и собственного ковша?


    1. IamSVP
      19.07.2023 08:14

      "целью которого является определение режимов работы погрузчика: подсчёт циклов погрузки, количество погруженных ковшей, количество загруженных самосвалов, определение простоя" © - буквально текст статьи


  1. Anastasiia1101
    19.07.2023 08:14

    Был недавно студенческий чемпионат Case-in с этой тематикой. Как-то связана ваша работа с ним?


    1. VLebedev_22 Автор
      19.07.2023 08:14

      Нет, с чемпионатом никак не связано. А что за чемпионат? поделитесь инфой, пожалуйста


  1. m1ndaction
    19.07.2023 08:14
    +1

    Очень интересная тема (ниша — потрясающая), спасибо за материал. На данный момент не особо представляю, как работает ML. Заинтересовал этот момент:

    после этого выбрали 300 000 кадров, которые были размечены нашей командой вручную

    Огромный же объём данных, как на практике происходит такая обработка?


    1. VLebedev_22 Автор
      19.07.2023 08:14

      мы использовали опенсорсное приложение CVAT, с ним получается размечать относительно быстро


  1. lolduff
    19.07.2023 08:14

    После прочтения статьи захотелось на экскурсию в карьер)


  1. Smilik
    19.07.2023 08:14
    +1

    То есть потенциально такие решения смогут как минимум продублировать, а как максимум - взять на себя функциональность датчиков телеметрии очень многих элементов техники. Вы считали экономику? Насколько снизится стоимость обслуживания одного производственного процесса?


    1. VLebedev_22 Автор
      19.07.2023 08:14

      Пока что не считали, но да, при замещении старой системы будем считать вместе с заказчиком.
      У всех разный набор датчиков, где-то вообще мы будем внедрять полностью диспетчеризацию с нуля - в таком случае, простота обслуживания бортового оборудования идёт просто как очевидное преимущество при будущем обслуживании системы.


      1. PabloP
        19.07.2023 08:14

        Сколько стоит железо - камера и компьютер устанавливаемый на технике?


        1. VLebedev_22 Автор
          19.07.2023 08:14

          камера FullHD, защищённая по IP69 - около 500$
          IP66 компьютер с Rockchip - около 1000$


  1. Asya_lebedeva
    19.07.2023 08:14

    Очень интересная статья! Такая сложная тема и так легко подана, спасибо!


  1. okdoveov
    19.07.2023 08:14

    Интересная статья, спасибо!


  1. dobrobelko
    19.07.2023 08:14
    +2

    Для такой простой модели 300k аннотаций - явный перебор. Приходилось обучать модели для строительства с 10+ классами, результаты с ~100k аннотаций в гораздо более разнообразных условиях были устойчивее. Пришлось разработать собстенную систему фильтрации аннтотаций для улучшения качества датасета, но оно того стоило.


    1. IamSVP
      19.07.2023 08:14

      а подскажите пожалуйста, куда копать, чтобы ознакомиться с подобными системами фильтрации датасета, был бы Вам крайне благодарен) Может дадите ссылку на репозиторий или вообще собственный пост запилите?)


  1. dobrobelko
    19.07.2023 08:14
    +2

    Еще момент - о каких именно "временных представлениях видеопотка" идет речь если вы используете YOLO? Может это не самое удачное демо видео, но на нем не видно ничего кроме баундинг боксов, хотя упоминались подсчеты циклов погрузки и так далее.


    1. VLebedev_22 Автор
      19.07.2023 08:14

      Действительно, демо видео одно из ранних, временные представления мы доработали уже после.
      Думаю, что более свежую версию демо с наглядным представлением подсчёта циклов и временных статусов я выложу в следующей статье


  1. nanmaybe
    19.07.2023 08:14
    +1

    а что с самосвалами? там используете показания датчиков?


    1. VLebedev_22 Автор
      19.07.2023 08:14

      Да, самосвалы пока что классически - на датчиках.
      В самосвалах есть идея использовать CV для контроля качества дорог и для контроля сонливости водителя, но это не относится к учёту технологических операций.


  1. LaySic
    19.07.2023 08:14
    +1

    В норильском никеле уже 2019 года используется машинное зрение на руднике Северный. Из оборудования камера,слабенький комп от Advantech Trek-733 и интеловская флэшка ускоритель нейросетей и камера. Система распознает циклы: погрузка.перевозка.разгрузка и отдельно разгрузка в самосвал. Так что все уже давно сделано и работает на минимальных ресурсах :)


    1. VLebedev_22 Автор
      19.07.2023 08:14

      об этом опыте и об их решении мы в курсе во всех деталях:)