Skip to main content

Beyond ADAS — collision anticipation inference for dashcam video

Project description

BADAS - Beyond ADAS

Python 3.10+ PyTorch 2.0+ PyPI

BADAS (Beyond ADAS) is a deep learning framework for predicting collision likelihood in dashcam video sequences. It supports multiple vision transformer backbones and deployment formats optimized for real-time inference.

Installation

pip install badas

Optional extras for faster video decoding or alternative backends:

pip install decord           # Fast video decoding (falls back to OpenCV)
pip install onnxruntime-gpu  # ONNX backend

Quick Start

from badas.inference import BADAS, BADASConfig

# Load from HuggingFace
predictor = BADAS.from_pretrained("nexar-ai/badas-1.5-flash")

# Or from a local checkpoint (.ckpt / .onnx / .trt)
predictor = BADAS("path/to/model.ckpt")

# Batch prediction on a video
results = predictor.predict_video("dashcam.mp4", stride=1)
for r in results:
    print(f"[{r['timestamp']:.2f}s]  {r['risk_level']:<6}  p={r['probability']:.3f}")

# Streaming / moving-window inference
for pred in predictor.predict_stream("dashcam.mp4", stride=1):
    if pred['probability'] > 0.7:
        print(f"WARNING: High collision risk at {pred['timestamp']:.2f}s")

Prediction Output

Each prediction is a dict:

{
    'frame_index': 100,
    'timestamp': 4.17,
    'probability': 0.823,
    'risk_level': 'high',   # 'low' | 'medium' | 'high'
    'smoothed': True,
}

Inference Backends

Format Load Notes
.ckpt / .pt BADAS("model.ckpt") Full model + config, supports torch.compile
.onnx BADAS("model.onnx") CPU/GPU via ONNX Runtime
.trt / .engine BADAS("model.trt") NVIDIA GPU, lowest latency

Configuration

from badas.inference import BADAS, BADASConfig, SmoothingConfig

config = BADASConfig(
    use_compile=True,       # torch.compile — slow first run, fast thereafter
    startup_ramp=True,      # yield predictions before the full window is buffered
    smoothing=SmoothingConfig(
        enabled=True,
        alpha_rise=0.7,     # smoothing when risk increases
        alpha_fall=0.3,     # smoothing when risk decreases
    ),
)
predictor = BADAS("model.ckpt", config=config)

Available Models

Open Source

Model Size Notes
nexar-ai/BADAS-Open ViT-L Publicly available
predictor = BADAS.from_pretrained("nexar-ai/BADAS-Open")

Commercial (Nexar)

Model Size Notes
nexar-ai/badas-1.0 ViT-L
nexar-ai/badas-1.5 ViT-L Best accuracy
nexar-ai/badas-1.5-flash ViT-B Fast
nexar-ai/badas-1.5-flash-lite ViT-S Fastest

To request access, visit nexar-ai.com/badas.

Citation

@article{goldshmidt2025badas,
  title={BADAS: Context Aware Collision Prediction Using Real-World Dashcam Data},
  author={Goldshmidt, Roni and Scott, Hamish and Niccolini, Lorenzo and
          Zhu, Shizhan and Moura, Daniel and Zvitia, Orly},
  journal={arXiv preprint},
  year={2025}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

badas-1.0.3.tar.gz (217.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

badas-1.0.3-py3-none-any.whl (233.1 kB view details)

Uploaded Python 3

File details

Details for the file badas-1.0.3.tar.gz.

File metadata

  • Download URL: badas-1.0.3.tar.gz
  • Upload date:
  • Size: 217.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for badas-1.0.3.tar.gz
Algorithm Hash digest
SHA256 d6dd221acbacdaa4f6c2616b53b1b8799dcbaf53f3485bfe614b1e7e676f1cb2
MD5 dfb00275e8aaf84f84321c483c658e0d
BLAKE2b-256 941c5c9699f7edf194fb48f6d9fb52e2138eaa405a2e36253ad7bd0b9b62b40f

See more details on using hashes here.

File details

Details for the file badas-1.0.3-py3-none-any.whl.

File metadata

  • Download URL: badas-1.0.3-py3-none-any.whl
  • Upload date:
  • Size: 233.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for badas-1.0.3-py3-none-any.whl
Algorithm Hash digest
SHA256 9189b579c3a45976f2a640b92f30e2cb911138c412fc891a88403e714fcbec88
MD5 e2b2720c13af98be00aabe54dde982e8
BLAKE2b-256 e02ef785302bfd883b082a44bc75eade1f530abee70ebe9fb41bc6f7f9174f14

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page