Files
fuze_task/docs/02_references/01_required/CHMv2 vs Depth Anything V3 для CVGL.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

66 lines
4.2 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.
Очень интересная идея. Вот мой анализ:
## CHMv2 vs Depth Anything V3 для CVGL
|Аспект|DA3-BASE (depth)|CHMv2 (canopy height)|
|:--|:--|:--|
|**Что предсказывает**|Относительную глубину сцены (расстояние до камеры)|**Абсолютную высоту растительности** (в метрах)|
|**Backbone**|ViT (собственный)|**DINOv3 ViT-L/16 Sat** (тот же что наш Teacher!)|
|**Обучающие данные**|Наземные/уличные фото|**Спутниковые снимки + LiDAR**|
|**Домен**|General (domain gap для satellite)|**Native satellite** (нет domain gap)|
|**Выход**|Relative [0,1] per-frame|**Абсолютный** (метры)|
|**Разрешение**|Произвольное|Метровое (satellite)|
|**HuggingFace**|`depth-anything/DA3-BASE`|[`facebook/dinov3-vitl16-chmv2-dpt-head`](https://huggingface.co/facebook/dinov3-vitl16-chmv2-dpt-head)|
|**Информативность для CVGL**|Рельеф + масштаб (general)|**Высота деревьев** (специфична)|
## Мой вердикт: использовать **оба** как отдельные модальности
**Почему не заменять, а дополнять:**
1. **DA3 и CHMv2 дают ортогональную информацию:**
- DA3 depth → **рельеф и структура зданий** (перепады высот крыш, дорожная сетка)
- CHMv2 → **высота растительности** (парки vs пустыри, лес vs поле)
- Для matching: два здания на одном рельефе различаются окружающей растительностью
2. **CHMv2 построен на DINOv3 Sat** — том самом backbone, который наш Teacher использует. Это значит:
- Features CHMv2 **совместимы** с Teacher's feature space
- L_feat дистилляция от CHMv2-features к Student будет эффективнее, чем от DA3
3. **CHMv2 работает нативно на спутниковых снимках** — нет domain gap. DA3 обучен на наземных фото → на satellite качество ниже (это наша гипотеза AH3)
4. **Для дроновых снимков:** DA3 лучше (дрон ≈ наземный ракурс), CHMv2 хуже (обучен на satellite nadir)
## Предлагаемая конфигурация: 7-канальный выход
```
Channels: RGB(3) + Depth(1) + CanopyHeight(1) + Edges(1) + SegID(1) = 7ch
```
|Канал|Модель|Для drone|Для satellite|
|:--|:--|:--|:--|
|0-2: RGB|—|Основа|Основа|
|3: **Depth**|DA3-BASE|**Хорошо** (похож на training domain)|Средне (domain gap)|
|4: **Canopy Height**|CHMv2|Средне (обучен на sat)|**Отлично** (native domain)|
|5: Edges|Sobel из depth|Хорошо|Хорошо|
|6: SegID|SegEarth-OV3|Хорошо|Хорошо|
**Ключевое преимущество:** DA3 и CHMv2 **комплементарны по доменам**: DA3 лучше для drone, CHMv2 лучше для satellite. Teacher, обучающийся на обоих, получает лучшее из двух миров.
## Что нужно для реализации
1. Добавить `canopy_height` как новую стадию в pipeline
2. Модель: `facebook/dinov3-vitl16-chmv2-dpt-head` (HuggingFace transformers)
3. Вход: RGB satellite/drone image
4. Выход: `canopy.npy` [1, H, W] float32 (метры, абсолютные)
5. Обновить `segmentation.gin` → добавить `canopy_model_id`
6. Обновить `concat` → 7ch вместо 6ch
Хотите добавить CHMv2 в пайплайн?
Sources:
- [CHMv2 paper (arXiv:2603.06382)](https://arxiv.org/abs/2603.06382)
- [CHMv2 model on HuggingFace](https://huggingface.co/facebook/dinov3-vitl16-chmv2-dpt-head)
- [DINOv3 GitHub](https://github.com/facebookresearch/dinov3)
- [Meta AI blog post](https://ai.meta.com/blog/world-resources-institute-dino-canopy-height-maps-v2/)