Brenden Runion

More Projects

Live
PythonStreamlitscikit-learnscikit-imageOpenCVDocker

AI Color Harmonizer

Palette extraction, mood inference, and harmony generation

Upload any image and get back its dominant palette, an inferred mood, and color harmonies tuned to match. Clustering runs in CIE Lab so perceptual distance is meaningful, near-identical clusters merge by ΔE, and every parameter is exposed live in the sidebar.

7Mood categories
4Harmony schemes

Highlights

  • K-means in CIE Lab with silhouette-based K selection, ΔE cluster merging, and small-cluster pruning
  • Rule-based mood inference - calming, energetic, cozy, minimal, dramatic, pastel, vibrant - with warm/cool and brightness tags
  • Complementary, analogous, triadic, and split-complementary harmonies, adjusted to the image’s own saturation and brightness
  • Accent detection scored on hue distance, saturation, and salience
  • Grid, uniform, and SLIC superpixel sampling, plus JSON export of the full analysis
Completed
Pythonscikit-learnscikit-imageOpenCVRoboflowJupyter

GLCM X-ray Classifier

Texture features vs. raw pixels on COVID-19 chest X-rays

Classifies chest X-rays as COVID-19, normal, or pneumonia, and asks whether 36 GLCM texture features can replace 262,144 raw pixels. They effectively can: the texture model lands within 0.56 points of the pixel baseline while shedding 99.99% of the dimensionality - the difference between a model that deploys and one that does not.

96.13%Accuracy from 36 GLCM features
96.69%Accuracy from 262,144 pixels
99.99%Fewer features

Highlights

  • GLCM texture extraction benchmarked head-to-head against a flattened-pixel baseline
  • Logistic Regression, Random Forest, SVC, and k-NN tuned with GridSearchCV and 5-fold cross-validation
  • Roboflow API preprocessing to strip annotation artifacts from 603 source images
  • Confusion matrices, per-class metrics, and feature-importance analysis for every model
In Progress
PythonTensorFlowKerasscikit-learnJupyter

ASL Fingerspelling Classifier

CNN recognition of the American Sign Language alphabet

A CNN trained to read the ASL alphabet from a raised hand: 26 letters plus "space" and "nothing," classified from 200x200 images. Right now this one is mid-refactor - the original single notebook is being split into a proper asl_classifier package with YAML-driven configs, which is why there is no live demo yet.

99.22%Validation accuracy
28Classes (A-Z, space, nothing)
223K+Training images

Highlights

  • CNN with 3 convolutional blocks, dropout regularization, and a softmax head over 28 classes
  • Manual hyperparameter search across filter counts, dense width, dropout rate, and network depth
  • Baseline-vs-optimized model comparison with confusion-matrix and misclassification analysis
  • Actively being restructured from a single notebook into an installable package with staged notebooks and YAML configs
  • Planned: real-time webcam recognition and a Gradio/Streamlit demo

Interested in collaborating or have a project in mind?

Get In Touch