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

4.2 KiB
Raw Blame History

Очень интересная идея. Вот мой анализ:

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
Информативность для 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: