EP4222575A1 - Prediction of nba talent and quality from non-professional tracking data - Google Patents

Prediction of nba talent and quality from non-professional tracking data

Info

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
Application number
EP21876570.9A
Other languages
German (de)
French (fr)
Inventor
Andrew Patton
Nathan WALKER
Matthew Scott
Alex OTTENWESS
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Stats LLC
Original Assignee
Stats LLC
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Stats LLC filed Critical Stats LLC
Publication of EP4222575A1 publication Critical patent/EP4222575A1/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/41Higher-level, semantic clustering, classification or understanding of video scenes, e.g. detection, labelling or Markovian modelling of sport events or news items
    • G06V20/42Higher-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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/01Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models
    • G06N5/042Backward inferencing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION 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/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/105Human resources
    • G06Q10/1053Employment or hiring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/292Multi-camera tracking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V30/00Character recognition; Recognising digital ink; Document-oriented image-based pattern recognition
    • G06V30/10Character recognition
    • G06V30/19Recognition using electronic means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30221Sports video; Sports image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/70Arrangements for image or video recognition or understanding using pattern recognition or machine learning
    • G06V10/82Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V20/00Scenes; Scene-specific elements
    • G06V20/40Scenes; Scene-specific elements in video content
    • G06V20/44Event 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
EP21876570.9A 2020-10-01 2021-10-01 Prediction of nba talent and quality from non-professional tracking data Pending EP4222575A1 (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

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)