Bead: Computer Vision Harness

**Bead** `b5221927-24ee-40f6-bb8b-94b3b9a88783` · [canonical URI](https://redfish.acequia.io/guerin/.agents/b5221927-24ee-40f6-bb8b-94b3b9a88783/) · discussion: Talk: Computer Vision Harness This page is the wiki facet of a [bead](https://redfish.acequia.io/guerin/.agents/); the bead is the source of truth.

## Identity - **URI:** [https://redfish.acequia.io/guerin/.agents/b5221927-24ee-40f6-bb8b-94b3b9a88783/](https://redfish.acequia.io/guerin/.agents/b5221927-24ee-40f6-bb8b-94b3b9a88783/) - **Local origin:** [c:/Users/steph/Documents/sites/redfish.acequia.io/guerin/.agents/b5221927-24ee-40f6-bb8b-94b3b9a88783/](c:/Users/steph/Documents/sites/redfish.acequia.io/guerin/.agents/b5221927-24ee-40f6-bb8b-94b3b9a88783/) - **GUID:** `b5221927-24ee-40f6-bb8b-94b3b9a88783` - **Created:** 2026-06-29 - **Currently animated by:** Claude (CV body — shell + filesystem) - **Invoked by parciante:** Stephen Guerin (`guerin`) - **Deployed app:** [https://redfish.acequia.io/guerin/apps/cv-harness/](https://redfish.acequia.io/guerin/apps/cv-harness/)

## Motivation (Why a GUID) A **design-task / app-build** bead. It exists to produce one deliverable: a browser harness for **selecting and trying different computer-vision models on the live camera**, using [transformers.js](https://github.com/huggingface/transformers.js) for the transformer models and plain JavaScript for classical CV. The harness is the cheap end of the cognition ladder (feedback_anti-reification-pave-desire-lines): a keyless, deterministic, client-side pipeline a parciante can point at the world to see what each model says, before anything gets wired into a heavier app. It is a sibling of the geo.camera / camera-calibrator line of work (cameras as first-class resources), but scoped to **model trial**, not pose or catalog.

## Mechanism (What this bead does) Hosts the source and provenance for the CV harness app. - **What goes here:** the app source (git `repo/`), notes on the model picks and the classical-CV implementations, the verbatim chat log, the deploy record. - **What does NOT go here:** the live deployed bytes (those live at `guerin/apps/cv-harness/`, an anonymous-read deploy target); pose / calibration work (that is the geo.camera beads); any model weights (pulled at runtime from the Hugging Face hub). - **Handoff posture:** the `repo/` is the source of truth; `apps/cv-harness/` is a deploy copy. A fresh agent edits `repo/`, bumps the semver, re-copies to the deploy dir, and syncs both.

## Folder Layout ``` b5221927-24ee-40f6-bb8b-94b3b9a88783/ ├── about.md # this file ├── repo/ # git source of truth (devops) │ ├── index.html # the single-file harness │ ├── README.md # app + model table + provenance │ ├── .acequia-access.json # read:anonymous │ └── .gitignore ├── uploads/ # afferent dock │ └── README.md └── 2026-06-29/ ├── notes/ │ └── 00-cv-harness-orientation.md ├── chats/ │ └── 2026-06-29-computer-vision-harness.md ├── skills/ # (empty) └── artifacts/ # (empty) ```

## Session Log - **2026-06-29 — bead opened (Stephen → Claude/CV).** Built the harness from a single prompt: an HTML model picker over transformers.js with Segment Anything, depth, scene description, YOLO, plus optical flow and BRIEF feature tracking; front/back camera selection; responsive for laptop and mobile. Wrote `repo/index.html` v0.1.0, git-init'd the repo, deployed a copy to `apps/cv-harness/`, synced both to redfish. First traversal; app is built and deployed, not yet field-tested on a phone.

## Modus Operandi (How to interact) - **Read order:** this `about.md` → [`2026-06-29/notes/00-cv-harness-orientation.md`](2026-06-29/notes/00-cv-harness-orientation.md) → `repo/README.md` → `repo/index.html`. - **New notes:** `2026-06-29/notes/` (or a later dated folder). - **Chats:** `2026-06-29/chats/`, verbatim, incremental. - **Cross-bead references:** absolute URIs. - **Do not write to:** `apps/cv-harness/` by hand as the primary edit; edit `repo/` then re-deploy.

## Capabilities - Hosts a runnable, deployed CV model-trial harness and its source. - Can be cited for: how to wire transformers.js pipelines (`depth-estimation`, `image-to-text`, `object-detection`) and the SAM point-prompt API in the browser; a worked client-side Lucas-Kanade optical-flow and BRIEF-tracking implementation; a front/back camera + device-enumeration pattern. - Does NOT produce: pose/calibration estimates, asset catalogs, or any server-side inference.

## Lifecycle - **Energization:** a parciante wanting to try a CV model on a camera, or to add another model to the picker. - **Apoptosis:** fades when the harness is either folded into a larger app (geo.camera, incident-viewer) or superseded by a richer model-trial surface. Until then it stays as a standalone trial bench.

## Limitations - NOT a pose/calibration tool, NOT an asset-catalog tool, NOT a server. Inference is best-effort client-side and model-size-bounded (tiny/small checkpoints for browser latency). - "YOLO" is served by **YOLOS-tiny** (a DETR-style detector), the canonical transformers.js object detector, not an Ultralytics YOLOv8/v9 checkpoint. - Optical flow and BRIEF are classical (no transformer); they are illustrative real-time implementations, not tuned trackers.

## Related beads - project_agent-as-file-ducktyping — cameras/resources negotiated at interaction time. - nuke-geo-camera [`a55f5270`](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/about.md) — geo.camera as our camera domain. - astronomical-pano [`9943ac1c`](https://redfish.acequia.io/guerin/.agents/9943ac1c-caa1-479d-b17e-89ef7ca326b6/about.md) — camera-calibrator / through-the-lens calibration line. - agentscript apps [`b6fcda63`](https://redfish.acequia.io/guerin/.agents/b6fcda63-c171-4293-9d99-75297f4205bb/about.md) — the deploy-under-`guerin/` + git-in-deploy-dir precedent this follows. - devops policy [`64be6d29`](https://redfish.acequia.io/guerin/.agents/64be6d29-d133-4ade-9dce-f62701003e37/about.md) — deploy/version discipline + deployed-app README.

## References (bead cross-links) - Bead: Nuke Geo Camera · [canonical](https://redfish.acequia.io/guerin/.agents/a55f5270-1767-475b-924a-1ef59ee09e90/) - Bead: Astronomical Pano · [canonical](https://redfish.acequia.io/guerin/.agents/9943ac1c-caa1-479d-b17e-89ef7ca326b6/) - Bead: Ants In Taos · [canonical](https://redfish.acequia.io/guerin/.agents/b6fcda63-c171-4293-9d99-75297f4205bb/) - Bead: Devops · [canonical](https://redfish.acequia.io/guerin/.agents/64be6d29-d133-4ade-9dce-f62701003e37/)

See all: Beads