File size: 5,489 Bytes
97262fd 1f14fac 97262fd 1f14fac 97262fd 9bf8ac7 97262fd | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | ---
license: mit
library_name: pytorch
pipeline_tag: depth-estimation
tags:
- depth-estimation
- monocular-depth
- knowledge-distillation
- robotics
- indoor-navigation
- fine-tuning-base
- semantic-segmentation
- efficientvit
- pretraining
- multi-domain
- bootstrap-perception
- vortex-depth
datasets:
- sayakpaul/nyu_depth_v2
- sun_rgbd
- diode
metrics:
- rmse
- mae
- miou
model-index:
- name: vortex-depth-v6-pretrained
results:
- task:
type: depth-estimation
name: Monocular Indoor Depth Estimation
dataset:
name: NYU Depth V2 (val)
type: nyu_depth_v2
metrics:
- type: rmse
value: 0.519
name: NYU val RMSE (m)
- type: mIoU
value: 48.5
name: 6-class Segmentation mIoU (%)
---
# Vortex-Depth-V6-Pretrained (Cornerstone)
A 5.31 × 10⁶ parameter monocular depth + 6-class segmentation student trained with multi-domain pretraining on SUN RGB-D and DIODE Indoor, followed by NYU Depth V2 fine-tuning. The recommended fine-tuning base for additional domain specialists in the Vortex-Depth lineage.
| Property | Value |
|---|---|
| Codename | **Cornerstone** |
| Lineage version | V6 |
| Architecture | EfficientViT-B1 encoder + dual transposed-convolution decoder |
| Parameters | 5.31 × 10⁶ |
| Input | RGB, 240 × 320, ImageNet-normalized within forward pass |
| Output | depth `[B, 1, 240, 320]` in meters; segmentation `[B, 6, 240, 320]` logits |
| Stage 1 corpus | SUN RGB-D (~10 × 10³ frames) + DIODE Indoor (~8 × 10³ frames) |
| Stage 2 corpus | NYU Depth V2 (1.159 × 10³ train) with V5 augmentation pipeline |
| Teacher | DA3-Metric-Large |
| Inference latency | ~5 ms on Jetson Orin Nano (TensorRT FP16) |
## Use case
Recommended as the **fine-tuning base** for users developing additional domain-specialist depth models. The multi-domain pretraining stage establishes a richer encoder prior than NYU-only training, which transfers to subsequent domain specialization more effectively.
This is demonstrated empirically in the lineage: a corridor specialist fine-tuned from V6 ([vortex-depth-v9-corridor (Lighthouse)](https://huggingface.co/NishantPushparaju/vortex-depth-v9-corridor)) achieves 0.382 m LILocBench corridor RMSE, a 14 % relative improvement over the same fine-tuning protocol applied to the V5-initialized variant (V7: 0.445 m).
V6 itself is the lineage's best NYU result:
- NYU val RMSE: **0.519 m** (lowest in lineage)
- NYU val mIoU (6-class): 48.5 %
The mIoU regression relative to [vortex-depth-v5-general (Atlas)](https://huggingface.co/NishantPushparaju/vortex-depth-v5-general) (63.7 %) is an artifact of mixed-supervision effects during multi-domain pretraining (SUN RGB-D and DIODE Indoor have no segmentation annotations). For deployments where general-purpose segmentation accuracy matters, V5 (Atlas) is the recommended checkpoint.
## Fine-tuning template
To produce a corridor or room specialist from this base:
```python
import torch
from models.student import build_student
from config import Config
cfg = Config()
cfg.LR = 3e-4
cfg.ENCODER_LR_SCALE = 0.1 # encoder LR = 3e-5
model = build_student(num_classes=cfg.NUM_CLASSES, pretrained=False, backbone=cfg.BACKBONE)
state = torch.load("best_depth_v6.pt", map_location="cpu")
model.load_state_dict(state)
# Continue training on your domain-specific corpus for ~30-50 epochs
# Refer to train.py in the project codebase for the full training loop
```
## Training
Two-stage training schedule:
- **Stage 1 (multi-domain pretrain)**: 50 epochs across SUN RGB-D + DIODE Indoor + NYU Depth V2 with the V5 augmentation pipeline. HPC job 3093046, snapshotted at 38 / 50 epochs.
- **Stage 2 (NYU fine-tune)**: 200 epochs on NYU Depth V2 alone with the same augmentation pipeline. HPC job 3098656, snapshotted at 154 / 200 epochs (walltime).
Optimizer: AdamW, encoder LR 3 × 10⁻⁵, decoder LR 3 × 10⁻⁴, cosine annealing, batch size 16, encoder frozen for the first 5 epochs.
The Stage 1 pretrain required a loss-function guard for the cross-entropy term: SUN RGB-D and DIODE Indoor have no segmentation annotations, so the segmentation supervision is skipped on those batches. Without the guard, `nn.CrossEntropyLoss(ignore_index=255)` returns NaN on all-ignore batches and propagates through the multi-task loss, crashing the optimizer.
Training was performed on NVIDIA L40S 48 GB hardware (NYU Greene HPC, partition `l40s_public`).
## Bootstrap perception context
This checkpoint is one component of a three-checkpoint family released as part of the Vortex bootstrap-perception pipeline for indoor robot navigation under hardware depth failure. See [vortex-depth-v5-general (Atlas)](https://huggingface.co/NishantPushparaju/vortex-depth-v5-general) for the recommended general-purpose deployment checkpoint, and [vortex-depth-v9-corridor (Lighthouse)](https://huggingface.co/NishantPushparaju/vortex-depth-v9-corridor) for the production corridor specialist derived from this base.
## Project resources
- **Codebase**: [github.com/Nishant-ZFYII/ml_inference](https://github.com/Nishant-ZFYII/ml_inference)
- **Documentation**: [nishant-zfyii.github.io/ml_inference](https://nishant-zfyii.github.io/ml_inference/)
- **V6 model page**: [Cornerstone (V6)](https://nishant-zfyii.github.io/ml_inference/models/v6-sun-diode-pretrain)
## Reference
If you use this model in your work, please reference the project repository:
```
https://github.com/Nishant-ZFYII/ml_inference
```
## License
MIT.
|