Данный материал рассматривает задачи, стоящие перед вычислительной техникой в составе беспилотных летательных аппаратов (БПЛА), а также содержит оценку применения мультиклеточной архитектуры для решения этих задач.
Если вы впервые слышите о мультиклеточной архитектуре, то можете ознакомиться с ней в предыдущих статьях:
«Компилятор С/С++ на базе LLVM для мультиклеточных процессоров: быть или не быть?»
«Развитие компилятора C для нового мультиклета-нейропроцессора»
Важность развития беспилотной авиации (дронов) для развития страны подтверждена принятием Стратегии развития беспилотной авиации Российской Федерации на период до 2030 года и на перспективу до 2035 года (постановление Правительства №1630-р от 21.06.2023г.).
Но, темпы развития этого рынка, в значительной мере сдерживаются низкой автономностью дронов. Как правило, выделяют пять уровней автономности дрона. Нулевой, исходный уровень — это дрон с полностью ручным управлением. Полностью автономный дрон — это дрон пятого уровня, который функционирует без участия оператора, т.е. искусственный интеллект (ИИ) дрона позволяет самостоятельно решать поставленную задачу.
|
Характеристики |
||
Степень |
Описание |
Уклонение от препятствий |
|
0 |
нет |
Полностью ручное управление. |
нет |
1 |
низкая |
Оператор несет ответственность за управление дроном. Дрон способен выполнять минимум одну важную функцию. |
Обнаружение и уведомление |
2 |
частичная |
Оператор несёт ответственность за безопасности операций. Дрон способен поддерживать высоту в определённых условиях, а также регулирует направление. |
|
3 |
условная |
Оператор работает в аварийном режиме. Дрон способен выполнять все функции самостоятельно, но «при заданных определённых условиях». |
Обнаружение и уклонение |
4 |
высокая |
Оператор не принимает никакого участия в цикле управления. Дрон оснащен несколькими аварийными системами, так что в случаях сбоя одной из систем, дрон продолжит работать. |
Обнаружение и самостоятельное уклонение. |
5 |
полная |
Дрон использует систему ИИ при планировании полета и выполнении поставленной задачи. |
Основная масса дронов, которые используются в настоящее время и исчисляются миллионами штук, имеют первый или второй уровень автономности. Они также имеют самую большую номенклатуру типов. Дронов с третьим уровнем автономности сравнительно немного, а число дронов с четвертым уровнем исчисляется тысячами и, как правило, они имеют самую высокую стоимость и военное назначение. Дронов с пятым уровнем автономности пока нет.
Несомненным достоинством дронов первого — третьего уровней автономности является их невысокая стоимость, если не учитывать обратную сторону этого — необходимость оператора и, как следствие, наличие канала связи дрон-оператор. Дистанционное управление дроном делает его уязвимым для блокирования или перехвата управления (кибератак). В военных применениях это чревато не только потерей дрона, но и вычислением координат оператора с последующей атакой на него. В гражданских применениях, емкость рынка будет ограничиваться количеством подготовленных операторов и темпами их подготовки.
Необходимость повышения уровня автономности дронов очевидна, но она сталкивается не только с организационными и законодательными проблемами. Существует техническая проблема, связанная с требованием кардинального роста вычислительных возможностей бортового компьютера, размещенного на борту дрона. Его производительность должна обеспечивать:
бинокулярное цветное зрение в видимом диапазоне с распознаванием видимых образов, а также бинокулярное зрение с использованием приборов ночного видения;
вычислительные ресурсы, достаточные для интеллектуальной обработки получаемого изображения и решения требуемой задачи.
Подобные интеллектуальные автономные дроны будут способны:
самостоятельно, в режиме радиомолчания, выполнять полет до требуемой точки или барражировать в требуемом районе на сверхнизких высотах, уклоняясь от препятствий и выполнять при этом разведывательные функции или функции мониторинга окружающей среды;
осуществлять мониторинг дорожной обстановки с фиксацией нарушения ПДД без привлечения личного состава ГИБДД;
выполнять мониторинг урожая, проводить контроль состояния посевов, определять оптимальные моменты для полива и удобрения, а также осуществлять полив и внесение удобрений;
самостоятельно обеспечивать контроль в природоохранных зонах;
выполнять картографирование территорий;
самостоятельно выполнять патрулирование указанных районов для предупреждения об природных и техногенных катаклизмах (землетрясения, цунами, лесные пожары, аварии на трубопроводах и т.п.);
получать сверх четкие фотографии — снимки определенных объектов в определенных условиях, наступление которых детерминировано, либо использование массива дронов для получения фотографии объекта со сверхвысоким разрешением;
формировать гиперспектральные изображения, в которых каждый дрон синхронно снимает объект в своем диапазоне частот;
осуществлять мониторинг городского пространства для минимизации ущерба городскому хозяйству при погодных аномалиях.
Все эти возможности обеспечиваются сложными многоуровневыми последовательностями технологических операций, выполняемыми в реальном времени, и включающими получение цифрового изображения, его обработку с целью выделения значимой информации, анализ этой информации для решения определенной задачи и принятие решения. Наиболее значимые из них это:
формирование видеоизображения с глубиной сцены;
выделение переднего плана;
выделение и классификация движущихся объектов;
отслеживание траектории движения найденных объектов;
распознавание и описание действий объектов, представляющих интерес.
Для построения переднего плана наиболее часто используются методы, основанные на вычитании фона, вероятностные методы, методы временной разности и оптического потока. Процесс выделения переднего плана заключается в отделении движущихся фрагментов изображения от неподвижных, которые называют фоновыми или принадлежащими заднему плану. От того, насколько аккуратно и корректно решена эта задача, зависят все последующие этапы обработки информации, а также требуемые вычислительные ресурсы. Сложность этой задачи обуславливается большим количеством разнообразных факторов, таких как собственные шумы камеры, внезапное изменение освещенности сцены, падающие тени, движение ветвей деревьев на ветру и др.
В настоящее время развиваются методы построения заднего плана, основанные на применении искусственных нейронных сетей. Эти методы используют свойство нейронной сети адаптироваться к входным данным за счет введения настраиваемых обратных связей. Каждый пиксель фона управляется своей нейронной сетью, в результате чего через некоторое время, требуемое для настройки (обучения) нейронной сети, формируется модель фона, способная заданным образом подстраиваться к изменениям входного изображения.
В большинстве случаев конечной целью видеонаблюдения является описание наблюдаемой ситуации, поэтому крайне важно правильно классифицировать обнаруженные объекты. Так как видеонаблюдение и анализ ведутся в масштабе реального времени, алгоритмы классификации должны быть относительно быстрыми, эффективными и инвариантными к изменяющимся условиям освещения. Методы классификации объектов условно можно разделить на три большие группы: геометрические методы, методы, основанные на динамических характеристиках движения, и методы, использующие динамические текстуры.
Геометрические методы классификации основаны на двух ключевых понятиях: классификационной метрике, позволяющей определить меру близости рассматриваемого объекта и шаблона из имеющейся базы данных, и временной согласованности (классифицируются только те объекты, которые присутствуют в видеопотоке в течение ряда последовательных кадров, в противном случае они считаются фоновым шумом). Особую трудность этому придает тот факт, что в текущем кадре истинная природа объекта может быть искажена вследствие наложения нескольких объектов. Например, группа идущих рядом людей в отдельных кадрах может выглядеть как едущий автомобиль
Динамические методы основаны на анализе периодичных движений. Свойство периодичности является весьма распространенным среди движущихся объектов. Например, у человека во время ходьбы довольно легко можно выделить повторяющиеся через определенное время позы. То же самое относится и к животным. Поэтому периодичность движения можно использовать для классификации движущихся объектов.
После этого можно переходить к следующему этапу — отслеживанию траектории каждого движущегося объекта — трекингу. Для осуществления трекинга нужно установить взаимно-однозначное соответствие между обнаруженными объектами на последовательных кадрах. При этом обеспечивается временная идентификация выделенных областей изображения и выдается соответствующая информация об объектах в наблюдаемой зоне, а именно: траектория, скорость и направление движения. Сопровождение выделенных объектов в видеопотоке представляет собой чрезвычайно сложную задачу вследствие влияния следующих факторов:
изменения изображения, освещенности сцены, наличия шума камеры;
присутствия меняющих форму объектов;
наличия нескольких одновременно движущихся объектов с близкими характерными признаками и пересекающимися траекториями;
неправильной сегментации объектов на предыдущих этапах обработки;
необходимости осуществлять слежение в масштабе реального времени.
Ошибочное выполнение операции трекинга приводит в дальнейшем к некорректной интерпретации действий анализируемых объектов. Поскольку трекинг объектов должен часто проводиться в реальном времени, необходимо использовать алгоритмы, которые не слишком требовательны к вычислительным ресурсам.
Заключительная задача, при построении систем 5-го уровня автономности — распознавание. Ее сложность состоит в том, что, как правило, характерные признаки объекта являются многомерными векторами, в совокупности описывающими его некоторые свойства, например: гистограммы, набор моментов, текстур. Чрезвычайно неприятным является то обстоятельство, что сами характерные признаки весьма изменчивы и для различных объектов из одного и того же класса могут существенно отличаться. Рассматриваемые методы являются адаптивными, т. е. способными к автоматической подстройке к свойствам обрабатываемых данных, что в итоге позволяет разработать распознающую систему с неплохими характеристиками. Традиционно процесс подготовки данных заключается в их разбиении на входные и выходные с последующей нормализацией. Входные данные подаются на вход системы, в то время как выходные данные используются как эталон, который адаптивная система должна в идеале выдавать в качестве результата, например номер класса, к которому должны быть отнесены входные данные.
Спектр описанных задач весьма широк. Их алгоритмы используют как формализованные методы, так и эвристические. Для решения этих и подобных задач бортовой компьютер дрона, а точнее его бортовая цифровая вычислительная система (БЦВС) должна обеспечивать выполнение, в реальном времени и с минимальным энергопотреблением, как классических задач искусственного интеллекта (обучение, распознавание), так и задач, связанных с анализом и выработкой решений, моделирующих когнитивные функции человека. Первая задача требует от БЦВС наличие в системе команд высокоэффективных матричных операций с малоразмерными числами, а вторая — высокой производительности как в традиционных вычислениях, так и при обработке видеоизображения.
Решение первой задачи — это не только реализация традиционной малоразмерной матричной арифметики для задач ИИ, но и наличие команд, оптимизированных для эффективной обработки массива видеоданных. Например, команды SAA (Subtract-Absolute-Accumulate — счетверенного вычитания/взятия модуля/накопление малоразмерных чисел), которая хорошо подходит для поблочного анализа движения в видеоизображениях. Эта команда выполняет операцию вычитания над четырьмя парами чисел, взятия модуля каждой из разностей и накопления отдельных результатов. Все эти операции производятся в одном цикле.
Высокая производительность — это также не только высокая тактовая частота. Не менее важна организация памяти и производительность канала доступа к памяти. Например, поддержка режима двухмерного DMA, которая обеспечивает БЦВС возможность манипулирования данными в процессе передачи. Его применение устраняет непроизводительные издержки, характерные для пересылки данных, расположенных в памяти не по последовательным адресам. Кроме того, с помощью двухмерного DMA можно избирательно передавать вместо всего изображения только требуемый его участок. Производительность канала доступа к памяти — это прямое сокращение затрат на выборку данных из смежных адресов, которая является типовой операцией при обработке видео изображений.
Очевидно, что БЦВС в этих условиях может быть только параллельной. При этом она может быть как гомогенной класса MIMD, построенной из множества простейших процессоров, так и гетерогенной — состоящей из управляющего скалярного (суперскалярного) процессора класса SISD и параллельного сопроцессора класса SIMD.
Выбор структуры БЦВС безусловно определяется ТЗ на БПЛА, но при всех прочих гомогенная система более гибкая и имеет более высокий потенциал для последующей модернизации.
В таблице ниже показаны базовые характеристики параллельных процессоров Мультиклет в сравнении с некоторыми другими, решающими эти задачи.
Характеристики бортовых процессоров автономных дронов
Процессор |
Movidius Myriad 2 (Intel) |
MultiClet S3.01 |
Movidius Myriad X (Intel) |
MultiClet S3.02 |
NVIDIA Jetson AGX Xavier |
MultiClet S4.01 |
Тех-процесс, нм |
28 |
28 |
16 |
12 |
16 |
12 |
Состав |
12x SHAVE VLIW |
8 клеток |
16х SHAVE VLIW |
8 клеток |
512 ядер Volta |
64 клетки |
Производи-тельность, |
0,1 |
1 |
1
|
1,28 |
10 |
10 |
Внутренняя память, Мбайт |
2 |
2 |
2,5 |
2 |
- |
16 |
Пропускная способность, Гбайт/с |
400 |
512 |
450 |
640 |
- |
8х640 |
Площадь, |
76 |
28 |
71,28 |
19,8 |
300 |
20 |
Энерго-потребление,W |
1 |
1,2* |
1 |
0,8* |
20 |
7* |
* Значение энергопотребления получено при использовании типовых библиотек и условий синтеза и может быть уменьшено при использовании энергоэффективных библиотек и оптимизации RTL — кода процессора.
Разнородность решаемых задач выдвигает два условия к параллельным системам.
Первое, топология связей между простейшими процессорами должна быть инвариантна по отношению к решаемым задачам. Т.е. она не должна накладывать какие-либо ограничения на обмен данными между процессорами, зависящими от решаемой задачи.
Второе, простейшие процессоры должны иметь возможность одновременного и независимого решения нескольких задач и, таким образом, обеспечивать полную загрузку всех вычислительных ресурсов БЦВС.
Этим условиям, на сегодняшний день, наиболее полно отвечают мультиклеточные процессоры, эффективность которых определяется исключительно их архитектурой.
Мультиклеточный процессор — это реконфигурируемое множество простейших процессорных ядер (клеток), способных динамически, в процессе работы процессора, объединяться в группы, каждая из которых будет независимо решать свою задачу. Все клетки в группе объединяются полносвязной коммутационной средой, не налагающей какие-либо ограничения на решаемые алгоритмы. Распараллеливание решаемой задачи в группе клеток выполняется автоматически, без участия программиста и без какой-либо доработки программы. После выполнения задачи клетки группы переходят в режим сна, до момента включения их в новые группы. Таким образом, аппаратный ресурс процессора используется с максимальной эффективностью.
Бортовой компьютер дрона работает в реальном времени и, следовательно, оптимальное использование вычислительных ресурсов непосредственно влияет на количество решенных задач и энергопотребление.
Так, например, распознавание объектов (детектирование) в исходном кадре связано с использованием крайне затратных, как по памяти, так и по времени решения, методов машинного и глубокого обучения. Длительность распознавания зависит от количества объектов и их сложности. Спрогнозировать (для автономных дронов) это невозможно и, следовательно, невозможно, в традиционных системах (типа Myriad 2 или NVIDIA Jetson), заранее, оптимальным образом, распределить ресурсы между объектами.
Следовательно, динамическая реконфигурация процессоров MultiClet под поток задач, обеспечивает им существенное преимущество над этими решениями.
Предварительный анализ технических решений, лежащих в основе процессоров компаний INTEL и NVIDIA и ECAD оценки процессоров MultiClet показывают, что БЦВС 5-го уровня
автономности можно реализовать с использованием процессоров семейства MultiClet , используя техпроцесс на 28 нм. При этом:
процессоры семейства MultiClet существенно меньше по площади и, следовательно, стоимость процессора будет существенно меньше;
они ориентированы на реализацию рассматриваемых алгоритмов и, соответственно, в 5-8 раз эффективнее чем процессоры других традиционных архитектур, что было подтверждено техническими специалистами AMD Inc. на on-line семинарах в 2020 г.
использование процессоров семейства MultiClet для построения БПЛА 5-го уровня автономности — это шаг к построению и использованию «сильного» ИИ.
EqualsZero
В большинстве опубликованных за последние года 3 нейронок для детекции объектов время работы не зависит от количества объектов в кадре. Чаще всего предсказывается вероятность объекта клаcса Х в каждой локации. Может быть ограничение по максимальному количеству найденных объектов в кадре (например, 100) и обычно есть сильная зависимость от разрешения изображения (больше изображение - дольше инференс, но зато можно найти мельче объекты).
VSMC Автор
Вы имеете ввиду обработку изображения с выделением всех объектов определенного класса либо обнаружение одного объекта определенного класса на изображении?
EqualsZero
Нет, имел в виду поиск всех объектов на изображении из какого-то закрытого (или даже открытого) множества классов. Как обычно подразумевается в задаче Object Detection https://paperswithcode.com/sota/object-detection-on-coco