Skip to content
Vision EngineDOCUMENTATION
CONFIGURE/Connect cameras to models

Connect cameras to models

Camera IDs identify streams. Model IDs identify inference configurations. Several cameras can reference the same model.

Assign the model on the camera

This example binds entrance to the people model. The source is a placeholder. The FPS target is the camera capture target; it does not guarantee the inference rate.

cameras.yaml · single-camera example
cameras:
  - id: entrance
    name: Entrance
    source: rtsp://CAMERA_HOST/stream
    enabled: true
    fps_target: 12
    model_id: people
    classes: [person]
    raw_table: detections
    zones: "*"

Declare weights and runtime

Supply real weights locally. Keep the ID stable when replacing a model used by existing cameras. Classes must agree with both the model and camera configuration.

models.yaml · detection example
models:
  - id: people
    name: People detector
    version: yolo26n-coco
    path: ./models/yolo26n.pt
    runtime: ultralytics
    accelerator: cpu
    classes: [person]
    confidence_threshold: 0.5
    iou_threshold: 0.45
    input_size: [640, 640]
    use_tracker: true
    tracker: config/YAMLs/boxmot_tracker.yaml
    half: false

Choose a supported execution device

The accelerator setting is passed through to the installed Ultralytics backend. CPU execution is the reference container configuration. NVIDIA execution needs compatible Torch, drivers, a GPU-enabled image, and container GPU access.

Change weights without rebuilding dependencies

Model assets and YAMLs are mounted into generated containers. Changing those values usually needs generation and container recreation, rather than an image build. Rebuild when code or dependencies change.

Terminal · model ID people
python -m config.controller --generate
docker compose -f config/.generated/pipeline.compose.yaml up --no-build -d --force-recreate --no-deps visionengine-inference-service-people
Vision Engine · Configuration-driven services, branch-focused insights.