Instructions to use m1sc/reach-down-vit-release with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- DepthAnythingV2
How to use m1sc/reach-down-vit-release with DepthAnythingV2:
# Install from https://github.com/DepthAnything/Depth-Anything-V2 # Load the model and infer depth from an image import cv2 import torch from huggingface_hub import hf_hub_download from depth_anything_v2.dpt import DepthAnythingV2 # instantiate the model model = DepthAnythingV2(encoder="<ENCODER>", features=<NUMBER_OF_FEATURES>, out_channels=<OUT_CHANNELS>) # load the weights filepath = hf_hub_download(repo_id="m1sc/reach-down-vit-release", filename="depth_anything_v2_<ENCODER>.pth", repo_type="model") state_dict = torch.load(filepath, map_location="cpu") model.load_state_dict(state_dict) model.eval() raw_img = cv2.imread("your/image/path") depth = model.infer_image(raw_img) # HxW raw depth map in numpy - Notebooks
- Google Colab
- Kaggle
Download docs/error_decomposition_design.md from m1sc/reach-down-vit-release: direct link, hf CLI and curl.
- Browser
- Download file 8.59 kB
-
https://huggingface.co/m1sc/reach-down-vit-release/resolve/main/docs/error_decomposition_design.md
- Command line
-
hf download hf://m1sc/reach-down-vit-release/docs/error_decomposition_design.md
-
curl -L -o error_decomposition_design.md https://huggingface.co/m1sc/reach-down-vit-release/resolve/main/docs/error_decomposition_design.md
Error decomposition and calibrated conservatism: experiment design
Status: design, 2026-07-26. Supersedes the ad-hoc conservatism sweep as the paper's safety story. Nothing here is measured yet; every number below is a placeholder for a run.
Why redesign
The paper currently answers "how close is the ViT to the oracle?" by comparing both on the same terrain. That measures amortization error and nothing else. Two questions it cannot answer:
- How much of the deployed error comes from the terrain being wrong rather than the network being wrong?
- How much conservatism is actually needed, and can it be justified rather than swept?
The second is the paper's weakest section: safety_buffer_m is a knob tuned
until the false-safe rate looked acceptable. A reviewer is entitled to call
that fitting the metric.
The setup already supports this, and one arm is missing
make_dataset.py draws inputs from the noisy observation and labels from
the clean surface (noisy_observation, "privileged information"). So the
ViT is not merely an amortizer β it is trained as a denoising estimator:
it maps a corrupted DEM to the value function of the true one.
evaluate.py computes value_gt on the clean grid and value_base
analytically on the observed grid. There is no arm that runs the HJ oracle
on the observed terrain. That is the missing cell, and it is the one that
matters: it is the honest version of "why not just run the solver?"
The estimand
At cell p, truth is V*(p) β the joint HJ reach-avoid value on the true
surface with true dynamics. Every estimator is scored against it, and no
claim is made below the oracle's own discretization floor (grid 0.0022,
temporal 0.0030 β results/{grid,temporal}_convergence.csv).
The 2x2, plus one control
| on true terrain | on observed terrain | |
|---|---|---|
| exact solve | A = V* (reference) |
B = HJ(z_obs) β missing today |
| learned | E = ViT(z_true) (control) |
D = ViT(z_obs) (deployed) |
plus C = analytic margin on observed = today's baseline.
Clean decomposition, each term separately measurable:
- pure amortization
E β Aβ network error with perfect terrain - pure perception
B β Aβ terrain error propagated through an exact solve - deployed
D β Aβ what the aircraft actually suffers - denoising credit
|B β A| β |D β A|β how much better (or worse) the learned map is than the exact solver given the same corrupted input
E1 β The decomposition (core)
Compute A, B, C, D, E over held-out synthetic terrains x states x platforms. Report MAE, signed-error quantiles, and false-safe rate for each arm.
The hypothesis worth testing: |D β A| < |B β A|. If the ViT beats the
exact solver on the DEM you actually have β because it was trained against
ground truth and learned the error structure β then the amortization argument
stops being "25x faster" and becomes "running the exact solve on your real
data is worse than our map, and also slower." That directly answers the
strongest reviewer objection to the paper, which is that a 25x speedup over a
0.78 s solve does not motivate learning anything.
If instead |D β A| > |B β A|, that is a real negative result and the
amortization claim stays a speed claim. Either outcome is publishable; the
experiment must be run without a preferred answer.
E2 β The control that decides whether E1 means anything
An in-distribution win is nearly vacuous: the ViT saw this exact noise model
(spatially-correlated Gaussian, corr_px=3, sigma <= 1 m) during training, so
beating a noise-blind solver is unsurprising.
The claim only survives if the advantage holds under error the network was never trained on:
- structured bias β error correlated with slope/aspect (a depth pipeline is worst on steep faces), not zero-mean
- different correlation length β
corr_pxwell outside training - systematic offset β a vertical datum error, constant over the tile
- real residuals β the actual error field from E5
Report the denoising credit separately for in-distribution and out-of-distribution error. Only the latter supports the headline.
E3 β Observation-error sweep and the DEM-quality spec
Sweep sigma from 0 to ~10 m, far past the 1 m training cap (--z-noise-max
defaults to 1.0, which is small next to real DEM error and tiny next to
depth-pipeline error). Locate:
- the crossover where perception error overtakes amortization error β beyond it, improving the network is wasted effort and the DEM is the bottleneck;
- where the ViT leaves its training distribution and degrades;
- the sigma at which false-safe crosses a deployment threshold.
Deliverable: a DEM-quality requirement derived from measured propagation ("this system needs elevation data better than X m RMSE"), which is an actionable engineering spec and not currently anywhere in the paper.
E4 β Conservatism as a certificate, not a knob
Replace the swept safety_buffer_m with split conformal calibration.
On a held-out calibration split, take the optimism residual
r = max(0, V_pred β V*) and set the buffer to its (1βalpha) quantile.
Applied at the safety threshold this bounds the false-safe rate at alpha
with a finite-sample, distribution-free guarantee β a proof rather than a
sweep, and the same knob the paper already ships.
Variants to compare:
- marginal β one global buffer; valid but wasteful
- Mondrian / conditional β binned by (relief, AGL, platform), giving per-regime validity. This is precisely the "bounded validity envelope" the limitations section asks for, and it addresses both the heavy-airframe deficit and the low-AGL/high-relief blow-up with a principled mechanism instead of a hand-off rule.
- margin-adaptive β error concentrates at the footprint boundary, so
scale the buffer with local
|margin|.
Headline figure: the price of the guarantee. Fraction of the true safe footprint retained at alpha in {1%, 5%, 10%}, per variant. Conservatism stops being free and starts having a measured cost β which is the honest way to present it.
Stated limitation, not to be buried: conformal validity needs exchangeability between calibration and test. Held-out synthetic terrains qualify. Real terrain does not β that is distribution shift, and it is exactly why the real-DEM false-safe numbers diverge. Framing must be "calibrated on synthetic, measured on real", never "guaranteed on real".
E5 β Depth-from-imagery: can we fly without a prior DEM?
The onboard-realistic case, and the one that actually exercises the Depth Anything lineage the paper leans on: run DA-V2 in its native role on NAIP RGB, fit the affine (scale/shift) alignment monocular relative-inverse-depth requires, and compare the resulting surface against 3DEP as truth. Then propagate through the oracle and score with E1's arms.
Honest prior: nadir aerial imagery has weak monocular depth cues and severe scale ambiguity, so absolute elevation will likely be poor even if relative structure (ridges, valleys) survives. A bounded negative result here is a genuine contribution β it justifies the DEM-based design against the imagery-based landing-zone literature the related-work section cites, rather than leaving the choice unargued. Its residual field also feeds E2 as the most realistic available error model.
E6 β Floors and controls
- oracle discretization floor β already measured; every claim reported relative to it, nothing asserted below it
- E (ViT on clean input) β the pure-amortization control the paper lacks
- label-noise ceiling β buffered (
b=40) vs raw-oracle labels, sinceval MAE 0.018is agreement with the buffered label and is not comparable to raw-oracle numbers
What this changes in the paper
Sections 5-6 currently report "ViT vs oracle, same terrain" plus a swept conservatism knob. The replacement is: a complete error decomposition with the missing exact-solver-on-observed arm, an out-of-distribution control that decides whether the denoising claim is real, a DEM-quality spec, and a conservatism mechanism with a finite-sample guarantee and a measured price.
The risk to manage: E1 may show the ViT does not beat the exact solver on observed terrain. Design the writing so that outcome is still a contribution (a clean statement of where learned maps help and where they do not) rather than a result to be buried.