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>
10 KiB
Задание Морозу Егору Сергеевичу
1. Трек
Role-Aware Hierarchical Fusion.
Дополнительная командная роль: владелец dataset contract, modality preprocessing, validity masks и контроля качества auxiliary inputs.
2. Исследовательский вопрос
Даёт ли отдельная обработка spatial semantics, geometry и global text более сильный retrieval descriptor, чем один универсальный оператор для всех модальностей?
3. Обязательное чтение
Общий пакет
- все документы
docs/02_references/01_required/; - fusion core synthesis и taxonomy;
- StripNet analysis B14.
Segmentation
REVIEW_segmentation_pairA.mdDELTA_pair_A_seg_revised_v3.mdОБЗОР_fusion_rgb_segmentation_v1.mdF36_FC-CLIP.mdP52_CVGL_2024_A guided ... segmentation.md
Geometry
REVIEW_depth_normals_pairB.mdDELTA_pair_B_depth_uav_v3.mdREVIEW_chm_pairC.mdDELTA_pair_C_chm_sat_v3.mdM11_CHMv2_deep_dive_for_MERIDIAN.mdM4_2025_JRN-Geo ... .mdP44_MGS2_deep_dive_for_MERIDIAN.md
Text
REVIEW_text_pairD_final.mdREVIEW_text_pairD_methodology.mdF14_2025_WeatherPrompt_deep_dive_for_MERIDIAN.mdF47_2026_TacFiLM_Tactile_Modality_Fusion_VLA.mdP64_2025_CGSI_deep_dive_for_MERIDIAN.md
⚠️ Документы DELTA_pair_*_v3.md — короткие changelog-вершины. Полное содержание pair-анализов лежит в 03_segmentation/_version_chain/ и 04_geometry/_version_chain/ (базовые версии 30–48 KB). Читать цепочкой: база → v2 → v3.
Канонические опоры (проверенные выводы из vault, использовать в evidence matrix)
| Источник | Факт | Следствие для трека C |
|---|---|---|
| M4 JRN-Geo | normals дают +2.6% в паре с RGB, но alone → 37%: геометрия — модулятор, не самостоятельный поток | geometry-путь проектировать как модуляцию RGB-признаков, не как параллельный encoder |
| P44 MGS2 deep dive | асимметричная depth-ветка (только drone); Sobel-on-depth ≈ ориентационные карты — дешевле и устойчивее raw values | кандидат представления depth в C3 |
| P68 / обзор DA3 | metric scale depth на UAV ненадёжен | использовать только relative structure; запрет на абсолютные значения |
| B97 IM2HEIGHT (caveat) | DSM ≠ CHM; синтетический CHM может отравить обучение | проверять происхождение CHM-карт в data audit |
| F63 HLMamba (caveat) | multiplicative gating убивает информацию при near-zero RGB | аргумент за FiLM с additive β и residual-форму |
| P52 guided CVGL | land-cover guidance улучшает CVGL; GT-Guide vs Guided — прямое LUPI-evidence | главный прецедент пользы segmentation именно в CVGL |
| DFormerv2 (CVPR 2025, TRIAGE §2) | depth как geometry-prior bias в self-attention: модуляция ≡ identity при отсутствии depth | кандидат geometry-пути с бесплатной missing-modality устойчивостью |
| F14 WeatherPrompt deep dive | text→FiLM MLP: zero-init, two-speed LR; FiLM > CrossAttn > Concat | стартовая точка text-пути C5 |
4. Общая обязанность: data contract
Совместно с коллегами реализовать единый loader extension, который возвращает:
- RGB;
- captions и text-valid mask;
- segmentation tensor и valid mask;
- view-specific geometry tensor и valid mask;
- sample IDs только для logging;
- multi-match evaluation metadata.
Loader не должен знать выбранный fusion variant.
5. Персональные задачи
C0. Data audit
Проверить минимум 40 samples, поровну satellite/UAV, и заполнить:
| Sample | View | RGB shape | Seg classes | Geometry range | Caption | Alignment issue | Verdict |
|---|
Отдельно проверить:
- satellite alpha channel;
- resize/crop mapping;
- orientation consistency;
- SafeTensors keys;
- invalid/constant maps;
- empty captions;
- segmentation background fraction.
C1. Modality role contract
Для каждой modality заполнить:
| Field | RGB | Segmentation | Depth | CHM | Text |
|---|---|---|---|---|---|
| Raw input | |||||
| Normalization | |||||
| Encoder | |||||
| Spatial level | |||||
| Confidence | |||||
| Expected CVGL signal | |||||
| Main shortcut risk |
C2. Segmentation path
Сравнить:
- Class ID embedding + convolution.
- One-hot/probability maps + convolution.
- Mask-pooled class tokens.
- Segmentation-guided attention bias.
Ответить:
- где сохраняется spatial layout;
- как кодируются отсутствующие классы;
- что делать с high-background samples;
- нужна ли entropy/confidence;
- на каких StripNet stages segmentation полезнее.
C3. UAV depth path
Сравнить input representations:
- normalized relative depth;
- inverse depth;
- depth gradients;
- depth + gradient channels;
- compact depth statistics.
Выбрать representation, которая не зависит от неизвестного absolute scale GTA-UAV.
C4. Satellite CHM path
Сравнить:
- raw normalized CHM;
- robust percentile normalization;
- CHM gradients;
- CHM + validity mask;
- local height statistics.
Проверить, что CHM используется только для satellite view.
C5. Text path
Сравнить:
- Global FiLM.
- Visual-query/text-key-value cross-attention.
- L1/L2/L3 tokens.
- Late descriptor gating.
Зафиксировать empty-caption behaviour и исключить location leakage.
C6. Сформировать три кандидата
| Candidate | Required design |
|---|---|
| C-C1 | dense geometry+seg fusion, затем text FiLM |
| C-C2 | segmentation class tokens + geometry bias + late text attention |
| C-C3 | multi-stage role-specific adapters + hierarchical readout |
C7. Обосновать hierarchy
Primary должен явно определить порядок, например:
StripNet stage 2/3
+ segmentation spatial semantics
+ view-specific geometry structure
-> fused spatial feature
-> StripNet stage 4 / aggregation
+ text semantic context
-> hierarchical readout
-> descriptor [B,1024]
Нужно показать, почему другой порядок слабее или рискованнее.
C8. Uncertainty/validity handling
Минимальный набор:
text_valid;segmentation_valid;geometry_valid;- segmentation entropy/background ratio;
- geometry valid fraction.
Learned reliability head добавлять только после сравнения с explicit deterministic indicators.
C9. Shared и view-specific параметры
Обязательно view-specific:
- первый geometry projector;
- normalization depth/CHM;
- quality features, зависящие от geometry semantics.
Кандидаты на shared:
- output channel interface;
- segmentation encoder;
- text encoder;
- late fusion/readout.
C10. Diagnostics
- segmentation class contribution;
- geometry feature norm;
- text contribution;
- valid fraction distributions;
- RGB vs fused cosine;
- per-view modality contribution;
- failure examples high-background/flat geometry/empty text.
C11. Tests
- Correct SafeTensors key mapping per view.
- Segmentation IDs остаются в
0..16. - Missing class mask pooling finite.
- Depth не подаётся в satellite geometry path.
- CHM не подаётся в UAV geometry path.
- Constant maps finite.
- Invalid pixels не влияют на pooled statistics.
- Output shape и norm.
- Spatial alignment after resize.
C12. Персональные ablations
| ID | Сравнение |
|---|---|
| C-AB1 | one universal operator vs role-aware operators |
| C-AB2 | segmentation dense map vs class tokens |
| C-AB3 | raw depth vs inverse/gradient depth |
| C-AB4 | raw CHM vs robust/gradient CHM |
| C-AB5 | text FiLM vs cross-attention |
| C-AB6 | text early vs late |
| C-AB7 | spatial-first vs text-first |
| C-AB8 | validity only vs reliability head |
| C-AB9 | shared vs view-specific geometry projector |
| C-AB10 | global vs hierarchical readout |
C13. Falsification
Role-aware hypothesis не подтверждена, если:
- универсальный Multi-FiLM не хуже;
- порядок fusion не влияет;
- geometry contribution близок к нулю;
- text полностью определяет descriptor;
- segmentation path улучшает same-area, но ухудшает cross-area;
- gain не повторяется по seed.
6. Кодовые артефакты
src/fuse_proj/data/batch.py
src/fuse_proj/data/gtauav_multimodal.py
src/fuse_proj/data/validation.py
src/fuse_proj/models/fusion/role_aware.py
in/config_files/data_gtauav.gin
in/config_files/fusion_role_aware.gin
tests/test_multimodal_data.py
tests/test_role_aware.py
reports/moroz/DESIGN.md
reports/moroz/IMPLEMENTATION_AND_RESULTS.md
7. Definition of Done
- Data audit завершён.
- Loader contract принят всей командой.
- Role table заполнена.
- Segmentation/depth/CHM/text paths описаны отдельно.
- Три candidates сравнены.
- Primary/fallback выбраны.
- Все validity tests проходят.
- C-AB1..C-AB10 выполнены в согласованном объёме.
- Близно выполнил code review.
- Failure cases добавлены в общий отчёт.