All studio tools

Image processing & visual recognition

Computer Vision Lab

Try evaluated image classifiers, alpaca and tiger detectors, color tracking, marker overlays, and face redaction. Models run locally, with validation results and limitations shown alongside each demo.

OpenCV · YOLOv8 · ONNX · Web Workers

View source on GitHub

Opening Computer Vision Lab workspace…

Input

Processing image…

01 Source
02 Color tracking

Images and camera frames stay in this browser. Processing is capped at 768 × 512 pixels; exports use that working resolution.

Computer vision, from pixels to predictions

I built this lab to explore how algorithms extract structure from images: edges, connected regions, object locations, and class predictions. The interactive controls make each operation visible, with examples, adjustable parameters, and exportable results.

The browser workspace includes image processing, color and rectangle tracking, automatic face redaction, and evaluated weather, parking, retinal OCT, alpaca, and tiger-pose models. Images stay on your device; models load only when needed and run in a worker. The Python tools also support training, dataset validation, and video inference.

Computed results

Image I/O and edge processing run without a display. The Python version uses Canny; the browser exposes a Sobel threshold for direct inspection.
The alpaca detector locates animals with bounding boxes. The Python inference command accepts images or video and exports structured detections.

Models and tools

Image processing & color tracking

Find edges, isolate colors, and track separate connected regions. Circular hue ranges handle colors such as red that cross the hue boundary. Compare the input and output in the live workspace.

OpenCV · image operations · connected components

Face & region redaction

Select regions manually or use pretrained YuNet to find and pixelate faces automatically. Both work on uploaded images and the optional camera. Padding is clipped at image boundaries. The Python workflow supports the same YuNet model or its original frontal-face cascade.

Automatic face detection · manual pixelation · local inference

Weather & parking classifiers

Classify four weather conditions or distinguish occupied and empty parking spaces in Trained models. Upload an image, compare class scores or the SVM decision margin, and export the result. Browser predictions are checked against the Python pipeline.

YOLOv8 classification · support vector machine

Alpaca detection

Locate alpacas in an image, inspect bounding boxes, and adjust the detection cutoff. Export the annotated image or structured results. Non-maximum suppression removes overlapping detections.

YOLOv8 detection · structured inference output

Retinal OCT classification

Classify retinal OCT images as CNV, DME, DRUSEN, or NORMAL and compare the class scores. Evaluation separates patients across training and test partitions. This is an educational model with no clinical validation.

Educational experiment · no clinical validation

Animal pose & webcam prototype

Track rectangular regions in images or an optional camera feed, or inspect a 12-keypoint tiger-pose prediction. The pose prototype is evaluated on later frames from a single source video, so its results do not establish generalization to other animals or settings.

Browser and native rectangle tracking · tiger-pose prototype

Model evaluation

Evaluation uses explicit dataset partitions, with final test data kept outside fitting and epoch selection. Weather images are grouped to prevent duplicates crossing partitions; retinal OCT partitions also separate patients. The linked evaluation report documents the dataset checks and methodology.

ModelMeasureResultTest images
Weatheraccuracy96.3%189
Retinal OCTaccuracy89.3%1,200
Parkingaccuracy99.9%1,278
Alpacasbox mAP50 / mAP50–9586.1% / 68.4%72
Tiger posepose mAP50 / mAP50–9596.2% / 23.7%33

These results describe specific held-out datasets. Parking has no camera identity metadata; tiger pose comes from a single video; OCT has no clinical validation. Model scores and object-detection mAP measure different things. The model controls above include each evaluation’s scope.

Read the split audit, evaluation methods, and failure cases ↗

Scope and limits

Color tracking identifies a hue, not an object’s identity. The marker overlay is two-dimensional and does not estimate depth. Manual regions stay at selected image coordinates; automatic face detection runs on each processed frame and can miss faces, so review the result. Rectangle outlines do not estimate 3D camera pose. The classifiers are small educational experiments rather than validated production systems.

The repository documents course sources, dataset requirements, evaluation procedures, and reproducible test commands.

Source and reproducibility

The repository includes the Python tools, browser workspace, native macOS app, training workflows, and tests. Follow the setup instructions to run the models or explore their implementations.

Explore Computer Vision Lab on GitHub