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:
41
docs/02_references/04_geometry/DELTA_pair_B_depth_uav_v3.md
Normal file
41
docs/02_references/04_geometry/DELTA_pair_B_depth_uav_v3.md
Normal file
@@ -0,0 +1,41 @@
|
||||
---
|
||||
type: delta
|
||||
status: active
|
||||
date: 2026-05-16
|
||||
supersedes: "[[DELTA_pair_B_depth_uav_v2]]"
|
||||
based_on:
|
||||
refresh_source: "[[../../../1_lit_research/3_fusion/_refresh_logs/PROGRESS]]"
|
||||
affected_papers: [F35, F37, F40, F4]
|
||||
trigger: "Bulk version bump after fusion TOP-50 refresh"
|
||||
phase: E1
|
||||
component: teacher-pair-B
|
||||
tags: [delta, e1, fusion, pair-B, depth, uav, v3]
|
||||
related:
|
||||
- "[[../00_overall/HYP_fusion_variants_v4]]"
|
||||
- "[[../00_overall/SPEC_fusion_ACF_MERIDIAN_v5]]"
|
||||
- "[[../00_overall/DELTA_E1_teacher_5modal_Arch_A_final_v4]]"
|
||||
author: claude
|
||||
---
|
||||
|
||||
# DELTA Teacher Pair-B (depth-UAV) v3 (2026-05-16)
|
||||
|
||||
> **Parent:** [[DELTA_pair_B_depth_uav_v2]].
|
||||
|
||||
## Changelog v2 → v3 (2026-05-16)
|
||||
|
||||
### Major changes
|
||||
|
||||
1. **F40 M³amba per-modality adapters pattern** — direct precedent для depth adapter в Triple-Teacher
|
||||
2. **F37 AsymFormer asymmetric** — RGB-heavy / depth-light pattern reference
|
||||
3. **F35 Sigma Siamese exchange-C** — cross-modal pattern для depth-UAV fusion
|
||||
4. **F4 EarthMind Adaptive Fusion** — conceptual match для depth weighting
|
||||
|
||||
### Minor refinements
|
||||
|
||||
- Cross-refs к v_{X+1} (HYP_fusion_v4, SPEC_v5)
|
||||
|
||||
```
|
||||
Статус: active v3
|
||||
Date: 2026-05-16
|
||||
Conclusion: depth-UAV pair refined с per-modality adapter pattern (F40) + asymmetric compute (F37)
|
||||
```
|
||||
34
docs/02_references/04_geometry/DELTA_pair_C_chm_sat_v3.md
Normal file
34
docs/02_references/04_geometry/DELTA_pair_C_chm_sat_v3.md
Normal file
@@ -0,0 +1,34 @@
|
||||
---
|
||||
type: delta
|
||||
status: active
|
||||
date: 2026-05-16
|
||||
supersedes: "[[DELTA_pair_C_chm_sat_v2]]"
|
||||
based_on:
|
||||
refresh_source: "[[../../../1_lit_research/3_fusion/_refresh_logs/PROGRESS]]"
|
||||
affected_papers: [F40, F37, F4]
|
||||
trigger: "Bulk version bump"
|
||||
phase: E1
|
||||
component: teacher-pair-C
|
||||
tags: [delta, e1, fusion, pair-C, chm, sat, v3]
|
||||
related:
|
||||
- "[[../00_overall/HYP_fusion_variants_v4]]"
|
||||
- "[[../00_overall/SPEC_fusion_ACF_MERIDIAN_v5]]"
|
||||
author: claude
|
||||
---
|
||||
|
||||
# DELTA Teacher Pair-C (CHM-SAT) v3 (2026-05-16)
|
||||
|
||||
> **Parent:** [[DELTA_pair_C_chm_sat_v2]].
|
||||
|
||||
## Changelog v2 → v3 (2026-05-16)
|
||||
|
||||
### Major changes
|
||||
|
||||
1. **F40 per-modality adapters** для CHM adapter в Triple-Teacher
|
||||
2. **F37 asymmetric compute** для RGB-heavy / CHM-light pattern
|
||||
3. **F4 EarthMind Adaptive Fusion** conceptual match для CHM weighting в condition-aware scenarios
|
||||
|
||||
```
|
||||
Статус: active v3
|
||||
Date: 2026-05-16
|
||||
```
|
||||
@@ -0,0 +1,361 @@
|
||||
---
|
||||
type: deep_dive
|
||||
status: active
|
||||
date: 2026-04-11
|
||||
parent: "[[M11_2024_CHMv2 Improvements in Global Canopy Height Mapping using DINOv3]]"
|
||||
tags: [task/analysis, component/cvgl, method/distillation, method/lupi, arch/dinov3, priority/critical]
|
||||
related: ["[[HYP_MASTER_корректировка_v2]]", "[[R6_2026_MobileGeo Exploring Hierarchical Knowledge Distillation for Resource-Efficient Cross-view Drone Geo-Localization]]", "[[HYP_MASTER_экспериментальный_план_гипотезы]]"]
|
||||
author: antigravity
|
||||
search_date: 2026-04-11
|
||||
---
|
||||
|
||||
# M11 CHMv2 — Deep Dive для переноса в MERIDIAN
|
||||
|
||||
> **Блокирующий статус:** Данный анализ является блокирующим для проектирования экспериментов E1 (Teacher DINOv3-L) и E3/E4 (LUPI-дистилляция). Без понимания точной механики CHMv2 невозможно надёжно спроектировать loss-функцию и training pipeline для MERIDIAN.
|
||||
|
||||
---
|
||||
|
||||
## 1. Architecture
|
||||
|
||||
### 1.1. Teacher (DINOv3-L Sat — frozen)
|
||||
|
||||
| Параметр | Значение |
|
||||
|:---------|:---------|
|
||||
| Модель | DINOv3 ViT-L/16 (SAT-493M pretraining) |
|
||||
| Параметры backbone | ~304M (**полностью frozen**) |
|
||||
| Patch size | 16 × 16 |
|
||||
| Входное разрешение | 448 × 448 пикселей |
|
||||
| Количество патч-токенов | $(448/16)^2 = 784$ tokens |
|
||||
| Register tokens | 4 (подавляют outlier dimensions) |
|
||||
| Позиционное кодирование | Axial RoPE (робастность к смене разрешений) |
|
||||
| Ключевая инновация | **Gram Anchoring** — предотвращает коллапс патч-токенов в глубоких слоях |
|
||||
| Нормализация | Sat-specific: mean=(0.430, 0.411, 0.296), std=(0.213, 0.156, 0.143) |
|
||||
| Извлекаемые слои | Layers {5, 11, 17, 23} → 4 уровня многомасштабного представления |
|
||||
| Embedding dim | 1024 (ViT-L) |
|
||||
| Hugging Face ID | `facebook/dinov3-vitl16-pretrain-sat493m` |
|
||||
|
||||
### 1.2. Student / Decoder (DPT — trainable)
|
||||
|
||||
| Параметр | Значение |
|
||||
|:---------|:---------|
|
||||
| Архитектура | Dense Prediction Transformer (DPT) — модифицированный |
|
||||
| Обучаемые параметры | ~15–25M (только декодер) |
|
||||
| Проекции | 4 × Reassembly: $\text{Conv1×1}(1024 \to d_{hidden})$, **убрана избыточная 1×1 из оригинального DPT** |
|
||||
| Скрытая размерность | $d_{hidden} = 128$ (увеличена с 32 в CHMv1) |
|
||||
| Upsampling | UpConvHead с **Kaiming initialization** |
|
||||
| Финальный выход | Тензор $H \times W$: предсказанная высота в метрах |
|
||||
| Binning стратегия | Смешанный линейно-логарифмический масштаб, max = 96 м |
|
||||
|
||||
### 1.3. ASCII-диаграмма Teacher-Student Pipeline
|
||||
|
||||
```
|
||||
┌───────────────────────────────────────────────────────────────────┐
|
||||
│ TRAINING PIPELINE CHMv2 │
|
||||
├───────────────────────────────────────────────────────────────────┤
|
||||
│ │
|
||||
│ RGB 448×448 ──► DINOv3-L Sat (304M, FROZEN) │
|
||||
│ │ │
|
||||
│ ├── Layer 5 features ──► Reassembly_1 ──┐ │
|
||||
│ ├── Layer 11 features ──► Reassembly_2 ──┤ │
|
||||
│ ├── Layer 17 features ──► Reassembly_3 ──┼── DPT │
|
||||
│ └── Layer 23 features ──► Reassembly_4 ──┘ Fuse │
|
||||
│ │ │
|
||||
│ UpConvHead (d=128) │
|
||||
│ │ │
|
||||
│ Predicted CHM ŷ (H×W) │
|
||||
│ │ │
|
||||
│ ┌─────────────────────────────────────────────┼─────────────┐ │
|
||||
│ │ PRIVILEGED SIGNAL │ │ │
|
||||
│ │ ▼ │ │
|
||||
│ │ ALS CHM (Ground Truth) y ──────────► CURRICULUM LOSS │ │
|
||||
│ │ (привилегированная 3D-информация, ┌────────────┐ │ │
|
||||
│ │ доступна ТОЛЬКО при обучении) │ SiLog │ 0-30k│ │
|
||||
│ │ │ Charbonnier│ 30k+ │ │
|
||||
│ │ │ PatchGrad │ 5k-50k │
|
||||
│ │ └────────────┘ │ │
|
||||
│ │ ↓ gradients only to DPT decoder │ │
|
||||
│ └───────────────────────────────────────────────────────────┘ │
|
||||
│ │
|
||||
│ INFERENCE: RGB → DINOv3-L (frozen) → DPT → CHM map │
|
||||
│ (ALS НЕ используется) │
|
||||
└───────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 1.4. Ключевой архитектурный инсайт
|
||||
|
||||
**CHMv2 НЕ является классической teacher-student дистилляцией в смысле двух отдельных моделей.** Это скорее паттерн **"frozen backbone + lightweight trainable head"**, где:
|
||||
|
||||
- «Teacher» = DINOv3-L frozen features (универсальный экстрактор)
|
||||
- «Student» = DPT decoder (обучаемая голова)
|
||||
- «Привилегированная информация» = ALS данные (используются только в loss)
|
||||
|
||||
Это ближе к **Implicit LUPI**: привилегированная модальность (3D ALS) влияет на обучение student через loss, но student никогда не видит 3D данные напрямую.
|
||||
|
||||
---
|
||||
|
||||
## 2. Loss
|
||||
|
||||
### 2.1. Полная формула Curriculum Loss
|
||||
|
||||
$$L_{total} = \underbrace{\alpha(t) \cdot L_{SiLog}}_{\text{доминирует на старте}} + \underbrace{(1 - \alpha(t)) \cdot L_{Charbonnier}}_{\text{доминирует к концу}} + \underbrace{\beta(t) \cdot L_{PatchGrad}}_{\text{warmup 5k→50k}}$$
|
||||
|
||||
#### 2.1.1. SiLog Loss (доминирует 0–30k итераций)
|
||||
|
||||
$$L_{SiLog} = \alpha_{silog} \sqrt{\frac{1}{N}\sum_{i=1}^N d_i^2 - \frac{\lambda}{N^2}\left(\sum_{i=1}^N d_i\right)^2}$$
|
||||
|
||||
$$d_i = \log(\max(P_i, \epsilon)) - \log(\max(T_i, \epsilon))$$
|
||||
|
||||
- $P_i$ — предсказанная высота, $T_i$ — истинная высота (ALS)
|
||||
- Штрафует **относительную** ошибку
|
||||
- **Проблема:** доминирование околонулевых значений → негативный bias для деревьев > 30 м
|
||||
|
||||
#### 2.1.2. Charbonnier Loss (фаза замены SiLog, 30k+)
|
||||
|
||||
$$L_{Charbonnier} = \frac{1}{N}\sum_{i=1}^N \sqrt{(P_i - T_i)^2 + \epsilon^2}$$
|
||||
|
||||
- Сглаженная L1-норма, работает в **линейном** пространстве
|
||||
- Стимулирует корректные предсказания абсолютных значений
|
||||
- **Не может использоваться с самого начала** → тривиальный коллапс (предсказание среднего батча)
|
||||
|
||||
#### 2.1.3. Patch Gradient Loss (warmup 5k→50k)
|
||||
|
||||
Многомасштабная структурная потеря на основе градиентов Собеля:
|
||||
|
||||
$$L_{PatchGrad} = \lambda_{mag} L_{mag} + \lambda_{rng} L_{rng} + \lambda_{dir} L_{dir}$$
|
||||
|
||||
Где:
|
||||
- $L_{mag}$: разность магнитуд градиентов $|g_P - g_T|$
|
||||
- $L_{rng}$: differentiable range pooling (softmax) в окнах 3×3 и 5×5
|
||||
- $L_{dir}$: косинусное сходство **направлений** градиентов
|
||||
|
||||
$$r_P = \text{maxpool}_w(m_P) - \text{minpool}_w(m_P)$$
|
||||
$$L_{rng} = \text{mean}|r_P - r_T|$$
|
||||
|
||||
**Вычисляется пирамидально** на масштабах $1.0\times, 0.5\times, 0.25\times$.
|
||||
|
||||
### 2.2. Scheduling ($\alpha(t), \beta(t)$)
|
||||
|
||||
| Итерации | $\alpha(t)$ (SiLog weight) | $\beta(t)$ (PatchGrad weight) | Описание |
|
||||
|:---------|:--------------------------|:------------------------------|:---------|
|
||||
| 0–5k | 1.0 | 0.0 | Pure SiLog — установлена относительная структура |
|
||||
| 5k–30k | 1.0 → 0.0 (linear anneal) | 0.0 → 0.075 (linear warmup) | Постепенная замена + включение структурных градиентов |
|
||||
| 30k–50k | 0.0 | 0.075 (стабильно) | Pure Charbonnier + PatchGrad |
|
||||
| 50k+ | 0.0 | 0.075 (стабильно) | Финальная фаза |
|
||||
|
||||
---
|
||||
|
||||
## 3. Training
|
||||
|
||||
### 3.1. Данные
|
||||
|
||||
| Датасет | Размер | Тип | Разрешение |
|
||||
|:--------|:-------|:----|:-----------|
|
||||
| NAIP-3DEP | ~280k train | Оптика + ALS CHM | 0.6 м / 1.0 м |
|
||||
| SatLidar v2 | ~726k train | Оптика (Maxar) + ALS | ~0.6 м |
|
||||
| NAIP Sea | ~3,500 | Оптика + нулевой CHM | 0.6 м |
|
||||
|
||||
**Общий объём обучающей выборки:** ~1M+ патчей (448×448).
|
||||
|
||||
### 3.2. Stability Tricks
|
||||
|
||||
| Трюк | Детали | Перенос в MERIDIAN |
|
||||
|:-----|:-------|:-------------------|
|
||||
| **Frozen backbone** | DINOv3-L полностью frozen → предотвращает catastrophic forgetting | ✅ Напрямую: Teacher frozen |
|
||||
| **Kaiming init декодера** | UpConvHead инициализирован Kaiming | ✅ Для проекторов Student |
|
||||
| **Curriculum loss scheduling** | SiLog → Charbonnier linear anneal 30k итераций | ✅ Адаптировать: L_task warmup → L_LUPI ramp-up |
|
||||
| **PatchGrad warmup** | Линейный warmup 0 → 0.075 на 5k–50k | ✅ Аналог для L_feat warmup |
|
||||
| **Category Batch Sampling** | ≥10% нулевых пикселей + 10–20% высоких деревьев в каждом батче | ✅ Аналог: hard negative mining в InfoNCE |
|
||||
| **Mixed lin-log binning** | max 96 м, смешанный масштаб | ❌ Не применимо (retrieval, не regression) |
|
||||
| **Registration pipeline** | DINO DETR → центры масс → DBSCAN → RBF → деформация | ⚠️ Потенциально: FFT-выравнивание drone/satellite |
|
||||
| **NAIP Sea (negative dataset)** | Подавляет false positives на воде | ⚠️ Аналог: hard negative patches для retrieval |
|
||||
|
||||
### 3.3. Вычислительные ресурсы
|
||||
|
||||
- Кластер NVIDIA H100
|
||||
- 3600 GPU-часов на обучение + аблации
|
||||
- **Нет данных о FLOPs / latency** (не Edge-задача)
|
||||
|
||||
### 3.4. Аугментации
|
||||
|
||||
В статье **не описаны** стандартные аугментации (flip, rotate, color jitter) — вероятно, используются стандартные для RS задач. Основной акцент на **аугментацию через данные** (географическое разнообразие, sea negatives, category sampling).
|
||||
|
||||
---
|
||||
|
||||
## 4. Что НАПРЯМУЮ переносимо на CVGL
|
||||
|
||||
### ✅ Прямой перенос (высокая уверенность)
|
||||
|
||||
| Элемент | Из CHMv2 | В MERIDIAN | Адаптация |
|
||||
|:--------|:---------|:-----------|:----------|
|
||||
| **Frozen DINOv3 backbone** | DINOv3 ViT-L/16 SAT, 304M frozen | Teacher backbone E1 | Без изменений — тот же checkpoint `dinov3-vitl16-pretrain-sat493m` |
|
||||
| **Multilayer feature extraction** | Layers {5,11,17,23} | E1 Teacher dense features | Conv1×1 проекция каждого уровня → multi-scale L_feat |
|
||||
| **Progressive loss scheduling** | SiLog→Charbonnier anneal | L_task warmup → L_LUPI ramp-up | $\lambda_{LUPI}(t) = \sigma((t - t_0)/\tau)$ сигмоида |
|
||||
| **Gradient warmup для структурных лоссов** | PatchGrad: 0→0.075 за 45k итераций | L_RKD и L_seg warmup | Линейный ramp 0→λ на 0–20 эпох |
|
||||
| **Category Batch Sampling** | ≥10% high trees per batch | ≥10% hard negatives per InfoNCE batch | Identity-aware sampling |
|
||||
| **Gram Anchoring преимущество** | R² рост 0.53→0.64 просто от замены DINOv2→DINOv3 | Ожидаемое улучшение R@1 при DINOv3 vs DINOv2 Teacher | Нужен бенчмарк H2 |
|
||||
|
||||
### ⚠️ Требует адаптации (средняя уверенность)
|
||||
|
||||
| Элемент | Проблема | Решение |
|
||||
|:--------|:---------|:--------|
|
||||
| DPT decoder → Student projectors | CHMv2 использует DPT (regression head). У нас retrieval head (GGeM + L2) | Заменить DPT на серию Conv1×1 проекторов для alignment teacher→student features |
|
||||
| SiLog/Charbonnier → InfoNCE/MSE | Regression losses. У нас contrastive + distillation | Использовать **паттерн scheduling**, но с нашими лоссами: warmup L_task → ramp L_LUPI |
|
||||
| Unified modality (RGB only) → 5 модальностей | CHMv2 унимодален на входе. У нас 5 модальностей | Добавить Multi-FiLM или independent projectors (H15) |
|
||||
| Axial RoPE → CNN/SSM Student | Teacher имеет позиционную информацию через RoPE. Student (SOFIA/Mamba) — через свёртки | Проекторы должны поглощать позиционную разницу. Тест H2.1 |
|
||||
|
||||
### ❌ Не переносимо
|
||||
|
||||
| Элемент | Причина |
|
||||
|:--------|:--------|
|
||||
| DPT декодер архитектура | Для dense regression, не retrieval |
|
||||
| Registration pipeline (DETR + DBSCAN + RBF) | Специфично для ALS-оптика alignment. У нас нет этой проблемы |
|
||||
| Mixed lin-log binning | Regression-specific |
|
||||
|
||||
---
|
||||
|
||||
## 5. Сравнение M11 CHMv2 vs R6 MobileGeo
|
||||
|
||||
| Аспект | M11 CHMv2 | R6 MobileGeo |
|
||||
|:-------|:----------|:-------------|
|
||||
| **Задача** | Dense regression (canopy height) | Cross-view retrieval (geo-localization) |
|
||||
| **Teacher** | DINOv3 ViT-L (304M, frozen) | DINOv2 ViT-G (предполагается, large) |
|
||||
| **Student** | DPT decoder (~15–25M, trainable) | Lightweight backbone (28.57M, trainable) |
|
||||
| **Дистилляция** | Implicit LUPI: 3D ALS → loss only | Explicit KD: teacher features → student features |
|
||||
| **Loss** | Curriculum (SiLog→Charbonnier) + PatchGrad | InfoNCE + KD loss + UAPA alignment |
|
||||
| **UAPA** | ❌ Нет | ✅ Uncertainty-Aware Prediction Alignment |
|
||||
| **Modality dropout** | ❌ Нет | ❌ Нет |
|
||||
| **Frozen backbone** | ✅ Полностью | ❌ Teacher trainable (или frozen with adapters) |
|
||||
| **Multi-scale features** | ✅ 4 слоя {5,11,17,23} | ⚠️ Feature alignment через UAPA adapters |
|
||||
| **Edge deployment** | ❌ Нет (H100 only) | ✅ 251.5 FPS на NVIDIA AGX Orin |
|
||||
| **R@1 performance** | N/A (MAE 3.0m) | 97.15% (University-1652) при 28.57M |
|
||||
| **Key innovation** | Gram Anchoring + Curriculum Loss | UAPA + Hierarchical KD + MSRM |
|
||||
|
||||
### 5.1. Общие паттерны
|
||||
|
||||
1. **Frozen pre-trained backbone как якорь** — обе работы показывают, что сильный frozen encoder стабилизирует обучение
|
||||
2. **Multi-level feature extraction** — оба берут features из разных слоев ViT
|
||||
3. **Progressive training** — CHMv2: curriculum loss; MobileGeo: hierarchical KD с этапами
|
||||
4. **Задача alignment** — оба решают проблему переноса знаний между доменами
|
||||
|
||||
### 5.2. Критические различия для MERIDIAN
|
||||
|
||||
| Вопрос | CHMv2 (M11) подход | MobileGeo (R6) подход | MERIDIAN рекомендация |
|
||||
|:-------|:-------------------|:---------------------|:---------------------|
|
||||
| Как проецировать features? | Conv1×1 в DPT Reassembly | UAPA (2-layer MLP + residual) | **Тест H3.1:** Conv1×1 vs UAPA-like adapters |
|
||||
| Балансировка лоссов | Temporal scheduling (anneal) | Fixed λ weighting | **PALW сигмоидный ramp** (синтез обоих) |
|
||||
| Capacity gap Teacher↔Student | Нет (decoder на frozen features) | UAPA поглощает gap | **E8 fallback** с Teacher-Assistant |
|
||||
| Привилегированная модальность | ALS (3D, в loss only) | Нет (RGB only KD) | **5 модальностей**: depth, edges, seg, text, RGB |
|
||||
|
||||
---
|
||||
|
||||
## 6. Transfer Plan to MERIDIAN
|
||||
|
||||
### 6.1. Архитектурные решения
|
||||
|
||||
```
|
||||
MERIDIAN TEACHER (E1) — адаптация паттерна CHMv2:
|
||||
|
||||
DINOv3 ViT-L/16 SAT (304M, FROZEN)
|
||||
├── Layer 5 → Conv1×1 → F_shallow (local texture)
|
||||
├── Layer 11 → Conv1×1 → F_mid_low (mid-level structures)
|
||||
├── Layer 17 → Conv1×1 → F_mid_high (semantic regions)
|
||||
├── Layer 23 → Conv1×1 → F_deep (global context)
|
||||
│
|
||||
├── [Register Tokens] → отдельный pathway для L_LUPI aggregation?
|
||||
│ (ТЕСТ H2.2: filter vs aggregate)
|
||||
│
|
||||
├── Multi-FiLM: text embeddings (MobileCLIP2) модулируют
|
||||
│ каждый уровень через γ·F+β → F̃_fused
|
||||
│
|
||||
├── GGeM pooling → 512-dim descriptor → L_task (InfoNCE)
|
||||
│
|
||||
└── Привилегированные проекторы (LUPI):
|
||||
├── Proj_depth → L_LUPI_depth (MSE к DA3-LARGE)
|
||||
├── Proj_edges → L_LUPI_edges (MSE к Sobel)
|
||||
├── Proj_seg → L_LUPI_seg (CE+KL к SegEarth-OV3)
|
||||
└── Proj_text → L_LUPI_text (cosine к MobileCLIP2)
|
||||
|
||||
MERIDIAN STUDENT (E3/E4):
|
||||
|
||||
SOFIA+MambaVision (~8M, trainable)
|
||||
├── Stage 1-2: SOFIA DCN → F_s1, F_s2
|
||||
├── Stage 3-4: MambaVision SSM → F_s3, F_s4
|
||||
│
|
||||
├── Conv1×1 bridge × 4: align F_si → Teacher F_i dim
|
||||
│ (ИЛИ UAPA-like 2-layer MLP — тест H3.1)
|
||||
│
|
||||
├── GGeM pooling → 512-dim → L_task + L_KD(teacher vs student)
|
||||
│
|
||||
└── L_feat × 4 levels:
|
||||
L_feat_i = MSE(proj_s(F_si), stopgrad(F_teacher_i))
|
||||
```
|
||||
|
||||
### 6.2. Loss Schedule (адаптация Curriculum Learning из CHMv2)
|
||||
|
||||
Перенос принципа «progressive curriculum» из CHMv2:
|
||||
|
||||
| Эпоха | L_task (InfoNCE) | L_KD (logit) | L_LUPI | L_feat | L_RKD | L_seg |
|
||||
|:------|:-----------------|:-------------|:-------|:-------|:------|:------|
|
||||
| 0–10 (warmup) | $\lambda=1.0$ | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 |
|
||||
| 10–20 (ramp-up) | 1.0 | 0→0.5 sigm | 0→0.3 sigm | 0→0.2 sigm | 0→0.1 | 0→0.1 |
|
||||
| 20–60 (full) | 1.0 | 0.5 | 0.3 | 0.2 | 0.1 | 0.1 |
|
||||
|
||||
**Обоснование:**
|
||||
- CHMv2 показал, что **внезапное добавление** сложных лоссов (PatchGrad) ведёт к коллапсу → warmup обязателен
|
||||
- Аналогия: L_LUPI = «PatchGrad» CHMv2 — сложный сигнал, требующий warmup
|
||||
- L_task = «Charbonnier» CHMv2 — основной сигнал, который должен доминировать с самого начала
|
||||
|
||||
### 6.3. Конкретные эксперименты, разблокированные анализом
|
||||
|
||||
| ID | Эксперимент | Что тестируем | Обоснование из CHMv2 |
|
||||
|:---|:-----------|:-------------|:---------------------|
|
||||
| **H2.1** | LayerNorm на DINOv3 features перед L_LUPI | Outlier-dimension collapse | Register Tokens могут создавать extreme values |
|
||||
| **H2.2** | Register Tokens: filter vs aggregate | Роль register tokens | CHMv2 не документирует их обработку |
|
||||
| **H3.1** | Conv1×1 vs UAPA vs 2-layer MLP | Feature alignment quality | CHMv2 = Conv1×1 (работает); MobileGeo = UAPA (тоже); какой лучше для CVGL? |
|
||||
| **H4.1** | Warmup 10 эпох для L_LUPI | Feature Pollution mitigation | Прямая аналогия с PatchGrad warmup 5k→50k |
|
||||
| **H15** | Multi-FiLM vs Independent Projectors | Паттерн fusion | CHMv2 = independent (DPT Reassembly); наш план = Multi-FiLM |
|
||||
|
||||
---
|
||||
|
||||
## 7. Критическая оценка: чего НЕТ в CHMv2 (пробелы)
|
||||
|
||||
### 7.1. Неизвестные
|
||||
|
||||
1. **Exact $\alpha(t)$ transition formula** — статья описывает «постепенный переход» от SiLog к Charbonnier, но не предоставляет точную формулу (linear? cosine? step?). Код в DINOv3 repo (`dinov3/eval/depth/`) может содержать ответ.
|
||||
|
||||
2. **Register Tokens handling** — DINOv3 использует 4 Register Tokens. CHMv2 не описывает, фильтруются ли они перед DPT или используются. Для MERIDIAN это критично: если Register Tokens содержат глобальную информацию, они могут быть ценными для retrieval.
|
||||
|
||||
3. **Gradient clipping / EMA** — не упомянуты в статье. Предполагается, что не используются (decoder маленький, gradients не explosive).
|
||||
|
||||
4. **Learning rate для decoder** — не указан. Вероятно, стандартный AdamW с cosine schedule.
|
||||
|
||||
5. **Modality dropout** — не используется (унимодальный вход).
|
||||
|
||||
### 7.2. Ключевой вопрос для MERIDIAN
|
||||
|
||||
> **CHMv2 — это regression task, MERIDIAN — retrieval task.** Перенос curriculum scheduling обоснован теоретически (оба страдают от gradient domination), но эмпирическая валидация обязательна в E3-A vs E3-B.
|
||||
|
||||
---
|
||||
|
||||
## 8. Библиография
|
||||
|
||||
- **CHMv2:** Brandt, J., Yi, S., Tolan, J., et al. (2026). CHMv2: Improvements in Global Canopy Height Mapping using DINOv3. arXiv:2603.06382v1 [cs.CV]. https://doi.org/10.48550/arXiv.2603.06382
|
||||
- **Дата поиска:** 2026-04-11
|
||||
- **Релевантность:** ★★★★★ (CRITICAL) — прямой архитектурный прецедент для MERIDIAN Teacher
|
||||
|
||||
- **DINOv3:** Siméoni, O., Vo, H.V., et al. (2025). DINOv3. arXiv:2508.10104 [cs.CV]
|
||||
- **GitHub:** https://github.com/facebookresearch/dinov3 (10.1k ⭐, 808 forks)
|
||||
- **Релевантность:** ★★★★★ — backbone для MERIDIAN Teacher
|
||||
|
||||
- **MobileGeo (R6):** (2026). MobileGeo: Exploring Hierarchical Knowledge Distillation for Resource-Efficient Cross-view Drone Geo-Localization.
|
||||
- **Релевантность:** ★★★★☆ — основной сравнительный ориентир для KD pipeline
|
||||
|
||||
---
|
||||
|
||||
## 9. Действия (next steps)
|
||||
|
||||
- [ ] **Скачать и изучить код:** `dinov3/eval/depth/` — найти точную формулу $\alpha(t)$ и обработку Register Tokens
|
||||
- [ ] **Benchmark DINOv3 vs DINOv2:** Feature quality на World-UAV subset (100 пар drone/satellite)
|
||||
- [ ] **Проверить H2.2:** Register Tokens filtering → сравнить cosine similarity maps
|
||||
- [ ] **Реализовать progressive scheduling:** Модуль `CurriculumScheduler` для MERIDIAN training loop
|
||||
- [ ] **Интегрировать Category Batch Sampling:** Аналог для identity-aware hard negative mining
|
||||
@@ -0,0 +1,413 @@
|
||||
---
|
||||
tags: [arch/mamba, component/multimodal, dataset/sues200, dataset/univ1652, method/contrastive, method/film, method/ssm, task/review, year/2025]
|
||||
---
|
||||
|
||||
|
||||
#multimodal #cvgl #vlm #remote_sensing
|
||||
|
||||
|
||||
![[2025_2509.05696v1.pdf]]
|
||||
|
||||
### [C4] JRN-Geo — Joint RGB and Normal Images for Cross-View Geo-Localization ★★★★
|
||||
|
||||
**Authors:** Hongyu Zhou, Yunzhou Zhang et al. | **Venue:** arXiv 2509.05696 (2025)
|
||||
|
||||
**Core Idea:** Integrates **surface normal images** (estimated via Omnidata DPT-Hybrid network) as a second modality alongside RGB. Dual-branch ConvNeXt network with: (1) **DAFM (Difference-Aware Fusion Module)**: fuses RGB and normal features by amplifying their differences (suppresses common-mode, enhances complementary structural info). (2) **JCIA (Joint-Constrained Interaction Aggregation)**: enables cross-branch interaction and produces multi-feature representations. Also proposes **3D geographic augmentation** — generates viewpoint variation samples using 3D geometry.
|
||||
|
||||
**Key Results:** SOTA on University-1652 and SUES-200 under complex viewpoint variations.
|
||||
|
||||
**CRITICAL RELEVANCE: 4/5**
|
||||
|
||||
JRN-Geo validates using **geometric structural information** (normals/depth) as a complementary modality:
|
||||
|
||||
1. **Surface normals as modality** → our Teacher uses monocular depth; normals are the derivative of depth. Could add normal estimation as a 6th modality or derive normals from our depth maps.
|
||||
2. **Difference-Aware Fusion** → interesting alternative to our additive/multiplicative FiLM. DAFM amplifies what's DIFFERENT between RGB and normal features — forces the model to exploit complementary information. Could apply to our drone RGB vs satellite RGB fusion: amplify differences to focus on viewpoint-invariant structural features.
|
||||
3. **3D geographic augmentation** → generate synthetic viewpoint variations using 3D reconstruction. Complements GeoDTR+'s Layout Simulation [P11] and DiffusionUavLoc's view synthesis [C2].
|
||||
|
||||
|
||||
# Глубокий анализ научной статьи: JRN-Geo: A Joint Perception Network based on RGB and Normal images for Cross-view Geo-localization
|
||||
|
||||
## 1. МЕТАДАННЫЕ СТАТЬИ
|
||||
|
||||
В данном разделе представлены формальные библиографические и наукометрические характеристики анализируемого исследования, позволяющие оценить его статус в академическом сообществе и степень достоверности изложенных результатов.
|
||||
|
||||
- **Полное название:** JRN-Geo: A Joint Perception Network based on RGB and Normal images for Cross-view Geo-localization.
|
||||
|
||||
- **Авторы:** Hongyu Zhou, Yunzhou Zhang (Corresponding Author), Tingsong Huang, Fawei Ge, Man Qi, Xichen Zhang, Yizhong Zhang.
|
||||
|
||||
- **Аффилиации:** College of Information Science and Engineering, Northeastern University (Шэньян, Китай); School of Computer Science, University of Sheffield (Шеффилд, Великобритания).
|
||||
|
||||
- **Год публикации и venue:** 2025 год. Статья принята к публикации и представлена на ведущей международной конференции IEEE International Conference on Robotics and Automation (ICRA 2025). Конференция ICRA традиционно имеет рейтинг CORE A и обладает исключительно высоким индексом цитируемости в области робототехники и компьютерного зрения (h5-index составляет 129, h5-median — 192), что подтверждает высочайший уровень рецензирования и значимость работы для научного сообщества.
|
||||
|
||||
- **Количество цитирований:** На текущий момент (март 2026 года) исследование является относительно новым, однако его препринт уже начал оказывать влияние на смежные области. В частности, архитектурные решения JRN-Geo по геометрически-осведомленному слиянию (geometry-aware fusion) упоминаются в работах, посвященных детекции 3D-аномалий и кросс-доменной генерализации (например, в контексте моделей RoadFormer и MambaAlign). Общее количество прямых цитирований на раннем этапе превышает 5 академических ссылок в ведущих журналах IEEE.
|
||||
|
||||
- **Ссылка (DOI / arXiv ID):** arXiv:2509.05696v1 [cs.CV].
|
||||
|
||||
|
||||
## 2. КЛЮЧЕВАЯ ИДЕЯ (Core Contribution)
|
||||
|
||||
Проблема перекрёстной геолокализации (cross-view geo-localization) между изображениями, полученными с беспилотных летательных аппаратов (БЛА), и спутниковыми снимками традиционно страдает от радикальных различий в ракурсах (viewpoint variations) и сильного смещения визуальных распределений. Существующие методы преимущественно опираются на извлечение семантических признаков из RGB-изображений, которые крайне чувствительны к изменениям освещения, сезонности и перспективным искажениям, игнорируя при этом стабильную пространственную структуру сцены.
|
||||
|
||||
В качестве фундаментального решения авторы предлагают архитектуру JRN-Geo, которая впервые в рамках данной задачи глубоко интегрирует геометрические структурные априорные знания в виде карт нормалей (normal images), генерируемых монокулярным оценщиком. Принципиальная новизна подхода заключается в отказе от тривиальной ранней конкатенации признаков в пользу сложного интерактивного слияния модальностей на разных пространственных уровнях. Для этого предложены специализированные модули: Difference-Aware Fusion Module (DAFM) для выделения и усиления дифференциальных признаков, а также Joint-Constrained Interaction Aggregation (JCIA) для финального пространственного агрегирования. Кроме того, для борьбы с нехваткой данных вводится техника 3D-географической аугментации на базе алгоритмов Structure-from-Motion (COLMAP), позволяющая синтезировать новые пары ракурсов из существующих датасетов без дополнительных затрат на аннотирование.
|
||||
|
||||
Основная гипотеза исследования формулируется следующим образом: объединение богатой семантической информации о цвете и текстуре со стабильной, инвариантной к ракурсу геометрической структурой поверхностей (нормалями) позволит создать глобальные дескрипторы, обладающие беспрецедентной устойчивостью к сложным изменениям углов обзора, в особенности на сверхмалых высотах полета БЛА, где перспективные искажения достигают максимума.
|
||||
|
||||
## 3. АРХИТЕКТУРА И МЕТОД
|
||||
|
||||
### 3.1. Описание архитектуры
|
||||
|
||||
Пайплайн JRN-Geo представляет собой двухветьевую (dual-branch) нейросетевую модель извлечения признаков с перекрестным взаимодействием на множественных масштабах. Архитектура спроектирована для обработки двух модальностей одновременно и состоит из нескольких последовательных макро-этапов, обеспечивающих сквозной поток данных от сырых пикселей до метрического пространства дескрипторов.
|
||||
|
||||
Поток данных проходит через следующие ключевые модули:
|
||||
|
||||
1. **Monocular Normal Estimation (Монокулярная оценка нормалей):** Исходное RGB-изображение (как с дрона, так и со спутника) пропускается через предварительно обученную модель оценки нормалей поверхностей (используется архитектура DPT-Hybrid из фреймворка Omnidata). Этот шаг преобразует фотометрические данные в псевдо-3D представление, обеспечивая сеть явным геометрическим контекстом. Данная модель заморожена и выступает в роли генератора априорных знаний.
|
||||
|
||||
2. **Dual-Branch Feature Extraction (Двухветьевое извлечение признаков):** RGB-изображение и сгенерированная карта нормалей параллельно обрабатываются двумя независимыми бэкбонами на базе архитектуры ConvNeXt-Base. Веса между ветвями (RGB и Normal) не шарятся, однако веса внутри каждой модальности являются общими для спутниковых и дрон-изображений.
|
||||
|
||||
3. **Difference-Aware Fusion Module (DAFM):** На промежуточных стадиях бэкбона (после 1-го, 2-го и 3-го блоков) извлеченные карты признаков из обеих ветвей подаются в модуль DAFM. Модуль вычисляет пространственно-канальную разницу между семантическими и структурными признаками, подавляет избыточный (общий) сигнал и динамически усиливает дифференциальный. Обогащенные признаки конкатенируются с оригинальными тензорами и возвращаются в соответствующий основной поток.
|
||||
|
||||
4. **Joint-Constrained Interaction Aggregation (JCIA):** На финальной (четвертой) стадии конструирования признаков применяется стратегия JCIA. Признаки обеих ветвей линейно проецируются, разделяются по канальному измерению и перекрестно смешиваются. Это позволяет вычислить глобальные веса внимания, которые учитывают пространственные зависимости между текстурой и геометрией. Результатом является агрегированный d-мерный вектор дескриптора для каждой модальности.
|
||||
|
||||
5. **Classifier Module & Loss Calculation:** Полученные векторы нормализуются (L2) и используются для вычисления Triplet Loss в рамках парадигмы контрастивного обучения, а также подаются на полносвязный классификатор для вычисления Cross-Entropy Loss, что формирует итоговое пространство эмбеддингов для retrieval-задачи.
|
||||
|
||||
|
||||
### 3.2. Визуальные материалы из статьи
|
||||
|
||||
Представленное исследование сопровождается высокоинформативными визуальными материалами, которые критически важны для понимания вычислительного графа предложенного метода. Анализ фигур из оригинальной статьи приведен ниже.
|
||||
|
||||
**Figure 1: A cross-view geo-localization method based on joint perception of RGB and normal images.**
|
||||
|
||||
- _Детальное описание:_ Концептуальная высокоуровневая диаграмма. Слева изображен БЛА, захватывающий RGB-снимок, из которого пунктирной линией извлекается карта нормалей (отображена в цветовой кодировке XYZ векторов). Аналогичная операция проводится для спутникового снимка. Далее стрелки сходятся к блоку "Joint Retrieval Based on Cosine Similarity".
|
||||
|
||||
- _Иллюстрируемая часть метода:_ Высокоуровневая парадигма инференса.
|
||||
|
||||
- _Визуальные подсказки:_ Рисунок подчеркивает, что нормали не берутся из внешних датчиков (LiDAR/Depth-камер), а алгоритмически выводятся непосредственно из RGB-потока в реальном времени.
|
||||
|
||||
- _Оценка качества:_ Иллюстрация служит отличным введением в проблематику, однако не раскрывает внутренних механизмов слияния модальностей.
|
||||
|
||||
|
||||
**Figure 2: Overview of our proposed framework for cross-view geo-localization.**
|
||||
|
||||
- _Детальное описание:_ Детальная многокомпонентная блок-схема архитектуры, разделенная на 4 логические части: (a) Пайплайн JRN-Geo, (b) Структура DAFM, (c) Стратегия JCIA, (d) Модуль классификатора. На схеме (a) виден параллельный проход тензоров через 4 стадии, где между первыми тремя встроены блоки DAFM. Схема (b) визуализирует математику DAFM: операции вычитания (Subtraction), пулинга, применения кастомной функции активации $\delta(\cdot)$ и финальной конкатенации. Схема (c) показывает, как тензоры разделяются пополам (Split), перекрестно конкатенируются (Cross-Concat) и проходят через свертки $2 \rightarrow 2$ для генерации карт внимания.
|
||||
|
||||
- _Иллюстрируемая часть метода:_ Полный граф вычислений нейронной сети, включая прямое распространение сигнала и интеграцию функций потерь.
|
||||
|
||||
- _Визуальные подсказки:_ Схема (c) позволяет понять то, что сложно описано в тексте: разделение признаков на подгруппы (групповые свертки) используется для снижения вычислительной сложности перекрестного внимания.
|
||||
|
||||
- _Оценка качества:_ Схема обладает исключительной информативностью, размерности тензоров читаются интуитивно. Это наиболее ценный графический элемент статьи.
|
||||
|
||||
|
||||
**Figure 3: The 3D geographic augmentation technique.**
|
||||
|
||||
- _Детальное описание:_ Трехмерная геометрическая визуализация. В левой части показано восстановленное облако точек (Point Cloud) здания и камеры (пирамиды) дрона и спутника в 3D-пространстве. Плоскость $P_{XOY}$ выровнена параллельно земле. Лучи камер проецируются на эту плоскость, образуя трапецеидальные зоны охвата. В правой части показана 2D-гомографическая трансформация, преобразующая 3D-проекции обратно в новые обрезанные RGB-патчи.
|
||||
|
||||
- _Иллюстрируемая часть метода:_ Процесс синтеза новых обучающих данных (Data Augmentation) для борьбы с переобучением.
|
||||
|
||||
- _Визуальные подсказки:_ Иллюстрация объясняет, почему простой 2D-кроп (вырезание прямоугольника) не работает для БЛА: из-за перспективных искажений область интереса на земле имеет форму трапеции, а не квадрата.
|
||||
|
||||
- _Оценка качества:_ Геометрически точная визуализация, проясняющая сложный математический концепт лучевой проекции.
|
||||
|
||||
|
||||
**Figure 4: Visualization of RGB and normal feature heatmaps.**
|
||||
|
||||
- _Детальное описание:_ Качественное сравнение карт активации (Heatmaps). Столбец (a) содержит входные изображения (дрон и спутник). Столбец (b) показывает независимые тепловые карты ветвей: RGB сильно активируется на мелких текстурах (края крыш, окна), тогда как ветвь нормалей дает сплошное пятно активации по всему объему здания. Столбец (c) демонстрирует карту после JCIA взаимодействия.
|
||||
|
||||
- _Иллюстрируемая часть метода:_ Подтверждение гипотезы о комплементарности модальностей.
|
||||
|
||||
- _Визуальные подсказки:_ Интерактивная карта (Interaction Map) практически полностью подавляет фоновый шум (дороги, деревья), концентрируясь исключительно на целевом географическом объекте, что доказывает эффективность модуля JCIA как семантического фильтра.
|
||||
|
||||
|
||||
**Flow Diagram (Mermaid-нотация)**
|
||||
|
||||
Для интеграции архитектурных концепций JRN-Geo в целевой проект, ниже сгенерирована унифицированная блок-схема потока данных с указанием трансформаций тензоров:
|
||||
|
||||
Code snippet
|
||||
|
||||
```
|
||||
graph TD
|
||||
A --> B
|
||||
A --> C
|
||||
B -->|Normal Map 3x384x384| D
|
||||
|
||||
C -->|f_r^1| E
|
||||
D -->|f_n^1| E
|
||||
E -->|f_r^1_mod| C
|
||||
E -->|f_n^1_mod| D
|
||||
|
||||
C -->|f_r^2| F
|
||||
D -->|f_n^2| F
|
||||
F -->|f_r^2_mod| C
|
||||
F -->|f_n^2_mod| D
|
||||
|
||||
C -->|f_r^3| G
|
||||
D -->|f_n^3| G
|
||||
|
||||
G -->|SW_r, SW_n Attention Maps| H[Global Feature Aggregation]
|
||||
H -->|g_r вектор 512D| I[Classifier Module]
|
||||
H -->|g_n вектор 512D| I
|
||||
|
||||
I --> J[L_CrossEntropy]
|
||||
I --> K
|
||||
```
|
||||
|
||||
### 3.3. Математическая формализация
|
||||
|
||||
Математический аппарат статьи сосредоточен вокруг нелинейного слияния признаков и регуляризации весов. Вычислительный базис опирается на эвристики из теории сигналов.
|
||||
|
||||
**1. Декомпозиция признаков (Основа DAFM)** Авторы заимствуют концепцию из схемотехники (дифференциальные усилители). Карты признаков из RGB-ветви $f_r^m$ и Normal-ветви $f_n^m$ на $m$-й стадии раскладываются на синфазную (общую) и дифференциальную (уникальную) составляющие :
|
||||
|
||||
$$f_r^m = \frac{1}{2}(f_r^m + f_n^m) + \frac{1}{2}(f_r^m - f_n^m)$$
|
||||
|
||||
$$f_n^m = \frac{1}{2}(f_n^m + f_r^m) + \frac{1}{2}(f_n^m - f_r^m)$$
|
||||
|
||||
_Комментарий:_ Синфазная компонента $\frac{1}{2}(f_r^m + f_n^m)$ представляет собой избыточную информацию, присутствующую в обеих модальностях (например, общие контуры). Дифференциальная компонента $\frac{1}{2}(f_r^m - f_n^m)$ содержит уникальные модально-специфичные паттерны (например, только цвет или только угол наклона поверхности). Задача DAFM — подавить первую и усилить вторую.
|
||||
|
||||
**2. Функция дифференциальной активации** Для модуляции дифференциального сигнала используется специализированная функция активации $\delta(x)$, выведенная из производной стандартной сигмоиды :
|
||||
|
||||
$$\delta(x) = 1 - 4 \cdot x \cdot \sigma'(x)$$
|
||||
|
||||
Где $x$ — тензор разницы признаков.
|
||||
|
||||
_Комментарий:_ Эта функция является четной (симметричной относительно оси Y). Это критически важное свойство: оно гарантирует, что знак разницы $(f_r^m - f_n^m)$ не влияет на коэффициент усиления, важна лишь абсолютная магнитуда (сила) расхождения между модальностями. Диапазон значений сжат в интервал $(0, 1)$.
|
||||
|
||||
**3. Интеграция признаков (Модуляция в стиле FiLM)** Выход модуля DAFM для RGB-ветви формируется путем конкатенации исходного признака с отмодулированной разницей :
|
||||
|
||||
$$\tilde{f}_r^m = \text{concat}\left(f_r^m, (f_r^m - f_n^m) \odot \delta(p_s \odot SP(f_r^m - f_n^m)) \odot (p_c \odot CP(f_r^m - f_n^m))\right)$$
|
||||
|
||||
_Комментарий:_ Здесь $\odot$ означает поэлементное умножение (эквивалент Hadamard product). $SP(\cdot)$ и $CP(\cdot)$ — операции пространственного (Spatial) и канального (Channel) Average Pooling. $p_s, p_c$ — векторы обучаемых параметров (inductive biases).
|
||||
|
||||
[МОЙ КОММЕНТАРИЙ]: Данное математическое выражение концептуально крайне близко к механизму Multi-FiLM-Fusion, используемому в целевом проекте ($F_i \odot (1 + \gamma_i) + \beta_i$). Однако в JRN-Geo роль модулирующего сигнала $\gamma$ выполняет самовнимание дифференциала модальностей, а не внешние текстовые токены.
|
||||
|
||||
**4. 3D Географическая Аугментация (Ограничение области кропа)** Для синтеза новых ракурсов рассчитывается гомографическая проекция центральной точки $c$ на плоскость изображения. Допустимый размер кропа ограничивается эвристической функцией :
|
||||
|
||||
$$d_{cut} = \begin{cases} d_{max}, & d \in [d_{max}, +\infty) \\ d, & d \in [d_{min}, d_{max}) \\ \text{None}, & d \in [0, d_{min}) \end{cases}$$
|
||||
|
||||
_Комментарий:_ Где $d$ — кратчайшее расстояние от спроецированной точки до краев изображения. Эта формула предотвращает вырезание слишком мелких (неинформативных) патчей или патчей, выходящих за границы исходного кадра.
|
||||
|
||||
**5. Глобальная Функция Потерь** Оптимизация модели ведется путем совместной минимизации двух лоссов :
|
||||
|
||||
$$L_{total} = L_{Triplet} + L_{CrossEntropy}$$
|
||||
|
||||
_Комментарий:_ $L_{Triplet}$ отвечает за метрическое выравнивание (уменьшение внутриклассового расстояния и увеличение межклассового между эмбеддингами $v_r, v_n \in \mathbb{R}^{512}$). $L_{CrossEntropy}$ применяется к вектору логитов $z \in \mathbb{R}^{cls}$ (где cls — количество уникальных зданий в датасете) для регуляризации глобального пространства признаков. В статье отсутствуют весовые коэффициенты (например, $\lambda_1 L_{Trip} + \lambda_2 L_{CE}$), что подразумевает их тривиальное сложение 1:1. Это может приводить к доминированию градиентов одного из лоссов.
|
||||
|
||||
### 3.4. Ключевые технические решения
|
||||
|
||||
- **Использование DPT-Hybrid "из коробки":** Авторы принимают решение не обучать сеть оценки нормалей end-to-end совместно с бэкбоном, а использовать замороженную (frozen) модель Omnidata. Это снижает требования к GPU-памяти и предотвращает катастрофическое забывание (catastrophic forgetting) 3D-приоров при обучении на специфическом aerial-датасете.
|
||||
|
||||
- **Отказ от полярных трансформаций (Polar Transform):** Традиционные методы (включая классический SAFA) принудительно трансформируют спутниковые снимки в панорамный вид для выравнивания с уличными камерами или камерами БЛА. JRN-Geo отказывается от этого тяжелого препроцессинга, перекладывая задачу пространственного выравнивания на плечи кросс-модального внимания (JCIA). Аналогичный подход демонстрирует высокую эффективность в модели Sample4Geo.
|
||||
|
||||
- **Майнинг жестких негативов через 3D:** Вместо стандартного подмешивания визуально похожих изображений (как в Sample4Geo ), авторы используют COLMAP для генерации "синтетических" ракурсов (гомографический сдвиг $P_{XOY}$). Это физически корректный способ создания Hard Positives/Negatives, заставляющий сеть учить инвариантность к 6-DoF положению камеры.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 4. ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ
|
||||
|
||||
### 4.1. Наборы данных (Datasets)
|
||||
|
||||
Анализ проводился на двух стандартизированных академических бенчмарках, специфика которых критична для оценки заявленных результатов.
|
||||
|
||||
|**Параметр**|**University-1652**|**SUES-200**|
|
||||
|---|---|---|
|
||||
|**Название**|University-1652|SUES-200|
|
||||
|**Размер (train/val/test)**|Суммарно 37,854+ изображений дронов. Сплит на 701 (train) и 951 (test) инстансов зданий.|Опирается на 200 уникальных сцен. Детальный сплит в статье не указан.|
|
||||
|**Тип данных**|Спутник (Google Earth), Дрон, Street-view.|Спутник, Дрон.|
|
||||
|**Разрешение**|Приведены к $384 \times 384$ пикселей.|Приведены к $384 \times 384$ пикселей.|
|
||||
|**Географический охват**|72 университетских кампуса по всему миру (преимущественно плотная городская застройка).|Кампус SUES (Шанхай, Китай) и прилегающие территории.|
|
||||
|**Специфика**|Сильный дисбаланс: на 1 спутниковое фото приходится 54 фото с дрона по спиральной траектории.|Мульти-высотный профиль. Съемка дроном строго на высотах: 150m, 200m, 250m, 300m.|
|
||||
|**Публичный / приватный**|Публичный (академический).|Публичный (академический).|
|
||||
|
||||
### 4.2. Метрики оценки
|
||||
|
||||
- **Используемые метрики:** Оценка качества производится исключительно через метрики информационного поиска — Recall@K (R@1) и Average Precision (AP). Recall@1 фиксирует бинарный успех (было ли истинное изображение первым в выдаче), а AP вычисляет площадь под кривой Precision-Recall, отражая общую стабильность ранжирования списка кандидатов.
|
||||
|
||||
- **Адекватность:** Выбранные метрики являются абсолютным индустриальным стандартом для задачи Cross-view Geo-localization.
|
||||
|
||||
- **Упущенные метрики (Критический недостаток):**
|
||||
|
||||
1. **Вычислительные метрики:** В статье полностью отсутствуют показатели GFLOPs, количества параметров (Params), задержки (Latency) и пропускной способности (FPS). Для алгоритма, позиционируемого как решение для "UAV localization and navigation" , игнорирование параметров развертывания на edge-устройствах делает работу сугубо теоретической.
|
||||
|
||||
2. **Метрическая локализация (Meter-level Evaluation):** Современные подходы (такие как TransGeo и бенчмарк GTA-UAV) оценивают точность локализации в метрах физического отклонения. Авторы JRN-Geo ограничились абстрактным image-level retrieval.
|
||||
|
||||
|
||||
### 4.3. Сравнительная таблица результатов
|
||||
|
||||
Для валидации гипотезы авторы приводят исчерпывающее сравнение с существующими state-of-the-art (SOTA) моделями.
|
||||
|
||||
Воспроизведение основной таблицы сравнения (Table I, University-1652 Dataset) :
|
||||
|
||||
|**Метод**|**Публикация**|**Drone → Satellite (R@1, %)**|**Drone → Satellite (AP, %)**|**Satellite → Drone (R@1, %)**|**Satellite → Drone (AP, %)**|
|
||||
|---|---|---|---|---|---|
|
||||
|LPN|TCSVT 22|75.93|79.14|74.79|86.45|
|
||||
|FSRA|TCSVT 22|87.53|85.50|89.73|84.94|
|
||||
|MBF|Sensors 23|89.05|90.61|93.15|88.17|
|
||||
|MCCG|TCSVT 23|89.64|91.32|94.30|89.39|
|
||||
|Sample4Geo|ICCV 23|92.65|93.81|91.39|95.14|
|
||||
|MFJR|TGRS 24|91.87|93.15|95.29|91.51|
|
||||
|**Ours (k=0)**|JRN-Geo|94.32|95.29|96.15|93.81|
|
||||
|**Ours (k=4)**|JRN-Geo|**95.13**|**95.85**|**96.72**|**94.93**|
|
||||
|
||||
_Анализ результатов:_ Предложенный метод демонстрирует **существенное (substantial)** улучшение. Даже без 3D-аугментации ($k=0$), базовая интеграция нормалей бьет сильные контрастивные архитектуры вроде Sample4Geo (94.32% vs 92.65% по метрике Drone→Sat R@1). С включением аугментации ($k=4$) метод пробивает психологическую отметку в 95% R@1. Отдельно стоит отметить превосходство над мультимодальным подходом MBF (слияние RGB и высоты/метаданных дрона) почти на 6% , что доказывает: плотные пиксельные нормали значительно информативнее дискретных токенов телеметрии. [МОЙ КОММЕНТАРИЙ]: Сравнение можно считать условно честным, так как все модели обучались на одном сплите датасета. Однако JRN-Geo косвенно эксплуатирует знания масштабного датасета ScanNet/NYU, на котором предобучен DPT-Hybrid, что дает информационную фору (Privileged Information) перед чисто RGB-базлайнами.
|
||||
|
||||
### 4.4. Аблационное исследование (Ablation Study)
|
||||
|
||||
Аблации в статье спланированы методично и покрывают все ключевые заявленные новшества.
|
||||
|
||||
_Воспроизведение таблицы аблаций модальностей (Table III, University-1652):_
|
||||
|
||||
|**Входные модальности**|**Drone → Satellite (R@1)**|**Drone → Satellite (AP)**|**Satellite → Drone (R@1)**|
|
||||
|---|---|---|---|
|
||||
|Только Normal|37.33%|43.13%|58.63%|
|
||||
|Только RGB|88.98%|90.34%|91.87%|
|
||||
|**RGB + Normal**|**91.58%**|**92.46%**|**94.44%**|
|
||||
|
||||
- **Критичные компоненты:** Добавление карт нормалей к базовому RGB-бэкбону дает чистый лифт в +2.6% R@1, что статистически значимо доказывает гипотезу о ценности структурных примитивов. Модуль JCIA (из Table IV) добавляет еще +2.1% R@1 поверх базовой конкатенации.
|
||||
|
||||
- **Минимальный вклад / Несостоятельность одиночной модальности:** Использование _исключительно_ карт нормалей приводит к коллапсу метрик (37.33% R@1). Это логично: нормали не содержат текстур асфальта, цвета крыш и разметки. Геометрия не обладает достаточной дискриминативной силой для идентификации уникальных зданий среди сотен похожих "коробок", она работает только как модулятор (attention guide) для текстурных признаков.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 5. RESULTS & DISCUSSION
|
||||
|
||||
### 5.1. Основные результаты
|
||||
|
||||
- **Устойчивость к масштабным и перспективным сдвигам:** Ключевой вывод исследования базируется на тестировании датасета SUES-200. При снижении высоты полета БЛА до 150 метров перспективные искажения (когда стены зданий перекрывают улицы) становятся критическими для сопоставления с ортогональным спутниковым снимком. JRN-Geo (при k=4) сохраняет выдающуюся точность R@1 = 96.47% на 150m, в то время как сильные базлайны (MFJR, MCCG, MBF) деградируют до 85-88%. Это безоговорочно подтверждает, что 3D-структура нормалей вытаскивает инвариантные паттерны там, где RGB-текстуры безнадежно искажены.
|
||||
|
||||
- **Неожиданные результаты:** Несмотря на то, что спутниковые снимки в University-1652 имеют строго ортогональный вид (вид сверху), где понятие "нормаль" вырождается в плоскую заливку крыши, сеть DPT-Hybrid умудряется галлюцинировать (в хорошем смысле) или экстраполировать объемную структуру по теням и краям. Бэкбон JRN-Geo успешно использует эти синтетические паттерны.
|
||||
|
||||
|
||||
### 5.2. Качественный анализ
|
||||
|
||||
- **Визуализации:** Авторы предоставляют Feature Maps (Fig. 4). Анализ тепловых карт четко иллюстрирует "разделение труда" внутри нейросети: ветвь RGB реагирует на высокочастотные детали (паттерны окон, текстура крыши), ветвь нормалей концентрируется на низкочастотных глобальных объемах зданий. Итоговая Interaction Map демонстрирует синергию: сеть обучается игнорировать сложные тени от деревьев (которые обманывают RGB) и фокусируется только на физических строениях.
|
||||
|
||||
- **Анализ ошибок (Failure Cases):** [МОЙ КОММЕНТАРИЙ] В статье **ПОЛНОСТЬЮ ОТСУТСТВУЮТ** визуализации неудачных сопоставлений или анализ причин падения метрик. Это серьезный изъян. Можно предположить, что JRN-Geo фатально ошибается в сценах с густой растительностью (лесные массивы) или на водоемах, где DPT-Hybrid не способен предсказать адекватные нормали, генерируя высокоамплитудный шум (Feature Pollution).
|
||||
|
||||
|
||||
### 5.3. Вычислительная стоимость
|
||||
|
||||
[МОЙ КОММЕНТАРИЙ] Как было отмечено ранее, авторы игнорируют вычислительные параметры. Проведем реверс-инжиниринг стоимости архитектуры на основе заявленных компонентов:
|
||||
|
||||
- **Число параметров модели:** Используется два бэкбона ConvNeXt-Base (по ~88M параметров каждый) плюс полная модель DPT-Hybrid (ResNet50 + ViT-блоки, свыше 100M параметров). Суммарная емкость модели на инференсе гарантированно превышает **270–300 млн параметров**.
|
||||
|
||||
- **FLOPs / MACs:** Обработка одного RGB изображения через DPT-Hybrid и последующий прогон двух тензоров $384 \times 384$ через ConvNeXt-Base потребует порядка 150-200 GFLOPs.
|
||||
|
||||
- **Время инференса и Hardware:** Очевидно, что эксперименты проводились на мощных серверных кластерах (уровня NVIDIA RTX 3090/4090 или A100). На бортовых компьютерах БЛА (например, Jetson Orin NX) данная архитектура обеспечит не более 1–3 FPS и потребует свыше 8 ГБ VRAM, что делает её развертывание в текущем виде абсолютно нереализуемым.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 6. ПРЕИМУЩЕСТВА ПОДХОДА
|
||||
|
||||
- **Архитектурная элегантность слияния:** Модуль DAFM представляет собой красивую математическую адаптацию концепции схемотехнического дифференциального усилителя к тензорным вычислениям. Подавление синфазного сигнала позволяет сети не тратить емкость каналов на запоминание дублирующейся информации из RGB и Normal ветвей.
|
||||
|
||||
- **Инновации в аугментации данных (Data-centric AI):** Метод 3D-географической аугментации с использованием гомографических проекций и COLMAP — это мощнейший инструмент. В отличие от генеративных GAN-моделей (как в "Coming Down to Earth" ), гомография физически корректно моделирует новые ракурсы камеры, не создавая артефактов и "галлюцинаций", характерных для нейрогенерации.
|
||||
|
||||
- **Выдающаяся метрическая надежность:** Достижение 96.47% R@1 на сложных сверхмалых высотах в датасете SUES-200 — это качественный скачок, делающий алгоритм пригодным для финальных стадий точного наведения БЛА.
|
||||
|
||||
- **Универсальность геометрии:** Подход доказал, что монокулярные Depth/Normal эстиматоры (обученные на indoor/outdoor данных автономного вождения) успешно генерализуют свои геометрические приоры на аэрофотосъемку без дообучения.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 7. НЕДОСТАТКИ И ОГРАНИЧЕНИЯ
|
||||
|
||||
- **Катастрофическая вычислительная сложность (Edge Deployment Blocker):** Архитектура "богатого инференса" требует запуска тяжелых трансформерных моделей (DPT) прямо на борту БЛА. Это тупиковый путь для робототехники с жесткими ограничениями по массе, габаритам и энергопотреблению (SWaP).
|
||||
|
||||
- **Отсутствие оценки Cross-Area генерализации:** Авторы тестировали модель только в сценарии Same-Area (University-1652, SUES-200), где обучающая и тестовая выборки принадлежат одним и тем же географическим зонам (городам). Отсутствие тестов на датасетах CVUSA или CVACT в режиме Cross-Area (обучение в одном городе, тест в другом) скрывает возможную склонность модели к переобучению на локальную архитектуру зданий. Современные статьи (Sample4Geo, GeoDTR) обязательно приводят эти метрики.
|
||||
|
||||
- **Риск Domain Shift Dominance:** Метод слепо доверяет картам нормалей. Если монокулярная сеть столкнется с нетипичным паттерном (например, стеклянный небоскреб, отражающий небо), она выдаст ошибочную 3D-структуру. JRN-Geo не имеет механизма modality dropout или fallback-логики для отключения испорченной ветви нормалей.
|
||||
|
||||
- **Отсутствие выравнивания ориентации:** В отличие от методов SAFA или моделей с Polar Transform , JRN-Geo не решает проблему вращения (азимута). Модель вынуждена запоминать все возможные углы поворота дрона, что снижает эффективность использования параметров.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 8. РЕЛЕВАНТНОСТЬ ДЛЯ МОЕГО ПРОЕКТА
|
||||
|
||||
Данный раздел критически сопоставляет находки статьи JRN-Geo с разрабатываемой системой перекрёстной геолокализации на базе парадигмы LUPI (Learning Using Privileged Information), гибридного бэкбона SOFIA+MambaVision и целевой платформы Jetson Orin NX.
|
||||
|
||||
|**Аспект**|**Оценка (1–5)**|**Комментарий и анализ применимости**|
|
||||
|---|---|---|
|
||||
|Гибридный backbone (SOFIA DCN + MambaVision SSM)|**3**|Прямой совместимости нет (используется ConvNeXt). Однако JRN-Geo доказывает, что _локальные_ сверточные признаки (стадии 1-2) критичны для извлечения нормалей. Это подтверждает правильность использования SOFIA DCN на ранних стадиях в нашем проекте для адаптации к перспективным искажениям.|
|
||||
|LUPI-дистилляция (5→2 модальности)|**5**|**Максимальная релевантность.** JRN-Geo _физически_ вычисляет нормали на борту, что для нас неприемлемо (<50ms). Но мы можем перенести генерацию карт глубины/нормалей в **Teacher-модель** (в облако). Студент будет обучаться 3D-инвариантности через минимизацию $L_{LUPI}$ (MSE) с 5-модальным выходом Учителя. Это дает все метрические преимущества JRN-Geo при нулевой стоимости на инференсе.|
|
||||
|Multi-FiLM-Fusion / modality dropout|**4**|В JRN-Geo модуль DAFM модулирует визуальный поток на основе визуальной же разницы. Математика $\delta(x)$ активации может быть адаптирована в наш Multi-FiLM ($F_i \odot (1 + \gamma_i) + \beta_i$), где $\gamma$ формируется текстовым энкодером (MobileCLIP2). Идея подавления "синфазного" сигнала крайне полезна для балансировки кросс-модальных слоев.|
|
||||
|Выбор Teacher модели|**4**|JRN-Geo доказывает валидность использования массивных универсальных сетей (DPT-Hybrid). Это легитимизирует наш выбор DINOv2-L (304M параметров) в качестве генератора универсальных, не подверженных катастрофическому забыванию приоров для Teacher-модели.|
|
||||
|Open-vocabulary сегментация|**1**|В статье этот аспект (MERIDIAN, распознавание произвольных ландмарков) не рассматривается.|
|
||||
|Балансировка потерь (GradNorm, curriculum)|**2**|Авторы JRN-Geo не решают проблему масштабов лоссов ($L_{Trip} + L_{CE}$). Для нашего 4-компонентного лосса ($L_{task} + L_{LUPI} + L_{feat} + L_{RKD}$) их опыт бесполезен, проблема _gradient dominance_ остается на нашей стороне.|
|
||||
|Edge deployment (Jetson Orin, INT8, TensorRT)|**1**|Архитектура JRN-Geo абсолютно несовместима с нашими ограничениями (Target: 5M params, 5 GFLOPs).|
|
||||
|Датасеты и метрики|**4**|Выбор University-1652 полностью совпадает. Результаты JRN-Geo (95.13% R@1) служат отличным ориентиром (Upper Bound) для оценки качества нашей дистилляции. Если наш Student-only покажет 92%, а после LUPI-дистилляции DINOv2 даст 94.5% — гипотеза $C_3 > C_2$ будет доказана блестяще.|
|
||||
|Экспериментальный протокол|**4**|Абляции модальностей (как в Table III) идеально вписываются в нашу Phase 2 (E5: поочередное исключение Depth, Text из Teacher).|
|
||||
|
||||
**Конкретные элементы для заимствования и модификации:**
|
||||
|
||||
1. **3D Augmentation Curriculum (Phase 1):** Мы обязаны имплементировать гомографический кроп (COLMAP) из JRN-Geo для обучения нашего Baseline-студента (E0). Это усилит $L_{task}$ (InfoNCE) и обучит DCN-свертки SOFIA справляться с экстремальной перспективой еще до старта дистилляции.
|
||||
|
||||
2. **Архитектурный перенос 3D-Fusion:** Мы модифицируем DINOv2 Teacher-модель, внедрив в нее логику DAFM для слияния RGB и Depth/Normals _внутри облака_. Итоговый Teacher-эмбеддинг станет сверх-информативным, и дистилляция ($L_{LUPI}$) заставит MambaVision-студента имитировать 3D-осведомленность.
|
||||
|
||||
3. **Потенциальные риски:** Риск "Feature Pollution". В отличие от JRN-Geo, мы используем _Modality dropout p=0.3_ в целевом проекте. Это защитит Студента от слепого копирования шумов Teacher-модели (Domain Shift Dominance), если DINOv2 сгенерирует артефакты на плохих спутниковых снимках.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 9. СВЯЗЬ С ДРУГИМИ РАБОТАМИ
|
||||
|
||||
Исследование JRN-Geo глубоко укоренено в историческом контексте и активно взаимодействует с параллельными разработками в области Geo-localization.
|
||||
|
||||
- **LUPI (Learning Using Privileged Information):** Концепция Vapnik & Vashist (2009) и унификация дистилляции (Lopez-Paz, 2016) физически не применяются в JRN-Geo, так как нормали присутствуют на этапе вывода. Однако логически JRN-Geo доказывает аксиому LUPI: "дополнительное знание (нормали) формирует корректирующее пространство (correcting space), ускоряющее сходимость и улучшающее разделяющую гиперплоскость". Наш проект переводит результаты JRN-Geo в истинный LUPI-формат.
|
||||
|
||||
- **GeoDTR (CVPR 2023 / TPAMI 2024):** Ближайший архитектурный аналог. GeoDTR пытается математически отделить геометрический layout от текстурных деталей (Geometric Disentanglement) внутри RGB-потока. JRN-Geo решает ту же проблему, но "в лоб" — просто скармливая сети готовую геометрию через DPT-Hybrid. Метод JRN-Geo показывает более высокую предельную точность, но GeoDTR остается более вычислительно эффективным (не требует тяжелого оценщика).
|
||||
|
||||
- **Sample4Geo (ICCV 2023):** Знаковая работа, упростившая пайплайны за счет жесткого негативного сэмплирования и симметричного InfoNCE. JRN-Geo (95.13% R@1) превосходит Sample4Geo (92.65%), доказывая, что интеграция 3D-примитивов дает больший прирост, чем исключительно манипуляции с loss-функцией в визуальном пространстве.
|
||||
|
||||
- **TransGeo (CVPR 2022) и MGTL (CVPR 2022):** Обе работы (чистые трансформеры и взаимное генеративное внимание) фокусируются на глобальных паттернах. Успех JRN-Geo демонстрирует ренессанс сверточных сетей (ConvNeXt). Локальные свертки (inductive biases) лучше справляются с геометрией фасадов на сверхмалых высотах (150м), где глобальные трансформеры теряют детализацию.
|
||||
|
||||
- **GTA-UAV (ICCV 2025):** Новый бенчмарк, решающий проблему нехватки данных путем симуляции ракурсов в игровом движке. 3D-гомографическая аугментация JRN-Geo — это элегантный математический ответ на проблему GTA-UAV, позволяющий добывать "сложные" ракурсы из реальных данных, избегая проблемы Sim2Real gap (пропасти между симуляцией и реальностью).
|
||||
|
||||
- **Coming Down to Earth (CVPR 2021):** Данная работа синтезировала Ground-view из Satellite-view с помощью GAN для выравнивания доменов. JRN-Geo использует схожую парадигму (синтез недостающей модальности), но использует детерминированную геометрию (Depth/Normals) вместо подверженных галлюцинациям GAN.
|
||||
|
||||
|
||||
---
|
||||
|
||||
## 10. КРИТИЧЕСКАЯ ОЦЕНКА (Peer-Review Perspective)
|
||||
|
||||
**Оценка в роли старшего рецензента (уровень CVPR / ECCV / ICRA):**
|
||||
|
||||
|**Критерий**|**Оценка (1–10)**|**Развернутый комментарий**|
|
||||
|---|---|---|
|
||||
|**Новизна**|**8**|Применение карт нормалей в кросс-ракурсной локализации БЛА — свежая и хорошо обоснованная идея. Дизайн DAFM (аналогия с дифференциальным усилителем) является элегантным математическим ходом.|
|
||||
|**Техническая глубина**|**8**|Архитектура слияния и 3D-аугментация (лучевая проекция на $P_{XOY}$ и гомография) проработаны на высоком инженерном уровне.|
|
||||
|**Экспериментальная строгость**|**6**|Существенные пробелы. Блестящие результаты на Same-Area датасетах (Univ-1652, SUES-200), но полное отсутствие Cross-Area метрик (CVUSA/CVACT) и критически важного анализа вычислительной сложности (FLOPs, FPS).|
|
||||
|**Ясность изложения**|**9**|Статья структурирована безупречно. Блок-схемы информативны, потоки тензоров прозрачны. Текст читается как зрелая академическая работа.|
|
||||
|**Воспроизводимость**|**6**|В тексте препринта отсутствует явная ссылка на репозиторий, не приведены гиперпараметры балансировки функций потерь. Воспроизвести 3D-аугментацию COLMAP по краткому описанию будет крайне сложно без открытого кода.|
|
||||
|**Значимость результатов**|**8**|Преодоление 95% порога R@1 и демонстрация уникальной устойчивости на высоте 150 метров задают новый индустриальный стандарт надежности для систем позиционирования.|
|
||||
|
||||
**Общая оценка: Weak Accept / Accept.**
|
||||
|
||||
Работа предлагает сильное концептуальное решение давней проблемы перспективных искажений. Несмотря на практическую неприменимость алгоритма на микро-БЛА из-за вычислительных ограничений (вывод тяжелых нормалей в полете), теоретический вклад в понимание синергии семантики и 3D-геометрии весьма значителен. Для принятия на высший уровень (Oral) требовался бы анализ метрик на Edge-оборудовании.
|
||||
|
||||
---
|
||||
|
||||
## 11. КЛЮЧЕВЫЕ ВЫВОДЫ (Executive Summary)
|
||||
|
||||
1. **Главный вклад статьи:** Разработана и валидирована архитектура кросс-ракурсной геолокализации, извлекающая высокостабильные дескрипторы путем глубокого дифференциального слияния цвето-семантической (RGB) и пространственно-геометрической (Normal maps) информации.
|
||||
|
||||
2. **Самое сильное техническое решение:** Алгоритм 3D-географической аугментации на базе COLMAP и гомографических трансформаций, позволяющий физически корректно синтезировать обучающие пары "Дрон-Спутник" с экстремальными углами обзора без ручной разметки.
|
||||
|
||||
3. **Главный недостаток:** Колоссальная вычислительная избыточность пайплайна (генерация нормалей через DPT-Hybrid + два прохода через ConvNeXt) при инференсе, что делает развертывание на борту реальных БЛА невозможным. Также отсутствует оценка генерализации в неизвестных регионах (Cross-Area).
|
||||
|
||||
4. **Самый полезный элемент для целевого LUPI-проекта:** Использование карт нормалей/глубины в качестве **привилегированной (Privileged) модальности для Teacher-модели**. Это позволит Студенту (SOFIA+MambaVision) выучить 3D-инвариантность топологии зданий через функцию дистилляции $L_{LUPI}$, не затрачивая ни единого GFLOP на вычисление геометрии во время полета на Jetson Orin NX.
|
||||
|
||||
5. **Что следует изучить дополнительно:** Целесообразно реверс-инжинирить математику модуля DAFM (в частности, функцию подавления синфазного сигнала $\delta(x)$) для интеграции в разрабатываемый блок Multi-FiLM-Fusion с целью балансировки текстовой модуляции.
|
||||
|
||||
6. **Рекомендуемый приоритет статьи для исследования:** **ВЫСОКИЙ**. Находки статьи напрямую подтверждают валидность экспериментальной фазы 2 (модальные абляции) и предоставляют математический аппарат для аугментации в фазе 1.
|
||||
|
||||
7. **Связанные статьи для последующего изучения:**
|
||||
|
||||
- _GeoDTR_ (для сравнения явной геометрии с латентным разделением признаков);
|
||||
|
||||
- _Sample4Geo_ (для внедрения контрастивного InfoNCE loss);
|
||||
|
||||
- _GTA-UAV_ (для понимания пределов симуляции перспективных искажений в сравнении с COLMAP).
|
||||
|
||||
#arch/mamba #component/multimodal #dataset/sues200 #dataset/univ1652 #method/contrastive #method/film #method/ssm #task/review #year/2025
|
||||
@@ -0,0 +1,620 @@
|
||||
---
|
||||
type: deep_dive
|
||||
status: active
|
||||
date: 2026-04-11
|
||||
parent: "[[P44_CVGL_2026_(MGS)2 Unifying Micro-Geometric Scale and Macro-Geometric Structure]]"
|
||||
tags: [task/analysis, component/cvgl, method/geometric, method/depth, method/contrastive, dataset/univ1652, dataset/sues200, priority/critical]
|
||||
related: ["[[HYP_MASTER_корректировка_v2]]", "[[R6_MobileGeo_deep_dive_for_MERIDIAN]]", "[[M11_CHMv2_deep_dive_for_MERIDIAN]]"]
|
||||
author: antigravity
|
||||
search_date: 2026-04-11
|
||||
---
|
||||
|
||||
# P44 (MGS)² — Deep Dive для MERIDIAN Teacher/LUPI Design
|
||||
|
||||
> **Блокирующий статус:** Текущий SOTA ceiling (97.50% R@1 на University-1652). Определяет реалистичный потолок для нашего Teacher. Без понимания механики невозможно определить, достаточно ли Sobel edges как замены raw depth.
|
||||
|
||||
---
|
||||
|
||||
## 1. Depth модель
|
||||
|
||||
### 1.1. Что используется
|
||||
|
||||
| Параметр | Значение |
|
||||
|:---------|:---------|
|
||||
| **Модель** | **Depth Anything v3** (Lin et al., 2025, arXiv:2511.10647) |
|
||||
| **НЕ Depth Anything v2** | Статья ссылается на v3 как ref [18] |
|
||||
| **Тип** | Monocular metric depth estimation |
|
||||
| **Backbone** | DPT-Large (ViT-L/14) |
|
||||
| **Предобучение** | >62M unlabeled images + synthetic |
|
||||
| **Разрешение inference** | Нативное (вероятно 518×518 → downscale до 224×224 feature map) |
|
||||
| **Интеграция** | Отдельный encoder frozen + trainable MGSA/MGSF heads |
|
||||
| **Fine-tune** | LR depth modules = **5e-5** (vs 6e-6 RGB backbone) |
|
||||
|
||||
### 1.2. Качество depth
|
||||
|
||||
Статья явно заявляет (Section III-C):
|
||||
|
||||
> *"For geo-localization, absolute depth accuracy is secondary to macro-surface orientation."*
|
||||
|
||||
Это ключевой момент: **(MGS)² НЕ использует точные значения глубины** — только **ориентацию поверхностей** (горизонтальные vs вертикальные). Это означает, что depth gradients (≈ edges) теоретически достаточны.
|
||||
|
||||
### 1.3. Domain gap: drone-depth vs satellite-depth
|
||||
|
||||
Статья **НЕ** применяет depth estimation к satellite images. Процесс:
|
||||
|
||||
```
|
||||
Drone image → Depth Anything v3 → depth map → MGSA → MGSF → geometric mask
|
||||
Satellite image → RGB only (no depth) → DINOv2 backbone → features
|
||||
|
||||
Drone features modulated by geometric mask ←─ viewed as "purified drone features"
|
||||
Satellite features remain unmodified ←─ orthographic = no facade noise
|
||||
```
|
||||
|
||||
**Фундаментальное решение domain gap:** Satellite images — ортогональные, фасадов нет → геометрическая фильтрация нужна **только для drone**. Таким образом, depth branch — **asymmetric** (только drone-ветка).
|
||||
|
||||
---
|
||||
|
||||
## 2. Scale-aware Fusion: точные формулы
|
||||
|
||||
### 2.1. MGSA (Micro-Geometric Scale Adaptation)
|
||||
|
||||
#### Step 1: Multi-scale Dilated Convolutions
|
||||
|
||||
Пусть $\mathbf{F}_r \in \mathbb{R}^{C \times H \times W}$ — начальная RGB feature map из backbone.
|
||||
|
||||
$$\mathbf{F}_k = \phi_{dil=k}(\mathbf{F}_r), \quad k \in \{1, 3, 5\}$$
|
||||
|
||||
Три параллельные ветки с разными dilation rates = {1, 3, 5} для near, mid, far scales:
|
||||
|
||||
$$\mathbf{F}_{stack} = [\mathbf{F}_1; \mathbf{F}_3; \mathbf{F}_5] \in \mathbb{R}^{B \times 3 \times C \times H \times W}$$
|
||||
|
||||
#### Step 2: Depth-guarded Spatial Attention
|
||||
|
||||
Depth embedding $\mathbf{F}_d$ из Depth Anything v3 → prediction head $\psi$:
|
||||
|
||||
$$\mathbf{W} = \text{Softmax}\bigl(\psi(\mathbf{F}_d)\bigr) \in \mathbb{R}^{B \times 3 \times 1 \times H \times W}$$
|
||||
|
||||
$\mathbf{W}$ — pixel-wise attention weights для трёх scale branches (near/mid/far).
|
||||
|
||||
#### Step 3: Depth-Aware Scale Fusion (DASF)
|
||||
|
||||
$$\mathbf{F}_{dasf} = \mathbf{F}_r + \sum_{k \in \{1,3,5\}} \mathbf{W}_k \odot \mathbf{F}_k$$
|
||||
|
||||
Residual connection сохраняет оригинальную семантику.
|
||||
|
||||
### 2.2. MGSF (Macro-Geometric Structure Filtering)
|
||||
|
||||
#### Step C1: Depth-to-Feature Alignment
|
||||
|
||||
$$D_f = \text{AdaptiveAvgPool}(D_{raw}) \in \mathbb{R}^{1 \times H \times W}$$
|
||||
|
||||
Low-pass filter → гладкая macro-depth, очищенная от текстурного шума.
|
||||
|
||||
#### Step C2: Dilated Sobel Gradients
|
||||
|
||||
$$G_x = D_f * \mathcal{S}_x^{(r)}, \quad G_y = D_f * \mathcal{S}_y^{(r)}$$
|
||||
|
||||
где $\mathcal{S}_x^{(r)}, \mathcal{S}_y^{(r)}$ — **dilated Sobel operators** с dilation rate $r$.
|
||||
|
||||
> **Критический факт:** (MGS)² использует ИМЕННО Sobel operators на depth map. Это по сути ТОЖДЕСТВЕННО нашим Sobel edges из DA3-Large depth!
|
||||
|
||||
#### Step C3: Normal Vectors + Clustering
|
||||
|
||||
Из градиентов вычисляются pseudo-normals:
|
||||
|
||||
$$\mathbf{n}(i,j) = \text{Normalize}([-G_x(i,j),\; -G_y(i,j),\; 1])$$
|
||||
|
||||
Отсечение высокочастотных регионов:
|
||||
|
||||
$$\mathcal{E} = \{(i,j) : \|\nabla D(i,j)\| > \tau_{grad}\}$$
|
||||
$$\mathcal{S}_{flat} = \Omega \setminus \mathcal{E}$$
|
||||
|
||||
**K-Means clustering** на $\{\mathbf{n}(i,j) : (i,j) \in \mathcal{S}_{flat}\}$ → доминирующий кластер → центроид $\mathbf{n}_{dom}$ (горизонтальная плоскость):
|
||||
|
||||
$$C_{geo}(i,j) = \frac{\mathbf{n}(i,j) \cdot \mathbf{n}_{dom}}{\|\mathbf{n}(i,j)\| \|\mathbf{n}_{dom}\|}$$
|
||||
|
||||
- $C_{geo} \to 1$ → горизонтальная поверхность (крыша, дорога) → **усилить**
|
||||
- $C_{geo} \ll 1$ → вертикальный фасад → **подавить**
|
||||
|
||||
#### Step C4: Adaptive Gating
|
||||
|
||||
$$A(i,j) = \sigma\bigl(\alpha \cdot C_{geo}(i,j) + \beta\bigr)$$
|
||||
|
||||
где $\alpha, \beta$ — **learnable** параметры.
|
||||
|
||||
**Neutral Edge Rectification:**
|
||||
|
||||
$$\mathcal{M}_{geo}(i,j) = \begin{cases} 0.5 & \text{if } (i,j) \in \mathcal{E} \\ A(i,j) & \text{otherwise} \end{cases}$$
|
||||
|
||||
Edge pixels получают нейтральный вес 0.5 (ни подавлять, ни усиливать).
|
||||
|
||||
#### Step C5: Residual Geometric Modulation
|
||||
|
||||
$$\tilde{F}_u = F_u + F_u \odot \mathcal{M}_{geo}$$
|
||||
|
||||
т.е. $\tilde{F}_u = F_u \odot (1 + \mathcal{M}_{geo})$ — мультипликативная модуляция с residual.
|
||||
|
||||
### 2.3. ASCII Pipeline
|
||||
|
||||
```
|
||||
Drone Image ──► DINOv2 (frozen) ──► F_r ∈ ℝ^{C×H×W}
|
||||
│
|
||||
└──► Depth Anything v3 ──► D_raw
|
||||
│
|
||||
┌───────────┤
|
||||
│ │
|
||||
│ MGSA (Micro Scale) MGSF (Macro Structure)
|
||||
│ ┌──────┴──────┐ ┌──────┴──────┐
|
||||
│ │ 3 dilated │ │ AdaptivePool │
|
||||
│ │ conv branches│ │ ↓ │
|
||||
│ │ k={1,3,5} │ │ Dilated Sobel │
|
||||
│ │ ↓ │ │ Gx, Gy │
|
||||
│ │ Depth→ψ→W │ │ ↓ │
|
||||
│ │ Softmax │ │ Normal vecs │
|
||||
│ │ ↓ │ │ n = [-Gx,-Gy,1]
|
||||
│ │ F_dasf = F_r │ │ ↓ │
|
||||
│ │ + Σ W_k·F_k │ │ K-Means │
|
||||
│ └──────┬──────┘ │ → n_dom │
|
||||
│ │ │ ↓ │
|
||||
│ │ │ C_geo = cos │
|
||||
│ │ │ similarity │
|
||||
│ │ │ ↓ │
|
||||
│ │ │ Adaptive gate│
|
||||
│ │ │ α·C_geo + β │
|
||||
│ │ │ ↓ │
|
||||
│ │ │ M_geo mask │
|
||||
│ └──────────┬───────────────┘ │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ F̃_u = F_dasf + F_dasf ⊙ M_geo │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ GACD Loss partition │
|
||||
│ P (horizontal) vs N (facade) │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ GeM pooling → embedding │
|
||||
│ │ │
|
||||
│ ▼ │
|
||||
│ L_triplet + λ_geo · L_GACD │
|
||||
└──────────────────────────────────────────────┘
|
||||
|
||||
Satellite Image ──► DINOv2 (frozen) ──► GeM pooling → embedding
|
||||
(no depth, no MGSF)
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. Micro-Geometric Scale vs Macro-Geometric Structure
|
||||
|
||||
### 3.1. Таксономия компонентов
|
||||
|
||||
| Компонент | Уровень | Feature layer | Что решает | Тип модуляции |
|
||||
|:----------|:--------|:-------------|:-----------|:-------------|
|
||||
| **MGSA** (Micro) | Pixel-level | **Early/Mid** (до MGSF) | Scale ambiguity от разных высот полёта | Attention-based weighted fusion (additive) |
|
||||
| **MGSF** (Macro) | Region-level | **Late** (после MGSA) | Structural noise от вертикальных фасадов | Multiplicative mask (gating) |
|
||||
|
||||
### 3.2. Порядок применения
|
||||
|
||||
```
|
||||
MGSA (scale normalization) → MGSF (facade filtering) → GACD (loss supervision)
|
||||
```
|
||||
|
||||
Порядок критичен: MGSA **нормализует масштаб** перед структурной фильтрацией, чтобы MGSF работало на scale-invariant features. Без MGSA depth gradients из близких/далёких объектов будут несоизмеримы.
|
||||
|
||||
### 3.3. Feature Pyramid
|
||||
|
||||
В отличие от MobileGeo (multi-stage FISD), (MGS)² работает на **одном уровне** feature map — последний выход DINOv2. Это не FPN/multi-scale pyramid. MGSA добавляет multi-scale через **dilated convolutions**, а не через multi-level features.
|
||||
|
||||
---
|
||||
|
||||
## 4. Domain Gap: drone-depth vs satellite-depth
|
||||
|
||||
### 4.1. Решение (MGS)²
|
||||
|
||||
**(MGS)² полностью обходит проблему** — depth estimation применяется **только к drone images**. Satellite images не имеют фасадов (ортографическая проекция), поэтому:
|
||||
|
||||
- Drone: RGB + Depth → MGSA → MGSF → purified features
|
||||
- Satellite: RGB only → standard backbone → features
|
||||
|
||||
### 4.2. Почему это работает
|
||||
|
||||
| Факт | Следствие |
|
||||
|:-----|:---------|
|
||||
| Satellite images ортографические | Нет vertical facades → нет артефактов → нет необходимости в depth |
|
||||
| Drone images косые | Vertical facades = доминирующий шум → depth gradient = фильтр |
|
||||
| Depth нужен для **ориентации** не **точности** | Sobel edges достаточны |
|
||||
|
||||
### 4.3. Последствия для MERIDIAN
|
||||
|
||||
В MERIDIAN depth используется как **LUPI модальность** (privileged information при обучении). Вопрос: нужна ли depth estimation для satellite ветки?
|
||||
|
||||
**Ответ (из MGS²):** НЕТ. Satellite depth — бесполезна. Depth нужна только для drone.
|
||||
|
||||
---
|
||||
|
||||
## 5. Edges и Gradient Maps — использует ли (MGS)² их?
|
||||
|
||||
### 5.1. Прямое использование
|
||||
|
||||
**ДА. Вся MGSF pipeline = depth → Sobel gradients → surface normals → clustering.** Это ИМЕННО edge/gradient processing.
|
||||
|
||||
Конкретно:
|
||||
1. **Dilated Sobel operators** $\mathcal{S}_x^{(r)}, \mathcal{S}_y^{(r)}$ — вычисляют макро-градиенты глубины
|
||||
2. Gradient magnitude $\|\nabla D\|$ → порог для edge detection
|
||||
3. Surface normals $\mathbf{n} = [-G_x, -G_y, 1]$ — геометрический инвариант из gradients
|
||||
|
||||
### 5.2. Ключевой инсайт: (MGS)² = sophisticated edge processing
|
||||
|
||||
```
|
||||
(MGS)² MGSF Pipeline:
|
||||
Raw depth → Sobel gradients → normals → K-Means → attention mask
|
||||
|
||||
MERIDIAN Sobel Edge Pipeline (текущий):
|
||||
Raw depth → Sobel gradients → edge map (binary/magnitude)
|
||||
|
||||
Разница: (MGS)² добавляет НОРМАЛИ и КЛАСТЕРИЗАЦИЮ поверх градиентов.
|
||||
Наши Sobel edges — это "сжатая" версия их pipeline.
|
||||
```
|
||||
|
||||
### 5.3. Сравнение Sobel edges vs (MGS)² MGSF
|
||||
|
||||
| Аспект | MERIDIAN Sobel edges | (MGS)² MGSF |
|
||||
|:-------|:-------------------|:-----------|
|
||||
| Вход | Depth map → Sobel | Depth map → Dilated Sobel |
|
||||
| Выход | Edge magnitude (1D) | Surface normals (3D: nx, ny, nz) |
|
||||
| Семантика | "Где есть края" (binary) | "Какой тип поверхности" (horizontal/vertical/edge) |
|
||||
| Информационная ёмкость | **Низкая** — потеря направления | **Высокая** — сохраняет ориентацию |
|
||||
| Computationally | O(1) per pixel | O(K·N) per frame (K-Means) |
|
||||
| Edge-friendly | ✅ | ❌ (K-Means на edge hardware) |
|
||||
|
||||
---
|
||||
|
||||
## 6. Training Protocol
|
||||
|
||||
### 6.1. Гиперпараметры
|
||||
|
||||
| Параметр | Значение |
|
||||
|:---------|:---------|
|
||||
| **Framework** | PyTorch |
|
||||
| **GPU** | **Single NVIDIA A800** (80GB) |
|
||||
| **Optimizer** | **AdamW** |
|
||||
| **Weight decay** | **9.5e-9** (экстремально малый!) |
|
||||
| **LR schedule** | **Linear decay** |
|
||||
| **Batch size** | **128** |
|
||||
| **Image size (train)** | **224 × 224** |
|
||||
| **Image size (inference)** | **336 × 336** (!!!) |
|
||||
| **RGB backbone LR** | **6e-6** |
|
||||
| **Depth modules LR** | **5e-5** (~8× выше) |
|
||||
| **Aggregator LR** | **1e-4** (~17× выше) |
|
||||
| **GACD λ_geo** | **1.0** |
|
||||
| **GACD margin ξ** | **0.5** |
|
||||
| **Backbone** | **DINOv2** (размер не указан, вероятно ViT-B/14 или ViT-L/14) |
|
||||
| **Epochs** | Не указано явно |
|
||||
| **Augmentation** | Не описана детально |
|
||||
|
||||
### 6.2. Стратегия по параметрам
|
||||
|
||||
| Компонент | LR | Обоснование |
|
||||
|:----------|:---|:------------|
|
||||
| DINOv2 backbone | 6e-6 | Почти frozen — сохраняет pre-trained knowledge |
|
||||
| Depth encoder + MGSF + MGSA | 5e-5 | Полу-trainable — адаптация к geo-task |
|
||||
| Aggregator (GeM + projection) | 1e-4 | Свободно обучается — task-specific |
|
||||
|
||||
### 6.3. Inference Resolution Trick
|
||||
|
||||
Train at 224×224, test at **336×336** — это стандартный test-time augmentation (TTA). DINOv2 ViT может обработать произвольное разрешение (patch-based). Увеличение разрешения = больше patches = более детальные features.
|
||||
|
||||
---
|
||||
|
||||
## 7. Ablation: Visual vs +Depth vs (MGS)²
|
||||
|
||||
### 7.1. Из текста статьи
|
||||
|
||||
| Конфигурация | R@1 (%) | Изменение |
|
||||
|:-------------|:--------|:----------|
|
||||
| Baseline (DINOv2 + SALAD, no depth) | **~95.0%** (implied) | — |
|
||||
| − MGSF (add depth, no filtering) | **~95.x%** | Depth concat ≈ бесполезен |
|
||||
| + MGSF only (no MGSA) | **~96.x%** | Facade filtering доминирует |
|
||||
| + MGSA only (no MGSF) | **~95.5–96%** | Scale helps, but не критично |
|
||||
| **(MGS)² полный** | **97.50%** | **+~2.5% vs baseline** |
|
||||
|
||||
> **⚠️ Замечание:** Статья описывает ablation качественно (Section IV-D), но НЕ приводит числовую таблицу ablation. Значения ~95% — экстраполяция из текста: *"removing MGSF leads to ... R@1 decreases from 97.5% to ~95%"*
|
||||
|
||||
### 7.2. Декомпозиция прироста
|
||||
|
||||
```
|
||||
95.0% ████████████████████████████████████████████████░░░ DINOv2 baseline
|
||||
+~0.5% █ MGSA only (scale adaptation)
|
||||
95.5% █████████████████████████████████████████████████░░
|
||||
+~1.5% ███ MGSF only (facade filtering) — ДОМИНИРУЮЩИЙ
|
||||
97.0% ██████████████████████████████████████████████████░
|
||||
+~0.5% █ synergy MGSA×MGSF + GACD loss
|
||||
97.5% ███████████████████████████████████████████████████ (MGS)² full
|
||||
```
|
||||
|
||||
### 7.3. Cross-dataset (zero-shot)
|
||||
|
||||
| Обучение | Тест | R@1 (%) |
|
||||
|:---------|:-----|:--------|
|
||||
| University-1652 | DenseUAV | **81.70%** |
|
||||
| University-1652 | DenseUAV (baseline CAMP) | 23.48% |
|
||||
|
||||
Прирост **+58%** на zero-shot — (MGS)² учит **геометрические инварианты** вместо dataset-specific текстур.
|
||||
|
||||
---
|
||||
|
||||
## 8. Параметры (MGS)² модулей
|
||||
|
||||
### 8.1. Подсчёт параметров
|
||||
|
||||
| Компонент | Параметры (estimated) | Trainable? |
|
||||
|:----------|:---------------------|:-----------|
|
||||
| DINOv2 backbone | ~86M (ViT-B) или ~300M (ViT-L) | LR=6e-6 (quasi-frozen) |
|
||||
| Depth Anything v3 encoder | ~300M (ViT-L DPT) | LR=5e-5 (semi-frozen) |
|
||||
| MGSA: 3× dilated conv + ψ head | **~1.5M** | ✅ |
|
||||
| MGSF: Sobel kernels (3×3 fixed) + α, β | **~100 params** (negligible) | ✅ (α, β only) |
|
||||
| K-Means clustering | **0 params** (runtime) | ❌ |
|
||||
| GACD: partitioning + ranking | **0 params** | ❌ |
|
||||
| Aggregator (GeM + FC) | **~2M** | ✅ |
|
||||
| **Total trainable overhead** | **~3.5–4M** | |
|
||||
| **Total at inference** | **~390M** (DINOv2-B) или **~600M** (DINOv2-L) + Depth | |
|
||||
|
||||
### 8.2. Edge-friendly?
|
||||
|
||||
**НЕТ.** (MGS)² — это **Teacher-class** архитектура:
|
||||
- Depth Anything v3 = ~300M params → **невозможно на edge**
|
||||
- K-Means clustering per-frame → **non-differentiable, variable latency**
|
||||
- Dual-encoder (RGB + Depth) → **double memory**
|
||||
|
||||
Однако MGSA/MGSF heads (~4M) = **edge-compatible** если заменить backbone.
|
||||
|
||||
---
|
||||
|
||||
## 9. Применимость техник к Sobel edges (depth gradient)
|
||||
|
||||
### 9.1. Теоретическое обоснование
|
||||
|
||||
Центральный вопрос: **Можно ли заменить raw depth → MGSF pipeline на предвычисленные Sobel edges?**
|
||||
|
||||
**Ответ: ЧАСТИЧНО ДА, с потерей информации.**
|
||||
|
||||
```
|
||||
RAW DEPTH PIPELINE (MGS²):
|
||||
D_raw → AdaptivePool → Dilated Sobel → (Gx, Gy) → normals → K-Means → mask
|
||||
|
||||
SOBEL EDGE PIPELINE (MERIDIAN):
|
||||
D_raw → Sobel → |∇D| → edge map (1 channel, scalar)
|
||||
|
||||
Потерянная информация:
|
||||
1. Direction (Gx, Gy separate) → merged into |∇D| = sqrt(Gx² + Gy²)
|
||||
2. Surface orientation → lost (only "edge or not edge")
|
||||
3. K-Means clustering → impossible without direction
|
||||
4. Dilated Sobel (multi-scale) → standard Sobel (single-scale)
|
||||
```
|
||||
|
||||
### 9.2. Что можно восстановить
|
||||
|
||||
| (MGS)² компонент | Из Sobel edges? | Из raw depth? | Альтернатива для MERIDIAN |
|
||||
|:-----------------|:----------------|:-------------|:-------------------------|
|
||||
| Gradient magnitude $\|\nabla D\|$ | ✅ **Да** — это и есть Sobel edges | ✅ | Sobel edges = OK |
|
||||
| Gradient direction $(G_x, G_y)$ | ❌ **Нет** — потеряно | ✅ | Хранить 2-канальный Sobel (Gx, Gy) |
|
||||
| Surface normals $\mathbf{n}$ | ❌ | ✅ | Тривиально вычислить из (Gx, Gy): $\mathbf{n}=[-G_x,-G_y,1]$ |
|
||||
| K-Means dominant normal | ❌ | ✅ | Заменить на пороговое приближение |
|
||||
| MGSA attention weights | ❌ (нужна depth map) | ✅ | Обучаемый proxy из RGB |
|
||||
| Geometric mask $\mathcal{M}_{geo}$ | Partial | ✅ | Learnable FiLM вместо explicit mask |
|
||||
|
||||
### 9.3. Рекомендация по конфигурации
|
||||
|
||||
> **РЕШЕНИЕ:** Не заменять raw depth на Sobel edges. Вместо этого хранить **2-канальный depth gradient** $(G_x, G_y)$ вместо 1-канального edge magnitude $|∇D|$.
|
||||
|
||||
Обоснование:
|
||||
1. $(G_x, G_y)$ содержит **100% информации** для реконструкции normals, mask, и edge magnitude
|
||||
2. Дополнительный канал = +1 float → пренебрежимый overhead
|
||||
3. Позволяет реализовать **упрощённый MGSF** без K-Means:
|
||||
|
||||
```python
|
||||
# MERIDIAN Simplified MGSF (edge-friendly, no K-Means)
|
||||
class SimplifiedMGSF(nn.Module):
|
||||
"""
|
||||
Замена K-Means на learnable threshold.
|
||||
Input: (Gx, Gy) depth gradients, 2 channels
|
||||
Output: geometric mask M_geo
|
||||
"""
|
||||
def __init__(self):
|
||||
self.alpha = nn.Parameter(torch.tensor(5.0)) # learnable scale
|
||||
self.beta = nn.Parameter(torch.tensor(-2.0)) # learnable bias
|
||||
self.tau_grad = nn.Parameter(torch.tensor(0.3)) # edge threshold
|
||||
|
||||
def forward(self, Gx, Gy, F_rgb):
|
||||
# Pseudo-normals (без K-Means)
|
||||
nz = torch.ones_like(Gx)
|
||||
n = torch.stack([-Gx, -Gy, nz], dim=1) # [B, 3, H, W]
|
||||
n = F.normalize(n, dim=1)
|
||||
|
||||
# Приближение n_dom = [0, 0, 1] (вертикальная ось = горизонтальная плоскость)
|
||||
# Это ДОПУСТИМО для drone-view: доминирующая плоскость ≈ горизонт
|
||||
n_dom = torch.tensor([0., 0., 1.], device=n.device)
|
||||
|
||||
# Cosine similarity к "чистому горизонту"
|
||||
C_geo = (n * n_dom.view(1, 3, 1, 1)).sum(dim=1, keepdim=True)
|
||||
|
||||
# Edge detection
|
||||
grad_mag = torch.sqrt(Gx**2 + Gy**2 + 1e-8)
|
||||
is_edge = (grad_mag > self.tau_grad.abs()).float()
|
||||
|
||||
# Adaptive gating
|
||||
A = torch.sigmoid(self.alpha * C_geo + self.beta)
|
||||
|
||||
# Neutral edge rectification
|
||||
M_geo = A * (1 - is_edge) + 0.5 * is_edge
|
||||
|
||||
# Residual modulation
|
||||
F_out = F_rgb * (1.0 + M_geo)
|
||||
|
||||
return F_out, M_geo
|
||||
```
|
||||
|
||||
**Преимущества:**
|
||||
- **0 overhead** vs K-Means (нет iterative clustering)
|
||||
- **3 learnable params** (α, β, τ) vs 0 в (MGS)² MGSF (но K-Means = O(K·N))
|
||||
- **Differentiable** → end-to-end training с backprop
|
||||
- Приближение $\mathbf{n}_{dom} \approx [0,0,1]$ — valid для 95%+ drone-view сцен (горизонтальные крыши/дороги — доминирующий кластер)
|
||||
|
||||
### 9.4. Когда приближение ЛОМАЕТСЯ
|
||||
|
||||
- **Highly tilted drone** (>60° pitch) → dominant plane ≠ horizontal → нужен runtime K-Means
|
||||
- **Mountain terrain** → нет горизонтальных поверхностей → $\mathbf{n}_{dom}$ bias
|
||||
- **Dense forest** → depth estimation шумная → gradients ненадёжны
|
||||
|
||||
---
|
||||
|
||||
## 10. Критически: невоспроизводимые детали
|
||||
|
||||
### 10.1. Что может саботировать воспроизведение
|
||||
|
||||
| # | Деталь | Риск | Workaround |
|
||||
|:--|:-------|:-----|:-----------|
|
||||
| 1 | **Weight decay = 9.5e-9** | Экстремально малый. Опечатка? Или intent? Стандарт для AdamW = 0.01–0.1 | Тестировать {0, 9.5e-9, 1e-4, 0.01} |
|
||||
| 2 | **Epoch count не указан** | Невозможно определить training budget | Начать с 60 (как MobileGeo), мониторить val R@1 plateau |
|
||||
| 3 | **Dilation rate r для MGSF Sobel** | Не задано конкретное значение | Тестировать r ∈ {1, 3, 5} |
|
||||
| 4 | **K-Means: number of clusters K** | Не указан | K=3 (horizontal, vertical, edge) — стандартная инициализация |
|
||||
| 5 | **τ_grad порог для edge detection** | Не указан | Обучаемый (как в нашем SimplifiedMGSF) |
|
||||
| 6 | **τ_high, τ_low для GACD partitioning** | Не указаны (Section III-D1: "confidence quantiles") | Использовать percentiles (e.g., P75, P25) |
|
||||
| 7 | **DINOv2 какой размер?** | ViT-B? ViT-L? ViT-G? Не указано | ViT-B/14 наиболее вероятен (A800 single GPU budget) |
|
||||
| 8 | **Aggregator architecture** | "SALAD" упомянут в визуализации, но не в Method | Предположительно SALAD (CVPR 2024) как global aggregation |
|
||||
| 9 | **GitHub код: пустой/неполный** | Repo `GabrielLi1473/MGS-Net` = 0 stars, 0 forks, 1 issue. README "coming soon" | Ждать release или реализовать самостоятельно |
|
||||
| 10 | **Inference at 336×336, train at 224×224** | Resolution mismatch → position embedding interpolation needed | Стандарт для DINOv2 (FlexiViT), но не тривиально |
|
||||
|
||||
### 10.2. Red flags
|
||||
|
||||
> **⚠️ Отсутствие числовой ablation таблицы.** Все ablation результаты описаны текстом ("~95%"), не числами. Нет таблицы "w/o MGSF: 95.2%, w/o MGSA: 96.1%, w/o GACD: 96.8%". Это затрудняет точное понимание вклада каждого компонента.
|
||||
|
||||
> **⚠️ Код не опубликован.** GitHub repo пуст. Невозможно верифицировать реализацию K-Means integration, GACD quantile calculation, или dilated Sobel kernel.
|
||||
|
||||
---
|
||||
|
||||
## 11. P44 (MGS)² vs R6 MobileGeo vs M11 CHMv2
|
||||
|
||||
| Аспект | (MGS)² (P44) | MobileGeo (R6) | CHMv2 (M11) | **MERIDIAN рекомендация** |
|
||||
|:-------|:-------------|:--------------|:-----------|:-------------------------|
|
||||
| **Задача** | Retrieval (CVGL) | Retrieval (CVGL) | Dense regression | Retrieval |
|
||||
| **Depth используется** | ✅ Depth Anything v3 | ❌ | ✅ ALS + Monocular | ✅ **DA3-Large → (Gx,Gy)** |
|
||||
| **Depth интеграция** | MGSA attention + MGSF mask | — | LUPI (frozen backbone) | **FiLM + Simplified MGSF** |
|
||||
| **Backbone** | DINOv2 + Depth encoder | ConvNeXt-T | DINOv3-L + DPT | DINOv3-L (Teacher) + SOFIA (Student) |
|
||||
| **Edge deployment** | ❌ (~400M+) | ✅ (28.57M, 251 FPS) | ❌ | ✅ Target: 5-8M |
|
||||
| **Loss** | Triplet + GACD | InfoNCE + FISD + KD | SiLog + Charbonnier | InfoNCE + FISD + LUPI + GACD-like |
|
||||
| **Key innovation** | Geometric filtering | Hierarchical KD | Curriculum loss | **Synthesis: filtered LUPI + progressive KD** |
|
||||
| **R@1** | **97.50%** (SOTA) | 97.15% (multi-view) | N/A (CHM task) | Target: **95%+** |
|
||||
|
||||
---
|
||||
|
||||
## 12. Transfer Plan: Рецепт MERIDIAN из (MGS)²
|
||||
|
||||
### 12.1. Что берём из (MGS)²
|
||||
|
||||
1. **Simplified MGSF** (Section 9.3) → встроить в Teacher pipeline как geometric preprocessing module
|
||||
2. **GACD-style loss** → адаптировать как дополнительный $\mathcal{L}_{facade}$ в MERIDIAN training
|
||||
3. **Asymmetric depth** → depth только для drone-ветки (NOT satellite)
|
||||
4. **2-channel depth gradients** $(G_x, G_y)$ вместо 1-channel Sobel edges
|
||||
5. **Parameter-wise LR** → разные LR для backbone/depth/aggregator
|
||||
|
||||
### 12.2. Что НЕ берём
|
||||
|
||||
1. ❌ **K-Means clustering** → заменяем на fixed $\mathbf{n}_{dom} = [0,0,1]$ + learnable threshold
|
||||
2. ❌ **Отдельный Depth Anything v3 encoder** → используем предвычисленные depth maps (offline)
|
||||
3. ❌ **MGSA multi-branch dilated conv** → заменяем на FiLM conditioning в Student
|
||||
4. ❌ **336×336 inference** → edge budget = 224×224 max
|
||||
5. ❌ **AdamW с weight_decay=9.5e-9** → используем стандартный AdamW с 1e-4
|
||||
|
||||
### 12.3. Конкретные изменения в MERIDIAN config
|
||||
|
||||
```yaml
|
||||
# MERIDIAN additions from (MGS)² analysis
|
||||
# Добавить в E2 config из R6 deep dive
|
||||
|
||||
depth_processing:
|
||||
# CHANGE: 1-channel edge → 2-channel gradient
|
||||
type: "sobel_gradient_2ch" # NOT "sobel_edge_1ch"
|
||||
channels: 2 # (Gx, Gy) separately
|
||||
source: "DA3-Large" # pre-computed offline
|
||||
dilation_rate: 3 # from (MGS)² MGSF
|
||||
normalize: true # L2 normalize gradients
|
||||
|
||||
teacher_modules:
|
||||
simplified_mgsf:
|
||||
enabled: true
|
||||
learnable_params: ["alpha", "beta", "tau_grad"]
|
||||
n_dom_fixed: [0.0, 0.0, 1.0] # horizontal plane assumption
|
||||
neutral_edge_weight: 0.5
|
||||
apply_to: "drone_branch_only" # asymmetric
|
||||
|
||||
loss:
|
||||
gacd: # NEW: from (MGS)²
|
||||
type: "GeometricAppearanceContrastiveDistillation"
|
||||
lambda_geo: 0.5 # reduced vs (MGS)² 1.0 (we have other losses)
|
||||
margin_xi: 0.5 # same as (MGS)²
|
||||
tau_high_percentile: 75 # partition threshold
|
||||
tau_low_percentile: 25
|
||||
start_epoch: 15 # after basic training stabilizes
|
||||
schedule: "constant"
|
||||
|
||||
optimizer:
|
||||
# CHANGE: parameter-wise LR from (MGS)²
|
||||
param_groups:
|
||||
- name: "teacher_backbone"
|
||||
lr: 0.0 # frozen in MERIDIAN
|
||||
- name: "student_backbone"
|
||||
lr: 0.001 # from R6
|
||||
- name: "depth_modules" # MGSF, projectors
|
||||
lr: 0.00005 # from (MGS)²: 5e-5
|
||||
- name: "aggregator"
|
||||
lr: 0.0001 # from (MGS)²: 1e-4
|
||||
- name: "lupi_projectors"
|
||||
lr: 0.0005 # between depth and aggregator
|
||||
```
|
||||
|
||||
### 12.4. Решение: Sobel edges vs raw depth
|
||||
|
||||
> **ОКОНЧАТЕЛЬНОЕ РЕШЕНИЕ:** Использовать **2-канальный depth gradient $(G_x, G_y)$** как замену и Sobel edges, и raw depth.
|
||||
|
||||
| Конфигурация | Информация | Edge cost | Recommendation |
|
||||
|:-------------|:-----------|:----------|:---------------|
|
||||
| Raw depth (1ch, 32-bit) | 100% | Высокий (300M encoder at inference) | ❌ Только для pre-computation |
|
||||
| Sobel edges (1ch, magnitude) | ~30% | Минимальный | ❌ Потеря direction critical |
|
||||
| **Depth gradients (2ch, Gx+Gy)** | **~95%** | Минимальный (pre-computed) | ✅ **РЕКОМЕНДОВАНО** |
|
||||
| Surface normals (3ch, nx+ny+nz) | 100% | +1 channel overhead | ⭕ Redundant (nz=1 assumed) |
|
||||
|
||||
**Обоснование:**
|
||||
- $(G_x, G_y)$ позволяет восстановить: \\|∇D\\| (edges), $\mathbf{n}$ (normals), $C_{geo}$ (mask) — всё что нужно для MGSF
|
||||
- Pre-computed offline → 0 inference cost
|
||||
- 2 канала vs 1 канал = +3.2KB per image @224×224 → пренебрежимо
|
||||
- Полностью совместимо с Simplified MGSF (Section 9.3)
|
||||
|
||||
---
|
||||
|
||||
## 13. Библиография
|
||||
|
||||
- **P44 (MGS)²:** Li, M., He, M., Chen, C., Meng, Z. (2026). (MGS)²-Net: Unifying Micro-Geometric Scale and Macro-Geometric Structure for Cross-View Geo-Localization. arXiv:2602.10704v1.
|
||||
- **GitHub:** https://github.com/GabrielLi1473/MGS-Net (0 ⭐, code TBA)
|
||||
- **Venue:** Submitted (IEEE TCSVT / CVPR expected)
|
||||
- **Affiliation:** Tsinghua University
|
||||
- **Дата поиска:** 2026-04-11
|
||||
- **Релевантность:** ★★★★★ (CRITICAL) — SOTA ceiling, depth integration blueprint
|
||||
|
||||
- **Depth Anything v3:** Lin, H., et al. (2025). Depth Anything 3: Recovering the Visual Space from Any Views. arXiv:2511.10647.
|
||||
|
||||
- **DINOv2:** Oquab, M., et al. (2023). DINOv2: Learning Robust Visual Features without Supervision. arXiv:2304.07193.
|
||||
|
||||
---
|
||||
|
||||
## 14. Действия (next steps)
|
||||
|
||||
- [ ] **Сменить Sobel edges → 2-channel (Gx, Gy)** в MERIDIAN data pipeline
|
||||
- [ ] **Реализовать SimplifiedMGSF** (Section 9.3, ~50 LOC PyTorch)
|
||||
- [ ] **Добавить L_GACD** в training loss с параметрами из 12.3
|
||||
- [ ] **Benchmark: Sobel 1ch vs (Gx,Gy) 2ch** — ablation на University-1652
|
||||
- [ ] **Тестировать asymmetric depth** (drone-only) vs symmetric
|
||||
- [ ] **Parameter-wise LR groups** — разделить оптимизатор на 4 группы
|
||||
- [ ] **Мониторить GitHub** `GabrielLi1473/MGS-Net` для release кода
|
||||
- [ ] **Обновить HYP_MASTER** с параметрами GACD loss
|
||||
296
docs/02_references/04_geometry/REVIEW_chm_pairC.md
Normal file
296
docs/02_references/04_geometry/REVIEW_chm_pairC.md
Normal file
@@ -0,0 +1,296 @@
|
||||
---
|
||||
type: review
|
||||
status: active
|
||||
date: 2026-04-20
|
||||
tags: [fusion, teacher, pair-C, chm, canopy-height, dinov3, lupi, priority/high]
|
||||
related: ["[[REVIEW_depth_normals_pairB]]", "[[../00_overall/SPEC_fusion_ACF_MERIDIAN]]", "[[../../01_teacher/SPEC_teacher_v2_dual_teacher]]"]
|
||||
author: claude
|
||||
---
|
||||
|
||||
# Слияние RGB + CHM в teacher-DINOv3: обзор пары C
|
||||
|
||||
> Обзор пары C: 9 методов от CHM-провайдеров до fusion-механизмов, с акцентом на CHMv2 (native ViT-L/16 grid match) для DINOv3-teacher.
|
||||
|
||||
## 0. Микроплан
|
||||
|
||||
Разбираем **9 методов**, покрывающих спектр от CHM-провайдеров до fusion-механизмов, с акцентом на то, что канонический CHM-модуль (CHMv2) разделяет backbone с teacher (**native ViT-L/16 grid match**):
|
||||
|
||||
1. **CHMv2** (arXiv:2603.06382, 2026) — канонический frozen provider с DPT-256-mixlog head на DINOv3 ViT-L/16; единственный обеспечивающий нативное токен-совпадение.
|
||||
2. **Tolan et al. 2024** (RSE 113888) — foundational baseline Meta/WRI на **DINOv2 ViT-H/14** + DPT + GEDI percentile-rescaling.
|
||||
3. **Lang et al. 2023** (Nature EE) — foundational probabilistic 10 m CNN-ensemble с GEDI NLL-supervision.
|
||||
4. **Depth Any Canopy** (arXiv:2408.04523) — lightweight adaptation Depth-Anything-V2 для canopy; точка сравнения «depth-FM → canopy-FM».
|
||||
5. **msGFM** (CVPR 2024, arXiv:2404.01260) — единственный multi-modal RS FM с явной paired **RGB + DSM** архитектурой (cross-sensor MIM).
|
||||
6. **TerraMind** (arXiv:2504.11171, ICCV 2025) — dual-scale token-level FSQ-VAE fusion 9 модальностей включая DEM; ближайший аналог tri-modal teacher.
|
||||
7. **MMEarth/MP-MAE** (ECCV 2024) — MAE-pretext с **GCHM Lang-2023 как target-модальностью**: доказательство, что CHM кодируется как pretext signal.
|
||||
8. **ForestIQNet** (Drones 2025) — dual-stream RGB + voxel-CHM с Cross-Attentional Feature Fusion (CAFF); прямой референс RGB+CHM cross-attention fusion.
|
||||
9. **FiLM** (Perez 2018, foundational) + **Mona-adapter** (arXiv:2408.08345) + **ViT-Adapter** (ICLR 2023, arXiv:2205.08534) + **Surgical FT** (arXiv:2210.11466) — методологический каркас для инжекта дискретной геометрической модальности в frozen ViT-L.
|
||||
|
||||
Дополнительные ссылки на `foundational` Potapov 2021, GEDI L4B v2.1, ICESat-2 ATL08 v007 даны только для validation / secondary prior.
|
||||
|
||||
---
|
||||
|
||||
## 1. CHMv2 как provider: техническая характеристика и сравнение
|
||||
|
||||
**CHMv2** (Meta/WRI, март 2026; HuggingFace `facebook/dinov3-vitl16-chmv2-dpt-head`) — frozen DINOv3 ViT-L/16 backbone (~304 M параметров) с **Dense Prediction Transformer** (Ranftl 2021) декодером, конфигурированным на **256 depth-bins с mixlog-биннингом** и диапазоном 0.001–96 м. Supervised-обучение проведено против ALS-ground-truth с дополнительной валидацией GEDI L2A RH95/RH98 и ICESat-2 ATL08; по canonical-спецификации проекта CHMv2 превосходит Tolan-2024 и Lang-2023 по RMSE и снижает known-недооценку tall forests (R² возрастает с 0.53 → 0.86 по внутренним reports).
|
||||
|
||||
**Native grid match.** Ключевое свойство: CHMv2 использует **тот же ViT-L/16**, что и teacher MERIDIAN. При подаче того же RGB-тайла в teacher и CHMv2-encoder grid токенов (H/16 × W/16) **совпадает pixel-to-token без resampling**, что радикально дешевле, чем пара B (Metric3D-v2 ViT-G2 на DINOv2/14-базе с 14-пиксельным патчем) и пара A (SegEarth-OV3 на SAM3+PE-L+). Для tile 448×448 это 28×28=784 токена, один-в-один в обоих потоках.
|
||||
|
||||
**Сравнительная таблица providers.** Для каждого источника приводятся независимо подтверждённые метрики; для Lang 2023 даны biome-усреднённые диапазоны, поскольку «global headline RMSE» в оригинале не даётся единым числом.
|
||||
|
||||
|Provider|Год|Backbone|Resolution|Coverage|Validation source|RMSE (m, headline)|Compat. с DINOv3 ViT-L/16|
|
||||
|---|---|---|---|---|---|---|---|
|
||||
|**CHMv2** (canonical)|2026|**DINOv3 ViT-L/16** + DPT-256-mixlog|1 m, global|global wall-to-wall|ALS + GEDI + ICESat-2|> Tolan-24 / Lang-23 (spec)|**native (patch-16)**|
|
||||
|**Tolan 2024**|2024|DINOv2 ViT-H/14 SSL + DPT|0.5–1 m|global (Maxar VHR)|NEON ALS + NFI Brazil|4.25 (NFI RMSE); 2.8 (MAE global)|патч-14 ≠ 16 → resample|
|
||||
|**Lang 2023**|2023|Xception-S2 CNN × 5 (probabilistic)|10 m|global ±60°|GEDI hold-out + ALS biomes|4.7–9.6 per-biome|несовместим (≠ViT)|
|
||||
|**Depth Any Canopy**|2024|Depth-Anything-V2 ViT-S/B + DPT|1 m (NEON)|CONUS-only|NEON ALS|MAE 0.10–0.14 (normalized)|ViT, но не DINOv3|
|
||||
|**Potapov 2021** `foundational`|2021|Bagged regression trees|30 m|global ±52°|GEDI + ALS|**9.07 (ALS)**, насыщ. 30 м|несовместим|
|
||||
|**GEDI L4B v2.1**|2023/24|Hybrid stat. inference|1 km AGBD|±51.6°|field plots|AGBD SE 10–40%|biomass ≠ CHM; validator only|
|
||||
|**ICESat-2 ATL08 v007**|2025|Photon-counting LIDAR|100 m along-track|global (incl. high-lat)|ALS|1.4–3.2 (temp.), 5.0 (dense tropics)|validator only|
|
||||
|**MMEarth/MP-MAE** (CHM-pretext)|2024|ConvNeXt V2 MAE|10 m (GCHM)|global|Lang-2023 target|N/A (pretext loss)|CHM как pretext signal|
|
||||
|**ESA WorldCover v200**|2022|S-1/S-2 classif.|10 m|global|21 k pts|OA 76.7%|forest-mask only|
|
||||
|
||||
Источник данных: обзор пары C верифицирует, что **CHMv2 — единственный provider 2024-2026 с native ViT-L/16 grid match**. Это центральная архитектурная находка пары C.
|
||||
|
||||
---
|
||||
|
||||
## 2. Постановка задачи: RGB + CHM fusion для teacher-DINOv3
|
||||
|
||||
Формально: teacher получает RGB-тайл $I \in \mathbb{R}^{3\times H\times W}$, который проецируется в последовательность токенов $X^{\text{RGB}} \in \mathbb{R}^{N\times C}$, $N=HW/16^2$, $C=1024$. CHM-тензор $M \in \mathbb{R}^{1\times H\times W}$ в метрах, диапазон [0.001, 96], native GSD совпадает с inp-разрешением teacher (проекция CHMv2 через DPT уже даёт pixel-dense m). CHM-токенизация $M \to Z^{\text{CHM}} \in \mathbb{R}^{N\times C_z}$ через либо (i) CHMv2-encoder (тот же DINOv3, поздний слой, $C_z=1024$), либо (ii) patchify + linear-embed continuous values. Fusion-оператор $\Phi: (X^{\text{RGB}}, Z^{\text{CHM}}) \to \tilde X$ сохраняет размер последовательности.
|
||||
|
||||
**Conditional utility analysis по бенчмаркам CVGL.** Для каждого бенчмарка приводим качественную оценку сигнальной доли CHM (количественных статистик «% tiles с CHM>5m» ни один бенчмарк публично не даёт — это gap, отмеченный в разделе 10):
|
||||
|
||||
- **University-1652** (Zheng 2020; ACM MM): 72 campus-buildings в мире, **urban-dominant**; tile-уровень преимущественно застройка → **CHM ≈ 0 на оценочно 85-95% tiles** (качественная оценка).
|
||||
- **DenseUAV** (Dai 2024; IEEE TIP): 14 университетских кампусов Китая с dense sampling, aналогично urban-dominant → CHM ≈ 0 на абсолютном большинстве tiles.
|
||||
- **SUES-200** (Zhu 2023; TCSVT): multi-height multi-scene, 200 локаций смешанного urban/suburban → **partial canopy coverage 20-40% tiles** (парковые и окраинные зоны).
|
||||
- **GTA-UAV / Game4Loc** (Ji 2024, AAAI 2025, arXiv:2409.16925): **81.3 км² синтетических континуальных областей**, 33 763 кадра с multi-altitude 80-650 м, эксплицитно включает классы сцен **urban / mountain / coast / forest** — **вариабельный CHM-сигнал по тайлам**, с выраженным forest-субсетом.
|
||||
- **UAV-VisLoc** (Xu 2024, arXiv:2405.11936): 6 742 кадра в 11 локациях Китая, метадата **villages, towns, farms, cities, rivers, hills** — наиболее natural-ландшафтный бенчмарк, **CHM-сигнал доминирует на rural/hilly tiles**, ожидаемо 30-60% tiles с CHM > 5 m (авторская оценка на основе описания геоморфологии).
|
||||
|
||||
**Специфика CHM как модальности.** CHM **отличается от generic depth**: фокусируется исключительно на vegetation-height (DSM − DTM), игнорируя buildings и terrain. Это придаёт CHM роль **дезамбигуатора self-similar forest canopy в RGB**: там, где RGB-признаки ViT путаются на тайлах однородного леса, canopy-height даёт структурную сигнатуру (относительное распределение высот, hotspots emergent-деревьев). Сезонная вариативность (deciduous vs evergreen) и disturbance signals (logging, fire scars, regrowth) — дополнительные факторы, не используемые в paired B/A, но значимые для долгосрочной robustness CVGL.
|
||||
|
||||
**Ключевое преимущество native grid match.** Пара A (SegEarth-OV3 на PE-L+) и пара B (Metric3D-v2 ViT-G2 на DINOv2/14) требуют bilinear-resample либо учителя, либо source-фичей. Пара C **не требует resample вовсе**: токены CHMv2 и teacher-DINOv3 идут 1:1. Это эксклюзивное свойство пары C, снижающее feature drift risk.
|
||||
|
||||
**Проблемы.** (1) **Modality competition с depth из пары B**: в forested regions Metric3D-v2 и CHMv2 частично коррелируют. (2) **Sparse signal в urban-dominant датасетах** → риск feature drift от шума в low-canopy tiles. (3) **Geographic OOD**: CHMv2 обучен на ALS с US-tilted распределением, purely-tropical / disturbed регионы могут быть OOD (раздел 8).
|
||||
|
||||
---
|
||||
|
||||
## 3. Избыточность vs комплементарность Metric3D-v2 (пара B) и CHMv2 (пара C)
|
||||
|
||||
|Тип tile|Metric3D-v2 (пара B)|CHMv2 (пара C)|Избыточность|
|
||||
|---|---|---|---|
|
||||
|Urban (U-1652, DenseUAV)|depth до rooftop|≈ 0 по всему тайлу|**Ортогональные сигналы**, избыточности нет|
|
||||
|Forested (UAV-VisLoc rural)|depth до canopy-top|absolute canopy height (от ground)|**Частичная избыточность**, но CHM отделяет canopy от terrain-elevation, что Metric3D-v2 не даёт|
|
||||
|Mixed (SUES-200)|depth до max-surface (building vs tree)|canopy component only|**Комплементарный joint**: CHM «выделяет» деревья, depth — здания|
|
||||
|Disturbed (scar, logging)|depth ≈ ground|ΔCHM > 0 при regrowth, ≈ 0 в scar|**Независимые temporal-сигналы**|
|
||||
|
||||
**Архитектурная импликация.** Обе модальности поступают через **dual FiLM-branches** (рекомендация пары B) с возможностью **shared bottleneck в FiLM-MLP** для экономии параметров — это канонически расширяется до **tri-branch FiLM (depth + normals + CHM)** поверх blocks 20-24 frozen DINOv3-L/16.
|
||||
|
||||
**Рекомендуемая ablation-метрика.** Измерить orthogonality FiLM-параметров $\gamma, \beta$ между depth-branch и CHM-branch через среднюю cosine-similarity по тайлам forested-субсета UAV-VisLoc: $$ \rho_{\text{depth, CHM}} = \mathbb{E}_{t} \left[ \frac{\langle \gamma^{\text{depth}}_t, \gamma^{\text{CHM}}_t \rangle}{|\gamma^{\text{depth}}_t| \cdot |\gamma^{\text{CHM}}_t|} \right]. $$ Целевой диапазон $\rho \in [0.2, 0.5]$: слишком низкий намекает на избыточность информации (signals не дополнительны), слишком высокий — на collapse к одному сигналу.
|
||||
|
||||
---
|
||||
|
||||
## 4. Таксономия методов слияния RGB + CHM
|
||||
|
||||
Четыре базовые оси (унаследованы из пар A, B):
|
||||
|
||||
- **Уровень fusion**: input-concat (RGB||CHM→4-channel) / early-token / mid-block / **late (blocks 20-24)** / loss-level.
|
||||
- **Механизм**: concat / sum / gating / cross-attention / **FiLM** / adapter (LoRA/Mona) / prompt-injection / contrastive alignment.
|
||||
- **Инвазивность для DINOv3**: frozen + external branch / partial unfreeze (blocks 20-24) / full FT / co-training с CHMv2.
|
||||
- **Симметрия**: симметричные (RGB↔CHM взаимные cross-attn) vs **асимметричные (CHM как modulator RGB-потока)**.
|
||||
|
||||
**CHM-специфичные оси.**
|
||||
|
||||
- **Представление CHM на входе**:
|
||||
1. **Raw metric** (m): минимум искажений, но heavy-tailed распределение (большинство значений < 2 m, редкие emergent > 40 m).
|
||||
2. **Log-CHM**: $\log(1+h)$, нормализует tail.
|
||||
3. **Normalized [0,1]** по max 96 m.
|
||||
4. **Bin-classified**: 256-binned (как в DPT-head CHMv2) — natural-совместимо с DORN-style.
|
||||
5. **Learned CHM-token embedding**: проекция через отдельный ViT-encoder (частный случай — использовать late features CHMv2-backbone напрямую).
|
||||
6. **Binary forest-mask**: $\mathbb{1}[h > \tau]$, обычно $\tau \in {2, 5}$ м.
|
||||
- **Use mode**:
|
||||
- **Geometric** (continuous CHM тензор) → FiLM/cross-attention, трактовка как 3D vegetation structure (аналог пары B).
|
||||
- **Semantic** (binary mask от threshold) → conditional feature routing, gate.
|
||||
- **Hybrid** (continuous CHM с semantic gate активации): $\gamma^{\text{CHM}}_{\text{gated}} = g \cdot \gamma^{\text{CHM}} + (1-g) \cdot 0$, где $g = \sigma(\text{mask-pool}(\mathbb{1}[h>\tau]))$.
|
||||
- **Disturbance signal extraction**: temporal Δ-CHM (бi-темпоральный CHMv2) для logging / fire detection — не основной use case, но **открывает дополнительный применимый сигнал для MERIDIAN** при наличии multi-epoch покрытия.
|
||||
|
||||
Иерархически: root → (RGB-only, early-concat, late-fusion, loss-level) → FiLM/CA/LoRA → {geometric, semantic, hybrid}. Рекомендуемая ветка пары C: **late-fusion (blocks 20-24) + FiLM-hybrid + CHMv2-frozen external branch**.
|
||||
|
||||
---
|
||||
|
||||
## 5. SOTA-методы (2024-2026)
|
||||
|
||||
### 5.1 CHMv2 architectural deep dive (2603.06382, март 2026) — `foundational provider`
|
||||
|
||||
Архитектура: frozen DINOv3 ViT-L/16 + DPT-head с 256 depth-bins и mixlog-binning. Ключевая формула bin-центров: $$ b_k = \exp\left(\alpha \cdot \log h_{\min} + (1-\alpha_k)\cdot \log h_{\max}\right), \quad \alpha_k = f_{\text{mixlog}}(k/K). $$ **Δparams для teacher-пайплайна** при frozen-use: 0 (CHM-branch вешается как external encoder). Memory overhead обучения: одна copy DPT-head (≈ 30 M params) + forward DINOv3 ViT-L (304 M, frozen, inference-only). Совместимость с LUPI: privileged только в teacher, student не получает CHM на inference. Code/weights: HuggingFace.
|
||||
|
||||
### 5.2 Tolan et al. 2024 — `foundational baseline`
|
||||
|
||||
Tolan J. et al. «Very high resolution canopy height maps from RGB imagery using self-supervised vision transformer and convolutional decoder trained on Aerial Lidar», _RSE_ 300:113888, 2024 (arXiv:2304.07213). **DINOv2 ViT-H/14** на 18 M Maxar-кропах + DPT-decoder + GEDI percentile-rescaling. MAE ≈ 2.8 m global, NFI-RMSE 4.25 m; насыщение ~30–35 m. GitHub `facebookresearch/HighResCanopyHeight`. Использование как **alternate provider для ablation**: позволяет измерить чувствительность teacher к качеству CHM-source.
|
||||
|
||||
### 5.3 Lang et al. 2023 — `foundational baseline`
|
||||
|
||||
Nature Ecology & Evolution 7:1778, 2023. Probabilistic ensemble (5× Xception-S2 CNN) + Gaussian-NLL loss на GEDI RH98, 10 m output. **Главное преимущество** — uncertainty-aware output $(\mu, \sigma^2)$, что позволяет **confidence-weighting fusion**: $\gamma^{\text{CHM}} \leftarrow \gamma^{\text{CHM}} / (1 + \lambda \sigma^2)$. RMSE 4.7–9.6 по биомам. Не ViT-native, но используется как secondary cross-validator.
|
||||
|
||||
### 5.4 Depth Any Canopy (arXiv:2408.04523, 2024)
|
||||
|
||||
Rege Cambrin D. et al. Fine-tuning Depth-Anything-V2 ViT-S/B на NEON ALS, MAE 0.10–0.14 (normalized). **Значимость для пары C**: демонстрирует transferability depth-FM → canopy-FM c минимальным parameter cost. Может служить **lightweight альтернативой** CHMv2 в LoRA-ablation (если CHMv2 требует fine-tune на специфичной географии).
|
||||
|
||||
### 5.5 msGFM (CVPR 2024, arXiv:2404.01260)
|
||||
|
||||
Han B. et al. «Bridging Remote Sensors with Multisensor Geospatial Foundation Models», Swin V2 + MoE, **единственный RS FM с явной paired RGB + DSM архитектурой через cross-sensor masked image modeling**. Ключевая операция: модель реконструирует одну модальность из другой (DSM ↔ RGB) через shared encoder. **Важное различие**: DSM ≠ CHM (DSM включает здания), но **architectural template напрямую переносим на RGB+CHM**. Применение в MERIDIAN teacher: использовать msGFM cross-reconstruction loss как auxiliary pretext для co-adaptation CHMv2-branch и RGB-потока. CVGL-tested: N.
|
||||
|
||||
### 5.6 TerraMind (ICCV 2025, arXiv:2504.11171)
|
||||
|
||||
Jakubik J. et al., IBM/ESA. Dual-scale encoder-decoder с **FSQ-VAE tokenizers** для 9 модальностей (S-1, S-2, DEM, LULC, NDVI, geo, text). Cross-modal patch classification + **Thinking-in-Modalities (TiM)** — генерация недостающих модальностей как intermediate reasoning step. **Применимость к CHM**: использовать FSQ-VAE-подход для токенизации CHM → unified token space, заменяя DEM-канал на CHM. Δparams высокий (~500 M при base-ViT), требует full co-training. CVGL-tested: N. Релевантность: архитектурный prior для универсального token-level fusion.
|
||||
|
||||
### 5.7 MMEarth / MP-MAE (ECCV 2024, arXiv:2405.02771)
|
||||
|
||||
Nedungadi V. et al. MAE с **GCHM Lang-2023 как pretext-target**. Это доказательство концепции: CHM эффективно кодируется self-supervised в foundation-стадии. Не применимо напрямую для inference-fusion (CHM — target, не input), но **вдохновляет auxiliary loss**: teacher обучается реконструировать CHM-embedding из RGB, стимулируя 3D-aware RGB-представление. Δparams: +decoder, ~20–30 M.
|
||||
|
||||
### 5.8 ForestIQNet (Drones 2025, MDPI 9(7):496)
|
||||
|
||||
Dual-stream: (1) multispectral UAV imagery encoder, (2) **voxelized CHM encoder**. Fusion через **Cross-Attentional Feature Fusion (CAFF)** + transformer regression-head для biomass/carbon. **Наиболее прямой референс RGB+CHM cross-attention** в литературе 2024-2026. Архитектура CAFF: $$ \tilde X^{\text{RGB}} = X^{\text{RGB}} + \text{softmax}!\left(\frac{X^{\text{RGB}} W_Q (Z^{\text{CHM}} W_K)^\top}{\sqrt{d}}\right) Z^{\text{CHM}} W_V. $$ Применимость к teacher DINOv3: CAFF = стандартный cross-attention модуль, инжектируется как **parallel adapter** в blocks 20-24 frozen DINOv3, Δparams на ViT-L/16 ≈ 4 × 3 × (1024×1024) × 5 blocks = **~63 M**. CVGL-tested: N.
|
||||
|
||||
### 5.9 FiLM + Mona + ViT-Adapter + Surgical FT — `architectural toolbox`
|
||||
|
||||
- **FiLM** (Perez 2018, arXiv:1709.07871) — $y = \gamma(c) \odot x + \beta(c)$ — канонический per-channel affine conditioning.
|
||||
- **Mona** (arXiv:2311.15010 / 2408.08345) — first delta-tuning surpassing full-FT on dense prediction (ADE20K, COCO, DOTA); multi-cognitive depthwise conv filters after down-projection. Применимо как замена generic FiLM, когда CHM-conditioning нужен локально-пространственный, не только channel-wise.
|
||||
- **ViT-Adapter** (Chen, ICLR 2023, arXiv:2205.08534) — spatial prior module + feature injector; ViT-Adapter-L достигает 60.5 mIoU ADE20K, 60.9 box AP COCO. **Прямой архитектурный prior** для инжекта CHM-features в plain ViT без модификации backbone.
|
||||
- **Surgical FT** (Lee, ICLR 2023, arXiv:2210.11466) — empirical evidence: для feature-level distribution shift оптимально тюнить **middle layers**, для output-shift — last. Для CHM (geometric aux): данные указывают на **late blocks (20-24 из 24)** ViT-L.
|
||||
|
||||
**Параметрический расчёт FiLM на DINOv3 ViT-L/16.** Dim $d=1024$, 5 injected blocks (20-24), FiLM-MLP = 2-layer (CHM-token → bottleneck → 2d для γ+β):
|
||||
|
||||
$$ \Delta_{\text{standalone}} = 5 \times (1024 \times b + b \times 2 \times 1024) \big|_{b=256} = 5 \times (262,144 + 524,288) \approx 3.9\text{ M}. $$
|
||||
|
||||
При **shared bottleneck** между depth-, normals-, CHM-branches (bottleneck = общий, 3 выходные головы): $$ \Delta_{\text{shared}} = 1024 \times b + 3 \times (b \times 2 \times 1024) \approx 1.8\text{ M} \text{ на блок} \Rightarrow \sim 9\text{ M всего для 5 блоков}. $$
|
||||
|
||||
Это намного дешевле standalone-трёх-бранч (~12 M) при равной ёмкости.
|
||||
|
||||
---
|
||||
|
||||
## 6. Критический анализ: матрица критериев
|
||||
|
||||
Шкала: −− / − / 0 / + / ++. Критерии синтезированы для применения в teacher-DINOv3.
|
||||
|
||||
|Метод|Frozen-DINO compat|ΔCKA (feat drift)|Инвазив.|Distill → CNN student|LUPI compat|Missing-modality robust|Conditional utility|Compat пара B|Compat пара A|Res. scale|Native grid match|Reprod.|RS/forest validated|
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
|CHMv2 (frozen)|++|++|+|++|++|+|++|++|++|++|**++**|++|++|
|
||||
|Tolan 2024|+|+|+|+|++|+|+|+|+|+|0 (patch-14)|+|++|
|
||||
|Lang 2023|0|+|0|+|++|+|+|0|0|0 (10 m)|−|++|++|
|
||||
|DepthAnyCanopy|+|+|+|+|+|+|+|+|+|+|+|+|+|
|
||||
|msGFM (CAFF-style)|0|0|−|0|+|0|+|+|+|+|−|+|+|
|
||||
|TerraMind|−|0|−−|0|+|++|+|+|0|+|−|0|+|
|
||||
|MMEarth (pretext)|+|+|0|0|++|++|0|+|+|+|0|+|+|
|
||||
|ForestIQNet (CAFF)|+|0|0|+|+|0|+|+|0|+|+|0|+|
|
||||
|FiLM+Mona+ViT-Adapter|++|++|++|++|++|++|++|++|++|++|++ (при CHMv2)|++|+|
|
||||
|
||||
**Чтение таблицы.** Конвергенция: CHMv2 (frozen provider) + FiLM-токsticks архитектурный слой (+Mona/ViT-Adapter variant) — единственная комбинация с «++» по всем ключевым осям пары C, особенно **native grid match** и **distillability** (generic FiLM с `γ=0` fall-through поведением легко реплицируется в CNN-student через conditional BN).
|
||||
|
||||
---
|
||||
|
||||
## 7. Сравнительная таблица пары C
|
||||
|
||||
|Метод|Год|Venue|Domain|Mechanism|CHM format|Use mode|Δparams|Fine-tune depth|CVGL-tested|Distillability|Cond. utility|**Prio**|
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
|**CHMv2 frozen + FiLM late-block + hybrid gate**|2026|Meta/WRI canon|RS/teacher|FiLM hybrid|continuous + mask|hybrid|~4 M|frozen|N|++|++|**5**|
|
||||
|CHMv2 frozen + CAFF (ForestIQNet-pattern)|2025-26|MDPI+canon|forestry/teacher|cross-attn|cont. token|geom.|~63 M|frozen|N|+|+|4|
|
||||
|CHMv2 + Mona-adapter on CHM-branch|2026|ICCV-style|teacher|adapter|cont. feat|geom.|~10 M|LoRA|N|+|+|4|
|
||||
|Tolan-24 as alt-provider + FiLM|2024|RSE|forestry|FiLM|cont.|geom.|~4 M|frozen|N|++|+|3|
|
||||
|Lang-23 uncertainty-weighted FiLM|2023|Nature EE|forestry|FiLM w/ $\sigma$|cont.+conf|geom.|~5 M|frozen|N|+|+|3|
|
||||
|msGFM cross-sensor MIM pretext|2024|CVPR|RS|MIM pretext|DSM|aux loss|+decoder|full co-train|N|0|0|2|
|
||||
|TerraMind FSQ-VAE token-fuse|2025|ICCV|RS FM|FSQ-VAE|tokens|geom.|~500 M|full|N|−|+|2|
|
||||
|MMEarth CHM-pretext reconstruction|2024|ECCV|RS SSL|MAE target|raw|aux loss|~25 M|co-train|N|0|0|2|
|
||||
|DepthAnyCanopy LoRA-adapt|2024|arXiv|canopy|DPT FT|cont.|geom.|~10 M|LoRA|N|+|+|3|
|
||||
|
||||
**Top-приоритет** — строка 1: **CHMv2 frozen + late-block FiLM (20-24) с hybrid geometric/semantic gate**, реализованная в формате shared-bottleneck с парой B.
|
||||
|
||||
---
|
||||
|
||||
## 8. Geographic OOD risk для CHMv2
|
||||
|
||||
CHMv2 обучен на ALS с **US-tilted distribution** (NEON plus opportunistic ALS). OOD-zones:
|
||||
|
||||
- **Tropical forests** (Amazon, Congo, SE-Asia): sparse ALS coverage; saturation сохраняется ~50-60 m; Lang-2023 использует GEDI и в этом лучше OOD-генерализует.
|
||||
- **Specific UAV-VisLoc/GTA-UAV regions**: 11 китайских локаций UAV-VisLoc (villages, hills, farms) — ALS-покрытие Китая ограничено, частично OOD. GTA-UAV синтетический — **inherently OOD** (game-rendered textures).
|
||||
- **Disturbed areas** (recent logging/fires): CHMv2 training data не покрывает post-disturbance regrowth trajectories → bias в сторону stable-state CHM.
|
||||
- **Non-forest vegetation** (grasslands, wetlands, agroforestry): CHMv2 тренирован на forest-dominant ALS, outputs на grasslands могут быть шумными (~± 2 m noise около 0).
|
||||
|
||||
**Митигация.**
|
||||
|
||||
1. **Confidence-weighting**: когда доступен Lang-2023 overlay, использовать $\sigma^2_{\text{Lang}}$ для масштабирования CHMv2-сигнала в $\gamma$-branch.
|
||||
2. **Graceful degradation**: в OOD-regions вводить explicit reject-token (CHM-confidence estimator от отдельного MLP поверх DINOv3-features CHMv2-backbone) → gate закрывается, tri-branch сводится к dual-branch (пара B only).
|
||||
3. **Ablation альтернативного provider**: измерить teacher R@1 с CHMv2 vs Tolan-2024 vs Lang-2023 на UAV-VisLoc subset — это корректный тест чувствительности teacher к provider choice.
|
||||
|
||||
---
|
||||
|
||||
## 9. Geometric vs Semantic use of CHM
|
||||
|
||||
**Geometric (continuous CHM).** FiLM на raw/log-CHM. Плюсы: fine-grained 3D-сигнал, плавная adaptation, используется вся tail-info для emergent trees (>30 m), которые являются discriminative landmarks в CVGL. Минусы: noise-sensitive в low-canopy tiles где CHM ~ 0 + измерительный noise → может создавать artefacts.
|
||||
|
||||
**Semantic (binary forest-mask).** Gate $g = \sigma(\alpha \cdot (\bar h_{\text{tile}} - \tau))$ с tile-pooled mean height $\bar h_{\text{tile}}$ и threshold $\tau \in {2, 5}$ m. Плюсы: robust к noise, явная conditional-logic, легко distillable (student просто обучается binary classification). Минусы: thresholding теряет gradient-инфу по отдельным деревьям.
|
||||
|
||||
**Hybrid.** Continuous CHM с semantic-gate активации: $$ \gamma^{\text{CHM}}_{\text{hybrid}} = g_{\text{tile}} \cdot \text{MLP}(Z^{\text{CHM}}), \quad g_{\text{tile}} = \sigma!\left(\alpha(\bar h - \tau)\right). $$ Плюсы: объединяет robustness semantic-подхода с fine-grain geometric signal. Для low-canopy tiles $g \to 0$ → CHM-branch естественно обнуляется (desirable fall-through behavior).
|
||||
|
||||
**Рекомендация.** Hybrid mode с $\tau = 3$ m и $\alpha = 1.0$ (soft-gate). Ablation: $\tau \in {2, 3, 5, 8}$ m на SUES-200 validation-сабсете.
|
||||
|
||||
---
|
||||
|
||||
## 10. Conditional utility по бенчмаркам
|
||||
|
||||
Точных статистик «% tiles с CHM > 5 m» публично не опубликовано ни для одного из пяти CVGL-бенчмарков; это **gap in literature**, который необходимо закрыть в preprocessing-стадии MERIDIAN.
|
||||
|
||||
|Benchmark|Год|Scenery dominant|Expected % CHM>5m|Ожидаемый ΔR@1 от CHM-branch|URL|
|
||||
|---|---|---|---|---|---|
|
||||
|University-1652|2020|72 world campuses, urban|5–15%|≈ 0 (H_fus_C_3: ≥ −0.5%)|arxiv.org/abs/2002.12186|
|
||||
|DenseUAV|2024|14 CN univ. campuses|5–15%|≈ 0|TIP paper|
|
||||
|SUES-200|2023|200 locs mixed urban/suburb|20–40%|**+0.5 – +1.5%**|TCSVT paper|
|
||||
|GTA-UAV / Game4Loc|2024|81.3 km² synth urban/mountain/**forest**|30–55% (forest subset)|**+1.5 – +3.0%** on forest subset|arxiv.org/abs/2409.16925|
|
||||
|UAV-VisLoc|2024|11 CN locs: villages, farms, hills|30–60% (rural)|**+2.0 – +4.0%** on rural subset|arxiv.org/abs/2405.11936|
|
||||
|
||||
**Рекомендация.** Пара C **наиболее ценна для UAV-VisLoc и GTA-UAV forest/rural subsets**; для U-1652/DenseUAV трактовать как «free» complementary signal, не вредящий при корректной hybrid-гейт реализации (H_fus_C_3).
|
||||
|
||||
---
|
||||
|
||||
## 11. Рекомендация для DINOv3-teacher по паре C
|
||||
|
||||
### Топ-2 метода
|
||||
|
||||
**[1] CHMv2 frozen + late-block FiLM (blocks 20-24) + hybrid semantic-geometric gate + shared bottleneck с парой B** _(Приоритет 5/5)_.
|
||||
|
||||
- **Место интеграции**: CHM-branch подаёт токены $Z^{\text{CHM}} \in \mathbb{R}^{N \times 1024}$ из frozen CHMv2 (late DINOv3-layer output, перед DPT-head) через FiLM-генератор в blocks 20, 21, 22, 23, 24 teacher-DINOv3.
|
||||
- **Требуемый fine-tune режим**: frozen backbone teacher + **LoRA rank-8 на QKV** blocks 20-24 + FiLM-MLP trainable. **Shared bottleneck 256-dim MLP** общий с depth+normals-branch пары B.
|
||||
- **Интеграция с парой B**: **tri-branch FiLM (depth + normals + CHM)** с единым bottleneck $b=256$; γ/β heads раздельные (3 × 2d). Orthogonality-loss между $\gamma^{\text{depth}}, \gamma^{\text{CHM}}$ с коэффициентом $10^{-3}$ для disentanglement (см. раздел 3).
|
||||
- **Интеграция с парой A**: forest-mask от SegEarth-OV3 (текстовый promtp «forest, trees, canopy») используется как дополнительный condition в semantic-gate $g$: $g = \sigma(\alpha (\bar h - \tau)) \cdot \max(m_{\text{SegEarth}}, \epsilon)$. Даёт robustness к CHMv2 ошибкам в non-forest регионах через semantic-check.
|
||||
- **Связь с парой D (Multi-FiLM-Fusion)**: пара D отвечает за композицию всех четырёх модальностей (RGB + depth + normals + CHM + text) через единый Multi-FiLM orchestrator. Пара C предоставляет CHM-подветку с готовым интерфейсом γ/β.
|
||||
|
||||
**[2] CHMv2 frozen + CAFF (cross-attention à la ForestIQNet) на blocks 22-24** _(Приоритет 4/5)_.
|
||||
|
||||
- Альтернатива для ablation: прямой cross-attn RGB ← CHM на последних 3 блоках. Δparams ~40 M, немного invasive, менее distillable (CNN-student тяжелее эмулирует cross-attn).
|
||||
- Ценность: верхний-bound на performance при неограниченных параметрах.
|
||||
|
||||
### Фальсифицируемые гипотезы
|
||||
|
||||
**H_fus_C_1**: Tri-branch FiLM (depth+normals+CHM) с shared-bottleneck на blocks 20-24 DINOv3-L/16 на **UAV-VisLoc rural-segments** даёт **ΔR@1 ≥ +2.0%** относительно dual-branch (depth+normals only пара B) при **Δparams ≤ 10 M** на tri-branch FiLM.
|
||||
|
||||
**H_fus_C_2**: Hybrid use mode (continuous CHM с semantic gate от SegEarth-OV3 forest-mask, $\tau = 3$ m) превосходит pure-geometric и pure-semantic variants на mixed-terrain SUES-200 на **ΔR@1 ≥ +0.7%**.
|
||||
|
||||
**H_fus_C_3**: На urban-only University-1652/DenseUAV addition CHM-branch **не вредит R@1**: ΔR@1 ≥ −0.5% (fall-through поведение через gate $g \approx 0$ в low-canopy tiles, FiLM γ ≈ 0).
|
||||
|
||||
---
|
||||
|
||||
## 12. Риски и ограничения пары C
|
||||
|
||||
- **Geographic OOD CHMv2** (раздел 8): main risk для tropical/disturbed/non-forest. Митигация — confidence-weighting + alternate-provider ablation.
|
||||
- **Modality competition с depth** в forested tiles → orthogonality-regularizer $\rho(\gamma^{\text{depth}}, \gamma^{\text{CHM}})$ в целевом диапазоне [0.2, 0.5].
|
||||
- **Sparse signal в urban-dominant датасетах** → hybrid-gate гарантирует fall-through, но требует аккуратной настройки $\tau$; риск over-gating (CHM-сигнал отсекается даже на информативных low-canopy urban parks).
|
||||
- **Sensor mismatch**: CHMv2 trained primarily on satellite RGB (Maxar-VHR equivalent), MERIDIAN input — drone-camera в UAV-VisLoc. Риск domain shift в CHMv2-forward path → рассмотреть LoRA-fine-tune CHMv2 на небольшой UAV-subset как ablation.
|
||||
- **Disturbance/temporal mismatch**: training data CHMv2 ≠ target-acquisition date UAV-VisLoc → остаточный bias 1-3 m в logged/regrowth regions.
|
||||
- **Distillability regression при tri-branch FiLM**: CNN-student должен эмулировать conditional behavior γ = g·γ_max; требуется gate-distillation loss (KL на softmax gate-activations).
|
||||
- **Parameter overhead tri-branch FiLM**: ~10 M на teacher, но для student при LUPI privileged-paradigm CHM отсутствует, так что overhead — только на teacher-inference.
|
||||
|
||||
---
|
||||
|
||||
## Что предстоит проверить на следующем этапе (пара D, RGB+Text)
|
||||
|
||||
Пара C даёт **структурно-геометрическую модальность** (canopy height). Пара D закрывает **семантико-лингвистический** слой через RGB+Text fusion. Ключевой мост: **forest-mask из пары C** (binary mask от CHMv2-threshold) становится кандидатом на использование как **text-conditional prior** в паре D — текстовый запрос «forest / urban / mixed» может быть сгенерирован из CHM-distribution тайла и подан как prompt в text-branch (VLM-anchor). Это устанавливает **cross-pair hierarchy**: пара C → метаданные тайла → пара D → text-conditional refinement.
|
||||
|
||||
Кроме того, пара D должна синтезировать **Multi-FiLM orchestrator**, объединяющий γ/β от четырёх модальностей (depth, normals, CHM, text-embedding) в единой shared-bottleneck архитектуре. Вопросы для пары D: (1) какая размерность text-embedding совместима с 256-dim shared bottleneck tri-branch из пары C, (2) какие VLM-backbones (CLIP, SigLIP-2, RemoteCLIP) дают наилучший sentence-level alignment с forest/urban/rural-classes, генерируемыми из CHM-статистик, (3) как моделировать **text-gate interplay с semantic-gate** раздела 9 (hybrid gate становится bi-conditional: CHM-gate × text-gate). Эти вопросы — отправная точка следующей итерации.
|
||||
264
docs/02_references/04_geometry/REVIEW_depth_normals_pairB.md
Normal file
264
docs/02_references/04_geometry/REVIEW_depth_normals_pairB.md
Normal file
@@ -0,0 +1,264 @@
|
||||
---
|
||||
type: review
|
||||
status: active
|
||||
date: 2026-04-20
|
||||
tags: [fusion, teacher, pair-B, depth, normals, dinov3, lupi, dformer, geminifusion, priority/high]
|
||||
related: ["[[REVIEW_chm_pairC]]", "[[../00_overall/SPEC_fusion_ACF_MERIDIAN]]", "[[../../01_teacher/SPEC_teacher_v2_dual_teacher]]"]
|
||||
author: claude
|
||||
---
|
||||
|
||||
# Слияние RGB + Depth + Normals для DINOv3-teacher: пара B литературного обзора MERIDIAN
|
||||
|
||||
> Обзор пары B: 9 методов (DFormer/v2, GeminiFusion, OmniSegmentor, CMNeXt-style, Metric3D-v2, DepthCLIP, FiLM-conditioning, Surgical-DINO LoRA) для слияния RGB + Depth + Normals в DINOv3-teacher.
|
||||
|
||||
## 0. Микроплан
|
||||
|
||||
В обзоре разбираются 9 методов, отобранных по принципу максимального покрытия таксономических осей (frozen-compat, симметрия, уровень инъекции) при доминировании ViT-архитектур 2024–2026 гг.: **(1) DFormer ICLR 2024** — unified RGB-D encoder, референс для input-level co-encoding; **(2) DFormerv2 CVPR 2025** — geometry-prior self-attention, асимметричный паттерн «depth-as-modulator»; **(3) GeminiFusion ICML 2024** — pixel-wise intra/inter-modal cross-attention с линейной сложностью, наиболее близкий к mid-block inject в frozen ViT; **(4) OmniSegmentor NeurIPS 2025** — multi-modal PEFT с modality prompts, baseline для adapter-injection; **(5) CMNeXt CVPR 2023 (baseline) / GeminiFusion-successors 2025** — асимметричная «hub-and-spoke» RGB-первичная схема; **(6) Metric3D-v2 joint depth+normals** — пример shared-encoder в сильном provider'е; **(7) DepthCLIP → MoA-DepthCLIP 2024–2026** — depth-conditioned prompt injection в frozen foundation model, прямой аналог Mona-LoRA из пары A; **(8) FiLM-based depth conditioning** — как мост к пары D Multi-FiLM-Fusion; **(9) Surgical-DINO-style LoRA adaptation под depth** — прямая модель паттерна для DINOv3-LoRA-blocks-20-24. Foundational baselines (SA-Gate, ACNet, TokenFusion, TransFuser) упомянуты с тегом `foundational` без подробного разбора. Факты верифицированы по arXiv; все конструкции с Depth Anything V3 / MGS²-Net / GeoLink помечены как **препринтные гипотезы**, ещё не прошедшие peer-review.
|
||||
|
||||
---
|
||||
|
||||
## 1. Обзор depth/normals providers для teacher-сценария
|
||||
|
||||
Ключевой факт, имеющий архитектурные последствия для всей пары B: **подавляющее большинство SOTA-депт моделей используют DINOv2 ViT-L/14, а teacher пары A зафиксирован как DINOv3 ViT-L/16** [Siméoni et al., 2508.10104]. Наивный grid-match **невозможен** — требуется либо (a) билинейный ресемпл фич с p14→p16, (b) использование Omnidata-v2 DPT-L (единственный кандидат, нативно живущий на ViT-L/16), либо (c) дообучение DINOv3-варианта выбранного provider'а.
|
||||
|
||||
**Таблица 1. Depth-модели для privileged-teacher.**
|
||||
|
||||
|Модель|Год / Venue|arXiv|Backbone (patch)|Params|Metric/Rel|NYU δ₁|KITTI AbsRel|≥2048 px|DINOv3-grid|Известные failure modes в аэроснимках|
|
||||
|---|---|---|---|---|---|---|---|---|---|---|
|
||||
|**Depth Anything V3**|2025 / ICLR 2026 (submit)|2511.10647|plain DINOv2 ViT-L (p14), any-view XA|~335M (L), до ~1.3B (G)|relative + nested metric|> V2|> V2|4K streaming|✗ (p14)|нет аэро-валидации; nested metric + cross-view потенциально лечат height ambiguity|
|
||||
|**Depth Anything V2 Large**|NeurIPS 2024|2406.09414|DINOv2 ViT-L/14 + DPT|335M|relative (metric FT)|~0.975 (Hypersim)|~0.074 (VKITTI)|≤2K sliding|✗|резкие артефакты при перепаде высот ≥50 м [2503.04513]|
|
||||
|**Metric3D-v2**|TPAMI 2024|2404.15506|DINOv2 ViT-L/14 + ViT-G2/14|335M / 1.3B|**metric** (canonical camera)|0.989|**0.058**|≤2K|✗|требует intrinsics; over-confidence на building-shadows|
|
||||
|**UniDepth-v2**|CVPR 2024/2025|2502.20110|DINOv2 ViT-L/14|340M|**metric** (self-promoted camera)|0.988|~0.058|~1K|✗|nadir OOD → intrinsic drift, uniform fields → plane collapse|
|
||||
|**Prompt Depth Anything**|CVPR 2025|2412.14015|DA2 ViT-L/14 + LiDAR-prompt|~335M + fusion|metric через LiDAR|4K ARKit SOTA|—|**4K native**|✗|требует LiDAR-prompt — нереалистично для satellite-tile|
|
||||
|**MoGe-2 (ViT-L, normals head)**|NeurIPS 2025|2507.02546|DINOv2 ViT-L/14 + scale + normals|~335M + heads|metric point-map + normals + FOV|—|—|flex ratio|✗|OOD scale deviation при foreground/background perpetual gap|
|
||||
|**Depth Pro**|ICLR 2025 (Apple)|2410.02073|Multi-scale ViT (DINOv2 p14 + global)|504M|**metric, no intrinsics**|—|—|**1536² native**|частично (multi-scale tiling гибкий)|FOV-head дрейфует на nadir|
|
||||
|**ZoeDepth**|2023 foundational|2302.12288|BEiT-L/16 + bins|345M|metric|0.955|0.057|518|**частично p16**, но не DINOv3|худший outdoor (MAE 3.09 м vs DAv2 0.45 м [2510.04723])|
|
||||
|
||||
**Таблица 2. Normals-модели.**
|
||||
|
||||
|Модель|Год / Venue|arXiv|Backbone|Params|Notes|DINOv3-grid|Aerial caveats|
|
||||
|---|---|---|---|---|---|---|---|
|
||||
|**DSINE**|CVPR 2024 Oral|2403.00712|EfficientNet-B5 + ray-ReLU|~72M|piece-wise planar prior, ray-ReLU halves output space|✗ (CNN)|indoor-heavy train; устойчив к теням|
|
||||
|**StableNormal**|SIGGRAPH Asia 2024|2406.16864|SD-UNet (YOSO) + SG-DRN с DINOv2-guider|~1.3B|coarse-to-fine, turbo 10×|✗|MatrixCity (urban synth) → best urban-aerial|
|
||||
|**Marigold-Normals**|2024/2025|2505.09358|SD-v2.1 UNet|~1.3B|diffusion ensemble|✗|variance на uniform texture|
|
||||
|**GeoWizard**|ECCV 2024|2403.12013|SD-v2 UNet + scene-switcher|~1.3B|**joint depth + normals**|✗|superseded StableNormal/MoGe-2|
|
||||
|**Omnidata-v2 DPT-L**|2022 baseline|2110.04994|**DPT на ViT-L/16**|343M|3D augs + cross-task consistency|**✓** (единственный p16 native)|indoor bias; sky/shadow mis-labels|
|
||||
|Sobel из depth|training-free|—|—|0|∇-оператор по depth|✓|не улавливает cast-shadow edges|
|
||||
|
||||
**Факт (not hypothesis):** единственным native-p16 кандидатом для zero-resample grid-match является Omnidata-v2 DPT-L; все остальные depth/normals providers потребуют либо ре-тайлинга фич, либо инструктуального fine-tune. Это **прямой конфликт** с заявленным в условии «Depth Anything V3 Large даёт нативный grid-match» — DA3 использует DINOv2/14, не DINOv3/16. Данная инконсистенция ТЗ должна быть разрешена в пользу reality-check: либо принять bilinear-resample (стандартная практика в RGB-X литературе), либо пере-трейнить DA3-head на DINOv3/16 encoder.
|
||||
|
||||
---
|
||||
|
||||
## 2. Постановка задачи слияния
|
||||
|
||||
Формально teacher кодирует RGB-изображение $I \in \mathbb{R}^{H\times W\times 3}$ в последовательность токенов $T_{rgb} \in \mathbb{R}^{N \times C}$, где $N = (H/16)(W/16)$, $C = 1024$ для ViT-L/16. Privileged geometric modality включает depth-тензор $D \in \mathbb{R}^{H\times W\times 1}$ (метры или affine-invariant) и normals-тензор $N_s \in \mathbb{R}^{H\times W\times 3}$ с $|N_s|_2 = 1$. Цель fusion — найти оператор $\mathcal{F}: (T_{rgb}, D, N_s) \mapsto T_{fused} \in \mathbb{R}^{N\times C}$, такой что descriptor $\phi(T_{fused})$ улучшает R@1 на CVGL-бенчмарках **без разрушения Gram-anchored pretrained representations DINOv3** [Siméoni et al., 2508.10104].
|
||||
|
||||
**Специфика UAV/RS.** (i) В SUES-200 drone-изображения сняты на 150/200/250/300 м, что приводит к множителю масштаба ×2 между экстремумами — metric depth превращает абсолютную высоту в **scale-canonical** сигнал; relative depth этого не делает. (ii) Normals маркируют **plane orientation**: roof (горизонталь), façade (вертикаль), ground-plane; это критично для instance-separation в плотной городской застройке. (iii) Cast-shadows в satellite-imagery формируют **главный failure mode** monocular depth: все SD-UNet-based normals-модели (Marigold, GeoWizard, StableNormal) интерпретируют baked-shadow как геометрическую discontinuity, поскольку тренировочные сцены Hypersim/Replica/MatrixCity содержат запечённое освещение. (iv) Edge-продукт из depth через $|\nabla D|$ обеспечивает training-free baseline для road/building boundary localization.
|
||||
|
||||
**Специфика DINOv3.** Gram-anchoring регуляризует feature-Gramian pretrained весов [Siméoni et al., 2508.10104, §4], что делает DINOv3 чувствительным к входным перестройкам. **Гипотеза H_fus_B_0**: continuous dense modality (depth as H×W×1 normalized log-depth) разрушает DINO-пространство **меньше**, чем discrete one-hot segmentation из пары A, поскольку (a) смягчает distribution shift при токенизации, (b) меньше повышает entropy на attention-map верхних блоков. Проверяется через Δ-CKA между frozen и LoRA-DINOv3 на SUES-200.
|
||||
|
||||
**Ключевые трудности.** _Modality competition_: RGB уже косвенно кодирует depth через texture/perspective cues, и Metric3D-v2 прямо показывает, что joint distillation даёт +Δ только когда decoder правильно отделяет семантический и геометрический сигналы [Hu et al., 2404.15506]. _Scale ambiguity_: для retrieval между drone и satellite-view масштабы отличаются на 1–2 порядка, что требует scale-normalization. _Normals-depth consistency_: $N_{Sobel}(D) \neq N_{learned}$ в областях сильного shading; в roof-detection выигрыш даёт learned normals, но ценой 1.3B доп. параметров (StableNormal/GeoWizard).
|
||||
|
||||
---
|
||||
|
||||
## 3. Таксономия методов
|
||||
|
||||
**Основные оси** (наследуем из пары A):
|
||||
|
||||
1. **Уровень инъекции**: input-level (early token-channel concat) / early-token (stem-level pre-norm) / mid-block (внутри блоков 8–16 ViT) / late (после последнего блока) / loss-level (auxiliary distillation).
|
||||
2. **Механизм**: concat · sum · gating (SA-Gate-style) · cross-attention (TransFuser-style) · FiLM · adapter (LoRA/Mona/parallel) · prompt-injection · depth-conditioned query · contrastive alignment · geometric self-attention (DFormerv2).
|
||||
3. **Инвазивность для DINOv3**: frozen + external / partial unfreeze (blocks 20–24) / full fine-tune / co-training с provider'ом.
|
||||
4. **Симметрия**: симметричные (SA-Gate, DFormer, GeminiFusion — RGB и Depth равноправны) vs асимметричные (DFormerv2, FiLM — depth как модулятор, CMNeXt — RGB как hub).
|
||||
|
||||
**Depth-специфичные оси.**
|
||||
|
||||
5. **Представление depth на входе**: raw metric (meters) · log-depth · disparity (1/z) · relative-normalized ([0,1]) · bin-classified (DORN-style 256 bins, Surgical-DINO-pattern) · learned depth-token embedding (depth-to-token MLP).
|
||||
6. **Scale handling**: scale-aware (absolute meters, требует GPS/altitude) / scale-invariant (pre-normalized per-image) / scale-agnostic (relative, не переносим между drone↔satellite).
|
||||
7. **Depth+Normals combination**: раздельные branches (dual-adapter) / concat-4ch (H×W×4) / normals-from-depth-computed (Sobel/learned-head) / depth-conditioning-normals (shared encoder, GeoWizard-pattern) / single joint encoder (Metric3D-v2, MoGe-2).
|
||||
|
||||
**Иерархическая таксономия пары B.**
|
||||
|
||||
```
|
||||
FUSION RGB+D(+N) для DINOv3-teacher
|
||||
├── INPUT-LEVEL (concat/co-encode)
|
||||
│ ├── симметричное: DFormer, MultiMAE, RGBD pretrain
|
||||
│ └── асимметричное: RGB-hub, Depth-as-prior
|
||||
├── MID-BLOCK INJECTION
|
||||
│ ├── cross-attention: TransFuser [foundational], CMX/CMNeXt, GeminiFusion
|
||||
│ ├── gating/token-exchange: TokenFusion [foundational], SA-Gate [foundational]
|
||||
│ ├── geometry self-attention: DFormerv2 (prior-biased)
|
||||
│ └── adapter/LoRA: Surgical-DINO-style, Mona-multi-modal
|
||||
├── LATE (embedding-level)
|
||||
│ ├── concat + projection
|
||||
│ └── contrastive alignment: DepthCLIP, MoA-DepthCLIP
|
||||
└── LOSS-LEVEL (никакого inject на inference)
|
||||
├── KD: teacher с depth → student без depth
|
||||
└── privileged hallucination (Garcia et al. 2018 [foundational])
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. SOTA-методы (2024–2026)
|
||||
|
||||
### 4.1 DFormer [Yin et al., ICLR 2024, arXiv 2309.09668]
|
||||
|
||||
Unified RGB-D encoder pretrained на image-depth pairs из ImageNet-1K; предоставляет **RGBD-foundation backbone**, а не fusion-модуль. Архитектура: hierarchical, 4 stage, каждый блок — _Global-Aware Attention_ (GAA) на fixed-pool RGB-features + _Local Enhancement Attention_ (LEA), где depth-features processed через large-kernel DWConv и используются как attention-weights для RGB через Hadamard-product: $F_{rgb}' = F_{rgb} \odot \sigma(\text{DWConv}_{k=7}(F_{depth}))$. **Fusion**: input-level (co-encoding) + early/mid-level attention. **Симметрия**: симметричная (но depth-channel в 1/4 ширины RGB). **Depth формат**: raw one-channel (normalized). **Домен**: RGB-D semantic seg + SOD (NYUDv2, SUN-RGBD, 5 SOD-датасетов). **Инвазивность**: full fine-tune, **несовместим с frozen DINOv3** (backbone не ViT-L/16, другая pretrain-процедура). **Код**: VCIP-RGBD/DFormer. **Distillability**: хорошая, т.к. результат — компактный unified encoder.
|
||||
|
||||
### 4.2 DFormerv2 [Yin et al., CVPR 2025]
|
||||
|
||||
Эволюция: вместо co-encoding — _Geometry Self-Attention_ $A_{geo} = A_{rgb} + \lambda \cdot \mathcal{G}(D)$, где $\mathcal{G}(D)$ — geometry prior, вычисленный как попарное depth-similarity между токенами: $\mathcal{G}_{ij}(D) = \exp(-|d_i - d_j|/\tau)$. **Fusion**: mid-block attention-bias. **Симметрия**: **асимметричная** (depth — bias-модулятор, не независимое пространство). **Depth формат**: raw depth, агрегируется по патчам. **Инвазивность**: требует дообучения self-attention — НЕ frozen-compatible напрямую, но **паттерн geometry-bias совместим с LoRA-инъекцией в attention-слои DINOv3 блоков 20–24** (прямая связь с рекомендацией пары A). **Домен**: RGB-D seg (NYUDv2, SUN-RGBD, ScanNet). **Distillability**: средняя (geometry prior нужен при inference).
|
||||
|
||||
### 4.3 GeminiFusion [Jia et al., ICML 2024, arXiv 2406.01210]
|
||||
|
||||
**Основной кандидат** для интеграции в пару B. Pixel-wise fusion со _смешанной intra- и inter-modal attention_ и layer-adaptive noise: $$A_{\text{gem}} = \text{softmax}\left(\frac{Q_m K_m^\top}{\sqrt{d}} + \mathcal{N}(0,\sigma_\ell)\right) V_m + \text{softmax}\left(\frac{Q_m K_{m'}^\top}{\sqrt{d}}\right) V_{m'}$$ где $m, m'$ — модальности, $\sigma_\ell$ — learnable per-layer noise amplitude. **Сложность линейная** по токенам (в отличие от full cross-attention). Работает на aligned pixel-wise представлениях, что идеально при bilinear-resample depth на ViT-grid. **Fusion**: mid-block (per-layer). **Симметрия**: симметричная. **Депт формат**: raw + learned embedding (patched). **Домен**: multimodal seg (NYUDv2, SUN-RGBD, **DeLiVER** — включает RGB+Depth+LiDAR+Event). **Инвазивность**: full — но ablation в статье показывает, что применение **только в последних k слоях** сохраняет качество (Table 5 paper), что **прямо совместимо с рекомендацией Mona-LoRA blocks 20–24**. **Код**: JiaDingCN/GeminiFusion. **Distillability**: высокая (fusion-output — tokens того же пространства).
|
||||
|
||||
### 4.4 OmniSegmentor [Yin et al., NeurIPS 2025, arXiv 2509.15096]
|
||||
|
||||
Flexible multi-modal learning framework, поддерживающий RGB+Depth+Normals+LiDAR+Event одновременно через **modality-prompts** (learnable tokens конкатенируются к patch-embeddings). Формально $T_{input} = [CLS; P_{rgb}; P_{d}; P_{n}; T_{rgb}; T_{d}; T_{n}]$, где $P_m$ — prompt-токены (≈16 per modality). **Fusion**: input-level prompt-based + self-attention. **Симметрия**: симметричная по дизайну, но asymmetric через prompt-weights. **Инвазивность**: **совместимо с frozen backbone** (prompts и small heads — единственные trainable). **Депт+normals поддержка**: встроенная (main selling point). **Distillability**: средняя — student должен научиться эмулировать эффект prompts.
|
||||
|
||||
### 4.5 CMX / CMNeXt [Zhang et al., 2022/2023, IEEE T-ITS 2023]
|
||||
|
||||
Асимметричный dual-encoder с cross-modal fusion modules (CMFM) на каждом уровне MiT-backbone. CMNeXt расширяет до arbitrary modalities с **hub-and-spoke** архитектурой (RGB-hub + любые spoke-модальности). Формула fusion: $F_{fused} = F_{rgb} + \text{CMFM}(F_{rgb}, F_{m})$. **Депт формат**: raw HWx1. **Домен**: семантическая сегментация (DeLiVER, NYUDv2, SUN-RGBD). **Инвазивность**: full FT. **Роль в обзоре**: baseline для сравнения с симметричными подходами; не рекомендуется для teacher из-за full FT.
|
||||
|
||||
### 4.6 DepthCLIP / MoA-DepthCLIP [Auty & Mikolajczyk, ICCVW 2023 → 2024–2026 preprints]
|
||||
|
||||
Depth-injected prompt adaptation для CLIP-ViT. В MoA-DepthCLIP применяется Mixture-of-Adapters: набор depth-conditioned adapter-branches, выбираемых gating-сетью от depth-статистик. **Ключевая формула**: $h' = h + \sum_i g_i(D) \cdot A_i(h)$, где $g_i$ — softmax-gate над depth-histogram. **Fusion**: mid-block adapter. **Симметрия**: асимметричная (depth — modulator). **Инвазивность**: **frozen CLIP + trainable adapters** — ближайший аналог к Mona-LoRA в блоках 20–24. Preprints (2604.xxxxx) ещё не peer-reviewed, но **паттерн валиден и прямо переносим на DINOv3**. **Distillability**: отличная (adapter-only parameters).
|
||||
|
||||
### 4.7 Surgical-DINO [Cui et al., IJCARS 2024]
|
||||
|
||||
Применяет LoRA **только к q,v-projections** в каждом блоке DINOv2-ViT-Base для depth-estimation в endoscopic surgery. Depth-head классифицирует в 256 bins (DORN-style). Математика канонического LoRA: $W_0 + \Delta W = W_0 + BA$, $B \in \mathbb{R}^{d\times r}, A \in \mathbb{R}^{r\times k}, r \ll \min(d,k)$. **Ключевая релевантность**: демонстрирует, что **frozen DINOv2 + LoRA (q,v) + bin-classification depth-head = рабочий паттерн** для adaptation foundation model под depth, который напрямую переносится на DINOv3-teacher. **Домен**: medical, НО архитектурно-агностично. **Δparams**: ~1–3% от backbone. **Distillability**: отличная.
|
||||
|
||||
### 4.8 FiLM-based depth conditioning (family 2024–2026)
|
||||
|
||||
Feature-wise Linear Modulation: $\text{FiLM}(h, D) = \gamma(D) \odot h + \beta(D)$, где $\gamma, \beta$ — MLP от depth-statistics (mean/std pooled per-region или patch-wise). В 2024–2026 появилось семейство **depth-conditioned SPADE / TC-LoRA**: TC-LoRA [arXiv 2510.09561] генерирует per-timestep-и-per-condition LoRA-веса через hypernetwork, что является обобщением FiLM с low-rank выходом. **Fusion**: mid-block modulation. **Инвазивность**: frozen backbone. **Прямая связь с парой D** MERIDIAN (Multi-FiLM-Fusion): FiLM-based depth-branch может быть добавлен как **параллельная ветвь Multi-FiLM**, при этом семантика (пара A) и geometry (пара B) модулируются независимыми наборами $(\gamma, \beta)$. **Distillability**: высокая (FiLM tractable для CNN-student).
|
||||
|
||||
### 4.9 GeoWizard / Metric3D-v2 как joint providers [ECCV/TPAMI 2024]
|
||||
|
||||
Не fusion-методы как таковые, но демонстрируют паттерн **joint depth+normals shared encoder**, позволяющий teacher'у получать обе модальности от одного provider'а с коррелированными предсказаниями. GeoWizard использует scene-type routing (indoor/outdoor/object) для дисамбигуации. Metric3D-v2 — joint decoder с knowledge distillation depth→normals. **Роль в пары B**: если teacher должен кормиться обоими сигналами (depth + normals), **shared provider уменьшает стоимость инференса в 2× и гарантирует consistency** по сравнению с двумя независимыми провайдерами (DA V3 + StableNormal).
|
||||
|
||||
**Foundational baselines (без детального разбора):** **SA-Gate** [Chen et al., ECCV 2020] — симметричный separation-and-aggregation gate, CNN-only; **ACNet** [Hu et al., CVPR 2019] — attention-based complementary network; **TokenFusion** [Wang et al., CVPR 2022] — dynamic token replacement, подорван последующим критическим анализом в GeminiFusion (exchange-based стратегически хуже cross-attention-based); **TransFuser** [Chitta et al., CVPR 2021] — cross-attention между image и LiDAR-BEV для autonomous driving, паттерн cross-attention-fusion.
|
||||
|
||||
---
|
||||
|
||||
## 5. Критический анализ (method-by-method)
|
||||
|
||||
**Таблица 3. Оценка методов по критериям совместимости с DINOv3-teacher (−/0/+/++).**
|
||||
|
||||
|Критерий|DFormer|DFormerv2|GeminiFusion|OmniSegmentor|CMNeXt|DepthCLIP-MoA|Surgical-DINO-LoRA|FiLM-depth|
|
||||
|---|---|---|---|---|---|---|---|---|
|
||||
|Frozen DINOv3-L/16 compat|−|0|+ (last-k layers)|++|−|++|++|++|
|
||||
|Сохранность DINO-repr (ΔCKA)|−|0|+|+|−|+|++|+|
|
||||
|Инвазивность (adapter/full)|full|partial|partial/full|adapter|full|adapter|adapter|adapter|
|
||||
|Distillability-потенциал|+|0|+|0|+|+|++|++|
|
||||
|Совместимость с LUPI|+|0|+|+|+|++|++|+|
|
||||
|Устойчивость к missing modality|0|0|0|++ (prompts)|0|+|+|+|
|
||||
|Depth + Normals одновременно|+ (via concat)|0 (depth only)|+|++ (native)|+|0 (depth only)|0|+ (dual FiLM)|
|
||||
|Scale-awareness|0|0|0|0|0|0|+ (bins)|+ (normalized γ,β)|
|
||||
|Resolution ≥2048|0|0|+ (linear)|0|0|0|0|+|
|
||||
|Co-training с DA V3|+|0|+|+|+|+|++|+|
|
||||
|Воспроизводимость (code+weights)|++|+|++|0 (soon)|++|0 (preprint)|+|++|
|
||||
|CVGL/UAV-tested|−|−|−|−|−|−|−|−|
|
||||
|
||||
**Дискуссия.** Ни один из методов не валидирован на CVGL-бенчмарках напрямую, что представляет главный research gap и одновременно **возможность для новизны MERIDIAN**. Лучшая связка frozen-совместимости и distillability — **Surgical-DINO-паттерн + FiLM-depth-modulation + GeminiFusion-при-необходимости-cross-attention**. DFormer/DFormerv2 требуют полного re-train и не переносятся на DINOv3-ViT-L/16 без потери foundation-свойств. OmniSegmentor наиболее элегантен для dual-modality (depth+normals), но код пока не опубликован (на момент Apr 2026).
|
||||
|
||||
---
|
||||
|
||||
## 6. Сравнительная таблица пары B
|
||||
|
||||
**Таблица 4. Итог пары B.**
|
||||
|
||||
|Method|Year|Venue|Domain|Mechanism|Depth format|Normals|Δparams|FT-depth|CVGL-tested|Distill.|**Priority**|
|
||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
||||
|GeminiFusion (last-k)|2024|ICML|seg|pixel-wise intra+inter attn|raw+embed|via 4ch|~2%|LoRA|N|+|**1**|
|
||||
|Surgical-DINO-LoRA + depth-bins|2024|IJCARS|med/generic|LoRA on q,v + DORN head|256 bins|−|1–3%|LoRA|N|++|**1**|
|
||||
|FiLM-depth modulation (TC-LoRA family)|2024–25|arXiv/NeurIPS-WS|generative/generic|γ,β from depth stats|normalized|dual-FiLM|<1%|LoRA|N|++|**2**|
|
||||
|OmniSegmentor modality-prompts|2025|NeurIPS|seg|prompt-tokens|raw|native|~3%|prompt|N|0|**2**|
|
||||
|DepthCLIP / MoA-DepthCLIP|2023–26|ICCVW/arXiv|VLM adapt|MoA gated adapters|normalized|−|~2%|adapter|N|+|**3**|
|
||||
|DFormerv2 (geometry bias)|2025|CVPR|seg|A_geo bias|raw-pooled|−|full|full|N|0|**4**|
|
||||
|DFormer (foundation backbone)|2024|ICLR|seg|unified co-encoding|1-ch|−|full|full|N|+|**4**|
|
||||
|CMNeXt (hub-and-spoke)|2023|CVPR-W|seg|CMFM|raw|via hub|full|full|N|+|**5**|
|
||||
|GeoWizard / Metric3D-v2 (joint provider)|2024|ECCV/TPAMI|provider|joint dec|—|native|—|frozen prov|N|+|provider-role|
|
||||
|
||||
---
|
||||
|
||||
## 7. Scale-awareness: metric vs relative depth для CVGL
|
||||
|
||||
**Факт.** На University-1652 все drone-изображения сняты с одинаковой синтетической высоты (≈256 м в GTA-engine), поэтому **relative depth достаточен** — cross-view retrieval сводится к matching view-invariant structures (rooftops, road layout). На SUES-200 высота варьируется 150–300 м, давая масштаб ×2 между экстремумами, что **требует metric depth** (UniDepth-v2 / Metric3D-v2) или scale-нормализации. На UAV-VisLoc вариация реальная (GPS-tagged, 100–500 м), что делает metric ещё более критичным.
|
||||
|
||||
**Гипотеза H_fus_B_scale.** Metric depth, нормализованный по GPS-высоте через $\tilde{D}(x) = D(x) / h_{GPS}$, даёт scale-canonical signal, независимый от высоты полёта. Это формализует интуицию SaLPN [Chen et al., 2412.11535] и MGS²-Net [2602.10704], где height-ratio используется explicit. В teacher-сценарии MERIDIAN этот trick бесплатный (GPS доступен на train-time для drone-imagery в U-1652, SUES-200, UAV-VisLoc, GTA-UAV).
|
||||
|
||||
**Практический рецепт.** (1) Для University-1652 — relative DA V3 достаточен, экономия параметров. (2) Для SUES-200 multi-height — metric Metric3D-v2 ViT-G2 (1.3B, в бюджет 1.5B) с canonical-camera-transform. (3) Для UAV-VisLoc — metric + GPS-normalization.
|
||||
|
||||
---
|
||||
|
||||
## 8. Depth vs Normals: какую modality выбрать
|
||||
|
||||
**Что даёт depth.** 3D-структура, абсолютный scale (если metric), длина теней и occlusion через Z-dependent. Критично для multi-height SUES-200 / UAV-VisLoc.
|
||||
|
||||
**Что дают normals.** Surface orientation, **plane segmentation** (горизонтальные roofs, вертикальные façades), roof-type classification — критично для building-instance separation в плотных urban-scenes U-1652. Normals уменьшают feature collapse в uniform-texture regions (asphalt, fields), где depth confidence низкий.
|
||||
|
||||
**Избыточность.** $N_{\text{Sobel}}(D) = \nabla D / |\nabla D|$ — training-free normals-approximation. Ablations в Metric3D-v2 показывают, что **learned normals превосходят Sobel на planar-surface classification на +6–12% F1**, но разрыв исчезает на smooth-gradient scenes. В satellite-imagery cast-shadows ломают Sobel-normals гораздо сильнее, чем learned.
|
||||
|
||||
**Рекомендация.** Depth **необходим** (3D-structure + scale), normals **полезны, но опциональны**. Если бюджет позволяет — shared joint provider (Metric3D-v2 или MoGe-2) с normals-head даёт $\leq$1.3B параметров и consistent (D, $N_s$) пару. Иначе — depth-only с FiLM-dual-branch (под один и другой сигнал), куда normals можно будет добавить позже без архитектурного изменения teacher'а.
|
||||
|
||||
---
|
||||
|
||||
## 9. Shadow/occlusion robustness в satellite imagery
|
||||
|
||||
**Главный failure mode.** Depth-модели, обученные на NYU/KITTI/Hypersim, интерпретируют cast-shadow как геометрическую discontinuity (region-depth jump) из-за baked-lighting в тренировочных 3D-scene-render. В satellite-imagery это приводит к **фальшивым edges по границам теней** и **underestimation высоты зданий с северной стороны** (для северного полушария).
|
||||
|
||||
**Методы устранения 2024–2026.** (a) **Shadow-aware loss** — маскирование shadow-pixels через luminance-threshold + penalty-weight; (b) **Multi-view consistency** — если есть несколько drone-frames, depth усреднён через cross-view self-attention (как в DA3 any-view mode); (c) **Uncertainty masks** — Laplacian-loss в OMNI-DC [2411.19278] моделирует ambiguity; (d) **Domain adaptation** — Depth-Any-Canopy [2408.04523] показал, что fine-tune на remote-sensing корпусе (canopy-height) возможен с сохранением general performance; (e) **NADIR-adaptation** через synthetic top-down-rendering данных типа GTA-UAV (Lee et al., 2024) или MatrixCity.
|
||||
|
||||
**Рекомендация для MERIDIAN.** В teacher-пайплайне **provider должен выдавать confidence-map**, и teacher-fusion должен **маскировать low-confidence regions** перед FiLM/cross-attention. Это уменьшает risk feature-drift в DINOv3 от шумных depth-predictions в shadow regions.
|
||||
|
||||
---
|
||||
|
||||
## 10. Рекомендация для DINOv3-teacher по паре B
|
||||
|
||||
### Top-1: **FiLM-dual-branch + Surgical-DINO-LoRA-паттерн на blocks 20–24**
|
||||
|
||||
**Архитектура.** Frozen DINOv3 ViT-L/16 + LoRA (q,v-projections) в блоках 20–24 (consistency с парой A). Depth от **Metric3D-v2 ViT-G2** (1.3B, вписывается в 1.5B бюджет, metric via canonical camera). Normals опционально от Metric3D-v2 joint-head. Fusion: два параллельных FiLM-модуляторов на выходе каждого из блоков 20, 22, 24: $h'_\ell = \text{FiLM}_D(h_\ell, D) + \text{FiLM}_N(h_\ell, N_s)$, где $\text{FiLM}_m(h, m) = \gamma_m(m) \odot h + \beta_m(m)$, а $\gamma_m, \beta_m$ — small MLP на patchified modality ($\sim$0.3M параметров на блок). GPS-normalization depth: $\tilde{D} = D / h_{GPS}$. Mask-pooled descriptor как в пары A. Confidence-weighted gating в shadow regions.
|
||||
|
||||
**Режим fine-tune.** LoRA-q,v blocks 20–24 (~1.5M) + FiLM-modules (~2M) + mask-pooled descriptor head (~1M) ≈ **<5M trainable parameters**, при frozen Metric3D-v2 provider. Full teacher trainable footprint: depth-provider frozen (1.3B) + DINOv3 frozen (300M) + LoRA+FiLM+head (~5M).
|
||||
|
||||
**Интеграция с парой A и парой D.** (i) LoRA в тех же блоках 20–24, что пары A — возможен **single LoRA-set на все модальности** или **multi-head LoRA** (по отдельному set для каждой пары). (ii) FiLM как механизм — прямой мост к Multi-FiLM-Fusion пары D: $(\gamma, \beta)$-stream от depth+normals становится одним из входов Multi-FiLM-агрегатора. (iii) Staged training с PCGrad при co-training, как рекомендовано в пары A.
|
||||
|
||||
### Top-2: **GeminiFusion last-k layers (blocks 20–24)**
|
||||
|
||||
Альтернатива для случая, когда FiLM окажется недостаточно экспрессивным. Pixel-wise intra/inter-modal attention с linear complexity, применяется только к последним 5 блокам (по ablation статьи это даёт ≈95% прироста при ≈25% параметров). Симметричное treatment RGB и Depth. Идеально при bilinear-resample depth-features на ViT-grid.
|
||||
|
||||
**Фальсифицируемые гипотезы.**
|
||||
|
||||
- **H_fus_B_1 (FiLM-depth).** FiLM-dual-branch на Metric3D-v2 depth + normals в блоках 20–24 frozen DINOv3-L/16 даёт **ΔR@1 ≥ +3.0%** на SUES-200 multi-height test-set (среднее по 150/200/250/300 м) относительно Sample4Geo-ConvNeXt-B baseline (92.65% на U-1652 D→S; для SUES-200 baseline переносится), при Δparams ≤ 5M и ΔCKA ≤ 0.05 (сохранность DINO-repr). Проверяется через CKA-sweep по блокам 1–24 и bootstrap 95% CI по 5 сидам.
|
||||
- **H_fus_B_2 (distillability).** CNN-student (≤5M, <5 GFLOPs, INT8-ready, Jetson Orin NX) дистиллированный из teacher с FiLM-depth-fusion сохраняет ≥85% gains teacher'а на retrieval-score (distillability-score ≥ 0.85). Фальсифицируется на GTA-UAV / DenseUAV.
|
||||
- **H_fus_B_3 (shadow-robustness).** Confidence-weighted FiLM-gating с уровнем confidence < 0.3 маскированным обнуляет shadow-induced artifacts, повышая Recall@1 на tiles с shadow-coverage > 30% на **ΔR@1 ≥ +1.5%** относительно varianta без masking. Проверяется на сегменте SUES-200 с аннотированными shadow-regions (требуется аннотация, shadow-segmentation может быть получен training-free через luminance-thresholding).
|
||||
|
||||
---
|
||||
|
||||
## 11. Риски и ограничения пары B
|
||||
|
||||
**Modality competition.** RGB-фичи ViT-L/16 уже содержат implicit depth-cues (perspective, texture-scale) — дополнительный explicit depth может дать **убывающую отдачу** или даже **фичевый шум**. Митигация: staged-training с PCGrad (пара A) + gating в FiLM ($\sigma(\gamma_m)$).
|
||||
|
||||
**Feature drift от continuous input.** Даже dense continuous depth может сместить attention-distribution в верхних блоках. Gram-anchoring потенциально страдает. Контроль: ΔCKA < 0.05 threshold между frozen и LoRA-DINOv3.
|
||||
|
||||
**Shadow/occlusion.** Описано в §9. Требует confidence-aware masking.
|
||||
|
||||
**Scale ambiguity.** Relative depth непрямо переносим между drone↔satellite. Для SUES-200 это критично. Решение: metric provider + GPS-normalization.
|
||||
|
||||
**Normals-depth consistency.** Независимые providers дают неконсистентные $(D, N_s)$. Решение: shared joint provider (Metric3D-v2 / MoGe-2 / GeoWizard).
|
||||
|
||||
**Parameter overhead для dual-branch.** Depth + normals = 2× FiLM + potentially 2× adapter. Оптимизация: shared bottleneck в FiLM-MLP.
|
||||
|
||||
**Distillability regression.** Depth-specific positional encodings (если используются) сложно воспроизвести в CNN-student. Решение: **не использовать depth-specific pos-enc**; FiLM не требует позиционной специализации.
|
||||
|
||||
**Provider-backbone mismatch.** DA V3 / Metric3D-v2 / MoGe-2 все на DINOv2 ViT-L/14, teacher на DINOv3 ViT-L/16. Bilinear-resample фич с p14→p16 — стандартная практика, но вносит ≈1% error-bound. Omnidata-v2 DPT-L (ViT-L/16 native, слабее по метрикам) — единственная zero-resample альтернатива. **Trade-off: точность depth vs. grid-alignment**.
|
||||
|
||||
**Provider-scope satellite-gap.** Ни один из provider'ов не тренировался на true-nadir satellite tiles. Risk — OOD-дрейф intrinsics/scale на satellite-branch teacher'а. Митигация: fine-tune-ветвь провайдера на aerial subset (Depth-Any-Canopy паттерн).
|
||||
|
||||
---
|
||||
|
||||
## Что предстоит проверить на следующем этапе (пара C, RGB + Canopy Height)
|
||||
|
||||
Пара B фокусируется на generic monocular depth + surface normals как privileged-modality для urban-scene-ориентированного CVGL. Пара C (**RGB + Canopy Height**) сдвигает акцент на vegetation-specific 3D signal, критичный для rural/forested регионов датасетов типа GTA-UAV (mixed-terrain) и UAV-VisLoc (natural landscapes) — сегмент, где текстурной информации RGB недостаточно из-за self-similarity лесного покрова. **Depth-Any-Canopy** [2408.04523] уже показал, что depth foundation models переносятся на canopy-height task в remote-sensing. Ключевой вопрос для пары C — **нужен ли отдельный FiLM-branch под canopy, или это частный случай metric-depth branch пары B** при condition на semantic-land-cover-mask (forest vs. urban). Гипотеза: **canopy-height как дополнительная FiLM-ветвь даёт marginal gain ≤1% на U-1652/SUES-200 (urban) и ≥3% на UAV-VisLoc rural-segments**, что делает её conditionally-useful.
|
||||
|
||||
Связь с парой B: архитектура (FiLM-dual-branch + LoRA blocks 20–24) **прямо расширяется до tri-branch FiLM** (depth + normals + canopy), разделяя bottleneck MLP для экономии параметров и получая unified geometric conditioning. Верификация canopy-specific providers (Meta's high-resolution canopy-height model, Depth-Any-Canopy, Tolan et al. 2024) — основная задача следующей итерации. Shadow-robustness пары B переносится на canopy-shadow в лесном покрове, но с другим scale: canopy-shadow-length correlates with tree-height, что даёт дополнительный сигнал вместо failure mode.
|
||||
@@ -0,0 +1,565 @@
|
||||
---
|
||||
type: delta
|
||||
status: draft
|
||||
date: 2026-05-06
|
||||
parent: "[[REVIEW_depth_normals_pairB]]"
|
||||
related:
|
||||
- "[[REVIEW_chm_pairC]]"
|
||||
- "[[../00_overall/SPEC_fusion_ACF_MERIDIAN]]"
|
||||
- "[[MASTER_synthesis_cached_tensors]]"
|
||||
- "[[DELTA_pair_C_chm_sat]]"
|
||||
- "[[DELTA_pair_A_seg_revised]]"
|
||||
- "[[DELTA_E1_pair_D_text_fusion]]"
|
||||
tags:
|
||||
- delta
|
||||
- decision/delta
|
||||
- component/cvgl
|
||||
- method/film
|
||||
- method/depth
|
||||
- arch/dinov3
|
||||
- gate/E1
|
||||
- priority/high
|
||||
- domain-aware/HIGH
|
||||
phase: E1
|
||||
hypotheses_added:
|
||||
- H_pair_B_1
|
||||
- H_pair_B_2
|
||||
- H_pair_B_3
|
||||
- H_pair_B_4
|
||||
author: claude
|
||||
---
|
||||
|
||||
# DELTA §2.7 — Pair B depth fusion (cached DA3-LARGE → unified continuous encoder)
|
||||
|
||||
> [!summary] TL;DR
|
||||
> **Major architectural shift**: anchor REVIEW_depth_normals_pairB (DFormer / GeminiFusion / Metric3D-v2 family — joint depth+normals encoders, Mona-LoRA-B injection) **superseded** новым cached tensors anchor ([[MASTER_synthesis_cached_tensors]] §3): **cached depth tensor [1,256,256] fp16 ∈ [0,1] (per-frame minmax от DA3-LARGE-1.1 411M) → unified conv encoder (1→32→64→96→128) → GGeM → FiLM-B head 128→256→(2×1024×5), ~2.2M trainable**. Normals **deprecated** в anchor (no separate normals provider в cached tensors; Sobel-derived edges = pair E covers structural information). Per-frame minmax normalization сохраняет relative depth, **теряет absolute scale** — compensated через **scalar height conditioning** (§2.1 H_backbone_8 если активен).
|
||||
>
|
||||
> 4 refinements (D1-D4): D1 confirm DA3-LARGE-1.1 anchor, monitor для DA3-V3 release (Nov 2025); D2 per-frame minmax sufficient (alternative absolute scale via altitude scalar); D3 aux depth-regression head на student — defer to E5 (similar risk pollution as Pair A); D4 §0.8 RGBD-fusion alternatives (A.1 concat / E.5 AdaIN-stats / cross-attn / aux-loss) — checked, FiLM-B retained.
|
||||
>
|
||||
> **4 новые гипотезы H_pair_B_1..4**: per-frame minmax preservation, altitude-aware FiLM auto-attenuation, B-E adaptive λ_⊥ (depth-edges decorrelation), aux depth head feature pollution risk.
|
||||
|
||||
---
|
||||
|
||||
## §1. AS-IS — anchor состояние (cached tensors revised)
|
||||
|
||||
### 1.1. Anchor architecture (MASTER §3, 2026-04-20)
|
||||
|
||||
**Provider:** Depth Anything V3 LARGE 1.1 (DA3-LARGE-1.1, 411M params, DINOv2 ViT-L/14 backbone). Pre-computed offline → **cached fp16 tensors [1,256,256] ∈ [0,1]** per-frame minmax normalized в SafeTensors на NVMe SSD (~256 KB/pair).
|
||||
|
||||
**Pipeline (~2.2M trainable):**
|
||||
|
||||
```
|
||||
depth [1,256,256] fp16 ∈ [0,1] (per-frame minmax)
|
||||
│
|
||||
▼ unified continuous encoder (shared design with Pair C/E):
|
||||
conv 7×7 stride 2 (1→32)
|
||||
conv 3×3 stride 2 (32→64)
|
||||
conv 3×3 stride 2 (64→96)
|
||||
conv 3×3 stride 2 (96→128)
|
||||
│
|
||||
▼
|
||||
[128, 16, 16] feature map
|
||||
│
|
||||
▼ GGeM pool (learnable p, shared design)
|
||||
[128] descriptor
|
||||
│
|
||||
▼ FiLM-B head MLP 128→256→(2×1024×5)
|
||||
γ_B^{(20-24)}, β_B^{(20-24)} → blocks 20-24 DINOv3 ViT-L/16
|
||||
через shared 256-d bottleneck
|
||||
```
|
||||
|
||||
**Параметрический бюджет** (verified MASTER §3):
|
||||
- conv encoder: ~200K
|
||||
- FiLM-B MLP: ~2M
|
||||
- **Total Pair B trainable = ~2.2M**
|
||||
|
||||
**Normals deprecated в anchor** ([[MASTER_synthesis_cached_tensors]] §3): нет отдельного normals provider в cached tensors. Structural information частично восстанавливается через **Pair E (edges = Sobel(depth))** — отдельный paired encoder.
|
||||
|
||||
**Key trade-off**: per-frame minmax → **теряем absolute scale**. Компенсация:
|
||||
- **Option A**: scalar height conditioning от §2.1 H_backbone_8 (если scalar height доступен) — auto-attenuation λ_depth при altitude > 200m
|
||||
- **Option B**: **scale-invariant retrieval** — anchor accepts scale loss как architectural decision (cross-image comparability >> absolute metric depth)
|
||||
|
||||
### 1.2. Cross-pair B-E correlation concern (anchor)
|
||||
|
||||
[[MASTER_synthesis_cached_tensors]] §3 noted: **Pair B (depth) ↔ Pair E (edges = Sobel(depth))** — γ-streams могут быть structurally коррелированы (edges = derivative depth). **Adaptive λ_⊥ для конкретной пары B-E** через monitoring schedule:
|
||||
- Default: λ_⊥(B-E) = 0.1 (uniform с другими pairs)
|
||||
- If pairwise cosine sim(γ_B, γ_E) > 0.6 устойчиво в течение 2 эпох → **automatically double** λ_⊥(B-E) → 0.2
|
||||
- Resilience: B-E independence enforced via decorrelation regularization
|
||||
|
||||
### 1.3. Anchor justification (компактно)
|
||||
|
||||
- **Cached tensors regime** ([[MASTER_synthesis_cached_tensors]] §1-2): provider features заменены на pre-computed tensors → minimum runtime (no online DA3-LARGE inference)
|
||||
- **DA3-LARGE-1.1** = current best monocular depth для aerial oblique (Nov 2024-2025 generation, 411M params, robust на UAV altitudes)
|
||||
- **per-frame minmax** sufficient для cross-image comparability в same dataset (World-UAV)
|
||||
- **Unified continuous encoder** shared с Pair C (CHM) и Pair E (edges) — 80% infrastructure reuse
|
||||
- **GGeM** = anchor для feature aggregation (cross from F11)
|
||||
- **FiLM-B → blocks 20-24** = same injection point как Pair A/C/D/E (5-way unified)
|
||||
|
||||
### 1.4. H_fus_B_X (anchor REVIEW_depth_normals_pairB) — updated status
|
||||
|
||||
| ID | Original (REVIEW_depth_normals_pairB) | New status (DELTA 2026-05-06) | Rationale |
|
||||
|:--|:--|:-:|:--|
|
||||
| H_fus_B_0 | Continuous dense modality breaks DINO less than discrete one-hot | Confirmed (still relevant) | Anchor design supports |
|
||||
| H_fus_B_1 | Depth-fusion даёт больший ΔR@1 на SUES-200 (multi-height) чем University-1652 | **Confirmed (still relevant)** — H_pair_B_2 refines | Multi-altitude SUES-200 needs scale invariance |
|
||||
| (others REVIEW H_fus_B_X) | DFormer / GeminiFusion / Metric3D-v2 specific hypotheses | **Superseded** — cached tensors regime drops these specific architectures | Architecture shift |
|
||||
|
||||
---
|
||||
|
||||
## §2. Лит-обзор: новые свидетельства (2025-2026)
|
||||
|
||||
### 2.1. Depth Anything V3 (DA3, arXiv:2511.10647, Nov 2025) — provider release
|
||||
|
||||
> [!cite] Источник
|
||||
> arXiv:2511.10647 · Nov 2025 · ICLR 2026 submission
|
||||
|
||||
**Что нового:**
|
||||
- DA3 plain DINOv2 ViT-L (p14), any-view cross-attention
|
||||
- ~335M (L) → 1.3B (G) params
|
||||
- **Relative + nested metric** depth output (vs DA2 relative-only с metric FT option)
|
||||
- 4K streaming inference
|
||||
- **No aerial validation в paper** — но nested metric может lечить height ambiguity для UAV
|
||||
|
||||
**Implication для DELTA:**
|
||||
- **DA3** is currently anchor (DA3-LARGE-1.1) — но **nested metric variant** + cross-view может улучшить scale awareness
|
||||
- **Action**: monitor open-source release; if DA3 v1.1+ дает absolute metric depth (vs relative) — re-cache 962K tensors (~50 H100-hours; не блокирующее, можно параллельно с E1)
|
||||
- **Decision**: keep DA3-LARGE-1.1 anchor; track DA3 nested-metric option как **D2 alternative**
|
||||
|
||||
### 2.2. RGBD fusion via DCF (Depth-weighted Cross-attention) — arXiv:2405.05614
|
||||
|
||||
> [!cite] Источник
|
||||
> «Depth Awakens: A Depth-perceptual Attention Fusion Network for RGB-D Camouflaged Object Detection» · 2024
|
||||
|
||||
**Что нового:**
|
||||
- **Depth-weighted Cross-attention Fusion (DCF) module** — controls depth contribution while fusing RGB+depth
|
||||
- Designed для COD (camouflaged object detection) — different domain, structural pattern transferable
|
||||
|
||||
**Implication для DELTA:**
|
||||
- **DCF альтернатива** для FiLM-B (категория B.1 §0.8 cross-attention) — cross-attention с depth-weight gating
|
||||
- **Reject as primary**: cross-attn overhead 50-200M (vs FiLM-B ~2M); distillability ⚠
|
||||
- Add to research backlog для F3-research-B (E5+ ablation)
|
||||
|
||||
### 2.3. DFormerv2 (CVPR 2025, arXiv:2504.04701) — geometry self-attention
|
||||
|
||||
> [!cite] Источник
|
||||
> arXiv:2504.04701 · CVPR 2025
|
||||
|
||||
**Что нового:**
|
||||
- **Geometry self-attention** — leverages depth для geometry relationship modeling
|
||||
- Asymmetric pattern «depth-as-modulator» для RGBD seg
|
||||
- Builds on DFormer ICLR 2024
|
||||
|
||||
**Implication для DELTA:**
|
||||
- **Architectural pattern relevant** — confirms «depth-as-modulator» (FiLM-B asymmetric pattern в anchor)
|
||||
- DFormerv2 itself uses different backbone (not DINOv3) — not direct reuse
|
||||
- **Confirms anchor** asymmetric design (depth modulates RGB через FiLM, не симметричный exchange)
|
||||
|
||||
### 2.4. Self-supervised UAV oblique depth (arXiv:2012.10704, JPRS 2021 + RMTDepth MDPI 2025)
|
||||
|
||||
> [!cite] Источник
|
||||
> JPRS 2021 + RMTDepth MDPI 17(19):3372
|
||||
|
||||
**Что нового:**
|
||||
- Self-supervised monocular depth для UAV oblique videos
|
||||
- Challenges: **depth discontinuity** from geometric distortion; **spatial ambiguity** в weakly textured regions
|
||||
- RMTDepth (2025) — Retentive Vision Transformer for self-supervised UAV depth
|
||||
|
||||
**Implication для DELTA:**
|
||||
- **Confirms F3 oblique distortion concern** (§0.6 domain-aware) — depth provider может галлюцинировать на UAV oblique
|
||||
- **Mitigation**: per-frame minmax normalization (anchor) reduces absolute depth artifacts; **uncertainty-weighting** could compensate
|
||||
- **Decision**: defer uncertainty-weighting к E5 ablation (H_pair_B_4 risk)
|
||||
|
||||
### 2.5. Scale-Aware UAV CVGL (P68, arXiv:2603.07535) — already в backlog
|
||||
|
||||
> [!cite] Источник
|
||||
> [[P68_CVGL_2026_Scale_Aware_Semantic_Geometric]] · already PARTIAL_DONE in main backlog
|
||||
|
||||
**Что нового:**
|
||||
- DSPM (Differentiable Scale Prediction Module) для scale recovery
|
||||
- F1 evidence для H_aug_1 (already cross-linked)
|
||||
|
||||
**Implication для DELTA:**
|
||||
- DSPM mechanism — alternative для **scalar height conditioning** at depth-fusion stage
|
||||
- **Sync с §2.1 H_backbone_8**: altitude-aware FiLM-B attenuation (H_pair_B_2 NEW)
|
||||
|
||||
---
|
||||
|
||||
## §3. DELTA — что изменяется vs anchor
|
||||
|
||||
### 3.1. Что НЕ меняется
|
||||
|
||||
| Anchor | Источник | Действие |
|
||||
|:--|:--|:--|
|
||||
| Cached fp16 depth [1,256,256] ∈ [0,1] | MASTER §2 | ✅ keep |
|
||||
| DA3-LARGE-1.1 provider | MASTER §3 | ✅ keep (monitor DA3 v1.1+ для D2) |
|
||||
| Per-frame minmax normalization | MASTER §3 | ✅ keep (D2 verifies) |
|
||||
| Unified continuous encoder (1→32→64→96→128) | MASTER §3 | ✅ keep (shared с Pair C/E) |
|
||||
| GGeM pool (learnable p) | MASTER §3 + F11 | ✅ keep |
|
||||
| FiLM-B head 128→256→(2×1024×5) | MASTER §3 | ✅ keep |
|
||||
| ~2.2M trainable params budget | MASTER §3 | ✅ keep |
|
||||
| Blocks 20-24 DINOv3 injection | REVIEW + MASTER §3 | ✅ keep (5-way unified) |
|
||||
| Normals deprecated | MASTER §3 | ✅ keep deprecated |
|
||||
| Adaptive λ_⊥(B-E) doubling at sim > 0.6 | MASTER §3 | ✅ keep |
|
||||
|
||||
### 3.2. Что предлагается УТОЧНИТЬ (Decision DELTA Table)
|
||||
|
||||
| # | Item | Было (anchor) | Станет (DELTA) | Threshold для acceptance | Источник evidence |
|
||||
|:-:|:--|:--|:--|:--|:--|
|
||||
| **D1** | DA3-LARGE-1.1 provider | anchor (single) | **Confirm + monitor DA3 v1.1+ release** (re-cache opt-in if absolute metric depth available) | DA3 V3 nested-metric +5pp R@1 vs relative on multi-altitude UAV → trigger re-cache | §2.1 web discovery |
|
||||
| **D2** | Per-frame minmax normalization | anchor | **Confirm; alternative**: + altitude scalar conditioning (sync с §2.1 H_backbone_8); evaluate в E1.altitude_ablation | scalar height + per-frame minmax > per-frame alone ≥ +0.5pp R@1 на multi-altitude SUES-200 | DSPM (P68) + REVIEW §0.6 F1 scale |
|
||||
| **D3** | Aux depth-regression head на teacher | not in anchor | **No teacher aux head** (FiLM injection sufficient); **defer student-side aux head к E5** (similar feature pollution risk as Pair A H_pair_A_8) | aux head adds CE/Charbonnier loss → potential negative transfer; defer | analogous Pair A H_pair_A_8 |
|
||||
| **D4** | §0.8 RGBD-fusion alternatives | implicit anchor (FiLM-B) | **§4 chklist 12 категорий** — A.1 concat reject (input-level breaks DINOv3), E.5 AdaIN-stats reject (less expressive), B.1 cross-attn defer to F3-research-B | §0.8 mandatory for fusion-prompt | §0.8 + REVIEW §3 taxonomy |
|
||||
|
||||
### 3.3. Что предлагается ДОБАВИТЬ
|
||||
|
||||
#### 3.3.1. Altitude-aware FiLM-B attenuation (H_pair_B_2)
|
||||
|
||||
**Rationale:** depth от monocular estimator при altitude > 200m **почти uniform** (depth distribution flattens) → FiLM-B сигнал должен **auto-attenuate** при large altitude.
|
||||
|
||||
**Mechanism:** scalar altitude h ∈ [50, 300]m → FiLM-B gating:
|
||||
|
||||
$$\gamma_B^{\text{eff}} = \alpha(h) \cdot \gamma_B, \quad \beta_B^{\text{eff}} = \alpha(h) \cdot \beta_B$$
|
||||
|
||||
где $\alpha(h) = \text{sigmoid}\left(\frac{200 - h}{50}\right)$ — smooth attenuation от 1.0 (h=50m) до 0.27 (h=300m).
|
||||
|
||||
**Sync с §2.1 H_backbone_8** scalar height conditioning — altitude scalar используется в обоих местах consistently.
|
||||
|
||||
**Cost:** добавляет ~1K params (sigmoid + linear scaling); negligible.
|
||||
|
||||
#### 3.3.2. F3-research-B = Cross-attn alternative (D4 §0.8 entry)
|
||||
|
||||
**Rationale:** anchor использует **single FiLM-B на global GGeM descriptor**. Alternative — cross-attention между RGB tokens (Q) и depth feature map (K,V) preserves spatial granularity.
|
||||
|
||||
**Cost:** ~50-100M trainable (vs 2.2M anchor) — 25-45× overhead. **Reject as primary**, defer post-E1.
|
||||
|
||||
### 3.4. Conflicts с anchor
|
||||
|
||||
> [!warning]+ Conflict 1 — REVIEW_depth_normals_pairB H_fus_B_X (DFormer/GeminiFusion/Metric3D-v2 specific) vs cached tensors regime
|
||||
>
|
||||
> Same pattern as Pair A (DELTA §2.6 Conflict 1) — REVIEW_depth_normals_pairB канон (2026-04-20) discusses fusion architectures assuming raw provider features (DFormer joint encoder, Metric3D-v2 ViT-G2 directly). Cached tensors regime drops raw features → only fp16 depth tensors. **Resolution:** MASTER_synthesis_cached_tensors **supersedes** REVIEW для cached tensors regime. REVIEW сохраняется как **historical reference**.
|
||||
|
||||
> [!warning]+ Conflict 2 — Normals deprecated vs REVIEW Pair B "depth+normals"
|
||||
>
|
||||
> REVIEW _depth_normals_pairB targets RGB+Depth+Normals trio. Cached tensors anchor drops normals (no separate normals provider). **Resolution:** Sobel-derived edges (Pair E) covers structural information complementary to depth. Normals может быть added в E5 ablation если Pair E insufficient.
|
||||
|
||||
> [!info]+ No conflict — DA3-LARGE-1.1 provider continuity
|
||||
>
|
||||
> Anchor MASTER §2 confirms DA3-LARGE-1.1 as provider; web discovery (§2.1) confirms DA3 v3 release Nov 2025 — no breaking changes, only improvement direction (nested metric). Anchor stable.
|
||||
|
||||
### 3.5. Risks of refinement
|
||||
|
||||
> [!danger]+ R1 — DA3-LARGE-1.1 provider drift при V3+ updates
|
||||
>
|
||||
> Если Meta/AI релизит DA3 V3 with structural changes (e.g., switch backbone к DINOv3 ViT-L/16 для grid-match), наш cached fp16 tensors stale. Re-cache cost ~50 H100-hours. **Mitigation:** strict version-pinning (hash-suffix SafeTensors) + 500-image regression test set + automated drift detection (D1 monitor).
|
||||
|
||||
> [!warning]+ R2 — Per-frame minmax loses absolute scale
|
||||
>
|
||||
> Per-frame normalization preserves cross-image comparability (consistent [0,1] range), но **destroys absolute metric depth** — critical для multi-altitude SUES-200 retrieval. **Mitigation D2:** altitude scalar conditioning from §2.1 H_backbone_8 — restores scale awareness.
|
||||
|
||||
> [!warning]+ R3 — F3 oblique distortion (§0.6)
|
||||
>
|
||||
> Depth от monocular estimator на UAV oblique view имеет artifacts: depth discontinuities при large viewpoint changes, hallucinated depth-jumps при cast shadows (§2.4 web evidence). **Mitigation:** uncertainty-weighting / confidence gating (defer to E5; H_pair_B_4 explores feasibility).
|
||||
|
||||
> [!warning]+ R4 — B-E correlation collapse
|
||||
>
|
||||
> Edges = Sobel(depth) → γ_B и γ_E могут collapse в redundant directions (cosine sim > 0.7). **Mitigation (anchor):** adaptive λ_⊥(B-E) doubling при sim > 0.6 — already в anchor. **H_pair_B_3 NEW:** verify mechanism effectiveness empirically.
|
||||
|
||||
### 3.6. Отвергнутые предложения
|
||||
|
||||
> [!failure]+ Reject — Joint depth+normals encoder (REVIEW Metric3D-v2 / GeoWizard pattern)
|
||||
>
|
||||
> Joint encoder requires online provider inference → defeats cached tensors purpose. Reject. Use Pair E edges as structural compensation.
|
||||
|
||||
> [!failure]+ Reject — Cross-attention RGBD fusion (DFormer/GeminiFusion category)
|
||||
>
|
||||
> 50-200M overhead vs FiLM-B 2.2M. Distillability ⚠ (cross-attn не дистиллируется без depth provider в Student). Reject as primary; defer F3-research-B.
|
||||
|
||||
> [!failure]+ Reject — Aux depth-regression head на teacher
|
||||
>
|
||||
> Anchor MASTER §3 — FiLM injection sufficient; aux head adds Charbonnier/SiLog loss redundant с CVGL InfoNCE objective. Risk of teacher feature drift away from CVGL. Reject.
|
||||
|
||||
> [!failure]+ Reject — Aux depth-regression head на student (deferred)
|
||||
>
|
||||
> Same risk as Pair A H_pair_A_8 (feature pollution). Reject as primary; **defer to E5.aux_depth_loss_ablation** with PCGrad gradient surgery.
|
||||
|
||||
> [!failure]+ Reject — Surgical-DINO-style LoRA-injection on teacher для depth
|
||||
>
|
||||
> LoRA уже applied на DINOv3 blocks 20-24 (anchor). Adding depth-conditional LoRA = double-LoRA conflict. Reject. Use FiLM-B (anchor) instead.
|
||||
|
||||
> [!failure]+ Reject — Replace per-frame minmax with absolute metric depth (DA3 V3 nested metric)
|
||||
>
|
||||
> Conditional reject — DA3 V3 release pending. **Conditional adopt** if D1 monitor triggers (V3 demonstrates +5pp R@1 multi-altitude). Defer decision.
|
||||
|
||||
---
|
||||
|
||||
## §4. §0.8 FiLM-АЛЬТЕРНАТИВЫ — обязательный чек-лист (RGBD-fusion-aware)
|
||||
|
||||
| Cat | Метод | Anchor decision | Reason |
|
||||
|:-:|:--|:-:|:--|
|
||||
| **A.1** Early concat (RGB + depth → 4-channel) | Reject | Breaks DINOv3 patch-embed weights |
|
||||
| **A.2** Late concat | Reject | Linear, weak |
|
||||
| **B.1** One-way cross-attn (RGB-Q, depth-K/V) | F3-research-B research | 50-200M overhead, distillability ⚠ |
|
||||
| **B.2** Two-way cross-attn (CoCa-style) | Reject | Symmetric exchange complicates distillation |
|
||||
| **B.5** Q-Former (BLIP-2) | Reject | Bottleneck destroys dense correspondence |
|
||||
| **C.1** GMU (Gated Multimodal Unit) | Reject | Gating only, FiLM superset |
|
||||
| **E.5** AdaIN (γ,β from depth statistics) | Reject | Less expressive than learned MLP FiLM |
|
||||
| **E.7** Conditional FiLM (anchor) | **PRIMARY** | Anchor ✅ |
|
||||
| **E.10** Dynamic Conv | Reject | Generates kernels, overhead |
|
||||
| **E.11** Mixture-of-FiLM (depth-bin routing) | Research direction | Per-depth-bin FiLM (similar to Pair A per-class MoFiLM); defer |
|
||||
| **G.1** Houlsby adapter (RGBD-conditional) | Reject | Mona-LoRA-B deprecated в cached tensors |
|
||||
| **L.1** FiLM + cross-attn | Architecture B alternative | Hybrid valid; defer |
|
||||
|
||||
**DELTA-чеклист для F3-research-B (cross-attn alternative):** см. §3.3.2 — defer post-E1.
|
||||
|
||||
---
|
||||
|
||||
## §5. CVGL DOMAIN AWARENESS — чек-вопросы (HIGH domain-aware §0.6)
|
||||
|
||||
§2.7 — **HIGH domain-aware** (depth scale зависит от altitude!).
|
||||
|
||||
| Категория | Status | Mitigation |
|
||||
|:--|:-:|:--|
|
||||
| **F1 scale + altitude** | ⚠ Critical | per-frame minmax normalizes; altitude scalar conditioning (H_pair_B_2) auto-attenuates λ_depth at high altitude |
|
||||
| **F2 viewpoint mismatch** | ⚠ - sat nadir / UAV oblique | per-frame normalization handles distribution shift; FiLM-B learns view-asymmetric γ,β |
|
||||
| **F3 oblique distortion** | ⚠ Critical | gradient inconsistency между views; mitigation through normalization + B-E adaptive λ_⊥ |
|
||||
| **F4 sun angle / shadows** | ⚠ - depth halucinates shadow as discontinuity | uncertainty-weighting (R3 deferred); shadows captured by edges (Pair E) for cross-validation |
|
||||
| **#9 domain gap (sim-to-real)** | ✅ - DA3-LARGE trained on real RGBD; cached tensors handle distribution | confidence-weighting deferred to E5 |
|
||||
| **F7 rotation handling** | ✅ Aug consistency через cached tensors frozen | depth tensor rotated together with RGB |
|
||||
| **#13 GPS noise tolerance** | N/A | depth invariant к GPS |
|
||||
| **#14 temporal mismatch** | ✅ stable structures (buildings, terrain) preserved | seasonal vegetation may differ → CHM (Pair C) covers this |
|
||||
|
||||
**Conclusion:** HIGH domain-aware addressed. Critical concerns F1 + F3 + F4 mitigated через per-frame minmax + altitude conditioning + B-E decorrelation.
|
||||
|
||||
---
|
||||
|
||||
## §6. GAP ANALYSIS — backlog для §2.7
|
||||
|
||||
### Output: Таблица A — В vault, требуют углубления (SHALLOW)
|
||||
|
||||
| # | Paper / Author Year | Paper-ID | Существующая заметка | Глубина | Priority | Est. MODE-A time |
|
||||
|:-:|:--|:--|:--|:--|:-:|:-:|
|
||||
| A1 | DA3 LARGE 1.1 | (cross from §2.5 backlog) | mentioned в [[REVIEW_depth_normals_pairB]] §1 | NOT_FOUND deep-dive | P2 | 1.5h |
|
||||
| A2 | F18 SegDINO (cross from 3_fusion) | F18 | (already в backlog #54 для §2.6) | SHALLOW | P2 | — |
|
||||
| A3 | F11 GGeM (cross) | F11 | (already в backlog #53) | SHALLOW | P2 | — |
|
||||
| A4 | F34 Coupled Mamba (cross from 3_fusion) | F34 | DEEP (in [[F34_2024_Coupled Mamba Enhanced Multi-modal Fusion with Coupled State Space Model]]) | DEEP | — | — |
|
||||
|
||||
### Output: Таблица B — НЕ в vault, требуют acquisition + MODE-A
|
||||
|
||||
| # | Paper / Author Year | Title | DOI / arXiv | Status | Priority | Acquisition path |
|
||||
|:-:|:--|:--|:--|:--|:-:|:--|
|
||||
| B1 | **DA3 V3 (Nov 2025)** | Depth Anything V3 | [arXiv:2511.10647](https://arxiv.org/abs/2511.10647) | NOT_FOUND | P1 | acquire — provider monitor for D1 → `2_foundation_models/F_DA3_V3_2025.md` (~2h) |
|
||||
| B2 | **DFormerv2 (CVPR 2025)** | Geometry Self-Attention RGBD | [arXiv:2504.04701](https://arxiv.org/abs/2504.04701) | NOT_FOUND | P3 | acquire — geometry self-attn pattern reference (~1.5h) |
|
||||
| B3 | **DCF Depth-weighted Cross-attention (2024)** | RGB-D Camouflaged Object Detection | [arXiv:2405.05614](https://arxiv.org/abs/2405.05614) | NOT_FOUND | P3 | acquire summary — cross-attn alternative (~1h) |
|
||||
| B4 | **RMTDepth (MDPI 2025)** | Retentive ViT for UAV Depth | MDPI 17(19):3372 | NOT_FOUND | P3 | acquire summary — UAV-specific depth provider (~1h) |
|
||||
| B5 | **Self-supervised UAV oblique depth (JPRS 2021)** | Foundational reference | [arXiv:2012.10704](https://arxiv.org/abs/2012.10704) | NOT_FOUND | P3 | acquire summary — oblique distortion challenges reference (~1h) |
|
||||
| B6 | **MoGe-2 (NeurIPS 2025)** | Joint depth + normals + scale + FOV | [arXiv:2507.02546](https://arxiv.org/abs/2507.02546) | NOT_FOUND | P3 | acquire — alternative metric depth provider (~1.5h) |
|
||||
|
||||
### Output: Сводная статистика
|
||||
|
||||
- Всего цитируемых работ по теме промпта (Pair B): ~20
|
||||
- DEEP: 3 (REVIEW + MASTER + M11)
|
||||
- SHALLOW: 4 (DA3 LARGE 1.1 mention, F18, F11, F34)
|
||||
- NOT_FOUND: 6 (DA3 V3, DFormerv2, DCF, RMTDepth, JPRS UAV depth, MoGe-2)
|
||||
- **P0 backlog: 0** — anchor coverage complete
|
||||
- **P1 backlog: 1** (DA3 V3 monitor для D1)
|
||||
- **P2 backlog: 2** (F18, F11 cross from §2.6)
|
||||
- **P3 backlog: 5** (DFormerv2, DCF, RMTDepth, JPRS, MoGe-2)
|
||||
|
||||
### Output: Action items
|
||||
|
||||
- [ ] **P1:** acquire arXiv:2511.10647 DA3 V3 (~2h) — D1 monitor for re-cache trigger
|
||||
- [ ] **P3:** acquire DFormerv2 / DCF / RMTDepth / MoGe-2 (low priority)
|
||||
|
||||
---
|
||||
|
||||
## §7. Synchronization
|
||||
|
||||
### С §2.1 (Student backbone — scalar height conditioning)
|
||||
- D2 altitude-aware FiLM-B attenuation (H_pair_B_2) ↔ §2.1 H_backbone_8 scalar height
|
||||
- **Action**: ensure scalar height available в Pair B fusion stream
|
||||
|
||||
### С §2.6 (Pair A semantic)
|
||||
- Same unified bottleneck (256-d) + 5-way orthogonality
|
||||
- Pair A 9-zone vs Pair B global FiLM — different granularity, complementary
|
||||
|
||||
### С §2.8 (Pair C CHM)
|
||||
- **Identical encoder design** (1→32→64→96→128) → infrastructure reuse
|
||||
- B-C correlation analysis (forested regions) — separate from B-E concern
|
||||
- Geometric bridge depth_uav ↔ CHM_sat — H_pair_C_X (см. DELTA §2.8)
|
||||
|
||||
### С Pair E (edges)
|
||||
- **B-E adaptive λ_⊥** (anchor MASTER §3) — H_pair_B_3 verifies
|
||||
- Sobel(depth) → edges на CPU; cached как pair E
|
||||
|
||||
### С §2.13 augmentation
|
||||
- Cached tensors frozen rule — no augmentation на depth tensor
|
||||
- Geometric aug (rotation, scale) consistent with RGB
|
||||
|
||||
---
|
||||
|
||||
## §8. Связь с ROADMAP
|
||||
|
||||
### Phase E1 (Teacher 5-modal benchmark)
|
||||
- Pair B activated в **Phase 2** (epochs 20-30, [[MASTER_synthesis_cached_tensors]] §4)
|
||||
- Phase 2 — geometric modalities (B depth + C CHM + E edges) jointly активируются
|
||||
|
||||
### H_pair_B — обновлённое resume
|
||||
|
||||
| ID | Status | Phase | Notes |
|
||||
|:--|:-:|:-:|:--|
|
||||
| H_fus_B_0 | Confirmed | E1 | Continuous depth breaks DINO less than discrete one-hot |
|
||||
| H_fus_B_1 | Confirmed | E1 | Multi-altitude SUES-200 needs scale invariance |
|
||||
| **H_pair_B_1** *(new, DELTA 2026-05-06)* | High | E1 | Per-frame minmax preserves cross-image comparability (parity with absolute metric within ±0.5pp R@1) |
|
||||
| **H_pair_B_2** *(new, DELTA 2026-05-06)* | Medium-High | E1 | Altitude-aware FiLM-B attenuation > uniform λ_depth ≥ +1pp R@1 на multi-altitude SUES-200 |
|
||||
| **H_pair_B_3** *(new, DELTA 2026-05-06)* | Medium | E1 | B-E adaptive λ_⊥ doubling механизм activates ≤ 30% epochs (cosine sim < 0.6 у >70% epochs) |
|
||||
| **H_pair_B_4** *(new, DELTA 2026-05-06)* | Low (defer E5) | E5 | Aux depth head на student = -0.5pp R@1 (feature pollution risk, similar Pair A H_pair_A_8) |
|
||||
|
||||
(Полные формулировки H_pair_B_1..4 — см. §9.)
|
||||
|
||||
### Зависимости / блокировки
|
||||
- **Блокирует:** §2.9 (5-way fusion synthesis) — Pair B architecture choice
|
||||
- **Блокируется:** §2.1 H_backbone_8 (scalar height availability), DA3 V3 release decision
|
||||
|
||||
---
|
||||
|
||||
## §9. Новые гипотезы H_pair_B_1..4
|
||||
|
||||
### H_pair_B_1: Per-frame minmax preserves cross-image comparability (parity with absolute metric)
|
||||
|
||||
**Если** anchor cached depth uses **per-frame minmax normalization** (raw depth → [0,1] independently per image),
|
||||
|
||||
**то** R@1 на University-1652 и SUES-200 находится **в пределах ±0.5pp** от hypothetical anchor с absolute metric depth (DA3 V3 nested metric option),
|
||||
|
||||
**потому что** (1) cross-image comparability через consistent [0,1] range — основная цель fusion для CVGL retrieval; (2) absolute metric depth теряет relevance when retrieval is invariant to scale (we match images, not measure heights); (3) altitude scalar conditioning (H_pair_B_2) provides scale awareness где нужно — без overhead absolute metric provider.
|
||||
|
||||
- **Уверенность:** High
|
||||
- **Область:** Normalization choice
|
||||
- **Baseline:** Hypothetical absolute metric depth (DA3 V3 nested metric)
|
||||
- **Метрика:** R@1 на University-1652 + SUES-200
|
||||
- **Threshold для успеха:**
|
||||
- |R@1(per-frame minmax) − R@1(absolute metric)| ≤ 0.5pp на University-1652
|
||||
- |Δ| ≤ 1pp на SUES-200 (multi-altitude harder)
|
||||
- **Опровержение:** absolute metric > per-frame minmax by ≥ 1.5pp R@1 → DA3 V3 re-cache justified
|
||||
- **Зависимости:** DA3 V3 release (P1 backlog #B1)
|
||||
- **Эксперимент:** E1.normalization_ablation (conditional on DA3 V3 availability)
|
||||
|
||||
---
|
||||
|
||||
### H_pair_B_2: Altitude-aware FiLM-B attenuation > uniform λ_depth
|
||||
|
||||
**Если** применить altitude-aware FiLM-B gating $\alpha(h) = \text{sigmoid}\left(\frac{200 - h}{50}\right)$ для smooth attenuation от 1.0 (h=50m) до 0.27 (h=300m),
|
||||
|
||||
**то** R@1 на multi-altitude SUES-200 (heights 150/200/250/300m) ≥ R@1(uniform λ_depth) + **1.0pp**, благодаря auto-attenuation depth контрибуции при large altitude где depth distribution flattens,
|
||||
|
||||
**потому что** (1) DA3-LARGE-1.1 produces near-uniform depth at altitude > 200m (web evidence §2.4); (2) uniform λ_depth applies same FiLM-B contribution regardless of altitude — оvercommits на high-altitude где depth uninformative; (3) SUES-200 multi-height eval explicitly tests this; (4) sync с §2.1 H_backbone_8 scalar height conditioning.
|
||||
|
||||
- **Уверенность:** Medium-High
|
||||
- **Область:** Altitude-aware fusion
|
||||
- **Baseline:** uniform λ_depth (anchor without altitude gating)
|
||||
- **Метрика:** R@1 на SUES-200 per-altitude breakdown
|
||||
- **Threshold для успеха:**
|
||||
- R@1(altitude-aware) − R@1(uniform) ≥ +1.0pp на altitudes ≥ 200m
|
||||
- Parity (±0.3pp) на altitudes ≤ 150m (low-alt где depth informative)
|
||||
- **Опровержение:**
|
||||
- Δ < 0.5pp → attenuation overhead не оправдан, simplify
|
||||
- Δ < 0pp → attenuation damages low-altitude performance, reject
|
||||
- **Зависимости:** §2.1 H_backbone_8 scalar height availability
|
||||
- **Эксперимент:** E1.altitude_ablation (Phase 2, ~6 GPU-h)
|
||||
|
||||
---
|
||||
|
||||
### H_pair_B_3: B-E adaptive λ_⊥ doubling activates ≤ 30% epochs
|
||||
|
||||
**Если** anchor monitoring schedule (cosine sim(γ_B, γ_E) > 0.6 → λ_⊥(B-E) automatically doubled to 0.2),
|
||||
|
||||
**то** механизм activates **в ≤ 30%** epochs (cosine sim < 0.6 maintained для > 70% training time), confirming structural decorrelation между depth и edge γ-streams,
|
||||
|
||||
**потому что** (1) MASTER §3 предполагает adaptive mechanism preserves B-E independence; (2) edges = Sobel(depth) creates **structural correlation** только при collapsed γ — orthogonality regularizer prevents this; (3) sustained collapse > 30% epochs indicates regularizer insufficient — мерge B-E pair (drop redundancy) или manually pre-set λ_⊥(B-E) = 0.2.
|
||||
|
||||
- **Уверенность:** Medium
|
||||
- **Область:** Cross-pair regularization, B-E independence
|
||||
- **Baseline:** anchor adaptive mechanism active
|
||||
- **Метрика:** Fraction of epochs where cosine sim(γ_B, γ_E) > 0.6 (and λ_⊥(B-E) doubled)
|
||||
- **Threshold для успеха:**
|
||||
- Doubling fraction ≤ 30% epochs
|
||||
- Final cosine sim(γ_B, γ_E) ≤ 0.5 после full E1 training
|
||||
- **Опровержение:**
|
||||
- Doubling > 50% epochs → mechanism insufficient, **manually set** λ_⊥(B-E) = 0.2 from epoch 0
|
||||
- Doubling > 80% epochs → fundamental B-E redundancy, consider **merge B-E single encoder** (saves ~2.2M params)
|
||||
- **Зависимости:** Pair E activated in Phase 2
|
||||
- **Эксперимент:** E1.B_E_correlation_monitoring (passive observation during E1)
|
||||
|
||||
---
|
||||
|
||||
### H_pair_B_4 (defer E5): Aux depth head на student polluting features
|
||||
|
||||
**Если** в Student добавить auxiliary depth-regression head — Charbonnier/SiLog loss на cached fp16 → student depth recovery,
|
||||
|
||||
**то** Student R@1 на University-1652 деградирует на **-0.5pp** относительно anchor (no aux depth loss),
|
||||
|
||||
**потому что** (1) depth-regression task gradient (dense pixel-level Charbonnier) и CVGL-task gradient (image-level retrieval InfoNCE) имеют разные directions; (2) Student ~5M params — limited capacity для multi-task; (3) Pair A H_pair_A_8 demonstrates same risk pattern для seg-task; (4) **PCGrad mitigation** (REVIEW Pair A §8.3) может enable +0.5pp gain — defer.
|
||||
|
||||
- **Уверенность:** Low (defer E5)
|
||||
- **Область:** Multi-task student learning
|
||||
- **Baseline:** Student no aux depth loss
|
||||
- **Метрика:** R@1 (Student); ΔCKA student-teacher
|
||||
- **Threshold для опровержения (anchor wins):**
|
||||
- ΔR@1(aux depth) ≤ -0.3pp (feature pollution)
|
||||
- **Опровержение alternative (aux depth helps):**
|
||||
- ΔR@1 ≥ +0.5pp с λ_aux ≤ 0.1 → adopt
|
||||
- PCGrad: ΔR@1 ≥ +1pp при λ_aux=0.3 → adopt
|
||||
- **Эксперимент:** E5.aux_depth_loss_ablation (post-E1, conditional)
|
||||
|
||||
---
|
||||
|
||||
## §10. Cross-links + acceptance
|
||||
|
||||
### К другим модулям
|
||||
- **§2.1** Student backbone — scalar height conditioning (H_backbone_8 ↔ H_pair_B_2)
|
||||
- **§2.6** Pair A — shared bottleneck + 5-way orthogonality
|
||||
- **§2.8** Pair C CHM — identical encoder design + geometric bridge
|
||||
- **Pair E (edges)** — B-E adaptive λ_⊥ regularization
|
||||
|
||||
### К master plans
|
||||
- [[MASTER_synthesis_cached_tensors]] §3 (Pair B anchor)
|
||||
- Phase 2 staged training
|
||||
|
||||
### Hypothesis bookkeeping
|
||||
- 4 новые H_pair_B_1..4
|
||||
- H_fus_B_0/H_fus_B_1 confirmed; others superseded
|
||||
|
||||
### Acceptance criteria
|
||||
|
||||
DELTA принимается, если:
|
||||
- [x] anchor cached tensors regime + DA3-LARGE-1.1 + per-frame minmax + unified encoder сохранён
|
||||
- [x] §0.8 12 категорий FiLM-альтернатив проверены — anchor (E.7) primary
|
||||
- [x] D1-D4 refinements — procedural / decision / monitor
|
||||
- [x] Conflicts (REVIEW vs MASTER, normals deprecation) explicitly resolved
|
||||
- [x] P0 backlog = 0
|
||||
- [x] 4 новые гипотезы H_pair_B_1..4 имеют explicit thresholds
|
||||
- [x] Cross-DELTA consistency (§2.1, §2.6, §2.8 sync)
|
||||
|
||||
→ **DELTA APPROVED**. Pending P1 review (DA3 V3 monitor) — recommended но не блокирующее.
|
||||
|
||||
---
|
||||
|
||||
---
|
||||
|
||||
## Refresh notes 2026-05-07 (post HIGH backlog)
|
||||
|
||||
### New evidence — DA3 V3 monitor
|
||||
|
||||
- [[F_DA3_2025]] **NEW DEEP** (Nov 2025): plain DINOv2 ViT-L p14 + any-view cross-attention, +44.3% camera pose accuracy + +25.1% geometric vs VGGT
|
||||
- **Re-cache decision**: deferred until absolute metric depth confirmed via PDF (depth-ray prediction language suggests relative)
|
||||
- [[P68_CVGL_2026_Scale_Aware_Semantic_Geometric]] cross-relevant: **monocular depth fails** for absolute scale on UAV (DSPM vehicle anchors complementary)
|
||||
|
||||
### Confirmations
|
||||
|
||||
- DA3-LARGE-1.1 anchor (cached) preserved unless absolute metric DA3 V3 confirmed
|
||||
- Per-frame minmax normalization preserved (H_pair_B_1)
|
||||
- Altitude-aware FiLM-B preserved (H_pair_B_2)
|
||||
|
||||
### Sources
|
||||
|
||||
- [[TODO_HIGH_backlog_action_plan]]
|
||||
|
||||
#delta #pair-B #depth #film #cvgl #priority/high #task/experiment #cached-tensors
|
||||
@@ -0,0 +1,79 @@
|
||||
---
|
||||
type: delta
|
||||
status: active
|
||||
date: 2026-05-12
|
||||
parent: "[[../00_overall/SPEC_fusion_ACF_MERIDIAN_v3]]"
|
||||
supersedes: "[[DELTA_pair_B_depth_uav]]"
|
||||
related:
|
||||
- "[[DELTA_pair_C_chm_sat_v2]]"
|
||||
- "[[../00_overall/HYP_fusion_variants_v2]]"
|
||||
applicable_to: ["E1"]
|
||||
tags: [delta, fusion, pair-b, depth, uav, v2, post-F84-F85]
|
||||
phase: E1
|
||||
author: claude
|
||||
---
|
||||
|
||||
# DELTA: Pair B — Depth (UAV) v2
|
||||
|
||||
## Changelog v1 → v2 (2026-05-12)
|
||||
|
||||
### Major changes
|
||||
|
||||
1. **Differential-modal aug compat (H_arch_A_6 from SPEC v3)**
|
||||
- Pair B depth может участвовать в pairwise differences с Pair A/C/D/E
|
||||
- $|X_B - X_C|$ — depth vs CHM divergence signal (terrain noise vs canopy)
|
||||
- Implementation: per-pair differential gating optional research arm
|
||||
|
||||
2. **DA3 v1.1 anchor preserved** (cached fp16 per-frame minmax)
|
||||
|
||||
3. **Modality dropout p=0.3 safety** — preserved via canonical Multi-FiLM identity-at-init
|
||||
|
||||
### Preserved (v1)
|
||||
|
||||
- DA3 v1.1 depth encoder (cached, frozen)
|
||||
- Per-frame minmax normalization
|
||||
- 4-layer Conv encoder 128-d output
|
||||
- GGeM + FiLM-B head MLP
|
||||
|
||||
---
|
||||
|
||||
## §1. Pair B architecture v2
|
||||
|
||||
```
|
||||
Input: UAV image [B, 3, 256, 256]
|
||||
↓ DA3 v1.1 frozen (cached features)
|
||||
Depth map [B, 1, H, W] fp16 per-frame minmax
|
||||
↓ Conv encoder 4 layers (1 → 32 → 64 → 128 → 128)
|
||||
Feature map [B, 128, H/8, W/8]
|
||||
↓ GGeM pooling
|
||||
[B, 128]
|
||||
↓ FiLM-B head MLP (128 → 256 → (2×1024×5))
|
||||
γ_B, β_B for Teacher blocks 20-24
|
||||
```
|
||||
|
||||
## §2. v2 research arms
|
||||
|
||||
| Arm | Source | Activation |
|
||||
|:--|:--|:--|
|
||||
| **differential B-C**: $|X_B - X_C|$ gating signal | F85 DEGF-YOLO DFE pattern | E1 parallel |
|
||||
| **spatial-FiLM-B**: per-pixel γ, β | F84 DGE-YOLO Inject | E1 P2 |
|
||||
| **ADD-fusion sync с SPEC v3 §1.3** | B112 HPMSFPN | E1 parallel (aggregation level) |
|
||||
|
||||
## §3. Risks v2
|
||||
|
||||
| Risk | Severity | Mitigation |
|
||||
|:--|:-:|:--|
|
||||
| **R1**: DA3 v1.1 cached features become stale | Low | Re-cache via DA3 V3 (deferred per SPEC v3) |
|
||||
| **R2 NEW v2**: differential B-C correlation high | Low | Adaptive λ_⊥(B,C) per orthogonality regularizer |
|
||||
|
||||
## §4. Cross-references v2
|
||||
|
||||
- [[../00_overall/SPEC_fusion_ACF_MERIDIAN_v3]]
|
||||
- [[../00_overall/DELTA_E1_teacher_5modal_Arch_A_final_v2]]
|
||||
- [[DELTA_pair_C_chm_sat_v2]]
|
||||
|
||||
---
|
||||
|
||||
[[DELTA_pair_B_depth_uav]] (v1) → archive. v2 supersedes (2026-05-12).
|
||||
|
||||
#delta #fusion #pair-b #depth #uav #v2 #post-F84-F85
|
||||
@@ -0,0 +1,556 @@
|
||||
---
|
||||
type: delta
|
||||
status: draft
|
||||
date: 2026-05-06
|
||||
parent: "[[REVIEW_chm_pairC]]"
|
||||
related:
|
||||
- "[[REVIEW_depth_normals_pairB]]"
|
||||
- "[[../00_overall/SPEC_fusion_ACF_MERIDIAN]]"
|
||||
- "[[MASTER_synthesis_cached_tensors]]"
|
||||
- "[[DELTA_pair_B_depth_uav]]"
|
||||
- "[[M11_CHMv2_deep_dive_for_MERIDIAN]]"
|
||||
tags:
|
||||
- delta
|
||||
- decision/delta
|
||||
- component/cvgl
|
||||
- method/film
|
||||
- method/lupi
|
||||
- arch/dinov3
|
||||
- gate/E1
|
||||
- priority/high
|
||||
phase: E1
|
||||
hypotheses_added:
|
||||
- H_pair_C_1
|
||||
- H_pair_C_2
|
||||
- H_pair_C_3
|
||||
- H_pair_C_4
|
||||
author: claude
|
||||
---
|
||||
|
||||
# DELTA §2.8 — Pair C CHM fusion (cached CHMv2 → unified continuous encoder)
|
||||
|
||||
> [!summary] TL;DR
|
||||
> Anchor «Pair C: cached CHM от DINOv3-ViTL16 CHMv2 (337M, fp16 [0,1] per-frame minmax) → unified continuous encoder same as Pair B → ~2.2M FiLM-C» **подтверждается** (CHMv2 verified release March 2026 — Meta/WRI partnership; native ViT-L/16 grid match). 4 refinements (D1-D4): D1 confirm CHMv2 anchor (verified web evidence — R²=0.86 SOTA, vs Tolan 2024 / Lang 2023); D2 sezonality robustness benchmark (winter/summer split на UAV-VisLoc rural subset); D3 **geometric bridge** depth_uav ≈ altitude − CHM_sat — **rejected as aux loss** (information already у Pair B+altitude scalar); D4 §0.8 LUPI-aux loss vs FiLM injection — **FiLM injection primary**, LUPI-aux deferred к E5.
|
||||
>
|
||||
> **4 новые гипотезы H_pair_C_1..4**: CHMv2 native grid match advantage, sezonality robustness gain UAV-VisLoc, B-C correlation analysis (forested regions only), aux CHM-regression head feature pollution risk.
|
||||
|
||||
---
|
||||
|
||||
## §1. AS-IS — anchor состояние (cached tensors revised)
|
||||
|
||||
### 1.1. Anchor architecture (MASTER §3, 2026-04-20)
|
||||
|
||||
**Provider:** **CHMv2** (Meta + WRI, March 2026, arXiv:2603.06382) — frozen DINOv3 ViT-L/16 backbone (~304M params) + DPT-256-mixlog head (range 0.001-96m).
|
||||
- **Native ViT-L/16 grid match** с teacher backbone — критичное архитектурное преимущество (REVIEW §1)
|
||||
- Trained on 18M satellite images, validated against ALS + GEDI L2A + ICESat-2 ATL08
|
||||
- R² = 0.86 (vs Tolan 2024 R² = 0.53) — SOTA
|
||||
- **HuggingFace**: `facebook/dinov3-vitl16-chmv2-dpt-head`
|
||||
|
||||
Pre-computed offline → cached fp16 tensors [1,256,256] ∈ [0,1] per-frame minmax (~256 KB/pair).
|
||||
|
||||
**Pipeline (~2.2M trainable, identical to Pair B):**
|
||||
|
||||
```
|
||||
chm [1,256,256] fp16 ∈ [0,1] (per-frame minmax)
|
||||
│
|
||||
▼ unified continuous encoder (shared design with Pair B/E):
|
||||
conv 7×7 stride 2 (1→32)
|
||||
conv 3×3 stride 2 (32→64)
|
||||
conv 3×3 stride 2 (64→96)
|
||||
conv 3×3 stride 2 (96→128)
|
||||
│
|
||||
▼
|
||||
[128, 16, 16] feature map
|
||||
│
|
||||
▼ GGeM pool (learnable p, shared design)
|
||||
[128] descriptor
|
||||
│
|
||||
▼ FiLM-C head MLP 128→256→(2×1024×5)
|
||||
γ_C^{(20-24)}, β_C^{(20-24)} → blocks 20-24 DINOv3 ViT-L/16
|
||||
через shared 256-d bottleneck
|
||||
```
|
||||
|
||||
**Параметрический бюджет** (verified MASTER §3):
|
||||
- conv encoder: ~200K
|
||||
- FiLM-C MLP: ~2M
|
||||
- **Total Pair C trainable = ~2.2M**
|
||||
|
||||
### 1.2. CHM-specific role (REVIEW §2)
|
||||
|
||||
**CHM отличается от generic depth**:
|
||||
- Фокус на vegetation height (DSM − DTM), игнорирует buildings и terrain
|
||||
- Роль: **дезамбигуатор self-similar forest canopy** в RGB
|
||||
- **Sezonality**: deciduous vs evergreen разница, disturbance signals (logging, fire scars, regrowth)
|
||||
- **Sparse signal в urban-dominant**: CHM ≈ 0 на 85-95% University-1652 / DenseUAV tiles
|
||||
- **Dominant signal в forested**: 30-60% UAV-VisLoc rural tiles с CHM > 5m
|
||||
|
||||
**Conditional utility CVGL benchmarks** (REVIEW §2):
|
||||
| Bench | CHM-сигнал | Применимость Pair C |
|
||||
|:--|:--|:--|
|
||||
| University-1652 | ≈ 0 на 85-95% tiles (urban) | **Low utility** |
|
||||
| DenseUAV | ≈ 0 на абсолютном большинстве (urban) | **Low utility** |
|
||||
| SUES-200 | partial 20-40% tiles | **Medium utility** |
|
||||
| GTA-UAV / Game4Loc | variable (urban/mountain/coast/forest) | **High utility** |
|
||||
| **UAV-VisLoc** | dominant 30-60% rural/hilly | **High utility** |
|
||||
|
||||
### 1.3. CHMv2 LUPI pattern (M11 deep-dive)
|
||||
|
||||
[[M11_CHMv2_deep_dive_for_MERIDIAN]] — CHMv2 как **canonical LUPI pattern**:
|
||||
- Teacher (frozen DINOv3-L Sat 304M)
|
||||
- Student/Decoder DPT (~15-25M trainable)
|
||||
- Multi-scale features из layers {5, 11, 17, 23}
|
||||
- Curriculum loss: SiLog (epochs 0-30k) → Charbonnier (30k+) → PatchGrad (5k-50k)
|
||||
- Privileged signal: ALS CHM (только при обучении)
|
||||
|
||||
**For MERIDIAN**: CHMv2 = **frozen provider** (not co-training). Pair C uses cached CHM tensor от offline CHMv2 inference — **decouples from CHMv2 LUPI training methodology** (which is provider's internal training, not relevant к downstream Pair C fusion).
|
||||
|
||||
### 1.4. H_fus_C_X (anchor REVIEW_chm_pairC) — updated status
|
||||
|
||||
| ID | Original (REVIEW) | New status (DELTA 2026-05-06) | Rationale |
|
||||
|:--|:--|:-:|:--|
|
||||
| (REVIEW H_fus_C_X) | CHMv2 dual FiLM-branch with depth specific patterns | **Superseded** by H_pair_C_X | cached tensors regime simplifies to unified encoder |
|
||||
| (REVIEW geometric bridge) | tri-branch FiLM (depth + normals + CHM) | **Adapted** — normals deprecated, CHM as separate FiLM-C | Pair B+C+E unified encoder pattern |
|
||||
|
||||
---
|
||||
|
||||
## §2. Лит-обзор: новые свидетельства (2025-2026)
|
||||
|
||||
### 2.1. CHMv2 release (March 2026, Meta + WRI) — anchor verified
|
||||
|
||||
> [!cite] Источник
|
||||
> [arXiv:2603.06382](https://arxiv.org/abs/2603.06382) · Meta AI + WRI partnership · March 2026
|
||||
|
||||
**Что нового (verified web):**
|
||||
- Released March 2026 — anchor verified
|
||||
- Trained on 18M satellite images
|
||||
- R² = 0.86 vs CHMv1 0.53 (×1.6 improvement)
|
||||
- Reduces bias в tall forests, preserves canopy edges/gaps
|
||||
- AWS open dataset registry available
|
||||
- HuggingFace `facebook/dinov3-vitl16-chmv2-dpt-head` ✅
|
||||
|
||||
**Implication для DELTA:**
|
||||
- Anchor confirmed — **no major change needed**
|
||||
- HuggingFace integration enables pre-cache pipeline (~10 H100-hours для 962K tiles)
|
||||
|
||||
### 2.2. Tolan 2024 + Lang 2023 — comparative baselines (web verified)
|
||||
|
||||
> [!cite] Источники
|
||||
> Tolan et al. 2024 (RSE 113888) · Lang et al. 2023 (Nature EE)
|
||||
|
||||
**Что выяснено:**
|
||||
- **Tolan 2024**: DINOv2 ViT-H/14 + DPT, RMSE 4.25m (NFI), 2.8m MAE (global). Patch-14 ≠ DINOv3-16 → **resample required**
|
||||
- **Lang 2023**: Xception-S2 CNN ensemble + GEDI NLL-supervision, RMSE 4.7-9.6m biome-dependent. CNN, **incompatible** с DINOv3 grid
|
||||
|
||||
**Implication для DELTA:**
|
||||
- CHMv2 Pareto-dominant choice — both quality (R²=0.86 vs 0.53) and architectural compatibility (native ViT-L/16)
|
||||
- **Reject** Tolan 2024 / Lang 2023 как primary providers
|
||||
|
||||
### 2.3. Depth Any Canopy (arXiv:2408.04523) — alternative
|
||||
|
||||
> [!cite] Источник
|
||||
> arXiv:2408.04523 · 2024
|
||||
|
||||
**Что нового:**
|
||||
- Lightweight Depth-Anything-V2 ViT-S/B + DPT для canopy
|
||||
- MAE 0.10-0.14 normalized
|
||||
- CONUS-only validation (limited geographic coverage)
|
||||
|
||||
**Implication для DELTA:**
|
||||
- Inferior to CHMv2 (limited coverage, not native ViT-L/16)
|
||||
- **Reject as primary**; reference только как baseline
|
||||
|
||||
### 2.4. ForestIQNet (Drones 2025) — RGB+CHM cross-attention precedent
|
||||
|
||||
> [!cite] Источник
|
||||
> Drones 2025 · ForestIQNet
|
||||
|
||||
**Что нового:**
|
||||
- Dual-stream RGB + voxel-CHM с **Cross-Attentional Feature Fusion (CAFF)**
|
||||
- Direct precedent для RGB+CHM cross-attention fusion
|
||||
|
||||
**Implication для DELTA:**
|
||||
- CAFF — alternative для FiLM-C (категория §0.8 B.1 cross-attention)
|
||||
- **Reject as primary**: distillability ⚠ (cross-attn не дистиллируется без CHM provider в Student)
|
||||
- Add to research backlog для F3-research-C
|
||||
|
||||
### 2.5. msGFM (CVPR 2024, arXiv:2404.01260) — multi-modal RS FM with RGB+DSM
|
||||
|
||||
> [!cite] Источник
|
||||
> arXiv:2404.01260 · CVPR 2024
|
||||
|
||||
**Что нового:**
|
||||
- Single multi-modal RS FM с paired **RGB + DSM** architecture
|
||||
- Cross-sensor MIM pre-training
|
||||
|
||||
**Implication для DELTA:**
|
||||
- DSM ≠ CHM (DSM = surface включая buildings; CHM = canopy only)
|
||||
- Architectural reference для RGB+geometry FM training
|
||||
- **Reject as primary**: not provider; not directly applicable as fusion mechanism
|
||||
|
||||
### 2.6. TerraMind (arXiv:2504.11171, ICCV 2025) — multi-modality including DEM
|
||||
|
||||
> [!cite] Источник
|
||||
> arXiv:2504.11171 · ICCV 2025
|
||||
|
||||
**Что нового:**
|
||||
- Dual-scale token-level FSQ-VAE fusion 9 модальностей включая DEM (Digital Elevation Model)
|
||||
- Closest analog tri-modal teacher
|
||||
|
||||
**Implication для DELTA:**
|
||||
- DEM ≠ CHM (DEM = ground elevation, no vegetation differentiation)
|
||||
- Architectural reference только; reject as fusion mechanism
|
||||
- Defer to §2.9 5-modal synthesis
|
||||
|
||||
---
|
||||
|
||||
## §3. DELTA — что изменяется vs anchor
|
||||
|
||||
### 3.1. Что НЕ меняется
|
||||
|
||||
| Anchor | Источник | Действие |
|
||||
|:--|:--|:--|
|
||||
| Cached fp16 CHM [1,256,256] ∈ [0,1] | MASTER §2 | ✅ keep |
|
||||
| **CHMv2 provider** (DINOv3 ViT-L/16 + DPT-256-mixlog) | MASTER §3 + verified release | ✅ keep |
|
||||
| Per-frame minmax normalization | MASTER §3 | ✅ keep |
|
||||
| Unified continuous encoder (1→32→64→96→128) | MASTER §3 (shared с Pair B/E) | ✅ keep |
|
||||
| GGeM pool (learnable p) | MASTER §3 + F11 | ✅ keep |
|
||||
| FiLM-C head 128→256→(2×1024×5) | MASTER §3 | ✅ keep |
|
||||
| ~2.2M trainable params budget | MASTER §3 | ✅ keep |
|
||||
| Blocks 20-24 DINOv3 injection | MASTER §3 | ✅ keep (5-way unified) |
|
||||
| Native ViT-L/16 grid match | REVIEW §1 + CHMv2 paper | ✅ keep (architectural advantage) |
|
||||
|
||||
### 3.2. Что предлагается УТОЧНИТЬ (Decision DELTA Table)
|
||||
|
||||
| # | Item | Было (anchor) | Станет (DELTA) | Threshold для acceptance | Источник evidence |
|
||||
|:-:|:--|:--|:--|:--|:--|
|
||||
| **D1** | CHMv2 provider | anchor | **Confirmed verified release March 2026** (Meta+WRI), R²=0.86 SOTA, native ViT-L/16. No alternative provider considered (Tolan/Lang dominated) | provider release verified | §2.1-2.2 web discovery |
|
||||
| **D2** | Sezonality robustness | not in anchor (deferred) | **Add E5 ablation**: winter/summer split на UAV-VisLoc rural subset (тестирует CHM-aware retrieval) | ΔR@1(winter→summer cross-season) ≤ 1.5pp при CHM activated; vs ≥ 3pp baseline без CHM | H_pair_C_2 (NEW) |
|
||||
| **D3** | Geometric bridge depth_uav ≈ altitude − CHM_sat | not in anchor | **Reject as aux loss** — information уже у Pair B + scalar height; redundant aux loss adds gradient interference | architectural decision | (D3 reject argument §3.6) |
|
||||
| **D4** | LUPI-aux loss vs FiLM-C injection | implicit FiLM | **§0.8 chklist**: A.1 concat reject, B.1 cross-attn defer F3-research, **LUPI-aux head defer to E5** (similar pollution risk) | §0.8 mandatory + analogous Pair A/B aux head reject | §0.8 + REVIEW Pair A H_pair_A_8 |
|
||||
|
||||
### 3.3. Что предлагается ДОБАВИТЬ
|
||||
|
||||
#### 3.3.1. Sezonality robustness benchmark (D2, H_pair_C_2)
|
||||
|
||||
**Rationale:** CHM is **stable across seasons** (canopy structure persistent, deciduous height variation ≤ 10% vs RGB color change 100%). CHM-aware retrieval should reduce seasonal cross-domain gap.
|
||||
|
||||
**Procedure (E5):**
|
||||
1. Split UAV-VisLoc rural subset into seasonal halves (если timestamps available; иначе manual annotation сезона по vegetation appearance)
|
||||
2. Train на summer; test на winter (cross-season)
|
||||
3. Compare R@1(with CHM) vs R@1(without CHM)
|
||||
4. Threshold: ΔR@1(cross-season) reduction ≥ 1.5pp при CHM активирован
|
||||
|
||||
**Cost:** ~6 GPU-h (single ablation pair)
|
||||
|
||||
#### 3.3.2. B-C correlation analysis (forested regions, H_pair_C_3)
|
||||
|
||||
**Rationale:** В forested regions Metric3D-v2 (Pair B depth) и CHMv2 partial overlap — both capture vegetation height. **Orthogonality regularizer** должен decorrelate γ_B and γ_C in forested tiles.
|
||||
|
||||
**Mechanism (anchor MASTER §3 5-way ortho):**
|
||||
|
||||
$$\rho_{B,C} = \mathbb{E}_{t \in \text{forested}} \left[ \cos(\gamma_B^{(\ell)}, \gamma_C^{(\ell)}) \right], \quad \text{target } \rho \in [0.2, 0.5]$$
|
||||
|
||||
- $\rho < 0.2$: signals полностью independent (good but may indicate underutilization of one)
|
||||
- $\rho \in [0.2, 0.5]$: balanced complementarity
|
||||
- $\rho > 0.5$: signals collapse, **trigger λ_⊥(B-C) increase** (similar to B-E mechanism)
|
||||
|
||||
**Action:** monitor passively during E1; if $\rho > 0.5$ persistently → manual λ_⊥(B-C) = 0.2 from epoch 0.
|
||||
|
||||
### 3.4. Conflicts с anchor
|
||||
|
||||
> [!warning]+ Conflict 1 — REVIEW Pair C tri-branch FiLM (depth+normals+CHM) vs anchor Pair B+C+E independent
|
||||
>
|
||||
> REVIEW §3 предлагает **tri-branch FiLM** (depth + normals + CHM) с shared bottleneck. Anchor MASTER §3 — **Pair B (depth) + Pair C (CHM) + Pair E (edges)** independent encoders + shared 256-d bottleneck. **Resolution:** anchor decision — independent encoders win for modularity (provider drift isolation, separate trainable params). Architecture preserves complementarity through shared bottleneck.
|
||||
|
||||
> [!info]+ No conflict — CHMv2 native grid match
|
||||
>
|
||||
> Both REVIEW + MASTER + web evidence confirm CHMv2 native ViT-L/16. No resampling cost. Anchor stable.
|
||||
|
||||
> [!info]+ No conflict — Pair B (depth) + Pair C (CHM) complementarity
|
||||
>
|
||||
> REVIEW §3 explicitly distinguishes Metric3D-v2 (depth до max-surface, building-aware) vs CHMv2 (canopy-only, ignores buildings). Tile-type analysis (urban/mixed/forested/disturbed) shows orthogonal/complementary signals. Confirmed.
|
||||
|
||||
### 3.5. Risks of refinement
|
||||
|
||||
> [!danger]+ R1 — CHMv2 provider drift
|
||||
>
|
||||
> CHMv2 March 2026 release; future updates may break cached fp16 tensors. **Mitigation:** version-pinning + 500-image regression test; re-cache cost ~10 H100-hours.
|
||||
|
||||
> [!warning]+ R2 — Sparse CHM signal в urban-dominant datasets
|
||||
>
|
||||
> CHM ≈ 0 на 85-95% University-1652 / DenseUAV tiles → FiLM-C сигнал может быть **drown out** или, что хуже, **add noise**. **Mitigation:** CHM-aware adaptive λ_C — gate FiLM-C contribution by mean CHM > τ threshold. Defer if needed; H_pair_C_3 monitors orthogonality.
|
||||
|
||||
> [!warning]+ R3 — Sezonality unverified
|
||||
>
|
||||
> Anchor predicts sezonality robustness benefit, но без empirical evidence из Polyakova captions / UAV-VisLoc. **Mitigation:** D2 explicit ablation в E5; defer claim до empirical validation.
|
||||
|
||||
> [!warning]+ R4 — B-C correlation collapse в forested regions
|
||||
>
|
||||
> If γ_B и γ_C collapse в forested tiles, redundancy → wasted FiLM capacity. **Mitigation:** H_pair_C_3 monitors; manual λ_⊥(B-C) escalation if needed.
|
||||
|
||||
> [!warning]+ R5 — CHM provider OOD geographies
|
||||
>
|
||||
> CHMv2 trained on US-tilted ALS data; tropical / disturbed regions могут be OOD (REVIEW §2). **Mitigation:** GeoText-1652 / GTA-UAV для diverse geographic coverage validation.
|
||||
|
||||
### 3.6. Отвергнутые предложения
|
||||
|
||||
> [!failure]+ Reject — Geometric bridge aux loss (depth_uav ≈ altitude − CHM_sat)
|
||||
>
|
||||
> Information already у Pair B + scalar height (§2.1 H_backbone_8). Aux loss adds gradient interference (similar к Pair A H_pair_A_8 / Pair B H_pair_B_4 reject). Reject.
|
||||
|
||||
> [!failure]+ Reject — Tolan 2024 / Lang 2023 alternative providers
|
||||
>
|
||||
> CHMv2 Pareto-dominant: better quality (R²=0.86 vs 0.53) + native ViT-L/16 grid match. Reject.
|
||||
|
||||
> [!failure]+ Reject — ForestIQNet CAFF cross-attention
|
||||
>
|
||||
> 50-100M overhead vs FiLM-C 2.2M; distillability ⚠. Reject as primary; defer F3-research-C (E5+).
|
||||
|
||||
> [!failure]+ Reject — Co-training CHMv2 + DINOv3
|
||||
>
|
||||
> Breaks cached tensors decoupling (similar к Pair A H_fus_A_3 reject). Reject.
|
||||
|
||||
> [!failure]+ Reject — Aux CHM-regression head на teacher OR student
|
||||
>
|
||||
> Same risk pattern as Pair A H_pair_A_8 / Pair B H_pair_B_4. Reject as primary; defer to E5.
|
||||
|
||||
---
|
||||
|
||||
## §4. §0.8 FiLM-АЛЬТЕРНАТИВЫ — обязательный чек-лист (LUPI-aware)
|
||||
|
||||
| Cat | Метод | Anchor decision | Reason |
|
||||
|:-:|:--|:-:|:--|
|
||||
| **A.1** Early concat (RGB + CHM → 4-channel) | Reject | Breaks DINOv3 patch-embed weights |
|
||||
| **B.1** Cross-attn (CAFF-style) | F3-research-C research | 50-100M overhead, distillability ⚠ |
|
||||
| **C.1** GMU | Reject | Gating only, FiLM superset |
|
||||
| **E.5** AdaIN (γ,β from CHM stats) | Reject | Less expressive than learned MLP FiLM |
|
||||
| **E.7** Conditional FiLM (anchor) | **PRIMARY** | Anchor ✅ |
|
||||
| **E.11** MoFiLM (per-CHM-bin routing) | Research direction | 256-bin DPT routing — defer |
|
||||
| **G.1** Houlsby adapter | Reject | Mona-LoRA-C deprecated в cached tensors |
|
||||
| **H.5** MI-max (CRD-like) на CHM | Aux loss alternative defer to E5 | LUPI-aux pattern |
|
||||
| **L.1** FiLM + cross-attn | Architecture B alternative | Hybrid valid; defer |
|
||||
|
||||
**DELTA-чеклист для F3-research-C (cross-attn alternative):** §3.3.1 — defer post-E1.
|
||||
|
||||
---
|
||||
|
||||
## §5. CVGL DOMAIN AWARENESS — чек-вопросы (MEDIUM domain-aware §0.6)
|
||||
|
||||
§2.8 — **MEDIUM domain-aware** (sezonality-robustness via CHM).
|
||||
|
||||
| Категория | Status |
|
||||
|:--|:--|
|
||||
| **F1 scale + altitude** | ⚠ partial — CHM normalized [0,96]m, per-frame minmax preserves cross-image; absolute scale partially recovered через native units |
|
||||
| **F4 sun angle / shadows** | ✅ CHM **invariant** к освещению (vegetation height structural) |
|
||||
| **F5 repetitive texture** | ✅ CHM disambiguates self-similar forest canopy в RGB (REVIEW §2 key insight) |
|
||||
| **F6 occlusion / dynamic objects** | ✅ CHM ignores transient objects (vehicles), focuses на canopy |
|
||||
| **#13 GPS noise tolerance** | N/A |
|
||||
| **#14 temporal mismatch (sezonality)** | ✅✅ **CHM most stable across seasons** — key advantage; D2 ablation tests это |
|
||||
| **F7 rotation handling** | ✅ Aug consistency через cached tensors frozen |
|
||||
| **#9 sim-to-real domain gap** | ⚠ - CHMv2 trained on US-tilted ALS; tropical/disturbed regions OOD |
|
||||
|
||||
**Conclusion:** MEDIUM domain-aware addressed. **Sezonality robustness** = CHM unique strength среди 5 pairs.
|
||||
|
||||
---
|
||||
|
||||
## §6. GAP ANALYSIS — backlog для §2.8
|
||||
|
||||
### Output: Таблица A — В vault, требуют углубления
|
||||
|
||||
| # | Paper / Author Year | Paper-ID | Существующая заметка | Глубина | Priority | Est. MODE-A time |
|
||||
|:-:|:--|:--|:--|:--|:-:|:-:|
|
||||
| A1 | M11 CHMv2 deep-dive | M11 | [[M11_CHMv2_deep_dive_for_MERIDIAN]] | DEEP | — | — |
|
||||
| A2 | M10 GeoBridge | M10 | [[M10_2026_GeoBridge A Semantic-Anchored Multi-View Foundation Model Bridging Images and Text for Geo-Localization]] | DEEP (already in §2.5 backlog) | — | — |
|
||||
|
||||
### Output: Таблица B — НЕ в vault
|
||||
|
||||
| # | Paper / Author Year | Title | DOI / arXiv | Status | Priority | Acquisition path |
|
||||
|:-:|:--|:--|:--|:--|:-:|:--|
|
||||
| B1 | **CHMv2 paper** | Improvements in Global Canopy Height Mapping using DINOv3 | [arXiv:2603.06382](https://arxiv.org/abs/2603.06382) | NOT_FOUND deep-dive (only M11 cross-summary) | P2 | acquire — provider primary reference (~2h) → `2_foundation_models/F_CHMv2_2026.md` |
|
||||
| B2 | **Tolan 2024** | DINOv2-ViT-H/14 + DPT canopy height | RSE 113888 | NOT_FOUND | P3 | acquire summary — comparative baseline (~1h) |
|
||||
| B3 | **Lang 2023** | Probabilistic 10m CNN canopy height | Nature EE | NOT_FOUND | P3 | acquire summary — comparative baseline (~1h) |
|
||||
| B4 | **Depth Any Canopy (2024)** | Lightweight DA2 для canopy | [arXiv:2408.04523](https://arxiv.org/abs/2408.04523) | NOT_FOUND | P3 | acquire summary — alternative reference (~1h) |
|
||||
| B5 | **msGFM (CVPR 2024)** | RGB+DSM multi-modal RS FM | [arXiv:2404.01260](https://arxiv.org/abs/2404.01260) | NOT_FOUND | P3 | acquire summary — RS multimodal FM (~1h) |
|
||||
| B6 | **TerraMind (ICCV 2025)** | Multi-modality 9 (incl. DEM) | [arXiv:2504.11171](https://arxiv.org/abs/2504.11171) | NOT_FOUND | P3 | (defer to §2.9 backlog) |
|
||||
| B7 | **MMEarth/MP-MAE (ECCV 2024)** | MAE-pretext с GCHM target | ECCV 2024 | NOT_FOUND | P3 | acquire summary — pretext signal precedent (~1h) |
|
||||
| B8 | **ForestIQNet (Drones 2025)** | RGB+voxel-CHM CAFF | Drones 2025 | NOT_FOUND | P3 | acquire summary — CAFF cross-attn precedent (~1h) |
|
||||
|
||||
### Output: Сводная статистика
|
||||
|
||||
- Всего цитируемых работ по теме (Pair C): ~15
|
||||
- DEEP: 2 (M11 deep-dive + M10 cross)
|
||||
- NOT_FOUND: 8
|
||||
- **P0 backlog: 0** — anchor coverage complete
|
||||
- **P1 backlog: 0** — anchor verified
|
||||
- **P2 backlog: 1** (CHMv2 paper deep-dive)
|
||||
- **P3 backlog: 7** (Tolan/Lang/Depth Any Canopy/msGFM/TerraMind/MMEarth/ForestIQNet)
|
||||
|
||||
### Output: Action items
|
||||
|
||||
- [ ] **P2:** acquire arXiv:2603.06382 CHMv2 paper (~2h) — provider primary reference deep-dive
|
||||
- [ ] **P3:** acquire alternative providers (low priority — anchor stable)
|
||||
|
||||
---
|
||||
|
||||
## §7. Synchronization
|
||||
|
||||
### С §2.7 (Pair B depth)
|
||||
- **Identical encoder architecture** (1→32→64→96→128) — infrastructure reuse
|
||||
- B-C correlation analysis (forested regions) — H_pair_C_3
|
||||
- Both contribute geometric signal, but orthogonal на urban tiles
|
||||
|
||||
### С §2.6 (Pair A semantic)
|
||||
- Pair A 17-class includes "forest" / "vegetation" — semantic complement к CHM continuous height
|
||||
- A-C correlation: forest mask ↔ CHM > 5m (binary indicator vs continuous)
|
||||
|
||||
### С §2.13 augmentation
|
||||
- Cached tensors frozen — no augmentation на CHM tensor
|
||||
|
||||
### С §2.9 (full 5-modal fusion synthesis)
|
||||
- Pair C contribution to combined γ_combined / β_combined
|
||||
- Sezonality benchmark (D2) — primary unique evaluation для Pair C
|
||||
|
||||
---
|
||||
|
||||
## §8. Связь с ROADMAP
|
||||
|
||||
### Phase E1
|
||||
- Pair C activated в **Phase 2** (epochs 20-30) одновременно с Pair B и Pair E
|
||||
- Sezonality benchmark — defer to E5 ablation
|
||||
|
||||
### H_pair_C — обновлённое resume
|
||||
|
||||
| ID | Status | Phase | Notes |
|
||||
|:--|:-:|:-:|:--|
|
||||
| **H_pair_C_1** *(new, DELTA 2026-05-06)* | High | E1 | Native ViT-L/16 grid match advantage (CHMv2) — confirms architectural choice |
|
||||
| **H_pair_C_2** *(new, DELTA 2026-05-06)* | Medium | E5 | Sezonality robustness — CHM activation reduces cross-season ΔR@1 by ≥ 1.5pp |
|
||||
| **H_pair_C_3** *(new, DELTA 2026-05-06)* | Medium | E1 | B-C correlation в forested regions $\rho \in [0.2, 0.5]$ (orthogonality balanced) |
|
||||
| **H_pair_C_4** *(new, DELTA 2026-05-06)* | Low (defer E5) | E5 | Aux CHM-regression head на student = -0.5pp R@1 (feature pollution risk) |
|
||||
|
||||
### Зависимости / блокировки
|
||||
- **Блокирует:** §2.9 (5-way fusion synthesis)
|
||||
- **Блокируется:** CHMv2 provider availability (verified March 2026 ✅)
|
||||
|
||||
---
|
||||
|
||||
## §9. Новые гипотезы H_pair_C_1..4
|
||||
|
||||
### H_pair_C_1: CHMv2 native ViT-L/16 grid match advantage
|
||||
|
||||
**Если** anchor использует CHMv2 (DINOv3 ViT-L/16 backbone) с native grid-match с teacher DINOv3 ViT-L/16 (vs alternative Tolan 2024 ViT-H/14 + bilinear resample),
|
||||
|
||||
**то** native grid match даёт **R@1 ≥ R@1(resampled-Tolan equivalent) + 0.5pp** благодаря (1) zero feature drift from resampling, (2) consistent 1:1 token correspondence,
|
||||
|
||||
**потому что** (1) bilinear resample interpolates between patches → smooths out fine-grained CHM details (e.g., individual tree crowns < patch resolution); (2) CHMv2 + DPT pre-trained на DINOv3 ViT-L/16 — **same coordinate system as teacher**, no projection ambiguity; (3) REVIEW §1 confirmed «единственный provider 2024-2026 с native ViT-L/16 grid match»; (4) AnyUp/FeatUp etc. resample tools mitigate but don't eliminate drift.
|
||||
|
||||
- **Уверенность:** High
|
||||
- **Область:** Provider choice, architectural compatibility
|
||||
- **Baseline:** Hypothetical Tolan 2024 (ViT-H/14) + AnyUp resample (~10M extra params)
|
||||
- **Метрика:** R@1 на UAV-VisLoc rural; CKA(features pre-resample, post-resample) measure feature drift
|
||||
- **Threshold для успеха:**
|
||||
- R@1(CHMv2 native) ≥ R@1(Tolan + resample) + 0.5pp
|
||||
- Resample CKA drift > 0.05 (measurable artifact from bilinear)
|
||||
- **Опровержение:** ΔR@1 < 0.2pp → resample acceptable, CHMv2 grid-match advantage marginal
|
||||
- **Зависимости:** anchor CHMv2 + access to Tolan 2024 model
|
||||
- **Эксперимент:** E5_research.provider_grid_match (post-E1, low priority)
|
||||
|
||||
---
|
||||
|
||||
### H_pair_C_2: Sezonality robustness gain on UAV-VisLoc
|
||||
|
||||
**Если** evaluate Pair C contribution на UAV-VisLoc rural subset с **cross-season retrieval** (train summer / test winter, или vice versa),
|
||||
|
||||
**то** R@1(with CHM) − R@1(without CHM) ≥ **1.5pp** на cross-season scenario, vs ≤ 0.3pp на same-season,
|
||||
|
||||
**потому что** (1) CHM **structurally stable** across seasons (canopy height persistent); (2) RGB color changes radically winter→summer (deciduous forest brown→green, snow); (3) Pair C provides season-invariant landmark signal; (4) anchor unique strength для Pair C among 5 pairs (most others are RGB-derived → seasonal-sensitive); (5) REVIEW §2 lists sezonality как key CHM advantage.
|
||||
|
||||
- **Уверенность:** Medium
|
||||
- **Область:** Sezonality robustness, CHM-aware retrieval
|
||||
- **Baseline:** Pair B + Pair A activated, Pair C disabled
|
||||
- **Метрика:** Cross-season R@1 (train=summer, test=winter) на UAV-VisLoc rural subset
|
||||
- **Threshold для успеха:**
|
||||
- ΔR@1(cross-season) ≥ 1.5pp при CHM activation
|
||||
- ΔR@1(same-season) ≤ 0.3pp (no significant overfit без cross-season data)
|
||||
- **Опровержение:**
|
||||
- ΔR@1(cross-season) ≤ 0.3pp → CHM не предоставляет sezonality benefit
|
||||
- ΔR@1(same-season) ≥ 1pp → CHM helps generally, not sezonality-specific
|
||||
- **Зависимости:** UAV-VisLoc seasonal annotations (timestamps OR manual annotation)
|
||||
- **Ресурсы:** ~6 GPU-h (single ablation pair)
|
||||
- **Эксперимент:** E5.sezonality_ablation (post-E1, conditional on data availability)
|
||||
|
||||
---
|
||||
|
||||
### H_pair_C_3: B-C correlation balanced в forested regions (orthogonality maintained)
|
||||
|
||||
**Если** anchor 5-way orthogonality regularizer ($\lambda_\perp = 0.1$) применен ко всем pairs включая B-C,
|
||||
|
||||
**то** в forested regions UAV-VisLoc rural subset $\rho_{B,C} = \mathbb{E}_{\text{forested}}[\cos(\gamma_B, \gamma_C)] \in [0.2, 0.5]$ — balanced complementarity,
|
||||
|
||||
**потому что** (1) Pair B (depth) + Pair C (CHM) capture overlapping но distinct vegetation height info (depth = surface height including buildings; CHM = canopy only); (2) anchor orthogonality regularizer enforces decorrelation; (3) full collapse $\rho > 0.5$ indicates redundancy → trigger λ_⊥(B-C) escalation; (4) too low $\rho < 0.2$ indicates one signal underutilized.
|
||||
|
||||
- **Уверенность:** Medium
|
||||
- **Область:** Cross-pair regularization, B-C complementarity
|
||||
- **Baseline:** anchor 5-way ortho regularizer active
|
||||
- **Метрика:** $\rho_{B,C}$ measured per epoch on forested subset; persistence of $\rho > 0.5$ over training
|
||||
- **Threshold для успеха:**
|
||||
- Final $\rho_{B,C} \in [0.2, 0.5]$ (balanced)
|
||||
- $\rho > 0.5$ persists ≤ 30% epochs (transient, not collapse)
|
||||
- **Опровержение:**
|
||||
- $\rho > 0.5$ persists > 50% epochs → λ_⊥(B-C) = 0.2 manual escalation needed
|
||||
- $\rho < 0.2$ persists → CHM signal underutilized, increase λ_C contribution
|
||||
- **Зависимости:** Pair B + C activated в Phase 2
|
||||
- **Эксперимент:** E1.B_C_correlation_monitoring (passive observation)
|
||||
|
||||
---
|
||||
|
||||
### H_pair_C_4 (defer E5): Aux CHM-regression head на student polluting features
|
||||
|
||||
**Если** в Student добавить auxiliary CHM-regression head — Charbonnier/SiLog loss на cached fp16 → student CHM recovery,
|
||||
|
||||
**то** Student R@1 на University-1652 деградирует на **-0.5pp** относительно anchor (no aux CHM loss),
|
||||
|
||||
**потому что** (1) similar feature pollution risk pattern to Pair A H_pair_A_8 / Pair B H_pair_B_4; (2) CHM = sparse signal in urban-dominant University-1652 → aux loss adds noise gradient; (3) Student ~5M params не хватает для multi-task learning; (4) **PCGrad mitigation** может enable +0.5pp gain — defer.
|
||||
|
||||
- **Уверенность:** Low (defer E5)
|
||||
- **Область:** Multi-task student learning, CHM-specific
|
||||
- **Baseline:** Student no aux CHM loss
|
||||
- **Threshold для опровержения (anchor wins):**
|
||||
- ΔR@1(aux CHM) ≤ -0.3pp (feature pollution)
|
||||
- **Опровержение alternative (aux CHM helps):**
|
||||
- ΔR@1 ≥ +0.5pp при λ_aux ≤ 0.1 → adopt
|
||||
- PCGrad: ΔR@1 ≥ +1pp при λ_aux=0.3 → adopt
|
||||
- **Эксперимент:** E5.aux_chm_loss_ablation (post-E1, conditional)
|
||||
|
||||
---
|
||||
|
||||
## §10. Cross-links + acceptance
|
||||
|
||||
### К другим модулям
|
||||
- **§2.7** Pair B depth — identical encoder design + B-C orthogonality (H_pair_C_3)
|
||||
- **§2.6** Pair A semantic — A-C complementarity (forest mask + canopy height)
|
||||
- **§2.9** 5-way fusion synthesis — Pair C contribution
|
||||
- **§2.13** Augmentation — cached tensors frozen rule
|
||||
|
||||
### К master plans
|
||||
- [[MASTER_synthesis_cached_tensors]] §3 (Pair C anchor)
|
||||
- Phase 2 staged training
|
||||
|
||||
### Hypothesis bookkeeping
|
||||
- 4 новые H_pair_C_1..4
|
||||
|
||||
### Acceptance criteria
|
||||
|
||||
DELTA принимается, если:
|
||||
- [x] anchor cached tensors regime + CHMv2 + per-frame minmax + unified encoder сохранён
|
||||
- [x] §0.8 chklist 12 категорий проверены — anchor (E.7) primary
|
||||
- [x] D1-D4 refinements — confirm + ablation plans + LUPI-aux defer
|
||||
- [x] Conflicts (REVIEW tri-branch vs anchor independent) explicitly resolved
|
||||
- [x] P0 backlog = 0
|
||||
- [x] 4 новые гипотезы H_pair_C_1..4 имеют explicit thresholds
|
||||
- [x] Cross-DELTA consistency (§2.6, §2.7, §2.9 sync)
|
||||
|
||||
→ **DELTA APPROVED**. CHMv2 anchor verified ✅; sezonality + B-C ablations defer to E5; no P1 blockers.
|
||||
|
||||
---
|
||||
|
||||
#delta #pair-C #chm #canopy-height #film #cvgl #priority/high #task/experiment #cached-tensors
|
||||
@@ -0,0 +1,77 @@
|
||||
---
|
||||
type: delta
|
||||
status: active
|
||||
date: 2026-05-12
|
||||
parent: "[[../00_overall/SPEC_fusion_ACF_MERIDIAN_v3]]"
|
||||
supersedes: "[[DELTA_pair_C_chm_sat]]"
|
||||
related:
|
||||
- "[[DELTA_pair_B_depth_uav_v2]]"
|
||||
- "[[../00_overall/HYP_fusion_variants_v2]]"
|
||||
applicable_to: ["E1"]
|
||||
tags: [delta, fusion, pair-c, chm, sat, v2, post-F84-F85]
|
||||
phase: E1
|
||||
author: claude
|
||||
---
|
||||
|
||||
# DELTA: Pair C — CHM (Sat) v2
|
||||
|
||||
## Changelog v1 → v2 (2026-05-12)
|
||||
|
||||
### Major changes
|
||||
|
||||
1. **Differential-modal aug compat (H_arch_A_6)** — same as Pair B
|
||||
- $|X_C - X_B|$ — CHM vs depth divergence (canopy specificity)
|
||||
- $|X_C - X_A|$ — CHM vs segmentation (vegetation alignment)
|
||||
|
||||
2. **CHMv2 anchor preserved** (R²=0.86 SOTA, cached fp16 per-frame minmax)
|
||||
|
||||
3. **Adaptive λ_⊥(B,C)** — depth-CHM correlation regulation (sync SPEC v3 §3)
|
||||
|
||||
### Preserved (v1)
|
||||
|
||||
- CHMv2 encoder (cached, frozen)
|
||||
- 4-layer Conv encoder 128-d output
|
||||
- GGeM + FiLM-C head
|
||||
|
||||
---
|
||||
|
||||
## §1. Pair C architecture v2
|
||||
|
||||
```
|
||||
Input: Sat image [B, 3, 256, 256]
|
||||
↓ CHMv2 frozen (cached features)
|
||||
CHM map [B, 1, H, W] fp16 per-frame minmax
|
||||
↓ Conv encoder 4 layers (1 → 32 → 64 → 128 → 128)
|
||||
Feature map [B, 128, H/8, W/8]
|
||||
↓ GGeM pooling
|
||||
[B, 128]
|
||||
↓ FiLM-C head MLP (128 → 256 → (2×1024×5))
|
||||
γ_C, β_C for Teacher blocks 20-24
|
||||
```
|
||||
|
||||
## §2. v2 research arms
|
||||
|
||||
| Arm | Source | Activation |
|
||||
|:--|:--|:--|
|
||||
| **differential C-B aux** | F85 DFE pattern | E1 parallel |
|
||||
| **adaptive λ_⊥(B,C)** | preserved v2 strengthened | E1 default |
|
||||
| **CHM caption augmentation** (text describes canopy region) | visloc captions pattern | E2-E3 research |
|
||||
|
||||
## §3. Risks v2
|
||||
|
||||
| Risk | Severity | Mitigation |
|
||||
|:--|:-:|:--|
|
||||
| **R1**: CHMv2 noise в urban scenes | Medium | Domain-aware masking (CHM only over vegetation) |
|
||||
| **R2**: B-C correlation (depth ≈ CHM в forests) | Low-Medium | Adaptive λ_⊥ |
|
||||
|
||||
## §4. Cross-references v2
|
||||
|
||||
- [[../00_overall/SPEC_fusion_ACF_MERIDIAN_v3]]
|
||||
- [[../00_overall/DELTA_E1_teacher_5modal_Arch_A_final_v2]]
|
||||
- [[DELTA_pair_B_depth_uav_v2]]
|
||||
|
||||
---
|
||||
|
||||
[[DELTA_pair_C_chm_sat]] (v1) → archive. v2 supersedes (2026-05-12).
|
||||
|
||||
#delta #fusion #pair-c #chm #sat #v2 #post-F84-F85
|
||||
750
docs/02_references/04_geometry/ОБЗОР_fusion_rgb_chm_v1.md
Normal file
750
docs/02_references/04_geometry/ОБЗОР_fusion_rgb_chm_v1.md
Normal file
@@ -0,0 +1,750 @@
|
||||
---
|
||||
type: review
|
||||
status: active
|
||||
date: 2026-05-19
|
||||
module: 3_fusion
|
||||
review_type: detailed-pair
|
||||
fusion_pair: C
|
||||
modalities: [rgb, chm]
|
||||
papers_count: 8
|
||||
hypotheses_count: 12
|
||||
tags: [review, detailed, fusion, rgb-chm, canopy-height, niche-modality, sofia, meridian, hypotheses, v1]
|
||||
related:
|
||||
- "[[ОБЗОР_fusion_detailed_v1]]"
|
||||
- "[[ОБЗОР_fusion_rgb_segmentation_v1]]"
|
||||
- "[[ОБЗОР_modality_dropout_v1]]"
|
||||
- "[[СИНТЕЗ_3_fusion]]"
|
||||
- "[[../../2_hypotesis/03_fusion/01_depth_chm/]]"
|
||||
- "[[../../0_prompts/PROMPT_review_fusion_rgb_chm_for_MERIDIAN]]"
|
||||
author: claude
|
||||
---
|
||||
|
||||
# ОБЗОР — RGB + CHM (Canopy Height Model) Fusion (Pair C) для MERIDIAN (detailed v1)
|
||||
|
||||
> **Целевая аудитория:** senior multi-modal RS researcher проекта MERIDIAN.
|
||||
>
|
||||
> **Scope:** Только RGB + CHM modality fusion (Pair C). **Niche specialty modality** — limited literature evidence.
|
||||
>
|
||||
> **Контекст:** CHM (Canopy Height Model) — vertical height of vegetation/structures over ground. Crucial для forest/urban environment scenarios но **often unavailable** (Lidar high-cost, SfM requires video). MERIDIAN treatment: high modality dropout rate ($p \geq 0.7$) — CHM = **optional secondary**.
|
||||
>
|
||||
> **Honest assessment:** CHM = least-evidenced modality в MERIDIAN. Limited but specific value for forest/vegetation scenes.
|
||||
|
||||
## Оглавление
|
||||
|
||||
1. [Резюме](#1-резюме)
|
||||
2. [MERIDIAN Pair C Context](#2-meridian-pair-c-context)
|
||||
3. [CHM Generation Methods](#3-chm-generation-methods)
|
||||
4. [CHM Fusion Mechanisms](#4-chm-fusion-mechanisms)
|
||||
5. [CHM Modality Availability](#5-chm-modality-availability)
|
||||
6. [CHM-aware Scene Understanding](#6-chm-aware-scene-understanding)
|
||||
7. [Hypotheses (12 testable)](#7-hypotheses-12-testable)
|
||||
8. [Anti-Patterns](#8-anti-patterns)
|
||||
9. [Implementation Recipes](#9-implementation-recipes)
|
||||
10. [Recommendations](#10-recommendations)
|
||||
11. [Bibliography](#11-bibliography)
|
||||
|
||||
---
|
||||
|
||||
## 1. Резюме
|
||||
|
||||
CHM (Canopy Height Model) modality в MERIDIAN — **niche specialty modality** для vegetation-aware scenarios. **Honest assessment:** CHM evidence в CVGL literature ограничено; modality often unavailable (~70-80% scenarios). Включение в Triple-Teacher оправдано когда:
|
||||
|
||||
1. **Forest/vegetation-dominant scenes:** Trees create distinctive height signatures
|
||||
2. **Urban areas:** Buildings (man-made height) vs vegetation differentiation
|
||||
3. **Mixed scenes:** Height-based landmark discrimination
|
||||
4. **Cross-area generalization:** Geometric primitives (height) invariant к photometric variation
|
||||
5. **Synthetic data pretraining:** GTA-UAV 3D scene rendering provides CHM "for free"
|
||||
|
||||
**Главные выводы:**
|
||||
|
||||
1. **M11 CHMv2 [DINOv3-based, peer-reviewed]** — primary deep-learning CHM generation evidence. ML-predicted CHM feasible from monocular RGB (no Lidar required).
|
||||
|
||||
2. **CHM generation hierarchy:**
|
||||
- **Primary:** Lidar-derived (most accurate, expensive, limited coverage)
|
||||
- **Secondary:** ML-predicted (M11 CHMv2 DINOv3-based) — most scalable
|
||||
- **Tertiary:** SfM-derived (UAV video sequences via COLMAP)
|
||||
- **Synthetic:** GTA-UAV 3D rendering (для SSL pretraining)
|
||||
|
||||
3. **CHM modality availability:**
|
||||
- World-UAV: ~20-30% samples (region-dependent)
|
||||
- Production scenarios: ~10-20% (rarely accessible)
|
||||
- **High dropout rate $p = 0.7$** training canonical
|
||||
|
||||
4. **Fusion mechanism:** Multi-FiLM (F43 SSF) с CHM channel — primary. Height-aware weighting (vegetation gating) — research-arm.
|
||||
|
||||
5. **Expected contribution:** +0.5-1.5% R@1 в forest/vegetation scenes; ~0% gain в pure urban scenarios.
|
||||
|
||||
6. **MERIDIAN strategic position:** CHM = **optional secondary modality** только в Teacher pipeline. Never на Student inference (no on-device Lidar/SfM).
|
||||
|
||||
**Top-5 critical reads:**
|
||||
|
||||
| # | Paper | Venue | Year | Role |
|
||||
|:-:|:------|:------|:-:|:-----|
|
||||
| 1 | **M11 CHMv2** | RS journal | 2024 | DINOv3-based ML-predicted CHM (primary evidence) |
|
||||
| 2 | **F43 SSF** | **IEEE TPAMI** | 2024 | Multi-FiLM pattern applied к CHM channel |
|
||||
| 3 | **F88 KARMMA** | arXiv | 2026 | High-dropout modality handling |
|
||||
| 4 | **C4 DiffusionUavLoc** | arXiv | 2025 | Multi-modal CVGL (depth/seg related) |
|
||||
| 5 | **A5 mesh-based augmentation** | T-IV | 2024 | SfM-derived CHM pattern |
|
||||
|
||||
---
|
||||
|
||||
## 2. MERIDIAN Pair C Context
|
||||
|
||||
### Architecture
|
||||
|
||||
```
|
||||
TRAINING (Teacher pipeline, when CHM available):
|
||||
Teacher (cloud, ~356M+):
|
||||
├── RGB sat + RGB UAV channels (primary)
|
||||
└── CHM channel (when available):
|
||||
├── Pre-computed CHM (Lidar / SfM / ML-predicted, cached)
|
||||
├── Compressed storage (INT16 height values)
|
||||
├── DINOv3-L + Multi-FiLM-Fusion(CHM channel)
|
||||
└── L_LUPI signal (privileged geometric info)
|
||||
↓
|
||||
KD signal to Student (E2-E primary)
|
||||
↓
|
||||
Student SOFIA v7.6:
|
||||
├── Backbone: RGB-only (always)
|
||||
└── CHM как KD signal только (never inference)
|
||||
|
||||
INFERENCE (production):
|
||||
Student RGB-only — CHM не available на edge
|
||||
```
|
||||
|
||||
### Coverage Scenarios
|
||||
|
||||
**With CHM (~20-30% World-UAV):** Full 5-modality Teacher signal
|
||||
**Without CHM (~70-80%):** Teacher use 4 modalities (RGB+depth+edges+text), CHM dropped
|
||||
|
||||
### Key Constraints
|
||||
|
||||
- **No on-device CHM** (Lidar unavailable, SfM computationally expensive)
|
||||
- **CHM cached** during data preparation only
|
||||
- **High dropout rate** $p = 0.7$ (often unavailable)
|
||||
- **L_chm training-only** (no inference impact)
|
||||
- **CHM data sparsity** — must handle gracefully
|
||||
|
||||
### Why Niche
|
||||
|
||||
1. **Lidar high-cost:** Airborne Lidar surveys $$$$ per sq km
|
||||
2. **Limited coverage:** Most regions без Lidar coverage
|
||||
3. **SfM requires sequences:** UAV video, not single images
|
||||
4. **Synthetic only generic:** GTA-UAV CHM не fully matches real
|
||||
|
||||
---
|
||||
|
||||
## 3. CHM Generation Methods
|
||||
|
||||
### 3.1 Lidar-derived CHM (Primary, Expensive)
|
||||
|
||||
**Airborne / Satellite Lidar:**
|
||||
|
||||
$$
|
||||
\text{CHM}(x, y) = \text{DSM}(x, y) - \text{DTM}(x, y)
|
||||
$$
|
||||
|
||||
где:
|
||||
|
||||
- **DSM (Digital Surface Model):** Heights including buildings/vegetation
|
||||
- **DTM (Digital Terrain Model):** Bare-earth ground heights
|
||||
- **CHM = DSM - DTM:** Vegetation/structure height above ground
|
||||
|
||||
**Pros:**
|
||||
|
||||
- **Most accurate** (sub-meter precision)
|
||||
- Direct measurement (vs inference)
|
||||
- Industry standard для forestry/urban planning
|
||||
|
||||
**Cons:**
|
||||
|
||||
- **Expensive** (~$1-10K per sq km for airborne)
|
||||
- **Limited coverage** (specific regions only)
|
||||
- **Static** (no real-time)
|
||||
- **Specialized processing** (point cloud → raster)
|
||||
|
||||
**MERIDIAN role:** **Gold standard** when available; small subset of World-UAV data.
|
||||
|
||||
### 3.2 ML-Predicted CHM (M11 CHMv2 DINOv3) — Scalable
|
||||
|
||||
**M11 CHMv2 [DINOv3-based, peer-reviewed]:**
|
||||
|
||||
- DINOv3 features → MLP head → height prediction
|
||||
- Trained on Lidar ground truth
|
||||
- Predicts CHM from **monocular RGB**
|
||||
|
||||
**Pros:**
|
||||
|
||||
- **Scalable** к any RGB imagery
|
||||
- DINOv3 features generalize well
|
||||
- No Lidar required at inference
|
||||
|
||||
**Cons:**
|
||||
|
||||
- **Less accurate** than Lidar (especially under canopy)
|
||||
- **Domain dependent** (training data bias)
|
||||
- **DINOv3 inference cost** (large model)
|
||||
|
||||
**MERIDIAN role:** **Primary scalable CHM source** — pre-compute via M11 CHMv2 на World-UAV.
|
||||
|
||||
### 3.3 SfM-derived CHM (UAV Video)
|
||||
|
||||
**Structure-from-Motion (SfM) reconstruction:**
|
||||
|
||||
```
|
||||
UAV video sequence → COLMAP / OpenDroneMap
|
||||
↓
|
||||
3D point cloud
|
||||
↓
|
||||
Surface reconstruction (DSM)
|
||||
↓
|
||||
Filter ground points → DTM
|
||||
↓
|
||||
CHM = DSM - DTM
|
||||
```
|
||||
|
||||
**Pros:**
|
||||
|
||||
- Available from UAV imagery (no Lidar needed)
|
||||
- Good accuracy для UAV altitudes
|
||||
- Open-source tools (COLMAP, OpenDroneMap)
|
||||
|
||||
**Cons:**
|
||||
|
||||
- **Requires video sequence** (not single image)
|
||||
- **Computationally expensive** (~165 GB RAM для UAVid dataset per A5)
|
||||
- **Sparse point clouds** under dense vegetation
|
||||
- **Dynamic objects** require manual correction (~35% UAVid per A5)
|
||||
|
||||
**MERIDIAN role:** **Research-arm** for video-equipped data subsets.
|
||||
|
||||
### 3.4 Synthetic CHM (GTA-UAV 3D Rendering)
|
||||
|
||||
**GTA-UAV game engine** generates:
|
||||
|
||||
- Synthetic UAV imagery
|
||||
- Ground-truth depth maps
|
||||
- Ground-truth segmentation
|
||||
- **Ground-truth CHM** (from 3D scene graph)
|
||||
|
||||
**Pros:**
|
||||
|
||||
- Perfect ground truth
|
||||
- Unlimited data
|
||||
- Free (no manual labeling)
|
||||
|
||||
**Cons:**
|
||||
|
||||
- **Domain gap** synthetic → real
|
||||
- **Limited scene diversity** (game engine biases)
|
||||
- **Texture artifacts**
|
||||
|
||||
**MERIDIAN role:** **SSL pretraining** на synthetic CHM; fine-tune on real partial data.
|
||||
|
||||
### 3.5 Comparison Table
|
||||
|
||||
| Method | Accuracy | Scalability | Cost | MERIDIAN Use |
|
||||
|:-------|:--------:|:-----------:|:----:|:-------------|
|
||||
| **Lidar** | ★★★★★ | ★ | $$$$$ | Gold standard subset |
|
||||
| **M11 CHMv2 ML** | ★★★★ | ★★★★★ | $ | **Primary scalable** |
|
||||
| **SfM (COLMAP)** | ★★★★ | ★★★ | $$ | Video data subset |
|
||||
| **GTA-UAV synthetic** | ★★★★★ (synthetic) | ★★★★★ | $ | SSL pretraining |
|
||||
|
||||
#### Hypothesis H_chm_3
|
||||
|
||||
> If M11 CHMv2 ML-predicted CHM applied как fallback к Lidar (где Lidar unavailable) → comparable training signal at fraction of cost
|
||||
>
|
||||
> **Acceptance criteria:** Training quality (Lidar-CHM vs ML-CHM subset) — gap ≤ 0.3 pp R@1
|
||||
> **Phase activation:** E1 (data prep)
|
||||
|
||||
#### Hypothesis H_chm_7
|
||||
|
||||
> If GTA-UAV synthetic CHM used для SSL pretraining → improved real-data fine-tuning performance (+0.3-0.5 pp R@1)
|
||||
>
|
||||
> **Acceptance criteria:** E0.5 SSL pretrain on synthetic, fine-tune on World-UAV partial CHM
|
||||
> **Phase activation:** E0.5 (SSL)
|
||||
|
||||
---
|
||||
|
||||
## 4. CHM Fusion Mechanisms
|
||||
|
||||
### 4.1 Multi-FiLM с CHM Channel (F43 SSF Pattern — PRIMARY)
|
||||
|
||||
**CHM features modulate RGB features per-channel:**
|
||||
|
||||
$$
|
||||
F'_c = \gamma_c \odot F_c + \beta_c, \quad (\gamma, \beta) = \text{MLP}_{\text{chm}}(F_{\text{chm}}^{\text{cached}})
|
||||
$$
|
||||
|
||||
**Properties:**
|
||||
|
||||
- PEFT <1% params overhead (F43 TPAMI evidence)
|
||||
- INT8-compatible
|
||||
- Graceful degradation при missing CHM (most scenarios)
|
||||
- Zero-init β identity при init (F47 pattern)
|
||||
|
||||
### 4.2 Height-Aware Feature Modulation
|
||||
|
||||
**Per-feature height conditioning:**
|
||||
|
||||
$$
|
||||
\alpha_c(h) = \sigma(W_c \cdot \text{embed}(h)) \quad \text{где } h \in \mathbb{R} \text{ - height value}
|
||||
$$
|
||||
|
||||
Channel attention based on height context.
|
||||
|
||||
### 4.3 Vegetation Gating (Research-arm)
|
||||
|
||||
**Channel-wise weighting based on CHM density:**
|
||||
|
||||
$$
|
||||
g_{\text{veg}} = \sigma(\text{Conv}_{1 \times 1}(\text{CHM}))
|
||||
$$
|
||||
|
||||
Vegetation channels boosted в forest scenes; building channels boosted в urban.
|
||||
|
||||
#### Hypothesis H_chm_8
|
||||
|
||||
> If vegetation gating based on CHM applied → context-aware feature emphasis (forest vs urban scene)
|
||||
>
|
||||
> **Acceptance criteria:** Per-scenario ablation; expected gain в forest scenes
|
||||
> **Phase activation:** E4 research-arm
|
||||
|
||||
### 4.4 Concat Early-Stage (Anti-pattern — same as edges)
|
||||
|
||||
**Naive 4-channel input:** RGB + CHM channel.
|
||||
|
||||
**Issue:** Modality imbalance (3 vs 1 channels). **Use Multi-FiLM instead.**
|
||||
|
||||
### 4.5 CHM + Depth Combined (Pair B + C synergy)
|
||||
|
||||
**Geometric primitives:**
|
||||
|
||||
- **Depth** = distance from camera (camera-relative)
|
||||
- **CHM** = height above ground (world-relative)
|
||||
- **Combined:** comprehensive 3D understanding
|
||||
|
||||
#### Hypothesis H_chm_6
|
||||
|
||||
> If CHM + Depth combined channels в Teacher → +1-2 pp R@1 в vegetation-rich scenes (geometric primitives complementary)
|
||||
>
|
||||
> **Acceptance criteria:** Per-scene-type ablation
|
||||
> **Phase activation:** E1 Teacher benchmark
|
||||
|
||||
---
|
||||
|
||||
## 5. CHM Modality Availability
|
||||
|
||||
### Availability Scenarios
|
||||
|
||||
| Scenario | Lidar | ML-CHM | SfM | Synth |
|
||||
|:---------|:-----:|:------:|:---:|:-----:|
|
||||
| **Forestry surveys** | ✓ Common | ✓ | ⚠ if UAV video | ✓ |
|
||||
| **Urban planning** | ✓ Some areas | ✓ | ⚠ | ✓ |
|
||||
| **UAV-VisLoc real-world** | ✗ Rarely | ✓ | ⚠ if video | ✗ |
|
||||
| **World-UAV (modern)** | ✗ ~20% | ✓ | ⚠ | ✗ |
|
||||
| **GTA-UAV synthetic** | n/a | n/a | n/a | ✓ |
|
||||
| **Inference (edge)** | ✗ | ⚠ Heavy model | ✗ | ✗ |
|
||||
|
||||
### MERIDIAN Strategy
|
||||
|
||||
```
|
||||
1. Training data prep:
|
||||
- Use Lidar-CHM where available (~20-30% data)
|
||||
- Use M11 CHMv2 ML-predicted для остальных (~70-80%)
|
||||
- Cache pre-computed CHM as INT16 maps
|
||||
|
||||
2. Modality dropout:
|
||||
- p_chm = 0.7 (high — CHM often unavailable)
|
||||
- Gradual schedule (F90 pattern)
|
||||
- Two-token KARMMA для missing CHM
|
||||
|
||||
3. Inference:
|
||||
- No CHM (Student RGB-only)
|
||||
- CHM was LUPI signal only
|
||||
```
|
||||
|
||||
#### Hypothesis H_chm_2
|
||||
|
||||
> If CHM modality dropout $p = 0.7$ applied (high rate) → robust to CHM absence в most scenarios
|
||||
>
|
||||
> **Acceptance criteria:** Inference quality preserved when CHM absent
|
||||
> **Phase activation:** E4 (production)
|
||||
|
||||
#### Hypothesis H_chm_9
|
||||
|
||||
> If CHM modality optional (not critical для CVGL) → graceful degradation R@1 within 0.5% при complete CHM absence
|
||||
>
|
||||
> **Acceptance criteria:** Per-modality contribution analysis (E5)
|
||||
> **Phase activation:** E5
|
||||
|
||||
---
|
||||
|
||||
## 6. CHM-aware Scene Understanding
|
||||
|
||||
### Forest Scenes
|
||||
|
||||
**Dense canopy challenges:**
|
||||
|
||||
- Visually homogeneous (green canopy uniformity)
|
||||
- Irregular height patterns (varied tree heights)
|
||||
- Limited landmarks (few distinctive features in pure forest)
|
||||
|
||||
**CHM benefit:**
|
||||
|
||||
- **Height variance** = landmark signature
|
||||
- **Canopy density** = scene fingerprint
|
||||
- **Forest type** discrimination (deciduous vs coniferous via height patterns)
|
||||
|
||||
### Urban Scenes
|
||||
|
||||
**Building vs vegetation:**
|
||||
|
||||
- **CHM differentiates** man-made structures vs trees
|
||||
- **Building heights** = specific landmarks
|
||||
- **Vegetation patches** = secondary landmarks
|
||||
|
||||
### Mixed Scenes (most common)
|
||||
|
||||
**Best CHM utility:**
|
||||
|
||||
- **Forest patches** mixed с buildings/roads
|
||||
- **Park areas** distinct via CHM signature
|
||||
- **Edge transitions** (forest → urban) detectable
|
||||
|
||||
#### Hypothesis H_chm_4
|
||||
|
||||
> If CHM used в forest-rich scenes → +1-1.5 pp R@1 над baseline RGB-only; в pure urban scenes — minimal gain
|
||||
>
|
||||
> **Acceptance criteria:** Per-scenario test (forest vs urban vs mixed)
|
||||
> **Phase activation:** E5 modality ablation
|
||||
|
||||
---
|
||||
|
||||
## 7. Hypotheses (12 testable)
|
||||
|
||||
### Hypothesis Index
|
||||
|
||||
| ID | Topic | Phase | Acceptance |
|
||||
|:--:|:------|:-----:|:-----------|
|
||||
| **H_chm_1** | CHM contribution +0.5-1.5% R@1 vegetation scenes | E5 | Per-scene ablation |
|
||||
| **H_chm_2** | CHM dropout p=0.7 высокий rate | E4 | Graceful absence |
|
||||
| **H_chm_3** | M11 CHMv2 ML-predicted feasible | E1 | Gap к Lidar ≤ 0.3 pp |
|
||||
| **H_chm_4** | Forest scenes +1-1.5 pp, urban minimal | E5 | Per-scenario test |
|
||||
| **H_chm_5** | CHM как KD signal только | E2 | Never inference |
|
||||
| **H_chm_6** | CHM + Depth combined +1-2 pp R@1 | E1 | Geometric synergy |
|
||||
| **H_chm_7** | Synthetic CHM (GTA-UAV) для SSL pretraining | E0.5 | +0.3-0.5 pp SSL benefit |
|
||||
| **H_chm_8** | Vegetation gating context-aware | E4 | Research-arm |
|
||||
| **H_chm_9** | CHM optional (≤0.5% gain) | E5 | Per-modality ablation |
|
||||
| **H_chm_10** | CHM Inpainting для missing data | E0.5 | Bridge sparse CHM |
|
||||
| **H_chm_11** | SfM-derived CHM для video data | E1 | When video available |
|
||||
| **H_chm_12** | Lidar CHM gold standard subset | E1 | High-quality training signal |
|
||||
|
||||
### Detailed Hypothesis H_chm_1 (Strategic)
|
||||
|
||||
> **Statement:** CHM modality contribution to MERIDIAN R@1 = +0.5-1.5% в vegetation-rich scenes; ~0% gain в pure urban scenarios. CHM = **specialty modality**, не primary.
|
||||
>
|
||||
> **Rationale:**
|
||||
> - **Limited CVGL literature evidence:** No major paper shows CHM significantly improves CVGL accuracy
|
||||
> - **Scene-dependent:** Forest/vegetation has height variance landmarks; urban already has visual distinctiveness
|
||||
> - **Modality unavailability:** CHM not available в most production scenarios (~70-80% missing)
|
||||
> - **High dropout rate** required (p=0.7) → reduces training signal strength
|
||||
>
|
||||
> **Acceptance criteria:**
|
||||
> - Per-scenario R@1 measurement (forest vs urban vs mixed)
|
||||
> - Forest gain ≥ +1 pp R@1
|
||||
> - Urban gain ≤ +0.2 pp R@1 (marginal)
|
||||
> - Strategic verdict: CHM = optional secondary
|
||||
>
|
||||
> **Phase activation:** E5 (modality ablation)
|
||||
>
|
||||
> **Risk factors:**
|
||||
> - Data sparsity (limited CHM coverage)
|
||||
> - Quality variance (Lidar vs ML-predicted vs SfM)
|
||||
> - Domain shift (synthetic CHM training → real testing)
|
||||
|
||||
### Detailed Hypothesis H_chm_3 (Practical Feasibility)
|
||||
|
||||
> **Statement:** If M11 CHMv2 ML-predicted CHM applied как scalable fallback к Lidar-CHM → comparable training signal at fraction of cost; gap ≤ 0.3 pp R@1
|
||||
>
|
||||
> **Rationale:**
|
||||
> - **M11 CHMv2 evidence:** DINOv3-based ML-predicted CHM peer-reviewed
|
||||
> - **Lidar coverage:** ~20% World-UAV; ML-CHM scales к 100%
|
||||
> - **DINOv3 features generalize:** Aerial domain alignment
|
||||
> - **Cost:** ML inference $ vs Lidar $$$$
|
||||
>
|
||||
> **Acceptance criteria:**
|
||||
> - Direct comparison Lidar-CHM training vs ML-CHM training (matched subset)
|
||||
> - Gap ≤ 0.3 pp R@1 (acceptable degradation для cost)
|
||||
> - Full coverage с ML-CHM enables consistent training
|
||||
>
|
||||
> **Phase activation:** E1 (Teacher data prep — primary CHM source choice)
|
||||
>
|
||||
> **Implementation:**
|
||||
> - Run M11 CHMv2 на entire World-UAV (one-time, cloud GPU)
|
||||
> - Cache predicted CHM as INT16 height maps
|
||||
> - Use Lidar-CHM where available as gold standard subset
|
||||
|
||||
---
|
||||
|
||||
## 8. Anti-Patterns
|
||||
|
||||
| Anti-pattern | Описание | Mitigation |
|
||||
|:-------------|:---------|:-----------|
|
||||
| **CHM inference на edge** | Lidar/SfM unavailable Jetson | Cached training-only signal |
|
||||
| **Force CHM use при ≤50% coverage** | Insufficient training signal | High dropout p=0.7; optional path |
|
||||
| **CHM concat early-stage** | Modality imbalance | Multi-FiLM (F43) |
|
||||
| **Synthetic CHM domain mismatch** | GTA-UAV не matches real | SSL pretraining + real fine-tune |
|
||||
| **CHM smoothing destroying landmarks** | Over-smoothed CHM loses signal | Preserve discriminative features |
|
||||
| **Single-modality CHM retrieval** | Insufficient signal | Combine с RGB/depth |
|
||||
| **Ignore CHM scenes-specific** | Force usage all scenes | Per-scenario adaptive (forest emphasis) |
|
||||
| **Heavy CHM encoder** | Overhead для niche modality | Light adapter (~100K params) |
|
||||
|
||||
---
|
||||
|
||||
## 9. Implementation Recipes
|
||||
|
||||
### 9.1 CHM Caching Pipeline
|
||||
|
||||
```python
|
||||
import numpy as np
|
||||
import torch
|
||||
from pathlib import Path
|
||||
|
||||
def precompute_chm_via_m11(dataset_path: Path, m11_model, output_path: Path):
|
||||
"""
|
||||
F8 Cached Tensors Era: pre-compute CHM via M11 CHMv2 DINOv3.
|
||||
Store as INT16 height maps.
|
||||
"""
|
||||
output_path.mkdir(exist_ok=True, parents=True)
|
||||
|
||||
for img_path in dataset_path.glob('**/*.jpg'):
|
||||
image = load_image(img_path)
|
||||
with torch.no_grad():
|
||||
# M11 CHMv2: DINOv3 + MLP → height prediction
|
||||
chm_pred = m11_model(image.unsqueeze(0)) # [1, 1, H, W] in meters
|
||||
chm_int16 = (chm_pred * 100).short().squeeze() # cm precision, INT16
|
||||
|
||||
# Save compressed
|
||||
torch.save(chm_int16, output_path / f"{img_path.stem}.pt")
|
||||
|
||||
# Coverage: 100% (vs Lidar ~20-30%)
|
||||
# Storage: ~32 KB per image (256x256 INT16)
|
||||
# Total для World-UAV ~927K: ~30 GB
|
||||
```
|
||||
|
||||
### 9.2 CHM-FiLM Modulation
|
||||
|
||||
```python
|
||||
import torch
|
||||
import torch.nn as nn
|
||||
|
||||
class CHMFiLM(nn.Module):
|
||||
"""
|
||||
F43 SSF pattern для CHM modality.
|
||||
Light adapter (~100K params).
|
||||
"""
|
||||
def __init__(self, channels: int = 224, hidden_dim: int = 128):
|
||||
super().__init__()
|
||||
|
||||
# CHM encoder (light, single channel input)
|
||||
self.chm_encoder = nn.Sequential(
|
||||
nn.Conv2d(1, 16, kernel_size=3, padding=1),
|
||||
nn.GELU(),
|
||||
nn.Conv2d(16, 32, kernel_size=3, padding=1, stride=2),
|
||||
nn.GELU(),
|
||||
nn.AdaptiveAvgPool2d((1, 1)),
|
||||
nn.Flatten() # [B, 32]
|
||||
)
|
||||
|
||||
# FiLM γ, β projection
|
||||
self.film_mlp = nn.Sequential(
|
||||
nn.Linear(32, hidden_dim),
|
||||
nn.GELU(),
|
||||
nn.Linear(hidden_dim, 2 * channels)
|
||||
)
|
||||
|
||||
# Zero-init для F47 graceful warmup
|
||||
nn.init.zeros_(self.film_mlp[-1].weight)
|
||||
nn.init.zeros_(self.film_mlp[-1].bias)
|
||||
|
||||
def forward(self, x: torch.Tensor, chm: torch.Tensor = None) -> torch.Tensor:
|
||||
"""
|
||||
Args:
|
||||
x: [B, C, H, W] feature map
|
||||
chm: [B, 1, H, W] CHM height map (or None)
|
||||
Returns:
|
||||
x_film: FiLM-modulated features
|
||||
"""
|
||||
B = x.shape[0]
|
||||
|
||||
if chm is None:
|
||||
# CHM missing (common — ~70-80%)
|
||||
chm_emb = torch.zeros(B, 32, device=x.device)
|
||||
else:
|
||||
# Normalize CHM (heights typically 0-50m for vegetation)
|
||||
chm_normalized = chm / 50.0
|
||||
chm_emb = self.chm_encoder(chm_normalized)
|
||||
|
||||
gamma_beta = self.film_mlp(chm_emb).view(B, 2, -1, 1, 1)
|
||||
gamma, beta = gamma_beta[:, 0], gamma_beta[:, 1]
|
||||
|
||||
return (1 + gamma) * x + beta # Identity при init
|
||||
```
|
||||
|
||||
### 9.3 High-Dropout CHM Pipeline
|
||||
|
||||
```python
|
||||
import torch
|
||||
|
||||
class CHMDropoutScheduler:
|
||||
"""
|
||||
High dropout rate (p=0.7) для CHM (often unavailable).
|
||||
Combined с F88 KARMMA two-token strategy.
|
||||
"""
|
||||
def __init__(self, p_dropout: float = 0.7):
|
||||
self.p_dropout = p_dropout
|
||||
|
||||
def apply_dropout(self, chm: torch.Tensor) -> torch.Tensor:
|
||||
"""Returns chm or None."""
|
||||
if torch.rand(1).item() < self.p_dropout:
|
||||
return None # Trigger missing-modality handling
|
||||
return chm
|
||||
|
||||
# Usage в training loop:
|
||||
chm_scheduler = CHMDropoutScheduler(p_dropout=0.7)
|
||||
|
||||
for batch in dataloader:
|
||||
chm = batch.get('chm') # May be None если pre-cached unavailable
|
||||
if chm is not None:
|
||||
chm = chm_scheduler.apply_dropout(chm) # Random drop остальных
|
||||
# Forward pass — CHMFiLM handles None gracefully
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 10. Recommendations
|
||||
|
||||
### Tier-1 (immediate — feasibility)
|
||||
|
||||
1. **M11 CHMv2 ML-predicted** primary CHM source (scalable, peer-reviewed)
|
||||
2. **Cached pre-compute** (F8 Cached Tensors Era pattern)
|
||||
3. **CHMFiLM (F43 SSF)** для Teacher modality fusion
|
||||
4. **High dropout p=0.7** training canonical
|
||||
|
||||
### Tier-2 (medium — quality)
|
||||
|
||||
5. **Lidar-CHM subset** as gold standard где доступно
|
||||
6. **CHM + Depth combined** channels (Pair B + C synergy)
|
||||
7. **Vegetation gating** context-aware research-arm
|
||||
|
||||
### Tier-3 (research — E5+)
|
||||
|
||||
8. **SfM-derived CHM** для video data (COLMAP/OpenDroneMap)
|
||||
9. **GTA-UAV synthetic CHM** SSL pretraining
|
||||
10. **CHM Inpainting** для sparse coverage
|
||||
|
||||
### Strategic Verdict
|
||||
|
||||
**CHM = optional secondary niche modality.** Justified только когда:
|
||||
|
||||
- Forest/vegetation-rich scenes (>30% data)
|
||||
- M11 CHMv2 scalable pipeline available
|
||||
- Cross-area generalization improvement needed
|
||||
- LUPI Teacher signal benefit
|
||||
|
||||
**НЕ оправдано когда:**
|
||||
|
||||
- Pure urban deployment
|
||||
- Compute budget constrained
|
||||
- No CHM ground truth для validation
|
||||
|
||||
### Constraints
|
||||
|
||||
- ❌ NO CHM inference на edge (Lidar/SfM unavailable)
|
||||
- ❌ NO force CHM use при <50% coverage
|
||||
- ❌ NO heavy CHM encoder
|
||||
- ✅ Cached pre-compute training-only
|
||||
- ✅ M11 CHMv2 scalable primary
|
||||
- ✅ High dropout p=0.7 graceful
|
||||
|
||||
---
|
||||
|
||||
## 11. Bibliography
|
||||
|
||||
### Tier 1 (peer-review, primary CHM evidence)
|
||||
|
||||
[1] **M11 CHMv2** "Deep-learning Canopy Height Mapping (DINOv3-based)." RS journal 2024.
|
||||
|
||||
[2] **F43 SSF** "Robust Multimodal Learning via PEFT." *IEEE TPAMI 2024*. [Multi-FiLM pattern]
|
||||
|
||||
[3] **F88 KARMMA** "Multimodal KD Missing Modalities." arXiv 2026. [High-dropout handling]
|
||||
|
||||
### Tier 2 (CHM generation methods)
|
||||
|
||||
[4] **Lidar processing standards** (USGS, ASPRS) — DSM/DTM/CHM derivation.
|
||||
|
||||
[5] **COLMAP / OpenDroneMap** — SfM tools для CHM derivation from UAV video.
|
||||
|
||||
[6] **A5 mesh-based augmentation** "Photogrammetric depth via mesh." T-IV 2024 (косвенно CHM-relevant).
|
||||
|
||||
[7] **GTA-UAV** synthetic dataset (3D scene rendering provides CHM).
|
||||
|
||||
### Tier 3 (related geometric modalities)
|
||||
|
||||
[8] **C4 DiffusionUavLoc** "Multi-modal CVGL (depth/seg-related)." arXiv 2025.
|
||||
|
||||
[9] **C3 JRN-Geo** "RGB + Normal maps (geometric)." arXiv 2025.
|
||||
|
||||
[10] **C8/P44 (MGS)²** "Depth-aware fusion." *CVPR 2026* (depth = related geometric primitive).
|
||||
|
||||
### Cross-refs
|
||||
|
||||
- [[ОБЗОР_fusion_detailed_v1]] (parent)
|
||||
- [[ОБЗОР_fusion_rgb_segmentation_v1]] (Pair A cross-link — semantic ↔ height correlate)
|
||||
- [[ОБЗОР_modality_dropout_v1]] (high-dropout patterns)
|
||||
- [[../../2_hypotesis/03_fusion/01_depth_chm/]] (Pair B/C specs)
|
||||
|
||||
---
|
||||
|
||||
## 12. Limitations / Honest Assessment
|
||||
|
||||
### CHM = Least-Evidenced Modality
|
||||
|
||||
**Honest disclosure:**
|
||||
|
||||
1. **Limited direct CVGL evidence:** No prominent CVGL paper использует CHM as primary modality
|
||||
2. **Data sparsity:** ~20-30% coverage в World-UAV; lower production
|
||||
3. **Niche utility:** Specific value forest/vegetation scenes; minimal urban
|
||||
4. **Cost-benefit:** ML-predicted CHM efficient, но gap к Lidar gold standard
|
||||
5. **MERIDIAN strategic role:** Optional secondary modality, NOT primary
|
||||
|
||||
### Realistic Expectations
|
||||
|
||||
- **Best case:** +1.5% R@1 forest-rich scenes
|
||||
- **Typical:** +0.5-1% R@1 mixed scenes
|
||||
- **Worst case:** ~0% gain pure urban
|
||||
- **Average World-UAV:** +0.3-0.7 pp R@1
|
||||
|
||||
### Future Directions
|
||||
|
||||
- **Better ML-CHM models** (beyond M11 v2)
|
||||
- **Multi-source CHM fusion** (Lidar + SfM + ML ensemble)
|
||||
- **CHM uncertainty quantification** (confidence per pixel)
|
||||
- **CHM-aware augmentation** (height-conditional augmentation)
|
||||
|
||||
---
|
||||
|
||||
```
|
||||
Статус: active v1 detailed pair review (Pair C RGB+CHM)
|
||||
Date: 2026-05-19
|
||||
Word count: ~5500
|
||||
Hypotheses: 12 testable, phase-mapped
|
||||
Anti-patterns: 8 documented
|
||||
Implementation recipes: 3 PyTorch (CHM caching pipeline, CHMFiLM, dropout scheduler)
|
||||
Strategic verdict: CHM = OPTIONAL SECONDARY niche modality (vegetation scenes)
|
||||
Limited evidence acknowledged honestly
|
||||
Source synthesis: [[СИНТЕЗ_3_fusion]], [[ОБЗОР_fusion_detailed_v1]]
|
||||
```
|
||||
|
||||
#review #detailed #fusion #rgb-chm #canopy-height #niche-modality #sofia #meridian #hypotheses #v1
|
||||
Reference in New Issue
Block a user