How would I approach tracking a very fast (100 mp/h) moving object?
I want to build a golf swing analyzer similar to GolfTec’s OptiMotion
A golf swing only takes 1 to 2 seconds and I’m not trying to do pose estimation in real time.
My basic idea was to
- continually capture frames in a loop
- detect Time1 (when the clubhead moves from behind the ball to 12 inches behind)
- detect Time2 (when the clubhead is at impact at the ball)
- pause the recording until I press a button,
- save the recording from T1 to Time2 + .5 seconds (total time likely < 2 seconds)
- load the saved video and perform posture analysis in another window allowing me to move back/forward
- once I press the resume button, continue the recording loop
Perhaps I could detect Time2 with a microphone (ball impact is pretty distinctive)
and then save the frames from Time2 -1 second to Time2+1second.
I’m open to other suggestions.
that’s all AI, generic “human pose estimation”, so the “measurements” are ballpark guesses. hip angle… hahah.
whatever you do, you’ll need high frame rates, because your subject/object is moving fast.
don’t expect much engagement when you’re just asking about the video acquisition step. that’s plumbing, i.e. “boring”. that’s merely a programming issue. computer vision comes after you have the data.
Thanks, I’m not looking here for help on the plumbing, my immediate question is just:
How would I best detect the movement of the clubhead at 2 instances:
- when it starts to move away from the ball (a slow movement)
- when it returns to the ball (a very fas movement)
I have this camera 260fps usb camera
assuming you don’t need to do this in realtime, you can always just train an object detector (neural network or something simpler) on the shape of the club head and the ball, and run that.
if you’re willing and able, stick some retro-reflective tape on the club head, and a ring light around the camera. retroreflectors appear a lot brighter than anything else in the picture. trivial to segment.
perhaps you might wanna track the thing in 3D too?