AI Technology use in Table Tennis

This user has no status.
This user has no status.
Member
Feb 2021
22
16
46
Hey guys!

Hope all is well!

So we are buzzing to have OSAI on board for TTDSL which will begin later this year! OSAI are a AI company which provide real time stats on literally anything you want during a match.

<iframe src="https://www.facebook.com/plugins/video.php?height=314&href=https%3A%2F%2Fwww.facebook.com%2FTableTennisDaily%2Fvideos%2F270377417817931%2F&show_text=false&width=560" width="560" height="314" style="border:none;overflow:hidden" scrolling="no" frameborder="0" allowfullscreen="true" allow="autoplay; clipboard-write; encrypted-media; picture-in-picture; web-share" allowFullScreen="true"></iframe>

So our question is, what stats do you want to see? ... Average rally length? Ball placement?

OSAI tech in action below:

Where do you see AI being used in table tennis in the future?

Looking forward to your creative ideas.

TTDSL
 
Last edited:
This user has no status.
This user has no status.
Member
Jan 2020
488
316
1,248
They may visualise the speed, and pontentially spin, change like in the video in replays sometimes. It increases understanding for the audience a lot better than, say, a text line (“spin: 600 rpm”). If the ball spins a lot, it gets red or something. I would love to see that.


Imagine a chopper returns a blue line, the attacker makes a red line, the the chopper returns a float white line, then the attacker makes a mistake...
 
Last edited:
This user has no status.
This user has no status.
Member
Sep 2017
402
162
863
Read 2 reviews
They may visualise the speed, and pontentially spin, change like in the video in replays sometimes. It increases understanding for the audience a lot better than, say, a text line (“spin: 600 rpm”). If the ball spins a lot, it gets red or something. I would love to see that.


Imagine a chopper returns a blue line, the attacker makes a red line, the the chopper returns a float white line, then the attacker makes a mistake...

Spin and speed would be great!

 
This user has no status.
This user has no status.
Well-Known Member
Aug 2017
1,069
506
2,458
They may visualise the speed, and pontentially spin, change like in the video in replays sometimes. It increases understanding for the audience a lot better than, say, a text line (“spin: 600 rpm”). If the ball spins a lot, it gets red or something. I would love to see that.


Imagine a chopper returns a blue line, the attacker makes a red line, the the chopper returns a float white line, then the attacker makes a mistake...

that would be awesome 😀

 
  • Like
Reactions: thomas.pong
This user has no status.
This user has no status.
Well-Known Member
Jul 2017
1,788
863
2,976
This is good.
However, it isn't an AI yet. It is a data acquisition system now. It needs to feed data into a database for the different pros.

Measuring speed wouldn't be too difficult but measuring spin would be almost impossible without having multiple cameras to accurately determine how the path of the ball varies due to spin/Magnus effect.

I would like to know how a players wins or loses points. Then one can find player A's relative strength compared to player B and vice versa. This data could be used to aid players on how to beat opponents. The computer would then be like a coach.

I have 3 practice partners. Each is different. I have them figured out but if I had never met them before at a tournament I would have to learn how to beat them the old fashion way and hopefully I could adapt fast enough. A program that could tell me ahead of time on how to play my next opponent or even potential opponents would be helpful. The AI would need to tell me what shots I make that would give my opponent the most trouble. The AI would also need to tell me how it thinks the opponent will play to take advantage of my relative weakness. This AI would obviously know what my weaknesses are an list them so they are high priority things to practice.

Basically, make the AI a coach on tactics.

There are other things that may be useful like the percentage of times one wins a point if the ball passes less than 4 inches ( 100mm ) over the net and lands within 4 inches of the edge of the table. Compare this with balls hit not placed so well.

Search for those things that make the biggest difference. For instance, years ago I sucked at returning serves. I could figure them out eventually but by then it was too late. I got a coach that was relatively good at serving and that is what we practiced. over and over again. The reason for this is that each point starts with a serve then a serve return. This is the most important part of the game.
 
This user has no status.
This user has no status.
This user has been banned.
Dec 2020
312
217
883
I would like to know how a players wins or loses points. Then one can find player A's relative strength compared to player B and vice versa. This data could be used to aid players on how to beat opponents. The computer would then be like a coach.

