Files
fuze_task/docs/00_project/06_MERIDIAN_CONTEXT.md
Pikaliov 2c6a00a4ca fuse_proj: Initial operational package for 3 researchers (Pavlenko/Blizno/Moroz)
Multimodal fusion research on StripNet+GTA-UAV proxy:
- 3 independent fusion tracks: condition-aware (A), token/bottleneck (B), role-aware (C)
- Shared interfaces, protocol, dataset audit, baseline benchmarks
- Canonical version-chain references to vault (SPEC, ANALYSIS, TRIAGE)
- Personalized task plans and decision tables for each researcher
- 3 generated DOCX task assignment files with milestones and DoD checklist
- Full modality dropout diagnostics and missing-modality robustness requirements
- Data contract, benchmark registry, experiment tracking infrastructure

Operational documents:
- docs/00_project/: MERIDIAN context, protocol, repository reuse guide, experiment specification
- docs/01_tasks/: Master assignment + 3 individual researcher tracks + joint integration
- docs/02_references/: Core literature, version-chain bases, code maps
- docs/03_codebase_guides/: Existing code snapshots from vault
- scripts/: gen_task_plans.js (DOCX generation), placeholder infrastructure
- vendor_reference/: Snapshots of caption_test, depth_edges_annotate, existing SOFIA/SegModel code
- reports/, results/, experiments/: Shared output structure for all 3 researchers

3 DOCX files generated from gen_task_plans.js (Times New Roman 14pt, GOST format):
- План_заданий_Павленко_БВ.docx (Condition-Aware track, fusion API owner)
- План_заданий_Близно_МВ.docx (Token/Bottleneck track, benchmark owner)
- План_заданий_Мороз_ЕС.docx (Role-Aware track, data contract owner)

Co-Authored-By: Claude Haiku 4.5 <noreply@anthropic.com>
2026-06-11 17:16:57 +03:00

104 lines
10 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Контекст: место проекта в системе MERIDIAN
Этот документ объясняет, частью какой большой системы является fuse_proj, почему эксперимент поставлен именно на StripNet и GTA-UAV и что произойдёт с победившей архитектурой дальше. Понимание этого контекста обязательно для всех трёх сотрудников: оно определяет вторичные критерии выбора архитектуры.
## 1. Большая система: MERIDIAN
MERIDIAN — асимметричная TeacherStudent система кросс-видовой геолокализации БПЛА (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 признаков.