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.
Opening Computer Vision Lab workspace…
Processing image…
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
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 componentsFace & 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 inferenceWeather & 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 machineAlpaca 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 outputRetinal 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 validationAnimal 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 prototypeModel 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.
| Model | Measure | Result | Test images |
|---|---|---|---|
| Weather | accuracy | 96.3% | 189 |
| Retinal OCT | accuracy | 89.3% | 1,200 |
| Parking | accuracy | 99.9% | 1,278 |
| Alpacas | box mAP50 / mAP50–95 | 86.1% / 68.4% | 72 |
| Tiger pose | pose mAP50 / mAP50–95 | 96.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