diff --git a/reports/02_fusion_core_персональный.md b/reports/02_fusion_core_персональный.md
new file mode 100644
index 0000000..cf86865
--- /dev/null
+++ b/reports/02_fusion_core_персональный.md
@@ -0,0 +1,183 @@
+[[02_fusion_core_общий]]
+# CONDITION-AWARE
+
+## Primary
+
+### F39_FU_2025_CAFuser
+
+| Поле | Вопрос |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
+| Task | condition-aware семантическая сегментация в неблагоприятных условиях (погода/освещение), автономное вождение (MUSES). |
+| Inputs | RGB + сенсорные модальности (lidar/event/radar), per-modality feature maps + env-descriptor (condition). |
+| Fusion level | mid-network (per-modality адаптеры, модулируемые condition-токеном). |
+| Operator | condition token → модуляция вклада адаптеров (условный гейтинг, FiLM-подобный над адаптерами). |
+| Direction | симметрично |
+| Identity path | Напрямую нет |
+| Missing-modality | отключение адаптера соответствующей модальности |
+| Compute | Число параметров при добавлении адаптера на новую модальность |
+| Evidence | MUSES PQ baselines меньше, чем с применением метода;
Driving results:
Уменьшение числа параметров при использовании адаптеров в сравнении с baseline и 4 раздельными бэкбонами |
+| Transfer | condition token = ваш контроллер `c_v`;
env-descriptor → замена на content-summary + quality + `e_view`;
shared backbone = StripNet `shared=True` |
+| Risk | Что будет при неинформативном погодном сигнале? Нужно включить оценку его качества? |
+| Decision | Использовать + адаптировать (вторичный механизм с адаптерами) |
+### F37_FU_2024_AsymFormer
+
+| Поле | Вопрос |
+| ---------------- | ------------------------------------------------------------------------------- |
+| Task | асимметричная RT RGB-D семантическая сегментация |
+| Inputs | RGB (heavy backbone) + Depth (light backbone) |
+| Fusion level | mid (cross-modal attention модули). |
+| Operator | асимметричное cross-modal attention
(LAFS + CMA) |
+| Direction | асимметричная |
+| Identity path | До финального слияния |
+| Missing-modality | - |
+| Compute | - |
+| Evidence | real-time RGB-D seg; FP16 |
+| Transfer | Идея основного якорного RGB и более легких aux |
+| Risk | cross-attention растёт с токенами; FP16-only, нет INT8; домен seg, не retrieval |
+| Decision | адаптировать или отклонить |
+### F43_FU_2024_Robust_PEFT_SSF
+
+| Поле | Вопрос |
+| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Task | робастное мультимодальное обучение при отсутствующих модальностях через PEFT |
+| Inputs | мультимодальные фичи; per-channel `γ,β` |
+| Fusion level | mid |
+| Operator | FiLM, PEFT <1% params |
+| Direction | Симметричная |
+| Identity path | При `γ=1, β=0` |
+| Missing-modality | Modulation учитывает absence → adapts other modalities to compensate |
+| Compute | params overhead < 1% |
+| Evidence | **NYUDv2 mIoU 44.77%** > TokenFusion 43.08% (+1.69pp); MFNet RGB+Thermal 53.06% > CRM SOTA 52.90%; **NTU RGB+D 92.91%** > UMDR 92.23%; **Food-101 avg 79.83%** > Input Prompts 78.54%; CMU-MOSEI F1 58.75% |
+| Transfer | Missing modality handling pattern — modulation учитывает modality availability mask; |
+| Risk | Без доп. адаптации чистый FiLM хуже Dynamic gate |
+| Decision | адаптировать, якорь |
+### F47_FU_2026_TacFiLM
+
+| Поле | Вопрос |
+| ---------------- | ----------------------------------------------------------------------------------- |
+| Task | добавление тактильной модальности к pretrained мультимодальной VLA (post-training). |
+| Inputs | visual feartures; tactile features |
+| Fusion level | mid |
+| Operator | FiLM с **zero-init β** |
+| Direction | асимметричная |
+| Identity path | **zero-init β = identity при init** |
+| Missing-modality | zero-init β → отсутствующая модальность вносит ноль. |
+| Compute | Число параметров на модальность |
+| Evidence | Какой experimental result подтверждает механизм? |
+| Transfer | Pretrained representations of tactile signals;
identity-path концепт; |
+| Risk | **Низкая прямая релевантность** — robotic tactile sensing ≠ aerial CVGL retrieval |
+| Decision | принять и адаптировать zero-init b |
+### F40_M³amba (CLIP-driven Mamba RS)
+
+| Поле | Вопрос |
+| ---------------- | ------------------------------------------------------------------------------------------------------------------------------------- |
+| Task | мультимодальная классификация в remote sensing (hyperspectral + LiDAR/SAR), pixel-level. |
+| Inputs | две RS-модальности `X1,X2 [h,w,c]` |
+| Fusion level | mid |
+| Operator | CLIP-driven per-modality адаптеры + **Cross-SS2D** (кросс-модальный скан: `As_f=(As1+As2)/2`, обмен `Bs1↔Bs2`). |
+| Direction | симметрично |
+| Identity path | - |
+| Missing-modality | синтез прямо помечает ⚠ «assumes all modalities present»); усреднение `As` и обмен `B` требуют обеих. |
+| Compute | линейная (Mamba) |
+| Evidence | **+5.98%** в среднем над SOTA в мультимодальной HSI-классификации; RS-домен. |
+| Transfer | **топология = ваш сетап** — frozen backbone (CLIP ↔ ваш frozen StripNet/DINOv3) + per-modality лёгкие адаптеры, минимальное обучение. |
+| Risk | (п) SSM skip `D` есть, но Cross-SS2D усреднение перемешивает → нет чистого anchor; ломается при validity=0 |
+| Decision | отклонить |
+
+### F44_Fusion-Mamba (Cross-mod Detection)
+
+| Поле | Вопрос |
+| ---------------- | --------------------------------------------------------------------------------------------------------------------- |
+| Task | cross-modality object detection (RGB+IR). |
+| Inputs | RGB + IR feature maps; SSM-состояния. |
+| Fusion level | multi-level |
+| Operator | SSM cross-state + **mul+add** гейтинг (`y'_R = y_R·z_R + z_R·y_IR`). |
+| Direction | симметрично |
+| Identity path | - |
+| Missing-modality | Отсутствие ЛОМАЕТ обработку в SSM-cross-gate |
+| Compute | Стоимость SSM |
+| Evidence | **+5.9% mAP M³FD, +4.9% FLIR** (TMM peer-review). |
+| Transfer | - |
+| Risk | При отсутствии модальности mul-компонент потеряет информацию;
При дропауте модальности ненадежно + mixed precision |
+| Decision | адаптировать DSSF |
+### F68 RemoteDet-Mamba
+
+| Поле | Вопрос |
+| ---------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Task | мультимодальная детекция объектов на **БПЛА-снимках RS** (DroneVehicle, RGB+TIR детекция и подсчёт машин) |
+| Inputs | RGB + TIR (инфракрасное) [840, 840, 3] |
+| Fusion level | mid |
+| Operator | **Cross-modal Fusion Mamba (CFM)** — однослойный four-directional SS2D-скан на patch-уровне над суммой `f^FUS = f^R + f^IR` |
+| Direction | Симметричная |
+| Identity path | **ДА, структурно** — `F̂^i = F^i + Linear(...)`: при `Linear≈0` выход = вход |
+| Missing-modality | При отсутствии текста неприменимо в силу архитектуры метода |
+| Compute | Выч. стоимость внимания, тяжелая MLLM |
+| Evidence | DroneVehicle mAP@0.5 **81.8%**, +1.2% над DMM. Но решающее — **ablation**: TIR-only **69.4 → простой Add 80.8 (+11.4 pp) → Bid-scan 81.1 → CFM 81.8 (всего +1.0 над Add)**. То есть **простое поэлементное сложение даёт +11.4 pp, а весь Mamba-оператор поверх — лишь +1.0 pp**. |
+| Transfer | **ADD-first свидетельство** — сильнейшее во всём корпусе доказательство, что additive residual забирает почти весь выигрыш, а сложный оператор дает малый прирост |
+| Risk | CFM = SSM cross-state над `f^R+f^IR` → хрупок под validity=0; |
+| Decision | Адаптировать идею residual, но отклонить метод т.к. CFM лишь +1.0 над Add (факт); маржа не переживёт multi-seed; SSM хрупок при validity=0 |
+### F4_FU_2025_EarthMind
+
+| Поле | Вопрос |
+| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Task | cross-sensor мультимодальная LLM для EO (QA/grounding). |
+| Inputs | optical + SAR + text query |
+| Fusion level | mid (hierarchical cross-modal attention) |
+| Operator | Hierarchical Cross-modal Attention (HCA) |
+| Direction | Симметричная на стадии1 и асимметричная на стадии 2 |
+| Identity path | Нет |
+| Missing-modality | При отсутствии текста неприменимо в силу архитектуры метода |
+| Compute | Выч. стоимость внимания, тяжелая MLLM |
+| Evidence | Earth observation benchmarks |
+| Transfer | per-token adaptive weighting для баланса модальностей? |
+| Risk | поведение при отсутствии text, т.к. в работе он является основным cond. signal;
преимущество экономии квадратичной стоимости проявляется для пары модальностей, а не при произв. их числе;
оценки только на собственном бенчмарке; |
+| Decision | отклонить |
+
+## Extra
+
+### B14_StripNet
+
+[[NOTES#^ead71b]]
+### F14_WeatherPrompt
+
+[[NOTES#^e9be0c]]
+
+| Поле | Вопрос |
+| :--------------- | :-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Task | Cross-view geo-localization с адаптацией к условиям съёмки (день/ночь, погода, сезон). |
+| Inputs | RGB (UAV / спутник) + text prompt (условия съёмки: освещение, погода). |
+| Fusion level | Mid — FiLM встраивается в последние 1/3 блоков visual backbone (Feature Pyramid, Late Layers). |
+| Operator | FiLM (Feature-wise Linear Modulation): $F_{out} = \gamma \odot F_{in} + \beta$; генераторы $f_\gamma, f_\beta$ — 2-Layer MLP из text_embed (768-d → 256 → C). |
+| Direction | Однонаправленная: text → visual. Текст модулирует RGB-ветку, обратной связи нет. |
+| Identity path | Да — zero-init последнего слоя $f_\gamma$ + $\exp(\cdot)$: на старте $\gamma=1.0$, $\beta=0.0$ (identity mapping, pre-trained веса не разрушаются). |
+| Missing-modality | При отсутствии text prompt — graceful degradation к identity ($\gamma=1, \beta=0$). Архитектурно безопасно. |
+| Compute | Лёгкая: два `MLP (768→256→C)` на inference. INT8-совместимо полностью. |
+| Evidence | CVGL Night R@1 +13.37% vs baseline; FiLM > Cross-Attention > Concat на ночной кросс-видовой задаче. |
+| Transfer | Расширение до 5 модальностей через Privileged Context Vector (PCV):
`PCV = [DepthEmb ⊕ EdgeEmb ⊕ TextEmb]`
`(768-d)` → единый $f_\gamma, f_\beta$. |
+| Risk | SSF (**F43** TPAMI) генерирует статичные $\gamma, \beta$ per-task — уступает WeatherPrompt в data-driven адаптации; PCV-конкатенация может размыть вклад отдельных модальностей при несбалансированных эмбеддингах. Two-Speed LR обязателен (LR_FiLM × 100 vs LR_Backbone). |
+| Decision | **Принять** **как архитектурный паттерн Multi-FiLM-Fusion для Teacher-ветки MERIDIAN. PCV-формула — canonical источник для TextFiLM в SOFIA UAVHead/SatHead.** |
+### C5
+
+| Поле | Вопрос |
+| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
+| Task | cross-sensor мультимодальная LLM для EO (QA/grounding). |
+| Inputs | optical + SAR + text query |
+| Fusion level | mid (hierarchical cross-modal attention) |
+| Operator | Hierarchical Cross-modal Attention (HCA) |
+| Direction | Симметричная на стадии1 и асимметричная на стадии 2 |
+| Identity path | Нет |
+| Missing-modality | При отсутствии текста неприменимо в силу архитектуры метода |
+| Compute | Выч. стоимость внимания, тяжелая MLLM |
+| Evidence | Earth observation benchmarks |
+| Transfer | per-token adaptive weighting для баланса модальностей? |
+| Risk | поведение при отсутствии text, т.к. в работе он является основным cond. signal;
преимущество экономии квадратичной стоимости проявляется для пары модальностей, а не при произв. их числе;
оценки только на собственном бенчмарке; |
+| Decision | отклонить |
+### Канонические опоры (проверенные выводы из vault, использовать в evidence matrix)
+
+| Источник | Факт | Следствие для трека A |
+| ----------------------------------------------- | -------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------- |
+| **C5** WeatherPrompt (NeurIPS 2025), `05_text/` | Dynamic Gate 80.20 > Concat 78.90 > Static gate 78.45 | веса fusion должны быть instance-conditioned — прямой аргумент за controller |
+| **F14** WeatherPrompt deep dive | FiLM 73.37% > CrossAttn 68.10% > Concat 62.50%; спецификация text→FiLM MLP: zero-init, two-speed LR, EMA | готовый рецепт text-пути и инициализации |
+| Flamingo (NeurIPS 2022, см. **TRIAGE §1**) | zero-init tanh(α)-gated cross-attention: при α=0 модель ≡ frozen base | корень линии identity-at-init; цитировать как первоисточник |
+| **F39** CAFuser (RA-L 2025) | condition token строится из RGB и управляет fusion остальных модальностей | каноничный шаблон трека |
+| **TRIAGE §6a**, вывод 1 | gated additive residual — dropout-safe; чисто multiplicative gating ломается при near-zero aux | residual-форма обязательна для primary |
diff --git a/reports/1.1 Подготовительный этап (Конспект).md b/reports/1.1 Подготовительный этап (Конспект).md
new file mode 100644
index 0000000..ec28331
--- /dev/null
+++ b/reports/1.1 Подготовительный этап (Конспект).md
@@ -0,0 +1,315 @@
+---
+tags:
+ - task
+ - CVGL
+ - ЛИСАД/ВЛМ
+---
+[[Base-Terms]], [[ЭТАПЫ]], [[01_required]],
+[[Основной пакет]], [[02_fusion_core_общий]], [[02_fusion_core_персональный]],
+
+**Изучение постановки и контекста проекта:**
+- README.md;
+- docs/00_project/06_MERIDIAN_CONTEXT.md (включая §5 — требование корректного поведения при отсутствии модальности);
+- docs/01_tasks/00_MASTER_ASSIGNMENT.md;
+- 01_INPUT_OUTPUT_CONTRACT.md;
+- 02_TEAM_WORKFLOW.md;
+- 03_EXPERIMENT_PROTOCOL_GTA_UAV.md
+
+# MERIDIAN CONTEXT
+
+## 1. MERIDIAN — асимметричная Teacher–Student система
+
+MERIDIAN — асимметричная Teacher–Student система кросс-видовой геолокализации БПЛА (UAV ↔ satellite) с привилегированными модальностями (LUPI/KD) и лёгким edge-инференсом.
+
+**Цель:** сравнение методов объединения и выбор по обозначенным критериям
+## 2. Teacher
+
+Имеет 8 входных потоков.
+
+|#|Поток|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|
+## 3. Цель
+
+Прямой перебор fusion-архитектур на полном Teacher (DINOv3-L, ~300M+ params) слишком дорог: один полный прогон занимает часы и съедает всю VRAM. Поэтому архитектурный поиск выполняется на **быстром прокси**:
+
+Прокси сохраняет главное: 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. Устойчивость к modality-dropout
+
+В production Teacher модальности могут отсутствовать или быть деградированными (нет caption у ~55% satellite tiles уже сейчас; depth/CHM могут быть зашумлены). Кроме того, на следующем этапе MERIDIAN планируется обучение с **modality dropout** (стохастическое отключение модальностей) — ==оно НЕ входит в ваше задание==, но накладывает требование на архитектуру:
+
+| Класс | Поведение при отсутствии модальности | Вердикт |
+| -------------------------------------------------- | -------------------------------------------- | ------------------------------ |
+| 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. В проекте отсутствует
+
+- Никакого modality dropout в training loop (это следующий этап MERIDIAN, отдельная задача).
+- Никакой дистилляции в Student (KD-мост строится после выбора fusion).
+- Никакой замены StripNet или обучения собственных моделей depth/seg/CHM/captions.
+- Никакого использования GPS, координат, имён локаций и paired-view признаков.
+
+# MASTER ASSIGMENT
+
+## 1. Исполнители
+
+| Сотрудник | Архитектурный трек | Общая ответственность |
+| -------------------------- | --------------------------------------- | ---------------------------------------------------- |
+| **Павленко Богдан Викторович** | **Condition-Aware RGB-Anchored Fusion** | **общий fusion API и architecture consistency** |
+| Близно Максим Витальевич | Token/Bottleneck Full-Modal Aggregation | benchmark, metrics, run registry и статистика |
+| Мороз Егор Сергеевич | Role-Aware Hierarchical Fusion | dataset contract, preprocessing и quality validation |
+## 2. Что требуется решить
+
+Нужно разработать алгоритм объединения модальностей для cross-view geo-localization. Для каждой view-ветки доступен свой набор:
+- img
+- text
+- geom
+- segm
+
+Один shared `StripNet-small` кодирует RGB.
+### 2.1. Зачем это нужно
+
+Для архитектурного отбора fusion-механизма для Teacher системы MERIDIAN на быстром прокси (StripNet + GTA-UAV вместо DINOv3 + production-данных).
+Отсюда два следствия:
+
+1. Нас интересует **класс механизма и причина его успеха**, а не выжатые гиперпараметрами проценты.
+2. Вторичный критерий отбора — **корректное поведение при отсутствии модальности** (validity mask = 0): выход конечен, RGB-путь не искажён
+
+### 2.2. Заметки о данных
+
+|Факт|Значение|Следствие|
+|---|---|---|
+|Satellite RGB|14,640 PNG 256×256, **RGBA**|alpha-канал проверить и отбросить осознанно|
+|UAV RGB|33,763 PNG 512×384, высоты 100–600 м|resize к 256×256 фиксируется единообразно|
+|Captions UAV|33,411 из 33,763 (~99%)|почти полное покрытие|
+|Captions satellite|**6,546 из 14,640 (~44.7%)**|text_valid mask обязателен; пустой caption ≠ нулевой текст|
+|Auxiliary maps|48,403 изображений: segm/depth/edge/chm (+SafeTensors)|edges в primary input не входят|
+|Segmentation|17 unified classes|канон классов — `vendor_reference/depth_edges_annotate_worlduav/scripts/seg_classes.py`|
+|Seg-filter|37,498 из 48,403 прошли фильтр (≥90% background+water исключены)|фильтр применяется одинаково ко всем вариантам|
+|Расположение данных|Linux-сервер: `/home/servml/Документы/datasets/GTA-UAV-LR{,-captions,-aug}/`|фактические пути фиксируются в gin и ENVIRONMENT_AUDIT|
+
+## 3. Входные и выходные данные
+[[#IO CONTRACT]]
+### 3.1. Satellite branch
+
+```
+RGB satellite [B, 3, 256, 256]
+Caption satellite list[str] / tokenized text
+CHM [B, 1, 256, 256]
+Segmentation [B, 1, 256, 256] IDs или [B, 17, 256, 256]
+Validity masks geometry + segmentation
+```
+### 3.2. Satellite branch
+
+```
+RGB UAV [B, 3, 256, 256]
+Caption UAV list[str] / tokenized text
+Relative depth [B, 1, 256, 256]
+Segmentation [B, 1, 256, 256] IDs или [B, 17, 256, 256]
+Validity masks geometry + segmentation
+```
+
+### 3.3. Выходные данные
+
+```
+descriptor [B, 1024], L2 normalized
+rgb_descriptor [B, 1024]
+modality_contributions
+diagnostics
+```
+
+Далее вычисляется similarity matrix UAV-to-satellite. Fusion-модуль не получает features противоположной view.
+
+## 4. Цель экспериментов
+
+Проверить, может ли full-modal representation улучшить cross-area retrieval относительно StripNet RGB-only и какой класс fusion делает это наиболее надёжно.
+
+Primary metric: cross-area UAV-to-satellite R@1.
+Secondary:
+- R@5, R@10, MRR, AP;
+- satellite-to-UAV retrieval;
+- mean и std по seed 42/123/456;
+- peak VRAM, latency, trainable params;
+- вклад text, segmentation и geometry;
+- отсутствие modality collapse.
+
+## 5. Архитектурный кандидат
+
+RGB остаётся anchor. Auxiliary encoders строят residual corrections, а controller определяет их вклад в зависимости от content и качества входов.
+# IO CONTRACT
+
+Одна обучающая запись содержит UAV-снимок запрос (query) и один положительный satellite кандидат (1 к 1). На eval может быть 1 к * (несколько допустимых sat matches)
+
+## 1. Sat view
+
+|Поле|Форма|Dtype|Нормализация|Назначение|
+|---|---|---|---|---|
+|`rgb`|`[B, 3, 256, 256]`|`float32`|ImageNet mean/std|вход StripNet|
+|`text`|`list[str]` или tokens|string/int|согласно text encoder|описание сцены без location leakage|
+|`geometry`|`[B, 1, 256, 256]`|`float32`|robust per-frame CHM normalization|высотная структура|
+|`segmentation`|`[B, 1, 256, 256]` class IDs или `[B, 17, 256, 256]` probabilities|`uint8`/`float32`|IDs `0..16` или probabilities|land-cover semantics|
+|`geometry_valid`|`[B, 1, 256, 256]`|`bool`|нет|валидные CHM pixels|
+|`segmentation_valid`|`[B, 1, 256, 256]`|`bool`|нет|валидные segmentation pixels|
+|`sample_id`|`[B]`|string|нет|только логирование, не feature|
+
+## 2. UAV view
+
+|Поле|Форма|Dtype|Нормализация|Назначение|
+|---|---|---|---|---|
+|`rgb`|`[B, 3, 256, 256]`|`float32`|ImageNet mean/std|вход StripNet|
+|`text`|`list[str]` или tokens|string/int|согласно text encoder|описание сцены без location leakage|
+|`geometry`|`[B, 1, 256, 256]`|`float32`|relative depth normalization|структура и масштабные признаки|
+|`segmentation`|`[B, 1, 256, 256]` class IDs или `[B, 17, 256, 256]` probabilities|`uint8`/`float32`|IDs `0..16` или probabilities|spatial semantics|
+|`geometry_valid`|`[B, 1, 256, 256]`|`bool`|нет|валидные depth pixels|
+|`segmentation_valid`|`[B, 1, 256, 256]`|`bool`|нет|валидные segmentation pixels|
+|`sample_id`|`[B]`|string|нет|только логирование, не feature|
+
+## 3. StripNet
+
+|Stage|Tensor|Spatial stride|Разрешённое использование|
+|--:|---|--:|---|
+|1|`[B, 64, 64, 64]`|4|преимущественно RGB low-level; auxiliary fusion только после отдельного обоснования|
+|2|`[B, 128, 32, 32]`|8|dense segmentation/geometry кандидаты|
+|3|`[B, 320, 16, 16]`|16|основной mid-level fusion|
+|4|`[B, 512, 8, 8]`|32|high-level fusion и readout|
+|GAP|`[B, 512]`|global|RGB anchor descriptor|
+|Projection|`[B, 1024]`|global|retrieval descriptor до L2 normalization|
+## 4. Fusion output
+
+Каждый `encode_view` возвращает:
+
+|Поле|Форма|Требование|
+|---|---|---|
+|`descriptor`|`[B, 1024]`|finite, L2 norm `1 +/- 1e-4`|
+|`rgb_descriptor`|`[B, 1024]`|RGB anchor для диагностики|
+|`modality_contributions`|`[B, 3]` или dict|text, segmentation, geometry|
+|`diagnostics`|dict tensors/scalars|gates, attention mass, norms, entropy|
+
+Диагностика не должна менять descriptor в eval mode.
+## 5. Парный forward
+
+satellite batch -> encode_view(view="satellite") -> z_sat [B, 1024]
+UAV batch -> encode_view(view="uav") -> z_uav [B, 1024]
+similarity = z_uav @ z_sat.T / temperature
+## 6. Text contrat
+
+- Поддержать L1, L2, L3 или выбранную объединённую схему.
+- Пустой satellite caption обрабатывается через explicit validity mask.
+- Пустая строка не должна кодироваться как полноценный semantic signal.
+- Caption не должен содержать координаты, названия районов, file names и прямые match identifiers.
+- Text encoder и token budget фиксируются для честного сравнения fusion variants.
+## 8. Geometry contract
+
+- CHM и depth имеют общий ключ `geometry`, но разные preprocessing и projector parameters.
+- Нельзя считать численные значения depth и CHM сопоставимыми до view-specific normalization.
+- PNG допускается только для визуальной проверки. Для обучения использовать dense tensors/SafeTensors.
+- Любая производная карта, например depth gradient, считается внутри documented preprocessing block.
+## 9. Segmentation contract
+
+- Канонический набор: 17 unified classes.
+- Primary representation определяется командой на interface-freeze: class IDs + embedding или probabilities/logits.
+- Hard RGB palette images не используются как model input.
+- Редкие и отсутствующие классы не должны приводить к NaN при mask pooling.
+## 10. Запрещённые признаки
+
+- GPS и координаты.
+- Название карты, района или локации.
+- Индекс paired image как embedding.
+- Features второй view-ветки внутри текущего encoder.
+- Evaluation labels внутри preprocessing.
+
+# Регламент совместной работы
+
+У команды три архитектурных трека, но одна кодовая и экспериментальная система.
+
+| Область | Driver | Обязательные reviewers |
+| ---------------------------------- | ------------ | ---------------------- |
+| **Fusion API и registry** | **Павленко** | Близно, Мороз |
+| Dataset и modality validation | Мороз | **Павленко**, Близно |
+| Training/eval benchmark | Близно | **Павленко**, Мороз |
+| **Condition-aware module** | **Павленко** | Мороз |
+| Token/bottleneck module | Близно | **Павленко** |
+| Role-aware module | Мороз | Близно |
+| Общая experiment matrix | Близно | все |
+| **Финальная архитектурная оценка** | **все** | **все** |
+## Этапы
+
+### Gate 0. Environment audit
+
+- Проверить локальные пути двух внешних проектов.
+- Зафиксировать путь GTA-UAV RGB, captions, pair JSON и annotations.
+- Проверить checkpoint StripNet.
+- Выполнить чтение обязательного пакета.
+- Создать `reports/joint/ENVIRONMENT_AUDIT.md`.
+### Gate 1. Interface freeze
+
+До реализации архитектур команда совместно утверждает:
+
+1. Формат segmentation: IDs/embedding или probabilities.
+2. Формат CHM/depth и normalization.
+3. Text encoder, уровни captions и output dimension.
+4. `FusionModelBase` API.
+5. Common diagnostics keys.
+6. Baseline config и output directory convention.
+
+Результат: `reports/joint/INTERFACE_DECISION.md`. Изменения после freeze требуют записи причины и влияния на все три варианта.
+### Gate 2. RGB-only baseline
+
+- Один общий StripNet-only run.
+- Один общий dataloader.
+- Один общий evaluation script.
+- Smoke run на малом subset.
+- Полный baseline минимум на seed 42, затем финальный baseline на 42/123/456.
+Без подтверждённого baseline реализация fusion не переходит к полным запускам.
+### Gate 3. Independent implementation behind common API
+
+Каждый сотрудник реализует свой модуль в отдельной feature branch. Разрешены разные внутренние операторы, но входы, выходы, loss и logging одинаковы.
+### Gate 4. Pair review
+
+Reviewer проверяет:
+
+- shape contract;
+- отсутствие cross-view leakage;
+- корректность masks;
+- identity/residual path;
+- вычислительную сложность;
+- диагностируемость вклада модальностей;
+- тесты и gin config.
+### Gate 5. Smoke comparison
+
+Все три модуля запускаются:
+
+- на одном subset;
+- с одним seed;
+- на одинаковом числе batches;
+- с одинаковым optimizer/loss;
+- с logging peak VRAM и latency.
+
+Цель: найти ошибки интеграции, а не выбрать победителя.
+### Gate 6. Full experiment matrix
+
+После smoke comparison выполняются primary runs и выбранные ablations по общему protocol.
+### Gate 7. Joint decision
+
+Команда совместно заполняет decision table. Архитектура не выбирается по одному лучшему run. Учитываются mean, variance, compute, стабильность и интерпретируемость вклада модальностей.
\ No newline at end of file
diff --git a/reports/EVIDENCE MATRIX.md b/reports/EVIDENCE MATRIX.md
new file mode 100644
index 0000000..970cc65
--- /dev/null
+++ b/reports/EVIDENCE MATRIX.md
@@ -0,0 +1,27 @@
+
+[[02_fusion_core_персональный]]
+
+# EVIDENCE MATRIX
+
+# Канонические опоры fusion — разбор по 9 источникам (для evidence matrix, Трек A)
+
+| Source | Original task | Fusion operator | Conditioning signal | Identity path | Transfer to StripNet | Risk |
+| -------------------------------------- | ------------------------------------------------------------------------------------------------ | ------------------------------------------------------------------------------------------ | --------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------- |
+| **F39 CAFuser** (RA-L 2025) | condition-aware сегментация в неблагопр. условиях (MUSES, вождение) | condition token модулирует per-modality адаптеры (FiLM-подоб.); shared backbone + adapters | condition token из RGB/сцены (env-condition) | (п) → identity при zero-init адаптеров; в статье не RGB-residual | condition token = ваш `c_v`; env → content+quality+`e_view`; shared backbone = StripNet `shared=True` | в CVGL нет env-сигнала → при неинформативном condition гейты схлопываются в static |
+| **F37 AsymFormer** (CVPR-WS 2024) | real-time асимметр. RGB-D сегментация | асимметр. cross-modal attention (LAFS + CMA) | нет (feature-driven); RGB-heavy / depth-light | RGB тяжёлый primary, aux лёгкий модулирует; (п) RGB сохраняется ёмкостной асимметрией, не явным residual | = ваш RGB-anchor + лёгкие aux-проекторы (3.3); подтверждает aux-light/RGB-heavy | cross-attention растёт с токенами; FP16-only, нет INT8; домен seg, не retrieval |
+| **F43 SSF / Robust PEFT** (TPAMI 2024) | робастность к missing modalities через PEFT | FiLM `γ⊙x+β` per-channel, PEFT <1% params | per-channel scale/shift; learnable, **не** instance-conditioned | `γ=1,β=0` → identity; small-variance init | ядро A-C2; <1% overhead в бюджет лёгких адаптеров | статичен без ACF-обёртки; чистый FiLM < dynamic gate (73.37 < 80.20) |
+| **F47 TacFiLM** (2026) | добавление тактильной модальности к frozen VLA (post-training) | FiLM с **zero-init β** | tactile features → `γ,β` | **zero-init β = identity при init** (явно в статье) | zero-init β = ваш identity-at-init (3.5, тест 4.2); aux к frozen StripNet = ровно ваш сетап | zero-init → медленное обучение без two-speed LR |
+| **F40 M³amba** (2025) | мультимод. RS-классификация (HSI + LiDAR) | frozen CLIP + per-modality adapters + **Cross-SS2D** (SSM: `As` усред., `B` обмен) | CLIP semantic features направляют fusion | (п) SSM skip `D` есть, но Cross-SS2D усреднение перемешивает → нет чистого anchor | топология frozen-backbone + per-modality adapters = ваш 3.3; RS domain-match. Оператор Cross-SS2D **не** переносим | **⚠ предполагает все модальности присутствующими** (факт); (п) Cross-SS2D ломается при validity=0 |
+| **F44 Fusion-Mamba** (TMM 2025) | cross-modality detection (RGB+IR) | SSM cross-state (SSCS) + **DSSF gating** (mul+add: `y_R·z_R + z_R·y_IR`) | гейт из кросс-модальных состояний (нет внешнего condition) | (п) нет; mul-член ломает identity | DSSF mul+add — ближайший к FiLM примитив; но SSM-scan нет в StripNet | +5.9% mAP через gating (факт); mul-член убивает инфо при validity=0; SSM нестабилен под dropout |
+| **F68 RemoteDet-Mamba** (2024) | мультимод. **UAV** RS-детекция (DroneVehicle RGB+TIR) | element-wise **Add** + однослойный 4-напр. SS2D (CFM); residual `F̂=F+Linear(fused)` | нет (feature-driven scan) | residual `F̂=F+Linear(Y_fus)` → identity при `Linear≈0` (структурно, факт) | residual = скелет A-C1; **ADD-first ablation (Add +11.4 vs CFM +1.0) = ваш falsification-якорь**; ближайший UAV-домен | CFM лишь +1.0 над Add (факт); маржа не переживёт multi-seed; SSM хрупок при validity=0 |
+| **F4 EarthMind** (2025) | cross-sensor мультимод. LLM для EO (QA/grounding) | hierarchical cross-modal attention (HCA) + per-token softmax gating | text query + **MAS-диагностика баланса модальностей** | (п) нет RGB-residual; attention-based | **MAS modality-balance → ваши diagnostics (4.3)**; per-token gating как концепт; но требует text query | требует text-query на inference → ломается в query-free retrieval; тяжёлая mLLM |
+| **B14 StripNet** (Strip R-CNN) | RS oriented object detection (полосовые свёртки); здесь — прокси виз-энкодер (~28M, ImageNet-1K) | N/A — это backbone, **не** fusion-оператор (fusion строится поверх) | N/A | (п) даёт `X_rgb`-якорь, identity тривиальна; Stage-4 `[B,512,h,w]`→GAP→`[B,512]`→Linear→`[B,1024]` | это **и есть** StripNet (факт): frozen + Conv-MONA last-2 stages, `shared=True`, retrieval-dim 1024 | frozen capability floor — слабый backbone ⇒ потолок fusion-выигрыша; strip-ядра под detection, не retrieval (domain risk) |
+| **F14_WeatherPrompt** | Решение критической проблемы CVGL с падением точности при смене освещения, погоды и сезона | FiLM с динамической генерацией `γ β` из текстового эмбеддинга | Текстовый эмбеддинг | - _Особенность инициализации:_ Последний слой в `fγ` инициализируется нулями, а выход оборачивается в экспоненту: `γ=exp(fγ(text))`. Это гарантирует, что на старте обучения `γ=1.0, и β=0.0` (Identity mapping, не разрушающий pre-trained веса). | Возможность получить **Privileged Context Vector (PCV)** из конкатенации D, E, Txt embs (768) и подать в генераторы | Необходим достаточно релевантный текстовый промпт |
+| | | | | | | |
+
+## Сквозной вывод
+
+По столбцу **Identity path** явная identity подтверждена в статьях только у **F43, F47 и F68** (три независимых источника) — это опорная триада для теста identity-at-init (4.2). У F39 / F40 / F44 / F4 identity либо предположение, либо отсутствует, что отделяет «легальные для primary» операторы от «только-research-arm».
+
+
+
diff --git a/reports/Fusion RGB MM full v1.md b/reports/Fusion RGB MM full v1.md
new file mode 100644
index 0000000..d142f09
--- /dev/null
+++ b/reports/Fusion RGB MM full v1.md
@@ -0,0 +1,138 @@
+
+# 1. Резюме (Master)
+
+Full multi-modal fusion в MERIDIAN — **холистический pipeline** для Triple-Teacher (DINOv3-L SAT/Web-LVD/7B, frozen, ~356M+) объединяющий **5 modalities × 2 views = 10 channels** через 10 категорий fusion-парадигм. Master synthesis 4 sub-pair reviews + general fusion review.
+
+```
+DINOv3-L backbone (frozen): ~356M
+Per-modality adapters (×5): ~500K (5 × 100K, light)
+Multi-FiLM γ,β projections (×5): ~50K (5 × ~10K)
+KARMMA tokens (5 modalities): ~100K (5 × 20K)
+Θ-Average: 0 (parameter-free)
+─────────────────────────────────────────
+Total trainable params: ~650K (~0.2% backbone)
+```
+
+### Master Outcomes
+
+1. **Primary fusion mechanism:** Multi-FiLM-Fusion (F43 SSF TPAMI 2024 anchor + F47 zero-init β) — **<1% params overhead, INT8-compatible**
+2. **Secondary mechanism:** ACF Condition Token (F39 CAFuser RA-L 2025) — **-54% params vs separate backbones**
+3. **Parallel-arm research:** Fusion-Mamba (F44 TMM 2025) — **+5.9% mAP detection benchmark**
+4. **Critical ablations (F88 KARMMA):**
+ - Two-token missing-modality strategy
+ - Θ-Average FB reduction (-81.45% memory)
+ - Modality dropout 50% canonical
+5. **Missing modality handling** convergent evidence (4 sources): F45 + F88 + F89 + F90 → **dropout p=0.5 canonical**
+6. **Production-ready INT8 stack** confirmed (AUDIT_N6 v2: ~0-2 ms fusion overhead)
+
+### Per-Pair Contribution Summary
+
+|Pair|Modality|Expected R@1 gain|Status|
+|:-:|:--|:-:|:--|
+|**A**|Segmentation|+2-4% (L_seg aux)|Primary aux|
+|**B**|Depth + Normals|+2-4% (geometric)|Primary geometric|
+|**C**|CHM|+0.5-1.5% (vegetation scenes)|Optional niche|
+|**D**|Text|+0.5-1% (visually-ambiguous)|Secondary|
+|**Edges**|Edges|+1-2% (with depth synergy)|Supporting|
+|**Combined**|Full 5-modal|**+3-5% R@1 total**|Triple-Teacher|
+### Top-5 Critical Reads (Master)
+
+| # | Paper | Venue | Year | Role |
+| :-: | :------------------------ | :-------------------- | :--: | :----------------------------------------------- |
+| 1 | **F43 SSF (Robust PEFT)** | **IEEE TPAMI** | 2024 | Multi-FiLM anchor (<1% overhead) |
+| 2 | **F39 CAFuser** | **IEEE RA-L** | 2025 | ACF canonical (-54% params) |
+| 3 | **F88 KARMMA** | arXiv | 2026 | 3 critical ablations (two-token, Θ-Avg, dropout) |
+| 4 | **F44 Fusion-Mamba** | **IEEE TMM** | 2025 | Parallel-arm (+5.9% mAP) |
+| 5 | **F45 Flex-MoE** | **NeurIPS Spotlight** | 2024 | Missing modality bank |
+# 2. MERIDIAN Triple-Teacher Architecture
+
+```
+INPUT (5 modalities × 2 views = 10 channels):
+┌──────────────────────────────────────────────────────────┐
+│ ├── RGB sat ┌── RGB UAV │
+│ ├── Depth (DepthAny v2) ├── Depth │
+│ ├── Edges (Canny/HED) ├── Edges │
+│ ├── Segmentation (SAM) ├── Segmentation │
+│ ├── CHM (Lidar/M11 ML) ├── CHM │
+│ └── Text caption (VLM) └── Text caption │
+└──────────────────────────────────────────────────────────┘
+ ↓
+DINOv3-L BACKBONE (frozen, ~356M+):
+┌──────────────────────────────────────────────────────────┐
+│ ├── DINOv3-L SAT-493M (satellite-specialized) │
+│ ├── DINOv3-L Web-LVD (web-scale) │
+│ └── DINOv3-L ViT-7B (large general) │
+└──────────────────────────────────────────────────────────┘
+ ↓
+FUSION MECHANISM (10 categories, primary: Multi-FiLM-Fusion):
+┌──────────────────────────────────────────────────────────┐
+│ Per-modality adapters (F39 CAFuser pattern, light): │
+│ ├── edge_adapter (light Conv → FiLM) │
+│ ├── depth_adapter (light Conv → FiLM) │
+│ ├── seg_adapter (light Conv → FiLM) │
+│ ├── chm_adapter (light Conv → FiLM) │
+│ └── text_adapter (CLIP encoder → FiLM) │
+│ │
+│ Multi-FiLM-Fusion (F43 SSF pattern): │
+│ F_fused = F_rgb │
+│ F_fused = film_edge(F_fused, F_edge) │
+│ F_fused = film_depth(F_fused, F_depth) │
+│ F_fused = film_seg(F_fused, F_seg) │
+│ F_fused = film_chm(F_fused, F_chm) ← when avail │
+│ F_fused = film_text(F_fused, F_text) ← when avail │
+│ │
+│ Modality dropout p=0.5 (F88+F45+F89+F90 convergent): │
+│ - Two-token KARMMA для каждой modality │
+│ - Gradual schedule (F90 sigmoid warmup) │
+│ │
+│ Θ-Average FB reduction (F88, -81.45% memory): │
+│ Output Teacher embedding compressed │
+└──────────────────────────────────────────────────────────┘
+ ↓
+OUTPUT: 512-dim Teacher embedding per view (+ optional 64-token queries)
+ ↓
+ KD signal (E2-E primary, см. ОБЗОР_KD_detailed_v1)
+ ↓
+STUDENT SOFIA v7.6 (edge, ~5M Tiny):
+┌──────────────────────────────────────────────────────────┐
+│ ├── Input: RGB sat + RGB UAV (always) │
+│ ├── Backbone (Variant-A/E/Q) │
+│ ├── Asymmetric Heads (SatHead GGeM + UAVHead CHP) │
+│ └── Optional TextFiLM caption-aware │
+│ │
+│ Latency target: <50 ms Jetson Orin NX INT8 │
+└──────────────────────────────────────────────────────────┘
+```
+
+### Hybrid Pattern (Multi-FiLM + ACF combined)
+
+**MERIDIAN architecture combines:**
+
+1. **Shared backbone (F39 CAFuser pattern):** DINOv3-L processes RGB primary
+2. **Per-modality lightweight adapters** (per F39): edge_adapter, depth_adapter, seg_adapter, chm_adapter, text_adapter
+3. **Multi-FiLM modulation per stage (F43 SSF):** Each modality contributes γ⊙F + β
+4. **Modality dropout p=0.5** training (F88+F45 convergent)
+5. **F88 KARMMA two-token** для missing-modality (each modality)
+6. **Θ-Average FB reduction** (F88, -81.45% memory)
+
+### Critical Design Choices
+
+| Decision | Rationale | Source |
+| :--------------------------------------- | :---------------------------- | :--------------------- |
+| Shared backbone + adapters | -54% params vs separate | **F39** CAFuser |
+| Multi-FiLM modulation | <1% overhead PEFT | **F43** SSF TPAMI |
+| Zero-init β identity при init | Graceful warmup | **F47** TacFiLM |
+| Two-token missing-modality | +43% Epic-Kitchens evidence | **F88** KARMMA |
+| Θ-Average FB reduction | -81.45% memory parameter-free | **F88** KARMMA |
+| Modality dropout p=0.5 | 4-source convergent | **F45+F88+F89+F90** |
+| Element-wise gating only | INT8 compatible | **F44** DSSF |
+| Cached Tensors Era | No on-device modality compute | **F8** SegEarth-R1 |
+| Per-modality adapters light (~100K each) | Param budget | **F43** PEFT principle |
+### Tier-1 (immediate — E1 Teacher fusion benchmark)
+
+1. **Multi-FiLM-Fusion (F43 + F47)** — primary mechanism
+2. **ACF (F39 CAFuser) Condition Token** — secondary for ablation
+3. **Fusion-Mamba (F44)** — parallel-arm benchmark
+4. **Per-modality light adapters** — F39 pattern (-54% params vs separate)
+5. **Modality dropout p=0.5** — canonical (4-source convergent)
+6. **Θ-Average FB reduction (F88)** — -81.45% memory, INT8-trivial
\ No newline at end of file
diff --git a/reports/NOTES.md b/reports/NOTES.md
new file mode 100644
index 0000000..83e57c0
--- /dev/null
+++ b/reports/NOTES.md
@@ -0,0 +1,125 @@
+# FusionCore Personal
+
+[[02_fusion_core_персональный]]
+
+## B14_StripNet
+
+^ead71b
+
+### 3.1. Описание архитектуры
+
+- **Общая структура:** Strip R-CNN базируется на фреймворке O-RCNN. Она включает новый бэкбон (StripNet) и новую голову детектирования (Strip Head).
+- **StripNet Backbone:** Состоит из базовых блоков, каждый из которых имеет strip-подблок и подблок feed-forward сети (FFN).
+- **Strip Module:** Включает стандартную свертку `5×5` за которой следуют две последовательные полосовые свертки (горизонтальная и вертикальная, например, `1×19` и `19×1`) и point-wise свертка.
+- **Strip Head:** Разделяет предсказание локализации и угла. Модуль локализации усилен полосовыми свертками для захвата дальнодействующих пространственных зависимостей, в то время как классификация и предсказание угла делят общие полносвязные (FC) слои.
+### 3.2. Визуальные материалы из статьи
+
+- **Figure 1:** Статистика датасета DOTA и падение точности существующих SOTA методов при увеличении соотношения сторон объектов. Показывает критичность проблемы.
+- **Figure 3:** Структурное сравнение модуля авторов с LSKNet и PKINet. Демонстрирует, что Strip R-CNN использует последовательную (strip-sequential) парадигму, в то время как PKINet — параллельную (strip-parallel), что делает Strip R-CNN более легковесным.
+- **Figure 4:** Структура базового блока Strip Module. Иллюстрирует поток данных через квадратную свертку, горизонтальную/вертикальную strip-свертки и умножение признаков.
+- **Figure 5, 6, 7:** Архитектура Strip Head и тепловые карты пространственной чувствительности. Показывают, что предсказание угла фокусируется на границах объекта, а классификация — на центре, что оправдывает их частичное слияние.
+### 3.3. Математическая формализация
+
+- **Feature Reweighing (Внимание):**
+ `Y^=X⋅Y` _Комментарий:_ `X` — входной тензор, `Y` — выход point-wise свертки, действующий как карта весов внимания (element-wise умножение).
+- **Loss Function:**
+ `L=Lc+Ll+La`
+ _Комментарий:_ Сумма кросс-энтропии для классификации (`Lc`) и Smooth L1 для локализации (`Ll`) и угла (`La`). Формула стандартна для rotated bounding box детекторов
+### 3.4. Ключевые технические решения
+
+- **Последовательные свертки:** Использование горизонтальной свертки перед вертикальной (или наоборот) работает одинаково хорошо и не требует сложных механизмов слияния, присущих параллельным ветвям.
+- **Ядро размером 19:** Экспериментально установлено, что размер ядра 19 во всех стадиях бэкбона дает оптимальный результат для вытянутых объектов.
+
+### ПРЕИМУЩЕСТВА ПОДХОДА
+
+- **Вычислительная эффективность:** Отказ от параллельных heavy-сверток в пользу последовательных strip-сверток снижает FLOPs и количество параметров, обходя конкурентов (PKINet).
+- **Архитектурная элегантность:** Отсутствие сложных модулей внимания. Векторное внимание реализуется простой point-wise сверткой.
+- **Универсальность:** Замена классического detection head на Strip Head повышает метрики даже в старых фреймворках.
+
+## F14_WeatherPrompt
+
+^e9be0c
+
+### 1. Контекст
+
+F14 решает критическую проблему Visual Geo-Localization: катастрофическое падение точности при смене освещения (день/ночь) или погоды (лето/зима). Модель использует механизм FiLM (Feature-wise Linear Modulation) для модуляции визуальных признаков на основе текстового промпта (например: "Снимок сделан глубокой ночью в тумане").
+#### Архитектура
+
+Общая структура модели WeatherPrompt представляет собой сложный двухэтапный пайплайн, состоящий из модуля офлайн-генерации мультимодальных данных и гибридной архитектуры мультимодального выравнивания (Multimodal Alignment Model).
+##### На первом этапе
+
+(генерация данных) система использует подход единичного сэмплирования (Single-image Sampling). Из каждой географической зоны случайным образом выбирается одно репрезентативное изображение с дрона для устранения избыточности. Далее, с помощью библиотеки imgaug генерируются синтетические погодные искажения. Полученные изображения обрабатываются большой мультимодальной моделью (в качестве примера авторы приводят архитектуру Qwen2.5-VL ). Модель использует стратегию Chain-of-Thought для последовательного вывода: сначала оценивается глобальная видимость, затем выявляются локальные атмосферные подсказки (отражения дождевых полос, паттерны рассеивания тумана), и на финальном шаге формируется общий погодный контекст. Вслед за этим запускается фаза пространственной семантики, где модель описывает макро-планировку, подсчитывает объекты и фиксирует топологические отношения. Одновременно сторонняя модель визуального граундинга (Visual Grounding Model - VGM), а именно XVLM, извлекает локальные семантические подсказки на уровне регионов.
+##### Второй этап (обучение и инференс)
+
+опирается на двухпоточную архитектуру. В качестве бэкбона выступает адаптированная модель XVLM, интегрирующая текстовый энкодер на базе BERT и визуальный энкодер на базе Swin Transformer. Поток данных проходит через эти энкодеры параллельно. ==Извлеченные глобальные и локальные визуальные признаки объединяются с текстовыми эмбеддингами через модуль кросс-модального слияния (Cross-modal fusion module). Ключевым узлом этого модуля является динамический строб (Weather-Driven Channel Gating), который вычисляет вектор весов на основе текста и применяет его к визуальным признакам через операцию поэлементного умножения (Hadamard product). ==Сформированный мультимодальный тензор передается в легковесный классификационный MLP-декодер (Classification Head), который проецирует признаки в пространство логитов для предсказания конкретной географической локации.
+### 2. Значимость для MERIDIAN
+
+Это прямой источник архитектурного паттерна Multi-FiLM-Fusion для Teacher-ветки. Понимание, как именно генерируются параметры `γ` и `β`, необходимо для правильной балансировки 5 модальностей (RGB, Depth, Edges, Seg, Text).
+
+==В F14 WeatherPrompt параметры масштаба (γ) и сдвига (β) генерируются динамически из текстового эмбеддинга (text_embed):==
+
+- **text_embed:** Вектор размерности 768 (выход CLIP/BERT).
+- **Генераторы fγ, fβ:** Это **НЕ линейные слои**, а **2-Layer MLPs** (Многослойные перцептроны).
+ - `Linear(768, 256) -> GELU -> Dropout(0.1) -> Linear(256, C)`
+ - Где `C` — количество каналов в Feature Map на конкретном уровне визуальной сети (например, C=1024C=1024 для DINOv3).
+- _Особенность инициализации:_ Последний слой в `fγ` инициализируется нулями, а выход оборачивается в экспоненту: `γ=exp(fγ(text))`. Это гарантирует, что на старте обучения `γ=1.0 и β=0.0` (Identity mapping, не разрушающий pre-trained веса).
+### 3. Размещение в пирамиде признаков (Feature Pyramid)
+
+F14 доказывает, что применять FiLM ко всем слоям подряд — избыточно и ведет к over-fitting.
+
+- **Early Layers (до Block 1/2):** Не модулируются. Они извлекают низкоуровневые края и градиенты, которые инвариантны к тексту.
+- **Middle Layers (Blocks 2, 3):** Слегка модулируются.
+- **Late Layers (Block 4 / Последние 3 блока Transformer):** Интенсивно модулируются. Именно здесь сеть принимает семантические решения ("Это снег или белая крыша?").
+- **Вывод:** FiLM встраивается исключительно в последние 1/31/3 архитектуры Teacher'а.
+### 4. Как работает Dynamic Adaptation?
+
+Динамическая адаптация означает, что каналы визуальной сети перевзвешиваются в реальном времени:
+
+1. При промпте _"Bright sunny day"_: γγ усиливает цветовые фильтры и текстурные детекторные каналы.
+2. При промпте _"Midnight, low light"_: γγ обнуляет каналы, зависящие от цвета, и усиливает $edges$-каналы и угловые детекторы (которые работают даже при плохом освещении).
+3. При промпте _"Snowy terrain"_: Сбрасывает детекторы травы/листьев.
+
+**Weather-Driven Channel Gating (Динамическое стробирование)**
+
+Механизм адаптивного перевзвешивания каналов визуальных признаков на основе текстового контекста реализован через архитектуру типа Squeeze-and-Excitation, но управляемую кросс-модальным входом:
+
+![[Pasted image 20260626110515.png]]
+
+Здесь `fT∈RB×D` представляет собой батч нормализованных текстовых эмбеддингов. Матрица W1W1 проецирует вектор в пространство меньшей размерности (параметр rr — reduction ratio, коэффициент сжатия), что заставляет сеть выучивать компактные семантические зависимости и экономит вычислительные ресурсы. Матрица `W2` восстанавливает размерность до исходной DD. Функция активации сигмоида σσ гарантирует, что компоненты вектора стробирования `g` лежат в диапазоне `(0,1)`
+
+Слияние модальностей происходит по формуле взвешенной интерполяции:
+![[Pasted image 20260626110728.png]]
+
+> Эта формула заслуживает особого внимания. Она концептуально эквивалентна механизму FiLM (Feature-wise Linear Modulation), который используется в вашей архитектуре MERIDIAN. В FiLM трансформация задается как `Fi=Fi⊙(1+γi)+βi`
+> В подходе WeatherPrompt текст не просто масштабирует визуальные каналы (компонента `g⊙fI`), но и осуществляет прямое остаточное добавление отфильтрованного текста `(1−g)⊙fT`. Это позволяет модели полностью "заглушить" визуальный канал, если он безнадежно испорчен погодой (при `g→0`), и полностью опереться на семантический текстовый приор.
+
+### 5. ## Протокол обучения (Learning Rate и EMA)
+
+Так как визуальный backbone загружен весами Foundation Model (DINOv2/v3), а `fγ,fβ` инициализируются с нуля, требуется **Two-Speed Learning Rate**:
+
+- `LR_Backbone` = 1e-5 (или заморожен на ранних этапах).
+- `LR_FiLM_MLP` = 1e-3 (в 100 раз больше!). Оптимизатору нужно быстро научиться генерировать правильные γ,β.
+- **EMA (Exponential Moving Average):** Для всех весов визуальной сети используется momentum m=0.999, чтобы обучение FiLM-модуляторов не расшатало основную геометрию пространства признаков.
+
+## 6. Сравнение с SSF (Scale and Shift Features, TPAMI)
+
+- **SSF:** К каждому слою сети добавляются обучаемые векторы `γtask` и `βtask`. Они **статичны** для конкретной задачи (например, один набор для Semantic Seg, другой для Depth).
+- **WeatherPrompt (FiLM):** Векторы `γ` и `β` генерируются **на лету** для каждого отдельного изображения в зависимости от текста.
+- **Вердикт:** SSF великолепен для Transfer Learning (Task Adaptation), но FiLM — абсолютный победитель для **Data-driven / Context-aware** адаптации.
+
+## 7. Расширение до 5-modal FiLM для MERIDIAN Teacher
+
+В проекте MERIDIAN ветка Teacher (спутник) имеет доступ не только к RGB и Тексту, но и к Глубине (Depth), Границам (Edges) и Семантике (Seg). Как использовать формулы F14, чтобы слить 5 модальностей воедино?
+
+**Решение: Концепт Privileged Context Vector (PCV)** Вместо того чтобы делать независимые FiLM слои для каждой модальности, мы сливаем все Privileged-данные в единый вектор, который управляет модуляцией главного ствола (RGB DINOv3):
+
+1. Прогоняем Depth через легкую CNN-ветку →→ `Depth_Embed (256-d)`
+2. Прогоняем Edges через легкую CNN-ветку →→ `Edge_Embed (256-d)`
+3. Получаем текст из VLM →→ `Text_Embed (256-d)`
+4. Конкатенируем: PCV=`[Depth_Embed,Edge_Embed,Text_Embed]PCV=[Depth_Embed,Edge_Embed,Text_Embed]` (размерность 768).
+5. Подаем PCVPCV в `fγ,fβ` MLP-генераторы.
+
+**Итоговое уравнение Multi-modal FiLM для MERIDIAN:**
+
+![[Pasted image 20260625162506.png|697]]
+