A few loopholes I've seen... When it comes to travels, will it call travel if I shuffle my feet quickly between two dribbles? (More than 2 steps without a dribble in between). Players sometimes do that to explode past defenders / confuse them. And its legal since the dribble is live. And the double dribble... If we do a quick hand off, will it not call double dribble? It's illegal, but you aren't having your hands on the ball for too long. Apart from that, excellent job! Seriously consider going to shark tank with this
Some of the more intricate details of travels and double dribbles have not been taken into account in this version. In the next version, I will take these into account to create a more precise model!
Yo this so cool! I have been messing around with pose estimation lately using Media Pipe. Been thinking about making a shot predictor kind like from 2K, but I have to look into it
Amazing project! I love how you’ve combined multiple simple image detection algos to form a model which has a vast scope! I did have a question. If I received the ball as a pass from someone that would count as a “hold” and then started dribbling would that show up as a double dribble?
Thank you! It shouldn’t count as a double dribble because your dribble count would be 0, and in order for it to flag as a double dribble, you would need to dribble, pick it up and then dribble again. So if you’re holding it without any dribbles yet, it won’t flag it.
Hi Ayush, really inspiring🤩. Wonder if you could improve the double dribble, so basically detecting when the ball starts to be holde. The Time threshold is pragmatic, but would it be too hard to estimate the gravitation based trajectory and expected position at a certain time? I mean thats rather simple physics formula, so could be detected fast and without the static time threshold delay. Just in case, let me know if you‘d like to have some support on that. Take care & keep up the good work 🙂👍
I definitely agree the time threshold is not the best way of determining if the ball is held. I will definitely look into estimating the gravitation based trajectory and expected position. Great idea thanks.
Genuinely curious in the code do you actually use language from the rules book or just what is thought of as a travel? The rule isn’t simply 2 steps. Also curious if you are serious about making this would you consider trying to become a referee? I think it would only help in the development of this technology
I account for the gather step and pivot steps for travels. There are definitely other small intricate details of the travel violation that I haven’t accounted for in this version. I may consider it.
Hello, I'd like to ask a question about your "basketball referee" if you may. When I was running locally, it reported this error: ValueError: setting an array element with a sequence. The requested array would exceed the maximum number of dimension of 32. Please let me know how I can run this code successfully. I also want to thank you again for taking the time to read my words, and I also want to express my admiration for this project.
1. If you already can detect the pickup of the ball, why didn't you use that for tracking travels? Traveling isn't "taking >2 steps without dribbling the ball". That's vague and inaccurate. That will deem 3 steps within a live dribble as a travel, when its not. Traveling in simple cases is just "taking >2 steps after picking up the ball" 2. Did you test using both feet at the same time? Does it count as a single step? 3. Does your code account for nonpivot foot steps? How about lifting the pivot? 4. What do you think about setting up multiple cameras for a more accurate 3d positioning system? That would be a better way of detecting "hand under the ball" pickups instead of using the time threshhold Would love to help clarify the rules if you ever need it
You are right, I should use the pickup of the ball for sure. I actually developed that code after making the travel detection so I didn’t think to use it then haha. And thanks for clarifying the travel rule, I will make that fix in the next version. I haven’t tested both feet, but will definitely do so. Should it count it as one or two in that case? The code accounts for the pivot step. And yes that was my plan! Using multiple cameras and triangulation to create a 3D model.
@@AyushPai That's cool to know! That would definitely be a much more reliable system Anyways, both feet counts as a single step in general. The following are all legal plays: Ends the dribble --> steps a single foot --> then steps both feet Ends the dribble --> steps both feet --> then steps a single foot Ends the dribble --> steps both feet --> jumps --> then steps both feet again (Last one is a travel in FIBA, but legal in the NBA)
Here before the NBA hires you
Facts!
Damn really high quality editing and clean explanation. Great job!
Nice work dude. Congrats from another Ramblin' Wreck.
Tutorial on building this would be amazing. Or even just building anything. Great video, thanks.
Maybe in the future!
Another way to get into the NBA
Great work! People are really engaged and excited by what you've done. Keep building it out and you'll land a great job when you graduate.
Yoo this is a 🔥🔥🔥🔥. Can’t wait to see the next version ‼️
Well done!
Great work, congrats!
Solving the biggest problem in the sport that I love. This is really amazing and inspiring. Would love to get in touch with you!
this is the VAR of basketball
Mec tu es un génie! Tu m'as devancer good job!
A few loopholes I've seen...
When it comes to travels, will it call travel if I shuffle my feet quickly between two dribbles? (More than 2 steps without a dribble in between). Players sometimes do that to explode past defenders / confuse them. And its legal since the dribble is live.
And the double dribble... If we do a quick hand off, will it not call double dribble? It's illegal, but you aren't having your hands on the ball for too long.
Apart from that, excellent job! Seriously consider going to shark tank with this
Some of the more intricate details of travels and double dribbles have not been taken into account in this version. In the next version, I will take these into account to create a more precise model!
Yo this so cool! I have been messing around with pose estimation lately using Media Pipe. Been thinking about making a shot predictor kind like from 2K, but I have to look into it
Nice! Reach out if you want to talk.
@@AyushPai For sure!
You are genius sir!!
Stumbled in here from reddit, very interesting to see how you did this!
the nba and nfl desperately need this. Invest Billions Now!
LETS GOOOOO!!!
The hardest will be foul.
awesome video! great work
This is so cool
How is 3.0 coming along? Our sport needs this. So many parents disgruntled with bad reffing.
High stats NBA MVPs been really quiet since this dropped.
Also palming the basketball is also my biggest annoyance.
bro is a genius and nice at ball
Great work! Could you share what hyperparameters you used?
I’d love to chat with you! This is fascinating
Sure! Email me at ayushpai@gatech.edu and let’s get a call setup :)
Ehh, fans will still cry if the AI call didn't favor their team
Lol
Have you looked at how to use a tool like this to record fouls?
The biggest reason i dont watch the NBA is because the abuse of travelling. If and when this is implemented this will bring back a ton of fans.
This is epic
Can help me for issue : ValueError: setting an array element with a sequence. The requested array would exceed the maximum number of dimension of 32.
impressive!
Sweet - I'm doing similar for cricket, not this advanced yet though.
Do you have a tutorial that others can follow? Thanks in advance.
its tricky. lets look at 1:05 . its ok to take 2 steps after gathering the ball. what is what he did. so this is not travelling actually
Amazing project! I love how you’ve combined multiple simple image detection algos to form a model which has a vast scope!
I did have a question. If I received the ball as a pass from someone that would count as a “hold” and then started dribbling would that show up as a double dribble?
Thank you! It shouldn’t count as a double dribble because your dribble count would be 0, and in order for it to flag as a double dribble, you would need to dribble, pick it up and then dribble again. So if you’re holding it without any dribbles yet, it won’t flag it.
@@AyushPai ahh missed out on that, great job!
Hi Ayush, really inspiring🤩.
Wonder if you could improve the double dribble, so basically detecting when the ball starts to be holde. The Time threshold is pragmatic, but would it be too hard to estimate the gravitation based trajectory and expected position at a certain time? I mean thats rather simple physics formula, so could be detected fast and without the static time threshold delay.
Just in case, let me know if you‘d like to have some support on that.
Take care & keep up the good work 🙂👍
I definitely agree the time threshold is not the best way of determining if the ball is held. I will definitely look into estimating the gravitation based trajectory and expected position. Great idea thanks.
Genuinely curious in the code do you actually use language from the rules book or just what is thought of as a travel? The rule isn’t simply 2 steps. Also curious if you are serious about making this would you consider trying to become a referee? I think it would only help in the development of this technology
I account for the gather step and pivot steps for travels. There are definitely other small intricate details of the travel violation that I haven’t accounted for in this version.
I may consider it.
Real cool!
you gotta patent this ASAP
Hello, I'd like to ask a question about your "basketball referee" if you may. When I was running locally, it reported this error:
ValueError: setting an array element with a sequence. The requested array would exceed the maximum number of dimension of 32.
Please let me know how I can run this code successfully. I also want to thank you again for taking the time to read my words, and I also want to express my admiration for this project.
This is awesome. What's your github repo?
github.com/ayushpai/AI-Basketball-Referee
Love this video
Where did you find the more extensive dataset of basketball training images?
Roboflow
Nice
how do i invest?
can you build AI football referee?
yo you said you labeled the first 50 imgs for training, but howd you label the thousands when you expanded the dataset?
He said he found a pre-labeled dataset online
Where is the NBA? this is it
I would love to chat with you! I'm doing a similar project for my undergraduate thesis. But it focuses on personal fouls
Sure! Email me at ayushpai@gatech.edu
Awesome! What about fouls?
Working on shooting fouls and reach-in fouls for v3.
How can I test myself? How do I use your github repo?
You can clone it and run any of the programs in a compiler. Reach out if you need any help!
1. If you already can detect the pickup of the ball, why didn't you use that for tracking travels?
Traveling isn't "taking >2 steps without dribbling the ball". That's vague and inaccurate. That will deem 3 steps within a live dribble as a travel, when its not.
Traveling in simple cases is just "taking >2 steps after picking up the ball"
2. Did you test using both feet at the same time? Does it count as a single step?
3. Does your code account for nonpivot foot steps? How about lifting the pivot?
4. What do you think about setting up multiple cameras for a more accurate 3d positioning system? That would be a better way of detecting "hand under the ball" pickups instead of using the time threshhold
Would love to help clarify the rules if you ever need it
You are right, I should use the pickup of the ball for sure. I actually developed that code after making the travel detection so I didn’t think to use it then haha. And thanks for clarifying the travel rule, I will make that fix in the next version. I haven’t tested both feet, but will definitely do so. Should it count it as one or two in that case? The code accounts for the pivot step. And yes that was my plan! Using multiple cameras and triangulation to create a 3D model.
@@AyushPai That's cool to know! That would definitely be a much more reliable system
Anyways, both feet counts as a single step in general. The following are all legal plays:
Ends the dribble --> steps a single foot --> then steps both feet
Ends the dribble --> steps both feet --> then steps a single foot
Ends the dribble --> steps both feet --> jumps --> then steps both feet again
(Last one is a travel in FIBA, but legal in the NBA)
5:28
Can I speak with you
Sure, email me at ayushpai@gatech.edu
What the hell😂😂
at 1:05 you have already counted three steps before he has even gathered the ball
@ayush, anyway i could contact you??
ayushpai@gatech.edu
I'm impressed. Are you on LinkedIn? Let's connect
www.linkedin.com/in/ayushpai
@@AyushPai I sent a connection request
After the 3 second incident I was 100% thinking its time to replace refs with ai 🫡