DriveLab

A desktop application for working with consumer dashcam footage

Status
Research
Version
1.0.0
Platform
Desktop app
License
MIT
01 · Problem

Most public driving datasets are American, European or Chinese, and models trained on them do measurably worse on Indian roads: COCO has no auto-rickshaw class, two-wheelers behave differently and animals appear in traffic. DriveLab is built to measure that gap on your own recordings and then act on it.

02 · Architecture

How it is put together.

DriveLab is a PyQt6 desktop workbench for a person's own dashcam footage: browsing clips, measuring how off-the-shelf vision models perform on Indian roads, labelling and fine-tuning a detector, fusing GPS with video, and exporting privacy-blurred geotagged imagery. It runs entirely on the user's machine, reads embedded GPS from several dashcam formats, and can push frames to and pull review verdicts from a LabeloxAV server. The README states plainly that a few hours of front-only video is enough to evaluate and fine-tune a small detector, not to train a driving policy.

Telemetry parsersdrivelab/core/telemetry/Core processingdrivelab/core/LabeloxAV connectordrivelab/core/labelox_api.pyWorkspacesdrivelab/ui/workspaces/UI widgetsdrivelab/ui/widgets/CLIdrivelab/cli.pyframes and box proposals (push)frames and box proposal…reviewer verdicts (pull)reviewer verdicts (pull)Telemetry parsersdrivelab/core/telemetry/Core processingdrivelab/core/LabeloxAV connectordrivelab/core/labelox_api.pyWorkspacesdrivelab/ui/workspaces/UI widgetsdrivelab/ui/widgets/CLIdrivelab/cli.pyframes and box proposals (push)frames and box proposal…reviewer verdicts (pull)reviewer verdicts (pull)
FIG. 01Modules and data flows, from the repository layout and documentation.
  1. 1

    Telemetry parsers

    Registry of dashcam GPS parsers (Novatek, GPMF, subtitle, sidecar, QuickTime, OSD)

    drivelab/core/telemetry/
  2. 2

    Core processing

    Import, GPS extraction, events, depth fusion, tracking, training, evaluation, privacy, routes

    drivelab/core/
  3. 3

    LabeloxAV connector

    Push frames and proposals, pull reviewer verdicts; handoff bundle export

    drivelab/core/labelox_api.py
  4. 4

    Workspaces

    Library, Domain Gap, Annotate, Fine-tune, GPS Fusion, Analytics, Export

    drivelab/ui/workspaces/
  5. 5

    UI widgets

    Video player, timeline, native QPainter slippy map, hand-painted menus

    drivelab/ui/widgets/
  6. 6

    CLI

    labelox-check / push / pull commands

    drivelab/cli.py
03 · Capabilities

Specification.

Workspaces
Library, Domain Gap, Annotate, Fine-tune, GPS Fusion, Analytics, Export
Models
YOLO11, RT-DETR, Depth Anything, SegFormer; ByteTrack tracking; CLIP/SigLIP2 semantic frame search
Dashcam GPS parsers
Novatek freeGPS (verified on hardware), GoPro GPMF, subtitle NMEA/OSD, sidecar files, QuickTime location (synthetic fixtures)
Domain gap (200 frames)
yolo11s (COCO) found 0 auto-rickshaws; a yolo11s fine-tuned on IDD found 83 (unverified detections)
Monocular distance
Self-calibrated focal length; depth and width-prior estimates agree at r = 0.893 over 2,694 lead samples; absolute scale unverified (±20%)
Failure mining
Detector misses, class switches and flickers found from track continuity with no labelling
Export
Frames every N metres, face/plate blur, GPS EXIF, GPX/GeoJSON/CSV, packaging for mapillary_tools
Requirements
Linux, Python 3.11+; CUDA GPU optional (CPU inference slow but functional)
Runs on
PyQt6 desktop app with a 'drivelab' GUI entry point; GPU optional
Stack
  • Python
  • PyQt6
  • PyAV
  • OpenCV
  • NumPy
  • Pillow
  • piexif
  • PyTorch
  • Ultralytics
  • Transformers
  • matplotlib
  • SQLite
04 · Changelog

Log.

  1. DriveLab initial release
    Dashcam analysis workbench, followed by semantic frame search and a headless CLI.