Video wird geladen...

Video konnte nicht geladen werden

Zur Startseite

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

120,370 Aufrufe • vor 3 Monaten •via X (Twitter)

0 Kommentare

Keine Kommentare verfügbar

Kommentare vom Original-Post werden hier angezeigt

Ähnliche Videos

7 repos that mass replace a $50,000/year sports analytics department. all free. all open source. -> replaces Hawkeye-level court analysis YOLO tracks players and ball from any broadcast. ResNet50 extracts court keypoints. homography converts pixels to real meters. speed, position, aggression - all from a TV feed. -> replaces paid sports data subscriptions ($500/mo) every ATP match since 1968. rankings, results, stats. 1.5K stars. the holy grail dataset that every tennis ML project is built on. -> replaces point-level data feeds ($200/mo) point-by-point data for every Grand Slam since 2011. the kind of granularity you need for live Bayesian models. -> replaces shot-by-shot scouting reports 5,000+ matches charted shot by shot. direction, depth, error type. crowdsourced and free. -> replaces pre-match and in-match prediction services ELO + serve/return stats → win probability. updates during the match. exactly what a live Bayesian engine needs. -> replaces ball trajectory prediction tools CV analysis + CatBoost bounce prediction + separate court detector neural net. most advanced open-source tennis CV pipeline. -> replaces traditional bookmaker APIs Polymarket CLOB API. real-time share prices, orderbook depth, bid/ask spreads. no margin, no bookmaker - just the crowd. trade positions mid-match, not just pre-match. total before: $50K/year sports analytics stack total now: $0 like + bookmark you'll need this when you build your first tennis bot

zostaff

35,722 Aufrufe • vor 3 Monaten

9 repos that mass replace a $150,000/year NBA analytics department. all free. all open source. -> replaces Second Spectrum and SportVU YOLO tracks every player and ball from any broadcast. assigns teams by jersey color. court keypoint detection builds a tactical top-down map. speed, distance, passes - all from a TV feed. no sensors. -> replaces paid NBA prediction services ($100/mo) XGBoost + Neural Net. moneyline and totals. Kelly Criterion sizing. 69% accuracy. pulls odds from FanDuel/DraftKings automatically. the most starred NBA betting repo on GitHub. -> replaces an entire quant sports desk 5-model ensemble: XGBoost + PyTorch MLP + Ridge + Lasso + baseline. Optuna-tuned hyperparameters. SQLite database with box scores, play-by-play, betting lines, injury reports. production-grade. -> replaces manual daily prediction workflows XGBoost/LightGBM with GitHub Actions automation. scrapes new data, retrains models, outputs daily win probabilities. set it and forget it. -> replaces ELO subscription services custom ELO + Ridge + XGBoost + Neural Networks ensemble. full data scraping pipeline. comprehensive visualizations. FiveThirtyEight-style ratings from scratch. -> replaces Four Factors analytics dashboards ELO rating system + Four Factors + PCA dimensionality reduction. detailed comparison of 10+ models. honest 65.3% accuracy - because that's what real NBA prediction looks like. -> replaces computer vision analytics platforms ($500/mo) YOLO player/ball tracking. automatic team assignment. court keypoints. pass and interception detection. speed and distance. full tactical view. modular architecture. -> replaces shot tracking hardware YOLOv8 detects ball and hoop in real-time. linear regression predicts trajectory. registers makes and misses automatically. works on any video feed. -> replaces paid sports data subscriptions ($300/mo) official Python client for NBA. com API. box scores, play-by-play, shot charts, player tracking. 40+ years of data. zero cost. the foundation every NBA ML project is built on. like + bookmark you'll need this when you build your first NBA prediction bot

zostaff

102,941 Aufrufe • vor 3 Monaten

