Client system2023

Real-time bowling pin detection

A complete edge-computer-vision system that detects a throw and counts standing pins across two bowling lanes.

Computer vision detecting standing pins on two bowling lanes

Scope

  • Computer vision
  • Edge AI
  • OpenCV
  • TensorFlow Lite
  • Raspberry Pi
  • Coral TPU
View repository ↗

The challenge

A Swiss client needed to identify standing pins from live bowling-alley video—a capability that did not yet exist in their product. The solution had to work with a single camera, cover two lanes independently and integrate with the rest of their software.

The approach

  1. 01Selected and configured a Raspberry Pi camera and Coral USB Edge TPU for on-site inference.
  2. 02Combined motion detection with independent per-lane state machines to identify a throw, wait for the pin deck to settle and trigger inference at the right moment.
  3. 03Trained a custom object detector around the visible top of each standing pin and used repeated inference to reduce the effect of blur and occlusion.
  4. 04Returned the standing-pin count, annotated frame and device identity through an HTTP API.

The outcome

The computer-vision component was delivered as part of the client’s larger application. The client highlighted the quality of the hardware choices, the smooth software integration and the ability to translate a complex ML task into a complete working solution.

★★★★★Verified Codeur.com review
“Aymeric demonstrated a deep understanding of the technical requirements from the outset, identifying and configuring the necessary hardware with remarkable speed and efficiency. His technical expertise is undeniable, but his ability to integrate these technical aspects into a complete solution is what truly sets him apart.”
Justin Theytaz2DS, Switzerland ↗Client · November 2023
Next case studyR-Latplan