Skip to main content

Common Vision Studio

English | 简体中文

CI PyPI Python License

An open-source edge vision workbench for Raspberry Pi and Linux. Calibrate cameras, run OpenCV/YOLO pipelines, measure world coordinates, control a gimbal, and replay reproducible sessions from one browser.

Synthetic Common Vision Studio demo

The media in this repository is generated by the safe synthetic demo. It does not represent measured hardware or model performance.

Why Common Vision Studio?

Most prototypes grow around separate camera loops, one-off calibration scripts, and control processes that cannot reproduce an earlier run. Common Vision Studio provides one shared latest-frame source and a consistent operational boundary:

  • camera capture, calibration, source switching, and health diagnostics;
  • reusable preprocessing, recognition, geometry, and measurement services;
  • navigation, ball tracking, A4 targeting, and a fail-safe gimbal protocol;
  • event recording, configuration snapshots, offline replay, and A/B comparison;
  • ground-truth evaluation that keeps code regression separate from vision quality;
  • a no-hardware demo that never opens a camera or serial port.

Three-minute demo

Python 3.11 or newer is required.

python -m pip install common-vision-studio
common-vision --demo

Open http://127.0.0.1:5000. Demo mode always binds to loopback, uses synthetic frames and an in-process gimbal transport, disables laser authorization, and stores mutable data in an isolated temporary directory.

To work from a clone:

python -m venv .venv
# Linux/macOS: source .venv/bin/activate
# Windows: .venv\Scripts\activate
python -m pip install -e ".[dev]"
common-vision --demo

Feature map

Area Included capabilities
Acquisition OpenCV/Picamera2 camera, files, RTSP, MJPEG, UDP, reconnect supervision
Calibration Diverse chessboard capture, robust outlier filtering, undistortion quality gates
Vision ROI, illumination correction, color/shape/character/QR/fiducial/YOLO recognition
Geometry Camera/world transforms, planar homography, pose and approximate ranging
Tasks Vehicle navigation, ball tracking, A4 target planning and aiming
Control Framed serial protocol, heartbeat, telemetry, stale-command expiry, E-stop, laser authorization
Reproducibility Recording, replay, configuration bundles, scoring, ground-truth evaluation

Architecture

flowchart LR
  Sources[Camera / file / stream / synthetic] --> Hub[Shared latest-frame hub]
  Hub --> Vision[Calibration and vision services]
  Vision --> Tasks[Measurement and task pipelines]
  Tasks --> Safety[Expiry, authorization and E-stop]
  Safety --> Gimbal[Gimbal protocol / simulated transport]
  Hub --> Sessions[Record, replay and evaluation]
  Vision --> Sessions

See the architecture guide for ownership, threading, and failure boundaries.

Screenshots

Dashboard Image preprocessing
Dashboard Preprocessing
Camera calibration Record and replay
Calibration Replay

Hardware and platform support

Platform Status Notes
Linux x86-64 Supported OpenCV camera and production WSGI deployment
Raspberry Pi OS 64-bit Supported Picamera2/OpenCV; validate on the target device
Windows 11 Software-tested OpenCV camera and demo; Waitress for serving
macOS Community-tested Demo and OpenCV paths; no maintained hardware profile
Gimbal firmware Reference implementation C codec and host vectors are included; hardware acceptance remains mandatory

Detailed combinations and reporting requirements are in hardware compatibility.

Installation profiles

pip install common-vision-studio                 # core and safe demo
pip install "common-vision-studio[production]"  # Waitress/Gunicorn
pip install "common-vision-studio[inference]"   # Ultralytics and NCNN

Mutable data defaults to the operating system's application data directory. Use --data-dir PATH or COMMON_VISION_DATA_DIR to select a device data root. Run common-vision-doctor before a real deployment.

Documentation

Contributing and support

Issues and pull requests are welcome. Start with CONTRIBUTING.md and use the structured issue forms so reports include platform and hardware data. Questions belong in GitHub Discussions; security issues must follow SECURITY.md.

The code is licensed under Apache-2.0. Model weights and datasets have separate terms described in MODEL_LICENSES.md.

Metadata

Release files for common-vision-studio 1.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for common-vision-studio 1.2.0
File Size Uploaded
common_vision_studio-1.2.0.tar.gz 1.5 MB Details

Built distribution (wheel)

Table of built distributions (wheels) for common-vision-studio 1.2.0
File Interpreter ABI Platform
common_vision_studio-1.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 2.0 MB

Release files / common_vision_studio-1.2.0.tar.gz

Download URL common_vision_studio-1.2.0.tar.gz
Size 1.5 MB
Tags Source
SHA-256 checksum
How to use checksums
89286a033f19e6c8446eb6e805b54aa246c23147ed2b369c0e14d039cdb4188f
BLAKE2b-256 checksum
How to use checksums
cb3a8da57ce1bcd0ffd38e0cd7c1e61956c256c40297801003901f2a7f9fcfea
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release files / common_vision_studio-1.2.0-py3-none-any.whl

Download URL common_vision_studio-1.2.0-py3-none-any.whl
Size 471.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fd2436fcb268925c83922b509ee28bf7215842f9fc42bb504650d5e613afa080
BLAKE2b-256 checksum
How to use checksums
cc0a72351ab7f267f2ae43d29a62230069920700116c34540a26e2d4b98c99aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Aug 17, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.2.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page