Week 7: Raw Data, Real Swings: Building the Dataset
April 20, 2026
As I researched model architectures, I realized that how I prepare the data matters just as much as which model I pick. My initial plan was to normalize the spectrograms so that each spans a standard intensity range, but I concluded that this would strip out vital information for classification. Normalization would compress or stretch the intensity values of each spectrogram independently, erasing differences in signal bandwidth and swing period between players. A golfer with a longer swing arc generates a wider Doppler spread than one with a compact motion. That difference is diagnostically useful; collapsing it into a uniform scale would remove exactly the kind of variation that separates swing faults from correct form.
To address this, I will be using the raw spectrograms with fixed, consistent axes. Each recording captures a 5-second window, and the intensity axis spans -40 to 40 dB across all samples. Fixing these axes means swings aren’t warped relative to one another: a slow backswing looks slow, a fast downswing looks fast, and any irregularity in timing or Doppler spread shows up as a visible deviation from the norm rather than being rescaled. To preserve the physical context behind each spectrogram, I also track metadata for every recording, including the player’s handicap, height, arm span, and radar cross-section (RCS). These variables affect the radar return independently of swing mechanics, and having them on record means I can account for body-type differences during analysis.
Every spectrogram is labeled with the swing fault identified by coaches reviewing the synchronized slow-motion video. The final dataset contains over 1,000 labeled spectrograms across five swing faults (no shoulder rotation, no hip rotation, inside-out path, outside-in path, and early extension) and correct swings.
Labeling sounds simple, but it’s not. The radar captures returns across many range bins simultaneously, while the golf swing occupies only a few. For each recording, I have to inspect the range bins, identify the one with the strongest return and the most feature-rich micro-Doppler content, extract that bin’s spectrogram, and then manually segment it to center the swing within the 5-second window. The swing itself lasts roughly 1–2 seconds, so positioning it correctly within the frame requires working through the time axis and aligning the downswing peak. Some recordings have clutter from other moving objects or multipath reflections that need to be identified and cropped. Multiply that process by over 1,000 recordings, and it becomes a significant time investment. This is easily the most tedious part of the project so far. But the quality of the labeled dataset directly determines how well any model can learn, so cutting corners here would undermine everything downstream.
Next week, I will be working on fitting my data to a couple of machine learning models to run a case study and find the best-performing base model, which I can then tune to build my final model.

Leave a Reply
You must be logged in to post a comment.