Initial commit — scientific-viz skill

Claude Code skill for publication-quality scientific visualisations:
chart, architecture, flowchart, comparison, pipeline. Bundles matplotlib
publication defaults (300 DPI, serif font, colorblind palette), NADEZHDA
project palette, Mermaid conventions, and ready-to-use templates.

Contents:
- SKILL.md                              — behaviour spec (5 types, generation pipeline)
- README.md                             — human-facing entry: when, install, examples
- reference/chart_patterns.md           — Pareto/bar/radar/heatmap snippets
- templates/architecture_nadezhda.md    — Mermaid templates for Teacher-Student / LUPI / fusion

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-05-04 11:13:08 +03:00
commit a243601523
5 changed files with 703 additions and 0 deletions

View File

@@ -0,0 +1,115 @@
# Шаблоны архитектурных диаграмм NADEZHDA
## Mermaid: Полная система Teacher-Student
````markdown
```mermaid
graph TB
subgraph Training ["ОБУЧЕНИЕ (5 модальностей, облако)"]
direction TB
SAT_T[🛰 Satellite RGB] --> DINO[DINOv3-L<br/>~300M frozen, patch 16, RegTokens]
DRONE_T[🚁 Drone RGB] --> DINO
SV[📷 Street-View] --> DINO
DEPTH[🗺 Depth Map<br/>DA V2] --> DINO
TEXT[📝 Text<br/>MobileCLIP2] --> FILM[Multi-FiLM<br/>γ·F + β]
FILM --> DINO
DINO --> TFEAT[Teacher Features]
TFEAT --> TDESC[Teacher Descriptor<br/>512-dim, L2-norm]
TFEAT --> TSEG[OV-Seg Head]
end
subgraph Inference ["ИНФЕРЕНС (2 модальности, Jetson)"]
direction TB
SAT_S[🛰 Satellite RGB] --> FVIT[FastViT-T12<br/>8.5M, weight-shared]
DRONE_S[🚁 Drone RGB] --> FVIT
FVIT --> SFEAT[Student Features]
SFEAT --> CVD[CVD Split]
CVD --> SDESC[Student Descriptor<br/>512-dim, L2-norm]
end
TDESC -.->|L_LUPI: MSE| SDESC
TFEAT -.->|L_feat: Conv1×1| SFEAT
TDESC -.->|L_RKD: relational| SDESC
TSEG -.->|L_seg: CE+KL| SFEAT
style Training fill:#e8eaf6,stroke:#283593
style Inference fill:#fff8e1,stroke:#f57f17
```
````
## Mermaid: Progressive Loss Staging
````markdown
```mermaid
gantt
title Progressive Loss Staging (60 epochs)
dateFormat X
axisFormat %s
section Losses
L_task (InfoNCE) :active, 0, 60
L_feat (alignment) :crit, 10, 60
L_CRD (contrastive repr.) :crit, 10, 60
L_LUPI (privileged MSE) :done, 20, 60
L_RKD (relational) :done, 20, 60
L_seg (segmentation) :done, 20, 60
L_CVD (disentanglement) :done, 20, 60
section Phases
Warmup (L_task only) :milestone, 0, 10
Ramp-up (+L_feat, L_CRD) :milestone, 10, 20
Full (all 7 losses) :milestone, 20, 60
```
````
## Mermaid: Student Backbone Stages
````markdown
```mermaid
graph LR
IN["Input<br/>[B,3,256,256]"] --> S1["Stage 1<br/>[B,32,96,96]"]
S1 --> S2["Stage 2<br/>[B,64,48,48]"]
S2 --> BRIDGE["Conv1×1<br/>Bridge"]
BRIDGE --> S3["Stage 3<br/>[B,128,24,24]"]
S3 --> S4["Stage 4<br/>[B,256,12,12]"]
S4 --> POOL["GGeM Pool"]
POOL --> DESC["Descriptor<br/>[B,512]"]
S1 ~~~ NOTE1["SOFIA<br/>(DCN blocks)"]
S3 ~~~ NOTE2["MambaVision<br/>(SSM+ViT)"]
style S1 fill:#fff3e0,stroke:#e65100
style S2 fill:#fff3e0,stroke:#e65100
style S3 fill:#e3f2fd,stroke:#1565c0
style S4 fill:#e3f2fd,stroke:#1565c0
style NOTE1 fill:#fff3e0,stroke:none,color:#e65100
style NOTE2 fill:#e3f2fd,stroke:none,color:#1565c0
```
````
## Mermaid: Data Augmentation Pipeline
````markdown
```mermaid
graph LR
RAW[Raw RGB<br/>512×512] --> RESIZE[Resize<br/>256×256]
RESIZE --> DA["Depth Anything V2<br/>Large (335M)"]
RESIZE --> DSINE["DSINE<br/>(30M)"]
RESIZE --> SEG["SegFormer-B5<br/>(85M)"]
DA --> D_OUT["depth.npy<br/>[1,256,256]"]
DSINE --> N_OUT["normal.npy<br/>[3,256,256]"]
SEG --> S_OUT["seg.npy<br/>[1,256,256]"]
RESIZE --> RGB["RGB<br/>[3,256,256]"]
RGB --> CONCAT["concat_8ch.npy<br/>[8,256,256]"]
D_OUT --> CONCAT
N_OUT --> CONCAT
S_OUT --> CONCAT
style DA fill:#e8f5e9,stroke:#2e7d32
style DSINE fill:#fce4ec,stroke:#c62828
style SEG fill:#e3f2fd,stroke:#1565c0
```
````