Наведение по камере с моделью мира
Детектор отвечает, есть ли цель в кадре. MoranaPilot отвечает на следующий вопрос: что делать рулями, когда цель в кадре есть — и что делать, когда ее в кадре нет. Направление про второе. Треть кадров эталонного эпизода детектор не отдает ничего, и все это время аппаратом управляет не картинка, а внутренняя оценка того, где цель сейчас должна быть.
цель по трекингу взята в симуляторе, sim-to-real не начат
20 кампаний, май — июнь 2026
- ppo / recurrent ppo
- асимметричный критик
- kalmannet
- gymnasium
- onnx
Вести маневрирующую воздушную цель по одной камере и не терять ее, когда детектор перестает отдавать детекции: резкий маневр, смаз, засветка, уход за край кадра. Ни радара, ни дальномера, ни целеуказания извне — детект только по картинке с нулевой секунды.
Обучение с подкреплением в симуляторе с намеренно злыми условиями. Модель мира обучается не надеждой на рекуррентную сеть, а плотным градиентом: скрытое состояние обязано предсказывать истинную геометрию, которую само зрение в этот момент не показывает. Поверх — гибридный фильтр с обучаемым усилением.
Гибрид превосходит классический фильтр Калмана по всем трем метрикам слепого участка и остается интерпретируемым. Два оставшихся ограничения — физические: монокуляр и аэродинамика. На железо направление не выходило, и это записано в границах, а не спрятано.
держит цель вслепую
у классического фильтра −0,03
теряет цель после слепоты
у классического фильтра 84 %
ре-захват в центр кадра
медиана задержки 0,35 с
кампаний с вердиктом
из них 14 не приняты
Секунда без картинки — и аппаратом управляет только память
Ниже настоящий эпизод из симулятора, кадр за кадром. Детектор в нем молчит треть времени — два окна, длинное больше полусекунды подряд. Красная рамка появляется только когда детекция реально пришла; кружок показывает, где цель по мнению модели. Разъезд между ними и есть предмет всего направления.
- рамка детектора
- оценка фильтра
- перехватчик
- цель (пунктир — вне детекции)
- оценка
- время
- 0,00 с
- дальность
- 229,6 м
- сближение
- 0 м/с
- ошибка оценки
- 92,1 м
Смотреть надо на черные полосы шкалы. В них рамки нет — детектор не отдает ничего, — а кружок оценки продолжает ехать по кадру и к моменту возврата детекции стоит уже близко к цели: ошибка оценки за длинное слепое окно сокращается с 74 до 26 метров. Это единственный способ показать внутреннюю модель цели: в таблице она выглядит одним числом, а работает вот так.
Политике отдали ровно то, что было бы у живого пилота
Соблазн в такой задаче один: подсунуть модели истинную дальность и скорость цели, получить красивый результат и обнаружить на железе, что этих величин там неоткуда взять. Поэтому контракт наблюдения зафиксирован жестко с самого начала, и все привилегированные данные живут только внутри обучения — в критике, который на борт не уезжает.
Что политика получает
- рамка детектора в кадре: центр, размер, уверенность
- сколько кадров цель уже не видно
- собственные крен, тангаж, рыскание и угловые скорости
- собственные команды на рули за предыдущие кадры
- история всего перечисленного в разных масштабах времени — от текущего кадра до двух секунд назад
Что закрыто наглухо
- дальность до цели
- координаты цели
- скорость цели
- целеуказание извне — ни на старте, ни по ходу
- любая телеметрия, которой не будет на реальном носителе
- 01
кадр
детектор отдает рамку или не отдает ничего
- 02
проекция
рамка и собственная ориентация — в измерение
- 03
фильтр
гибридный шаг: предсказание, обновление, оценка
- 04
политика
зрение плюс строка оценки — в рекуррентный актор
- 05
команды
четыре канала на рули, состояние возвращается на следующий шаг
Два графа, между ними тонкая проекция на стороне хоста; состояние фильтра и рекуррентной сети обнуляется на старте эпизода. Расхождение выгруженной связки с исходной моделью проверено покадрово и лежит в районе миллионных долей — это условие, без которого замер на стенде не переносится на замер в бою.
Четыре трекера на одном и том же входе
Утверждение «нейросеть лучше фильтра Калмана» ничего не стоит, пока фильтр не написан честно и не запущен на тех же кадрах и тех же сидах. Он написан: рабочий трекер на девяти состояниях относительной кинематики с пропорциональным наведением, который с видимой целью берет перехват в каждом восьмом эпизоде. Дальше всем четверым гасят детектор на три четверти секунды в самой активной фазе и смотрят, кто что делает.
доля эпизодов, где после слепого окна цель потеряна окончательно
- Классический фильтр Калмана84 %
9 состояний относительной кинематики, наведение — пропорциональное. Честный эталон, а не соломенное чучело: с видимой целью он берет перехват в 12,5 % эпизодов
- Сквозной LSTM-пилот8 %
магистральная политика: рекуррентный актор на истории кадров, модель мира — только то, что LSTM выучила сама под вспомогательными головами
- KalmanNet, соло60 %
структура фильтра Калмана оставлена, но коэффициент усиления считает обученная GRU. Работает как оценщик, управление — пропорциональное по его оценке
- KalmanNet + LSTMв поставке18 %
оценка гибрида подается входом сквозному пилоту: модель мира от фильтра, центрирование и ре-захват — от политики
вывод по метрикеМетрика, ради которой все затевалось. Классический фильтр теряет цель в 84 % эпизодов, гибридный пилот — в 18 %. Разница не в тюнинге, а в том, что у одного модель движения цели задана руками, а у второго выучена из данных.
почему так вышлоКлассический фильтр не виноват: по одной камере дальность и поперечная скорость принципиально ненаблюдаемы, а на предсказании без коррекции оценка неизбежно уезжает. Ему приходится угадывать то, что гибрид выучивает из данных — шумы, нелинейность модели измерения, характер маневра цели и дрожание самого детектора.
Что пробовали, что выбросили и почему
Полный список кампаний в хронологическом порядке, с цифрой, по которой принималось решение. Отклоненные заходы стоят в том же списке и тем же шрифтом, что принятые: по ним видно, сколько стоит каждая проверенная гипотеза и какие из очевидных идей не работают. Нажмите на строку, чтобы развернуть разбор.
Архитектурный перелом направления. Критик — он живет только в обучении и на борт не уезжает — дополнительно получает истинное состояние: направление на цель, дальность, относительную скорость, ветер. Актор остается только со зрением. Сверху вспомогательные головы: скрытое состояние актора обязано на каждом шаге предсказывать это самое истинное состояние. Во время слепоты сделать это можно единственным способом — интегрировать движение цели внутри себя. Так модель мира перестает быть надеждой на рекуррентную сеть и начинает обучаться плотным градиентом. Заодно вскрылась природа «падений»: пятнадцать из пятнадцати оказались энергетической смертью после выгорания двигателя, а не столкновением с землей.
Из двадцати заходов принято 7, отклонено 6, закрыто диагнозом 5, 2 остались инструментами замера. Это нормальная пропорция исследовательской работы — и единственная причина, по которой принятым 7 можно верить.
Восемь выводов, которые переживут это направление
Модели устаревают, а методические ошибки повторяются в каждом следующем проекте. Ниже то, что мы собрали на своих граблях и применяем теперь к любой задаче с обучаемым восприятием — включая заказные.
Мерить надо в том режиме, в котором система работает
Проба на слепоту, запускавшаяся на четвертой секунде, оценивала аппарат, у которого топливо кончилось две секунды назад: ровная планирующая геометрия дает завышенное ведение у любой модели. Перенос замера в активную фазу развернул вывод целой кампании на противоположный — модель, считавшаяся лучшим трекером, оказалась худшим. Ни одна цифра в отрыве от режима замера ничего не значит.
Прежде чем учить у эксперта, измерь эксперта
Награда, тянущая политику к простому визуальному сервоприводу, выглядела разумной подсказкой. Замер самого сервопривода — сделанный, к сожалению, уже после кампании — показал, что он берет три процента. Подсказка не помогала учиться, она прижимала обучение к собственному потолку.
Главная цифра умеет врать про то, что под ней
Чемпион по проценту перехвата провалил пробу на слепоту вдвое: имитационная кампания перестроила скрытое состояние под мимикрию учителя, а внутренняя модель цели при этом сгорела. К поставке такая модель непригодна, хотя по заголовку отчета — лучшая. С тех пор проба гоняется на каждом срезе.
Рычаги крутят по одному
Кампания, где одновременно выкрутили три параметра, дала лучшим чекпоинтом стартовый — то есть не дала ничего, кроме счета за электричество. При одновременном движении нескольких величин результат нечитаем даже когда он положительный: неизвестно, что именно сработало.
Одна политика не удерживает два конкурирующих навыка
Погоня за целью и стрельба в точку встречи делят одни веса и вытесняют друг друга. Шесть прогонов, включая обучение на уменьшенном в десять раз шаге, показали одно и то же: баланс проскакивается за считанные сотни тысяч шагов. Лечится не настройкой, а архитектурой — явным условием на контекст.
Шум надо вносить такой, какой он есть
Рамка реального детектора дрожит и пульсирует сама по себе даже на неподвижной цели, и дрожит коррелированно, а не белым шумом. Пока в симуляторе стояла идеальная рамка, любой трекер выглядел прекрасно. После внесения дрожания ошибка пеленга выросла в полтора раза, и сравнение стало осмысленным.
Гибрид бьет и чистую классику, и чистый черный ящик
Классический фильтр вынужден угадывать шумы и модель измерения, сквозная сеть — выучивать всю структуру задачи с нуля. Оставить явную структуру фильтра, а обучить в ней ровно один блок — коэффициент усиления — оказалось лучше обоих крайних вариантов и вдобавок осталось интерпретируемым: видно оценку состояния и то, как она меняется.
Оценка и управление — разные умения
Улучшенная версия фильтра подняла качество оценки вслепую с 0,70 до 0,78, а удержание носа на цели не сдвинулось вообще. Значит упирается уже не сеть: оценка почти вдвое лучше поведения, и следующий прирост дадут второй ракурс и планер, а не еще один прогон обучения.
- постановка
- только монокулярная камера: ни радара, ни дальномера, ни целеуказания с нулевой секунды
- что видит политика
- рамка детектора, свое положение и угловые скорости, свои недавние команды
- чего не видит
- дальность, координаты и скорость цели — они остаются внутри симулятора
- кампаний обучения
- 20, каждая с вердиктом: 6 принято, 6 отклонено, 5 закрыто диагнозом, 2 инструмента
- держит цель вслепую
- 0,50 против −0,03 у классического фильтра Калмана
- теряет цель после слепоты
- 18 % эпизодов против 84 % у классического фильтра
- ре-захват после слепоты
- 80 % эпизодов, медиана задержки 0,35 с
- где замерено
- симулятор, 50 эпизодов на модель, единый вход с камеры для всех участников
- чего нет
- переноса на железо, полевых замеров и внедрений — направление не выходило из лаборатории
Все цифры направления сняты в симуляторе. Переноса на железо не было: ни одного полета, ни одного полевого замера, ни одного внедрения. Симулятор специально сделан злым — дрожащая рамка детектора, пропуски и слепые окна, задержки, ветер, люфт и запаздывание приводов, разброс характеристик аппарата от эпизода к эпизоду, — но злой симулятор это все еще симулятор, и разрыв с реальностью тут принято считать неизвестным, пока он не измерен. Два потолка направления при этом уже физические, а не программные: качество оценки упирается в монокуляр, удержание — в аэродинамику.
- Изделия. Это исследовательский модуль, а не продукт и не коммерческое предложение.
- Средств поражения и подавления. Мы их не разрабатываем и не поставляем — ни глушилок, ни средств радиоэлектронной борьбы, ни перехвата как услуги.
- Обещаний по точности вне симулятора. Цифры сняты в модели и переносятся на реальность только через замер, которого не было.
Что мы действительно делаем по воздушной теме — обнаружение: детектор на edge-железе, журнал событий, оповещение. Решение о том, что делать дальше, закон оставляет не подрядчику.
Половина направления — про камеры вообще, а не про эту задачу
Ведение объекта сквозь перекрытие, фильтр, который не надо настраивать руками, и приемочная проба на слепоту — это инструменты, которые работают на складе, на конвейере и на дороге ровно так же, как в исходной постановке.
Трекинг через перекрытие
Задача «объект пропал из кадра на секунду, не потеряй его» — это склад, конвейер, дорога, порт и любая сцена, где предметы заслоняют друг друга. Механика тут та же: внутренняя оценка ведет объект, пока детектор молчит, и подхватывает его обратно при возврате.
Фильтр, который не надо настраивать руками
Классический фильтр требует, чтобы кто-то задал ему шумы процесса и измерения. На реальном потоке они меняются от объекта к объекту, и настройка превращается в бесконечную. Гибрид учит эту часть из данных, сохраняя проверяемую структуру — на приемке видно оценку, а не только выход.
Проба на слепоту как приемочный тест
Принудительно гасим детекции на заданном интервале и смотрим, что делает система. Тест занимает минуты, ловит трекеры, которые на записи выглядели прилично, и применим к любому чужому решению ровно так же, как к своему.
Отказы сенсора внутри обучения
Дешевле научить модель жить с пропусками, задержками, смазом и дрожащей рамкой, чем потом обвешивать идеальную модель костылями на объекте. Прием переносится в любую задачу, где вход приходит с живого железа, а не из аккуратного датасета.
Что происходило по направлению
- май 2026
Старая ветка вскрыта пробой на принудительную слепоту: внутренней модели цели нет, девять эпизодов из десяти гибнут без картинки. Заодно найдена ошибка чтения метрик, из-за которой проба и адаптивный курикулум месяцами измеряли нули. Постановка переписана с «веди рамку» на «пилотируй».
- 10.06.2026
Архитектурный перелом: асимметричный критик плюс вспомогательные головы, обучающие модель мира плотным градиентом. Слепое ведение с −0,02 до 0,59, ре-захват с 12,5 до 84 %, срывы по потере цели из кадра практически обнулены.
- 13.06.2026
Найдена методическая ошибка замера: проба, запускавшаяся на четвертой секунде, оценивала уже баллистически мертвый аппарат и завышала результат у всех моделей. Все замеры переведены в активную фазу полета — вывод предыдущей кампании развернулся на противоположный.
- 14.06.2026
Гибрид KalmanNet обучен и слит с политикой. Очная ставка на едином входе: классический фильтр Калмана проигрывает по всем трем метрикам. Экспорт в ONNX сделан и сверен с исходной моделью. Дальше — упор в два физических потолка и остановка направления до задачи с реальным носителем.
Другие направления
Вся витрина R&D →Статус этого направления — в работе. Как читать статусы и по каким правилам работает лаборатория — на витрине R&D.