I have 3 practice partners. Each is different. I have them figured out but if I had never met them before at a tournament I would have to learn how to beat them the old fashion way and hopefully I could adapt fast enough. A program that could tell me ahead of time on how to play my next opponent or even potential opponents would be helpful. The AI would need to tell me what shots I make that would give my opponent the most trouble. The AI would also need to tell me how it thinks the opponent will play to take advantage of my relative weakness. This AI would obviously know what my weaknesses are an list them so they are high priority things to practice.

Basically, make the AI a coach on tactics.
THIS, exactly: we want stats, and not only ball motions stats but footwork, recovery, transitions and all kind of moves speed and placement stats, those prefered by each player depending on serving or returning. Measuring feet moves speed and placement is crucial to me.
 
  • Like
Reactions: TTDSL
This user has no status.
This user has no status.
Member
Jan 2020
488
316
1,248
Measuring speed wouldn't be too difficult but measuring spin would be almost impossible without having multiple cameras to accurately determine how the path of the ball varies due to spin/Magnus effect.


Yes they need a few high speed cameras. They started doing this in 2019 in some world tournaments where they showed speed and spin (as numbers though, which are kind of incomprehensible for chaps like me). It’s probably quite an investment but the technologies are already popular. I hope it’ll come soon. Especially now WTT has quite a lot of focus on the visual part of the sport.

 
  • Like
Reactions: TTDSL and lugi2000
This user has no status.
This user has no status.
Member
Jan 2016
470
743
1,409

Similar to how chess has websites like https://www.openingtree.com/ and other chess databases.
I would love to see an analysis on how specific players like to start the point, whether they are the server or receiver, along with popular responses in the following third ball, fourth ball, and so on.

Along with popular responses, I want to the winning percentages of the choice.
The lichess analysis board has a good chess example of this:
But since players make shots of varying quality, stats on the shot itself can be additional detail.

test.png

 
This user has no status.
This user has no status.
This user has been banned.
Dec 2020
312
217
883


I'm also an avid chess player (used to play in official tournaments as a teen) and I couldn't agree more about that kind of interface with stats, so usefull... I'm a registered user on chess.com who does more or less the same but with real time analysis telling if the move just played is strong enough. Also, it would be nice to have TT puzzle, exactly as it's done in chess to have better understandaings of tactics: what better move/stroke should be played next to get the advantage, based on actual game played by pros ? ;-)

 
  • Like
Reactions: TTDSL and ttfunfan
This user has no status.
This user has no status.
Member
Nov 2018
102
61
227


Yes they need a few high speed cameras. They started doing this in 2019 in some world tournaments where they showed speed and spin (as numbers though, which are kind of incomprehensible for chaps like me). It’s probably quite an investment but the technologies are already popular. I hope it’ll come soon. Especially now WTT has quite a lot of focus on the visual part of the sport.

Hii Tango so spin is possible to measure with current technology? This needs to be used in major events, similar to tennis with serve speed.

 
says toooooo much choice!!
says toooooo much choice!!
Well-Known Member
Jul 2020
1,796
1,266
4,570
Read 11 reviews
Basics stats, such as - unforced errors, outright winners. serve receive %, so maybe 100% serve returned, but only 30% of those points won by receiver. Server would have 70% points won on serve, can then be broken down further, server won x points with 3rd ball attack, y with 5th ball etc
breakdown of points won FH loop, FH counter top spin, FH drive, BH block etc.
serve placement, serve type, top side spin, no spin, back side spin, long, short etc
receive type, push, flick, block etc.
points won attacking, points won defending,
depending how in depth you want to go, it’s almost endless!!
so the above could be used at game intervals for the ‘TV’ spectators and pundits to digest and comment on.

in game / point by point, serve speed/spin, winning shot, speed/spin would be great. Is the Tech fast enough to post in rally? Or would it be better between points?
the idea about shot tracing is great as well, golf it’s done live, because there’s so much time to watch the shot, with TT it may have to be done in between points, screen could become a blur pretty quickly!!
 
  • Like
Reactions: TTDSL
This user has no status.
This user has no status.
Member
Feb 2021
64
63
150
I tried my hand at incorporating some very primitive statistical analysis in a last-minute women's finals preview for WTT Doha: https://edgesandnets.com/2021/03/06/mima-ito-vs-hina-hayata-finals-preview-a-statistical-approach/ Some data that would be interesting:
1) Serve splits between short, long, backhand, forehand, and the ability to filter this data across different players and match-ups
2) Serve return splits between push, chiquita, flick, loop
3) Length of a rally