Perfect 1v1 Drill For Finding Your LOCKDOWN Defenders! Coach LoGalbo takes you through a drill that is perfect for finding your lockdown defenders that you can rely on when the lights turn on. As Nick LoGalbo says, it's a great way to find your "Rambo" which is a defender that you can rely on to defend your opponent’s best ball handler in the full court. And, an added offensive benefit to this drill, is that it allows for offensive players to work on their ball handling in the face of defensive pressure! This 1 on 1 Contain Drill is from Nick LoGalbo's Outer Third Defense (No Middle Defense). That's why the goal of this basketball drill is to force the opponent's primary ball handlers to the outer thirds of the basketball court (and out of the middle!) as soon as they catch the ball. By doing this, it allows the defense to dictate the entry pass to one side of the floor. By keeping the ball on the outer third of the basketball court, you can overload the backside of the defense which helps control the opponents passing lanes, deters easy passes and helps eliminate the dribble drive. You can incorporate this drill every other day in practice to re-emphasize to your defenders the importance of keeping the ball handlers out of the middle of the basketball court. Instructions and Keys to the 1 on 1 Contain Drill: - Give the ball handler a cushion. This makes it easier to contain them in the outer thirds. - Chest and contest a crossover to the middle. You do not turn your body. You must beat the offensive player to the spot and turn them back to the outer thirds. - If you get beat, you sprint ahead of the ball. You do not continue shuffling. - Keep the ball in the outer thirds the entire length of the court. It does not stop after the offensive player gets past half court. - The goal of the drill is to simply keep the ball handler in the outer thirds. - The defense should focus on beating the ball to the spot and chest to contest defense. - As soon as the first group gets to halfcourt, the second group begins. - After a group makes it all the way to the opposite baseline, they switch positions and get in line to repeat the drill going the opposite direction. Coaching Tips - Once a player gets chest to contest, they must spring back to get in front of the ball. Your goal is not to be running side by side. You must get in front of the offensive player. This prevents the offensive player from getting an angle to the basket. - After running through the drill for a specified amount of time, switch directions so the offensive players must focus on using both hands as their primary dribbling hand. - It is important to mix up players rather than like positions always competing against each other, so that players get used to guarding a wide variety of positions. It forces the players to adjust defensively regarding speed and skill. - Another positive of this drill is it gives you the ability to assess who your Rambo is: players who can work the point guard up the floor.

Joe Haefner | Breakthrough Basketball

38,009 Aufrufe • vor 1 Jahr

The 3D data from FIFA's cameras around the stadium seem to contradict FIFA's official statement that the ball never made contact with the camera cable in Norway vs England. FIFA has 16 dedicated high resolution optical cameras positioned around every World Cup stadium to capture player and ball movements throughout the match. They use these to create the precise 3D renderings of gameplay which are used in-game for things like offsides graphics and then also used by broadcasters to create programming visuals. In this rendering, you can see the ball "hitch" in the air at the moment it supposedly contacted the cable. Now that by itself is interesting, but the part that really convinces me is the behavior of the English player that comes up to play the ball. This is especially clear in the second wide-angle shot. Watch his angle on the ball. Watch what angle he takes before the ball hitches in the air and then after. He clearly has to adjust his angle to play the ball...and suspiciously, that adjustment happens right after it takes that hitch and appears to change trajectory. To me, this is fairly compelling evidence that the ball hit the cable. This brings up a very interesting point though...this comes from FIFA's data. They would have had access to this in their analysis of the event. Which begs the question...why would they release some statement claiming no evidence of the ball contacting the cable existed when their own data seems to suggest that it did? Just adds to the mounting list of procedural questions that have really overshadowed the actual gameplay of this World Cup.

Mark Valorian

149,375 Aufrufe • vor 1 Monat

Ferris State HC Tony Annese - Mesh (QB/Ball Carrier) & Motion Fundamentals QB Mesh Fundamentals - Regardless of play, the first thing the QB needs to do to make sure he has a good mesh is stab the ball back off his hip towards the ball carrier as far as he can. - His arms should be straightened with his eyes at the HOK. - The ball should move with the back through his track. - If the ball is pulled the decision must be made by the time the ball gets to the QB's front hip. Ball Carrier Mesh Fundamentals - The potential ball carrier is the one that is responsible for his track. He needs to make sure his is at the mesh point that the QB is creating. - He must maintain a pocket that is firm enough to secure the ball but loose enough that the QB can pull the ball if the read is a pull read. - Do not deviate from the track until you fully clear the mesh. - If you do not get the ball then track away from the HOK and make him chase you. Motion Fundamentals - All of our motions start up at FULL SPEED! It is incredibly important to make every motion at full speed so the QB has a consistent timing. - The QB is responsible for sending the motion back on every play except for the triple option. - This allows us to control each motion easier. - Every Jet motion should be timed as if the jet back was getting the ball regardless of play. - The motion back will change his depth based on play. - This allows us to use motion with a multitude of schemes. - The motion stops at different spots on different plays and each perimeter player must understand where he should stop for each play.

James Light

19,145 Aufrufe • vor 7 Monaten

