Trinity Phase 2

Autonomous vehicle testing and validation suite using a 3-camera infrastructure setup

Status
Research
Version
1.0.0
Platform
GPU workstation
License
Not specified
01 · Problem

Validating AV behaviour needs ground truth that does not depend on the vehicle's own sensors; Trinity uses fixed external cameras to provide it.

02 · Architecture

How it is put together.

Trinity Phase 2 is an autonomous vehicle testing and validation suite built around three fixed infrastructure cameras that observe a test vehicle independently of its own sensors. It provides synchronised capture and recording, YOLO detection with DeepSORT tracking and 3D triangulation, ArUco-based AV identification, safety metrics such as TTC and near-miss detection, edge-case detection, perception validation and dataset export. Results feed a PyQt6 GUI, an analytics dashboard, scheduled PDF/HTML/Excel reports and a FastAPI REST/WebSocket API. The README reports the project as about 72% complete.

Coretrinity/core/Detection and trackingtrinity/detection/AV monitoringtrinity/av_monitoring/Advanced featurestrinity/advanced/Reportingtrinity/reporting/REST APItrinity/api/GUItrinity/gui/synchronised framessynchronised framesglobal tracksglobal tracksCoretrinity/core/Detection and trackingtrinity/detection/AV monitoringtrinity/av_monitoring/Advanced featurestrinity/advanced/Reportingtrinity/reporting/REST APItrinity/api/GUItrinity/gui/synchronised framessynchronised framesglobal tracksglobal tracks
FIG. 01Modules and data flows, from the repository layout and documentation.
  1. 1

    Core

    Camera manager, H.265 recorder, calibration, config

    trinity/core/
  2. 2

    Detection and tracking

    YOLO detector, DeepSORT tracker, 3D position estimation

    trinity/detection/
  3. 3

    AV monitoring

    ArUco AV identification, trajectory, safety metrics, event detection

    trinity/av_monitoring/
  4. 4

    Advanced features

    Edge cases, perception validation, dataset management

    trinity/advanced/
  5. 5

    Reporting

    Report generation, templates, charts, scheduler

    trinity/reporting/
  6. 6

    REST API

    FastAPI application with WebSocket endpoints

    trinity/api/
  7. 7

    GUI

    PyQt6 main window and tabs

    trinity/gui/
03 · Capabilities

Specification.

Cameras
3 synchronised USB cameras, ArUco marker calibration, H.265/H.264 event-triggered recording
Detection and tracking
YOLOv8/v10 (80 COCO classes), DeepSORT, 3D position via triangulation, BEV view
AV monitoring
ArUco vehicle ID, trajectory analysis, TTC / near-miss / safe distance, 7 event rules
Advanced
Edge-case detection (18 categories), MOTA/MOTP perception validation
Dataset export
COCO, KITTI and nuScenes formats with PII anonymisation
Reporting
PDF/HTML/Excel reports, daily/weekly/monthly scheduling
Interfaces
PyQt6 GUI, FastAPI REST API with WebSocket streaming, PostgreSQL/SQLite via SQLAlchemy
Status
README: ~72% complete; CARLA integration, test suite and Docker packages not done
Runs on
README minimum requirements include an NVIDIA GPU with 6 GB+ VRAM; pyproject.toml lists onnxruntime-gpu and cupy-cuda12x; used as a PyQt6 desktop app on a GPU host
Stack
  • Python
  • PyQt6
  • PyQtGraph
  • OpenCV
  • PyTorch
  • Ultralytics YOLO
  • filterpy
  • SQLAlchemy
  • PostgreSQL
  • FastAPI
  • Uvicorn
  • Matplotlib