Dhi Labs

Edge vision AI that
refuses to guess.

Calibrated intervals instead of point guesses. Provenance on every answer. Systems that grade their own predictions and refuse to ship what they can't verify. Six open products, built and measured this way.

Runs on Jetson-class hardware in the ₹40,000 class, no data-center GPU required, and the platform underneath is engineered and hardened for national-scale transit and public-infrastructure operators, validated to production-grade edge requirements.

Honesty is the product, not a caveat

Every edge vision system eventually meets a scene it can't resolve: an occluded crowd, an ambiguous re-identification, a prediction that may or may not come true. Most systems paper over that with a confident-looking number. Dhi's systems are built to say "I don't know" in a specific, checkable way: a refusal gate that won't ship a degraded model, a calibrated interval instead of a bare estimate, a provenance trail on every answer, a ledger that grades a system's own alerts against what actually happened.

That's the differentiator we're building toward: not a bigger model, but a class of mechanisms (refusal, calibration, provenance, falsification) that make the system's confidence auditable instead of asserted. Below is what's shipped so far, with the honesty mechanism and one measured number per product, and a link to the code.

Refusal gates
Calibrated intervals
Provenance
Falsification ledgers

Six shipped products

Each repo is open, tested, and benchmarked on synthetic ground truth today (see the footer note). One verified number per card; read the README for the full table.

A4 · AMODAL-COUNTING

Visibility-corrected crowd counting

Corrects a raw detection count for what the camera can't see, instead of reporting the visible-only number as if it were the true one.

Calibrated intervals
MAE 3.73 → 2.46 (naive vs. corrected) at the hardest occlusion density tested, with 90 to 97.5% empirical coverage on its conformal intervals across density levels · 27 tests.
A3 · FIXED-CAMERA-3D

Metric 3D from one existing camera

Ground-plane position, height, and separation from a single fixed camera, self-calibrated from the person boxes already passing through frame, no LiDAR, no stereo rig.

Measured, not asserted
Position RMSE 0.16 m (5 m height, 30° tilt) to 0.19 m (8 m, 45°) · 27 tests.
A5 · THERMAL-PERCEPTION

Thermal perception, sensor gap disclosed

A self-supervised recipe for thermal perception that is explicit about what's proven today versus what a GPU training run would still need to confirm.

No fabricated benchmark
Ships zero trained checkpoints and zero invented accuracy numbers: every claim today is CPU-verified math, with the GPU training run costed line-by-line in docs/COMPUTE_BUDGET.md instead of assumed · 33 tests.
E4 · CAUSAL-PREDICTIVE-ALERTING

Alerts that grade their own promises

Causal, predictive alerting for early warning, paired with a ledger that checks every lead-time promise against what actually happened, after the fact.

Falsification ledger
200-scenario battery, graded against itself: 63 fulfilled · 87 falsified · 50 no-alert · 16 tests.
E1 · MULTICAM-REASONING-MEMORY

Cross-camera memory (“fleetmind”)

Links the same person or vehicle across cameras and answers where/when/who-was-there questions with a provenance trail on every answer, and refuses to link when it isn't confident.

Precision-first, provenance-carrying
Precision 1.0 (recall 0.377), zero wrong merges on the seeded demo; a simulated month of events stays under 2 MB · 14 tests.
B1 · PROMPT2MODEL

English spec → deployed TensorRT engine

A compiler for vision models: describe the detector you want in plain English, get a deployed, benchmarked TensorRT engine, or a documented refusal, not a silent degradation.

Refusal gate
The compression gate refuses to ship a compressed artifact that falls below its accuracy floor and keeps the uncompressed one instead · 110 tests.
E3 · EDGE-SCENE-GRAPHS

Neuro-symbolic scene graphs

Turns detector output into queryable relations plus a symbolic rule engine, with plain-language explanations, and a zero-dependency core so it runs on Jetson-class devices as-is.

View repo →
A2 · CONTINUAL-OPEN-VOCAB

Continual open-vocabulary detection

Add a new alert class by text prompt or image crops, on the box, forward-only, no cloud retrain, no GPU training loop, no forgetting of prior classes.

View repo →
A8 · FACE-FREE-REID

Face-free re-identification

Long-term identity across cameras from appearance, gait, and body shape and learned transit priors, deliberately with no face biometrics.

View repo →

One general platform underneath

The products above plug into a single edge-analytics platform, not six separate stacks.

26canonical use cases across 11 detector engines, config-driven, not a single-purpose tool
1×8GBNVIDIA Jetson Orin Nano runs the whole pipeline, no data-center GPU
~710MBtotal memory for 6 cameras on one shared inference engine, down from ~3.4GB when each camera ran its own process
Transit-gradeengineered and hardened for national-scale transit and public-infrastructure operators, validated to production-grade edge requirements

The platform also carries a base-kitchen food-safety build for regulated food-service operators: on-floor object detection, contamination-zone dwell alerts, camera-health monitoring, and P1/P2/P3 alert triage, shipped as config-driven handlers per the operator's food-safety spec. Pest and PPE detection in that build are model-gated: the code path is real, the detector weights are not yet installed; we say so rather than claim a capability that isn't running.

Research track

A portfolio of applied-systems papers in preparation, built from the same code and numbers on this page, not a separate marketing narrative.

Open code and reproducible benchmarks are the norm for every paper we ship, not an appendix.

Whitepapers

Blog

Shorter technical write-ups on the same research track, published as versioned markdown on Hugging Face.