olab playground

Local HTTPS camera prototyping. One active session.

Camera

Camera intrinsics

Optional calibration for the next camera. Select a saved local profile or enter values manually.

Stream at startup

Live status

Technical status

Features

Tracking

A tracker receives boxes from an opted-in detector; it does not run camera inference by itself.

Local paths

Set up local YOLO models

Install the optional dependency in the environment that runs this page: pip install -e 'packages/olab_camera[yolo]'.

Download model files yourself, then place them under the configured model root (by default ~/Projects/olab_models). Refresh this page to discover them. The playground never downloads model weights.

TaskSuggested small local model
Object detectionyolo11n.pt
Segmentationyolo11n-seg.pt
Poseyolo11n-pose.pt
Classificationyolo11n-cls.pt
Oriented bounding boxesyolo11n-obb.pt

Get task-compatible weights from the official Ultralytics model documentation.

Python equivalent

Provision local YOLO models

Before opening the browser UI, activate the olab_code virtual environment, change to the configured model root (normally ~/Projects/olab_models), then explicitly instantiate only the models you want:

cd ~/Projects/olab_models
python
>>> from ultralytics import YOLO
>>> YOLO("yolo11n.pt")
>>> YOLO("yolo11n-seg.pt")
>>> YOLO("yolo11n-cls.pt")
>>> YOLO("yolo11n-pose.pt")
>>> YOLO("yolo11n-obb.pt")
>>> YOLO("yolo26n.pt")
>>> YOLO("yolo26n-seg.pt")
>>> YOLO("yolo26n-cls.pt")
>>> YOLO("yolo26n-pose.pt")
>>> YOLO("yolo26n-obb.pt")

These are the YOLO11/YOLO26 small detect, segment, classify, pose, and OBB filenames. Track uses the same plain detect checkpoint as detect; there is no -track file family. The browser only lists existing compatible files and never downloads a model.

olab-camera and Ultralytics both depend on plain opencv-python, so installing YOLO support here doesn't conflict with anything. ArUco, QR, and face detection all work on plain opencv-python; only classic object trackers other than MIL need opencv-contrib-python installed separately (uninstall both packages first, then install only the contrib one, to avoid leaving two conflicting cv2 installs):

python -m pip uninstall -y opencv-python opencv-contrib-python
python -m pip install "opencv-contrib-python>=4.10.0"
python -c "import cv2; print(cv2.__version__, hasattr(cv2, 'TrackerCSRT_create'))"

LAN / TLS

Trust this server certificate and the stream certificate on each browser. For phone access by IP/name, generate or supply a certificate with that IP/DNS SAN.