https://github.com/chonyy/AI-basketball-analysis
The result is pretty nice. However, the only problem is the slow inference speed. I'm now refactoring the project structure and changing the model to a much faster YOLO model.
60 karma · joined February 6, 2020
https://github.com/chonyy/AI-basketball-analysis
The result is pretty nice. However, the only problem is the slow inference speed. I'm now refactoring the project structure and changing the model to a much faster YOLO model.
https://github.com/chonyy/ML-auto-baseball-pitching-overlay
It's ready for a quick demo. However, there are stiil some little improvements have to make. And I'll build an web app on top of it for people to use it online.
For the other parts like the tracking and the overlay timing, I programmed it by myself.
I implemented SORT algorithm for tracking the ball and some programming logic to capture the overlay timing from each clip.
I would say that the similar workflow could be applied to any ball-related sports. The object detection and the tracking algorithm is basically the same. Then, you could add any sport-specific feature!
For example, I have used a similar method to build AI Basketball Analysis.
Also, may I ask for a simple workflow of this project? Here are some of my questions.
1. What method did you use to get the summary out of all the subtitles?
2. How to get the subtitles of the video (Youtube API)?
3. How to get the timestamp of the specific word in the subtitle?
I would really like to build somthing similar! Thanks a lot!
I'm still trying to improve it! Feel free to follow this project, also check out the Todo list.
BTW, I just want to point out that did anyone notice that the pitcher throw the ball with the exact same posture but it turned out to fly on a completely different path. It's just amazing!
This project takes your baseball pitching clips and automatically generates the overlay. A fine-tuned Yolov4 model is used to get the location of the ball. Then, I implemented SORT tracking algorithm to keep track of each individual ball. Lastly, I will apply some image registration techniques to deal with slight camera shift on each clip.
I'm still trying to improve it! Feel free to follow this project, also checkout the Todo list.
The idea came from this incredible overlay: https://www.youtube.com/watch?v=jUbAAurrnwU&ab_channel=YuTub...
Unfortunately, I don't have written a notebook for it. Maybe you could try to figure it out through the source code? The code itself is actually prettly simple and short.
As an alternative, feel free to play around with it and get familiar with the setup process in the Google colab notebook.
https://colab.research.google.com/github/hardik0/AI-basketba...
Feel free to check out:
https://github.com/chonyy/AI-basketball-analysis
https://towardsdatascience.com/openpose-research-paper-summa...
Please check out: https://towardsdatascience.com/fp-growth-frequent-pattern-ge...
Please check out: https://towardsdatascience.com/apriori-association-rule-mini...
Please check out: https://towardsdatascience.com/fp-growth-frequent-pattern-ge...
However, I have read the OpenPose License which strictly disallows their project for commercial use. My project is for research use only and I'm not making any money from it.
I have mentioned that I implemented OpenPose and link to their GitHub repo. And I also copy and paste their whole license into my repo license.
I want to know is it still possible for me to violate their license in any way?
https://github.com/CMU-Perceptual-Computing-Lab/openpose/blo...
1. I implemented OpenPose to analyze the shooting pose. The angle of elbow and knee is calculated with the data collected by OpenPose.
2. The original shot analysis has a big problem which is that it would misdetect a head as a ball, and that will really mess up my algorithm. I solve this problem by avoiding the detections near the head coordinate collected from OpenPose.
3. The shot release angle is calculated with the first two detection points of the shot analysis.
4. Please note that there will be a relatively big error for the release time since it was calculated as the total time when the ball is in hand for each shot. I would be glad if anyone has a suggestion to solve this problem.
Please feel free to check out the README on GitHub page for more detail.
I found it interesting while I'm building the little simulation in Python. And i think "What if I can visualize this simulation? It would be really cool!" So, I just built it during my holiday :)
Please do be aware there are difference between the visualizer and the simulator. The parameters in the simulator project is closer to our real world, so i have tuned some of it in this visualizer to make it more pleasing to the eyes.