Why the character movement in my custom game engine felt janky and how I fixed it. In a game engine, most often, a character moves using the physics engine. Meaning, the player is not just a coordinate in space but a physical body. It has velocity, it handles collisions, and it interacts with the world. Now, as you might know, physics engines need stability. If you run them at variable framerates, things start breaking. Objects phase through walls or fly off into space because the math becomes unpredictable. This is why most game engines lock their physics loop to a 60Hz fixed rate. But here’s the problem: If you have a high-end system, you don't want to limit it at 60 FPS. That's a waste of good hardware. Now, that said, if the GPU is rendering at 144 FPS but the player's position (physics driven) only updates 60 times a second, it creates a micro-stutter that ruins the "smooth" feel of the game. A good way to fix this is to treat the character as two separate things: 1. The Physics Body (Invisible part): This is the "real" character. It lives in the 60Hz physics world, it moves the player and handles collisions. 2. The Visual Model and Camera (Visible part): This is what the player actually sees. It doesn't care about collisions, its only job is to look nice and smooth at whatever framerate the GPU is pushing. Once you have this separation, you can use interpolation to keep them in sync. Every time the physics clock ticks, you save the previous position of the invisible body before moving it to the new one. Between those ticks, calculate how far we are between the last physics update and the next one. By using this to drive the visible parts of the game, the stutters disappear. The physics loop stays fixed behind the scenes, while the visuals slide smoothly between the snapshots. Example: - Right after a tick: blend_weight= 0.0 (The visual model stays at the old physics position). - Halfway to the next: blend_weight= 0.5 (The visual model slides to the middle point). - Just before the next: blend_weight= 0.9 (The visual model is almost at the new physics position). Pro-Tip A critical mistake I made initially, and one many devs make, is parenting the camera and visible parts directly to the player body. If you do this, the camera inherits the discrete 60Hz physics movement by default. In that setup, interpolation won't work because the camera is "stuck" to the physics clock. For this fix to work you must decouple the camera and visuals from the body and move them separately. Player movement processing in Detis Engine: - fixed_process: Physics runs at 60Hz. Handles collisions and raw movement. - process: Variable rate. Mainly used for player input caching in the player case. - late_process: Variable rate. Handles interpolated camera movement after physics and everything else is done being processed. - render. Submits the final interpolated transforms to the GPU. The test environment in the video is running on an old 2070-based laptop. Hopefully the video compression won't introduce any stutter... I’m sharing this in hopes it helps a fellow dev. Cheers.

Ioannis Koukourakis

48,636 Aufrufe • vor 7 Monaten

How a 24-year-old programmer from Portugal made $18,200 in a month on football betting He created an AI analyst that finds flaws in bookmakers' live lines in real time and delivers predictions with an 84% win rate. Costs: $0 (Used free APIs and Windsurf IDE) He launched a Python script that maps out match videos in real time: Top layer: A Computer Vision algorithm recognizes the positions of players from both teams (blue and pink dots) and the ball, instantly transferring them onto a 2D pitch layout. This allows the AI to track team formations and open spaces in high detail, things regular bettors completely miss. Bottom layer: Python code (written alongside the Windsurf AI assistant), where the SoccerPitchConfiguration class defines the field, penalty box, and center circle dimensions down to the centimeter for perfect player-distance calculations. The AI constantly correlates the real-time movement of players on the pitch with live bookmaker odds. The moment the algorithm detects that a team has pinned their opponent into a specific zone or exposed their flanks, while the bookmaker hasn't adjusted the odds yet, the script automatically fires a betting signal. First week: >Live bets placed: 142 > Won bets: 119 > Net profit: +$4,350 using a flat $50 stake The AI completely automated the entire cycle: Windsurf and Claude wrote the tracking code, and the algorithm autonomously parses live odds, calculates the mathematical expectation of value bets, generates player heatmaps, and spots hidden tactical anomalies. It runs 100% autonomously. Bookmark it and check out the article below 👇

Ridark

372,660 Aufrufe • vor 1 Monat

🚨 Regarding Croatia's disallowed goal, this "super slow-motion" replay shows that the ball was indeed almost certainly touched by Matanović—at the very least, a graze of the hair. We can obviously question the "spirit" of how the rules are applied here, but since technology allows us to detect even the slightest micro-touch of the ball, we might as well use it. 🤯 HOWEVER, the main aspect of this decision to analyze is the subsequent header deflection by Veiga. Indeed, two questions arise here (in relation to the Laws of the Game): - Was it a "deliberate play" on his part or not ? If it is deliberate, he plays the Croatian player behind him onside. If it is not, offside should be called. - Was it a save ? (i.e., "preventing or attempting to prevent the ball from going into or very close to the goal"). If it is a save, then offside must be called. According to the Laws of the Game: "The following criteria should be used, as appropriate, as indicators that a player had control of the ball and, as a result, can be considered to have 'deliberately played' the ball: - The ball had travelled from distance and the player had a clear view of it; - The ball was not moving quickly; - The direction of the ball was not unexpected; - The player had time to coordinate their body movement, i.e. it was not a case of instinctive stretching or jumping, or a movement that achieved limited contact/control; - A ball on the ground is much easier to play than a ball in the air." We are therefore in the realm of pure referee interpretation. While waiting for our referees' analysis, my personal view is that the ball's trajectory was absolutely not altered by Matanović's "hair". Therefore, Veiga made a deliberate play, as he had time to coordinate his movement to head the ball. Furthermore, since the ball was not heading towards the goal, it cannot be considered a save. Consequently, he would have played the Croatian player behind him (Pašalić) onside. HNS Portugal #WC2026 #Refereeing

