CoolFace
Apppublic

dheepakkaran/multi-camera-bev

sourceHugging Facemitupdated 4d agoView on Hugging Face
0likes
App README

Multi-Camera BEV Perception

Six surround-view cameras go in; a top-down Bird's-Eye-View map with 3D boxes comes out — no LiDAR, no HD maps, the same sensor philosophy as Tesla FSD.

Pick a frame and hit Run.

What you are looking at

  • Left: four of the six camera feeds
  • Right: the BEV map. White dashed = ground truth, filled = model prediction. Rings are 10 m apart; the ego vehicle sits at the centre.

Honest notes

This Space runs ONNX Runtime on a free CPU tier — roughly one to two seconds per frame.

The app tries to serve the model through NVIDIA Triton (PyTriton, run in-process so no Docker is needed) and falls back to calling ONNX Runtime directly when it cannot start. On this Space it always falls back: PyTriton's Python backend needs a Python 3.8 interpreter that the Space image does not provide. The UI tells you which path served your request.

Triton does run in the GPU setup — two model instances over TensorRT INT8 engines, with dynamic batching — and the code for it is in the repo. There, client-side latency was 48.6 ms against 8.5 ms of actual compute: the remaining 40 ms is HTTP serialisation of ~10 MB of tensors per request, which is the thing gRPC and CUDA shared memory exist to fix.

The TensorRT numbers below were measured on a Tesla T4:

BackendLatencyFPSSpeedup
PyTorch FP3232.66 ms30.61.00x
TensorRT FP3224.34 ms41.11.34x
TensorRT INT88.52 ms117.33.83x

The model is small (5.5 M parameters) and trained on nuScenes mini — 323 training samples against the 28,130 the published numbers use. It scores 0.043 NDS where the same pipeline fed ground truth scores 0.596, so what you see are real but weak detections. That gap is training data, not a bug, and the full reasoning is in the repo.

Code, benchmarks and engineering notes: github.com/dheepakkaran/multi-camera-bev