РБК Компании

Как мы учили дрон оценивать состояние промышленных объектов

В каких бизнес-процессах можно использовать дроны и что для этого нужно сделать? Пример кейса по оценке состояния стратегически важных объектов
Как мы учили дрон оценивать состояние промышленных объектов
Задача

Разработать ПО для имеющегося квадрокоптера с целью последующего мониторинга и оценки состояния промышленных объектов

Причина

На момент обращения заказчик процесс мониторинга выполняли его сотрудники, которые на машине ездили на объекты, делали визуальный осмотр с использованием необходимого оборудования. Сравнив текущий способ и технологический, решили поручить дрону задачу выполнения мониторинга и выявления дефектов

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

Дисклеймер: Согласно обновленным правилам, с 1 марта 2024 года разрешается запускать беспилотники над населенными пунктами на высоте до 150 метров от земли или водоема в светлое время суток. При этом дрон должен находиться в прямой видимости внешнего пилота и вне запретных зон. В кейсе мы использовали малогабаритный квадрокоптер, оснащенный камерой. Его вполне хватит для автоматической инспекции объектов с использованием систем компьютерного зрения.

На примере кейса по оценке состояния промышленных или других стратегически важных объектов расскажем, в каких бизнес-процессах можно использовать дроны и что для этого нужно сделать. Статья будет полезна руководителям предприятий, которые пока задумываются об автоматизации.

Почему именно квадрокоптер

Чаще всего при упоминании слова «дрон» вспоминают именно беспилотный летательный аппарат. При этом так могут называть и наземные роботы, например, складские роботы, которые проводят инвентаризацию, и автономные гусеничные или колесные транспортные средства.

В статье будем рассказывать именно про квадрокоптер, поскольку задача по мониторингу состояния промышленных или других стратегически важных объектов (мостов, железнодорожных путей линий электропередач) связана именно с этим типом дронов. Современный рынок дронов достаточно широк и оснащение устройств может варьироваться. Для решения прикладных задач чаще всего используются оптические камеры, но сенсоры дрона этим не ограничиваются. Также может пригодиться ИК-камера, дальномер, лидар или другие устройства. 

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

Какую задачу решали

От заказчика поступил запрос на комплексную разработку ПО для имеющегося квадрокоптера. Требования к системе:

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

На момент обращения заказчик процесс мониторинга выполняли его сотрудники, которые на машине ездили на объект, делали визуальный осмотр с использованием необходимого оборудования. Сравнив текущий способ и технологический, решили поручить дрону задачу выполнения мониторинга и выявления дефектов. Таблицу приведем ниже.

Как мы учили дрон оценивать состояние промышленных объектов

Что нужно решить до старта ИИ-проекта

Проекты с применением искусственного интеллекта отличаются от других проектов по автоматизации бизнес-процессов:

  • сложностью планирования и управления
  • высокой долей неопределенности — в плане достижимости успеха и способов его достижения. Под успехом мы будем понимать решение изначально поставленной бизнес-задачи в приемлемые сроки в рамках выделенного бюджета.

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

Закладываем метрики для оценки точности алгоритма

Для разработки систем с использованием ИИ важно заранее оговорить точность работы алгоритмов: как заказчик и подрядчик будут определять — достаточно ли хорошо работает алгоритм. При планировании ИИ-систем важно учитывать, какую метрику (целевой показатель) нужно оптимизировать, чтобы одна не противоречила другой, как это иногда бывает на практике. Один из таких хрестоматийных примеров — работа рамки металлодетектора: чем сильнее мы хотим поймать злоумышленников, тем чаще она будет звенеть. Если мы не хотим, чтобы она постоянно ложно срабатывала, нужно снизить ее чувствительность, при этом возрастает вероятность пропустить злоумышленника.

В нашем случае заказчику важна была точность выявления дефектов. Поэтому при проектировании системы сначала подсчитали общее количество потенциальных дефектов на объекте. Далее нужно было определиться с метриками.

Основные метрики машинного обучения измеряются от 0 до 100%, поэтому и процент ошибок должен лежать в этом интервале. Есть так называемый процент ложноположительных срабатываний (FAR, false accepted rate), когда система говорит, что дефект есть, а его на самом деле нет, и процент ложноотрицательных срабатываний (FRR, false rejected rate), когд система говорит, что дефекта нет, а он есть. Целевые значения этих метрик можно установить на уровне 10% в обоих случаях, если цена ошибки одинакова, в когда пропуск влияет сильнее, чем ложное срабатывание, FAR = 15%, FRR = 5%.

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

Собираем данные

Сбор и подготовка данных — критически важная часть проекта. Именно данные, их количество, качество, доступность и подготовка определяют, состоится ли ИИ-проект или нет, и они же определяют предел качества получаемого решения. При этом они должны быть высокого качества. В отличие от работы с некоторыми задачами по обработке естественного языка (NLP) в задачах компьютерного зрения почти всегда требуются релевантные задаче данные. 

Самый популярный вопрос от заказчиков, которые еще не имели дело с такими системами: «Сколько нужно изображений?» Объем данных зависит от уникальности поставленной задачи. Также стоит учитывать: 

  • контекст (сценарий) использования CV-системы, например, обученная на данных «в помещении» система может давать сбои в уличных условиях; 
  • вариативность данных: обычно чем больше сцен, тем лучше, но в зависимости от применения иногда лучше ограничить сцены использования. Конечно, существуют программные методы борьбы с недостатком данных и их дополнением, но чем качественнее исходные данные, тем устойчивее работают алгоритмы.

Что делать, если нужных данных нет или очень мало? Отказаться от идеи автоматизации? Нет, надо пробовать разные подходы. Происхождение данных можно условно разделить на:

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

