forked from Pikaliov/fuze_task
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>
This commit is contained in:
103
docs/00_project/06_MERIDIAN_CONTEXT.md
Normal file
103
docs/00_project/06_MERIDIAN_CONTEXT.md
Normal file
@@ -0,0 +1,103 @@
|
||||
# Контекст: место проекта в системе 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 признаков.
|
||||
Reference in New Issue
Block a user