Loading video...

Video Failed to Load

Go Home

i trained a computer vision model for beach volleyball analysis — using roboflow rapid + SAM3 + python for detection of players, ball, net — automated stat collection and dataviz for ball touches, speed, height, net crosses could expand this prototype for individual player stats, court coverage heatmap, automated...

740,957 views • 8 months ago •via X (Twitter)

0 Comments

No comments available

Comments from the original post will appear here

Related Videos

AI TENNIS ANALYSIS. A FULL COMPUTER VISION SYSTEM. BUILT ON YOLO, PYTORCH, AND KEYPOINT EXTRACTION. Take any tennis match broadcast, any camera angle, any resolution. Feed it into the pipeline. YOLO detects both players and the tennis ball frame by frame. No manual labeling, no pre-annotated dataset. A fine-tuned YOLOv5 model trained on a Roboflow tennis ball dataset handles the ball - the hardest object to track in any sport. Tiny, fast, constantly occluded. The model finds it anyway. Trackers maintain identity across frames so Player 1 stays Player 1 from the first serve to match point. But detection is just the start. A ResNet50 CNN trained in PyTorch predicts court keypoints from every frame - the corners, service lines, baselines, net posts. Fourteen points that define the entire playing surface geometry. From those keypoints the system builds a homography matrix and warps the broadcast perspective into a top-down mini court with real coordinates. Now every player has a position in real space, not pixel space. Every frame becomes a measurement. Every rally becomes a dataset. Player movement speed - calculated from position deltas between frames, converted to meters per second through the homography. Ball shot speed - measured from the ball trajectory across consecutive detections. Number of shots per rally - counted automatically through ball direction changes. All of this rendered live on the video as an overlay. A mini court in the corner showing both players as dots moving in real time. Stats updating after every point. OpenCV handles the rendering. Pandas handles the math. PyTorch handles the intelligence. YOLO handles the eyes. No Hawkeye subscription, no court-embedded sensors, no tracking chips in the ball. A Python script, a trained model, and a GPU. The full code is on GitHub. The tutorial walks through every module - from ball detector training to court keypoint extraction to the final statistical overlay. Professional teams used to need broadcast deals and proprietary hardware for this kind of analysis. Now you build it in an afternoon with open-source tools. Trading here: Computer vision didn't just enter tennis. It made the expensive stuff free.

zostaff

120,370 views • 4 months ago

Introducing the “Get” action in basketball to lacrosse! The “Get” is a 2man action where a player passes the ball to another player and sprints to go “Get” it back on a handoff. This action has similar concepts and reads to pick and roll, but the picker is actually the ball handler! In lacrosse, we have been experimenting with Gets because it creates so many interesting situations and reads for the players. The way we teach it in small sided games is to have one offensive player declare “I’m shut” and the defense has to face-guard him. From there we pick for the shut off player trying to spring them free for the Get. The ball handler has to engage and control their defender, anticipating the shut player trying to get open. The shut player can backdoor if being overplayed towards the get (rejecting the get), receive a flip, or continue curling around the ball getting open for a late pass. The ball handler can feed the reject, flip the ball, or fake the flip to attack the goal or make a late pass to the shut payer curling to the goal. I’ve seen examples of this run in men’s and women’s DI lacrosse at Ohio State and Northwestern, respectively and I’ve run this myself when I was coaching HS girls lacrosse. You will also see on this reel a sick application for Gets vs. a common big-little invert coverage where the short stick doesn’t go behind with his man and plays “Safety” in front of the net. Gets are fun for the players, are incredible for teaching your players 2man game on and off ball, dealing with double teams, and creativity with passing, and can be used to score goals. I hope you enjoy it! Can you think of other applications for Gets?

JM3 SPORTS

12,424 views • 1 year ago

When I was in pro ball, even throwing in the mid 90s, I never did this. But I honestly think it’s one of the biggest things that’s going to help me get to 100 miles an hour. One of the most underrated ways to throw harder is to implement cross training. Now, cross training in terms of pitching just means you’ll be using something other than the baseball to throw. For example, you see Yamamoto in the big leagues right now. He attributes a lot of his velocity gains to javelin throwing, and he’s thrown the javelin for many, many years. There’s another pitcher who’s one of the best pitchers in college baseball right now in Japan who’s up to 102 miles an hour and attributes a lot of his success to throwing the volleyball and the volleyball teaching him how to move. For myself, I use a football to clean up my arm action. When you use different implements, it’ll give you a new stimulus. It can clean up a lot of the mechanics that you wouldn’t be able to with the baseball itself. For myself and my training to throw 100 miles an hour, I use all of these implements for my arm action. Now, I have a tendency of forearm flyout where my forearm flies out this way, and so I want to keep it a little bit more directed toward the plate. Some of the best ways to do this is to throw the javelin. Because to throw the javelin far, you can’t be flying out. You need to go straight through. The football as well needs to be straight through. Also, just hitting the volleyball. I love watching volleyball players hit the volleyball because the upper mechanics are so efficient. So if you feel stuck in your training, start incorporating cross training.

Josh Gessner

29,140 views • 11 months ago