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. 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. 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. 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.3. Iterative model creation
4. Integration and result analysis