vivekworkbuckmaster institute
← work

May 2022 to Aug 2022 · Vancouver, BC

Software Developer Intern

The Buckmaster Institute

Tech
Python, OpenCV, Scikit-learn, Pandas, NumPy
Date
May 2022 to Aug 2022
Status
Complete
Links
buckmaster.ca

The Buckmaster Institute is a small Vancouver software company running independent, long-horizon research projects meant to become papers or products over time. I joined as a Junior Software Developer for a self-directed, summer-long research project: building a computer-vision system to recognize musical notes in digital sheet music.

Notehead Detection Pipeline

Problem

The brief was to detect musical noteheads in scanned sheet music using template matching, with no existing benchmark inside the company for this specific case and no ready dataset to validate against.

Approach

I built the detection pipeline in OpenCV, matching a sample notehead template against pixel data across the score, then added a tunable matching threshold once a straight pixel match reliably missed real notes and picked up false ones. Mapping the accuracy-preserving threshold range per score individually pushed detection accuracy from roughly 30 to 50 percent up to 100 percent across more than 20 scores.

Technical Challenges

Sheet music noteheads vary just enough between engravings, and between staff-line and off-staff placement, that no single threshold generalized across scores. Each one needed its own calibrated range, which is what the threshold-mapping step was built to solve.

Validation Framework and Dataset

To make the detection numbers trustworthy, I built a Python validation framework that extracted the exact coordinates of every matched notehead into CSV and compared them against a verified ground-truth set, flagging false positives and misses within a defined pixel tolerance. Running the pipeline across templates pulled from other scores entirely produced a benchmarked dataset of more than 25,000 coordinate points, along with a two-template matching approach (on-staff and off-staff noteheads) that held its accuracy across the full calibrated range.

Other

  • Owned a research project independently for a full summer term, from problem framing through a validated dataset.
  • Delivered CSV datasets and error-visualization outputs later used in the company's downstream machine learning research.