Разбор

Нейросеть на полётном контроллере: что реально считается на борту

Модель в прошивке контроллера и модель на бортовом вычислителе — задачи разного масштаба, и путать их дорого.

Два разных уровня

Первый — модель прямо в прошивке полётного контроллера. В PX4 1.17 появился экспериментальный режим: в прошивку встроена библиотека TensorFlow Lite Micro, и обученную вне аппарата сеть — например, обучением с подкреплением в симуляторе Aerial Gym — можно загрузить вместо штатного регулятора мультиротора. Такая сеть маленькая и работает в контуре управления: она управляет, а не распознаёт.

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

Как оценивать производительность

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

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

И трезвая оценка задачи: управление в контуре — это про контроллер, распознавание — про вычислитель. Попытка уместить второе в первое заканчивается либо срывом частоты управления, либо отказом.

Что считают на борту, а что на земле

Разделение проходит по задержке. На борту держат то, что обязано отработать без канала связи и быстрее человека; всё остальное дешевле и точнее посчитать на земле.

  • На борту: удержание объекта в кадре, обход препятствий, посадка по метке, отбраковка кадров съёмки. Задержка — десятки миллисекунд, модель ужата под целочисленные вычисления.
  • На земле: разбор материала съёмки, классификация, построение карт, обучение и переобучение моделей. Здесь не жаль ни времени, ни точности.
  • Спорная середина: детекция объектов на видео. На борту она нужна, если по её результату аппарат немедленно меняет поведение; если результат уходит оператору — канала обычно достаточно.

Сколько считают бортовые вычислители каталога

Разброс между вычислителями, которые реально ставят на борт, — больше чем на порядок и по производительности, и по потреблению. Отдельный ускоритель M.2 добавляет нейросетевую часть к любому одноплатному компьютеру с PCIe за 1,5–3 Вт; модуль Jetson даёт и ускоритель, и процессор, и видеокодеки, но в бюджете питания и тепла это уже 7–40 Вт.

ВычислительПроизводительностьПотреблениеПодключение
Hailo-8L M.213 TOPS1,5 Вт (чип)PCIe Gen3 ×2
Hailo-8 M.226 TOPS2,5 Вт (чип)PCIe Gen3 ×4
Radxa AICore DX-M125 TOPSтипично 3 ВтPCIe Gen3 ×4
Radxa ROCK 5A (RK3588S)NPU 6 TOPS—одноплатный компьютер
Jetson Orin Nano 8 ГБ40 TOPS, в режиме SUPER 677–15 Втмодуль SO-DIMM
Jetson Orin NX 16 ГБ100 TOPS, в режиме SUPER 15710–40 Втмодуль SO-DIMM

По карточкам каталога. TOPS указаны при разной точности и для разрежённых сетей, поэтому сравнивают их условно; у Hailo потребление указано для чипа, у Jetson — для модуля целиком в заданном режиме питания.

Три числа вместо одного

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

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

Другие новости