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:
286
docs/01_tasks/03_MOROZ_ROLE_AWARE.md
Normal file
286
docs/01_tasks/03_MOROZ_ROLE_AWARE.md
Normal file
@@ -0,0 +1,286 @@
|
||||
# Задание Морозу Егору Сергеевичу
|
||||
|
||||
## 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.md`
|
||||
- `DELTA_pair_A_seg_revised_v3.md`
|
||||
- `ОБЗОР_fusion_rgb_segmentation_v1.md`
|
||||
- `F36_FC-CLIP.md`
|
||||
- `P52_CVGL_2024_A guided ... segmentation.md`
|
||||
|
||||
### Geometry
|
||||
|
||||
- `REVIEW_depth_normals_pairB.md`
|
||||
- `DELTA_pair_B_depth_uav_v3.md`
|
||||
- `REVIEW_chm_pairC.md`
|
||||
- `DELTA_pair_C_chm_sat_v3.md`
|
||||
- `M11_CHMv2_deep_dive_for_MERIDIAN.md`
|
||||
- `M4_2025_JRN-Geo ... .md`
|
||||
- `P44_MGS2_deep_dive_for_MERIDIAN.md`
|
||||
|
||||
### Text
|
||||
|
||||
- `REVIEW_text_pairD_final.md`
|
||||
- `REVIEW_text_pairD_methodology.md`
|
||||
- `F14_2025_WeatherPrompt_deep_dive_for_MERIDIAN.md`
|
||||
- `F47_2026_TacFiLM_Tactile_Modality_Fusion_VLA.md`
|
||||
- `P64_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
|
||||
|
||||
Сравнить:
|
||||
|
||||
1. Class ID embedding + convolution.
|
||||
2. One-hot/probability maps + convolution.
|
||||
3. Mask-pooled class tokens.
|
||||
4. 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
|
||||
|
||||
Сравнить:
|
||||
|
||||
1. Global FiLM.
|
||||
2. Visual-query/text-key-value cross-attention.
|
||||
3. L1/L2/L3 tokens.
|
||||
4. 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 должен явно определить порядок, например:
|
||||
|
||||
```text
|
||||
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
|
||||
|
||||
1. Correct SafeTensors key mapping per view.
|
||||
2. Segmentation IDs остаются в `0..16`.
|
||||
3. Missing class mask pooling finite.
|
||||
4. Depth не подаётся в satellite geometry path.
|
||||
5. CHM не подаётся в UAV geometry path.
|
||||
6. Constant maps finite.
|
||||
7. Invalid pixels не влияют на pooled statistics.
|
||||
8. Output shape и norm.
|
||||
9. 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. Кодовые артефакты
|
||||
|
||||
```text
|
||||
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 добавлены в общий отчёт.
|
||||
Reference in New Issue
Block a user