FPV AI — это не один детектор и не один tracker. Рабочая система должна удерживать выбранный объект между кадрами, понимать качество наблюдения, не обучаться на ошибке и уметь проверить кандидата после потери.

После этой страницы: можно объяснить, зачем Vision Core разделён на tracker, память цели, detector, ReID и quality gate — и какими метриками проверять, что связка действительно работает.

Как устроен Vision Core

1 · CameraКадры. Ещё без решения, что в них важно.
2 · LOCKЧеловек задаёт bbox: «следи за этим».
3 · TrackerПереносит оценку цели на соседний кадр.
4 · Appearance memoryХранит внешний вид именно выбранной цели.
5 · Detector / YOLOПредлагает объекты-кандидаты известных классов.
6 · ReIDПроверяет: это наша цель или другой объект?
7 · Quality gateРешает, можно ли доверять наблюдению и обновлять память.
8 · State + metricsTRACK / UNCERTAIN / LOST, latency, FPS, recovery и ошибки.
Camera → LOCK → Tracker → Appearance Memory → Detector / YOLO → ReID → Quality Gate → TRACK / UNCERTAIN / LOST → метрики.

Tracker, YOLO и ReID решают разные задачи

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

YOLO / detector отвечает на другой вопрос: «какие известные классы объектов и где находятся в кадре?». Если в кадре несколько похожих объектов одного класса, детектор не доказывает индивидуальность выбранной цели.

ReID нужен для проверки индивидуальности: «этот кандидат похож на объект, который был выбран при LOCK?». Поэтому detector и ReID дополняют tracker, а не заменяют его.

Инженерное правило: новый detector или ReID-модуль не становится baseline только потому, что он сложнее. Нужен измеримый выигрыш относительно более простого решения.

Что система «обучает» во время работы

Офлайн-обучение нейросети — заранее выполненное изменение весов модели на размеченном датасете. Online adaptation после LOCK — осторожное обновление памяти о конкретной цели; вся YOLO-модель на телефоне при этом не переобучается.

Anchor

Исходный образ. Не меняется и остаётся точкой возврата.

Stable

Последний проверенный хороший образ. Обновляется редко.

Adaptive

Рабочая память, медленно подстраивающаяся к ракурсу и освещению.

Главная защита от drift — quality gate. Если tracker ошибся и смотрит на фон или похожий объект, продолжение обучения может закрепить ошибку как новую норму.

Три состояния вместо ложной уверенности

TRACK

Наблюдение достаточно уверенное. Допускается осторожное обновление рабочей памяти.

UNCERTAIN

Доказательств недостаточно. Память удерживается без обучения.

LOST

Tracker больше не подтверждает цель. Обновление памяти запрещено; начинается поиск кандидатов.

Смысл состояний не зависит только от цвета: каждое состояние меняет допустимое поведение системы. Особенно важно, что UNCERTAIN и LOST блокируют обучение памяти.

Текущий прикладной baseline

В Android-стенде проекта используется связка CameraX → ручной LOCK → NCC tracker → TargetAppearanceModel → YOLO26n LiteRT → Appearance ReID → TRACK / UNCERTAIN / LOST. Частоты tracker и нейросети регулируются независимо.

При этом R&D-логика остаётся tracker-first: сначала должен быть доказан устойчивый tracker + quality monitor. Detector, повторный поиск и более тяжёлые ReID-варианты принимаются как улучшение только после измеримого сравнения с baseline.

Как проверить, что система реально работает

Успешная сборка APK не доказывает устойчивость сопровождения. Нужны воспроизводимые сценарии и метрики.

ПроверкаЧто меняемЧто наблюдаем
LOCK / TRACKПлавное движение камерыTRACK ratio, latency, FPS, переходы UNCERTAIN/LOST
ОкклюзияКратко закрываем объектВремя восстановления и состояние после возврата
ReacquireЦель возвращается в другом местеReID latency, reacquire time, правильность объекта
DistractorДобавляем похожий объектFalse reacquire и similarity
DriftTracker временно уходит на фонНе менялась ли память в UNCERTAIN/LOST
ЧастотыTracker Hz и NN Hz независимоp50/p95 latency, FPS, нагрев, recovery

Основные показатели: tracker / YOLO / ReID latency p50 и p95, FPS, TRACK ratio, LOST count, reacquire time, false reacquire rate и drift events. Если тест не проводился, корректный статус — «не проверено», а не PASS.

Граница этой архитектуры

Vision Core относится только к восприятию изображения, сопровождению, повторной идентификации, качеству и испытаниям. Управляющие команды, автопилот и контур стабилизации сюда не входят.

Качество Vision Core оценивается тем, насколько надёжно он сохраняет идентичность выбранной цели, распознаёт потерю и выдаёт проверяемые метрики.

Что открыть дальше

Для разбора связки detector ↔ tracker перейди в Visual tracking на БПЛА: YOLO и OpenCV. Для практической проверки confidence, IoU и повторного захвата — в лабораторию YOLO/OpenCV.

Прокрутить вверх
На связи