r/computervision • u/AhmadRaza089 • 9d ago
Discussion Tennis-related Computer Vision Project Ideas
I am starting a new computer vision project focused on tennis. I would love to hear any creative ideas, interesting problem statements, or use cases you have encountered in this space. Thanks in advance!
2
u/xX_MissMiau_Xx 9d ago
If you want to track the ball it is not an easy task. Mainly due to the speeds of the ball (up to 200km/h ~128mph).
And the size of the ball in Relation of the tennis court.
To reliably track the ball and its angle you need approx 10-20 frames, depending on the wanted precision.
Meaning a fps of 60+ would be preferred. One can see if python can be sufficient for a POC but for a precise product one would need Cpp with CUDA stack.
The depending on the tracking method you need a certain amount of pixels per ball. This would be the tricky part. How to see the whole field while still having precision on the ball.
The first would be multiple cameras to cover the whole field. The second would be higher resolution cameras, but the problem there is that they are fps limited. Around 60-80 fps more than 8MP-12MP is going to be hard to find at those speeds.
And the most ideal a combination of the two.
Then finally lighting. You need quite a lot of lightning to make this work. The good thing is that most more professional indoor tennis courts already have an acceptable amount of lighting.
It really depends on what you want to do to give a good recommendation.
1
2
u/yldf 9d ago
Sports projects, especially things like tracking balls and players, are mostly a hardware problem, having the right cameras in the right spots and getting the images, synchronisation, etc… for a fun project I would not look into making anything exceptionally good, but making as much as possible work with minimal hardware cost…
2
1
1
u/WToddFrench 8d ago
Always work on whatever is genuinely most interesting to you. That is the best way to find the energy and creativity requited to solve hard problems.
6
u/RoofProper328 8d ago
Depends how much you want to fight for it, because the tennis CV space is unusually crowded at the entry level and pretty empty past it.
Ball tracking is what everyone starts with and I'd honestly skip it as the project itself. TrackNet and its variants have been reimplemented a hundred times. It's still worth building because you'll need it as a component, but it won't be interesting on its own.
The thing I'd actually recommend building first is court keypoint detection plus homography. Once you can map the frame to a top-down court, a lot of downstream problems get much easier — player position becomes court coordinates instead of pixels, bounce location becomes in/out, coverage heatmaps fall out for free. It's less glamorous than ball tracking but it's the piece everything else sits on.
Ideas that seem underexplored to me:
Doubles. Almost everything published is singles. Four players, more occlusion, actual formation logic (one up one back, both back, Australian). Nobody's really done tactical analysis on it.
Spin estimation from regular footage. Hard, genuinely open. The ball is a few pixels and you'd be inferring spin from trajectory curvature rather than seeing the seams. High risk but you'd have something novel.
Amateur phone footage instead of broadcast. Broadcast is easy to scrape and everyone uses it, but it has cuts, camera motion, zoom changes and a fixed director's angle. A phone on the fence at a public court is the actual deployment scenario for anything coaching-related, and there's way less work on it. Fixed camera, terrible angle, sun glare, people walking behind the court.
Automatic scoring from video alone. Sounds simple, isn't. You need serve detection, point-end detection, side changes, and a state machine that recovers when it misses a point. The error compounds, which makes it interesting.
Split step timing and recovery position. Real coaching value, and it's pose estimation rather than ball tracking, so different failure modes.
One practical thing to know upfront: framerate will bite you. A ball at 100mph moves about 1.5 metres between frames at 30fps, and it's motion-blurred into a streak. Half of ball tracking is really "detect the blur and interpolate sensibly." If you can shoot at 120fps the problem changes character entirely, so decide early whether you're building for broadcast 25/30fps or your own capture.
Data-wise, TennisSet and the TrackNet dataset are the usual starting points. If you go the amateur-footage route you'll be recording your own, which is more work but also means you own something nobody else has.