AndroVision
Turn a dash-mounted phone into an on-device perception instrument
- Status
- Research
- Version
- 1.0.0
- Platform
- Android app
- License
- MIT
Getting metric depth, occupancy and vehicle re-observation from a single phone camera without a network in the perception path. Monocular depth models give relative depth, so DEPTHFIELD solves the scale per keyframe from a ground-plane anchor and ego-motion, and reports non-metric output when no anchor is solvable.
How it is put together.
AndroVision is a native Android app that turns a forward-facing phone into a pseudo perception sensor for vehicles, with three modules sharing one frame stream: DEPTHFIELD (live monocular metric depth), OCCUGRID (ego-centric bird's-eye occupancy grid) and FLEETEYE (privacy-preserving vehicle re-identification). All inference runs locally through LiteRT and classical computer vision, and every head has a classical fallback so the app runs with no model weights. Each module also emits dataset packets (depth samples, occupancy snapshots, re-ID observations). The README describes it as an honest prototype.
- 1
Shared core
CameraX pipeline, sensors, pose provider, detector, ByteTrack-style tracker, ground lifting, privacy blurrer, packets
- 2
Frame scheduler
Shared stage at fastest cadence, fan-out to per-module workers, thermal duty
- 3
DEPTHFIELD
Depth model, metric solver, renderer
- 4
OCCUGRID
Occupancy grid, drivable area, BEV renderer
- 5
FLEETEYE
Re-ID embedder, perceptual hash, session gallery
- 6
Packet store
Room store, manifests, storage cap; optional WorkManager uploader
Specification.
- DEPTHFIELD
- Affine scale/shift solve (1/Z = a·disp + b) per keyframe via RANSAC on ground-plane pixels, cross-checked by ego-motion; per-pixel confidence; tap to measure
- OCCUGRID
- Log-odds BEV grid, 0.2 m cells over 40 m × 24 m, ego-motion compensated; free / static / dynamic / unknown cells
- FLEETEYE
- Vehicle appearance embedding + 64-bit difference hash of plate region (no plate text or image stored); in-session matching; disabled without a re-ID model
- Forward collision warning
- Nearest in-path distance from the depth corridor + ego speed → TTC caution/warning with audible alert (driver aid, not certified)
- Models
- Optional INT8 .tflite heads (depth, SSD detector, drivable segmentation, plate region, re-ID) with classical fallbacks; GPU → NNAPI → CPU
- Diagnostics
- Per-stage latency p50/p95, per-module frame rate, thermal duty, event log
- Privacy
- Faces and plate regions blurred before any keyframe write; no continuous video; uploader off by default
- Platform
- arm64 Android, API 26+
- Runs on
- Native Android app built with Gradle and installed via adb on an arm64 API 26+ device
More systems.
Real-time, on-device driver assistance for any Android phone.
Perception and ADAS · LiveDashLabTrain object detectors and visual models on dashcam footage without labelling any of it
Next systemCORRIDYXTurn dash phones into a live, city-scale map of where camera-based autonomy can see