Applied R&D · Computer Vision

Vision systems that answer
operational questions.

Detection tells you a box is on screen. These five systems tell you how many people entered, whether a bag was left behind, whether an invoice is safe to post, whether a part is faulty, and where a photo is in an untagged archive. Each is open source, benchmarked, and runnable on your own machine.

1.0000AUROC, defect detection
100%Auto-post precision, invoices
1.39%Frames needing a reasoning model
2.3×Realtime on 4K video
49Passing tests

Five systems

Every figure below was measured, not estimated. Each repository includes a short technical paper covering method, results and — deliberately — the limitations.

01

Traffic & Footfall Analytics

Camera → counts, dwell time, queue wait

Counts objects crossing a line by class and direction, measures how long each lingers in a zone, and estimates queue wait using Little's Law — which needs only counts, so it survives crowds where tracking degrades. Hysteresis eliminates the double-counting that makes naive counters unusable: on 400 frames of a track jittering on the line, a naive counter produced 196 false counts and this one produced zero.

1.32× realtime on 4K 42.7 FPS detector 0 false counts under jitter 13% agreement, two independent wait estimates
YOLO11 · ByteTrack · OpenCV · ONNX Runtime · FastAPI
02

Video Sentinel

Tiered video understanding under a cost budget

Running a reasoning model on every frame of one camera costs more per day than the camera earns in a year. So a cheap detector watches everything, arithmetic rules nominate moments worth a second look, and segmentation plus a vision-language model run only on those — with the model's output forced into a fixed schema so a hallucinated field raises an error rather than an alert. Configuration alone moves the cost by 7×.

1.39% of frames reach the reasoning tier 2.30× realtime 38.5 FPS tier 1
YOLO11 · ByteTrack · SAM 2 · Vision-language model · Pydantic · FastAPI
03

Document Extraction

Invoice → validated JSON, with a routing decision

Extraction is the easy half. The half that makes it a product is knowing when the extraction is wrong — because a wrong total entering a ledger costs more than the automation saves. An invoice is an arithmetic object: line items sum to the subtotal, subtotal plus VAT equals the total. Those identities are free ground truth on every document, so the system can prove its own answer before posting it unsupervised.

100% auto-post precision 92% fully correct, unattended 197 ms per document 5 different layouts
Tesseract · PyMuPDF · OpenCV · Pydantic · optional VLM fallback · FastAPI
04

Industrial Defect Detection

Trained on good parts only — catches faults never seen

A classifier needs examples of every defect, and a factory has thousands of good photos and perhaps a dozen bad ones — of the defect types that already happened. This inverts the problem: model normality in fine detail, flag anything that departs from it. No defect is ever labelled, and novel fault types are caught as a consequence rather than an extension. Results match the published benchmark.

1.0000 image AUROC 0.9864 pixel AUROC 0% false alarms at 100% recall 11.6 s to train
PatchCore (implemented from the paper) · WideResNet-50 · greedy k-centre coreset · FastAPI
05

Visual Search

Search an untagged archive by describing it

Image collections are searchable only to the extent that somebody described them — and that description is fixed at the vocabulary chosen when it was written. This embeds images and text into one shared space, so a typed English sentence finds pictures nobody captioned, and the searchable vocabulary is open-ended. A controlled comparison here showed query phrasing alone is worth 14 accuracy points.

100% text→image precision@10 97.6% image→image precision@10 0.04 ms per query
CLIP · FAISS (exact + HNSW) · FastAPI

Run them on your own files

All five share one interface. Upload a video, an invoice or a photo of a part and watch the real pipeline work — not a recording, not a mock-up.

On your machine

git clone https://github.com/aliaht99/CodexaCVStudio
cd CodexaCVStudio
pip install -r requirements.txt
python app.py

Opens at 127.0.0.1:7860. Nothing leaves your machine — every frame is processed locally.

Share a live link

python app.py --share

Prints a temporary public URL tunnelled to your own machine — useful for sending a working demo to a client for an afternoon, with no hosting involved.

A permanently hosted version runs on CPU only, so video processes at roughly realtime rather than faster. Local Apple Silicon or an NVIDIA GPU is several times quicker.
Open the live demo Get the source Discuss a vision project

How we build

The same principles run through all five.

Measured, not asserted

Every number on this page comes from a reproducible script in the repository. Where a result is flattering, the harsher metric is reported beside it.

A check that didn't run isn't a check that passed

Silent success is the dangerous failure. One of these systems auto-approved 47% of documents wrongly because a validation step was skipped rather than failed. Finding that is why it now doesn't.

Cost is an architecture decision

The expensive model runs on 1% of frames because the cheap one decides when it's needed — not because the expensive one was tuned.

Limitations are documented

Each paper ends with what the system does badly and where it would break. A system whose failure modes are unknown isn't ready to deploy.