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.
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.
| Task | Suggested small local model |
|---|---|
| Object detection | yolo11n.pt |
| Segmentation | yolo11n-seg.pt |
| Pose | yolo11n-pose.pt |
| Classification | yolo11n-cls.pt |
| Oriented bounding boxes | yolo11n-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.