These could all provide some insight in better understanding pro match-ups and shouldn't be too hard to obtain with modern AI techniques and a fair bit of data labeling
 
This user has no status.
This user has no status.
Well-Known Member
Jul 2017
1,788
863
2,976
3) Length of a rally
Most of what you are talking about is just collecting statistical data. AI would need to makes some sense of that.
Here is an example using the percentage of returns.
The length of rally is dependent on the percentage of returns. Who wins the rallies depends on the relative return percentage between the two players.

If player A can land the ball 2/3 of the time, then player B only needs to be able to return 1/2 of the balls to break even. In this case there are 3 outcomes after 1 round. Player A will miss 1/3 of the time and get the ball back 2/3s but player B will return 1/2 of the 2 thirds so there is a 1/2 of 2/3 that he will miss and 1/3 chance he will get the ball back but the chances the ball is still in play after going back and forth is only 1/3. If the exact same shots were played again there would be a 1/9 chance the ball is still in play and 4/9 chance that either player lost. This sequence can go on and on but you can see that the chance the ball is still in play after 4 strokes is only 1/9.
This is typical of beginners or very aggressive better players.

If player A was better and could land the ball 4/5 of the time then player B would only need to return 3/4 of them to break even. After two strokes there would be a 1/5 chance that A misses and a 1/4 of 4/5 that B misses and the ball would still be in play 3/5 of the time. After 4 strokes the ball would still be in play 9/25 of the time. Can you see the pattern?

Now the two players will not be making the same strokes over and over and the percentage of landing each stroke will not be the same. On top of that the percentage of making a shot may have a standard deviation or bell curve.

A computer could play out all the combinations and figure out the probable outcomes using a massive amount of computer power.
Now things get tricky because the goal is not only to return the ball but return the ball so the opponent has a lower chance of returning it. Now player A has choices. He may go for a 9/10 chance of landing the ball but the opponent also has a high chance of returning the ball, or he may take a riskier shot if the percent the opponent will return is much lower.

Now here is where the chess players go gaga.
Like in chess a player A has different options and the player B has different options to respond to player A's options. This is like a search tree in chess but with probabilities. The same kind of tree search will work as in chess. The tree searching algorithm is the mini-max method. Adding alpha-beta cutoffs will increase the efficiency.

So the first step is to collect data. Lots of data. The second step is to use a method like what I have provided to use the data to predict outcomes. There person that has this could probably make a lot of money betting on TT results.

The evaluations could be even more complicated if you take into account the sequence of types of shots. This could account for a surprise element. The players players know that in chess the sequence of move is important.
 
This user has no status.
This user has no status.
Member
Feb 2021
64
63
150
Most of what you are talking about is just collecting statistical data. AI would need to makes some sense of that.
Here is an example using the percentage of returns.
The length of rally is dependent on the percentage of returns. Who wins the rallies depends on the relative return percentage between the two players.

If player A can land the ball 2/3 of the time, then player B only needs to be able to return 1/2 of the balls to break even. In this case there are 3 outcomes after 1 round. Player A will miss 1/3 of the time and get the ball back 2/3s but player B will return 1/2 of the 2 thirds so there is a 1/2 of 2/3 that he will miss and 1/3 chance he will get the ball back but the chances the ball is still in play after going back and forth is only 1/3. If the exact same shots were played again there would be a 1/9 chance the ball is still in play and 4/9 chance that either player lost. This sequence can go on and on but you can see that the chance the ball is still in play after 4 strokes is only 1/9.
This is typical of beginners or very aggressive better players.

If player A was better and could land the ball 4/5 of the time then player B would only need to return 3/4 of them to break even. After two strokes there would be a 1/5 chance that A misses and a 1/4 of 4/5 that B misses and the ball would still be in play 3/5 of the time. After 4 strokes the ball would still be in play 9/25 of the time. Can you see the pattern?

Now the two players will not be making the same strokes over and over and the percentage of landing each stroke will not be the same. On top of that the percentage of making a shot may have a standard deviation or bell curve.

A computer could play out all the combinations and figure out the probable outcomes using a massive amount of computer power.
Now things get tricky because the goal is not only to return the ball but return the ball so the opponent has a lower chance of returning it. Now player A has choices. He may go for a 9/10 chance of landing the ball but the opponent also has a high chance of returning the ball, or he may take a riskier shot if the percent the opponent will return is much lower.

