Skateboard AI

Challenge

Many people are finding less and less time to train skate tricks regularly because the parks are too far away or overcrowded. Thus, there is a need to be able to train independently of time and place.

Solution

The goal was to offer the broad mass of skateboarders a possibility to be evaluated independently of training times. Through an app, they should be able to upload a video of their trick and have it evaluated with the help of an AI algorithm. The evaluation therefore takes place without having to rely on a judge.

1. Potential analysis

Based on the problem and goal described above, we got an idea about the required functions, technologies and architectures of the app. In cooperation with the customer, we were able to quickly start the implementation of the project.

2. Use case definition

Based on the process analysis, we defined the use case of the desired app. Such a use case contains all possible scenarios that can be accomplished with the help of the system.

Name

Skateboard AI

Brief description

By uploading a video to an app, users should be able to have the trick evaluated by an AI algorithm.

Actors

Masasana GmbH

CA7 GmbH

Precondition

The AI is trained and the app is developed.

Postcondition

The rated trick is available to the user and is added to his profile.

Process – normal scenario

1. The user authenticates to the system.

2. The user uploads a video of a trick.

3. The algorithm checks and processes the uploaded data.

4. The algorithm detects a trick.

5. The algorithm detects that the trick has been landed.

6. The system issues a feedback to the user in which the trick is evaluated.

7. The system saves the data in the user’s profile.

Process – alternative scenario

1.1 The user cannot authenticate himself.

1.1.1 The user registers and creates a personal profile.

1.1.2 Continue as in step 2.

5.1 The algorithm detects that the trick has not been landed.

5.1.1 Continue as in step 6.

Process – error scenario

1.2 The user enters incorrect login data and cannot access his profile.

1.2.1 The system issues an error message.

3.1 The algorithm does not check and process the uploaded data.

3.1.1 The system issues an error message.

4.1 The algorithm does not detect a trick.

4.1.1 The system issues an error message.

3. Iterative model creation

Fig. 1: data flow

We started the project with a clear vision of different systems that should complement each other well. For this purpose, we created a data flow.

In order to be able to recognize and evaluate a trick, the algorithm first had to get to know them. To do so, we relied on technologies such as LiDAR, which allowed us to locate both the human and the skateboard itself in three-dimensional space. The resulting coordinates were evaluated and used to train an AI model. In this process, Figure 2 depicts the movement of a point of the Pose Estimation Skeleton during the performance of a trick.

Fig. 2: position tracking

One task was to train an artificial intelligence so that it can recognize and evaluate different tricks. This required a large number of videos, which were then labeled by us with LabelImg.

The result of the training is that the AI detects the skateboard in the form of position tracking and recognizes the trick based on the positions within the movements. The AI image recognition distinguishes performed tricks into landed and not landed. Accordingly, the artificial intelligence algorithm recognizes the trick, knows how it is located in case of success and can output an evaluation of the trick based on this.

 

 

 

4. Integration and result analysis

After integrating the AI into the custom-developed app, we were able to integrate it for the customer. For this purpose, we gave the customer a readme via Git, which provided an introduction to the function of the app and the artificial intelligence.