Check VAR World Cup

74,462 Aufrufe • vor 1 Monat

This is a genuinely great video. An American spends the entire first week of the World Cup watching football the wrong way, then explains exactly why the sport finally clicked for him. His journey is the one every new fan goes through. He started out doing what almost everyone does at first, staring at the ball and the player carrying it, waiting for something to happen. Watched that way, football looks like 88 minutes of nothing and two minutes of chaos. Then he stopped watching the ball and started watching the system. What are the other ten players doing right now? Who is dragging a defender out of position? Who is quietly closing down a passing lane thirty yards from the action? The moment you stop following the ball like a puppy chasing a tennis ball, a completely different game appears. That is the next level. And this is the part I want to add for everyone making the same discovery this summer. When you watch all eleven players and the tactics underneath, the ideas each team is trying to impose on the other, you enter a dimension that has nothing to do with counting goals. A 2-1 scoreline sounds almost insulting if goals are your only currency. But a goal in football is not a point on a scoreboard. It is the end product of an enormous collective effort, sometimes twenty passes deep, built on runs that never receive the ball and pressing that started in the opponent’s half three minutes earlier. Ten men work in the shadows so one man can finish in the light. That scarcity is exactly what makes a goal detonate a stadium of 80,000 people in a way few things in sport can match. So to everyone watching the world’s most beautiful game for the first time this month, whether you’re in America, Europe or anywhere else on the planet: welcome. Every single one of us started out staring at the ball. The game simply rewards you the moment you look up. Stay connected, Follow Gandalv Gandalv

Gandalv

312,303 Aufrufe • vor 1 Monat

⚽ Day 42 of building my football/soccer game solo in Unreal Engine 5. Tonight, I rebuilt how the ball and the player's feet actually talk to each other while remaining separate meshes. I wanted to get pretty technical with y'all on a Saturday, so enjoy the read if you enjoy this stuff. Otherwise, just watch the video 👍 - Normal dribbling is impulse-based now. The foot arrives, knocks the ball on, the ball is genuinely loose between touches. Stop running and the ball keeps going without you. - We enabled Motion Warping on all 10 turn animations so the montages will now bend the player's path mid-turn so the boot arrives at the ball, instead of the ball being dragged to wherever the animator drew it previously. - Every contact is authored on the animation itself. I track which frame, which foot, which part of the boot, and whether it CARRIES the ball (sole on a drag-back) or STRIKES it (inside-of-the-foot on a 90) - Each contact declares how close the player needs to be. A sole on top of the ball, an inside-foot redirect and an outside-foot push all reach differently — 75 / 63 / 53 units - Touches are credited only to the foot the animation is actually dribbling with - Sideways and forward correction are capped separately. Pushing the ball across your line keeps it. Pushing it forward is how you lose it - Touch strength scales with your speed. The ball has to leave the foot ~1.27× faster than you're running just to stay ahead. This was an annoying bug I kept running into where I overran the ball and left it behind. Have a great weekend. #indiedev #gamedev #soccer #football #unrealengine

Josh

17,808 Aufrufe • vor 16 Tagen

We trained a robot dog to balance and walk on top of a yoga ball purely in simulation, and then transfer zero-shot to the real world. No fine-tuning. Just works. I’m excited to announce DrEureka, an LLM agent that writes code to train robot skills in simulation, and writes more code to bridge the difficult simulation-reality gap. It fully automates the pipeline from new skill learning to real-world deployment. The Yoga ball task is particularly hard because it is not possible to accurately simulate the bouncy ball surface. Yet DrEureka has no trouble searching over a vast space of sim-to-real configurations, and enables the dog to steer the ball on various terrains, even walking sideways! Traditionally, the sim-to-real transfer is achieved by domain randomization, a tedious process that requires expert human roboticists to stare at every parameter and adjust by hand. Frontier LLMs like GPT-4 have tons of built-in physical intuition for friction, damping, stiffness, gravity, etc. We are (mildly) surprised to find that DrEureka can tune these parameters competently and explain its reasoning well. DrEureka builds on our prior work Eureka, the algorithm that teaches a 5-finger robot hand to do pen spinning. It takes one step further on our quest to automate the entire robot learning pipeline by an AI agent system. One model that outputs strings will supervise another model that outputs torque control. We open-source everything! Welcome you all to check out the paper, more videos, and try the codebase today: Code:

Jim Fan

908,935 Aufrufe • vor 2 Jahren