Привет, Хабр! Меня зовут Владимир Лебедев, я руковожу группой разработки департамента горнодобывающих решений компании «Рексофт».
На Хабре есть много полезных материалов на тему применения машинного зрения в промышленности. Я покажу вам перспективы использования этой технологии на карьерной технике и расскажу, куда копаем (извините за каламбур). В этой статье опишу, как с помощью нейронки можно считать циклы погрузки на фронтальных погрузчиках. Поехали!
Машинное зрение – одна из перспективных технологий, которая продолжает развиваться в разных сферах производства. Технология имеет множество успешных применений в тяжёлой промышленности: контроль гранулометрического состава руды, отслеживание зубьев ковша экскаватора (помогает отследить момент, когда зубец отломился), контроль усталости водителей, автоматическая проверка средств индивидуальной защиты на работниках и другие более узкие применения.
Одна из ключевых задач горнодобывающих предприятий – контроль эффективности горного производства. Представьте себе карьер. Если совсем образно, то это огромная песочница для взрослых, только там ездят самосвалы, которые перевозят по 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 кадров, которые были размечены нашей командой вручную. Ниже пример:
демонстрация работы модели детектора операций, целью которого является определение режимов работы погрузчика: подсчёт циклов погрузки, количество погруженных ковшей, количество загруженных самосвалов, определение простоя
Модель не видела этот видеоряд при тренировке. Заметны подёргивания и ложные срабатывания, типичные проблемы недоученной нейросети. Квантизация и прунинг (методы оптимизации для снижения размера модели и увеличения скорости) пока что не проводились.
Я уверен, что эта разработка поможет предприятиям автоматизировать учёт производственных показателей погрузчика и получить существенный прогресс выполнения сменных заданий, а обслуживание и ремонт такой системы не будет трудоёмким.
В дальнейшем я покажу вам, как можно дальше развивать это решение, какие функции можно добавить, и какие ещё прикладные задачи можно решать с помощью машинного зрения.
Если вы знаете об интересных случаях использования машинного зрения в горнодобывающей промышленности, пишите в комментариях – обсудим. Также я буду рад вашим вопросам по посту. Если хотите о чем-то узнать поподробнее, дайте знать, напишу следующий пост по такому запросу. На связи!