Валюта проекта — ватт и грамм
В обычном проекте компьютерного зрения инженер оптимизирует латентность и точность. На борту беспилотника единицы измерения другие: сколько ватт потребляет вычислитель и сколько он весит. Все остальное — производные.
Логика прямая. Аккумулятор фиксирован. Каждый ватт, ушедший в вычисления, не ушел в моторы. Каждый грамм полезной нагрузки требует дополнительной тяги, а тяга — это снова ватты. Поэтому решение «поставим модуль помощнее» на земле выглядит разумно, а в воздухе означает, что борт вернется на пятнадцать минут раньше и не долетит до дальнего края поля.
Наши 3,8 Вт под нагрузкой и 61 грамм массы узла — это не характеристики железа из каталога. Это результат разговора, в котором каждое архитектурное решение проверялось вопросом «сколько минут полета это стоит».
Почему не отдавать видео на землю
Стандартная схема — гнать видеопоток на наземную станцию и считать там, где не жалко электричества. На бумаге отлично, в поле разваливается.
- Радиоканал держит стабильный поток на ближней дистанции и сыпется на дальней — а находки нужны именно на дальней.
- Передатчик видео сам ест ватты, причем сравнимо с бортовым вычислителем. Экономия оказывается мнимой.
- При потере связи борт слепнет полностью: он не помнит, что видел, потому что не смотрел.
Мы перевернули схему. Вычислитель смотрит на борту, а вниз уходят только находки: координата, метка времени, класс объекта, вырезанный фрагмент кадра. Это те самые минус 94% трафика — и заодно причина, по которой миссия продолжает работать в зоне со слабым сигналом. Наземная станция получает не поток, а список того, ради чего летали.
Три ограничения, которые определили модель
| Ограничение | Что это значит на практике |
|---|---|
| Энергобюджет | Модель целочисленная, вычислитель без активного охлаждения, инференс запускается по пройденному пути, камера при этом снимает своим темпом |
| Масса | Никаких радиаторов и корпусов «на всякий случай»; узел охлаждается набегающим потоком воздуха и крепится в его тракте |
| Ракурс сверху | Объекты мелкие и без привычной перспективы; готовые модели, обученные на съемке с земли, здесь бесполезны — обучение шло на кадрах с высоты полета |
Кадры не нужны все
Камера дает тридцать кадров в секунду. Обрабатывать все тридцать при съемке местности с высоты бессмысленно: соседние кадры перекрываются на девяносто с лишним процентов, и одна и та же цель попадает в десятки кадров подряд.
Поэтому частота инференса отсчитывается от пройденного расстояния. Борт считает кадр тогда, когда сместился достаточно, чтобы в поле зрения появилась новая земля. На малой скорости это экономит ватты, на большой — гарантирует, что между обработанными кадрами не осталось пропущенной полосы.
Побочный эффект: одна и та же находка не дублируется в отчете сорок раз. Дедупликация идет по координате на земле — номер кадра тут ничего не значит.
Тепло без вентилятора
Вентилятор — это масса, шум, потребление и точка отказа с подвижной частью. На борту его нет. Узел стоит в тракте набегающего потока и охлаждается им, а прошивка знает про режим висения: когда борт стоит на месте, обдува нет, температура растет, и частота инференса автоматически снижается.
Это тот же принцип, что и на наземных узлах: система обязана деградировать управляемо. Просто здесь цена молчаливого перегрева — не пропущенная тревога, а борт, который потерял вычислитель на середине маршрута.
Откуда взялись плюс 27% полетного времени
Цифра получена сравнением с прежней конфигурацией, где ту же задачу считал тяжелый вычислитель на процессоре общего назначения. Размен простой: разница в потреблении между старым и новым узлом умножается на время миссии и переводится в емкость аккумулятора, которая осталась моторам.
Такую арифметику заказчик может пересчитать сам под свой борт — и это правильная проверка любого подрядчика, который обещает «оптимизацию под edge». Если он не готов назвать потребление в ваттах и массу в граммах, обсуждать нечего.
Где эта схема не подходит
- Если нужен полный видеоархив каждой миссии — бортовая схема его не даст, придется писать на карту и снимать после посадки.
- Плотная облачность и дымка режут дальность обнаружения; высоту полета приходится опускать, а это сокращает покрытие.
- Классы объектов фиксируются на этапе обучения. Добавить новый класс — это новая разметка и новый цикл, а не галочка в настройках.
- На высокой скорости и малой высоте смаз кадра съедает мелкие объекты. Границы по скорости определяются на летных испытаниях, не в офисе.
Смежные направления: edge-вычисления под конкретное железо и обнаружение БПЛА — обратная задача, когда дрон нужно увидеть с земли.