# Контекст: место проекта в системе MERIDIAN Этот документ объясняет, частью какой большой системы является fuse_proj, почему эксперимент поставлен именно на StripNet и GTA-UAV и что произойдёт с победившей архитектурой дальше. Понимание этого контекста обязательно для всех трёх сотрудников: оно определяет вторичные критерии выбора архитектуры. ## 1. Большая система: MERIDIAN MERIDIAN — асимметричная Teacher–Student система кросс-видовой геолокализации БПЛА (UAV ↔ satellite) с привилегированными модальностями (LUPI/KD) и лёгким edge-инференсом. - **Задача:** Cross-View Geo-Localization (CVGL) — поиск satellite tile, соответствующего UAV-снимку, без GPS. - **Teacher (cloud, training-time):** frozen DINOv3-L + дополнительные модальности (depth, CHM, segmentation, text) от готовых foundation-моделей. Teacher видит всё, его задача — построить максимально информативный fused-эмбеддинг. - **Student (edge, inference-time):** компактный RGB-only backbone (SOFIA), Jetson Orin NX, INT8 TensorRT, <50 мс. Student видит только RGB sat + RGB UAV и учится у Teacher через feature-KD. ``` ═══ Training-time (cloud) ════════════════════════════════════════ Teacher (multimodal, frozen): T_main DINOv3-L 🔵 готовый T_depth Depth-Anything-V3 🔵 готовый T_chm CHMv2 (canopy height map) 🔵 готовый T_seg SegEarth / SegFormer 🔵 готовый T_text DGTRS-CLIP / RemoteCLIP 🔵 готовый Fusion ??? ← ПРЕДМЕТ ЭТОГО ПРОЕКТА 🟢 наш ↓ fused privileged embedding KD bridge → Student (RGB-only, edge) ═══════════════════════════════════════════════════════════════════ ``` **Граница «готовое / своё»:** foundation-модели используются как есть и не модифицируются. Наша зона проектирования — fusion-механизм, объединяющий их выходы. ## 2. Восемь входных потоков Teacher | # | Поток | View | Источник | Природа сигнала | |---|---|---|---|---| | 1 | RGB satellite | sat | датасет | основной визуальный якорь | | 2 | Text caption satellite | sat | VLM (Qwen3-VL) | глобальная семантика сцены | | 3 | CHM satellite | sat | CHMv2 | высота растительности/структура | | 4 | Segmentation satellite | sat | SegFormer, 17 классов | land-cover semantics | | 5 | RGB UAV | uav | датасет | основной визуальный якорь | | 6 | Text caption UAV | uav | VLM (Qwen3-VL) | глобальная семантика сцены | | 7 | Relative depth UAV | uav | Depth Anything | геометрия/структура сцены | | 8 | Segmentation UAV | uav | SegFormer, 17 классов | spatial semantics | Геометрия асимметрична намеренно: CHM-модель обучена на nadir-снимках и работает только для satellite; metric depth на UAV ненадёжен, поэтому UAV получает relative depth. Это не дефект данных, а инвариант системы. ## 3. Зачем нужен этот проект (fuse_proj) Прямой перебор fusion-архитектур на полном Teacher (DINOv3-L, ~300M+ params) слишком дорог: один полный прогон занимает часы и съедает всю VRAM. Поэтому архитектурный поиск выполняется на **быстром прокси**: | Компонент | Полная система (цель) | Прокси (этот проект) | |---|---|---| | Visual backbone | DINOv3-L frozen + адаптеры | StripNet-small frozen + Conv-MONA | | Датасет | World-UAV / реальные данные | GTA-UAV-LR (синтетика, полная разметка) | | Модальности | те же 8 потоков | те же 8 потоков | | Выход ветки | fused embedding | L2-нормированный descriptor [B, 1024] | | Вопрос | — | какой КЛАСС fusion работает и почему | Прокси сохраняет главное: frozen visual anchor + лёгкие обучаемые модули, те же модальности, тот же retrieval-протокол. Вывод «какой класс fusion-операторов выигрывает и за счёт чего» переносится; конкретные гиперпараметры — нет, и это нормально. ## 4. Что произойдёт с результатом 1. Победившее семейство (primary) + fallback фиксируются в decision record. 2. Primary-механизм переносится на Teacher DINOv3 (адаптация: CNN stage maps → ViT token maps) и входит в спецификацию fusion MERIDIAN. 3. Fused-эмбеддинг Teacher становится KD-таргетом для RGB-only Student. 4. Ваши diagnostics (вклад модальностей, gate statistics) станут инструментами анализа Teacher. ## 5. Вторичный критерий: устойчивость к отсутствию модальности В production Teacher модальности могут отсутствовать или быть деградированными (нет caption у ~55% satellite tiles уже сейчас; depth/CHM могут быть зашумлены). Кроме того, на следующем этапе MERIDIAN планируется обучение с **modality dropout** (стохастическое отключение модальностей) — оно НЕ входит в ваше задание, но накладывает требование на архитектуру: > **Fusion-оператор обязан оставаться well-posed, когда любая дополнительная модальность отсутствует (validity mask = 0): выход определён, конечен и осмыслен, RGB-путь не искажается.** Сводка по классам операторов (из свежего аудита литературы, 2026-06): | Класс | Поведение при отсутствии модальности | Вердикт | |---|---|---| | Cross-attention над пулом модальных токенов | softmax перенормируется на оставшиеся токены | безопасен by construction | | FiLM / gating с zero-init (identity-at-init) | выпавшая модальность даёт identity | безопасен при корректной init | | Gated additive residual | residual = 0 → чистый RGB-путь | безопасен при корректной init | | Чисто multiplicative gating (выход = RGB × f(aux)) | near-zero aux уничтожает RGB-сигнал | опасен, требует additive-ветки | | Differential conditioning (f(Xi − Xj)) | теряет смысл при отсутствии одного из Xi | опасен | | SSM/Mamba cross-state fusion | состояние дестабилизируется | research-arm, не primary | Практическое следствие для всех трёх треков: тест «отключи модальность через validity mask и проверь, что descriptor конечен и близок к RGB-only» входит в обязательные unit-тесты, а поведение при missing modality — в decision table финального сравнения. ## 6. Каноническая терминология | Термин | Значение в проекте | |---|---| | View | satellite или uav; кодируются независимо | | Modality | rgb / text / segmentation / geometry (CHM или depth) | | Anchor | RGB-путь StripNet, который нельзя терять | | Validity mask | булева маска «модальность присутствует и валидна» | | Identity-at-init | при инициализации fusion-модуль эквивалентен RGB-only | | Modality collapse | descriptor фактически зависит от одной модальности | | Shortcut | модальность выигрывает метрику нечестным путём (утечка, артефакт данных) | | LUPI | learning using privileged information: модальности доступны при обучении, недоступны на inference Student | | Primary / fallback / research-arm | роли вариантов в итоговом решении | ## 7. Чего в этом проекте сознательно нет - Никакого modality dropout в training loop (это следующий этап MERIDIAN, отдельная задача). - Никакой дистилляции в Student (KD-мост строится после выбора fusion). - Никакой замены StripNet или обучения собственных моделей depth/seg/CHM/captions. - Никакого использования GPS, координат, имён локаций и paired-view признаков.