Alex was born in Russia, and wrote his first “Hello World” at 7 (don’t worry, he hasn’t progressed much since). He is now a rising junior at Phillips Exeter Academy, and thinks he’s a big deal because of that. After brief flings with molecular biology, planetary science, neuroscience, and linguistics, Alex has come back to his first love, computer science, and now hopes to do something with it professionally. In his free time Alex reads about the future, plays squash, and occasionally meditates. He’s a generally chill guy too, so you should talk to him if you get the chance.
Project: Tracking Algorithm for Squash
Squash is a ball sport played by two players in a four-walled court with a small hollow rubber ball. The players must alternate in striking the ball with their racquet and hit the ball onto the playable surfaces of the four walls of the court. The goal of this computational project is to analyze squash game footage by tracking the ball and the movements of the players. The objectives include printing the positions of the ball and players at any specific moment and displaying the trajectories of the ball and the players.
Summary of Results
Just from the footage of a squash game, I am able to extract the positions of the players for all frames and the position of the ball for almost 70% of the frames. I used ImageCases to detect the players and DominantColors to differentiate between them. To detect the ball, I ended up binarizing the image, normalizing it, binarizing it again and then clearing out the noise. Lastly, I made a guess on which remaining component of the image is the ball based on its position relative to other components.
In the future, I would like to be able to predict the timestamps of each shot and the type of shot that was made in order to produce a written log of a squash game just from looking at the footage. This data could then be used to analyze different strategies.