Defense player analysis using video broadcast in athletic sports
By processing video broadcast frames to identify player positions and matchups, and calculating defensive impact scores and physical fitness indicators, the problem of remotely tracking players' defensive effort and physical fitness indicators has been solved, enabling quantitative assessment of players' defensive intensity and physical fitness and prediction of future performance.
Patent Information
- Application Number
- CN202480025152.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-04-13
- Filing Date
- 2024-04-12
- Publication Date
- 2025-11-25
AI Technical Summary
Existing technologies make it difficult to remotely track players' defensive efforts and physical fitness indicators during sporting events, especially given the frame loss issues in video broadcasts.
By processing each frame of video broadcast, player positions and matchups are identified, the distance between defensive and offensive players is calculated, defensive impact scores are generated, and physical fitness indicators are estimated using machine learning models to predict future load.
It enables quantitative assessment of players' defensive intensity and accurate estimation of physical indicators, providing detailed insights into players' performance during the game and predictions of their future performance.
Smart Images

Figure CN121014062A_ABST
Abstract
Description
Cross Reference to Related Applications
[0001] This application claims priority to U.S. Provisional Patent Application Serial No. 63 / 495,871, filed April 13, 2023, the entire disclosure of which is incorporated herein by reference. TECHNICAL FIELD
[0002] The present invention relates generally to a system and method of tracking player movement from a video broadcast of a sporting event and determining one or more metrics from the tracked movement of the players. BACKGROUND
[0003] Various techniques (e.g., cameras, sensors, technical statistics) can be used to track player performance during a sporting event (e.g., a basketball game). For example, team and player statistics can be dynamically tracked during a basketball game. Player statistics can include offensive and / or defensive metrics that track various aspects of a player’s performance during a game, such as a player’s movement, ball control metrics, number of turnovers, number of shot attempts, etc.
[0004] Metrics related to player performance can be tracked and aggregated over multiple games, multiple seasons, etc. The aggregated player metrics can be processed to derive detailed insights related to various aspects of player performance.
[0005] The background description provided herein is intended to generally present the context of the application. Unless otherwise indicated herein, materials described in this section are not prior art to the claims in this application and are not admitted to be prior art or suggestions of the prior art by inclusion in this section. SUMMARY
[0006] In some aspects, the technology described herein relates to a method comprising: obtaining a video broadcast of a sporting event; processing each frame of the video broadcast to identify players of a first team and a second team, a position of each identified player, a matchup between each identified defensive player and a corresponding identified offensive player, and a distance between each identified defensive player and a corresponding identified offensive player; aggregating, for each frame, the distance between a first identified defensive player and a first identified offensive player with which the first identified defensive player is matched to generate an aggregated distance between the first identified defensive player and the first identified offensive player during the sporting event; and generating a defensive impact score for the first identified defensive player based on the aggregated distance of the first identified defensive player.
[0007] In some aspects, the technology described herein relates to a system comprising: a processor; and a memory having stored thereon programming instructions that, when executed by the processor, perform one or more operations comprising: obtaining a video broadcast of a sporting event; processing each frame of the video broadcast to identify players of a first team and a second team, a location of each identified player, a matchup between each identified defensive player and a corresponding identified offensive player, and a distance between each identified defensive player and the corresponding identified offensive player; aggregating, for each frame, the distances between the first identified defensive player and the first identified offensive player to which the first identified defensive player is matched up to generate an aggregated distance between the first identified defensive player and the first identified offensive player during the sporting event; and generating a defensive impact score for the first identified defensive player based on the aggregated distance of the first identified defensive player.
[0008] In some aspects, the technology described herein relates to a non-transitory computer-readable medium comprising one or more sequences of instructions that, when executed by one or more processors, cause the one or more processors to: obtain a video broadcast of a sporting event; process each frame of the video broadcast to identify players of a first team and a second team, a location of each identified player, a matchup between each identified defensive player and a corresponding identified offensive player, and a distance between each identified defensive player and the corresponding identified offensive player; aggregate, for each frame, the distances between the first identified defensive player and the first identified offensive player to which the first identified defensive player is matched up to generate an aggregated distance between the first identified defensive player and the corresponding identified offensive player during the entire sporting event and an average distance between the first identified defensive player and the first identified offensive player during a set of time ranges in which the first identified defensive player played during the sporting event; and generate a defensive impact score for the first identified defensive player based on the aggregated distance of the first identified defensive player, wherein the defensive impact score comprises a total defensive impact score for the first identified defensive player during the entire sporting event and a set of defensive impact scores for each of the set of time ranges in which the first identified defensive player played during the sporting event. BRIEF DESCRIPTION OF DRAWINGS
[0009] In order to enable a fuller understanding of the above-mentioned features of the application, a more complete description will now be presented, exemplified by embodiments thereof, one of which is shown in the accompanying drawings. It is noted, however, that the accompanying drawings are merely intended to illustrate typical embodiments of the application and therefore should not be taken to limit the scope thereof as defined by the appended claims.
[0010] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate the disclosed embodiments and together with the description, explain the principles of the disclosed embodiments. Numerous aspects and embodiments are described herein. One of ordinary skill in the art will readily recognize that features of a particular aspect or embodiment can be interchanged with features of any other aspect or embodiment described herein without departing from the scope of the present application. In the drawings:
[0011] Figure 1 is a block diagram illustrating a computing environment in accordance with example embodiments.
[0012] Figure 2 is an example flow for generating a defensive impact score quantifying a strength of defense of a player during a sporting event based on a game video broadcast in accordance with example embodiments.
[0013] Figure 3 is a flow of an example method for generating a defensive impact score quantifying a strength of defense of a player during a sporting event based on a game video broadcast in accordance with example embodiments.
[0014] Figures 4A-4C may illustrate different frames of a video broadcast and different positions of a player and a ball during a game in accordance with example embodiments.
[0015] Figures 5A-5B illustrates a representation of an example defensive impact score for a player in accordance with example embodiments.
[0016] Figures 6A-6B illustrates an example player card showing various offensive and defensive metrics for a player in accordance with example embodiments.
[0017] Figure 7A is a block diagram illustrating a computing device in accordance with example embodiments.
[0018] Figure 7B is a block diagram illustrating a computing device in accordance with example embodiments.
[0019] Figure 8 is a flow of an example system and method for generating one or more athletic metrics in accordance with example embodiments.
[0020] To facilitate the understanding of this application, like reference numerals have been used, where possible, to designate identical elements common to the figures. It is contemplated that elements disclosed in one embodiment can be beneficially utilized on other embodiments without specific recitation. DETAILED DESCRIPTION
[0021] The foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the features, as claimed. As used herein, the terms "comprises," "comprising," or other variations thereof are intended to cover a non-exclusive inclusion such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but can include other elements not expressly listed or inherent to such process, method, article, or apparatus. Additionally, the term "exemplary" is used herein in the sense of "example," rather than the sense of "ideal." It should be noted that all numerical values (including all disclosed values, limits, and ranges) disclosed or taught in this specification can be modified by the term "about" (unless specifically indicated otherwise). Furthermore, in the claims, values, limits, and / or ranges are expressed using the term "about" in conjunction with the term "comprises" or "comprising" to indicate that the value, limit, and / or range need not be exact, but can include minor variations (e.g., ±10%) unless specifically indicated otherwise.
[0022] Reference will now be made in detail to the exemplary embodiments of the application described below and illustrated in the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts.
[0023] Additional objects and advantages of the embodiments will be set forth in part in the description that follows, and in part will be obvious from the description, or can be learned by practice of the embodiments. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the claims.
[0024] Various techniques (e.g., cameras, sensors, technical statistics) can be used to track player performance during the course of a sporting event (e.g., a basketball game). For example, team and player statistics can be tracked dynamically during the course of a sporting event. Player statistics can include offensive and / or defensive metrics that track various aspects of a player's performance during a game, such as a player's movement, ball control metrics, number of turnovers, number of shot attempts, etc.
[0025] Metrics related to player performance can be tracked and aggregated over multiple games, multiple seasons, etc. Aggregated player metrics can be processed to gain detailed insights into various aspects of a player's performance.
[0026] One key metric in analyzing player performance and predicting future performance (e.g., predicting a player's professional basketball performance from tracking data during college years) can be a player's physicality / defensive effort over a period of time. A player's physicality / defensive effort can specify a relative strength of a player's defensive play, or a player's impact on the game in terms of defense during the course of a game. For example, a player's physicality / defensive effort can identify a player's effort decreasing in the last 10 minutes of a game, or a player's tendency to move less fluidly during certain periods of a game.
[0027] In many cases, when tracking data for the entire game is available using an in-stadium solution, the process can be quite straightforward and mature. However, with the advent of obtaining player tracking data from remote tracking, there are a number of approaches that can be used to estimate defensive effort, as well as other physicality metrics. The present embodiments can be used to determine player physicality / defensive effort from remote tracking data in sports (e.g., basketball, soccer, tennis).
[0028] In particular, the present embodiments can show how defensive positioning features can be used, where a player’s defensive impact can be captured during a game (e.g., during each frame of a video broadcast). This information can be viewed through a longitudinal lens (e.g., over the course of a game, season). Additionally, the present embodiments can capture and estimate physicality metrics, such as sprints and effort with respect to detected tactics, such as pick-and-rolls and ball-recovery, which can be a good proxy for measuring a player’s effort.
[0029] The present embodiments can implement one or more models to generate a defensive impact score, which quantifies a player’s defensive strength during the course of a game. The defensive impact score can include a frame-by-frame machine learning prediction that can be used to estimate the defensive pressure a player exerts on another player during the course of a game. For example, a defensive impact score of 0 can include exerting no pressure on an opposing player, while a defensive impact score of 100 is exerting very tight defensive pressure on an opposing player. Additionally, event detection outputs (including offensive and defensive metrics) can be used as features to estimate physicality metrics (e.g., player load, sprints, jogs, etc.) for a player.
[0030] Defensive effort and physicality metrics can be applied in cases where complete tracking data from all players is available from an in-stadium solution. However, there can not be a solution to estimate previously created defensive effort and physicality metrics from remote tracking (e.g., due to frame missing from a player being out of view).
[0031] While basketball is generally used as an illustrative example herein, the present embodiments are not limited to basketball. For example, the present embodiments can be applied to other sports, such as soccer, basketball, baseball, American football, rugby, cricket, team sports, individual sports, etc.
[0032] Figure 1 FIG. 1 is a block diagram illustrating a computing environment 100, in accordance with example embodiments. The computing environment 100 can include a tracking system 102, an organization computing system 104, and one or more client devices 108 that communicate via a network 105.
[0033] The network 105 can be any suitable type, including individual connections via the Internet, such as cellular or Wi-Fi networks. In some embodiments, the network 105 can connect terminals, services, and mobile devices using direct connections, such as radio frequency identification (RFD), near-field communication (NFC), Bluetooth TM , Bluetooth Low Energy TM (BLE), Wi-Fi TM , ZigBee TM , ambient backscatter communication (ABC) protocols, USB, WAN, or LAN. As the information transmitted can be personal or confidential, security concerns can require one or more of these types of connections to be encrypted or otherwise secured. However, in some embodiments, the information transmitted can not be so personal and, as such, network connections can be selected for convenience rather than security.
[0034] The network 105 can include any type of computer networking arrangement for exchanging data or information. For example, the network 105 can be the Internet, a private data network, a virtual private network using a public network, and / or other suitable connections that enable components in the computing environment 100 to send and receive information between components of the environment 100.
[0035] The tracking system 102 can be positioned within the venue 106 and / or can communicate with one or more components located within the venue 106. For example, the venue 106 can be configured to host a sporting event including one or more actors 152. The tracking system 102 can be configured to record the movements of all actors (e.g., players) on the playing field, as well as the movements of one or more other relevant objects (e.g., a ball, referees, etc.). In some embodiments, the tracking system 102 can be an optical-based system using, for example, a plurality of fixed cameras. For example, a system consisting of six fixed, calibrated cameras can be used that project the three-dimensional positions of players and a ball onto a two-dimensional overhead view of the playing field. In some embodiments, the tracking system 102 can be a radio-based system that uses, for example, radio frequency identification (RFID) tags worn by players or embedded in objects to be tracked. In general, the tracking system 102 can be configured to sample and record at a high frame rate (e.g., 25 Hz). The tracking system 102 can be configured to store at least player identity and position information (e.g., (x, y) position) for all actors and objects for each frame in a game file. The tracking system 102 can receive a venue video stream (e.g., from a venue camera) or a broadcast video stream and can identify position information, movement information, trend information, sporting event information, and / or other relevant information based on the venue stream and / or the broadcast stream (e.g., using one or more trained machine learning models trained to recognize such information).
[0036] The tracking system 102 can be configured to communicate with the organization computing system 104 via the network 105. The organization computing system 104 can be configured to manage and analyze data captured by the tracking system 102. The organization computing system 104 can include at least a web client application server 154, a pre-processing agent 156, a data store 158, a video remote tracking model 170, a defensive impact score model 172, a physical indicator estimation model 174, and a player load prediction model 176.
[0037] Each of the video remote tracking model 170, the defensive impact score model 172, the physical indicator estimation model 174, and the player load prediction model 176 can be comprised of one or more software modules. The one or more software modules can be a collection of code or instructions stored on a medium (e.g., a memory of the organization computing system 104) that represents a series of machine instructions (e.g., program code) that implement one or more algorithmic steps. Such machine instructions can be actual computer code that is parsed by a processor of the organization computing system 104 to implement the instructions, or alternatively, can be a higher level of instruction coding that is parsed to obtain the actual computer code. The one or more software modules can also include one or more hardware components. One or more aspects of the example algorithms can be performed by the hardware components (e.g., circuitry) themselves, rather than as a result of instructions.
[0038] The pre-processing agent 156 can be configured to process data retrieved from the data store 158 prior to input into any of the video remote tracking model 170, the defensive impact score model 172, the physical indicator estimation model 174, and the player load prediction model 176. Subsequently, the pre-processing agent 156 can extract one or more portions of the tracking data from one or more data streams and normalize the one or more portions of data for processing.
[0039] The data store 158 can be configured to store various sources of information. For example, the data store 158 can store historical game data, in-game data, and / or outputs derived from any of the models as described herein. The historical game data can include a repository of historical team and player data for one or more sports events. The data store can store tracking aspects of historical data for previous basketball games for each player and team in multiple levels / leagues (e.g., International Professional Basketball League, College Basketball League). The data store 158 can also store offensive / defensive indicators (e.g., 202, 204) for each player.
[0040] The video remote tracking model 170 can process video broadcasts of sporting events (e.g., basketball games) to track various aspects of the game. For example, the video remote tracking model 170 can identify the location of each player on the court in each frame of the video. In addition, the video remote tracking model 170 can process each frame to identify the matchup between each offensive player and a corresponding defensive player, as well as the distance of each defensive player from the corresponding offensive player (e.g., the player each defensive player is guarding). The video remote tracking model 170 can implement one or more image processing techniques to identify features in each video frame (e.g., to identify each player) and determine the location of each player on the court.
[0041] In some cases, the video remote tracking model 170 can be used to detect offensive events that occur during a game. Offensive events can include a pick or a screen initiated by an offensive player. Such events can be detected by the video remote tracking model 170 detecting a particular position and / or movement of multiple players in one or more frames that is similar to any of a set of offensive events. The video remote tracking model 170 can also track defensive movements in response to the offensive event, such as defensive movements around a screen.
[0042] The defensive impact score model 172 can include a machine learning model configured to compute a defensive impact score for a player. The defensive impact score can specify the relative defensive impact of a player during the course of a game (or a series of scores computed for every few minutes of a player’s time on the court). The defensive impact score model 172 can use the aggregate distance of a defensive player from corresponding offensive players to determine how tightly the defensive player is pressing the offensive players, which can indicate the degree of defensive effort made by the defensive player during the game. The defensive impact score can be based on a score range (e.g., 0-100), where lower scores indicate that the defensive player is farther away from the corresponding offensive players (and thus the defensive coverage is looser), and higher scores indicate that the distance from the offensive players is closer (and the defensive coverage is tighter).
[0043] The fitness metric estimation model 174 can process the defensive impact score and / or the offensive / defensive metrics for a player to determine one or more fitness metrics for the player. The fitness metrics can relate to the movement and defensive intensity of the player. Example fitness metrics can include the player’s sprints, jogs, time spent without movement on the court, average distance from offensive players during picks or screens, etc. The fitness metrics can each include a score (e.g., 0-100 points) that can be aggregated to determine an overall fitness metric for the player. In some cases, the fitness metrics can be based on different time ranges on the court for the player. In this example, if the defensive impact score for the player decreases as the game progresses, the fitness metrics can be negatively impacted as the game progresses.
[0044] The player load prediction model 176 can be configured to predict a future load (e.g., minutes played, exertion level made) of a player over the remaining time of a game, a subsequent game, etc. The future load can include predicted values for a player, such as predicted minutes played, an average distance the player is expected to maintain from an offensive matchup player, sprints during a game, etc. The predictions generated by the player load prediction model 176 can be used to gain insight into the defensive exertion level a player is expected to exhibit over the remaining time of a current game or upcoming games.
[0045] The client device 108 can communicate with the organization computing system 104 via the network 105. The client device 108 can be operated by a user. For example, the client device 108 can be a mobile device, a tablet, a desktop computer, or any computing system having the capabilities described herein. The user can include, but is not limited to, an individual, such as, for example, a subscriber, client, potential client, or customer of an entity associated with the organization computing system 104, such as an individual who has obtained, will obtain, or is likely to obtain a product, service, or consultation from the entity associated with the organization computing system 104.
[0046] The client device 108 can include at least one application 132. The application 132 can represent a web browser that allows access to a website or can be a standalone application. The client device 108 can access the application 132 to access one or more functions of the organization computing system 104. The client device 108 can communicate over the network 105 to request web pages, for example, from the web client application server 154 of the organization computing system 104. For example, the client device 108 can be configured to execute the application 132 to access content managed by the web client application server 154. Content displayed to the client device 108 can be transmitted from the web client application server 154 to the client device 108 and subsequently processed by the application 132 for display through a graphical user interface (GUI) of the client device 108.
[0047] Figure 2 is an example flow 200 for generating a defensive impact score that quantifies a defensive strength of a player during a course of a sporting event based on a video broadcast of the game. As Figure 2As shown, various input data sources (e.g., player offensive metrics 202, player defensive metrics 204, etc.) can be obtained for processing as described herein. The metrics 202, 204 can include statistics obtained and accumulated by a player over a period of time (e.g., past games, a season, etc.). For example, the offensive metrics 202 can include statistics related to shooting, ball handling, passing, on-ball screening, off-ball screening, etc. Example defensive metrics 204 can include statistics related to shot defense, rebounding, help defense, etc. The metrics 202, 204 can include statistics for any league in which the player participates, such as a college league or a professional league. In Figures 6A-6B An example player card is shown in which offensive and defensive metrics are shown.
[0048] Further, the video remote tracking model 170 can obtain a video broadcast of a sporting event and derive insights into the video. The video remote tracking model 170 can implement one or more image recognition and machine learning techniques to identify players for each team, matchups between opposing players for each team, locations of each player on the court, distances between opposing players, etc.
[0049] In some cases, a frame of the video broadcast can not depict every player (e.g., due to a player being out of frame). In such cases, the video remote tracking model 170 can estimate a location of the player on the court based on a previous frame in which the player was last identified.
[0050] The identification information derived from the video broadcast can be fed into the defensive impact score model 172. The defensive impact score model 172 can implement one or more machine learning techniques to determine a defensive impact of a player during a course of a game. The defensive impact of a player can be based on a total distance between the defensive player and a corresponding offensive player that the defensive player is defending. A larger distance (e.g., greater than a respective distance threshold) can indicate that the defensive player is looser in defense and thus has a smaller defensive impact on the game. Conversely, a smaller distance can indicate that the defensive player is tighter in defense and thus has a larger defensive impact on the game.
[0051] In some cases, the defensive impact score can also be based on a distance of the defensive player from the corresponding offensive player in response to a detected defensive event (e.g., a screen, a pick). For example, a defensive player that maintains a tighter distance (e.g., within a respective distance threshold) from an offensive player in response to an offensive event can have a larger defensive impact score than a defensive player that maintains a larger distance from the offensive player during the offensive event.
[0052] The output from the defensive impact score model 172 can include a score (e.g., 0-100) that indicates a player’s defensive impact during a game. In some cases, the defensive impact score can be broken down by time period, such as a 5 or 10 minute interval that a defensive player is on the court during a game. The score broken down by time can indicate a defensive strength of a player during a course of a game, such as identifying that a player is less defensive after being on the court for more than, for example, 20 minutes.
[0053] The defensive impact score and / or indicators 202, 204 of a player can be fed into a physicality indicator estimation model 174. The physicality indicator estimation model 174 can generate one or more physicality indicators of a player. Example physicality indicators can include a player’s sprints, jogs, time spent on the court without moving, average distance from an offensive player during an offensive event (e.g., a pick and roll or a screen), etc. The physicality indicators can indicate a player’s overall physicality and / or a defensive strength of a player during a course of a game. In some cases, any of the defensive impact scores and / or physicality indicators of multiple players of similar positions (e.g., guards, forwards) can be normalized.
[0054] The physicality indicators can be fed into a player load prediction model 176. The player load prediction model 176 can predict a load (e.g., minutes on the court, predicted number of sprints, jogs, defensive strength, screen defense) of a player during a remaining time of a game or during an upcoming game.
[0055] Figure 3 is a flow 300 of an example method for generating a defensive impact score that quantifies a defensive strength of a player during a course of a sports event based on a video broadcast of the game.
[0056] At step 302, a video remote tracking model (e.g., 170) can obtain a video broadcast of a sports event. The video broadcast can be a live or a replay of a sports event (e.g., a basketball game). In some cases, the video can include one or more angles captured by different cameras during the broadcast. In some cases, the video broadcast is a live or a replay of a basketball game.
[0057] At step 304, the video remote tracking model 170 can process each frame of the video broadcast to identify one or more of: each player portion of a first team and a second team, a location of each player, a matchup between each defensive player and a corresponding offensive player that the defensive player is defending, and a distance between each defensive player and the corresponding offensive player. In particular, a first defensive player can be identified, as well as a distance between the first defensive player and a corresponding offensive player that the first defensive player is defending.
[0058] In some cases, the method can include processing one or more frames of the video broadcast to detect the occurrence of an offensive event. Example offensive events can include a pick and roll tactic, a ball screen, a non-ball screen, etc. The video remote tracking model can identify the occurrence of the offensive event based on patterns in the position of the offensive player and / or movement of the offensive player that are similar to the offensive event. The method can also include predicting the player effort level of the first offensive player using the defensive impact score and one or more player fitness indicators in response to the detected offensive event.
[0059] In some cases, the method can include generating, for each frame, a virtual representation of the video broadcast that depicts the position of each player and the ball on the court, and the distance between each defensive player and each corresponding offensive player. The virtual representation can be generated by the video remote tracking model. Figures 4A-4C An example virtual representation is shown.
[0060] In some cases, the video remote tracking model can process the video broadcast to determine that the first defensive player has a new matchup with another offensive player. For example, if the first defensive player switches to defend another offensive player, the video remote tracking model can identify and update the matchup between the defensive player and the new offensive player. The video remote tracking model can also calculate an updated distance between the first defensive player and the other offensive player. The updated distance can be used to generate the defensive impact score. For example, the average distance between the defensive player and each offensive player can be tracked and recorded each time the defensive player switches to a new offensive player in order to generate the defensive impact score.
[0061] At step 306, the video remote tracking model 170 can aggregate the distance between the first defensive player and the corresponding offensive player for each frame to generate an aggregated distance between the first defensive player and the corresponding offensive player during the sporting event. The aggregated distance can indicate the average distance of the first defensive player from the offensive player during the course of the game. In some cases, the aggregated distance can be partitioned by time such that the distance can be tracked based on the time the player is on the court during the course of the game.
[0062] At step 308, the defensive impact score model 172 can generate a defensive impact score for the first defensive player based on the aggregated distance of the first defensive player. The defensive impact score can include a 0-100 score that designates the relative strength of the defensive player during the course of the game. In some cases, the defensive impact score includes a total defensive impact score for the first defensive player during the entire basketball game, and a set of defensive impact scores for each of a set of time ranges that the first defensive player is on the court during the basketball game.
[0063] At step 310, the physicality metric estimation model 174 can obtain a set of offensive and defensive metrics for the first defensive player. Examples of offensive and defensive metrics can be shown in Figures 6A-6B
[0064] At step 312, the physicality metric estimation model 174 can generate one or more player physicality metrics using the metrics and the defensive impact score.
[0065] At step 314, the player load prediction model 176 can predict a load for the first defensive player in an upcoming sporting event using at least the one or more physicality metrics. The load can include any of a number of minutes played by the first defensive player and one or more predicted defensive statistics for the first defensive player in the upcoming sporting event.
[0066] As described above, the video remote tracking model can obtain a video broadcast and generate insights into the game from the video broadcast. Figures 4A-4C Various frames of a virtual representation of a video broadcast of a basketball game according to example embodiments are shown. Each frame 400A-400C can show a different frame of the video broadcast and different positions of the players and the ball during the course of the game as represented in Figures 4A-4C
[0067] Figure 4A A first frame of a virtual representation of a video broadcast of a basketball game according to example embodiments is shown. For example, the first frame 400A can depict a frame of the video broadcast designated by a particular shot clock time frame and frame number (e.g., 402A). Further, in Figure 4A each player can be designated as part of either team (e.g., the offensive team, the defensive team), such as the first offensive player 404 and the first defensive player 406. The distance 408A between each defensive player and the corresponding offensive player that they are defending can be tracked. The distance between players can vary depending on the players, position, etc. Further, the distance maintained by the player from the offensive player that the defensive player is defending over the course of the game can be tracked to determine a defensive impact score for the player (e.g., player 406) for each time period during the game. Each frame can also track the position of the ball 410 as it is passed between players.
[0068] In some cases, the video remote tracking model 170 can track possession of the ball 410 by either team. Further, the model can determine when possession changes to the defensive team. In such cases, the video remote tracking model 170 can stop tracking the distance (e.g., 408A-408C) once possession changes, as the first defensive player (e.g., player 406) now becomes offensive. In some cases, the tracking of the distance only begins once the ball 410 crosses the half court line.
[0069] Figure 4B The second frame shows a virtual representation of a video broadcast of a basketball game according to an example embodiment. Figure 4B In the second frame 400B (shown by the unique frame number 402B), the ball 410 can be passed to the second attacking player, and the distance 408B between the first attacking player 404 and the first defending player 406 can dynamically change as players 404 and 406 move on the court. In some cases, when a player (e.g., player 406) changes to defend another player, the video remote tracking model can change the distance (e.g., 408B) to the distance between the defending player and the new attacking player.
[0070] Figure 4C The third frame shows a virtual representation of a video broadcast of a basketball game according to an example embodiment. Figure 4C In the third frame 400C (with a unique frame number 402C), the distance 408C between players 404 and 406 can increase. When summarizing multiple frames, this can indicate that the defensive intensity (represented by a defensive impact score) of a player (e.g., player 406) is decreasing. The distance between defensive players can be tracked for each frame and summarized in the generation of the defensive impact score as described herein.
[0071] It can generate a player's defensive impact rating for the entire game on the field. Figures 5A-5B Representations 500A to 500B for example defensive influence scores for players, according to example embodiments, are shown. For example, Figure 5A This is Table 500A, which contains multiple columns that identify players (502), teams (504), match time range (506), and average defensive impact score (508).
[0072] Table 500A can represent tracked defensive impact scores divided into time ranges of the game (e.g., 508). For example, a time range (e.g., 506) can be divided into 5-minute intervals, or it can represent the number of minutes a player played.
[0073] like Figure 5A As shown in this example, a player's average defensive impact may decrease as the game progresses, which can indicate a decline in various defensive metrics as the game goes on.
[0074] Figure 5B Figure 500B shows a trend line 510 depicting the average defensive impact score of a player (e.g., 512). Figure 5BThe graph in FIG. 5 can show that as the number of minutes a player is on the court (e.g., 514) increases, the defensive impact score decreases. The defensive impact score can be used to derive deeper insights and predictions of defensive performance, such as, for example, to derive a player’s fitness metric or to predict a player’s load. Figures 6A-6B Example player cards 600A-B are shown in accordance with example embodiments, which show various offensive and defensive metrics for a player. The player cards 600A-B can summarize a range of metrics for a player. For example, offensive metrics (e.g., 602) can include shooting metrics, passing metrics, one-on-one metrics, ball screen metrics, etc. Defensive metrics (e.g., 604) can include shooting defense metrics, rebounding metrics, one-on-one defense metrics, ball screen defense, etc. The player cards 600A-B can show values, percentages, etc., as well as a player’s ranking in each metric. For example, the ranking for each metric can provide a player’s relative ranking among other players in a similar league, or among all players at the same position. Figure 6A Figure 6B
[0075] Computing System Overview
[0076] Figure 7A A system bus computing system architecture 700 is shown in accordance with an example embodiment. System 700 can represent at least a portion of organization computing system 104. One or more components of system 700 can be in electrical communication with each other using a bus 705. System 700 can include a processing unit (CPU or processor) 710 and a system bus 705 that couples various system components, including the system memory 715, such as the read-only memory (ROM) 720 and random access memory (RAM) 725, to the processor 710. System 700 can include a cache of high-speed memory directly connected to, in close proximity to, or integrated as part of the processor 910. System 700 can copy data from memory 715 and / or storage 730 to cache 712 for quicker access by processor 710. In this way, the cache 712 can provide a performance boost that overcomes delays that processor 710 would otherwise incur in waiting for data. These and other modules can control or be configured to control the processor 710 to perform various actions. Other system memory 715 can also be used. The memory 715 can include a number of different types of memory with different performance characteristics. The processor 710 can include any general purpose processor and a hardware module or software module, such as service 1 732, service 2 734, and service 3 736 stored in storage 730, configured to control the processor 710; and a special purpose processor, where software instructions are incorporated into the actual processor design. The processor 710 can be essentially a completely self-contained computing system, containing multiple cores or processors, a bus, memory controller, cache, etc. The multi-core processor can be symmetric or asymmetric.
[0077] To enable user interaction with the system 700, an input device 745 can represent any number of input mechanisms, such as a microphone for speech, a touch screen for gesture or graphical input, keyboard, mouse, motion input, speech and the like. An output device 735 can also be one or more of a number of output mechanisms known to those of skill in the art. In some instances, multimodal systems can enable a user to provide multiple types of input to communicate with the system 700. The communications interface 740 can 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 can easily be substituted for improved hardware or firmware arrangements as they are developed.
[0078] Storage 730 can be non-volatile memory and can be a hard disk or other types of computer readable media which can store data that are accessible to a computer, such as a tape cassette, flash memory card, solid state memory device, digital versatile disk, Blu-ray disk, memory stick, random access memory (RAM) 725, read only memory (ROM) 720, and hybrids thereof.
[0079] The storage device 730 can include services 732, 734, and 736 for controlling the processor 710. Other hardware or software modules are contemplated. The storage device 730 can be connected to the system bus 705. In one aspect, a hardware module that performs a particular function can include the software component stored in a computer-readable medium that, in combination with the required hardware components, such as the processor 710, the bus 705, the output device 735, and so on, performs that function.
[0080] Figure 7B A computer system 750 is shown having a chipset architecture that can represent at least a portion of the organizational computing system 104. The computer system 750 can be an example of computer hardware, software, and firmware that can be used to implement the disclosed technology. The system 750 can include a processor 755, which represents any number of physically and / or logically distinct resources capable of executing software, firmware, and hardware configured to perform identified computations. The processor 755 can be in communication with a chipset 760, which can control input to and output from the processor 755. In this example, the chipset 760 outputs information to the output 765, such as a display, and can read information from and write information to the storage device 770, which can include, for example, magnetic media and solid state media. The chipset 760 can also read data from and write data to the RAM 775. A bridge 780 for interfacing with the chipset 760 can be provided to interface with various user interface components 785. Such user interface components 785 can include a keyboard, microphone, touch detection and processing circuitry, pointing devices, such as a mouse, and the like. Generally, input to the system 750 can come from any of a variety of machine- generated and / or human-generated sources.
[0081] The chipset 760 can also interface with one or more communication interfaces 790 that can have different physical interfaces. Such communication interfaces can include interfaces for wired and wireless local area networks, for broadband wireless networks like Wi-Fi®, and for personal area networks. Some applications of the methods disclosed herein include the receipt of ordered datasets over a physical interface and the analysis of those datasets by the processor 755. Moreover, a machine can receive input from a user through the user interface components 785 and perform appropriate functions using the processor 755, such as parsing the input into appropriate commands for the browser function.
[0082] It can be appreciated that the example systems 700 and 750 can have more than one processor 710 or be part of a group or cluster of computing devices connected together through a network, to provide greater processing capability.
[0083] Reference is made to Figure 8 In some embodiments, a system and method for predicting performance indicators is provided. Existing systems for tracking player performance indicators during sporting events typically rely on in-stadium tracking data, which captures the location of all players on the field, for example, at least about once per second throughout the entire game. However, this approach faces challenges when in-stadium tracking data for a particular game is not available. In such cases, broadcast tracking data obtained from video streams of the game can be used as an alternative data source. However, broadcast tracking data introduces additional complexity, as players can be out of frame for a significant portion of the game, resulting in incomplete tracking information.
[0084] The present system and method addresses these limitations by leveraging a combination of broadcast tracking data and event data to generate comprehensive player performance predictions. Broadcast tracking data corresponds to tracking data discussed herein, which can be generated based on one or more broadcast feeds. Event data can be data related to a sporting event that is labeled or otherwise denoted using automated systems (e.g., using one or more machine learning models) and / or operators. Such event data can include sporting events such as, for example, passes, scores, possession changes, fouls, trends, and the like. The system is configured to infer player movement and action during periods when the player is not visible in the broadcast feed by analyzing patterns in the available data and applying machine learning techniques. Such machine learning techniques can use machine learning models that are trained to modify corresponding weights, layers, biases, synapses, and the like based on training data that includes, for example, historical or simulated sporting games that can be labeled as including such sporting events. This approach enables the generation of fitness indicators and physical performance predictions even in the absence of complete in-stadium tracking data.
[0085] Some advantages of the present system include improved accuracy and reliability of player performance predictions, particularly in scenarios where in-stadium tracking data is not available. By leveraging broadcast tracking data and event data in conjunction with advanced machine learning algorithms, the system is configured to generate comprehensive insights into player fitness, movement patterns, and body surface. This enables coaches, analysts, and other stakeholders to make informed decisions regarding player selection, training regimens, and tactical strategies, even in the face of limited data availability. The description of the system and method provided herein embodies additional technical advantages.
[0086] In some embodiments, the present system and method for predicting player performance metrics includes a comprehensive technical anatomy that leverages various hardware and software components. The system ingests data from multiple sources, including broadcast tracking data obtained from video streams of sporting events and event data captured by in-stadium tracking systems. These data sources are processed by specialized software modules, such as the Video Remote Tracking Model 170 and the Preprocessing Agent 156, which can be executed on a computing system, such as the Organization Computing System 104. The processed data is then stored in one or more data stores, such as the Data Store 158. The prediction models of the system, which can include the Defensive Impact Score Model 172, the Fitness Metric Estimation Model 174, and the Player Load Prediction Model 176, are implemented as software modules that utilize the processed data to generate accurate and reliable player performance predictions. These models leverage the computing power of the Organization Computing System 104 to perform complex analytical tasks, and deliver insights to end users via the Client Device 108 and its associated Application 132. The integration of these hardware and software components forms a technical solution that addresses the challenge of predicting player performance in the absence of in-stadium tracking data, such as by utilizing only broadcast tracking data and one or more models trained based at least in part on in-stadium tracking systems.
[0087] In some embodiments, the present system is configured to generate and predict a wide variety of physical metrics that provide valuable insights into player performance and fitness. These metrics can include, but are not limited to, total distance run, sprint distance, sprint frequency, average speed, top speed, distance run at various speed thresholds (e.g., walking, jogging, running, high-speed running, sprinting), acceleration and deceleration frequency at different intensity levels, and the like. The system is designed to be flexible and can adapt the generation and prediction of custom metrics based on the specific requirements or interests of the user, such as by changing the thresholds of various physical metric categories. For example, the thresholds that define sprinting can be lowered to accommodate the differences of one or more leagues (e.g., by gender, by age, by tier, etc.). Predictions can be made at various time frames depending on the needs of the organization and the availability of data. For example, the system can generate predictions after each game, providing a comprehensive assessment of each player’s performance throughout the entire game. Alternatively, predictions can be made at the end of each period of a game, providing a more granular analysis of player performance and fitness fluctuations during the event. In cases where real-time insights are needed, the system is capable of generating predictions at more frequent intervals, such as every few minutes or on-demand, but this is limited by the availability of input data and computing resources.
[0088] Reference Figure 8Flow 800 illustrates the various steps and components involved in predicting one or more player metrics using the present system. The process begins with the acquisition of input data, which can be received from one or more sources, including an application program interface (API) 802 and event data 804. The API 802 serves as a conduit for retrieving relevant data from external systems or databases, such as historical player and team data-based estimates of a player's fitness. This data can include information about a player's past performance, physical attributes, and overall fitness level, which can be used as valuable input for predicting future performance. On the other hand, event data 804 contains actual data captured during a sporting event by in-stadium or broadcast-based tracking systems. This data can include player positions, movements, and actions throughout the course of a game, as well as various statistical data and metrics derived from the raw tracking data. Event data 804 provides a detailed account of what transpired during a particular game and forms the basis for generating accurate predictions of player performance. Additionally, the received data can include information related to the broadcast of the sporting event, such as a live video broadcast feed of the event. In some embodiments, the input data sourced from API 802 and event data 804 is collected and stored in a centralized repository, such as data storage 158 of the organization computing system 104.
[0089] In some embodiments, once the input data sourced from API 802 and event data 804 is collected and stored, the system proceeds to feature generation 806. Feature generation can involve extracting meaningful information from the raw data and transforming it into a format that can be effectively utilized by the system's prediction models. In some embodiments of the present system, feature generation encompasses three distinct aspects: event-based features derived from event data, aggregate fitness indicators derived from broadcast tracking data, and aggregate fitness indicators derived from in-stadium tracking data. Each of these aspects provides unique and valuable insights into player performance and fitness, and their combination enables the system to generate comprehensive and accurate predictions.
[0090] In some embodiments, generating event-based features from event data 804 involves extracting meaningful information from various sources, such as player and team technical statistics, and using this information to create a comprehensive representation of player actions and team dynamics during a game. Generating event-based features can include generating an interpolation of the ball trajectory. The system analyzes the available event data to estimate the path and movement of the ball throughout the game, even when the ball is not directly tracked. This interpolated ball trajectory provides a continuous representation of the game flow and enables the system to infer player actions and interactions related to the ball's position.
[0091] In some embodiments, the system derives player technical statistics from event data that quantify a player's individual actions and contributions. These metrics can include measures such as distance carried with the ball and duration of ball possession per 90 minutes of play, which reflect a player's ability to maintain possession and advance the ball. Additionally, the system computes the number of passes played and received per 90 minutes, as well as the average x-coordinate of these passes, which provides insight into a player's passing activity and the areas of the field in which the player tends to be active, among other metrics.
[0092] Team technical statistics are also generated and / or retrieved while the player is on the field, capturing the collective performance and actions of the team as a whole. These metrics can encompass various aspects of team performance, such as total passes, shots, and goals during the player's time on the field. By considering team-level metrics in conjunction with player individual metrics, the system can better understand a player's contribution in the context of their team's overall performance.
[0093] In some embodiments, the system incorporates team style features derived from event data. These features capture the underlying game style and tactics employed by each team, such as its tendency to run a professional American football, its defensive pressure level, and its inclination to create scoring opportunities. Including team style features allows the system to consider the impact of a player's tactics on the player's individual performance and provides a more nuanced understanding of the dynamics of the game.
[0094] In some embodiments, the system can generate event-based features that capture the relative strength and performance of teams across different levels of play, which can be international matches and youth matches, for example. These techniques involve creating an international strength ranking that provides a standardized measure of team quality across different age groups and levels of play. For men's and women's senior teams, the system leverages prior information provided by the International Federation of Association Football (FIFA) Elo rankings as a starting point. However, for youth teams (e.g., U21 (Under-21 teams), U19 (Under-19 teams), U16 (Under-16 teams)), the system employs a more sophisticated approach that analyzes proprietary strength rankings of the club teams that represent the players for each youth national team and adjusts these rankings based on the proportion of available time each player can play for their club and national team. In some embodiments, the strength rankings are derived from proprietary strength ranking systems and methods, which can be performed by the present system in some embodiments. For example, if a player consistently has a higher proportion of playing time in a top-ranked club team, the player's contribution weight to their youth national team strength ranking will be greater. Conversely, if a player has limited playing time in a lower-ranked club team, the player's impact on their youth national team strength ranking will be proportionally reduced.
[0095] In the absence of sufficient information to directly infer the strength ranking of a youth team, the system utilizes the prior strength ranking of the peer adult team as a proxy. This approach is based on the assumption that the relative strength of a youth team can be correlated with the strength of the corresponding adult team. To refine this estimate, the system applies a scaling factor that is derived from the average ratio of club strength rankings for players in the same age group across all international teams. For example, if it is found that the average club strength ranking for male U19 age group players is 65% of the average club strength ranking for adult players, then this scaling factor (0.65) is applied to the strength ranking of the adult team to estimate the strength ranking of the corresponding U19.
[0096] In the absence of sufficient information to directly infer the strength ranking of a youth team, the system utilizes the prior strength ranking of the peer adult team as a proxy, and applies a scaling factor that is derived from the average ratio of club strength rankings for players in the same age group across all international teams. The resulting international strength rankings are dynamically updated based on the latest available data and stored in the data storage 158 along with other event-based features. Including these rankings as event-based features enables the prediction model to take into account the impact of team quality on player individual performance outcomes, resulting in more accurate and more contextualized predictions of player performance and development potential. It should be understood that the youth team-based implementation described herein is one example. Such related techniques can be implemented for any team that lacks sufficient historical data or direct performance indicators. This approach can be extended to other sports, leagues, or competitions where there is a hierarchical structure or relationship between competitions at different levels.
[0097] In some embodiments, the system generates aggregate physicality indicators derived from broadcast tracking data obtained from video streams of sports events. This process involves analyzing the positions and movements of players captured by cameras during portions of the game, and extracting relevant information to compute various physicality indicators.
[0098] The first step in this process is to apply a physicality calculator model to the broadcast tracking data. The physicality calculator model is a machine learning algorithm that is trained to estimate physicality indicators based on available player tracking data. This model takes into account various factors such as the distance run by each player, their speed, acceleration and deceleration, as well as the duration and intensity of their movements. The model is designed to address the specific challenges associated with broadcast tracking data, such as intermittent visibility of players and potential occlusions or missed detections.
[0099] Once the broadcast tracking data is processed by the physicality calculator model, it generates a set of estimated physicality metrics for each player. These metrics can include total distance run, distance run at different speed thresholds (e.g., walking, jogging, running, sprinting), number of high-intensity runs, and other relevant measures of physical exertion. The estimated physicality metrics are then aggregated over the duration of the game or specific time intervals, providing an overview of each player’s physical performance. These aggregated physicality metrics are used as input features for subsequent stages of the system, particularly the pre-model that predicts player physicality and performance based on historical data. By incorporating these broadcast-derived physicality metrics, the system is able to leverage valuable information about player movement and exertion when in-game tracking data is not available.
[0100] In some embodiments, the system also generates aggregated physicality metrics derived from in-game tracking data captured by specialized tracking systems installed within the sports venue. In-game tracking data provides a comprehensive and continuous record of a player’s location and movement throughout the game, offering a highly accurate and detailed view of a player’s performance. Such aggregated physicality metrics can be used to train the machine learning models disclosed herein, for example, as training data.
[0101] The process of generating aggregated physicality metrics from in-game tracking data begins with the application of a physicality calculator model, which can be the same model used for broadcast tracking data. However, in this case, the model has access to a more complete and accurate set of input data, enabling it to produce more accurate estimates of player physicality metrics. The physicality calculator model processes the in-game tracking data, taking into account various factors such as each player’s distance run, their speed, acceleration and deceleration, and the duration and intensity of their movements.
[0102] Once the physicality calculator model processes the in-game tracking data, it generates a comprehensive set of physicality metrics for each player. These metrics can include total distance run, distance run at different speed thresholds (e.g., walking, jogging, running, sprinting), number of high-intensity runs, and other relevant measures of physical exertion. The physicality metrics derived from in-game tracking data are then aggregated over the duration of the game or specific time intervals, providing a detailed overview of each player’s physical performance. These aggregated physicality metrics are used as ground truth values for training and validating the system’s predictive models, particularly the pre-model and the overall physicality metrics estimation model. By leveraging the high-quality and comprehensive data provided by in-game tracking systems, the aggregated physicality metrics derived from this source enable the system to build accurate and robust models for predicting player physicality and performance, even in situations where in-game tracking data may not be available for future games.
[0103] In some embodiments, the player-game features 808 represent a set of one or more attributes that capture the historical performance and characteristics of each player, as well as team- and position-specific dynamics. These features are generated by accessing and updating a database 810 that stores information about player performance, team tactics, league-specific trends, and the like. The database 810 is continuously and / or periodically updated with the latest data from in-play and broadcast tracking systems, ensuring that the player-game features 808 reflect the latest and most relevant information available.
[0104] In some embodiments, the player-game features 808 incorporate historical information about a player's physical performance indicators. A player's past performance can provide valuable insight into their expected performance in the current game. For example, if a player consistently records the highest speed in previous games, it is more likely that they will maintain that performance level in the current game. Similarly, the system takes into account typical performance indicators associated with different positions on the field. For example, in the context of soccer, goalkeepers are expected to cover much less distance per 90 minutes than midfielders who are known for their high work rate and extensive movement across the field.
[0105] In addition to player individual characteristics, the player-game features 808 can capture team-level and position-specific dynamics. Certain teams can have different playing styles or tactical approaches that influence the physical demands placed on their players. For example, a player from a first team can be expected to perform more high-intensity accelerations per 90 minutes than a player from a second team due to differences in their pressing and counter-attacking strategies. Furthermore, the combination of team and position can further refine the expectations for a player's performance. For example, a winger from a third team can be known for a high number of sprints per 90 minutes, a characteristic that sets them apart from wingers playing for other teams.
[0106] In some embodiments, to leverage this historical information, the system employs a hierarchical update-weighted average approach that, in some embodiments, approximates an Empirical Bayes method. This approach takes into account a player's recent individual performance, such as Figure 8The posterior estimates of player performance indicators are generated from the performance of players shown in FIG. 820 and in similar positions and teams. When a threshold amount (which can be a minimum amount) of player individual data is available and / or has been observed (e.g., 450 minutes of playing time), the posterior estimates are based solely on the player’s own performance. However, when the individual data available is limited, the system supplements it with prior information from the team-position hierarchy using a 1 : 1 weighting scheme until the minimum threshold of 450 minutes is reached. If the team-position data is also insufficient, the system further leverages the position-hierarchy information computed using all teams in the dataset. This hierarchical approach allows for the generation of personalized posterior estimates that are adapted to the available data, ensuring that the player-game features 808 provide the most accurate and reliable representation of each player’s expected performance.
[0107] The pre-forecast model 814 generates the fitness indicator pre-forecasts 812 by leveraging historical in-game tracking data. This model is configured to estimate player performance indicators for a game in the absence of in-game tracking data, using a large amount of historical data from games where both in-game and broadcast tracking data are available. By understanding the relationship between these two data sources, the pre-forecast model 814 can provide valuable insights into player performance even in the absence of complete in-game tracking information.
[0108] In some embodiments, the fitness indicator pre-forecasts 812 generated by the pre-forecast model 814 are used as additional inputs to the overall player performance forecasting system. These pre-forecasts are incorporated into the feature prior data 818, which represents a set of prior expectations about player performance based on historical data. By combining the pre-forecasts with other relevant features, such as player characteristics, team tactics, and league trends, the system creates a robust and informative prior distribution that captures the factors influencing player performance.
[0109] The pre-model enables the use of valuable in-game tracking data that would otherwise not be available. The pre-model is trained using a combination of broadcast tracking data features and in-game physical performance indicators as ground truth labels. This approach allows the pre-model to understand the complex relationship between the two data sources and generate accurate predictions of in-game indicators based on the broadcast data available. By leveraging historical games where both types of data are available, the pre-model can extend the forecasting capabilities of the system to games where only broadcast tracking data is available, maximizing the use of available data and improving the overall accuracy of fitness predictions.
[0110] Still referring to FIG. 8, the system uses the posterior estimates of player performance indicators to generate the player-game features 808, which represent the expected performance of each player in the game. These features are generated using the posterior estimates of player performance indicators, which are based on the player’s own performance and the performance of players in similar positions and teams. The system uses a hierarchical approach to generate these features, starting with the player’s own performance and progressively incorporating information from similar players in the same team and position, and then from similar players in other teams and positions. Figure 8In some embodiments, the process 800 generates a player performance prediction 824 using one or more physicality indicator models, which can include three different physicality indicator models 822: an overall model, a possession model, and a non-possession model. These models are configured to process a wide variety of input features, including player and team metadata, game-specific indicators, and historical performance data, to generate predictions of player physicality. The generated predictions are then stored in one or more databases as physicality indicator predictions 826, which can be accessed and utilized by various stakeholders, such as coaches, analysts, and sport scientists, to inform decision-making processes and optimize player management strategies.
[0111] In some embodiments, the overall model is configured to generate player physicality indicators by considering a variety of input features that capture player-specific characteristics and dynamics at the team level. The model incorporates player metadata, such as the player’s position (e.g., goalkeeper, center back, etc.), minutes played in the game, and the player’s time on the field (i.e., starting player = 0 minutes; substitute player = 60 minutes). These features provide context about the player’s role within the team and the expected physical demands.
[0112] In some embodiments, the overall model also considers team metadata, including the strength ranking of the player’s team and the difference in strength rankings between the player’s team and the opponent team. These features capture the relative strength and competitiveness of the teams involved in the game, which can influence the intensity and physical demands on the player as an individual. Additionally, the model incorporates team features from the current game, such as the proportion of time the player’s team is ahead, level, or behind, the proportion of time spent in possession or out of possession, and the total minutes of active play time. These features provide insights into the overall flow and dynamics of the game that can influence the player’s physicality.
[0113] In some embodiments, the overall model utilizes player technical statistics posterior data, which, as discussed, can be derived using player, team, and / or position prior data. These features include indicators such as distance and duration of ball carries per 90 minutes (p90), number of passes played and received per 90 minutes (p90), and average x-coordinate of passes played and received. By incorporating these historical performance indicators, the model can capture player-specific trends and patterns that can influence the player’s physical output in the current game. Similarly, the model considers team style posterior data, which utilizes and / or uses team prior data, providing insights into the typical game style and tactics of the team that can influence the physical demands on the player as an individual.
[0114] In some embodiments, the overall model also incorporates body performance indicator estimates derived from broadcast tracking data. These features include indicators such as distance run (in meters), distance run at high speed (according to one or more thresholds defining a “high speed” range), and other relevant measures of physical exertion. The model also takes into account the minutes played by the player as tracked in the broadcast data, providing context for the reliability and completeness of the body performance estimates. Additionally, the model utilizes body performance indicator predictions generated by a pre-model that utilizes historical in-game tracking data to estimate player performance in the absence of complete in-game tracking data.
[0115] In some embodiments, the possession and non-possession models are configured to generate independent predictions of player body performance indicators based on a subset of the features used by the overall model. These models focus on game segments in which the player’s team is in possession or not in possession, respectively. By generating separate predictions for these different phases of the game, the system can provide a more nuanced and granular understanding of player body performance.
[0116] In some embodiments, the possession model can incorporate player metadata such as the player’s position, as well as style features (e.g., possession features 0, 1, 2, 3, 4… n) derived from the possession team of the current game. These features capture the typical game style and tactics of the team when in possession, which can influence the physical demands placed on the individual player. The possession model also takes into account team features derived from the current game, such as total active game time, the proportion of time spent in possession by the player’s team, and the number of turnovers in transition by the player’s team. These features provide context for the overall possession-based performance of the team and the potential physical demands associated with maintaining or regaining possession. Additionally, the possession model incorporates ball-related features such as the distance moved by the ball, the distance the ball is advanced towards the team’s own goal, and the average speed of the ball when the player’s team is in possession. These features capture the dynamic nature of possession-based play and the associated physical demands on the player. Finally, the possession model utilizes body performance indicator predictions generated by the overall model, allowing for a more holistic and contextualized understanding of player performance during possession phases. One or more of these indicators and / or features can be used as inputs to the possession model to generate physicality indicator predictions.
[0117] In some embodiments, the out-of-possession model incorporates player metadata, such as the player’s position, and out-of-possession team characteristics stemming from the current match (e.g., out-of-possession characteristics 0, 1, 2, 3, 4... n). These characteristics capture the typical defensive structure, pressure intensity, and other tactical elements of the team when out of possession, which can influence the physical demands on the individual player. The model also considers team characteristics stemming from the current match, such as the total active match time, the proportion of time spent by the player’s team out of possession, and the number of turnovers by the player’s team in transition. These characteristics provide insight into the overall defensive workload and the potential physical demands associated with regaining possession or maintaining defensive shape. Additionally, the out-of-possession model incorporates ball-related characteristics, such as the distance moved by the ball, the distance the ball is advanced towards the team’s own goal, and the average speed of the ball when the player’s team is out of possession. These characteristics capture the dynamic nature of defensive tactics and the associated physical demands on the player, such as tracking the opponent’s movements, blocking space, and defending against turnovers. Finally, the model utilizes physical performance indicator predictions generated by the overall model, allowing for a more comprehensive and contextualized understanding of the player’s performance during the out-of-possession phase. One or more of these indicators and / or characteristics can be used as inputs to the out-of-possession model to generate physical performance indicator predictions.
[0118] In some embodiments, to ensure that the sum of the in-possession and out-of-possession predictions aligns with the overall prediction for each player, the system employs an adjustment process. This process maintains the relative proportions of the in-possession and out-of-possession predictions while ensuring that their sum matches the overall prediction. For example, if the overall model predicts that a player will complete 12 sprints, with the in-possession model predicting 6 sprints and the out-of-possession model predicting 5 sprints, the system adjusts the in-possession and out-of-possession predictions to account for the difference between the total predicted sprint count stemming from the in-possession and out-of-possession models and the total sprint count predicted by the overall model. In some embodiments, this adjustment is linear. This adjustment process ensures that the separate in-possession-based predictions provide a detailed breakdown of the player’s physical performance while remaining consistent with the overall prediction.
[0119] In some embodiments, the physicality metric model 822 is implemented using machine learning techniques, such as gradient boosting or deep learning algorithms. These models are trained on large datasets containing historical player performance data, game details, and relevant contextual information. The training process involves iteratively adjusting the model parameters to minimize the difference between the predicted and actual physical performance metrics, using techniques such as cross-validation and hyperparameter tuning to optimize model performance and generalization. Once trained, the model can be applied to new unseen data to generate physical performance predictions for players in upcoming games, or to analyze past performance in greater detail. The flexibility and adaptability of the machine learning approach allow the physicality metric model to continuously improve and refine as new data becomes available, ensuring that the system remains up-to-date and relevant in the face of changing player characteristics, tactical trends, and game dynamics.
[0120] While one or more sports, such as basketball and / or soccer, are generally used as illustrative examples herein, the present embodiments are not limited to basketball and / or soccer. For example, the present embodiments can be applied to other sports, such as football, basketball, baseball, American football, rugby, cricket, team sports, individual sports, etc. It should be appreciated that terms can be interchanged between sports, such as “court” can be interchanged with “playing field.”
[0121] While the foregoing is directed to embodiments described herein, other and further embodiments can be devised without departing from the basic scope of the application. For example, aspects of the present application can be implemented in hardware or software, or a combination of both, as desired. One embodiment described herein can 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, such as CD-ROM disks, 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, hard disks, 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 functioning of the disclosed embodiments are embodiments of the present application.
[0122] Those skilled in the art will appreciate that the foregoing example is exemplary, rather than limiting. All permutations, enhancements, equivalents, and improvements that are within the true spirit and scope of the concepts disclosed herein are considered to be part of the true spirit and scope of the present disclosure. Thus, the appended claims are intended to encompass all such modifications, permutations, equivalents, and improvements as fall within the true spirit and scope of the concepts disclosed herein.
Claims
1. A method comprising: Obtain video broadcasts of sporting events; Each frame of the video broadcast is processed to identify players from the first and second teams, the position of each identified player, the matchup between each identified defensive player and the corresponding identified offensive player, and the distance between each identified defensive player and the corresponding identified offensive player. For each frame, the distance between the first identified defensive player and the first identified offensive player matched up by the first identified defensive player is aggregated to generate the aggregated distance between the first identified defensive player and the first identified offensive player during the sporting event. as well as Based on the aggregated distance of the first identified defensive player, a defensive influence score is generated for the first identified defensive player.
2. The method of claim 1, wherein the defensive influence score comprises a total defensive influence score for the first identified defensive player throughout the entire sporting event, and a set of defensive influence scores for each of a set of timeframes during which the first identified defensive player played in the sporting event.
3. The method according to claim 1, further comprising: Obtain both offensive and defensive metrics for the first identified defensive player; as well as One or more player fitness metrics are generated using the aforementioned metrics and the defensive impact score.
4. The method according to claim 3, further comprising: At least one or more of the player fitness metrics are used to predict the load of the first identified defensive player in an upcoming sporting event, the load including the number of minutes played by the first identified defensive player and any one of one or more predictive defensive statistics for the first identified defensive player in the upcoming sporting event.
5. The method according to claim 3, further comprising: Process one or more frames of the video broadcast to detect the occurrence of an attack event; as well as In response to the detected offensive event, both the defensive impact score and the one or more player fitness indicators are used to predict the player effort level of the first identified offensive player.
6. The method according to claim 1, wherein the video broadcast is a live broadcast or replay of the sporting event.
7. The method according to claim 1, further comprising: A virtual representation of the video broadcast is generated for each frame, depicting the position of each identified player and ball on the field, as well as the distance between each identified defensive player and each corresponding identified offensive player.
8. The method according to claim 1, further comprising: The video broadcast is processed to determine that the first identified defensive player has a new matchup with another identified offensive player; as well as Calculate the updated distance between the first identified defensive player and the other identified offensive player, wherein the updated distance is used to generate the defensive influence score.
9. A system comprising: processor; as well as A memory having stored thereon programming instructions that, when executed by the processor, perform one or more operations, including: Obtain video broadcasts of sporting events; Each frame of the video broadcast is processed to identify players from the first and second teams, the position of each identified player, the matchup between each identified defensive player and the corresponding identified offensive player, and the distance between each identified defensive player and the corresponding identified offensive player. For each frame, the distances between the first identified defensive player and the first identified offensive player matched up against by the first identified defensive player are summed to generate a summed distance between the first identified defensive player and the first identified offensive player during the sporting event; and A defensive influence score is generated for the first identified defensive player based on the aggregated distance.
10. The system of claim 9, wherein the operation further comprises: Obtain both offensive and defensive metrics for the first identified defensive player; Use the aforementioned metrics and the defensive impact score to generate one or more player fitness metrics; and At least one or more of the player fitness indicators are used to predict the load of the first identified defensive player for the remainder of the sporting event or an upcoming sporting event.
11. The system of claim 10, wherein the load includes the number of minutes played by the first identified defensive player and any one of one or more predicted defensive statistics for the first identified defensive player in the upcoming sporting event.
12. The system of claim 9, wherein the defensive influence score comprises a total defensive influence score for the first identified defensive player throughout the entire sporting event, and a set of defensive influence scores for each of a set of timeframes during which the first identified defensive player played in the sporting event.
13. The system of claim 10, wherein the operation further comprises: Process one or more frames of the video broadcast to detect the occurrence of an attack event; as well as In response to the detected offensive event, both the defensive impact score and the one or more player fitness indicators are used to predict the player effort level of the first identified offensive player.
14. The system of claim 10, wherein the operation further comprises: A virtual representation of the video broadcast is generated for each frame, depicting the position of each identified player and ball on the field, as well as the distance between each identified defensive player and each corresponding identified offensive player.
15. The system of claim 10, wherein the operation further comprises: The video broadcast is processed to determine that the first identified defensive player has a new matchup with another identified offensive player; as well as Calculate the updated distance between the first identified defensive player and the other identified offensive player, wherein the updated distance is used to generate the defensive influence score.
16. A non-transitory computer-readable medium comprising one or more sequences of instructions, which, when executed by one or more processors, cause the one or more processors to: Obtain video broadcasts of sporting events; Each frame of the video broadcast is processed to identify at least the players of the first team and the second team, the position of each identified player, the matchup between each identified defensive player and the corresponding identified offensive player, and the distance between each identified defensive player and the corresponding identified offensive player. For each frame, the distance between the first identified defensive player and the first identified offensive player matched up against by the first identified defensive player is aggregated to generate the aggregated distance between the first identified defensive player and the corresponding identified offensive player throughout the entire sporting event, as well as the average distance between the first identified defensive player and the first identified offensive player during a set of time ranges in which the first identified defensive player is on the field during the sporting event. as well as A defensive influence score for the first identified defensive player is generated based on the aggregated distance of the first identified defensive player, wherein the defensive influence score includes a total defensive influence score for the first identified defensive player over the entire sporting event, and a set of defensive influence scores for each of the set of time ranges in which the first identified defensive player played during the sporting event.
17. The non-transitory computer-readable medium of claim 16, wherein the instructions further cause the processor to: Obtain both offensive and defensive metrics for the first identified defensive player; and One or more player fitness metrics are generated using the aforementioned metrics and the defensive impact score.
18. The non-transitory computer-readable medium of claim 17, wherein the instructions further cause the processor to: At least one or more of the player fitness metrics are used to predict the load of the first identified defensive player in an upcoming sporting event, the load including the number of minutes played by the first identified defensive player and any one of one or more predictive defensive statistics for the first identified defensive player in the upcoming sporting event.
19. The non-transitory computer-readable medium of claim 17, wherein the instructions further cause the processor to: Process one or more frames of the video broadcast to detect the occurrence of an attack event; and In response to the detected offensive event, both the defensive impact score and the one or more player fitness indicators are used to predict the player effort level of the first identified offensive player.
20. The non-transitory computer-readable medium of claim 16, wherein the instructions further cause the processor to: The video broadcast is processed to determine that the first identified defensive player has a new matchup with another identified offensive player; and Calculate the updated distance between the first identified defensive player and the other identified offensive player, wherein the updated distance is used to generate the defensive influence score.