Requirements

Project Background

Based in India, Infosys is a global leader in next-generation digital services and consulting as well as the Digital Innovation Partner for the Association of Tennis Professionals World Tour with the goal of providing insight into professional tennis matches. At its core sits the Infosys Tennis Platform, which provides various analysis statistics on live performance as well as immersive insight into tennis games. However, the current technology only permits such analysis to be performed with complex and costly equipment, and Infosys seeks to simplify this.


Project Goals

After an initial discussion with the client, the project’s main aim was to create a platform that would analyse clips of tennis matches and output analytics on players, such as shot type and ball speed. This system’s target users would have consisted of professional tennis players and coaches who seek to improve their performance as well as fans who’d like more information on their favourite players.

However, as the project progressed, we realised that there was a crucial lack of support for amateur players as tennis analytics platforms were not easily accessible to the public. Therefore, the scope of our project was widened with the added aim of creating an accessible tennis analytics web application that beginners could use so that they could practice at home with a simple platform that would provide them with detailed yet comprehensible analytics. Furthermore, this technology appeared to be very much in demand, we decided to create a flexible API which would allow Infosys and other developers to access the more detailed analytical data they seek.


User Interviews

In order to establish the foundations of our project – that is, the requirements – we first organised a meeting with our client to understand the scope of what they were aiming for. We then proceeded to offer various possible requirements of interest from which they were to choose. Once they had confirmed their selection, we conducted pseudo-user interviews to ensure that the user’s perspective was consistently taken into account during the entirety of the project.

As our system was more so targeted towards the general public, we had our two main pseudo-users be an amateur adult player and a 12-year-old child. Below are the results of some of our interviews.


Personas

Once the user interviews were completed, we created personas to summarize the collected user data.


Use Case Diagram

Here, we've created a use case diagram to better demonstrate the flow of the platform in how the users would use it.

use case diagram

Use Case Lists

Actor User
Description Identify all shots in a video
Main Flow
  1. Upload video
  2. Scroll down to view all resolts
Result All shot results are shown.

Actor User
Description Look for all shots of a specific type (e.g., backhand)
Main Flow
  1. Upload video
  2. Select desired shot type in dropdown menu
  3. Scroll down to view all results
Result All shots of the desired shot type are shown.

Actor User
Description Look at 3D reconstruction of a shot clip
Main Flow
  1. Upload video
  2. Scroll down to desired video
  3. Click on “View 3D reconstruction”
Result 3D reconstruction of shot clip is shown.

Actor User
Description Share shot analysis results
Main Flow
  1. Upload video
  2. Click on share results button
Result Link to page is copied to clipboard.

Actor User
Description Download 3D pose data
Main Flow
  1. Upload video
  2. Scroll down to desired video
  3. Click on “View 3D reconstruction”
  4. Click on “Download .BVH” file
Result .BVH file with 3D pose data acquired.

Actor User
Description Download video analysis results
Main Flow
  1. Upload video
  2. Scroll down to desired video
  3. Click on share button
Result Link to page is copied to clipboard.

Actor User
Description Use the analysis pipeline API
Main Flow
  1. Click on GitHub link on footer
Result Access to the README.md page has been gained.

Actor User
Description View metrics (e.g., speed, duration, and handedness)
Main Flow
  1. Upload video
  2. Scroll down to desired video
Result Metrics are shown under video thumbnail.

MoSCoW

Functional Requirements

  • Extract 3D tennis shot pose animations from video feed
  • Given a video, recognise which shots are being performed.

  • Viewing analysis in 3D and annotated over video
  • Create web-application frontend
  • Provide important metrics such as shot speed
  • Provide API for external developers

  • Attach 3D models to extracted shot animations
  • Extract 3D player position in relation to court

  • 2D analysis of video feed
  • Persistent, social platform for tennis analysis

Non-functional requirements

  • Open source: Developers must be able to access the API and the backend for their own purposes.
  • Usability: The project aims to facilitate tennis analysis usage and must therefore be accessible to a wide variety of users.
  • Documentation: To help users and developers interact with the API and the web-application, further documentation needs to be provided.

  • Maintainability: To facilitate usage and development of the open-source project, the code should be properly maintained and taken care of.
  • Extensibility (for further modifications and API): The source code should be understandable enough for any external developer to implement the API or extend it for their own purposes.

  • Availability on mobile phone devices: Providing access to the web-application on mobile devices would further increase accessibility to the system.