06 / 07 · Case study
Owl Eye
Role
Computer Vision Engineer
Discipline
- Engineering
Context
Sports tech
Year
2025
Owl Eye aims to do with one phone camera what an 8-camera, $60–70K USD rig does: accurate enough on clean shots to give amateur badminton the call support only professional tournaments currently get.
As part of a 3-person team, I owned the landing-detection and homography pipeline, the step that turns a tracked 2D shuttle path into an actual in/out call, built on top of an existing open-source shuttle-tracking and pose-estimation model.
$60–70K USD
to install the only existing line-call system, an 8+ camera Hawk-Eye rig; Owl Eye's entire hardware budget is one phone
~10cm
landing-position error on a representative test shot, most accurate on lob shots
2
real badminton clubs used for field testing (PAC and KC Badminton Club)
3
person team, in which I owned the landing-detection and homography pipeline
Officiating scales down as disputes scale up
A badminton smash has been clocked at 565 km/h, and every one of those shots eventually needs a line call.
Professional tournaments handle it with up to ten line judges. Semi-pro events, like the Canadian Nationals, get one or two. Amateur games, where the overwhelming majority of badminton is actually played, get nothing: each player calls their own lines, on shots too fast to see clearly, which is exactly the recipe for the arguments anyone who's played competitive badminton has seen firsthand.
The technology that solves this at the pro level doesn't reach anywhere close to the amateur level. Hawk-Eye needs eight or more fixed cameras, costs $60,000–$70,000 USD to install, still carries a measured error of several millimetres, and struggles on the uneven, multipurpose-gym floors most local courts actually have. SwingVision solves the phone-camera part, but it's built for tennis, and a badminton line call has to work at a completely different flight speed and trajectory shape. Nothing existed for the actual gap: an officiating tool a club player could point their phone at.

The novel part wasn't tracking the shuttle
Shuttle tracking was already a solved problem. Turning a tracked path into an in-or-out call was not.
Scope call
Build on SoloShuttlePose, an existing open-source badminton tracking model, instead of training a detector from scratch, and spend the team's own engineering time on the piece that didn't exist anywhere yet.
That split is what put my part of the work where the actual novelty was: the landing-detection and classification stage, the step between "here's where the shuttle went" and "here's the call."
A separate branch of the pipeline, built by a teammate, took the same tracked positions and reconstructed a full 3D trajectory using a physics-based drag model, useful for shot visualization and stats on a challenged point, but the call itself only needed the landing frame and where it fell relative to the line.

A pixel isn't a court position
A monocular camera doesn't know where the court lines actually are in the real world. It only knows where they are in the frame.
The homography transform is what closes that gap: using a small set of known court reference points, I mapped the landing pixel into real court coordinates, which is what turns "the shuttle looks close to the line on screen" into an actual measurable in/out call. Get that mapping wrong and every downstream number, however precise, is measuring the wrong thing.


Noise, not geometry
A raw tracked shuttle path has several points that look like a landing: a dip in the trajectory, a bounce, a moment near the ground. Naively taking the lowest point picks the wrong one often enough to matter.
I filtered candidates by tracking average velocity and watching for the specific change in falling motion that actually marks a landing, rather than trusting position alone.
What the clubs exposed
Off-the-shelf court detection held up on controlled test clips and fell over at real venues.
That gap only showed up once we left controlled test clips and filmed at two actual badminton clubs. It was a useful reminder that a model trained on clean reference footage doesn't automatically generalize to a gym floor with different lighting and line contrast, and that a manual fallback is worth keeping even after you've shipped an automated fix.


Honest about which shots it gets right
Owl Eye is most accurate on lob shots, and its clear weak point is a shot that skids instead of dropping.
Lobs are high, clean, parabolic trajectories that give the landing-detection pipeline an unambiguous falling motion to key off. On a representative test shot travelling around 70 km/h, the system landed within roughly 10cm of the true position, with the trajectory model's peak-height estimate off by about 0.75m, most likely from the depth ambiguity that comes with reconstructing a 3D flight path from a single camera. Sliding shots break the assumption the detection logic rests on, that the shuttle visibly falls and stops.

Tradeoff
Owl Eye doesn't reach Hawk-Eye's precision, and isn't trying to. The honest comparison isn't accuracy-for-accuracy against a $60,000 rig, it's against two players arguing over a shot neither of them actually saw.
Amateur badminton currently has zero automated call support. A phone camera that gets close calls right most of the time, on the shots that matter most, is a real improvement over that baseline.