EP4222575A1 - Prediction of nba talent and quality from non-professional tracking data - Google Patents
Prediction of nba talent and quality from non-professional tracking dataInfo
- Publication number
- EP4222575A1 EP4222575A1 EP21876570.9A EP21876570A EP4222575A1 EP 4222575 A1 EP4222575 A1 EP 4222575A1 EP 21876570 A EP21876570 A EP 21876570A EP 4222575 A1 EP4222575 A1 EP 4222575A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- tracking data
- data
- padded
- player
- computing system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000013499 data model Methods 0.000 claims description 53
- 238000000034 method Methods 0.000 claims description 47
- 230000015654 memory Effects 0.000 claims description 20
- 238000013528 artificial neural network Methods 0.000 claims description 13
- 230000002708 enhancing effect Effects 0.000 claims description 4
- 238000007670 refining Methods 0.000 claims 3
- 230000008520 organization Effects 0.000 description 27
- 230000000875 corresponding effect Effects 0.000 description 19
- 238000010586 diagram Methods 0.000 description 10
- 238000012015 optical character recognition Methods 0.000 description 9
- 238000002955 isolation Methods 0.000 description 8
- 238000013459 approach Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 238000010801 machine learning Methods 0.000 description 5
- 238000004422 calculation algorithm Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000007637 random forest analysis Methods 0.000 description 4
- 238000001514 detection method Methods 0.000 description 3
- 230000033001 locomotion Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000002596 correlated effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000013473 artificial intelligence Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 238000013145 classification model Methods 0.000 description 1
- 230000001276 controlling effect Effects 0.000 description 1
- 238000002790 cross-validation Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000007477 logistic regression Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 238000004579 scanning voltage microscopy Methods 0.000 description 1
- 239000007858 starting material Substances 0.000 description 1
- 230000007306 turnover Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/41—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
- G06V20/42—Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items of sport video content
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/246—Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
- G06N20/20—Ensemble learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/04—Inference or reasoning models
- G06N5/042—Backward inferencing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/105—Human resources
- G06Q10/1053—Employment or hiring
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/20—Analysis of motion
- G06T7/292—Multi-camera tracking
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V30/00—Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
- G06V30/10—Character recognition
- G06V30/19—Recognition using electronic means
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30221—Sports video; Sports image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/40—Scenes; Scene-specific elements in video content
- G06V20/44—Event detection
Definitions
- This application generally relates to a system and method for predicting NBA talent from non-professional tracking data.
- a computing system identifies broadcast video for a plurality of games in a first league.
- the broadcast video includes a plurality of video frames.
- the computing system generates tracking data for each game from the broadcast video of a corresponding game.
- the computing system enriches the tracking data.
- the enriching includes merging play-by-play data for the game with the tracking data of the corresponding game.
- the computing system generates padded tracking data based on the tracking data.
- the computing system projects player performance in a second league for each player based on the tracking data and the padded tracking data.
- a non-transitory computer readable medium includes one or more sequence of instructions, which, when executed by a processor, causes a computing system to perform operations.
- the operations include identifying, by a computing system, broadcast video for a plurality of games.
- the broadcast video includes a plurality of video frames.
- the operations further include generating, by the computing system, tracking data for each game from the broadcast video of a corresponding game.
- the operations further include enriching, by the computing system, the tracking data.
- the enriching includes merging play-by-play data for the game with the tracking data of the corresponding game.
- the operations further include generating, by the computing system, padded tracking data based on the tracking data.
- the operations further include identifying, by the computing system, a subset of players that have at least a threshold percentage chance of being drafted based on the tracking data and the padded tracking data.
- the operations further include projecting, by the computing system, a range of draft positions for each player of the subset of players based on the tracking data and the padded tracking data.
- a system in some embodiments, includes a processor and a memory.
- the memory has programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations.
- the operations include identifying broadcast video for a plurality of games.
- the broadcast video includes a plurality of video frames.
- the operations further include generating tracking data for each game from the broadcast video of a corresponding game.
- the operations further include enriching the tracking data.
- the enriching includes merging play-by-play data for the game with the tracking data of the corresponding game.
- the operations further include generating padded tracking data based on the tracking data.
- the operations further include identifying a subset of players that have at least a threshold percentage chance of being drafted based on the tracking data and the padded tracking data.
- the operations further include projecting a range of draft positions for each player of the subset of players based on the tracking data and the padded tracking data.
- Figure 1 is a block diagram illustrating a computing environment, according to example embodiments.
- Figure 2 is a block diagram illustrating prediction system of the computing system of Figure 1, according to example embodiments.
- Figure 3 illustrates an exemplary chart corresponding to the Shapley values generated for Player A using raw data and padded data, according to example embodiments.
- Figure d illustrates an exemplary chart corresponding to a draft talent bin prediction for Player B, according to example embodiments.
- Figure 5 A is a flow diagram illustrating a method of predicting a range of draft positions for a draft eligible player, according to example embodiments.
- Figure 5B is a flow diagram illustrating a method of predicting player performance in a second league for a player from a first league, according to example embodiments.
- Figure 6A is a block diagram illustrating a computing device, according to example embodiments.
- Figure 6B is a block diagram illustrating a computing device, according to example embodiments.
- one or more techniques described herein utilize state-of- the-art computer vision techniques to capture player and ball tracking data from thousands of historical non-NBA games (e.g., NCAA D-I Men’s basketball games) directly from broadcast video.
- the volume of such data may equate to more than 650,000 possessions and over 300 million frames of broadcast video.
- the one or more techniques described herein automatically detect events, such as, but not limited to, ball-screens, drives, isolations, post-ups, off-ball screens, defensive match-ups, etc., using an actor-action attention neural network system.
- the present technique implements a trained prediction model configured to predict the talent of future NBA players based, in part, on the generated tracking data.
- the prediction model described herein is configured to predict the probability of a player making the NBA directly from the non-professional data.
- one or more techniques described herein utilizes interpretable machine learning techniques, such as Shapley values, to not only create accurate predictions, but also identify the strengths and weaknesses of a specific player.
- FIG. 1 is a block diagram illustrating a computing environment 100, according to example embodiments.
- Computing environment 100 may include tracking system 102, organization computing system 104, and one or more client devices 108 communicating via network 105.
- Network 105 may be of any suitable type, including individual connections via the Internet, such as cellular or Wi-Fi networks.
- network 105 may connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFID), near-field communication (NFC), BluetoothTM, low-energy BluetoothTM (BLE), Wi-FiTM, ZigBeeTM, ambient backscatter communication (ABC) protocols, USB, WAN, or LAN.
- RFID radio frequency identification
- NFC near-field communication
- BLE low-energy BluetoothTM
- Wi-FiTM ZigBeeTM
- ABSC ambient backscatter communication
- USB wide area network
- Network 105 may include any type of computer networking arrangement used to exchange data or information.
- network 105 may be the Internet, a private data network, virtual private network using a public network and/or other suitable connection(s) that enables components in computing environment 100 to send and receive information between the components of environment 100.
- Tracking system 102 may be positioned in a venue 106.
- venue 106 may be configured to host a sporting event that includes one or more agents 112.
- Tracking system 102 may be configured to capture the motions of all agents (i.e., players) on the playing surface, as well as one or more other objects of relevance (e.g., ball, referees, etc.).
- tracking system 102 may be an optically -based system using, for example, a plurality of fixed cameras. For example, a system of six stationary, calibrated cameras, which project the three-dimensional locations of players and the ball onto a two-dimensional overhead view of the court may be used.
- a mix of stationary and non-stationary cameras may be used to capture motions of all agents on the playing surface as well as one or more objects or relevance.
- utilization of such tracking system e.g., tracking system 102
- may result in many different camera views of the court e.g., high sideline view, free-throw line view, huddle view, face-off view, end zone view, etc.).
- tracking system 102 may be used for a broadcast feed of a given match.
- each frame of the broadcast feed may be stored in a game file 110.
- game file 110 may further be augmented with other event information corresponding to event data, such as, but not limited to, game event information (pass, made shot, turnover, etc.) and context information (current score, time remaining, etc.).
- Tracking system 102 may be configured to communicate with organization computing system 104 via network 105.
- tracking system 102 may be configured to provide organization computing system 104 with a broadcast stream of a game or event in real-time or near real-time via network 105.
- Organization computing system 104 may be configured to process the broadcast stream of the game.
- Organization computing system 104 may include at least a web client application server 114, tracking data system 116, data store 118, play-by-play module 120, padding module 122, and prediction system 124.
- Each of tracking data system 116, play-by-play module 120, padding module 122, and prediction system 124 may be comprised of one or more software modules.
- the one or more software modules may be collections of code or instructions stored on a media (e.g., memory of organization computing system 104) that represent a series of machine instructions (e.g., program code) that implements one or more algorithmic steps.
- Such machine instructions may be the actual computer code the processor of organization computing system 104 interprets to implement the instructions or, alternatively, may be a higher level of coding of the instructions that is interpreted to obtain the actual computer code.
- the one or more software modules may also include one or more hardware components. One or more aspects of an example algorithm may be performed by the hardware components (e.g., circuitry) itself, rather than as a result of the instructions.
- Tracking data system 116 may be configured to receive broadcast data from tracking system 102 and generate tracking data from the broadcast data.
- tracking data system 116 may largely be representative of AutoSTATS®, an artificial intelligence and computer vision system configured to derive player-tracking data from broadcast video feeds, commercially available from STATS Perform, headquartered in Chicago, Illinois.
- tracking data system 116 may map pixels corresponding to each player and ball to dots and may transform the dots to a semantically meaningful event layer, which may be used to describe player attributes.
- tracking data system 116 may be configured to ingest broadcast video received from tracking system 102.
- tracking data system 116 may further categorize each frame of the broadcast video into trackable and non-trackable clips.
- tracking data system 116 may further calibrate the moving camera based on the trackable and non-trackable clips.
- tracking data system 116 may further detect players within each frame using skeleton tracking.
- tracking data system 116 may further track and re-identify players over time.
- tracking data system 116 may reidentify players who are not within a line of sight of a camera during a given frame. In some embodiments, tracking data system 116 may further detect and track the ball across all frames. In some embodiments, tracking data system 116 may further utilize optical character recognition techniques. For example, tracking data system 116 may utilize optical character recognition techniques to extract score information and time remaining information from a digital scoreboard of each frame.
- tracking data system 116 may perform such processes to generate tracking data across 650,000 college basketball possessions, totaling about 300 million broadcast frames.
- organization computing system 104 may go beyond the generation of tracking data from broadcast video data. Instead, to provide descriptive analytics, as well as a useful feature representation for prediction system 124, organization computing system 104 may be configured to map the tracking data to a semantic layer (i.e., events).
- Play-by-play module 120 may be configured to receive play-by-play data from one or more third party systems. For example, play-by-play module 120 may receive a play-by-play feed corresponding to the broadcast video data. In some embodiments, the play-by-play data may be representative of human generated data based on events occurring within the game. Even though the goal of computer vision technology is to capture all data directly from the broadcast video stream, the referee, in some situations, is the ultimate decision maker in the successful outcome of an event. For example, in basketball, whether a basket is a 2-point shot or a 3-point shot (or is valid, a travel, defensive/offensive foul, etc.) is determined by the referee. As such, to capture these data points, play-by-play module 120 may utilize manually annotated data that may reflect the referee’s ultimate adjudication. Such data may be referred to as the play-by-play feed.
- tracking data system 116 may merge or align the play-by-play data with the raw generated tracking data (which may include the game and shot clock).
- Tracking data system 116 may utilize a fuzzy matching algorithm, which may combine play-by-play data, optical character recognition data (e.g., shot clock, score, time remaining, etc.), and play/ball positions (e.g., raw tracking data) to generate the aligned tracking data.
- tracking data system 116 may be configured to perform various operations on the aligned tracking system. For example, tracking data system 116 may use the play-by-play data to refine the player and ball positions and precise frame of the end of possession events (e.g., shot/rebound location).
- tracking data system 116 may further be configured to detect events, automatically, from the tracking data.
- tracking data system 116 may further be configured to enhance the events with contextual information.
- tracking data system 116 may include a neural network system trained to detect/refine various events in a sequential manner.
- tracking data system 116 may include an actor-action attention neural network system to detect/refine one or more of: shots, rebounds, passes, dribbles and possessions.
- Tracking data system 116 may further include a host of specialist event detectors trained to identify higher-level events. Exemplary higher-level events may include, but are not limited to, postups, drives, isolations, ball-screens, handoffs, off-ball-screens, the like.
- each of the specialist event detectors may be representative of a neural network, specially trained to identify a specific event type. More generally, such event detectors may utilize any type of detection approach.
- the specialist event detectors may use a neural network approach or another machine learning classifier (e.g., random decision forest, SVM, logistic regression etc.).
- tracking data system 116 may generate contextual information to enhance the detected events.
- exemplary contextual information may include defensive matchup information (e.g., who is guarding who at each frame), as well as other defensive information such as coverages for ball-screens.
- tracking data system 116 may use a measure referred to as an “influence score.”
- the influences score may capture the influence a defender may have on each offensive player on a scale of 0- 100.
- the value for the influence score may be based on basketball defensive principles, such as, but not limited to, proximity to player, distance from basket, passing lanes, lanes to the basket, and the like.
- tracking data system 116 may further use the influence score to assign defender roles for the ball-handler and screener for on-ball screens.
- tracking data system 116 may further use the influence score to assign defender roles for the cutter and screener for off-ball screens.
- Padding module 122 may be configured to create new player representations using mean-regression to reduce random noise in the features. For example, one of the profound challenges of modeling using potentially only 20-30 games of Georgia data per player may be the high variance of low frequency events seen in the tracking data. A highly talented one and done player may, for example, only attempt 50 isolation shots in a career. Such limited amount of data may not be enough to generate a robust mean value for the player’s isolation shooting percentage. Therefore, padding module 122 may be configured to utilize a padding method, which may be a weighted average between the observed values and sample mean.
- Padding module 122 may solve for the optimal weighting constant, C, which may best predict the next game of a player’s career. Because this approach can be applied to any game level statistic, padding module 122 may be configured to apply such technique to every feature in both boxscore and AutoSTATS data. In some embodiments, certain player level statistics, such as height, weight, minutes/possessions played, etc. may be excluded.
- tracking data system 116 may work in conjunction to generate a raw data set and a padded data set for each player.
- Prediction system 124 may be configured or trained to generate or identify the likelihood of a draft-eligible player to be drafted. Prediction system 124 is discussed further in conjunction with Figure 2 provided below.
- Data store 118 may be configured to store one or more game files 126.
- Each game file 126 may include video data of a given match.
- the video data may correspond to a plurality of video frames captured by tracking system 102, the tracking data derived from the broadcast video as generated by tracking data system 116, play-by-play data, enriched data, and/or padded training data.
- Client device 108 may be in communication with organization computing system 104 via network 105.
- Client device 108 may be operated by a user.
- client device 108 may be a mobile device, a tablet, a desktop computer, or any computing system having the capabilities described herein.
- Users may include, but are not limited to, individuals such as, for example, subscribers, clients, prospective clients, or customers of an entity associated with organization computing system 104, such as individuals who have obtained, will obtain, or may obtain a product, service, or consultation from an entity associated with organization computing system 104.
- Client device 108 may include at least application 130.
- Application 130 may be representative of a web browser that allows access to a website or a stand-alone application.
- Client device 108 may access application 130 to access one or more functionalities of organization computing system 104.
- Client device 108 may communicate over network 105 to request a webpage, for example, from web client application server 114 of organization computing system 104.
- client device 108 may be configured to execute application 130 to view NBA draft projections of draft eligible players.
- the content that is displayed to client device 108 may be transmitted from web client application server 114 to client device 108, and subsequently processed by application 130 for display through a graphical user interface (GUI) of client device 108.
- GUI graphical user interface
- FIG. 2 is a block diagram illustrating prediction system 124, according to example embodiments.
- prediction system 124 may include several models.
- prediction system 124 may include a first set of models 201 and a second set of models 203.
- First set of models 201 may be configured to generate a prediction related to whether a player will make the NBA.
- Second set of models 204 may be configured to generate a prediction related to the player’s projected draft pick.
- An ensemble model 220 may be used to classify the player into one of several bins, with each bin representing a range of draft picks.
- first set of models 204 may include a raw data model 202, a padded data model 204, and an ensemble model 206.
- Each of raw data model 202, padded data model 204, and ensemble model 206 may be referred to as classification models.
- prediction system 124 may include two models - raw data model 202 using the raw data and padded data model 204 using padded data - and then ensembling the results using ensemble model 206.
- each data set may be prepared similarly for processing.
- raw data model 202 for the raw data may be representative of a LightGBM classifier.
- padded data model 204 for the padded data may be representative of a LightGBM classifier.
- the hyperparameters for each of raw data model 202 and padded data model 204 may be tuned using five-fold cross validation on a random search across a parameter grid. By using a classifier, each model’s predictions may be representative of a probability of the player making the NBA.
- the ensembling of both outputs from raw data model 202 and padded data model 204 may work to include predictive information contained separately in both data sets.
- the features space for the ensemble, a random forest classifier, may be the raw prediction, the padded prediction, and chances per game, an AutoSTATS derived feature that may be analogous to possessions per game.
- prediction system 124 may utilize Shapley values, which is a game theory approach to interpret results of machine learning models.
- the Shapley values may provide, on a per-prediction basis, the direction and magnitude of each feature’s contribution to the overall prediction.
- the result may be used to understand the interplay between the raw data and the padded data, and the differing information they may provide.
- raw data model 202 and padded data model 204 may be useful for understanding how the models function, the outputs may be used to trim the overall dataset of players to those plausible NBA players and begin the actual draft modeling.
- raw data model 202 and padded data model 204 may be used to identify those players with greater than an x% (e.g., 40%) chance to make the NBA.
- Second set of models 203 may be used in conjunction with first set of models 201 for projecting a range of draft picks in which a player may fall.
- the overall architecture of prediction system 124 may include first set of models 201 (described above), raw data model 212, padded data model 214, and ensemble model 216.
- the new components for the talent bin ensemble model may reuse the framework, where both the decorrelated raw and decorrelated padded data may be used in separate models and then ensembled to create three sets of predictions that may be carried forward.
- each of raw data model 212 and padded data model 214 may be random forest regressors using a VORP (value over replacement player) pick values at each draft pick target.
- VORP value over replacement player
- the predictions from raw data model 212 and padded data model 214 may then ensembled, with additional information from the make NBA models using NGBoost (e.g., ensemble model 216) to create regression predictions with independently modeled means and variances.
- NGBoost e.g., ensemble model 2166
- the outputs from all existing and new components may be ensembled using a random forest multiclass classifier (e.g., ensemble model 220).
- ensemble model 220 may classify a player into one of several bins. Exemplary bins may include:
- Figure 3 illustrates an exemplary chart 300 corresponding to the Shapley values generated for Player A using raw data and padded data, according to example embodiments.
- Player A may correspond to James Wiseman, who was drafted #2 overall by the Golden State Warriors in the 2021 NBA Draft. Wiseman is a particularly interesting case because he only played a total of three games (69 minutes) in his college career. Looking at the raw data model, features such as points per possession (PTS/Poss) and blocks per possession (BLK/Poss) show very strongly as positive indicators of making the NBA. However, without their regressed versions (shown with dashed fill), which would show up as a stacked bar. Unsurprisingly, the padded data has regressed a three-game sample very heavily and reduced the quality of his raw scoring and block output.
- PTS/Poss points per possession
- BLK/Poss blocks per possession
- Non-regressed features such as Rim Gravity and Midrange Gravity (both metrics of spatially weighted offensive efficiency and usage) show strongly positive in both the raw and padded data sets. Wiseman is a good example of not blindly adhering to model output. The model does not know why he only played three games, but when the padded and strongly regressed data are ensembled, the prediction is a lower probability of making the NBA compared to what would be expected based on known contextual information about his career.
- the values are not outputs from the final ensemble, but are instead the outputs of the two primary sub-models of the ensemble, i.e., the raw data model and the padded data model.
- Figure 4 illustrates an exemplary chart 400 corresponding to a draft talent bin prediction for Player B, according to example embodiments.
- Player B may correspond to Aaron Nesmith.
- Prediction system 124 may provide that Nesmith has approximately a 62% chance of having the statistical profile of a player picked in the 18-26 range historically. As this does not include any NBA or pre-draft rankings, the output from prediction system 124 is not predicting where a player will be taken, only what range of player to which they are similar.
- Figure 5A is a flow diagram illustrating a method 500 of predicting a range of draft positions for a draft eligible player, according to example embodiments.
- Method 500 may begin at step 502.
- organization computing system 104 may identify broadcast video data for a plurality of games.
- the broadcast video data may be received from tracking system 102.
- the broadcast video data for a game may be stored in data store 118.
- the broadcast video data may be stored in a game file 126 corresponding to a game or event.
- the broadcast video data may include a plurality of video frames.
- one or more video frames of the broadcast video data may include data, such as score board data included therein.
- organization computing system 104 may generate tracking data from the broadcast video data.
- tracking data system 1 16 may use one or more computer vision and/or machine learning techniques to generate tracking data from the broadcast video data.
- tracking data system 116 may map pixels corresponding to each player and ball to dots and may transform the dots to a semantically meaningful event layer, which may be used to describe player attributes.
- tracking data system 116 may be configured to ingest broadcast video received from tracking system 102.
- tracking data system 116 may further categorize each frame of the broadcast video into trackable and non-trackable clips.
- tracking data system 116 may further calibrate the moving camera based on the trackable and non-trackable clips. In some embodiments, tracking data system 116 may further detect players within each frame using skeleton tracking. In some embodiments, tracking data system 116 may further track and re-identify players over time. For example, tracking data system 116 may re-identify players who are not within a line of sight of a camera during a given frame. In some embodiments, tracking data system 116 may further detect and track the ball across all frames. In some embodiments, tracking data system 116 may further utilize optical character recognition techniques. For example, tracking data system 116 may utilize optical character recognition techniques to extract score information and time remaining information from a digital scoreboard of each frame.
- organization computing system 104 may enrich the tracking data.
- enriching the tracking data may include tracking data system 116 merging play- by-play data for an event with the generated tracking data.
- play-by-play module 120 may receive a play-by-play feed corresponding to the broadcast video data.
- the play-by-play data may be representative of human generated data based on events occurring within the game.
- Tracking data system 116 may merge or align the play-by- play data with the raw generated tracking data (which may include the game and shot clock).
- tracking data system 116 may utilize a fuzzy matching algorithm, which may combine play-by-play data, optical character recognition data (e.g., shot clock, score, time remaining, etc.), and play/ball positions (e.g., raw tracking data) to generate the aligned tracking data.
- a fuzzy matching algorithm may combine play-by-play data, optical character recognition data (e.g., shot clock, score, time remaining, etc.), and play/ball positions (e.g., raw tracking data) to generate the aligned tracking data.
- enriching the tracking data may include tracking data system 116 performing various operations on the aligned tracking system.
- tracking data system 116 may use the play-by-play data to refine the player and ball positions and precise frame of the end of possession events (e.g., shot/rebound location).
- tracking data system 116 may include a neural network system trained to detect/refine various events in a sequential manner.
- tracking data system 116 may include an actor-action attention neural network system to detect/refine one or more of: shots, rebounds, passes, dribbles and possessions.
- Tracking data system 116 may further include a host of specialist event detectors trained to identify higher- level events. Exemplary higher-level events may include, but are not limited to, postups, drives, isolations, ball-screens, handoffs, off-ball-screens, the like.
- each of the specialist event detectors may be representative of a neural network, specially trained to identify a specific event type.
- enriching the tracking data may include tracking data system 116 enhancing the detected events with contextual information.
- tracking data system 116 may generate contextual information to enhance the detected events.
- Exemplary contextual information may include defensive matchup information (e.g., who is guarding who at each frame), as well as other defensive information such as coverages for ball-screens.
- enriching the tracking data may include tracking data system 116 generating an “influence score” for each matchup.
- the influences score may capture the influence a defender may have on each offensive player on a scale of 0-100.
- the value for the influence score may be based on basketball defensive principles, such as, but not limited to, proximity to player, distance from basket, passing lanes, lanes to the basket, and the like.
- enriching the tracking data may include tracking data system 116 using the influence score to assign defender roles for the ball-handler and screener for on- ball screens.
- tracking data system 116 may further use the influence score to assign defender roles for the cutter and screener for off-ball screens.
- organization computing system 104 may pad the tracking data.
- padding module 122 may create new player representations using mean-regression to reduce random noise in the features. For example, one of the profound challenges of modeling using potentially only 20-30 games of Georgia data per player may be the high variance of low frequency events seen in the tracking data. A highly talented one and done player may, for example, only attempt 50 isolation shots in a career. Such limited amount of data may not be enough to generate a robust mean value for the player’s isolation shooting percentage. Therefore, padding module 122 may be configured to utilize a padding method, which may be a weighted average between the observed values and sample mean. Padding module 122 may solve for the optimal weighting constant, C, which may best predict the next game of a player’s career.
- padding module 122 may be configured to apply such technique to every feature in both boxscore and AutoSTATS data.
- certain player level statistics such as height, weight, minutes/possessions played, etc. may be excluded.
- organization computing system 104 may identify a subset of players that are likely to make the NBA.
- prediction system 124 may identify the subset of players based on the raw tracking data and the padded tracking data.
- each player of the subset of players may have better than a threshold percentage chance (e.g., 40%) of making the NBA.
- organization computing system 104 may project a range of draft positions for each player of the subset of players.
- prediction system 124 may classify each player in the subset of players into one of several bins. Each bin may represent a range of draft positions. In this manner, prediction system 124 may identify the chances of each player having a statistical profile of a player picked in various ranges.
- Figure 5B is a flow diagram illustrating a method 550 of predicting player performance in a second league for a player from a first league, according to example embodiments. Method 550 may begin at step 552.
- organization computing system 104 may identify broadcast video data for a plurality of games in a first league.
- the first league may be representative of a league or conference.
- the first league may be NCAA men’s basketball, Big 10 men’s basketball, NBA Eastern Conference, NBA Atlantic Division, NBA G-league, international leagues, and the like.
- the broadcast video data may be received from tracking system 102.
- the broadcast video data for a game may be stored in data store 118.
- the broadcast video data may be stored in a game file 126 corresponding to a game or event.
- the broadcast video data may include a plurality of video frames.
- one or more video frames of the broadcast video data may include data, such as score board data included therein.
- organization computing system 104 may generate tracking data from the broadcast video data.
- tracking data system 1 16 may use one or more computer vision and/or machine learning techniques to generate tracking data from the broadcast video data.
- tracking data system 116 may map pixels corresponding to each player and ball to dots and may transform the dots to a semantically meaningful event layer, which may be used to describe player attributes.
- tracking data system 116 may be configured to ingest broadcast video received from tracking system 102.
- tracking data system 116 may further categorize each frame of the broadcast video into trackable and non-trackable clips.
- tracking data system 116 may further calibrate the moving camera based on the trackable and non-trackable clips. In some embodiments, tracking data system 116 may further detect players within each frame using skeleton tracking. In some embodiments, tracking data system 116 may further track and re-identify players over time. For example, tracking data system 116 may re-identify players who are not within a line of sight of a camera during a given frame. In some embodiments, tracking data system 116 may further detect and track the ball across all frames. In some embodiments, tracking data system 116 may further utilize optical character recognition techniques. For example, tracking data system 116 may utilize optical character recognition techniques to extract score information and time remaining information from a digital scoreboard of each frame.
- organization computing system 104 may enrich the tracking data.
- enriching the tracking data may include tracking data system 116 merging play- by -play data for an event with the generated tracking data.
- play-by-play module 120 may receive a play-by-play feed corresponding to the broadcast video data.
- the play-by-play data may be representative of human generated data based on events occurring within the game.
- Tracking data system 116 may merge or align the play-by- play data with the raw generated tracking data (which may include the game and shot clock).
- tracking data system 116 may utilize a fuzzy matching algorithm, which may combine play-by-play data, optical character recognition data (e.g., shot clock, score, time remaining, etc.), and play/ball positions (e.g., raw tracking data) to generate the aligned tracking data.
- a fuzzy matching algorithm may combine play-by-play data, optical character recognition data (e.g., shot clock, score, time remaining, etc.), and play/ball positions (e.g., raw tracking data) to generate the aligned tracking data.
- enriching the tracking data may include tracking data system 116 performing various operations on the aligned tracking system.
- tracking data system 116 may use the play-by-play data to refine the player and ball positions and precise frame of the end of possession events (e.g., shot/rebound location).
- tracking data system 116 may include a neural network system trained to detect/refine various events in a sequential manner.
- tracking data system 116 may include an actor-action attention neural network system to detect/refine one or more of: shots, rebounds, passes, dribbles and possessions.
- Tracking data system 116 may further include a host of specialist event detectors trained to identify higher- level events. Exemplary higher-level events may include, but are not limited to, postups, drives, isolations, ball-screens, handoffs, off-ball-screens, the like.
- each of the specialist event detectors may be representative of a neural network, specially trained to identify a specific event type.
- enriching the tracking data may include tracking data system 116 enhancing the detected events with contextual information.
- tracking data system 116 may generate contextual information to enhance the detected events.
- Exemplary contextual information may include defensive matchup information (e.g., who is guarding who at each frame), as well as other defensive information such as coverages for ball-screens.
- enriching the tracking data may include tracking data system 116 generating an “influence score” for each matchup.
- the influences score may capture the influence a defender may have on each offensive player on a scale of 0-100.
- the value for the influence score may be based on basketball defensive principles, such as, but not limited to, proximity to player, distance from basket, passing lanes, lanes to the basket, and the like.
- enriching the tracking data may include tracking data system 116 using the influence score to assign defender roles for the ball-handler and screener for on- ball screens.
- tracking data system 116 may further use the influence score to assign defender roles for the cutter and screener for off-ball screens.
- organization computing system 104 may pad the tracking data.
- padding module 122 may create new player representations using mean-regression to reduce random noise in the features.
- padding module 122 may be configured to utilize a padding method, which may be a weighted average between the observed values and sample mean. Padding module 122 may solve for the optimal weighting constant, C, which may best predict the next game of a player’s career. Because this approach can be applied to any game level statistic, padding module 122 may be configured to apply such technique to every feature in both box-score and AutoSTATS data. In some embodiments, certain player level statistics, such as height, weight, minutes/possessions played, etc. may be excluded.
- organization computing system 104 may generate player performance projections in a second league for each player.
- the second league may be a target league for which a player may be traded, signed to, etc.
- the first league could be NBA Eastern Conference and the second league could be NBA Western Conference.
- the first league could be G-league and the second league could be the Chinese Basketball Association.
- prediction system 124 may project player performance by projecting or estimating season averages for each player in the new league.
- FIG. 6A illustrates an architecture of computing system 600, according to example embodiments.
- System 600 may be representative of at least a portion of organization computing system 104.
- One or more components of system 600 may be in electrical communication with each other using a bus 605.
- System 600 may include a processing unit (CPU or processor) 610 and a system bus 605 that couples various system components including the system memory 615, such as read only memory (ROM) 620 and random access memory (RAM) 625, to processor 610.
- System 600 may include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 610.
- System 600 may copy data from memory 615 and/or storage device 630 to cache 612 for quick access by processor 610.
- cache 612 may provide a performance boost that avoids processor 610 delays while waiting for data.
- These and other modules may control or be configured to control processor 610 to perform various actions.
- Other system memory 615 may be available for use as well.
- Memory 615 may include multiple different types of memory with different performance characteristics.
- Processor 610 may include any general purpose processor and a hardware module or software module, such as service 1 632, service 2 634, and service 3 636 stored in storage device 630, configured to control processor 610 as well as a special-purpose processor where software instructions are incorporated into the actual processor design.
- Processor 610 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc.
- a multicore processor may be symmetric or asymmetric.
- an input device 645 may represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth.
- An output device 635 e.g., display
- multimodal systems may enable a user to provide multiple types of input to communicate with computing system 600.
- Communications interface 640 may generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
- Storage device 630 may be a non-volatile memory and may be a hard disk or other types of computer readable media which may store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 625, read only memory (ROM) 620, and hybrids thereof.
- RAMs random access memories
- ROM read only memory
- Storage device 630 may include services 632, 634, and 636 for controlling the processor 610. Other hardware or software modules are contemplated. Storage device 630 may be connected to system bus 605. In one aspect, a hardware module that performs a particular function may include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 610, bus 605, output device 635, and so forth, to carry out the function.
- Figure 6B illustrates a computer system 650 having a chipset architecture that may represent at least a portion of organization computing system 104.
- Computer system 650 may be an example of computer hardware, software, and firmware that may be used to implement the disclosed technology.
- System 650 may include a processor 655, representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations.
- Processor 655 may communicate with a chipset 660 that may control input to and output from processor 655.
- chipset 660 outputs information to output 665, such as a display, and may read and write information to storage device 670, which may include magnetic media, and solid- state media, for example.
- Chipset 660 may also read data from and write data to RAM 675.
- a bridge 680 for interfacing with a variety of user interface components 685 may be provided for interfacing with chipset 660.
- Such user interface components 685 may include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on.
- inputs to system 650 may come from any of a variety of sources, machine generated and/or human generated.
- Chipset 660 may also interface with one or more communication interfaces 690 that may have different physical interfaces.
- Such communication interfaces may include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks.
- Some applications of the methods for generating, displaying, and using the GUI disclosed herein may include receiving ordered datasets over the physical interface or be generated by the machine itself by processor 655 analyzing data stored in storage device 670 or RAM 675. Further, the machine may receive inputs from a user through user interface components 685 and execute appropriate functions, such as browsing functions by interpreting these inputs using processor 655.
- example systems 600 and 650 may have more than one processor 610 or be part of a group or cluster of computing devices networked together to provide greater processing capability.
- Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory (ROM) devices within a computer, such as CD-ROM disks readably by a CD-ROM drive, flash memory, ROM chips, or any type of solid-state non-volatile memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid state random-access memory) on which alterable information is stored.
- ROM read-only memory
- writable storage media e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid state random-access memory
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Evolutionary Computation (AREA)
- Mathematical Physics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Human Resources & Organizations (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Entrepreneurship & Innovation (AREA)
- Strategic Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- Medical Informatics (AREA)
- Image Analysis (AREA)
Abstract
A computing system identifies broadcast video for a plurality of games in a first league. The broadcast video includes a plurality of video frames. The computing system generates tracking data for each game from the broadcast video of a corresponding game. The computing system enriches the tracking data. The enriching includes merging play-by-play data for the game with the tracking data of the corresponding game. The computing system generates padded tracking data based on the tracking data. The computing system projects player performance in a second league for each player based on the tracking data and the padded tracking data.
Description
PREDICTION OF NBA TALENT AND QUALITY FROM NON-PROFESSIONAL TRACKING DATA
Cross-Reference to Related Applications
[0001] This application claims priority to U.S. Provisional Application Serial No. 63/086,372, filed October 1 , 2020, which is hereby incorporated by reference in its entirety.
Field of Disclosure
[0002] This application generally relates to a system and method for predicting NBA talent from non-professional tracking data.
Background
[0003] Professional sports commentators and fans alike typically engage in what-if scenarios for players. For example, a common thread in sports media focuses on how a college player or international player may translate to a professional league (e.g., the NBA).
Summary
[0004] In some embodiments, a method is disclosed herein. A computing system identifies broadcast video for a plurality of games in a first league. The broadcast video includes a plurality of video frames. The computing system generates tracking data for each game from the broadcast video of a corresponding game. The computing system enriches the tracking data. The enriching includes merging play-by-play data for the game with the tracking data of the corresponding game. The computing system generates padded tracking data based on the tracking data. The computing system projects player performance in a second league for each player based on the tracking data and the padded tracking data.
[0005] In some embodiments, a non-transitory computer readable medium is disclosed herein. The non-transitory computer readable medium includes one or more sequence of instructions, which, when executed by a processor, causes a computing system to perform operations. The operations include identifying, by a computing system, broadcast video for a plurality of games. The broadcast video includes a plurality of video frames. The operations further include generating, by the computing system, tracking data for each game from the broadcast video of a corresponding game. The operations further include enriching, by the computing system, the tracking data. The enriching includes merging play-by-play data for the game with the tracking data of the corresponding game. The operations further include generating, by the computing system, padded tracking data based on the tracking data. The operations further
include identifying, by the computing system, a subset of players that have at least a threshold percentage chance of being drafted based on the tracking data and the padded tracking data. The operations further include projecting, by the computing system, a range of draft positions for each player of the subset of players based on the tracking data and the padded tracking data.
[0006] In some embodiments, a system is disclosed herein. The system includes a processor and a memory. The memory has programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations. The operations include identifying broadcast video for a plurality of games. The broadcast video includes a plurality of video frames. The operations further include generating tracking data for each game from the broadcast video of a corresponding game. The operations further include enriching the tracking data. The enriching includes merging play-by-play data for the game with the tracking data of the corresponding game. The operations further include generating padded tracking data based on the tracking data. The operations further include identifying a subset of players that have at least a threshold percentage chance of being drafted based on the tracking data and the padded tracking data. The operations further include projecting a range of draft positions for each player of the subset of players based on the tracking data and the padded tracking data.
Brief Description of the Drawings
[0007] So that the manner in which the above recited features of the present disclosure can be understood in detail, a more particular description of the disclosure, briefly summarized above, may be had by reference to embodiments, some of which are illustrated in the appended drawings. It is to be noted, however, that the appended drawings illustrated only typical embodiments of this disclosure and are therefore not to be considered limiting of its scope, for the disclosure may admit to other equally effective embodiments.
[0008] Figure 1 is a block diagram illustrating a computing environment, according to example embodiments.
[0009] Figure 2 is a block diagram illustrating prediction system of the computing system of Figure 1, according to example embodiments.
[0010] Figure 3 illustrates an exemplary chart corresponding to the Shapley values generated for Player A using raw data and padded data, according to example embodiments.
[0011] Figure d illustrates an exemplary chart corresponding to a draft talent bin prediction for Player B, according to example embodiments.
[0012] Figure 5 A is a flow diagram illustrating a method of predicting a range of draft positions for a draft eligible player, according to example embodiments.
[0013] Figure 5B is a flow diagram illustrating a method of predicting player performance in a second league for a player from a first league, according to example embodiments.
[0014] Figure 6A is a block diagram illustrating a computing device, according to example embodiments.
[0015] Figure 6B is a block diagram illustrating a computing device, according to example embodiments.
[0016] To facilitate understanding, identical reference numerals have been used, where possible, to designate identical elements that are common to the figures. It is contemplated that elements disclosed in one embodiment may be beneficially utilized on other embodiments without specific recitation.
Detailed Description
[0017] The field of sports analytics has grown exponentially over the years as access to finer grained player data in the world of professional sports in the United States has become easier. However, while professional sports leagues have the revenue to install state of the art optical player and ball tracking systems in select arenas and/or stadiums, such wide-spread adoption is not present in non-professional sports leagues. For example, for basketball, select NBA arenas may have an optical player and ball tracking system deployed therein; however, colleges and universities in the NCAA, teams in the NBA development league (i.e., the G-league), and international leagues (e.g., Liga ACB in Spain, Chinese Basketball Association, Basketball Champions League, and the like) may not have the revenue or ability to deploy optical player and ball tracking systems in the arenas those teams occupy. For example, in-venue hardware solutions are simply impractical for the NCAA, with over 300 Division I schools alone in addition to the numerous exhibition, tournament, and post-season games not played at NCAA venues. Such limitation impacts the NBA, for example, in that NBA teams are thus severely limited in their decision making ability for an upcoming track due to the lack of detailed tracking data of draft-eligible players from these leagues. Additionally, this limitation is compounded by the fact that in-venue optical player and ball tracking systems are a newer phenomenon. As such, it is difficult for an NBA front office to accurately model a college player’s future potential output, as there is a lack of historical tracking data for current or past NBA players to build a training set for modeling.
[0018] To account for this limitation, one or more techniques described herein utilize state-of- the-art computer vision techniques to capture player and ball tracking data from thousands of historical non-NBA games (e.g., NCAA D-I Men’s basketball games) directly from broadcast video. The volume of such data may equate to more than 650,000 possessions and over 300 million frames of broadcast video. From the tracking data, the one or more techniques described herein automatically detect events, such as, but not limited to, ball-screens, drives, isolations, post-ups, off-ball screens, defensive match-ups, etc., using an actor-action attention neural network system.
[0019] While the one or more techniques for generating tracking data from broadcast video data for non-professional sports (e.g., college basketball) is in itself a massive breakthrough in the field of sports analytics, the tracking data alone is not enough for the present task. To showcase the value of the generated tracking data, the present technique implements a trained prediction model configured to predict the talent of future NBA players based, in part, on the generated tracking data. For example, the prediction model described herein is configured to predict the probability of a player making the NBA directly from the non-professional data. Through the use of the generated tracking data, the present techniques are able to obtain or generate more accurate forecasts of draft-eligible player performance in the NBA compared to traditional or conventional data source.
[0020] Additionally, while projecting or predicting the talent of future NBA players is a substantial contribution to the technical field of sports analytics in and of itself, the present approach may not be limited to a single output. Instead, one or more techniques described herein utilizes interpretable machine learning techniques, such as Shapley values, to not only create accurate predictions, but also identify the strengths and weaknesses of a specific player.
[0021] While the present techniques described herein are described in conjunction with the NBA and projecting college athlete performance in the NBA, those skilled in the art understand that such techniques can be applied beyond college athlete performance and to international player performance. Additionally, the present solution is not intended to be limited to projecting performance in the NBA. Instead, the one or more techniques described herein can be broadly applied to project player performance from League X to League Y in any sport.
[0022] Figure 1 is a block diagram illustrating a computing environment 100, according to example embodiments. Computing environment 100 may include tracking system 102,
organization computing system 104, and one or more client devices 108 communicating via network 105.
[0023] Network 105 may be of any suitable type, including individual connections via the Internet, such as cellular or Wi-Fi networks. In some embodiments, network 105 may connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFID), near-field communication (NFC), Bluetooth™, low-energy Bluetooth™ (BLE), Wi-Fi™, ZigBee™, ambient backscatter communication (ABC) protocols, USB, WAN, or LAN. Because the information transmitted may be personal or confidential, security concerns may dictate one or more of these types of connection be encrypted or otherwise secured. In some embodiments, however, the information being transmitted may be less personal, and therefore, the network connections may be selected for convenience over security.
[0024] Network 105 may include any type of computer networking arrangement used to exchange data or information. For example, network 105 may be the Internet, a private data network, virtual private network using a public network and/or other suitable connection(s) that enables components in computing environment 100 to send and receive information between the components of environment 100.
[0025] Tracking system 102 may be positioned in a venue 106. For example, venue 106 may be configured to host a sporting event that includes one or more agents 112. Tracking system 102 may be configured to capture the motions of all agents (i.e., players) on the playing surface, as well as one or more other objects of relevance (e.g., ball, referees, etc.). In some embodiments, tracking system 102 may be an optically -based system using, for example, a plurality of fixed cameras. For example, a system of six stationary, calibrated cameras, which project the three-dimensional locations of players and the ball onto a two-dimensional overhead view of the court may be used. In another example, a mix of stationary and non-stationary cameras may be used to capture motions of all agents on the playing surface as well as one or more objects or relevance. As those skilled in the art recognize, utilization of such tracking system (e.g., tracking system 102) may result in many different camera views of the court (e.g., high sideline view, free-throw line view, huddle view, face-off view, end zone view, etc.).
[0026] In some embodiments, tracking system 102 may be used for a broadcast feed of a given match. In such embodiments, each frame of the broadcast feed may be stored in a game file 110.
[0027] In some embodiments, game file 110 may further be augmented with other event information corresponding to event data, such as, but not limited to, game event information (pass, made shot, turnover, etc.) and context information (current score, time remaining, etc.). [0028] Tracking system 102 may be configured to communicate with organization computing system 104 via network 105. For example, tracking system 102 may be configured to provide organization computing system 104 with a broadcast stream of a game or event in real-time or near real-time via network 105.
[0029] Organization computing system 104 may be configured to process the broadcast stream of the game. Organization computing system 104 may include at least a web client application server 114, tracking data system 116, data store 118, play-by-play module 120, padding module 122, and prediction system 124. Each of tracking data system 116, play-by-play module 120, padding module 122, and prediction system 124 may be comprised of one or more software modules. The one or more software modules may be collections of code or instructions stored on a media (e.g., memory of organization computing system 104) that represent a series of machine instructions (e.g., program code) that implements one or more algorithmic steps. Such machine instructions may be the actual computer code the processor of organization computing system 104 interprets to implement the instructions or, alternatively, may be a higher level of coding of the instructions that is interpreted to obtain the actual computer code. The one or more software modules may also include one or more hardware components. One or more aspects of an example algorithm may be performed by the hardware components (e.g., circuitry) itself, rather than as a result of the instructions.
[0030] Tracking data system 116 may be configured to receive broadcast data from tracking system 102 and generate tracking data from the broadcast data. In some embodiments, tracking data system 116 may largely be representative of AutoSTATS®, an artificial intelligence and computer vision system configured to derive player-tracking data from broadcast video feeds, commercially available from STATS Perform, headquartered in Chicago, Illinois.
[0031] To generate the tracking data from the broadcast data, tracking data system 116 may map pixels corresponding to each player and ball to dots and may transform the dots to a semantically meaningful event layer, which may be used to describe player attributes. For example, tracking data system 116 may be configured to ingest broadcast video received from tracking system 102. In some embodiments, tracking data system 116 may further categorize each frame of the broadcast video into trackable and non-trackable clips. In some embodiments, tracking data system 116 may further calibrate the moving camera based on the trackable and non-trackable clips. In some embodiments, tracking data system 116 may further
detect players within each frame using skeleton tracking. In some embodiments, tracking data system 116 may further track and re-identify players over time. For example, tracking data system 116 may reidentify players who are not within a line of sight of a camera during a given frame. In some embodiments, tracking data system 116 may further detect and track the ball across all frames. In some embodiments, tracking data system 116 may further utilize optical character recognition techniques. For example, tracking data system 116 may utilize optical character recognition techniques to extract score information and time remaining information from a digital scoreboard of each frame.
[0032] Such techniques assist in tracking data system 116 generating tracking data from the broadcast. For example, tracking data system 116 may perform such processes to generate tracking data across 650,000 college basketball possessions, totaling about 300 million broadcast frames. In addition to such process, organization computing system 104 may go beyond the generation of tracking data from broadcast video data. Instead, to provide descriptive analytics, as well as a useful feature representation for prediction system 124, organization computing system 104 may be configured to map the tracking data to a semantic layer (i.e., events).
[0033] Play-by-play module 120 may be configured to receive play-by-play data from one or more third party systems. For example, play-by-play module 120 may receive a play-by-play feed corresponding to the broadcast video data. In some embodiments, the play-by-play data may be representative of human generated data based on events occurring within the game. Even though the goal of computer vision technology is to capture all data directly from the broadcast video stream, the referee, in some situations, is the ultimate decision maker in the successful outcome of an event. For example, in basketball, whether a basket is a 2-point shot or a 3-point shot (or is valid, a travel, defensive/offensive foul, etc.) is determined by the referee. As such, to capture these data points, play-by-play module 120 may utilize manually annotated data that may reflect the referee’s ultimate adjudication. Such data may be referred to as the play-by-play feed.
[0034] To help identify events within the generated tracking data, tracking data system 116 may merge or align the play-by-play data with the raw generated tracking data (which may include the game and shot clock). Tracking data system 116 may utilize a fuzzy matching algorithm, which may combine play-by-play data, optical character recognition data (e.g., shot clock, score, time remaining, etc.), and play/ball positions (e.g., raw tracking data) to generate the aligned tracking data.
[0035] Once aligned, tracking data system 116 may be configured to perform various operations on the aligned tracking system. For example, tracking data system 116 may use the play-by-play data to refine the player and ball positions and precise frame of the end of possession events (e.g., shot/rebound location). In some embodiments, tracking data system 116 may further be configured to detect events, automatically, from the tracking data. In some embodiments, tracking data system 116 may further be configured to enhance the events with contextual information.
[0036] For automatic event detection, tracking data system 116 may include a neural network system trained to detect/refine various events in a sequential manner. For example, tracking data system 116 may include an actor-action attention neural network system to detect/refine one or more of: shots, rebounds, passes, dribbles and possessions. Tracking data system 116 may further include a host of specialist event detectors trained to identify higher-level events. Exemplary higher-level events may include, but are not limited to, postups, drives, isolations, ball-screens, handoffs, off-ball-screens, the like. In some embodiments, each of the specialist event detectors may be representative of a neural network, specially trained to identify a specific event type. More generally, such event detectors may utilize any type of detection approach. For example, the specialist event detectors may use a neural network approach or another machine learning classifier (e.g., random decision forest, SVM, logistic regression etc.).
[0037] While mapping the tracking data to events enables a player representation to be captured, to further build out the best possible player representation, tracking data system 116 may generate contextual information to enhance the detected events. Exemplary contextual information may include defensive matchup information (e.g., who is guarding who at each frame), as well as other defensive information such as coverages for ball-screens.
[0038] In some embodiments, to measure defense, tracking data system 116 may use a measure referred to as an “influence score.” The influences score may capture the influence a defender may have on each offensive player on a scale of 0- 100. In some embodiments, the value for the influence score may be based on basketball defensive principles, such as, but not limited to, proximity to player, distance from basket, passing lanes, lanes to the basket, and the like. [0039] In some embodiments, in addition to assigning frame-level defensive matchups using the influences score, tracking data system 116 may further use the influence score to assign defender roles for the ball-handler and screener for on-ball screens. In some embodiments, tracking data system 116 may further use the influence score to assign defender roles for the cutter and screener for off-ball screens.
[0040] Padding module 122 may be configured to create new player representations using mean-regression to reduce random noise in the features. For example, one of the profound challenges of modeling using potentially only 20-30 games of NCAA data per player may be the high variance of low frequency events seen in the tracking data. A highly talented one and done player may, for example, only attempt 50 isolation shots in a career. Such limited amount of data may not be enough to generate a robust mean value for the player’s isolation shooting percentage. Therefore, padding module 122 may be configured to utilize a padding method, which may be a weighted average between the observed values and sample mean. Padding module 122 may solve for the optimal weighting constant, C, which may best predict the next game of a player’s career. Because this approach can be applied to any game level statistic, padding module 122 may be configured to apply such technique to every feature in both boxscore and AutoSTATS data. In some embodiments, certain player level statistics, such as height, weight, minutes/possessions played, etc. may be excluded.
[0041] Accordingly, for each player, tracking data system 116, play-by-play module 120, and padding module 122 may work in conjunction to generate a raw data set and a padded data set for each player.
[0042] Prediction system 124 may be configured or trained to generate or identify the likelihood of a draft-eligible player to be drafted. Prediction system 124 is discussed further in conjunction with Figure 2 provided below.
[0043] Data store 118 may be configured to store one or more game files 126. Each game file 126 may include video data of a given match. For example, the video data may correspond to a plurality of video frames captured by tracking system 102, the tracking data derived from the broadcast video as generated by tracking data system 116, play-by-play data, enriched data, and/or padded training data.
[0044] Client device 108 may be in communication with organization computing system 104 via network 105. Client device 108 may be operated by a user. For example, client device 108 may be a mobile device, a tablet, a desktop computer, or any computing system having the capabilities described herein. Users may include, but are not limited to, individuals such as, for example, subscribers, clients, prospective clients, or customers of an entity associated with organization computing system 104, such as individuals who have obtained, will obtain, or may obtain a product, service, or consultation from an entity associated with organization computing system 104.
[0045] Client device 108 may include at least application 130. Application 130 may be representative of a web browser that allows access to a website or a stand-alone application.
Client device 108 may access application 130 to access one or more functionalities of organization computing system 104. Client device 108 may communicate over network 105 to request a webpage, for example, from web client application server 114 of organization computing system 104. For example, client device 108 may be configured to execute application 130 to view NBA draft projections of draft eligible players. The content that is displayed to client device 108 may be transmitted from web client application server 114 to client device 108, and subsequently processed by application 130 for display through a graphical user interface (GUI) of client device 108.
[0046] Figure 2 is a block diagram illustrating prediction system 124, according to example embodiments. As shown, prediction system 124 may include several models. For example, prediction system 124 may include a first set of models 201 and a second set of models 203. First set of models 201 may be configured to generate a prediction related to whether a player will make the NBA. Second set of models 204 may be configured to generate a prediction related to the player’s projected draft pick. An ensemble model 220 may be used to classify the player into one of several bins, with each bin representing a range of draft picks.
[0047] As shown, first set of models 204 may include a raw data model 202, a padded data model 204, and an ensemble model 206. Each of raw data model 202, padded data model 204, and ensemble model 206 may be referred to as classification models. For example, instead of using only the padded data, prediction system 124 may include two models - raw data model 202 using the raw data and padded data model 204 using padded data - and then ensembling the results using ensemble model 206. In some embodiments, for each of the raw data set and the padded data set, each data set may be prepared similarly for processing. For example, with the high dimensionality and relative similarity between many of the features, pairs of features that may be high collinear may be halved, starting with the most highly correlated. Whichever of each pair was more correlated with remaining features may be removed until no two features had an R2 above a certain threshold (e.g., => 0.95).
[0048] In some embodiments, raw data model 202 for the raw data may be representative of a LightGBM classifier. In some embodiments, padded data model 204 for the padded data may be representative of a LightGBM classifier. In some embodiments, the hyperparameters for each of raw data model 202 and padded data model 204 may be tuned using five-fold cross validation on a random search across a parameter grid. By using a classifier, each model’s predictions may be representative of a probability of the player making the NBA.
[0049] In some embodiments, the ensembling of both outputs from raw data model 202 and padded data model 204 may work to include predictive information contained separately in
both data sets. The features space for the ensemble, a random forest classifier, may be the raw prediction, the padded prediction, and chances per game, an AutoSTATS derived feature that may be analogous to possessions per game.
[0050] In some embodiments, in order to properly understand why raw data model 202 and padded data model 204 made their predictions, prediction system 124 may utilize Shapley values, which is a game theory approach to interpret results of machine learning models. The Shapley values may provide, on a per-prediction basis, the direction and magnitude of each feature’s contribution to the overall prediction. By combining the Shapley values for each of raw data model 202 and padded data model 204, the result may be used to understand the interplay between the raw data and the padded data, and the differing information they may provide.
[0051] While the outputs generated by each of raw data model 202 and padded data model 204 may be useful for understanding how the models function, the outputs may be used to trim the overall dataset of players to those plausible NBA players and begin the actual draft modeling. For example, raw data model 202 and padded data model 204 may be used to identify those players with greater than an x% (e.g., 40%) chance to make the NBA.
[0052] Second set of models 203 may be used in conjunction with first set of models 201 for projecting a range of draft picks in which a player may fall. As shown, the overall architecture of prediction system 124 may include first set of models 201 (described above), raw data model 212, padded data model 214, and ensemble model 216. As shown, the new components for the talent bin ensemble model may reuse the framework, where both the decorrelated raw and decorrelated padded data may be used in separate models and then ensembled to create three sets of predictions that may be carried forward. In some embodiments, each of raw data model 212 and padded data model 214 may be random forest regressors using a VORP (value over replacement player) pick values at each draft pick target. The predictions from raw data model 212 and padded data model 214 may then ensembled, with additional information from the make NBA models using NGBoost (e.g., ensemble model 216) to create regression predictions with independently modeled means and variances. The outputs from all existing and new components may be ensembled using a random forest multiclass classifier (e.g., ensemble model 220). For example, output from ensemble model 220 may classify a player into one of several bins. Exemplary bins may include:
[0053] Figure 3 illustrates an exemplary chart 300 corresponding to the Shapley values generated for Player A using raw data and padded data, according to example embodiments.
[0054] As shown, Player A may correspond to James Wiseman, who was drafted #2 overall by the Golden State Warriors in the 2021 NBA Draft. Wiseman is a particularly interesting case because he only played a total of three games (69 minutes) in his college career. Looking at the raw data model, features such as points per possession (PTS/Poss) and blocks per possession (BLK/Poss) show very strongly as positive indicators of making the NBA. However, without their regressed versions (shown with dashed fill), which would show up as a stacked bar. Unsurprisingly, the padded data has regressed a three-game sample very heavily and reduced the quality of his raw scoring and block output. Non-regressed features, such as Rim Gravity and Midrange Gravity (both metrics of spatially weighted offensive efficiency and usage) show strongly positive in both the raw and padded data sets. Wiseman is a good example of not blindly adhering to model output. The model does not know why he only played three games, but when the padded and strongly regressed data are ensembled, the prediction is a lower probability of making the NBA compared to what would be expected based on known contextual information about his career.
[0055] It is important to note that the values are not outputs from the final ensemble, but are instead the outputs of the two primary sub-models of the ensemble, i.e., the raw data model and the padded data model.
[0056] Figure 4 illustrates an exemplary chart 400 corresponding to a draft talent bin prediction for Player B, according to example embodiments.
[0057] As shown, Player B may correspond to Aaron Nesmith. Prediction system 124 may provide that Nesmith has approximately a 62% chance of having the statistical profile of a
player picked in the 18-26 range historically. As this does not include any NBA or pre-draft rankings, the output from prediction system 124 is not predicting where a player will be taken, only what range of player to which they are similar.
[0058] While prediction system 124 does not actually attempt to answer the question of how good Player B will be, there is some semblance of a quality gradient under the assumption that early picks are usually better NBA players than later picks.
[0059] Figure 5A is a flow diagram illustrating a method 500 of predicting a range of draft positions for a draft eligible player, according to example embodiments. Method 500 may begin at step 502.
[0060] At step 502, organization computing system 104 may identify broadcast video data for a plurality of games. In some embodiments, the broadcast video data may be received from tracking system 102. In some embodiments, the broadcast video data for a game may be stored in data store 118. For example, the broadcast video data may be stored in a game file 126 corresponding to a game or event. Generally, the broadcast video data may include a plurality of video frames. In some embodiments, one or more video frames of the broadcast video data may include data, such as score board data included therein.
[0061] At step 504, organization computing system 104 may generate tracking data from the broadcast video data. For example, for each game, tracking data system 1 16 may use one or more computer vision and/or machine learning techniques to generate tracking data from the broadcast video data. To generate the tracking data from the broadcast data, tracking data system 116 may map pixels corresponding to each player and ball to dots and may transform the dots to a semantically meaningful event layer, which may be used to describe player attributes. For example, tracking data system 116 may be configured to ingest broadcast video received from tracking system 102. In some embodiments, tracking data system 116 may further categorize each frame of the broadcast video into trackable and non-trackable clips. In some embodiments, tracking data system 116 may further calibrate the moving camera based on the trackable and non-trackable clips. In some embodiments, tracking data system 116 may further detect players within each frame using skeleton tracking. In some embodiments, tracking data system 116 may further track and re-identify players over time. For example, tracking data system 116 may re-identify players who are not within a line of sight of a camera during a given frame. In some embodiments, tracking data system 116 may further detect and track the ball across all frames. In some embodiments, tracking data system 116 may further utilize optical character recognition techniques. For example, tracking data system 116 may
utilize optical character recognition techniques to extract score information and time remaining information from a digital scoreboard of each frame.
[0062] At step 506, organization computing system 104 may enrich the tracking data. In some embodiments, enriching the tracking data may include tracking data system 116 merging play- by-play data for an event with the generated tracking data. For example, play-by-play module 120 may receive a play-by-play feed corresponding to the broadcast video data. In some embodiments, the play-by-play data may be representative of human generated data based on events occurring within the game. Tracking data system 116 may merge or align the play-by- play data with the raw generated tracking data (which may include the game and shot clock). In some embodiments, tracking data system 116 may utilize a fuzzy matching algorithm, which may combine play-by-play data, optical character recognition data (e.g., shot clock, score, time remaining, etc.), and play/ball positions (e.g., raw tracking data) to generate the aligned tracking data.
[0063] In some embodiments, enriching the tracking data may include tracking data system 116 performing various operations on the aligned tracking system. For example, tracking data system 116 may use the play-by-play data to refine the player and ball positions and precise frame of the end of possession events (e.g., shot/rebound location).
[0064] In some embodiments, enriching the tracking data may include tracking data system 116 detecting events, automatically, from the tracking data. For example, tracking data system 116 may include a neural network system trained to detect/refine various events in a sequential manner. For example, tracking data system 116 may include an actor-action attention neural network system to detect/refine one or more of: shots, rebounds, passes, dribbles and possessions. Tracking data system 116 may further include a host of specialist event detectors trained to identify higher- level events. Exemplary higher-level events may include, but are not limited to, postups, drives, isolations, ball-screens, handoffs, off-ball-screens, the like. In some embodiments, each of the specialist event detectors may be representative of a neural network, specially trained to identify a specific event type.
[0065] In some embodiments, enriching the tracking data may include tracking data system 116 enhancing the detected events with contextual information. For example, tracking data system 116 may generate contextual information to enhance the detected events. Exemplary contextual information may include defensive matchup information (e.g., who is guarding who at each frame), as well as other defensive information such as coverages for ball-screens.
[0066] In some embodiments, enriching the tracking data may include tracking data system 116 generating an “influence score” for each matchup. The influences score may capture the
influence a defender may have on each offensive player on a scale of 0-100. In some embodiments, the value for the influence score may be based on basketball defensive principles, such as, but not limited to, proximity to player, distance from basket, passing lanes, lanes to the basket, and the like.
[0067] In some embodiments, enriching the tracking data may include tracking data system 116 using the influence score to assign defender roles for the ball-handler and screener for on- ball screens. In some embodiments, tracking data system 116 may further use the influence score to assign defender roles for the cutter and screener for off-ball screens.
[0068] At step 508, organization computing system 104 may pad the tracking data. For example, padding module 122 may create new player representations using mean-regression to reduce random noise in the features. For example, one of the profound challenges of modeling using potentially only 20-30 games of NCAA data per player may be the high variance of low frequency events seen in the tracking data. A highly talented one and done player may, for example, only attempt 50 isolation shots in a career. Such limited amount of data may not be enough to generate a robust mean value for the player’s isolation shooting percentage. Therefore, padding module 122 may be configured to utilize a padding method, which may be a weighted average between the observed values and sample mean. Padding module 122 may solve for the optimal weighting constant, C, which may best predict the next game of a player’s career. Because this approach can be applied to any game level statistic, padding module 122 may be configured to apply such technique to every feature in both boxscore and AutoSTATS data. In some embodiments, certain player level statistics, such as height, weight, minutes/possessions played, etc. may be excluded.
[0069] At step 510, organization computing system 104 may identify a subset of players that are likely to make the NBA. In some embodiments, prediction system 124 may identify the subset of players based on the raw tracking data and the padded tracking data. In some embodiments, each player of the subset of players may have better than a threshold percentage chance (e.g., 40%) of making the NBA.
[0070] At step 512, organization computing system 104 may project a range of draft positions for each player of the subset of players. For example, prediction system 124 may classify each player in the subset of players into one of several bins. Each bin may represent a range of draft positions. In this manner, prediction system 124 may identify the chances of each player having a statistical profile of a player picked in various ranges.
[0071] Figure 5B is a flow diagram illustrating a method 550 of predicting player performance in a second league for a player from a first league, according to example embodiments. Method 550 may begin at step 552.
[0072] At step 552, organization computing system 104 may identify broadcast video data for a plurality of games in a first league. In some embodiments, the first league may be representative of a league or conference. For example, the first league may be NCAA men’s basketball, Big 10 men’s basketball, NBA Eastern Conference, NBA Atlantic Division, NBA G-league, international leagues, and the like. In some embodiments, the broadcast video data may be received from tracking system 102. In some embodiments, the broadcast video data for a game may be stored in data store 118. For example, the broadcast video data may be stored in a game file 126 corresponding to a game or event. Generally, the broadcast video data may include a plurality of video frames. In some embodiments, one or more video frames of the broadcast video data may include data, such as score board data included therein.
[0073] At step 554, organization computing system 104 may generate tracking data from the broadcast video data. For example, for each game, tracking data system 1 16 may use one or more computer vision and/or machine learning techniques to generate tracking data from the broadcast video data. To generate the tracking data from the broadcast data, tracking data system 116 may map pixels corresponding to each player and ball to dots and may transform the dots to a semantically meaningful event layer, which may be used to describe player attributes. For example, tracking data system 116 may be configured to ingest broadcast video received from tracking system 102. In some embodiments, tracking data system 116 may further categorize each frame of the broadcast video into trackable and non-trackable clips. In some embodiments, tracking data system 116 may further calibrate the moving camera based on the trackable and non-trackable clips. In some embodiments, tracking data system 116 may further detect players within each frame using skeleton tracking. In some embodiments, tracking data system 116 may further track and re-identify players over time. For example, tracking data system 116 may re-identify players who are not within a line of sight of a camera during a given frame. In some embodiments, tracking data system 116 may further detect and track the ball across all frames. In some embodiments, tracking data system 116 may further utilize optical character recognition techniques. For example, tracking data system 116 may utilize optical character recognition techniques to extract score information and time remaining information from a digital scoreboard of each frame.
[0074] At step 556, organization computing system 104 may enrich the tracking data. In some embodiments, enriching the tracking data may include tracking data system 116 merging play-
by -play data for an event with the generated tracking data. For example, play-by-play module 120 may receive a play-by-play feed corresponding to the broadcast video data. In some embodiments, the play-by-play data may be representative of human generated data based on events occurring within the game. Tracking data system 116 may merge or align the play-by- play data with the raw generated tracking data (which may include the game and shot clock). In some embodiments, tracking data system 116 may utilize a fuzzy matching algorithm, which may combine play-by-play data, optical character recognition data (e.g., shot clock, score, time remaining, etc.), and play/ball positions (e.g., raw tracking data) to generate the aligned tracking data.
[0075] In some embodiments, enriching the tracking data may include tracking data system 116 performing various operations on the aligned tracking system. For example, tracking data system 116 may use the play-by-play data to refine the player and ball positions and precise frame of the end of possession events (e.g., shot/rebound location).
[0076] In some embodiments, enriching the tracking data may include tracking data system 116 detecting events, automatically, from the tracking data. For example, tracking data system 116 may include a neural network system trained to detect/refine various events in a sequential manner. For example, tracking data system 116 may include an actor-action attention neural network system to detect/refine one or more of: shots, rebounds, passes, dribbles and possessions. Tracking data system 116 may further include a host of specialist event detectors trained to identify higher- level events. Exemplary higher-level events may include, but are not limited to, postups, drives, isolations, ball-screens, handoffs, off-ball-screens, the like. In some embodiments, each of the specialist event detectors may be representative of a neural network, specially trained to identify a specific event type.
[0077] In some embodiments, enriching the tracking data may include tracking data system 116 enhancing the detected events with contextual information. For example, tracking data system 116 may generate contextual information to enhance the detected events. Exemplary contextual information may include defensive matchup information (e.g., who is guarding who at each frame), as well as other defensive information such as coverages for ball-screens.
[0078] In some embodiments, enriching the tracking data may include tracking data system 116 generating an “influence score” for each matchup. The influences score may capture the influence a defender may have on each offensive player on a scale of 0-100. In some embodiments, the value for the influence score may be based on basketball defensive principles, such as, but not limited to, proximity to player, distance from basket, passing lanes, lanes to the basket, and the like.
[0079] In some embodiments, enriching the tracking data may include tracking data system 116 using the influence score to assign defender roles for the ball-handler and screener for on- ball screens. In some embodiments, tracking data system 116 may further use the influence score to assign defender roles for the cutter and screener for off-ball screens.
[0080] At step 558, organization computing system 104 may pad the tracking data. For example, padding module 122 may create new player representations using mean-regression to reduce random noise in the features. In some embodiments, padding module 122 may be configured to utilize a padding method, which may be a weighted average between the observed values and sample mean. Padding module 122 may solve for the optimal weighting constant, C, which may best predict the next game of a player’s career. Because this approach can be applied to any game level statistic, padding module 122 may be configured to apply such technique to every feature in both box-score and AutoSTATS data. In some embodiments, certain player level statistics, such as height, weight, minutes/possessions played, etc. may be excluded.
[0081] At step 560, organization computing system 104 may generate player performance projections in a second league for each player. In some embodiments, the second league may be a target league for which a player may be traded, signed to, etc. Using a specific example, the first league could be NBA Eastern Conference and the second league could be NBA Western Conference. In another example, the first league could be G-league and the second league could be the Chinese Basketball Association. In some embodiments, prediction system 124 may project player performance in the second league by classifying each player into one of several bins. Each bin may represent a tier of player performance (e.g., bin 1 = bench player; bin 2 = rotation player; bin 3 = starter; bin 4 = superstar; and the like. In some embodiments, prediction system 124 may project player performance by projecting or estimating season averages for each player in the new league.
[0082] Figure 6A illustrates an architecture of computing system 600, according to example embodiments. System 600 may be representative of at least a portion of organization computing system 104. One or more components of system 600 may be in electrical communication with each other using a bus 605. System 600 may include a processing unit (CPU or processor) 610 and a system bus 605 that couples various system components including the system memory 615, such as read only memory (ROM) 620 and random access memory (RAM) 625, to processor 610. System 600 may include a cache of high-speed memory connected directly with, in close proximity to, or integrated as part of processor 610. System 600 may copy data from memory 615 and/or storage device 630 to cache 612 for quick access
by processor 610. In this way, cache 612 may provide a performance boost that avoids processor 610 delays while waiting for data. These and other modules may control or be configured to control processor 610 to perform various actions. Other system memory 615 may be available for use as well. Memory 615 may include multiple different types of memory with different performance characteristics. Processor 610 may include any general purpose processor and a hardware module or software module, such as service 1 632, service 2 634, and service 3 636 stored in storage device 630, configured to control processor 610 as well as a special-purpose processor where software instructions are incorporated into the actual processor design. Processor 610 may essentially be a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. A multicore processor may be symmetric or asymmetric.
[0083] To enable user interaction with the computing system 600, an input device 645 may represent any number of input mechanisms, such as a microphone for speech, a touch-sensitive screen for gesture or graphical input, keyboard, mouse, motion input, speech and so forth. An output device 635 (e.g., display) may also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems may enable a user to provide multiple types of input to communicate with computing system 600. Communications interface 640 may generally govern and manage the user input and system output. There is no restriction on operating on any particular hardware arrangement and therefore the basic features here may easily be substituted for improved hardware or firmware arrangements as they are developed.
[0084] Storage device 630 may be a non-volatile memory and may be a hard disk or other types of computer readable media which may store data that are accessible by a computer, such as magnetic cassettes, flash memory cards, solid state memory devices, digital versatile disks, cartridges, random access memories (RAMs) 625, read only memory (ROM) 620, and hybrids thereof.
[0085] Storage device 630 may include services 632, 634, and 636 for controlling the processor 610. Other hardware or software modules are contemplated. Storage device 630 may be connected to system bus 605. In one aspect, a hardware module that performs a particular function may include the software component stored in a computer-readable medium in connection with the necessary hardware components, such as processor 610, bus 605, output device 635, and so forth, to carry out the function.
[0086] Figure 6B illustrates a computer system 650 having a chipset architecture that may represent at least a portion of organization computing system 104. Computer system 650 may
be an example of computer hardware, software, and firmware that may be used to implement the disclosed technology. System 650 may include a processor 655, representative of any number of physically and/or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. Processor 655 may communicate with a chipset 660 that may control input to and output from processor 655. In this example, chipset 660 outputs information to output 665, such as a display, and may read and write information to storage device 670, which may include magnetic media, and solid- state media, for example. Chipset 660 may also read data from and write data to RAM 675. A bridge 680 for interfacing with a variety of user interface components 685 may be provided for interfacing with chipset 660. Such user interface components 685 may include a keyboard, a microphone, touch detection and processing circuitry, a pointing device, such as a mouse, and so on. In general, inputs to system 650 may come from any of a variety of sources, machine generated and/or human generated.
[0087] Chipset 660 may also interface with one or more communication interfaces 690 that may have different physical interfaces. Such communication interfaces may include interfaces for wired and wireless local area networks, for broadband wireless networks, as well as personal area networks. Some applications of the methods for generating, displaying, and using the GUI disclosed herein may include receiving ordered datasets over the physical interface or be generated by the machine itself by processor 655 analyzing data stored in storage device 670 or RAM 675. Further, the machine may receive inputs from a user through user interface components 685 and execute appropriate functions, such as browsing functions by interpreting these inputs using processor 655.
[0088] It may be appreciated that example systems 600 and 650 may have more than one processor 610 or be part of a group or cluster of computing devices networked together to provide greater processing capability.
[0089] While the foregoing is directed to embodiments described herein, other and further embodiments may be devised without departing from the basic scope thereof. For example, aspects of the present disclosure may be implemented in hardware or software or a combination of hardware and software. One embodiment described herein may be implemented as a program product for use with a computer system. The program(s) of the program product define functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory (ROM) devices within a computer, such as CD-ROM disks readably by a CD-ROM
drive, flash memory, ROM chips, or any type of solid-state non-volatile memory) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive or hard-disk drive or any type of solid state random-access memory) on which alterable information is stored. Such computer-readable storage media, when carrying computer-readable instructions that direct the functions of the disclosed embodiments, are embodiments of the present disclosure.
[0090] It will be appreciated to those skilled in the art that the preceding examples are exemplary and not limiting. It is intended that all permutations, enhancements, equivalents, and improvements thereto are apparent to those skilled in the art upon a reading of the specification and a study of the drawings are included within the true spirit and scope of the present disclosure. It is therefore intended that the following appended claims include all such modifications, permutations, and equivalents as fall within the true spirit and scope of these teachings.
Claims
1. A method, comprising: identifying, by a computing system, broadcast video for a plurality of games in a first league, wherein the broadcast video comprises a plurality of video frames; generating, by the computing system, tracking data for each game from the broadcast video of a corresponding game; enriching, by the computing system, the tracking data, the enriching comprising merging play-by-play data for the game with the tracking data of the corresponding game; generating, by the computing system, padded tracking data based on the tracking data; and projecting, by the computing system, player performance in a second league for each player based on the tracking data and the padded tracking data.
2. The method of claim 1, wherein enriching, by the computing system, the tracking data further comprises: refining player and ball precisions in each frame of a respective broadcast video.
3. The method of claim 1, wherein enriching, by the computing system, the tracking data further comprises: automatically detecting events, via a neural network, in each frame of a respective broadcast video.
4. The method of claim 3, further comprising: enhancing the detected events with contextual information, the contextual information comprising defensive matchup information.
5. The method of claim 4, further comprising: generating an influence score for each defensive matchup, wherein the influence score captures an influence of a defender on a respective defensive matchup.
6. The method of claim 1, wherein generating, by the computing system, the padded tracking data based on the tracking data comprises: creating new player representations using mean-regression.
22
7. The method of claim 1, further comprising: providing, by the computing system, the tracking data to a raw data model; providing, by the computing system, the padded tracking data to a padded data model; and ensembling, by the computing system, a first output from the raw data model and a second output from the padded data model .
8. The method of claim 7, wherein projecting, by the computing system, the player performance for each player based on the tracking data and the padded tracking data comprises: providing the tracking data to a second raw data model; providing the padded tracking data to a second padded data model; and ensembling a third output from the second raw data model, a fourth output from the second padded data model, , the first output, and the second output to classify the respective player into a bin.
9. A non-transitory computer readable medium comprising one or more sequence of instructions, which, when executed by a processor, causes a computing system to perform operations comprising: identifying, by a computing system, broadcast video for a plurality of games, wherein the broadcast video comprises a plurality of video frames; generating, by the computing system, tracking data for each game from the broadcast video of a corresponding game; enriching, by the computing system, the tracking data, the enriching comprising merging play-by-play data for the game with the tracking data of the corresponding game; generating, by the computing system, padded tracking data based on the tracking data; identifying, by the computing system, a subset of players that have at least a threshold percentage chance of being drafted based on the tracking data and the padded tracking data; and projecting, by the computing system, a range of draft positions for each player of the subset of players based on the tracking data and the padded tracking data.
10. The non-transitory computer readable medium of claim 9, wherein enriching, by the computing system, the tracking data further comprises: refining player and ball precisions in each frame of a respective broadcast video.
11. The non-transitory computer readable medium of claim 9, wherein enriching, by the computing system, the tracking data further comprises: automatically detecting events, via a neural network, in each frame of a respective broadcast video.
12. The non-transitory computer readable medium of claim 11, further comprising: enhancing the detected events with contextual information, the contextual information comprising defensive matchup information.
13. The non-transitory computer readable medium of claim 12, further comprising: generating an influence score for each defensive matchup, wherein the influence score captures an influence of a defender on a respective defensive matchup.
14. The non-transitory computer readable medium of claim 9, wherein generating, by the computing system, the padded tracking data based on the tracking data comprises: creating new player representations using mean-regression.
15. The non-transitory computer readable medium of claim 9, wherein identifying, by the computing system, the subset of players that have at least the threshold percentage chance of being drafted based on the tracking data and the padded tracking data comprises: providing the tracking data to a raw data model; providing the padded tracking data to a padded data model; and ensembling a first output from the raw data model and a second output from the padded data model to generate a percent likelihood of a respective player being drafted.
16. The non-transitory computer readable medium of claim 15, wherein projecting, by the computing system, the range of draft positions for each player of the subset of players based on the tracking data and the padded tracking data comprises: providing the tracking data to a second raw data model; providing the padded tracking data to a second padded data model; and
ensembling a third output from the second raw data model, a fourth output from the second padded data model, the percent likelihood of a respective player being drafted, the first output, and the second output to classify the respective player into a bin.
17. A system comprising: a processor; and a memory having programming instructions stored thereon, which, when executed by the processor, causes the system to perform operations comprising: identifying broadcast video for a plurality of games, wherein the broadcast video comprises a plurality of video frames; generating tracking data for each game from the broadcast video of a corresponding game; enriching the tracking data, the enriching comprising merging play-by-play data for the game with the tracking data of the corresponding game; generating padded tracking data based on the tracking data; identifying a subset of players that have at least a threshold percentage chance of being drafted based on the tracking data and the padded tracking data; and projecting a range of draft positions for each player of the subset of players based on the tracking data and the padded tracking data.
18. The system of claim 17, wherein identifying the subset of players that have at least the threshold percentage chance of being drafted based on the tracking data and the padded tracking data comprises: providing the tracking data to a raw data model; providing the padded tracking data to a padded data model; and ensembling a first output from the raw data model and a second output from the padded data model to generate a percent likelihood of a respective player being drafted.
19. The system of claim 18, wherein projecting the range of draft positions for each player of the subset of players based on the tracking data and the padded tracking data comprises: providing the tracking data to a second raw data model; providing the padded tracking data to a second padded data model; and
25
ensembling a third output from the second raw data model, a fourth output from the second padded data model, the percent likelihood of a respective player being drafted, the first output, and the second output to classify the respective player into a bin.
20. The system of claim 17, wherein enriching the tracking data further comprises: refining player and ball precisions in each frame of a respective broadcast video.
26
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063086372P | 2020-10-01 | 2020-10-01 | |
PCT/US2021/053117 WO2022072794A1 (en) | 2020-10-01 | 2021-10-01 | Prediction of nba talent and quality from non-professional tracking data |
Publications (1)
Publication Number | Publication Date |
---|---|
EP4222575A1 true EP4222575A1 (en) | 2023-08-09 |
Family
ID=80931492
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP21876570.9A Pending EP4222575A1 (en) | 2020-10-01 | 2021-10-01 | Prediction of nba talent and quality from non-professional tracking data |
Country Status (4)
Country | Link |
---|---|
US (2) | US11682209B2 (en) |
EP (1) | EP4222575A1 (en) |
CN (1) | CN116324668A (en) |
WO (1) | WO2022072794A1 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117222455A (en) | 2021-04-27 | 2023-12-12 | 斯塔特斯公司 | System and method for single athlete and team simulation |
Family Cites Families (112)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20000054011A (en) | 2000-05-17 | 2000-09-05 | 민대기 | On Time Data Recording Program of Football Game |
US6616529B1 (en) | 2000-06-19 | 2003-09-09 | Intel Corporation | Simulation and synthesis of sports matches |
AU2002255568B8 (en) | 2001-02-20 | 2014-01-09 | Adidas Ag | Modular personal network systems and methods |
US8409024B2 (en) | 2001-09-12 | 2013-04-02 | Pillar Vision, Inc. | Trajectory detection and feedback system for golf |
US7474698B2 (en) | 2001-10-19 | 2009-01-06 | Sharp Laboratories Of America, Inc. | Identification of replay segments |
US6710713B1 (en) | 2002-05-17 | 2004-03-23 | Tom Russo | Method and apparatus for evaluating athletes in competition |
US20050143198A1 (en) | 2002-06-28 | 2005-06-30 | Anthony Charge | Predictive analysis system and method |
US20040148278A1 (en) | 2003-01-22 | 2004-07-29 | Amir Milo | System and method for providing content warehouse |
US9177387B2 (en) * | 2003-02-11 | 2015-11-03 | Sony Computer Entertainment Inc. | Method and apparatus for real time motion capture |
US20060149674A1 (en) | 2004-12-30 | 2006-07-06 | Mike Cook | System and method for identity-based fraud detection for transactions using a plurality of historical identity records |
US7699707B2 (en) | 2005-05-09 | 2010-04-20 | Hotbox Sports Llc | Fantasy sports system and method thereof |
US20070293289A1 (en) | 2005-07-27 | 2007-12-20 | Loeb Michael R | Methods and systems for realistically simulating human sports activities |
US9522332B2 (en) | 2006-12-13 | 2016-12-20 | Voodoo Gaming Llc | Video games including real-life attributes and/or fantasy team settings |
US20080281444A1 (en) | 2007-04-27 | 2008-11-13 | Sports Prophet, Llc | Predictive modeling system and method for fantasy sports |
US20090186679A1 (en) | 2008-01-23 | 2009-07-23 | James Christopher Irvine | Prediction game system and method |
US20100129780A1 (en) | 2008-09-12 | 2010-05-27 | Nike, Inc. | Athletic performance rating system |
US20110173235A1 (en) | 2008-09-15 | 2011-07-14 | Aman James A | Session automated recording together with rules based indexing, analysis and expression of content |
US20100184564A1 (en) | 2008-12-05 | 2010-07-22 | Nike, Inc. | Athletic Performance Monitoring Systems and Methods in a Team Sports Environment |
US9442933B2 (en) | 2008-12-24 | 2016-09-13 | Comcast Interactive Media, Llc | Identification of segments within audio, video, and multimedia items |
US8666515B2 (en) | 2009-01-07 | 2014-03-04 | Cfi Group Usa, Llc | Statistical impact analysis machine |
US20100184495A1 (en) | 2009-01-21 | 2010-07-22 | Open Sports Network, Inc. | Method and system for playing an online fantasy game |
US8289185B2 (en) | 2009-05-05 | 2012-10-16 | Advanced Technologies Group, LLC | Sports telemetry system for collecting performance metrics and data |
US8406906B2 (en) | 2009-05-23 | 2013-03-26 | Dream Big Baseball, Inc. | Baseball event outcome prediction method and apparatus |
US9186548B2 (en) | 2009-07-20 | 2015-11-17 | Disney Enterprises, Inc. | Play sequence visualization and analysis |
US8707381B2 (en) | 2009-09-22 | 2014-04-22 | Caption Colorado L.L.C. | Caption and/or metadata synchronization for replay of previously or simultaneously recorded live programs |
EP2522134B1 (en) | 2010-01-05 | 2018-10-24 | Isolynx, LLC | Methods for analyzing event data and camera guidence |
KR100986647B1 (en) | 2010-01-21 | 2010-10-08 | 한양대학교 산학협력단 | Method, apparatus and system for estimating of football performance |
US9058670B2 (en) | 2010-05-03 | 2015-06-16 | Stats Llc | Trajectory detection and analysis in sporting events |
US20170330029A1 (en) | 2010-06-07 | 2017-11-16 | Affectiva, Inc. | Computer based convolutional processing for image analysis |
US8659663B2 (en) | 2010-12-22 | 2014-02-25 | Sportvision, Inc. | Video tracking of baseball players to determine the start and end of a half-inning |
US8548611B2 (en) | 2011-02-18 | 2013-10-01 | Joshua David Ahlstrom | Fantasy sports depth chart system and associated methods |
US11074495B2 (en) | 2013-02-28 | 2021-07-27 | Z Advanced Computing, Inc. (Zac) | System and method for extremely efficient image and pattern recognition and artificial intelligence platform |
US20130104870A1 (en) | 2011-10-31 | 2013-05-02 | Vincent Rizzo | Method, apparatus and system for projecting sports objects |
US20130267328A1 (en) | 2011-12-16 | 2013-10-10 | Sports Technology Applications, Inc. | System and method for providing mobile sports related games |
US9734290B2 (en) | 2011-12-16 | 2017-08-15 | Neela SRINIVAS | System and method for evidence based differential analysis and incentives based healthcare policy |
WO2013126652A1 (en) | 2012-02-24 | 2013-08-29 | Cfph, Llc | Amusement devices including customizable gaming parameters |
WO2013166456A2 (en) | 2012-05-04 | 2013-11-07 | Mocap Analytics, Inc. | Methods, systems and software programs for enhanced sports analytics and applications |
US10616663B2 (en) | 2012-07-02 | 2020-04-07 | Russell Brands, Llc | Computer-implemented capture of live sporting event data |
US9461876B2 (en) | 2012-08-29 | 2016-10-04 | Loci | System and method for fuzzy concept mapping, voting ontology crowd sourcing, and technology prediction |
US8996434B2 (en) | 2012-11-21 | 2015-03-31 | Cbs Interactive, Inc. | Automated statistics content preparation |
US9846845B2 (en) | 2012-11-21 | 2017-12-19 | Disney Enterprises, Inc. | Hierarchical model for human activity recognition |
US9580393B2 (en) | 2012-12-13 | 2017-02-28 | University Of Kansas | 6-substituted quinazolinone inhibitors |
US20140236331A1 (en) | 2013-02-21 | 2014-08-21 | Sap Portals Israel Ltd. | Real-time decision making in sports |
US20140274245A1 (en) | 2013-03-15 | 2014-09-18 | Fantasy Pot Odds, Llc | Fantasy player algorithm |
US20140302914A1 (en) | 2013-03-15 | 2014-10-09 | Bram Weinstein | Computer-based Methods and Systems for Fantasy Sports Gaming |
US9162140B2 (en) | 2013-04-16 | 2015-10-20 | Ghostrunner Interactive, Llc | Interactive baseball simulation between remote team managers |
US20170072321A1 (en) | 2013-05-22 | 2017-03-16 | David S. Thompson | Highly interactive fantasy sports interleaver |
US9440152B2 (en) | 2013-05-22 | 2016-09-13 | Clip Engine LLC | Fantasy sports integration with video content |
US9517417B2 (en) | 2013-06-06 | 2016-12-13 | Zih Corp. | Method, apparatus, and computer program product for performance analytics determining participant statistical data and game status data |
US9180357B2 (en) | 2013-06-06 | 2015-11-10 | Zih Corp. | Multiple antenna interference rejection in ultra-wideband real time locating systems |
AU2014278262B2 (en) | 2013-06-12 | 2016-11-03 | Ddsports, Inc. | Basketball shot-tracking system |
US10282068B2 (en) | 2013-08-26 | 2019-05-07 | Venuenext, Inc. | Game event display with a scrollable graphical game play feed |
US10546326B2 (en) | 2013-09-26 | 2020-01-28 | Mark W. Publicover | Providing targeted content based on a user's preferences |
US9342785B2 (en) | 2013-11-15 | 2016-05-17 | Disney Enterprises, Inc. | Tracking player role using non-rigid formation priors |
US10140575B2 (en) | 2013-11-15 | 2018-11-27 | Disney Enterprises, Inc. | Sports formation retrieval |
WO2015076682A1 (en) | 2013-11-21 | 2015-05-28 | Crichq Limited | System and method for assessing or predicting a match outcome in a sporting event |
US10521671B2 (en) | 2014-02-28 | 2019-12-31 | Second Spectrum, Inc. | Methods and systems of spatiotemporal pattern recognition for video content development |
US10713494B2 (en) | 2014-02-28 | 2020-07-14 | Second Spectrum, Inc. | Data processing systems and methods for generating and interactive user interfaces and interactive game systems based on spatiotemporal analysis of video content |
US11861906B2 (en) | 2014-02-28 | 2024-01-02 | Genius Sports Ss, Llc | Data processing systems and methods for enhanced augmentation of interactive video content |
US9914059B2 (en) | 2014-06-16 | 2018-03-13 | Beat Your Mark Group Limited | Virtual league platform of a sport activity |
CN105373938A (en) | 2014-08-27 | 2016-03-02 | 阿里巴巴集团控股有限公司 | Method for identifying commodity in video image and displaying information, device and system |
US20160096071A1 (en) | 2014-10-07 | 2016-04-07 | ShotTracker, Inc. | Real-time event monitoring system for basketball-related activities |
US9003294B1 (en) | 2014-12-23 | 2015-04-07 | FanActivate, LLC | Scalable systems for change detection of statistic data feeds across multiple servers using shared memory with configurable messaging triggers |
US20160220878A1 (en) | 2015-01-30 | 2016-08-04 | Srinivas S. Devathi | Systems and methods of playing an enhanced version of football sport |
WO2017031356A1 (en) | 2015-08-19 | 2017-02-23 | D-Wave Systems Inc. | Discrete variational auto-encoder systems and methods for machine learning using adiabatic quantum computers |
US11006160B2 (en) | 2015-08-24 | 2021-05-11 | Microsoft Technology Licensing, Llc | Event prediction enhancements |
US9751010B2 (en) | 2015-09-18 | 2017-09-05 | Fantasy Sports Company | System and method for virtual team assembly |
US20170109015A1 (en) | 2015-10-14 | 2017-04-20 | Microsoft Technology Licensing, Llc | Contextual athlete performance assessment |
US20170132821A1 (en) | 2015-11-06 | 2017-05-11 | Microsoft Technology Licensing, Llc | Caption generation for visual media |
US10204300B2 (en) | 2015-12-14 | 2019-02-12 | Stats Llc | System and method for predictive sports analytics using clustered multi-agent data |
US10201752B2 (en) | 2015-12-14 | 2019-02-12 | Stats Llc | System for interactive sports analytics using multi-template alignment and discriminative clustering |
US10201755B2 (en) | 2016-02-25 | 2019-02-12 | Pick A Play Networks Inc. | System and method for providing a platform for real time interactive game participation |
US9912974B2 (en) | 2016-03-01 | 2018-03-06 | Disney Enterprises, Inc. | Shot structure of online video as a predictor of success |
WO2017161167A1 (en) | 2016-03-18 | 2017-09-21 | President And Fellows Of Harvard College | Automatically classifying animal behavior |
US10441868B2 (en) | 2016-04-11 | 2019-10-15 | Brian Janssen | Full scale digital replay and practice system for use by positional players in a team-based sport |
US10010778B2 (en) | 2016-06-03 | 2018-07-03 | Pillar Vision, Inc. | Systems and methods for tracking dribbling and passing performance in sporting environments |
CN105833502B (en) | 2016-06-06 | 2018-01-19 | 刘庆斌 | A kind of attack of football formation and defensive technique intelligent tutoring, the system and method for training and competition |
US20190221072A1 (en) * | 2016-08-15 | 2019-07-18 | Mark A. Litman | Versatile fantasy sport scratch-off ticket and method |
WO2018039341A1 (en) | 2016-08-23 | 2018-03-01 | Pillar Vision, Inc. | Systems and methods for tracking basketball player performance |
US10255505B2 (en) | 2016-09-21 | 2019-04-09 | GumGum, Inc. | Augmenting video data to present real-time sponsor metrics |
US20180157974A1 (en) | 2016-12-05 | 2018-06-07 | Disney Enterprises, Inc. | Data-driven ghosting using deep imitation learning |
CA3041148C (en) | 2017-01-06 | 2023-08-15 | Sportlogiq Inc. | Systems and methods for behaviour understanding from trajectories |
US10348820B2 (en) | 2017-01-20 | 2019-07-09 | Facebook, Inc. | Peer-to-peer content distribution |
US10824918B2 (en) | 2017-01-31 | 2020-11-03 | Stats Llc | System and method for predictive sports analytics using body-pose information |
CN110462612A (en) | 2017-02-17 | 2019-11-15 | 凯恩迪股份有限公司 | The method and apparatus for carrying out machine learning using the network at network node with ageng and ranking then being carried out to network node |
EP3422224A1 (en) | 2017-06-30 | 2019-01-02 | Nokia Technologies Oy | An apparatus and associated methods for determining user activity profiles |
US10748376B2 (en) | 2017-09-21 | 2020-08-18 | NEX Team Inc. | Real-time game tracking with a mobile device using artificial intelligence |
US10489656B2 (en) | 2017-09-21 | 2019-11-26 | NEX Team Inc. | Methods and systems for ball game analytics with a mobile device |
US10322330B2 (en) | 2017-10-03 | 2019-06-18 | Fanmountain Llc | Systems, devices, and methods employing the same for enhancing audience engagement in a competition or performance |
US11232109B1 (en) | 2017-12-01 | 2022-01-25 | Pinterest, Inc. | Object identification based on long-term user behavior and short-term interest |
US10417500B2 (en) | 2017-12-28 | 2019-09-17 | Disney Enterprises, Inc. | System and method for automatic generation of sports media highlights |
US11182806B1 (en) | 2018-01-04 | 2021-11-23 | Facebook, Inc. | Consumer insights analysis by identifying a similarity in public sentiments for a pair of entities |
EP3740293A4 (en) | 2018-01-21 | 2022-07-06 | Stats Llc | Method and system for interactive, interpretable, and improved match and player performance predictions in team sports |
WO2019144147A1 (en) | 2018-01-21 | 2019-07-25 | Stats Llc | Methods for detecting events in sports using a convolutional neural network |
CN112969513B (en) | 2018-07-02 | 2022-10-18 | 沛勒尔维珍公司 | System and method for determining reduced athlete performance in a sporting event |
US11311808B2 (en) | 2019-01-21 | 2022-04-26 | Tempus Ex Machina, Inc. | Systems and methods to predict a future outcome at a live sport event |
US12046038B2 (en) | 2019-03-22 | 2024-07-23 | The Regents Of The University Of California | System and method for generating visual analytics and player statistics |
US11146862B2 (en) | 2019-04-16 | 2021-10-12 | Adobe Inc. | Generating tags for a digital video |
US11554292B2 (en) | 2019-05-08 | 2023-01-17 | Stats Llc | System and method for content and style predictions in sports |
US20210056458A1 (en) | 2019-08-20 | 2021-02-25 | Adobe Inc. | Predicting a persona class based on overlap-agnostic machine learning models for distributing persona-based digital content |
US11157742B2 (en) | 2019-09-04 | 2021-10-26 | NEX Team Inc. | Methods and systems for multiplayer tagging for ball game analytics generation with a mobile computing device |
US20210134124A1 (en) | 2019-10-31 | 2021-05-06 | Scoretrade Inc. | In-stadium and location-based user inputs to adjust in-game bet pricing and probabilities |
US11113535B2 (en) | 2019-11-08 | 2021-09-07 | Second Spectrum, Inc. | Determining tactical relevance and similarity of video sequences |
CN115087997A (en) | 2020-02-13 | 2022-09-20 | 斯塔特斯公司 | Dynamic prediction of shot type using personalized deep neural networks |
US11769528B2 (en) | 2020-03-02 | 2023-09-26 | Visual Supply Company | Systems and methods for automating video editing |
US20210304736A1 (en) | 2020-03-30 | 2021-09-30 | Nvidia Corporation | Media engagement through deep learning |
CN115715385A (en) | 2020-06-05 | 2023-02-24 | 斯塔特斯公司 | System and method for predicting formation in sports |
US11958529B2 (en) | 2020-08-20 | 2024-04-16 | Nvidia Corporation | Controlling position of robot by determining goal proposals by using neural networks |
US20220067983A1 (en) | 2020-08-28 | 2022-03-03 | Nvidia Corporation | Object image completion |
US20220253679A1 (en) | 2021-02-05 | 2022-08-11 | Stats Llc | System and Method for Evaluating Defensive Performance using Graph Convolutional Network |
US20220270004A1 (en) | 2021-02-22 | 2022-08-25 | Stats Llc | Micro-Level and Macro-Level Predictions in Sports |
WO2022187487A1 (en) | 2021-03-05 | 2022-09-09 | Stats Llc | Method and system for generating in-game insights |
-
2021
- 2021-10-01 US US17/449,694 patent/US11682209B2/en active Active
- 2021-10-01 WO PCT/US2021/053117 patent/WO2022072794A1/en unknown
- 2021-10-01 CN CN202180067873.2A patent/CN116324668A/en active Pending
- 2021-10-01 EP EP21876570.9A patent/EP4222575A1/en active Pending
-
2023
- 2023-06-16 US US18/336,400 patent/US20230334859A1/en active Pending
Also Published As
Publication number | Publication date |
---|---|
US20230334859A1 (en) | 2023-10-19 |
US11682209B2 (en) | 2023-06-20 |
US20220108111A1 (en) | 2022-04-07 |
CN116324668A (en) | 2023-06-23 |
WO2022072794A1 (en) | 2022-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11660521B2 (en) | Method and system for interactive, interpretable, and improved match and player performance predictions in team sports | |
CN113811898A (en) | System and method for content and style prediction in sports | |
CN115715385A (en) | System and method for predicting formation in sports | |
US20230330485A1 (en) | Personalizing Prediction of Performance using Data and Body-Pose for Analysis of Sporting Performance | |
US11908191B2 (en) | System and method for merging asynchronous data sources | |
WO2022170046A1 (en) | System and method for evaluating defensive performance using graph convolutional network | |
US20230222340A1 (en) | System and Method for Multi-task Learning | |
US20230334859A1 (en) | Prediction of NBA Talent And Quality From Non-Professional Tracking Data | |
US20240181343A1 (en) | System and method for individual player and team simulation | |
US20230047821A1 (en) | Active Learning Event Models | |
US20230106936A1 (en) | Interactive Gaming in Sports | |
US20230104313A1 (en) | Recommendation Engine for Combining Images and Graphics of Sports Content based on Artificial Intelligence Generated Game Metrics | |
EP4340960A1 (en) | System and method for predicting future player performance in sport | |
WO2023154922A2 (en) | System and method for live counter-factual analysis in tennis | |
WO2023287968A1 (en) | Live possession value model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
17P | Request for examination filed |
Effective date: 20230428 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
DAV | Request for validation of the european patent (deleted) | ||
DAX | Request for extension of the european patent (deleted) |