News for hackers. Stuff that matters.

chony

Re:Ask HN: Show me your half baked project on Saturday January 09, 2021 @11:47AM (#25701897)
I built an app to visualize and analyze basketball shots and shooting pose with machine learning.

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.

Re:Ask HN: Show me your half baked project on Saturday January 09, 2021 @11:27AM (#25701672)
I built this project to automatically overlay baseball pitch motion and trajectory.

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.

Thanks, will definitely check it out!
Thanks for asking! The only model I used in this project is the YOLOv4 object detection model to detect the ball in each frame. I collected about 200 images to train it.

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'm glad that you like it! Thanks a lot!
Thanks for asking! This is not a noob question.

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.

https://github.com/chonyy/AI-basketball-analysis

I love the idea so much! Any idea how could you make it work on the videos with subtitles turned off?

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!

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 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!

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!
Hi guys,

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...

Hi, the link provided is the pure ML part of the project, without any Flask thing.

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.

https://github.com/chonyy/basketball-shot-detection

Hi, do you mean the pure Python ML part wihtout the web app and any Flask thing?
I'm glad you like it!

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...

Hi guys, I have also written a post to explain the high level concept of OpenPose, the pose estimation framework I implemented in this project.

Feel free to check out:

https://github.com/chonyy/AI-basketball-analysis

https://towardsdatascience.com/openpose-research-paper-summa...

Hi guys, I have also wrotten a post to provide an in-depth explanation and a walkthrough of the code.

Please check out: https://towardsdatascience.com/fp-growth-frequent-pattern-ge...

Hi guys, I have also wrotten a post to provide an in-depth explanation and a walkthrough of the code,

Please check out: https://towardsdatascience.com/apriori-association-rule-mini...

Hi guys, I have also wrotten a post to provide an in-depth explanation and a walkthrough of the code,

Please check out: https://towardsdatascience.com/fp-growth-frequent-pattern-ge...

Hi guys, I built this project for fun and I thought it would also be a good practice for me.

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...

Hi guys, I know some of you may have already seen this project. I have made some big updates and add some interesting new features. Besides the original shot analysis, it could also analyze the shooting pose and release angle now! I wanna share it with you guys and once again ask for more feedback.

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.

Older »