Now here is where the chess players go gaga.
Like in chess a player A has different options and the player B has different options to respond to player A's options. This is like a search tree in chess but with probabilities. The same kind of tree search will work as in chess. The tree searching algorithm is the mini-max method. Adding alpha-beta cutoffs will increase the efficiency.

So the first step is to collect data. Lots of data. The second step is to use a method like what I have provided to use the data to predict outcomes. There person that has this could probably make a lot of money betting on TT results.

The evaluations could be even more complicated if you take into account the sequence of types of shots. This could account for a surprise element. The players players know that in chess the sequence of move is important.


what you are describing is almost certainly out of the scope of what this company or even any start-up can do. Table tennis is not like chess and go where you can encode the entire game in a very compact and easy representation. I am proposing to start out with the basic image recognition stuff to give us basic stats, and let humans interpret them to supplement the fan experience and eventually the coach/management experience. This is how quantitative analysis has revolutionized the NBA. The more involved stuff (e.g. this guy dribbles to the right 60 percent of the time) has been actually been pretty useless for them.

AI isn't going to solve sports gambling, unless you're hoping that it would look at Lin's matches and Dima's matches in this tournament and conclude Dima is hot and Lin is not so hot thie time around. Such technology almost certainly doesn't exist, and if it did, would you even trust it? The players and their conditions are changing every tournament; predicting the winner isn't just some pattern recognition task looking at their previous performance.

 
This user has no status.
This user has no status.
Well-Known Member
Jul 2017
1,788
863
2,976


what you are describing is almost certainly out of the scope of what this company or even any start-up can do.


Who do you think wrote the first chess programs? Most were students or professors. Dan and Kathe Spracklen of Sargon fame where just a couple that wrote a chess program using a mere 6502 and Z-80.

Table tennis is not like chess and go where you can encode the entire game in a very compact and easy representation.
No one has done a tree search in chess for the whole game. Chess programs can search 100,000s of position per second. It takes some processing power.

I am proposing to start out with the basic image recognition stuff to give us basic stats, and let humans interpret them to supplement the fan experience and eventually the coach/management experience.
You are not doing image recognition. You are tracking a TT ball.
Where is the AI? What you are talking about is a data acquisition and collection program.

 
This user has no status.
This user has no status.
Member
Feb 2021
64
63
150
Who do you think wrote the first chess programs? Most were students or professors. Dan and Kathe Spracklen of Sargon fame where just a couple that wrote a chess program using a mere 6502 and Z-80.


No one has done a tree search in chess for the whole game. Chess programs can search 100,000s of position per second. It takes some processing power.


You are not doing image recognition. You are tracking a TT ball.
Where is the AI? What you are talking about is a data acquisition and collection program.
It's true that there may end up being developments faster than I anticipate, but I do not think what you described is possible using existing technology.

You can losslessly store the state of a chess or go board after any move that is both compact and interpretable both to machines and humans, which makes it suitable for machine learning. For table tennis, I guess you could automatically learn a representation or learn directly from video pixels, but such a task sounds significantly harder.

Tracking human pose and robustly automatically knowing who won each point are both AI.

 
Last edited:
This user has no status.
This user has no status.
Well-Known Member
Jul 2017
1,788
863
2,976
It's true that there may end up being developments faster than I anticipate, but I do not think what you described is possible using existing technology.
Sure there is. There is a lot of computing power for cheap now days. My graphic card has 2560 CUDA cores.
https://www.nvidia.com/en-us/technologies/cuda-x/
You can buy a cheap CUDA core development system for a few hundred $.

You can losslessly store the state of a chess or go board after any move that is both compact and interpretable both to machines and humans, which makes it suitable for machine learning.
You would need to store a sequence of trajectories for each rally. Memory and storage is cheap. To make searching an indexing faster use hash codes like the chess computers do.

For table tennis, I guess you could automatically learn a representation or learn directly from video pixels, but such a task sounds significantly harder.

Tracking human pose and robustly automatically knowing who won each point are both AI.

I would only use the video to compute the trajectory, speed and spin.
Chess programs think 30 moves ahead now. TT rallies rarely go that long. The tree would also be very narrow after a strokes.
 
Top