Поскольку в нашем кейсе данных у заказчика было немного, а для некоторых дефектов и вовсе отсутствовали, мы применили все 3 подхода. Где были данные, работали с тем, что есть, а позже ездили сами и доснимали вместе с заказчиком, а также искали похожие изображения в Интернете. Для генерации новых сцен и увеличения набора данных можно использовать UnrealEngine, StyleTransfer-нейросети и аугментации. Таким образом, значительно расширив датасет, в конечном итоге можно добиться желаемого качества работы алгоритмов.

Как решали задачу

Этап выбора способа решения задачи

Современная разработка ИИ-систем нередко базируется на работах предшественников. Иногда доступны сразу готовые системы — для распространенных задач из серии «бери и интегрируй», например, распознавание лица, нахождение ключевых точек на теле человека, верификация и другие. В других случаях можно воспользоваться наработками в плане архитектуры нейронной сети, в частности, готовыми фреймворками и алгоритмами. Для реализации таких задач потребуется обучение на данных заказчика и последующая интеграция. 

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

Готового решения из серии «бери и интегрируй» для нашей задачи не было, мы могли воспользоваться только уже известными решениями и фреймворками из области архитектур типа timm, segmentation-models-pytorch и другими. Решили использовать нейросетевые модели, поскольку в данных была большая вариативность и классическими методами машинного обучения реализовать поставленные задачи не получилось бы.

Учитывая, что дефектов было много, почти каждая задача требовала отдельного подхода к решению. Все дефекты мы разделили по способу обнаружения и сгруппировали их так, чтобы один алгоритм мог обрабатывать сразу несколько. Напомним, что основные задачи CV: классификация (определить, что находится на картинке), сегментация (точно очертить границы объекта/объектов), детекция (найти объект) и нахождение ключевых точек. 

В задачи специалистов по компьютерному зрению входит не только обучение нейросети, но и обработка результатов работы ИИ. Для этого есть так называемый этап постобработки (postprocessing). Он может включать разные алгоритмы, в том числе разработанные специально под задачу. Здесь речь идет о возможных фильтрациях, ограничениях и эвристиках, которые применимы с учетом используемого оборудования, бизнес- или технического процесса, сценариев использования и т.д. Такой подход позволяет улучшить работоспособность ПО.

Как мы учили дрон оценивать состояние промышленных объектов
источник: freepik

Этап обучения и тестирования

Для тренировки и оценки качества алгоритмов использовали имеющийся набор данных, разделенный на 2 части — тренировочную и валидационную (отложенная выборка, которая не участвует в обучении). Так как решалось множество задач (классификация, сегментация, детекция) подходы к обучению были разными, но довольно стандартными для индустрии — различные аугментации (для увеличения набора данных и от переобучения сетей), управление политикой обновления коэффициента обучения (Learning Rate Schedule) и прочие.

Так как обучение нейросетей может занять продолжительное время для вычислений использовались видеокарты (GPU). А чтобы сэкономить время на экспериментах, мы воспользовались техникой ранней остановки обучения (Early Stopping). Она позволяет прервать процесс обучения, если после определенного количества итераций не видно улучшений в качестве алгоритма на валидационных данных. Мониторинг и логирование экспериментов вели в ClearML. 

Когда качество удовлетворяло заданным критериям на имеющейся валидационной выборке проводили второй раунд тестирования на новых данных — организовывали тестовый облет на реальной локации. Если по его итогам качество было выше порогового значения — алгоритм считался пригодным для приемо-сдаточных испытаний. Если нет, добавляли данные и снова обучали модели, но уже на большем количестве изображений. Это позволяло работать с имеющимся набором данных и пробовать разные техники уже с небольшими объемами данных.

Это довольно стандартный жизненный цикл разработки ML-продукта, который позволяет начать вести разработку при относительно небольшом наборе данных и добиваться хорошего качества за счет нескольких повторений цикла обучения, насыщая датасет данными постепенно, и не ждать пока датасет будет собран целиком. Обычно при таком подходе уже на ранних стадиях работы с данными и обучении алгоритмов разработчик может указать на слабые стороны в данных или бизнес-логике и помочь заказчику решить задачу оптимальным с точки зрения затрат и эффективности путем. 

И еще несколько слов про «устаревание» данных. Чаще всего ИИ-разработки используются в динамических (меняющихся со временем) системах — реальный мир в целом или объект производства в частном случае. В свою очередь это влечет необходимость «подстраиваться», переобучаться под новые данные. Представьте систему, которая классифицирует злоумышленников по текстовому сообщению или транскрипции телефонного разговора — сегодня схемы обмана одни, а через месяц уже другие. Чтобы система могла их выявлять, ее нужно обучать дополнительно. 

С помощью такого подхода на проекте мы добились необходимых критериев качества и стали готовить продукт к релизу и использованию в реальной среде.

Какие результаты получили

Разработанная система с использованием компьютерного зрения может решать задачи по автоматической инспекции состояния промышленных объектов заказчика. 

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

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

Как мы учили дрон оценивать состояние промышленных объектов
источник: freepik

Где еще можно использовать 

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

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

Результат

Разработанное решение помогло автоматизировать процесс мониторинга промышленных объектов и своевременного выявления дефектов

Интересное:

Новости отрасли:

Все новости:

Профиль

Дата регистрации22.02.2001
Уставной капитал30 000,00 ₽
Юридический адрес обл. Ульяновская, г.о. город Ульяновск, пр-кт Нариманова, д. 1 стр. 2
ОГРН 1027301167563
ИНН / КПП 7325029206 732501001

Контакты

Адрес Россия, г. Ульяновск, пр-т Нариманова, д. 1 стр. 2
Телефон +78002009924

Социальные сети

ГлавноеЭкспертыДобавить
новость
КейсыМероприятия