Systems and methods for monitoring player performance and events in sports.
By analyzing basketball shooting images using sensors and processors, calculating the distance between the shot landing point and a reference point, and generating color-coded performance information, the problem of evaluating shot landing points at different angles and positions is solved, enabling accurate assessment and technical feedback for the shooter.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- PILLAR VISION INC
- Filing Date
- 2020-01-29
- Publication Date
- 2026-07-17
AI Technical Summary
Existing technology makes it difficult to accurately assess the landing point of a basketball shooter's shot at different angles and positions, making it difficult to effectively evaluate their overall performance and skill level.
The system uses at least one sensor to capture images of basketball shots, analyzes the trajectory and selects a reference point through a processor, calculates the distance between the shot landing point and the reference point, provides color-coded performance information, identifies whether the shot scores a point, and generates a shot landing map to identify the shooter's tendencies.
It enables standardized assessment of shot placement, identifies a shooter's shooting tendencies and skill level, provides quantitative and qualitative feedback, and helps shooters adjust their shooting techniques to improve their scoring rate.
Smart Images

Figure CN116052280B_ABST
Abstract
Description
[0001] This application is a divisional application of PCT international invention patent application No. 202080026952.4 filed on January 29, 2020, entitled "System and method for monitoring player performance and events in sports".
[0002] Cross-reference to related applications
[0003] This application claims priority to U.S. Provisional Application No. 62 / 800,005, filed February 1, 2019, entitled "Systems and Methods for Evaluating Player Performance," which is incorporated herein by reference. This application also claims priority to U.S. Provisional Application No. 62 / 871,689, filed July 8, 2019, entitled "Systems and Methods for Evaluating Player Performance," which is incorporated herein by reference. Technical Field
[0004] This application relates to systems and methods for monitoring player performance and events in sports. Background Technology
[0005] Players often spend countless hours training to improve their skills, making them more competitive in sporting events such as basketball. To help players improve their skills, systems have been developed that track a player's performance during training or games and then provide feedback indicative of that performance. This feedback can then be evaluated to help the player improve their skills. As an example, commonly assigned U.S. Patent No. 7,094,164 describes a system for tracking the trajectory of a basketball during a shot, allowing the shooter to use feedback from the system to improve his / her shooting technique.
[0006] In addition to improving the trajectory of a shot, a shooter may also want to improve the "aiming" of the shot, that is, the placement of the ball relative to the rim. Ideally, a shooter wants every shot to land within the "make zone" of the rim. The make zone is the target area within the rim. A trajectory that causes the center of the basketball to pass through the make zone results in a scoring shot, i.e., the ball crosses the rim. In some cases, the make zone can be defined as a relatively small area within the rim, allowing a shot to score without the ball's center passing through it. A shooter may need to make lateral adjustments (e.g., left or right adjustments) and / or depth adjustments (e.g., forward or backward adjustments) to better place the ball within the make zone and increase the number of scoring shots.
[0007] Tracking the ball's landing point at the rim during a shot can present various challenges that may limit the effectiveness of systems attempting to assess shooting performance. For example, because the shooter is positioned on one side of the court or the other, many basketball shots are typically at a non-orthogonal angle to the backboard (and corresponding rim). Shooting at different angles often results in a variety of different landing points relative to the rim. Therefore, it can be difficult to accurately assess a shooter's overall performance and skill level regarding shot landing points, as the same landing point at the rim might be within the "guaranteed scoring zone" when shooting from one angle (or court position), but outside it if shot from another angle (or court position). Summary of the Invention
[0008] According to an embodiment of a first aspect of this application, this application provides a system for evaluating player performance, comprising: at least one sensor for capturing an image of a player performing a basketball shot, wherein the player throws the basketball toward a basket; at least one processor programmed with instructions, the instructions, when executed by the at least one processor, causing the at least one processor to: analyze the image to determine the trajectory of the basketball during the shot; based on the determined trajectory, determine a first position or direction from which the player throws the basketball for the shot; based on the determined first position or direction, select a reference point for evaluating the player's performance on the shot; based on the image, determine a second position of the basketball along the trajectory; calculate a first value indicating the distance of the second position from the reference point; and based on the first value, provide performance information indicating the player's performance on the shot; and an output mechanism configured to display the performance information, wherein the displayed performance information includes the first value, a first area color-coded based on the first value, or a graphic element having a shape controlled based on the first value.
[0009] According to another embodiment, the displayed performance information includes the first value, and wherein the first value or the first region is color-coded in the displayed performance information based on the first value.
[0010] According to another embodiment, the distance corresponds to the lateral position of the second position from the reference point.
[0011] According to another embodiment, the distance corresponds to the depth of the second position from the reference point.
[0012] According to another embodiment, when the instructions are executed by the at least one processor, the at least one processor causes the at least one processor to: identify a region from which a player throws a basketball for a shot, based on the determined trajectory; and determine whether the basketball shot is a point based on the image, wherein the displayed performance information is based on the identified region and indicates whether the basketball shot is determined to be a point.
[0013] According to another embodiment, the displayed performance information indicates the identified area.
[0014] According to another embodiment, when the instruction is executed by the at least one processor, the at least one processor: calculates a second value based on whether a basketball shot is determined to be a score, the second value being associated with an identified area and indicating the player's performance when making multiple basketball shots from the identified area, wherein the displayed performance information includes the second value or a second area color-coded based on the second value.
[0015] According to another embodiment, the displayed performance information includes the second value.
[0016] According to another embodiment, the second value indicates the average of multiple basketball shots that are determined to be scores.
[0017] According to another embodiment, when the instructions are executed by the at least one processor, the at least one processor causes the at least one processor to: calculate a second value based on the first value indicating the performance of a player when making multiple basketball shots, wherein the displayed performance information includes the second value, a second region color-coded based on the second value, or a graphic element having a shape controlled based on the second value, and wherein the second value indicates the consistency of the depth or lateral position of the multiple basketball shots.
[0018] According to an embodiment of a second aspect of this application, this application provides a method for evaluating player performance, comprising: capturing an image of a player performing a basketball shot using at least one sensor, wherein the player throws the basketball toward a basket; analyzing the image using at least one processor to determine the trajectory of the basketball during the shot; determining, based on the determined trajectory, a first position or direction from which the player threw the basketball for the shot using the at least one processor; selecting a reference point based on the determined first position or direction for evaluating the player's performance on the shot using the at least one processor; determining, based on the image, a second position of the basketball along the trajectory using the at least one processor; calculating, using the at least one processor, a first value indicating the distance of the second position from the reference point; providing performance information indicating the player's performance on the shot using the at least one processor based on the first value; and displaying the performance information using an output mechanism, wherein the displayed performance information includes the first value, a first area color-coded based on the first value, or a graphic element having a shape controlled based on the first value.
[0019] According to one embodiment, the displayed performance information includes the first value, and wherein the first value or the first region is color-coded in the displayed performance information based on the first value.
[0020] According to one embodiment, the distance corresponds to the lateral position of the second position from the reference point.
[0021] According to one embodiment, the distance corresponds to the depth of the second position from the reference point.
[0022] According to one embodiment, the method further includes: using the at least one processor to identify a region from which a player throws a basketball for a basketball shot, based on the determined trajectory; and using the at least one processor to determine whether the basketball shot is a point based on the image, wherein displayed performance information is based on the identified region and indicates whether the basketball shot is determined to be a point.
[0023] According to one embodiment, the displayed performance information indicates the identified area.
[0024] According to one embodiment, the method further includes: using the at least one processor, calculating a second value based on whether a basketball shot is determined to be a score, the second value being associated with an identified area and indicating the player's performance when making multiple basketball shots from the identified area, wherein the displayed performance information includes the second value or a second area color-coded based on the second value.
[0025] According to one embodiment, the displayed performance information includes the second value.
[0026] According to one embodiment, the second value indicates the average of multiple basketball shots that are determined to be scores.
[0027] According to one embodiment, the method further includes: using the at least one processor to calculate, based on the first value, a second value indicating the player's performance when making multiple basketball shots, wherein the displayed performance information includes the second value, a second region color-coded based on the second value, or a graphic element having a shape controlled based on the second value, and wherein the second value indicates the consistency of the depth or lateral position of the multiple basketball shots. Attached Figure Description
[0028] The accompanying drawings are for illustrative purposes and are intended only to provide examples of possible structures and process steps of the disclosed inventive systems and methods. These drawings do not limit any changes in form and detail that may be made to the invention by those skilled in the art without departing from the spirit and scope of the invention.
[0029] Figure 1 It is a graph of the scene captured by the trajectory captured by the projection rendering system.
[0030] Figure 2 This is a block diagram of an embodiment of the projection representation system.
[0031] Figure 3 This is a flowchart illustrating an embodiment of the process for generating a landing plot.
[0032] Figure 4 An example of determining the base point for a shot is shown.
[0033] Figure 5A Showing from Figure 4 An enlarged view of the basketball hoop in an embodiment.
[0034] Figure 5B Showing from Figure 4 An enlarged view of the basketball hoop in an embodiment.
[0035] Figure 6 An example of a landing plot with the same base point is shown.
[0036] Figure 7 An example of a landing plot with the same base point is shown.
[0037] Figure 8 It shows a normalized basis point Figure 6 An example of a landing point diagram.
[0038] Figure 9 It shows a normalized basis point Figure 7 An example of a landing point diagram.
[0039] Figure 10 An example of a shot landing diagram with multiple base points is shown.
[0040] Figure 11 It shows a standardization base point Figure 10 A diagram showing the shot landing points.
[0041] Figure 12 An example of a shooting position diagram for a shooter is shown.
[0042] Figure 13 An example of a shooter's percentage of shots is shown.
[0043] Figure 12A Different embodiments of the shooting position diagram of the shooter are shown.
[0044] Figure 13A Different embodiments of the shooter's percentage of shots are shown.
[0045] Figure 14 An example of a spider diagram for a shooter's shooting parameters is shown.
[0046] Figure 15 An example of a data aggregation system is shown.
[0047] Figure 16 Is Figure 15 A block diagram of an embodiment of the server used in the data aggregation system.
[0048] Figure 17 An example of a landing map that provides shot landing information on terrain is shown.
[0049] Figure 18 An example of a landing map that provides shot landing information on terrain is shown.
[0050] Figure 19 This is a flowchart illustrating an embodiment of a process for evaluating a player's performance level.
[0051] Figure 20 This is a flowchart illustrating an embodiment of a process for updating information and / or control devices in response to actions during a competition.
[0052] Figure 21 This is a flowchart illustrating an embodiment of the process for generating a signal when the action taken is a shot.
[0053] Figure 22A The phase of the ball relative to the rim is shown.
[0054] Figure 22B It was shown at a later time Figure 22AThe ball is depicted relative to the basketball hoop at that stage.
[0055] Figure 22C It was shown at a later time Figure 22B The depiction shows the phase of the ball relative to the basket rim. This can be analyzed. Figure 22A -C indicates the stage to determine when a scoring shot occurs. Detailed Implementation
[0056] Systems and methods are provided for evaluating the performance of individuals participating in training sessions or sporting events such as basketball. The evaluation of a person's performance may include tracking and analyzing numerous parameters associated with that performance, and determining the person's overall performance level based on the analyzed parameters. Some parameters that can be tracked and analyzed may be associated with a person's ability to perform basic basketball actions (e.g., passing, shooting, dribbling, etc.). Other parameters that can be tracked or analyzed may be associated with a person's physical and / or mental performance (e.g., a person's response to a particular game situation or the rate at which a person becomes fatigued).
[0057] One parameter that can be used to evaluate a person's overall basketball performance is their shooting performance. In basketball, shooting performance can be based on the trajectory of a shot toward the rim (shooting trajectory) and the ball's position relative to the rim (shooting point). Based on the shooting trajectory and shooting point, a shot is either a basket (i.e., the ball crosses the rim) or a miss (i.e., the ball does not cross the rim). The system can use one or more cameras to capture images of the ball from the moment it is released by the shooter until it reaches its endpoint at the rim (which can indicate the end of the trajectory and the shooting point at the rim) and at least one processor to analyze the images to determine and evaluate the shooting point and shooting performance. The system can evaluate the shooting point relative to a "guaranteed scoring zone" to determine if the shooter needs to adjust their shooting point left or right, or forward or backward, to increase the probability of a score. The "guaranteed scoring zone" can correspond to an area within the rim where a basket will result in a score if the center of the basketball passes through that area. The "guaranteed scoring zone" can vary for each shot and can be based on factors such as shot length (i.e., distance from the rim), release height, and entry angle. The system can also identify trends in a shooter's shot placement by evaluating multiple shots from the shooter and determining whether the shooter is more likely to miss in a specific manner relative to the "guaranteed scoring zone" (e.g., more shots to the left of the "guaranteed scoring zone" or more shots not reaching the "guaranteed scoring zone" (i.e., in front of it)).
[0058] To evaluate the shot landing points and corresponding shooter tendencies from shots taken from different positions on a basketball court, the system is configured to "standardize" the shot landing points from the shooter so that the same evaluation criteria can be used to perform shot landing point assessments. The system can standardize each shot landing point based on the front (or edge) of the rim relative to the shooter's position (i.e., the portion of the rim closest to the shooter when the shot is taken). The position of the rim relative to the front of the shooter may vary depending on the shooter's position on the court. Once the front of the rim is determined, shot landing point assessment can be performed based on the center line of the rim associated with the front of the rim and the "guaranteed scoring zone" of the shot associated with the front of the rim. Depending on the position of the front of the rim, the same shot landing point from two different shots may require different adjustments to cause the ball to cross the "guaranteed scoring zone." For example, a shot taken from a first position on the court might land to the right of the center line and within the "guaranteed scoring zone," but for a second shot taken from a different position on the court, the same shot landing point might land to the left of the center line and outside the "guaranteed scoring zone." Shot landings can then be standardized by adjusting the shot placement to a new front section of the rim that corresponds to the common point of all shots. By standardizing all shot landings to a common point, it is possible to identify shooter tendencies relative to the "guaranteed scoring zone," regardless of the shooter's position.
[0059] One process for evaluating shooting performance involves a system using one or more cameras to capture shots and then determine the trajectory and landing point of the shot. The system can then use the trajectory to determine the shooter's position on the basketball court. Once the shooter's position and the origin of the shot are determined, the system can determine the position of the front of the rim relative to the shooter's position. Using the position of the front of the rim, the system can evaluate the shot landing point relative to one or more lines associated with the front of the rim. The system can then store the shot landing points and the shooter's position, and can use the stored information to generate a shot landing map (also simply called a "landing map" for simplicity), which shows the shooter's tendency on multiple shots regarding the landing point. The system can generate landing maps for specific areas of the court or standardized landing maps covering the entire court.
[0060] Systems and methods are also provided for evaluating a shooter's shooting technique and ability based on a set of shooting parameters. Shooting parameters may include average angle of entry, average depth position, average lateral (left / right) position, consistency of angle of entry, consistency of depth position, consistency of lateral position, and / or other parameters. As further described herein, the angle of entry typically refers to the angle at which the basketball enters the rim (relative to a horizontal plane, e.g., relative to the plane formed by the rim) for multiple shots. The depth position typically refers to the depth (e.g., distance in a horizontal direction parallel to the trajectory of the basketball) from a reference point (e.g., the center of the rim), the center of the rim being the center at which the basketball passes through the rim for multiple shots. The lateral position typically refers to the distance from a reference point (e.g., the center of the rim) in a horizontal direction perpendicular to the trajectory of the basketball, the center of the rim being the center at which the basketball passes through the rim for multiple shots.
[0061] In some embodiments, shooting parameters can be determined using shooting information obtained when generating the landing map. A shooter's shooting ability can also be evaluated based on shooting parameters (referred to herein as "release efficiency parameters"), which are generally parameters indicating how well a shooter releases the basketball during the shot. Release efficiency parameters can be determined based on parameters such as release height, release speed, and release separation, which have been standardized to account for different shooters and shot types. Shooting parameters can be used to identify "good" shooters or players who can develop into "good" shooters through additional training.
[0062] In some embodiments, shooting parameters are used to provide various assessments of a shooter's skill and ability. As an example, based on shooting parameters, the system can determine a player's skill level that indicates an assessment of the shooter's current shooting technique and ability. Such a skill level can be quantitative (e.g., a higher value indicates higher skill) or qualitative (e.g., a shooter can be assessed as "bad," "good," or "excellent"). As will be described in more detail, a player's skill level can change as he / she trains and is monitored by the system.
[0063] In other embodiments, the system can incorporate biological parameters into the assessment of player performance. Some biological parameters used to assess player performance may be associated with genetic information, microbiome information, physiological information (e.g., heart rate, respiratory rate, blood pressure, body temperature, oxygen levels), or psychological information. Biological parameters can be used in conjunction with other technology-based parameters (e.g., shooting performance) to provide short-term (e.g., during a game) and long-term (e.g., years later) assessments of players. For example, biological parameters (e.g., physiological information) can be used to determine when a player is fatigued during a game and should rest before the player's performance significantly declines relative to technology-based parameters. Furthermore, biological parameters (e.g., genetic or microbiome information) can also be used to determine the expected level of performance a player can expect in the future.
[0064] Provide a data aggregation system to collect information from multiple systems at multiple locations. The data aggregation system can aggregate data from reporting systems and use the aggregated data to identify potential trends or patterns. The data aggregation system can also identify training exercises and programs that produce "above-average" results in certain areas and can benefit players and / or teams in improving their performance. The data aggregation system can also be used to provide a portal to third parties, enabling them to gain access to and use (e.g., book) the system and related facilities.
[0065] Figure 1 This is a graph of the trajectory capture scene performed by the player performance evaluation system. Figure 1 In the illustrated embodiment, the player performance evaluation system 100 may include a system with one or more cameras 118 (for simplicity, in...). Figure 1 The diagram shows a machine vision system (with only one camera 118) to detect and analyze the trajectory 102 of a basketball 109 thrown by a shooter 112 toward the rim 103. In other embodiments, the player performance evaluation system 100 may also detect and analyze player movements and reactions (whether on or off the basketball court) and the movement of the ball (e.g., passing and dribbling) prior to the shot by the shooter 112. In one embodiment, the camera 118 may be positioned above each rim 103. As an example, one or more cameras 118 may be mounted above the rim 103 on a pole or other structure that attaches the basketball to a ceiling or wall, or one or more cameras 118 may be placed in the ceiling or rafters of a building, in a scoreboard (including suspended and mounted scoreboards), in a seating area around the basketball court (i.e., the playing surface 119), or in other locations in a building away from the basketball court that provide a view of the basketball court. Note that the camera 118 is not necessarily positioned above the rim 103. As an example, camera 118 can be positioned in the seating area or on a wall, where camera 118 observes the game from the side at a height below the rim 103.
[0066] The player performance evaluation system 100 can utilize a trajectory detection, analysis, and feedback system to detect and analyze the trajectory 102 of a shot. An exemplary trajectory detection, analysis, and feedback system is described in commonly assigned U.S. Patent No. 9,283,432, issued March 15, 2016, entitled “Trajectory Detection and Feedback System,” the entire contents of which are incorporated herein by reference and used for all purposes.
[0067] The rim 103 can be mounted to the backboard 151 via a support system, such as a pole or other structure anchored to the ground, a support anchored to a wall, or a support suspended from the ceiling, to keep the backboard 151 and the rim 103 in the desired position. The rim 103 can have a standard height, and the basketball can be a standard men's basketball size. However, the system 100 can also detect and analyze the trajectories of basketballs of different sizes (e.g., women's basketballs) projected onto the rim at different heights.
[0068] Camera 118 in the machine vision system can record physical information within a corresponding detection volume 110 (i.e., the field of view of camera 118). In one embodiment, camera 118 can be an ultra-high definition (UHD) camera, also known as a "4K" camera, with a resolution between 3840×2160 and 4096×2160, capable of stereo capture or ball-size tracking, but other types of cameras are possible in other embodiments. The recorded physical information can be an image of an object in the detection volume 110 at a specific time. The image recorded at a specific time can be stored as video frames 106. Camera 118 can capture images of basketball 109 as it moves in the trajectory plane 104, as well as images of other secondary objects (e.g., players). Secondary objects can be closer to the camera than basketball 109 (i.e., between camera 118 and trajectory plane 104), or secondary objects can be farther from the camera than basketball 109 (i.e., beyond trajectory plane 104). The machine vision system can utilize software to distinguish between the motion of detectable secondary objects and the motion of basketball 109.
[0069] The player performance evaluation system 100 can be set up in the sports area where basketball is played under normal circumstances, such as a basketball court with a sports surface 119 located in a gymnasium or arena. The system 100 can be located outside the court and remotely detects the shooting trajectory of the shooter 112 using a machine vision system. Therefore, the shooter 112 and the defender 114 can carry out their normal activities on the sports surface 119 without any interference from the system 100. Figure 1 As shown, shooter 112 is defended by defender 114. However, system 100 can also be used when shooter 112 is not defended (e.g., there is no defender 114).
[0070] In one embodiment, system 100 may use multiple cameras 118 positioned around motion surface 119 to determine the trajectory 102 of a shot taken anywhere on motion surface 119. The machine vision system may use video frames 106 from some or all of the cameras 118 in determining the trajectory 102. The trajectory plane 104 may be at any angle relative to the basketball backboard 151, and the range may be from approximately 0 degrees for a shot taken at one corner of motion surface 119 to 180 degrees (relative to basketball backboard 151) for a shot taken at a diagonal point on motion surface 119.
[0071] To analyze the trajectory 102 of the basketball 109, each camera 118 can record a sequence of video frames 106 in its corresponding detection volume 110 at different times. The number of frames 106 recorded by each camera 118 within a given time period (e.g., the duration of the ball's trajectory 102) can vary depending on the refresh rate of the camera 118. The captured video frames 106 can show a sequence of states of the basketball 109 along its trajectory 102 at different times. For example, the camera 118 can capture some or all of the following: 1) the initial state 105 of the trajectory 102 shortly after the ball 109 leaves the shooter's hand; 2) multiple states along the trajectory 102, such as 120, 121, 122, and 123 at times t1, t2, t3, and t4; and 3) the endpoint 107 in the rim 103, i.e., the point where the center of the ball 109 passes (or will pass) through the plane of the rim 103. In one embodiment, the position of the endpoint 107 relative to the rim 103 can be used to determine the shot landing point.
[0072] The captured video frame sequence can be converted into digital data for analysis by the processor 116. (See also: Regarding...) Figure 1 As described, the digitized frames capture images of the ball 109 at times t1, t2, t3, and t4 as the ball 109 approaches the rim 103. Analysis of the video frame data may require the detection volume 110 to remain constant throughout the trajectory 102. However, the detection volume 110 can be adjusted to account for different setup conditions of the motion region employed by the system 100. For example, the camera 118 may be able to zoom in or out on specific areas and / or change its focus.
[0073] Pattern recognition software can be used to determine the position of the ball 109 from an image that can be captured by camera 118. In one embodiment, a reference frame is captured in the absence of a ball and compared with frame 106 containing the ball 109. When the reference frame is relatively fixed, i.e., the only moving object is the ball 109, the ball 109 can be identified by subtracting the frames. System 100 can be able to update the reference frame as needed to account for new objects that have moved into or removed from the frame. When there is a lot of noise in the frame, such as people or other objects moving around in the frame, and the basketball 109, more sophisticated filtering techniques can be applied. In other embodiments, other techniques for tracking the ball can be used. As an example, the ball may include sensors (e.g., accelerometers, identification devices, such as radio frequency identification (RFID) tags, and other types of sensors) for detecting ball motion and transmitting sensor data indicating such motion to processor 116 for analysis.
[0074] Once the position of the basketball 109 is determined from each frame, a curve fit for the trajectory 102 can be formed in a computational space with a coordinate system. The basketball, thrown by the shooter 112, travels in a substantially parabolic arc in the trajectory plane 104, where gravity 109 is the dominant force acting on the ball. A parabolic curve fit can be generated using least-squares curve fitting or other curve fitting algorithms to determine the trajectory 102.
[0075] In one embodiment, a curve fitting of the x and y positions of the ball 109 can be parameterized as a function of time using the time it takes to record each frame. In another embodiment, a curve fitting of the height (y) as a function of distance (x) in the coordinate system can be generated. Using the curve fitting, trajectory parameters can be generated and subsequently used when evaluating projection performance. These trajectory parameters include, for example, the object's entry angle and entry velocity as the object enters rim 103, approaches rim 103, or in other states along trajectory 102. For example, the entry angle can be generated from the tangent of the curve fitting at endpoint 107. The entry velocity can be generated from the derivative of the parameterized equation corresponding to the time at endpoint 107. If the release time is known, the release velocity and release angle can also be determined from the parameterized trajectory equation.
[0076] In one embodiment, trajectory parameters can be generated without curve fitting to the entire trajectory, and the trajectory parameters may only provide data related to a portion of trajectory 102 (e.g., the beginning, middle, or end portion of trajectory 102). Using trajectory analysis methods, other portions of the uncaptured trajectory 102 can be simulated or extrapolated. In particular, after capturing the initial portion of trajectory 102, the later shape of trajectory 102 can be predicted. For example, if sufficient positional data is available near a specific location on trajectory 102 (e.g., the endpoint 107), the entry angle can be calculated by simply fitting a line through the available data points near the endpoint 107. As another example, the velocity, direction, and angle of the ball 109 as it leaves the shooter's hand can be predicted based on captured data of the basketball 109 near the rim 103. Thus, the beginning of trajectory 102 is predicted based on data captured near the end of trajectory 102. In some embodiments, trajectory parameters can be generated for a portion of trajectory 102 captured in video frame data and analyzed in the manner described above. The trajectory parameters can be provided as feedback information to the user of system 100.
[0077] A series of frames used to capture trajectory 102 can also capture the shooter 112 who is throwing the basketball 109, including all or part of the shooter's body and the body of the defender during the shot. Physical information about the shooter 112 and defender 114 captured by camera 118 can also be analyzed by system 100. For example, system 100 can analyze different movements of the shooter 112 to determine if the shooter is using the correct shooting technique. As another example, video frame data captured by camera 118 can be used in a machine vision system to determine data such as jump height, hang time, release point position on motion surface 119, and landing position on motion surface 119.
[0078] Figure 2 This is a block diagram of a player performance evaluation system 100 for one embodiment. The components of system 100 may be housed within a single housing, or may be separated between multiple different housings surrounding different components of the system. Furthermore, system 100 may include various components not shown, such as peripheral devices and remote servers.
[0079] Physical information is input to the computer 202 of system 100 via sensor 212. In one embodiment, a machine vision system may be used, which includes one or more cameras 118 (e.g., a CCD camera or a CMOS camera) and a microprocessor for digitizing the captured frame data. In another embodiment, system 100 may employ multiple cameras 118 arranged on a mechanism that allows different types of cameras 118 to rotate or move to a position where only one camera 118 is used to record frame data at any given time. Different cameras 118 may allow adjustment of the detection volume 110 of system 100. In still other embodiments, sensor 212 may include various sensors, such as audio sensors, accelerometers, motion sensors, and / or other types of sensors, which can be used to provide information about events occurring on the moving surface 119. For example, an accelerometer used with ball 109 can provide computer 202 with information about the ball's position, motion, and / or acceleration for determining projection performance. In another embodiment, sensor 212 may include bio-device 140, which can be used to collect biological samples (e.g., blood, saliva, sweat, etc.) from the player and / or sense the player's biological parameters (e.g., heart rate, oxygen level, blood pressure, body temperature, etc.). Digital frame data and / or other sensor data from the machine vision system (or camera 118) may be stored as sensor / camera data 205 and processed by computer 202.
[0080] Computer 202 can be implemented as one or more general-purpose or special-purpose computers, such as laptop computers, handheld (e.g., smartphones), wearable (e.g., "smart" glasses, "smart" watches), user-embedded devices, desktops, or mainframe computers. Computer 202 may include operating system 206 for generally controlling the operation of computer 202, including communicating with other components of system 100 (e.g., feedback interface 213 and system input / output mechanisms 215). Computer 202 also includes analysis software 208 for analyzing trajectories using sensor / camera data 205 from sensor 212, determining and analyzing shot landing points, determining and analyzing shooting parameters, determining and analyzing release efficiency, determining and analyzing specified offensive and defensive parameters, and generating feedback information.
[0081] Analysis software 208 may include "computer vision logic" for processing and analyzing sensor / camera data 205 from camera 118. Examples of computer vision logic that may be used by system 100 are described in U.S. Application No. 16 / 026,029, jointly assigned, filed July 2, 2018, entitled "Systems and Methods for Determining Reduced Player Performance in Sporting Events," the entire contents of which are incorporated herein by reference. Analysis software 208 may also incorporate other techniques, such as ball tracking, gate tracking, face tracking, body motion tracking, etc., to determine the movement of the player and the ball. Operating system 206 and analysis software 208 may be implemented using software, hardware, firmware, or any combination thereof. Figure 2 In the computer 202 shown, the operating system 206 and analysis software 208 are implemented in software and stored in the memory 207 of the computer 202. Note that when implemented in software, the operating system 206 and analysis software 208 can be stored and transmitted on any non-transitory computer-readable medium for use by or in conjunction with an instruction execution device that can obtain and execute instructions.
[0082] Computer 202 may include at least one conventional processor 116 having processing hardware for executing instructions stored in memory 207. As an example, processor 116 may include a central processing unit (CPU), a digital signal processor (DSP), a graphics processing unit (GPU), and / or a quantum processing unit (QPU). Processor 116 communicates with and drives other components within computer 202 via a local interface (not shown) (which may include at least one bus).
[0083] Computer 202 may also include various network / device communication interfaces 209, such as wireless and wired network interfaces, for connecting to a local area network (LAN), wide area network (WAN), or the Internet. Device communication interfaces 209 allow computer 202 to communicate with multiple peripheral devices and other remote system components. Computer 202 can communicate wirelessly, i.e., via electromagnetic waves or sound waves carrying signals, with other components of system 100; however, computer 202 can also communicate with other components of system 100 via conductive media (e.g., wires), optical fibers, or other media.
[0084] Power to the computer 202 and other devices can be provided from power source 219. In one embodiment, power source 219 may be a rechargeable battery or a fuel cell. Power source 219 may include one or more power interfaces for receiving power from an external source (e.g., an AC outlet) and adjusting the power for use by various system components. In one embodiment, for an indoor / outdoor model, system 100 may include a photovoltaic cell for providing direct power and charging an internal battery.
[0085] Feedback information from the client of system 100 to improve its projection technology can be output through one or more feedback interface devices 213 (e.g., sound projection device 211). Typically, system 100 can simultaneously output feedback information to multiple different devices in various formats (e.g., visual, auditory, and dynamic formats).
[0086] System 100 may support multiple different input / output mechanisms 215 for inputting / displaying operational information of system 100. Operational information may include calibration and configuration settings input for system 100 and system components. In one embodiment, a touchscreen display 210 may be used to input and display operational information using multiple menus. Menus may be used to configure and set system 100 to allow players to log in to the system and select preferred settings for system 100 and to view course information in various formats generated by system 100. Printer 214 may be used to output hard copies of course information to players or other clients of system 100. In other embodiments, a monitor, liquid crystal display (LCD), or other display device may be used to output data to the user. System 100 is not limited to touchscreen display 210 as an interface for operational information. Other input mechanisms, such as keyboards, mice, touchpads, joysticks, and microphones with voice recognition software, may be used to input operational information into system 100. In other embodiments, the input / output mechanism 215 may include devices such as a shot clock 216, a time (or game) clock 218, or a scoreboard 220 that can provide relevant information (e.g., score, remaining shot time, or remaining time of the game (or part of the game)) to players and / or spectators of the game.
[0087] As will be described in more detail below, system 100 can be used to automatically control one or more of the shot clock 216, time clock 218, and / or scoreboard 220 based on a determination made by system 100 of a successful or missed shot (or other determination, such as whether the ball touched the rim). A time clock is a clock used to track the remaining time in a basketball game period. Typically, a time clock decreases periodically (e.g., every second or tenth of a second) from a predetermined value until it reaches zero, indicating the end of the period. A time clock is sometimes also called a "game clock." A shot clock is a clock used to track the remaining time a team has to shoot the basketball towards the basket. Typically, a shot clock decreases periodically (e.g., every second or tenth of a second) from a predetermined value until it reaches zero, indicating the end of the shooting period. If the offensive team does not attempt a shot before the shot clock expires, a violation is called.
[0088] The player performance evaluation system 100 can be integrated into or used as a component of a more comprehensive training and feedback system. An exemplary training and feedback system is described in commonly assigned U.S. Patent No. 9,390,501, issued July 12, 2016, entitled “Stereoscopic Image Capture with Performance Outcome Prediction in Sporting Environments,” the entire contents of which are incorporated herein by reference and used for all purposes.
[0089] The player performance evaluation system 100 can be used to generate a landing map (also known as a "heatmap") that indicates the landing points of shots (relative to the rim 103) made by the shooter 112. The landing map can indicate the lateral position of each shot made by the shooter 112, i.e., the left and right landing points within the rim 103, and the depth position, i.e., the front and back landing points within the rim 103. The landing map can also indicate when a shot is scored (i.e., a circle) using a first-type indicator (e.g., a circle) and when a shot is missed (i.e., the ball 109 does not pass through the rim 103) using a different-type indicator (e.g., an "X"). The landing map can also indicate areas within the rim 103 where different shooting landing behaviors (or shooting frequencies) of the shooter 112 occur. The landing point diagram can show the areas where more shots are taken (i.e., areas with more shot landing points) and the areas of the rim 103 where fewer (or no) shots are taken (i.e., areas with few or no shot landing points).
[0090] In one embodiment, the landing map can use a first color to indicate scoring shots and a second color to indicate missed shots. When multiple shots have approximately the same landing point, a color selected from a range of colors can be used to indicate the frequency of a shot being scored or missed at that landing point. For example, a scoring shot can be indicated in green, a missed shot in red, and multiple shots can be indicated using a color selected from a range of colors transitioning from green (indicating all shots are scored) to yellow (indicating half of the shots are scored) to red (indicating all shots are missed). Similarly, the landing map can use a first color to indicate areas with a high shooting frequency (i.e., areas of rim 103 with many landing points) and a second color to indicate areas with a low shooting frequency (i.e., areas of rim 103 with few (if any) landing points). When multiple areas have different shooting frequencies, a color selected from a range of colors can be used to indicate the frequency of shot landings occurring in that area. For example, areas where shots occur frequently can be indicated in green, areas where shots do not occur frequently can be indicated in red, and other areas with different shooting frequencies can be indicated by a color selected from a range of colors that change from green (indicating that there are many shots in the area) to yellow (indicating that there are some shots in the area) to red (indicating that there are few or no shots in the area).
[0091] A landing map can be generated for the shooter 112 at any specific location on the motion surface 119. Alternatively, a landing map corresponding to a specific area of the motion surface 119 can be generated for the shooter 112. For example, a landing map can be generated for shots taken from the right or left side of the motion surface 119, shots taken from the center area of the motion surface 119, shots taken near or far from the rim 103, shots taken within a predetermined distance from a specific location on the motion surface 119, shots taken within a predetermined area of the motion surface 119, or combinations thereof. Additionally, a composite landing map can be generated, which normalizes and combines the aforementioned landing maps based on all shots taken by the shooter 112, and provides shot landing information.
[0092] Figure 3 An embodiment of a process for generating a map of the landing points of a set of shots made by shooter 112 is shown. The process begins with capturing multiple images of the shots using a camera 118 positioned around a motion surface 119 (step 302). As described above, camera 118 can capture images of the shots. Once the images of the shots are captured, player performance evaluation system 100 can determine the trajectory 102 of the shots (step 304). In one embodiment, system 100 can determine the trajectory 102 of the shots as described above.
[0093] Using trajectory information, system 100 can determine the position of shooter 112 on motion surface 119 (step 306). In one embodiment, if system 100 calculates the entire trajectory 102 of the shot, system 100 can use the trajectory information to determine the position of shooter 112 on motion surface 119 where the shot is taken, because the entire trajectory 102 includes release point 105 (which corresponds to the position of shooter 112) and endpoint 107. In another embodiment, if only a portion of trajectory 102 is calculated, system 100 can use information from the portion of trajectory 102 to extrapolate the entire trajectory 102 of the shot and the shooter's position on motion surface 119. In yet another embodiment, system 100 can determine the position of shooter 112 on motion surface 119 by analyzing image data including shooter 112 from camera 118 and other sensor data that can be collected. As an example, the shooter's position within an image captured by system 100 can be used to determine the shooter's position on motion surface 119 at the time of the shot 109. In another example, the shooter 112 may wear one or more sensors (e.g., radio frequency identification (RFID) tags or position sensors) that wirelessly communicate with system 100 to enable system 100 to determine the shooter's position. For example, system 100 may use triangulation or other positioning techniques to determine the shooter's position. In some embodiments, sensors within the basketball 109 (e.g., accelerometers or position sensors) may wirelessly communicate with system 100, and system 100 may use data from these sensors to determine the position of the ball 109 at the time of shooting or the trajectory of the ball 109, which can subsequently be used to determine the shooter's position. Various other techniques for determining the shooter's position are possible.
[0094] After determining the position of the shooter 112, the system 100 can identify a base point relative to the shooter's position (step 308). In one embodiment, the base point may correspond to the portion of the rim 103 closest to the shooter's position and may be referred to as the "front of the rim". However, in other embodiments, other locations of the base point may be used (e.g., the "rear of the rim"). Figure 4 Figures 5 and 6 illustrate the determination of the base point from the shooter's position. (See Figure 5 for details.) Figure 4 As shown, the position 404 (indicated by "X") of the shooter 112 on the moving surface 119 can be connected by a line 402 to the center 400 (indicated by a dot) of the rim 103. The portion 410 where the line 402 intersects the rim 103 is (…). Figure 5A The reference point (represented by "X") can be used as base point 410. The position of base point 410 relative to a predetermined reference point (e.g., the center of the rim) indicates the direction from the shooter's position on the rim. In other embodiments, other reference points can be selected for base point 410.
[0095] Return to reference Figure 3 Once the base point 410 is determined, the system 100 can determine the shot landing point and shooting status, i.e., whether the shot is a point or a miss (step 310). The shot landing point can correspond to the center of the ball 109 when the ball 109 reaches (or is about to reach) the plane of the rim 103. The shot landing point can be numerically defined based on its lateral position relative to the base point 410 and its depth position relative to the base point 410. In other embodiments, other reference points can be used to define the coordinates or other positional data of the shot landing point. Note that the coordinates can be relative to any desired coordinate system (e.g., Cartesian or polar coordinates).
[0096] The lateral position can correspond to the center line (e.g., line 402, see below) passing through the center 400 of the rim 103 and the reference point (e.g., base point 410) of the shot relative to the rim 103. Figure 5A The left and right positions of the line 402. Note that the direction of line 402 from the center of the rim indicates the approximate direction from the shooter's position on the rim, referred to here as the "shooting direction". The depth position can correspond to the shot relative to line 408 (see line 408). Figure 5A The line 408 is positioned before and after the center line 402, passing through the base point 410 of the rim 104 and perpendicular to the center line 402 (or tangent to the rim 103 at the base point 410). For example, as... Figure 5A As shown, the exemplary shot landing point indicated by point 405 can have a lateral position defined by distance l and a depth position defined by distance d. A positive distance l can correspond to a shot to the right of center line 402 (corresponding to the right of shooter 112), and a negative distance l can correspond to a shot to the left of center line 402 (corresponding to the left of shooter 112). A positive distance d can correspond to a shot "above" line 408 (i.e., away from shooter 112), and a negative distance d can correspond to a shot "below" line 408 (i.e., towards shooter 112). Figure 5A In the embodiment shown, the lateral position of the shot 405 can be +2 inches (corresponding to a shot 2 inches to the right of line 402) and the depth position of the shot 405 can be +8 inches (corresponding to a shot 8 inches into the rim 103).
[0097] In other embodiments, the line 408 may be defined at different positions relative to the rim 103, corresponding to the desired depth of the shot, for example, through the center 400 or at a distance from the base point 410, such as approximately 11 inches from the base point 410. The depth position can be defined based on the distance above (i.e., away from the shooter 112) or below (i.e., towards the shooter 112) the line 408. In one embodiment, the shot landing point may correspond to the end point 107 of the trajectory 102. The system 100 may also use the trajectory information and the shot landing point information to determine whether the shot is a score, i.e., the ball 109 crosses the rim 103, or a miss, i.e., the ball 109 does not cross the rim 103. In yet another embodiment, the system 100 may use sensor / camera data 205 (e.g., tracing the path of the ball 109 relative to the rim 103) to determine whether the shot is a score.
[0098] In such Figure 5B In another embodiment shown, the shot landing point can be numerically defined based on polar coordinates having a reference distance and a reference angle, instead of... Figure 5A The lateral and depth positions are shown. The reference angle can correspond to the angular position of the shot relative to a reference line (e.g., line 402) of the rim 103 that passes through a reference point (e.g., the center 400 of the rim 103). Note that the direction of line 402 from the center 400 of the rim indicates the approximate direction of the shooter's position from the rim 103, referred to here as the "shooting direction". The reference distance can correspond to the distance of the shot from the reference point of the rim 103 (e.g., the center 400 of the rim 103). For example, as... Figure 5B As shown, the exemplary shot landing point indicated by point 405 can have a reference distance defined by distance RD and a reference angle defined by angle RA. An angle RA between 0 and 180 degrees can correspond to a shot to the right of reference line 402 (corresponding to the right of the shooter 112), and an angle RA between 180 and 360 degrees can correspond to a shot to the left of reference line 402 (corresponding to the left of the shooter 112). An angle RA equal to 0 or 180 degrees can correspond to a shot on reference line 402. Smaller RD distances correspond to shots closer to the center 400 of the rim 103, and larger RD distances correspond to shots further away from the center 400 and closer to the rim 103. Figure 5B In the embodiment shown, the reference distance for the shot 405 can be 1.75 inches (corresponding to a shot 1.75 inches from the center 400) and the reference angle for the shot 405 can be 55 degrees (corresponding to a shot at a 55-degree angle to the reference line 402).
[0099] In one embodiment, a "guaranteed scoring zone" can be defined for each shot, corresponding to the area of rim 103 where a score can be achieved by the shooter 112 if the center of the ball 109 passes through the "guaranteed scoring zone". The "guaranteed scoring zone" can be calculated for each shot based on factors such as shot length, shot release height, and angle of entry. The calculated "guaranteed scoring zone" can have an elliptical shape and a corresponding center point. The calculation of the "guaranteed scoring zone" can be independent of the shot direction. However, the orientation of the "guaranteed scoring zone" relative to rim 103 can depend on the shot direction. The calculated "guaranteed scoring zone" can be defined relative to a plane defining the top of rim 103 (e.g., defined therein). In one embodiment, the "guaranteed scoring zone" can be defined using polar coordinates of the center point of the ellipse with respect to the "guaranteed scoring zone".
[0100] The size of the "guaranteed scoring zone" can increase or decrease based on variations in trajectory 102 or other factors such as shot velocity, shot length, and / or angle of entry. For example, a decrease in the angle of entry of trajectory 102 can result in a smaller "guaranteed scoring zone," while a slight increase in the angle of entry of trajectory 102 can result in a larger "guaranteed scoring zone." However, a significant increase in the angle of entry of trajectory 102 may result in a smaller "guaranteed scoring zone." In one embodiment, an optimal "guaranteed scoring zone" can be defined based on an angle of entry of approximately 45 degrees. An angle of entry greater than or less than approximately 45 degrees will result in a "guaranteed scoring zone" with a smaller size than the optimal "guaranteed scoring zone."
[0101] Furthermore, the size of the "guaranteed scoring area" can be increased or decreased depending on the size of the ball 109 used by the shooter 112 (e.g., the circumference of a men's ball is approximately 29.5 inches (size 7), a women's ball is approximately 28.5 inches (size 6), and a youth ball is approximately 27.5 inches (size 5) or 25.5 inches (size 4)). In one embodiment, when the size of the "guaranteed scoring area" increases or decreases, the center point of the "guaranteed scoring area" can change its position relative to the rim 103. Moreover, the center point of the "guaranteed scoring area" can change its position relative to the rim 103 because the "guaranteed scoring area" changes its position within the rim due to different shooting directions.
[0102] The "guaranteed scoring zone" can include the area that causes the ball 109 to contact the rim 103, as long as the ball 109 maintains a downward trajectory through the rim 103. In one embodiment, if the "guaranteed scoring zone" is defined as a shooting position that includes the ball 109 contacting the rim 103 while maintaining a downward trajectory, the edge of the "guaranteed scoring zone" can be updated to account for additional shot landing points that result in a scoring shot. System 100 can analyze trajectory data from multiple shots (including shot length and entry angle data) to determine specific adjustments to the "guaranteed scoring zone" to account for and include shots that contact the rim 103 but continue on a downward trajectory. In another embodiment, the entry position for a shot placement can be defined, more specifically, relative to the "guaranteed scoring zone," by the defined edge of the "guaranteed scoring zone." For example, a player can be informed that a particular shot landing point is only one inch from the edge of the "guaranteed scoring zone."
[0103] In contrast, a "dirty zone" can be defined as the area where the ball 109 passes through the rim 103 after contacting it, but the trajectory of the ball 109 changes before resuming its downward trajectory through the rim 103 (e.g., the ball 109 travels upward and / or laterally, including the possibility of hitting the backboard). A "dirty zone" may not have a defined shape like a "guaranteed scoring zone" and can be the set of shot landing points that cause the ball to pass through the rim. Furthermore, substantially the same shot landing points in a "dirty zone" can lead to different shooting outcomes (e.g., one shot might score while another might miss). In some embodiments, the system 100 can predict whether shot landing points in a "dirty zone" will result in a scoring shot by analyzing shot trajectory data, including shot length and angle of entry data. In other embodiments, the landing point map may indicate shots passing through the "guaranteed scoring zone" with a first color (e.g., dark green) and shots passing through the "dirty scoring zone" with a second color (e.g., light green). For example, as described in more detail below. Figure 6 An example of a landing point diagram is shown. Figure 6 The circles in the diagram correspond to scoring baskets, and in one embodiment, they can be filled with different colors (e.g., dark green and light green) to indicate whether the shot was in a "guaranteed scoring zone" or a "dirty scoring zone".
[0104] The system 100 can then use the shooter's shot landing information to provide feedback to the shooter 112 on how to increase the probability of subsequent shots scoring. For example, if the shooter's average lateral position deviates from the desired point (e.g., the center of the "guaranteed scoring zone") by more than a threshold amount, the feedback can instruct the shooter 112 to adjust his / her shot to the left or right by an amount to bring his / her shot closer to the desired point. Similarly, if the shooter's average depth deviates from the desired point (e.g., the center of the "guaranteed scoring zone") by more than a threshold amount, the feedback can instruct the shooter 112 to adjust his / her shot towards the front or back of the rim by an amount to bring his / her shot closer to the desired point. By training based on this feedback, the shooter can learn to make better shots through muscle memory, shots with a higher probability of crossing the rim.
[0105] Return to reference Figure 3 System 100 can then store information about the shot's landing point, the shot's trajectory 102, the shooting base point 410 (i.e., the "front of the rim"), the shooter's position 112, whether the shot was scored or missed, and any other shooting information that system 100 can collect (step 312). Note that the position of the base point indicates the approximate shooting direction. That is, the shooting direction is approximately along a line from the center of the rim to the base point. In other embodiments, other types of information (e.g., the angle from the center of the rim) may be used to indicate the shooting direction.
[0106] After storing the information related to the shot, the system 100 can generate one or more landing point maps (step 314) to provide the shooter 112 with information about the shot made by the shooter 112. Figure 6-11 An embodiment of a landing pattern is shown, which can be displayed on a display 210 to provide the shooter 112 with information about his shooting performance.
[0107] Figure 6 and 7 A diagram showing the landing points of a series of shots taken by shooter 112 from a specific position 404 on motion surface 119 is shown. Figure 6 The landing point diagram 600 is shown, which indicates the landing point of the shot in this group of shots and whether the shot was scored (indicated by a circle) or missed (indicated by an "X"). Figure 7 It shows Figure 6 The same set of shots used in Figure 700 shows the landing points. However, Figure 7 It provides information about the frequency with which shooters 112 take shots in a specific area, rather than displaying individual shot placements and corresponding shooting states. For example... Figure 7As shown, based on the number of shots determined to have passed through each area during monitoring, the first area 702 indicates an area where a shot is more likely to land (e.g., 30% probability), and the second area 704 indicates an area where a shot is less likely to land (e.g., 5% probability). The landing map 700 can also indicate other areas with a shooting frequency somewhere between the frequency of the first area 702 and the frequency of the second area 704. Figure 7 In one embodiment, the darker the pattern in the corresponding area, the higher the frequency of shots occurring in that area. Landing maps 600 and 700 may include the position of a base point 410 on the rim 103, the center 400 of the rim 103, and the corresponding center line 402, to provide the shooter 112 with information about the angle and position of their shots at the rim 103. Based on the information in landing maps 600 and 700, the shooter 112 can determine that more of his / her shots will be to the left of the center line 402 and more shots will be closer to the "back of the rim" rather than the "front of the rim".
[0108] Figure 8 and 9 Provided from Figure 6 and 7 The same information, except that the information has been "standardized". Figure 8 A standardized landing diagram 800 is shown, similar to a landing diagram 600 with information on the shot location and shot status. Figure 9 A standardized shot landing map 900, similar to landing map 700, is shown, containing information about shooting frequency regions. To standardize the shot landing information, the shooting information in landing maps 600 and 700 (including lateral and depth positions relative to base point 410) can be used with front point 810 to calculate the "standardized" shot landing. Front point 810 can be the portion of the rim 103 located furthest from the backboard 151. The standardized shot landing can be determined as the lateral and depth positions of the shot measured from front point 810, rather than the corresponding base point 410 of the shot. In another embodiment, the shot landing information can be standardized by rotating base point 410 and each shot landing position about the center 400 of rim 103 by an angle A (see [link to documentation]). Figure 10 Where base point 410-2 corresponds to front point 810), angle A corresponds to the angle between the corresponding base point 410 and front point 810 during the shot (measured from the center 400 of the rim 103). The center line 402 passing through the front point 810 and center 400 of the rim 103 is perpendicular to the basketball backboard 151.
[0109] Standardizing shot landing information corresponding to different reference points allows information on multiple shots taken from different shooting directions to be displayed on a composite landing map in a way that all shot landings are relative to the same shooting direction. Without standardization, users may find it difficult to visualize whether a shooter tends to shoot in a certain direction (e.g., left, right, front, back) relative to the center of the rim or other reference points. By adjusting the shot landings so that they are relative to the same shooting direction, shots deviating from the center of the rim 103 in the same direction will appear to be grouped together on the map (e.g., indicated in the same general vicinity), thus helping users better visualize shooting tendencies. Therefore, standardization can be viewed as adjusting shot landings to account for variations in shooting direction.
[0110] In one embodiment, when standardization is performed, each shot landing point is associated with data indicating the shooting direction (i.e., the direction in which the basketball 109 approaches the rim 103). For example, as described above, the shot landing point (e.g., the position through which the center (or other reference point) of the ball 109 passes in the plane of the rim 103) can be associated with a base point that is based on and indicates the shooting direction. During standardization, the shot landing point of each shot is updated such that it indicates the position through which the center (or other reference point) of the ball 109 will pass, causing the ball 109 to be projected from a predetermined reference direction rather than the actual direction indicated by the corresponding base point of the shot (assuming the distance from the rim 103 and other trajectory parameters remain the same). As an example, the shot landing point of a shot taken from the side of the rim 103 can be adjusted to be consistent with the same shot taken from the front of the rim 103 rather than the side of the rim 103. If all shot landing points in the landing point map are standardized to the same reference direction, the tendency of the shot landing points can be easily determined by looking at the shot landing point map.
[0111] In other embodiments, the front point 810 can be selected as any desired reference point on or near the rim 103. In yet another embodiment, the shooting direction information can be used to adjust the shooting landing point information to correspond to a predetermined shooting direction. In one embodiment, the shooting landing point information can be standardized by adjusting the shooting landing point angle to an angle corresponding to the angle difference between the shooting direction and the predetermined shooting direction.
[0112] As an example of how to standardize shooting, refer to Figure 10 and 11 . Figure 10 An exemplary landing point diagram of two shots is shown. Figure 10 The shot placement map does not provide information about whether a shot was scored or missed, only the location of the shot. For example... Figure 10As shown, the first shot can have a first shot landing point identified by point 405-1. The first shot landing point 405-1 can have a corresponding base point 410-1, a center line 402-1, and a "tangent" line 408-1. Based on the center line 402-1 and the tangent line 408-1, the first shot landing point 405-1 can be defined according to its lateral position (l1) and depth position (d1) relative to the base point 410-1. The second shot can have a second shot landing point identified by point 405-2. The second shot landing point 405-2 can have a corresponding base point 410-2, a center line 402-2, and a "tangent" line 408-2. From Figure 10 As can be seen from this, base point 410-2 can correspond to the previous point 810 (see...). Figure 11 The center line 402-2 can be perpendicular to the backboard 151. Based on the center line 402-2 and the tangent line 408-2, the second shot landing point 405-2 can be defined according to the lateral position (l2) and depth position (d2) relative to the base point 410-2.
[0113] like Figure 11 As shown, the first shot landing point 405-1 and the second shot landing point 405-2 have been normalized to the front point 810. Since the base point 410-2 of the second shot landing point 405-2 is at the same position as the front point 810 (i.e., the base point 410-2 and the front point 810 coincide), the position of the second shot landing point 405-2 is... Figure 10 and 11 The same applies. However, the base point 410-1 of the first shot landing point 405-1 is located at a different position than the previous point 810, and therefore must be normalized to the previous point 810. To normalize the first shot landing point 405-1 to the previous point 810, a point can be located at the corresponding lateral distance (lateral distance l1) of the first shot landing point 405-1 based on the center line 402 of the previous point 810 and the corresponding depth distance (depth distance d1) of the first shot landing point 405-1 based on the tangent line 408 of the previous point 810. The position of this point at the lateral position l1 and the depth position d1 relative to the previous point 810 corresponds to the normalized position of the first shot landing point 405-1.
[0114] Figure 12 and 13 A shooting position diagram that can be displayed on the display 210 is shown to provide information about the shooter's position on the motion surface 119 at the time of the shot. Figure 12 Shooting position diagram 200 is shown, which indicates the landing point of all shots and whether the shot is a point (indicated by a circle) or a miss (indicated by an "X"). Figure 13 It shows Figure 12 The same set of shots used in the shooting chart 250 (e.g., a shooting percentage chart). However, Figure 13Instead of displaying individual shot landing points and corresponding shot statuses, information about the percentage of shots scored by shooter 112 within a specific area of the moving surface 119 is provided. Figure 13 As shown, each region of the motion surface 119 may include the percentage of shots scored by the shooter 112 within that corresponding region. In one embodiment, the regions of the projection percentage chart 250 may be provided with colors from a range of colors to visually indicate the percentage of a particular region relative to other regions. In other embodiments, the size of the regions in the projection percentage chart 250 may be adjusted such that the projection percentage chart 250 includes more or fewer regions.
[0115] In other embodiments, such as Figure 12A and 13A As shown, the shot position chart and shot percentage chart can provide information about one or more parameters related to the landing point of a shot that occurs at the rim (e.g., left and right position and / or depth position). Figure 12A An embodiment of a shooting position diagram 200A is shown, which can provide information about whether a shot is a basket or a miss and the depth of the shot relative to the rim. Figure 12AIn this design, scored shots are represented by different circular symbols (e.g., hollow circles, solid circles, or circles with diagonal lines), while missed shots are represented by different non-circular symbols (e.g., "X", triangles, or squares). In addition to providing information about whether a shot was scored or missed, these symbols can also provide information related to the depth of the shot. For scored shots (i.e., circular symbols), shots with a depth close to the center of the rim can be represented by a hollow circle, shots with a depth beyond the center of the rim (e.g., towards the backboard) can be represented by a solid circle, and shots with a depth in front of the center of the rim can be represented by a circle with diagonal lines. For missed shots (i.e., non-circular symbols), an "X" can be used to represent shots with a depth close to the center of the rim, a square can be used to represent shots with a depth beyond the center of the rim (e.g., towards the backboard), and shots with a depth in front of the center of the rim can be represented by a triangle. In other embodiments, the symbols for scored or missed shots can be colored differently instead of using different symbols to provide depth information. In further embodiments, different symbols (or different colors) for scored or missed shots can provide additional shooting information associated with the shot (e.g., left / right position or entry angle) instead of depth position. For example, a scored shot to the left of the center of the rim can be represented by a circle with diagonal lines, while a scored shot to the right of the center of the rim can be represented by a solid circle. In a further embodiment, the different symbols for scored or missed shots can also be colored to provide further information about the shot beyond depth position. For example, a solid green circle could indicate a scored shot with a depth position beyond the center of the rim and a left / right position to the right of the center of the rim.
[0116] Figure 13A An embodiment of a shot chart 250A (e.g., a shot percentage chart) is shown, which can provide information about the shot percentage of a person in a specific area and the average depth of shots taken in that area. Figure 13A In this system, the motion surface 119 can be divided into multiple distinct regions (or zones), and the shooting percentage of the shooter 112 can be determined for each corresponding region of the motion surface 119. The shooting percentage of the shooter 112 in a specific region can be indicated using a specific pattern. Figure 13AIn one embodiment, the darker the pattern in the corresponding area, the higher the percentage of shots (i.e., the percentage of scoring shots) made by the shooter 112 in that area. In addition to providing information about the percentage of shots made within the area, the projection percentage chart can also provide information related to the average depth position of shots made within the area. A positive number displayed in a specific area can indicate that a shot made in that area is beyond the average distance indicated by that number from the center of the rim. A negative number displayed in a specific area can indicate that a shot made in that area is beyond the average distance indicated by that number from the center of the rim. In other embodiments, the areas of the projection percentage chart 250A can be colored differently to provide depth position information instead of using numerical values. In still other embodiments, the numerical values in the areas of the projection percentage chart 250A can replace depth position to indicate other shooting information associated with the shot (e.g., average left-right position or average angle of entry). For example, a shot to the left of the center of the rim can be represented by a negative number, while a shot to the right of the center of the rim can be represented by a positive number. In a further embodiment, the areas of the projection percentage chart 250A can be colored and patterned to provide further information about the shot beyond depth position. For example, the green crosshair area can represent a high percentage of shot from the green area, a depth position beyond the center of the rim as indicated by a numerical value, and a left-right position to the right of the center of the rim from the crosshair. In further embodiments, the size of the areas in the shot percentage chart 250A can be adjusted so that the shot percentage chart 250A includes more or fewer areas. Furthermore, the numerical values in the areas can be color-coded to indicate certain information. For example, the value of a number in the area can indicate how far the ball is from the center of the rim in a left / right direction, and the color of that value can indicate whether the shot is to the left or right of the center. In another example, a positive or negative value can indicate the distance from the center of the rim in a direction (e.g., left / right), and the color of the value can indicate the shot landing point in different directions (e.g., whether the shot missed or went beyond the center of the rim). In further embodiments, the characteristics of the shot chart can be varied in other ways to convey other types or combinations of shot landing point information relative to the rim or other reference points.
[0117] In other embodiments, if information about multiple parameters is displayed, the areas of the projected percentage maps 250, 250A can be displayed using various display techniques (e.g., color, pattern, and / or terrain) to resemble... Figure 13AInformation can be conveyed in various ways. For example, average depth position information can be displayed by terrain, and average left and right position information can be displayed by color for each area. By displaying multiple parameters on the same map, trends that can be used to improve player performance can be identified (by a person or system 100). In another embodiment, shot location maps 200, 200A can show areas with more and fewer shot landing points, similar to landing maps 700 and 900. In yet another embodiment, information from landing maps 600, 700, 800, and 900 can be provided with shot location maps 200, 200A and / or shot percentage maps 250, 250A to provide additional information about shooting performance to the shooter 112. For example, in response to the selection of areas in shot location maps 200, 200A and / or shot percentage maps 250, 250A, system 100 can generate landing maps 600 and 700 for shots taken in the selected areas and provide landing maps 600 and 700 to the shooter. Based on the size of the selected area, a "normalized" baseline can be created, which corresponds to the average of the baselines of the group of shot landings in the selected area.
[0118] The player performance evaluation system 100 can also provide analytical information related to shooting parameters used to evaluate whether the shooter 112 is a "good shooter". In one embodiment, shooting parameters used to evaluate a "good shooter" may include average angle of entry, angle of entry consistency, average depth in the rim (i.e., average depth position), depth consistency, average left / right position (i.e., average lateral position), and left / right consistency. In other embodiments, when evaluating shooting performance, instead of previously identified shooting parameters or in addition to previously identified shooting parameters, the system 100 may use shooting parameters such as angle of entry range, median angle of entry, depth range, median depth position, left / right range, median left / right position, ball velocity, or other suitable shooting parameters.
[0119] Player performance evaluation system 100 can use the shot trajectory and shot landing data used when generating the shot trajectory map to determine average angle of entry, angle of entry consistency, average depth position, depth consistency, average left / right position, left / right consistency, and / or other parameters. In one embodiment, player performance evaluation system 100 can determine a "good shooter" by calculating a corresponding "guaranteed scoring zone" based on one or more average parameters and then comparing one or more remaining average parameters to determine whether these parameters result in shots within the calculated "guaranteed scoring zone". For example, as described herein, a shooter's "guaranteed scoring zone" with a better angle of entry is generally larger than a shooter's "guaranteed scoring zone" with a worse angle of entry. In some embodiments, system 100 can determine a shooter's expected "guaranteed scoring zone" based on his / her average angle of entry and then compare the shooter's average depth position and average lateral position to determine whether these parameters are within the calculated "guaranteed scoring zone". If so, the shooter may be characterized as a "good" shooter or a shooter with a high percentage of shots. In some embodiments, system 100 may determine a shooter's shooting percentage (or other shooting parameters) based on the extent to which a shooter's average lateral position or depth is within his or her "guaranteed scoring zone." For example, for a shooter's average lateral position or depth to be within his or her "guaranteed scoring zone," the further the average lateral position or depth is from the boundary of his or her "guaranteed scoring zone," the shooter may be characterized as a better shooter or associated with a higher percentage. That is, the better a shooter's average shooting position (e.g., lateral position or depth) is within his / her "guaranteed scoring zone," the better the shooter is characterized as a better shooter. In other embodiments, other techniques for determining shooting performance are possible.
[0120] The player performance evaluation system 100 can also use a consistency parameter when evaluating a “good shooter.” In one embodiment, the consistency parameter can provide an indication of the frequency with which the shooter 112 makes shots that are equal to or within a range of a corresponding average parameter. For example, the depth consistency of a shooter 112 with an average depth of 8 inches can be determined by calculating the percentage of shots from shooter 112 that are 8 inches deep plus or minus a predetermined range (e.g., 1 inch) of the average distance. In another embodiment, the consistency parameter can provide an indication of how frequently shots from shooter 112 are repeated in the same measurement. For example, the angle of entry consistency of shooter 112 can be determined by identifying the most frequent angle of entry (e.g., 43 degrees) in shots from shooter 112 (which may or may not correspond to the average angle of entry) and then determining the percentage of shots that occur at the most frequent angle of entry.
[0121] When evaluating shooting performance, system 100 can use the consistency parameter as an independent factor or a weighted factor. If the shots from shooter 112 have a high consistency percentage, system 100 can evaluate shooter 112 as a "good shooter". Shooter 112's ability to frequently repeat shooting parameters can indicate that someone is a "good shooter", or if a particular parameter that is frequently repeated is not within the expected range, it can indicate that someone might become a "good shooter" with additional guidance.
[0122] The player performance evaluation system 100 can provide segmented information, such as a landing map, on request for some or all members of an individual or team regarding shooting parameters or other shooting information. The system 100 can segment the shooting parameter information of shooter 112 into categories such as: defensive shots; open shots; scoring shots; missed shots; close-range shots; long-range shots; shots made after passing to the right, left, inside, dribbling to the right, dribbling to the left, dribbling directly forward, stepping back with the right hand, stepping back with the left hand, crossover dribbling with the right and left hands; shots from a specific area of the court; shots towards a specific basket; shots against a specific team; shots against a specific defender; shots on a specific court; and any other suitable segments that may provide useful information. Additionally, the player performance evaluation system 100 can provide time-based information regarding shooting parameters or other shooting information (such as a landing map) on request. System 100 can categorize the shooting parameter information of shooter 112 into categories such as: shots during a specific period; shots after a specific amount of rest, shots during the preseason; shots during the regular season; shots during the playoffs; and any other suitable category that can provide useful information. As an example, system 100 can request a percentage of shots (or other shooting parameters) from one or more areas of the motion surface for a specific half-game, game, or set of game instructions.
[0123] The player performance evaluation system 100 can also provide comparative information on shooting parameters in segments and categories. For example, the system 100 can provide a comparison of shooting parameters for shooter 112 based on shots taken after 1 day, 2 days, 3 days of rest, etc. Therefore, this information can be analyzed to determine or estimate the extent to which rest or other performance factors before a game affect a player's shooting performance. The system 100 can also provide comparisons of shooting parameters during the preseason, regular season, and postseason. The system 100 can provide a comparison of shooting parameters for shooter 112 based on shots taken before and after an injury. The system 100 can also provide a comparison of shooting parameters based on shots taken by shooter 112 during different phases of the injury recovery process (e.g., at the beginning and end of "rehabilitation").
[0124] If shooting information has been obtained for more than one shooter 112 or more than one team, comparative data can be provided between shooter 112 (or team) and another shooter 112 (or team) or a group of shooters 112 (or a group of teams) to determine whether the comparative data for shooter 112 (or team) applies only to that shooter 112 (or team), or whether the comparative data indicates a trend or tendency that will apply to most shooters 112 (or teams). System 100 can determine that some shooting parameter comparisons apply to many groups of shooters 112, while other shooting parameter comparisons are specific to an individual shooter 112. If some shooting parameter comparisons are specific to shooter 112, this information can be used to try to maximize team wins by emphasizing or avoiding situations where the shooter's performance differs from that of most shooters and / or implementing training programs to help shooter 112 improve aspects where they are not at the same level as most shooters 112. As an example, if a player's shooting performance decreases above average during a game, it can be determined that fatigue has a greater-than-average impact on that player. In this situation, the coach can decide to use the player less in the second half or to do some shooting drills at the end of practice to help the player learn to shoot better when fatigued.
[0125] Figure 14 A spider diagram that can be displayed on monitor 210 is shown to provide information about the shooter’s performance relative to the shooting parameters used to evaluate a “good shooter”. Figure 14 Spider diagrams, radar charts, or mesh diagrams are used to show the average angle of entry, angle of entry consistency, average depth position, depth consistency, average left / right position, and left / right consistency for scoring shots (represented by circles) and missed shots (represented by "X"). In other embodiments, other types or combinations of projection parameters may be used. Figure 14 The diagram shown can be of different types as needed.
[0126] exist Figure 14 In the example shown, shooter 112 has a higher consistency parameter for scoring shots and a lower consistency parameter for missed shots. The higher consistency parameter for scoring shots can be an indicator that shooter 112 can land the ball within the "guaranteed scoring zone" and that the shot is a scoring shot. Conversely, shooter 112 has "higher" average angle of entry, average depth position, and average left / right position for scoring shots and "lower" average angle of entry, average depth position, and average left / right position for missed shots. The higher average angle of entry, average depth position, and average left / right position parameters for scoring shots can be an indicator that shooter 112 cannot land the ball within the "guaranteed scoring zone" and that the shot is a missed shot.
[0127] Figure 17 and 18 An example of an exemplary landing point diagram is shown, which can be generated to provide shot landing point information. Figure 17 and 18 The shot placement map can provide shot placement information in a terrain format so that people can easily identify the locations where players most frequently make shot placements. In some embodiments, the terrain format of the shot placement map can be shaded or colored (see...). Figure 17 This makes it easier for people to distinguish the different parts of the landing map. Although the terrain format of the landing map is related to... Figure 17 and 18 The graphics are displayed in the image, but the terrain format can also be displayed about the basket, similar to... Figure 6-11 The display format used.
[0128] In one embodiment, the landing pattern can be presented to a person over a pre-selected time period, allowing them to visualize changes in the landing pattern that occur during that period. The "time-based" landing pattern can be presented as a video or a sequence of static landing patterns, showing changes in a player's shot landing points over the pre-selected time period. For example, a "time-based" landing pattern could show monthly changes in a player's landing pattern over a year. Furthermore, the "time-based" landing pattern can present information cumulatively (e.g., subsequent landing patterns incorporate information from previous landing patterns) or independently (e.g., subsequent landing patterns do not incorporate information from previous landing patterns).
[0129] In a further embodiment, a layered approach can be used to provide performance-related information to the user, providing additional information about the display the user is watching. Performance information about a player or team can be displayed on the screen simultaneously during a game broadcast without substantially interfering with viewing the game. For example, during a broadcast, the percentage of shots taken by a player with the ball can be displayed on the screen. In one embodiment, the displayed percentage of shots may correspond to the player's total percentage of shots (i.e., all shots taken by the player). However, in other embodiments, the displayed percentage of shots may correspond to the percentage of shots taken by players in the player's current basketball court area and / or the player's percentage of shots taken by the defender currently guarding that player. As the player moves around the basketball court and / or is guarded by different defenders, the displayed percentage of the player's shots may change to correspond to the player's current area and / or the player's current defender. In other embodiments, the displayed percentage of shots may correspond to the type of shot taken by the player (e.g., pull-up jumper, layup, catch-and-shoot, off-balance shot, left-handed shot, right-handed shot, dribble shot, etc.). In still other embodiments, performance information related to the quality of assistance provided by teammates may be displayed. In other words, it can show performance information about how likely (or unlikely) a player will be able to shoot based on a pass received from a teammate. Factors such as the type of pass received, the pass's position relative to the player, the pass's position relative to the court, the pass's position relative to the defender, the speed of the pass, or the player's ability to maintain movement when receiving the pass can be used to determine the probability (based on historical data) that a player will be able to shoot based on a pass received from a teammate.
[0130] As an example, in Figure 1 In this embodiment, graphic element 113 (a numerical value in this example) is displayed below the shooter 112, although in other embodiments this graphic element 113 may be displayed in a different location. In this embodiment, graphic element 113 indicates the percentage of shots the shooter will make from his or her current position, but in other embodiments it may indicate other types of shooting or performance characteristics. The percentage of shots indicated by graphic element 113 may indicate the probability that the shooter 112 will make a successful shot when he or she attempts to shoot from his or her current position at the current time, and this percentage of shots may be based on several factors. As an example, the percentage of shots the system captures for the shooter 112 from an approximate area that is the same as the shooter's current position. Therefore, the percentage of shots the shooter 112 makes may change as the shooter's position changes.
[0131] Note that the shot percentage calculated by system 100 can simply be the ratio of the number of successful shot attempts to the total number of shot attempts from the area currently occupied by the shooter 112. However, a more accurate prediction of the shot probability can be calculated based on various other shot characteristics tracked by system 100 for shots taken from the same approximate area as the shooter's current position, such as average release height, average entry angle, average shot landing point relative to the rim, or other shot characteristics. In this respect, the shot probability indication of the shooter's performance, as indicated by these shot parameters, may be a better indicator of the shooter's past scoring / missing performance than the shooter's past scoring / missing performance, especially for a low number of shots that may not have high statistical significance.
[0132] The shooting percentage can also be based on other factors, such as the tightness of the recent defense by the defender 114 against the shooter 112. For example, as described in commonly assigned U.S. Patent No. 10,010,778 entitled “Systems and Methods for Tracking Dribbling and Passing Performance in Sporting Environments,” which is incorporated herein by reference, system 100 can be configured to track the defender 114, such as the distance between the defender 114 and the shooter, and track the shooter’s past shooting performance from the same area relative to the distance between the defender 114 and the shooter 112. For example, the data tracked by system 100 can reveal the shooter’s performance characteristics, such as the percentage of points scored / missed, entry angle, release height, etc., which may be affected by the tightness of the defense he was defended against, and the shooting percentage indicated by graphical element 113 can be adjusted to take such factors into account. In other embodiments, other types of factors, such as factors indicating shooter fatigue, as further described herein, can be used to determine the possible shooting percentage (or other shooting characteristics) of shooter 112.
[0133] In some embodiments, a weighted formula can be used to calculate the shooting percentage, where certain more important shooting characteristics (e.g., average angle of entry for shots from the same area) are weighted higher than at least some other shooting characteristics. In some embodiments, the past shooting percentages of a shooter from the same area as their current position can be used as a starting point for the calculation, and this value can be adjusted based on other shooting characteristics, such as the average angle of entry for shots from the same area. In other embodiments, it is not even necessary to use the shooter's past scoring / missing percentages, as the player's shooting percentage can be based solely on other shooting characteristics, such as the player's average angle of entry and shot landing point relative to the rim. In still other embodiments, past shooting characteristics from the same area (e.g., average scoring / missing, average angle of entry, average release height, shot landing point relative to the rim, etc.) can be provided as input to a machine learning algorithm that determines the shooting percentage or other possible shooting characteristics to display.
[0134] In any case, but when conditions (e.g., the shooter's position and / or the distance between defender 114 and shooter 112) change, graphic element 113 can be updated to take the changed conditions into account. Therefore, as play progresses, graphic element 113 can be continuously updated to indicate the current probability of the shooter making or missing a shot from their current position. In some embodiments, the position of graphic element 113 is fixed relative to shooter 112. Therefore, as shooter 112 moves within the display of play, graphic element 113 moves with shooter 112. In other embodiments, graphic element 113 may be fixed (e.g., located in a predefined position unlikely to substantially interfere with the user's view of the game, such as a corner of the display). In some embodiments, graphic element 113 may indicate the percentage of possible shots by the player currently holding the ball. Therefore, when the ball is passed from one player to another, graphic element 113 is updated to reflect the percentage of possible shots by the receiving player.
[0135] Note that graphic element 113 does not need to be displayed as shown. Figure 1The numerical values shown are as follows. As an example, graphic element 113 can be a symbol that changes based on the shooting percentage or other shooting parameters calculated by system 100 for shooter 112. For example, if the current shooting percentage is below a predetermined threshold, graphic element 113 can be color-coded with a first color (e.g., red), and if the current shooting percentage is above the threshold, graphic element 113 can be color-coded with a second color (e.g., green or yellow). If the shooting percentage increases above another threshold, graphic element 113 can be color-coded with a third color, indicating that it is highly desirable for shooter 113 to make a shot at the current time. In another embodiment, the shape of graphic element 113 can change based on the calculated shooting percentage or other shooting characteristics. For example, if the shooting percentage is below a threshold, graphic element 113 can be in the shape of an "x," and if the shooting percentage increases above the threshold, the graphic element can change to a circle. Graphically encoding the shape or color of element 113 allows a viewer to quickly assess when it is considered desirable for shooter 112 to make a shot.
[0136] Additionally, it should be noted that similar techniques can be used to provide predictions of the performance of other athletes in other sports. As an example, graphical elements indicating the probability that a football quarterback will complete a pass can be indicated by system 100. Such a probability can be based on the quarterback's past throwing performance (e.g., spin rate, release speed, throwing accuracy, etc.) tracked by system 100 for previous pass attempts. This probability may also be influenced by the defender's action or position relative to the receiver. For example, if the quarterback initiates a throw to the receiver at the current time, the receiver's current speed and position relative to the nearest defender can be used to predict the distance between the receiver and the defender when the ball is likely to reach the receiver. This distance, along with the receiver's past catching performance, can be used to calculate the probability that the quarterback will complete the currently initiated pass.
[0137] In hockey or football, system 100 can calculate the probability of a player striking the ball from his or her current position and display it to viewers of the game. This probability can be based on the player's past performance tracked by system 100 and the position and performance of the defender tracked by system 100 when defending a previous strike. In other embodiments of various sports, other types of performance characteristics can be displayed.
[0138] Layered approaches can also be used with augmented reality systems to provide additional information to people during training sequences or while watching a game. For example, an augmented reality system can provide a "shot trajectory," which displays a player's shot trajectory in three dimensions, allowing the player to see the path the ball takes towards the basket. In training sequences, shot trajectories can be used to help players improve their shooting technique. For instance, a player can be asked to recreate a previous shot trajectory for a subsequent shot (if that trajectory results in a shot in the "guaranteed scoring zone"), or the player's shot can be modified so that the player's shot trajectory corresponds to the desired shot trajectory through the "guaranteed scoring zone" (which can also be displayed).
[0139] Furthermore, users of an augmented reality system can select specific types of information to be layered into their view. For example, a player can choose to have left / right position information and depth position information added to their augmented reality view to help improve their shooting performance. In contrast, a person watching a game using an augmented reality system can choose to layer shot percentages into their augmented reality view to allow them to predict whether a shot will be successful during the game. Additionally, the layered information added to the augmented reality view can change as the person's perspective changes within the system. For example, when the team is at one end of the court, a viewer might receive information about the offense, while when the team is at the other end, they might receive information about the defense. Layered information can be provided "in real-time" based on a player's performance during a training sequence, or it can be based on past information about a player to enhance the training sequence (e.g., displaying player performance information to try and get the player to work harder during the training sequence).
[0140] In one embodiment, the player performance evaluation system 100 can evaluate shooting parameters used to evaluate a “good shooter” to determine whether any relationship exists between the shooting parameters or whether the shooting parameters are independent. When attempting to determine relationships between shooting parameters, the player performance evaluation system 100 can evaluate the shooting parameters of an individual shooter 112 or a group of shooters 112. The player performance evaluation system 100 can be able to establish relationships between entry angle and left / right position or depth position. For example, the system 100 can identify a relationship between entry angle and depth position such that a lower entry angle results in a larger depth position, and a higher entry angle results in a smaller depth position. Similarly, the player performance evaluation system 100 can be able to establish relationships between entry angle consistency and left / right consistency or depth consistency. For example, the player performance evaluation system 100 can determine that a lower entry angle provides a better left / right position, or that low left / right consistency provides better entry angle consistency. In some embodiments, the system 100 can analyze shooting parameters and provide a recommended ideal or target range for a particular player based on his / her individual performance history. As an example, system 100 can determine a specific range of entry angles or other shooting parameters associated with a higher percentage of shots, rather than shots with shooting parameters outside that range. Therefore, the ideal or target range for the same shooting parameters may differ for one shooter relative to another.
[0141] Player performance evaluation system 100 can be used to help assess or predict the shooting ability of shooter 112. System 100 can provide information to coaches, players, or other personnel indicating whether a person has the potential to develop into a "good shooter" with appropriate training. For example, a shooter 112 with higher numbers for entry angle consistency, depth consistency, and / or left / right consistency can be identified as having a higher shooting ability than a shooter with lower consistency numbers, because shooters 112 with higher consistency numbers have demonstrated the ability to repeat shooting parameters, which can translate into the ability to repeat "good shots" with appropriate training. Conversely, a shooter 112 with lower consistency numbers can be identified as having a lower level of hand-eye coordination, which may limit the person's ability to become a "good shooter." However, even if the person only has limited ability to become a "good shooter," system 100 can still help the person improve his / her shooting by improving training in average entry angle, average depth position, and / or average left / right position. Coaches and other personnel can use information about a player's shooting ability to determine which players should be included in the team and / or which positions are best suited for a particular player.
[0142] Note that a shooter's ability can be quantified using a value calculated based on the shooter's assessed ability or otherwise determined (e.g., points). As an example, this value can be calculated using an algorithm based on any of several factors (e.g., shooter's consistent angle of entry, average angle of entry, consistent lateral position, average lateral position, etc.). As another example, for a player assessed as a better shooter, this value can be calculated higher, such that a higher value indicates better shooting ability. Typically, the ability value represents an estimate of a shooter's maximum shooting technique achievable through training and practice. As an example, System 100 can predict the possible maximum or upper limit of any particular shooting parameter, such as the percentage of shots a shooter makes from a specific distance or position from the basket, the shooter's consistent angle of entry, or any other parameter described herein. System 100 can also predict a player's future skill level or a particular shooting parameter at some future time based on how much improvement a player has shown over time, the expected amount of training under a defined training program, or past training patterns demonstrated by the player.
[0143] Furthermore, note that the ability value or assessment can be based on the rate at which a player improves one or more shooting parameters or skill levels, referred to herein as the “training rate.” As an example, System 100 can track the number of shots a particular shooter attempts and assess the degree of improvement of a particular parameter (such as average angle of entry, percentage of shot taken, or any other parameter described herein) relative to the expected range of that shooting parameter. System 100 can then compare that improvement to the number of shots taken during the assessment of the training rate. Just as an example, System 100 can calculate a value indicating how much the shooter’s angle of entry has improved (e.g., calculating the percentage improvement in the player’s average angle of entry) and divide that value by the number of shots taken to achieve that improvement to provide a value indicating the rate at which the player is able to improve his / her average angle of entry per shot. Such a training rate value can indicate the player’s eye / hand coordination or the player’s ability to improve through training. Note that the rate does not have to be per shot. For example, it can be per unit of time (e.g., per day), per practice session, or some other coefficient. Using the training rate value, System 100 can calculate an ability value or otherwise assess a player’s ability to improve. As an example, system 100 may predict maximum shooting parameters (e.g., shooting percentage) or otherwise assess a player’s maximum skill level based on at least one training rate value and possible other parameters (e.g., one or more of the player’s current shooting parameters).
[0144] In some embodiments, system 100 can use data from other players to predict how a given player will improve over time through training. As an example, system 100 can determine a player's current shooting skill level and evaluate a training rate that indicates the rate at which the player is currently improving one or more shooting parameters. System 100 can then analyze the tracked performance of other players with similar shooting characteristics (e.g., at similar skill levels and similar training rates) to predict how much the player's shooting parameters or skill level might change over time to provide a prediction of what the player's shooting parameters or skill level will be at some future point in time. As an example, system 100 can calculate the average change (e.g., per shot or per unit of time) in the shooting parameters or skill level of other players identified as having similar shooting characteristics to the current player, and then assume that the player will calculate the current player's future shooting parameters or skill level based on the average progress. Note that system 100 can provide a prediction of the player's shooting parameters or skill level for a future day or other time (e.g., month). In another example, system 100 can predict how a player's shooting parameters or skill level will be after making a specific number of shots (e.g., 10,000 or some other number) or after a certain number of hours of training in the future. In other embodiments, other techniques are possible for assessing a shooter's ability and predicting their future shooting characteristics. Note that the techniques described herein for assessing and predicting shooting performance can be similarly used to assess and predict other types of player performance, such as ball-handling performance, passing performance, defensive performance, etc.
[0145] In another embodiment, the player performance evaluation system 100 can also determine a release efficiency parameter for the shooter 112 based on the release height, release separation, and / or release speed of the shooter 112. To calculate the release efficiency parameter for the shooter 112, the player performance evaluation system 100 can determine release height, release separation, release speed parameters, and / or other release parameters, and compare any of these parameters with predetermined standards. By standardizing the determination of release height, release separation, and / or release speed (and the final release efficiency parameter), the system 100 can compare different shooting techniques between the shooter 112 and different shooting types.
[0146] In one embodiment, the release height can be determined as the height in inches at which the ball last contacts the shooter's fingertips. In some embodiments, the release height can be divided by a predetermined amount (e.g., 200) or otherwise manipulated to help make the information more intuitive or easier for the user to understand. The release separation can be determined as the distance between the ball and the closest part of the defender's body at the moment the ball last contacts the fingertips. In some embodiments, the release separation can be divided by a predetermined amount (e.g., 100) or otherwise manipulated to help make the information more intuitive or easier for the user to understand. The release velocity can be determined as the time from when the ball reaches a predetermined height (e.g., the shooter's chin height) to when the ball last contacts the fingertips. In some embodiments, the release velocity can be divided by a predetermined time interval (e.g., 2 / 10 of a second) or otherwise manipulated to help make the information more intuitive or easier for the user to understand. Other techniques for determining the release height, release separation, and / or release velocity may be used in other embodiments.
[0147] The player performance evaluation system 100 can determine a release efficiency parameter by combining release height, release separation, release speed, and / or other release parameters. Release height, release separation, release speed, and / or other release parameters can be added and / or multiplied to obtain the release efficiency parameter. Alternatively, one or more of the release height, release separation, release speed, and / or other release parameters can be weighted when calculating the release efficiency parameter. In other embodiments, other techniques and / or other parameters may be used to determine the release efficiency parameter.
[0148] System 100 can provide release efficiency information to coaches, players, or other personnel, indicating whether a person possesses the ability to improve with appropriate training. For example, a shooter 112 with a higher number of release velocities can be identified as having a higher shooting ability than a shooter with a lower number of release velocities because the shooter 112 with a higher release velocities has a lower probability of their shot being blocked by a defender, which can translate into the ability to shoot and score under a wider range of conditions. Coaches and other personnel can use player release efficiency information to determine which players to include in the team and / or how best to utilize specific players.
[0149] In one embodiment, the player performance evaluation system 100 can also determine the guaranteed score ratio of the shooter 112. The "guaranteed score" for each shot attempt can correspond to the ball passing through a "guaranteed scoring zone." The size of the "guaranteed scoring zone" can vary depending on the shot length, release height, angle of entry, and / or other shooting parameters. The system 100 can use the angle of entry and shot landing information collected for each shot to calculate whether the shot passed through the "guaranteed scoring zone." The system 100 can then determine the guaranteed score ratio by dividing the number of shots that passed through the "guaranteed scoring zone" by the total number of shots taken. The guaranteed score ratio of the shooter 112 can provide a better indicator of shooting ability than the percentage of shots that the shooter 112 successfully scores, because the percentage of successful shots may be exaggerated compared to shots that pass through the rim 103 but are not in the "guaranteed scoring zone" and may not pass through the rim 103 in subsequent similar attempts. In other words, the actual percentage of shots that score may include a set of shots where the result cannot be repeated by the shooter 112, or the shot type is not expected to maximize the percentage of shots.
[0150] In one embodiment, system 100 may provide feedback to shooter 112 after each shot. The feedback information may be provided to shooter 112 in one of three formats: visual, audio, and kinetic. For example, in one embodiment, shooter 112 may view the shot's landing point relative to the rim on a visual display, or shooter 112 may view the lateral and depth positions of the shot in a digital format. In another embodiment, shooter 112 may hear numerical values of the lateral and depth positions when delivered via an audio device. In yet another embodiment, a kinetic device, such as a wristband or headband worn by the player, may be used to transmit feedback information in a kinetic format. For example, the wristband may vibrate more or less depending on the proximity of the shot to center line 402 and / or a predetermined depth line (e.g., an 11-inch line from base point 410). Alternatively, the wristband may become hotter or colder depending on the proximity of the shot to center line 402 and / or the predetermined depth line. Multiple feedback output mechanisms may also be employed. For example, feedback can be viewed visually on a monitor by a coach or other spectator, while sound projection devices can be used to send feedback to players in audio format.
[0151] Typically, parameters can be presented qualitatively or quantitatively. Examples of qualitative feedback could be messages such as "right" or "left," referring to the player's lateral position or depth position as "too forward" or "too backward." Examples of quantitative feedback could be the actual lateral and / or depth position of the shot in appropriate units of measurement, such as "2 inches to the right" for lateral position or "8 inches deep" for depth position. Similarly, qualitative and / or quantitative information can be presented in various formats, such as visual, auditory, kinetic, and combinations thereof.
[0152] With knowledge of the lateral and depth positions transmitted in the feedback information, shooter 112 can adjust his next shot to produce a more optimized shot placement. For example, if the feedback information is lateral position and their shot is to the right, shooter 112 can adjust their next shot to move the shot to the left. System 100 can then use the shot placement information for subsequent shots (or shot groups) to determine whether shooter 112 is overcompensating or undercompensating in terms of shot placement.
[0153] Feedback information can be provided to the player before the ball 109 reaches the rim 103 or shortly after the ball 109 reaches the rim 103. System 100 is designed to minimize any waiting time between shots. For each shooter 112 and for different training exercises, there may be an optimal time between the shooter 112 shooting the basketball 109 and the shooter 112 receiving the feedback information. System 100 can be designed to allow variable delay times between shots and feedback information to suit the preferences of each shooter 112 using system 100 or to consider different training exercises that can be performed using system 100. For example, fast shooting drills may require a faster feedback time than easier drills (such as a player shooting free throws).
[0154] In another embodiment, system 100 can construct specific training exercises for each individual based on one or more shooting parameters to increase the individual's learning rate and shooting percentage. As an example, if a particular shooting parameter is low (e.g., below a predetermined threshold), system 100 can recommend specific shooting exercises or a set of shooting exercises associated with the shooting parameter and designed to improve such a parameter. In such an embodiment, for each shooting parameter, system 100 can store a list of training exercises or practice programs for improving that parameter, and system 100 can access and report such training or programs when the associated shooting parameter is within a specific range. Because the shooting parameters that need improvement are different for each person, the training exercises and programs will be highly personalized for each shooter 112. Shooting parameter information from system 100 can also help coaches determine which players are best positioned to improve shooting diversity for the team's benefit and / or which training exercises are most beneficial to the majority of players on the team. Information about Shooter 112's shooting parameters and recommended training programs from System 100 can help coaches predict how long a specific training program will take to get the shooter to the next level of ability and what the upper limit of Shooter 112's ability will be.
[0155] In another embodiment, the player performance evaluation system 100 can track the performance of offensive and defensive players and provide a comprehensive training and feedback system to improve their performance. System 100 can determine one or more defensive parameters (in addition to shooting parameters) that indicate defensive understanding of the game and one or more offensive parameters (in addition to shooting parameters) that indicate offensive understanding of the game.
[0156] Analysis software 208 can determine a defender's proficiency relative to a number of different defensive parameter characteristics that provide an indication of defensive understanding of the game. For example, some defensive parameters that can be evaluated by analysis software 208 may include blocking parameters, rebounding parameters, and / or steals. In one embodiment, blocking parameters may include one or more of the following: blocking opportunity (i.e., a shot that can be blocked by the defender), blocking attempt (i.e., a shot that the defender attempts to block), blocked shot, blocking height (i.e., how high the defender is when blocking the shot), blocking speed (i.e., how fast the ball travels after the block), blocking lateral distance (i.e., how far the ball travels after the block), whether the block results in a change of possession (i.e., whether the defending team gains control of the ball 109 or the offensive team retains control of the ball 109 after the block), blocking location (i.e., whether the block occurs in the area near the rim), and whether the defensive player acted illegally (e.g., goaltending) or was called for a foul. In one embodiment, rebounding parameters may include one or more of the following: gaining a face-off rebound, gaining a putback rebound, gaining a rebound against a specific offensive player, separation from the offensive player at the time of rebounding (including separation of body parts), rebound height (i.e., the height at which the ball travels above the rim), rebound speed (i.e., the speed at which the ball travels from the rim), rebound lateral movement (i.e., how far the ball travels from the rim), and / or the position of the defender's body or body parts before attempting to gain a rebound (e.g., during a block). Using any of these or other factors described herein, system 100 may calculate parameters indicative of a defender's proficiency as a defensive player, similar to the techniques described above for assessing a shooter's shooting proficiency.
[0157] The analysis software 208 of system 100 can also track which offensive players a defender is guarding and for how long each defender guards each offensive player. The analysis software 208 can also track (for each offensive player) the separation (including body part separation) between the defender and the offensive player during each dribbling, passing, and shooting movement of the offensive player. The analysis software 208 can also determine the positions of the defender and the offensive player on the moving surface 119 during each offensive movement. The analysis software 208 can provide corresponding categorization information about the defender's performance based on the defender's position on the court (e.g., near the rim, near the three-point line, on the left side of the court, or on the right side of the court). The analysis software 208 can also track the offensive performance (e.g., shooting diversity) of each offensive player guarded by a defender for evaluating the defender's defensive performance.
[0158] In another embodiment, analysis software 208 may determine one or more defensive movements based on a set of corresponding parameters determined by analysis software 208. Each defensive movement, such as a “low sprint forward to steal with both hands,” may be defined as a series or set of defensive characteristics, including various heights, speeds, directions, orientations, accelerations or decelerations, and hand, arm, shoulder, and leg movements with various rotations and / or speeds. Analysis software 208 may use computer vision logic to determine specific defensive characteristics associated with a particular defensive movement, and then identify the type of defensive movement based on the defensive characteristics. Other techniques for detecting defensive movements may be used in other embodiments.
[0159] Analysis software 208 can determine the proficiency of a shooter 112 (or other offensive player) regarding a number of different offensive parameter characteristics that provide an indication of offensive understanding of the game. For example, some offensive parameters of an offensive player that can be evaluated by analysis software 208 may include: shot type (e.g., pull-up shot, close-range shot, catch-and-shoot, or layup), shot variability factor based on shot type (players with higher shot variability factors are harder to defend and increase offensive efficiency for the team), shot scoring type (e.g., pull-up shot, close-range shot, catch-and-shoot, or layup), scoring shot variability based on scoring shot type, shooting parameters for scoring shots and missed shots, rebounding parameters, and / or turnover parameters. In one embodiment, the shooting parameter information may include the shot entry angle, shot landing point, shot position, release speed, separation from the defender at the time of shot release, release height, position of the shooter's body or body part at the time of shot (e.g., the position of the shooter's feet when shooting towards the rim 103), and the defender of the shooter 112. In one embodiment, the rebounding parameters may include: gaining a jump ball rebound, gaining a putback rebound, gaining a rebound against a specific offensive player, separation from the offensive player at the time of rebound (including separation of body parts), rebound height (i.e., the height at which the ball moves above the rim), rebound speed (i.e., the speed at which the ball moves away from the rim), lateral movement of the rebound (i.e., how far the ball moves away from the rim), and / or the position of the defender's body or body part before attempting to gain the rebound (e.g., when blocking). In one embodiment, the fault parameters may include: faults occurring while dribbling (e.g., a defender's steal or the ball or offensive player going out of bounds), faults occurring while passing (e.g., a defender's steal or the ball going out of bounds), whether a violation occurred during an offensive play (e.g., a dribbling violation) or a foul was called against the offensive player, and / or the position of the defender (including body parts) at the time of the fault.
[0160] The analysis software 208 of system 100 can also track which defensive player is guarding shooter 112 (or offensive player) and how long each defender guards the offensive player. The analysis software 208 can also track (for each defensive player) the separation (including separation of body parts) between the defender and the offensive player during each dribbling, passing, and shooting movement of the offensive player. The analysis software 208 can also determine the positions of the defender and the offensive player on the moving surface 119 during each movement. The analysis software 208 can provide corresponding categorization information about the offensive player's performance based on their position on the court. The analysis software 208 can also track the defensive performance (e.g., blocking and steals) of each defender guarding the offensive player for use in evaluating the offensive performance of shooter 112.
[0161] In another embodiment, analysis software 208 can determine one or more offensive movements based on a set of corresponding parameters determined by analysis software 208. Each offensive movement, such as "dribbling the ball to the basket with the left hand," can be defined as a series or set of offensive characteristics, including various heights, speeds, directions, orientations, accelerations or decelerations, and hand, arm, shoulder, and leg movements with various rotations and / or speeds. Analysis software 208 can use computer vision logic to determine specific offensive characteristics associated with a particular offensive movement, and then identify the type of offensive movement based on the offensive characteristics. Other techniques for detecting offensive movements can be used in other embodiments.
[0162] In one embodiment, the analysis software 208 can use computer vision logic to identify the positions of offensive and defensive players' fingers, hands, elbows, shoulders, chest, head, waist, back, thighs, knees, calves, hips, ankles, feet, and / or other body parts in 3D space. Furthermore, once the individual body parts are identified, the analysis software 208 can determine the relative positions of the identified body parts to each other. The analysis software 208 can use information about the players' body positions to evaluate offensive or defensive performance. As an example, based on the relative movement of body parts, the software 208 can identify certain offensive or defensive movements initiated by the players, such as jump shots, lobs, dribbling, hook shots, layups, etc. In another embodiment, because players on the motion surface 119 alternate between offense and defense, the analysis software 208 can specifically identify each player and store corresponding offensive and defensive information for each player.
[0163] In one embodiment, analytics software 208 can be used to identify each player and provide offensive and defensive metrics for each player in real time. Analytics software 208 can also provide information on how each player is used offensively (e.g., as a shooter) and defensively (e.g., as a rim protector). Analytics software 208 can also track and categorize the time players spend on the court during a game (e.g., the start of a game or a quarter, the end of a game or a quarter, or leading or trailing by a predetermined number of points) and provide corresponding offensive and defensive metrics for each player. Analytics software 208 can also track the amount of time players spend on the court and provide corresponding offensive and defensive metrics based on the amount of time spent on the court (e.g., shot attempts per minute, scoring shots, missed shots, turnovers, fouls, or blocks).
[0164] In one embodiment, system 100 can use players' offensive and defensive metrics to provide recommendations on which offensive players should take shots during the game (and against which defensive players) and which defensive players should guard which offensive players. As an example, system 100 can display a player's shot percentage (or other shot parameter) against each defender (i.e., the defender guarding a player against a set of shots with a defined shot percentage). To guard a specific shooter, a coach can select a player who has the lowest shot percentage for that game, half, season, or some other time period. Additionally, system 100 can provide recommendations during the game on when a specific offensive player should take shots or when a specific defensive player should be used to guard that offensive player. For example, system 100 can identify a specific offensive player who has a good shooting performance at the start of a half (or other time period) but a lower shooting performance at the end of a half (or other time period), suggesting that the player play more at the start of the half (in terms of time) and less at the end of the half. System 100 can provide recommendations on specific areas of the court where offensive or defensive players should be positioned. For example, System 100 can identify a specific defensive player who has a good defensive metric when guarding offensive players near the basket, but a lower defensive metric when guarding offensive players further away from the basket, and recommend that the player use that metric to guard offensive players near the basket. System 100 can provide recommendations on the types of shots an offensive player should take (e.g., catch-and-shoot) and the types of shots a defensive player should guard (e.g., layups). In this regard, System 100 can categorize shooting parameters (such as shot percentage) based on shot type, allowing the shooter to determine which type of shot he / she is more likely to succeed. This feedback can be further categorized based on shot location. As an example, feedback could indicate that the shooter has a higher shot percentage for a type of shot near or to the left of the basket and for a different type of shot further away or to the right of the basket. By analyzing the feedback, the shooter can determine which types of shots are more likely to be successful in certain areas of the moving surface.
[0165] In one embodiment, system 100 can be used to assess a player's ability to recover from an injury. As previously described, system 100 can provide shooter 112 with information on his / her shooting performance as he / she recovers from an injury. However, system 100 can also provide comparative information about offensive or defensive players recovering from injuries relative to other players recovering from the same or similar injuries (if system 100 is collecting and storing information about multiple players). For example, system 100 can identify whether most players require a specific amount of recovery time for a particular injury, or based on the recovery time of an individual player's injury. System 100 can also identify whether a particular injury results in a similar decrease in performance among players, or whether any changes in performance are based on an individual player.
[0166] As an example, system 100 can track individual players with the same injury and determine how long it would take for one or more shooting parameters to return to a certain range from the player's pre-injury state. Such information can be useful for coaches to assess how long it takes for a player to recover from an injury. Furthermore, if a player's shooting parameters do not return to such a state in the same average time as other players, it may indicate that the player's injury is more severe than expected, and the player is not training hard enough to recover. In one embodiment, system 100 can use information about recovery time to identify the types of training and exercises that can be used to shorten a player's recovery time. In this regard, system 100 can receive information indicating the type of training or rehabilitation program that individual players are using to recover from the same type of injury. By comparing performance results such as shooting parameters during rehabilitation, system 100 can assess which techniques are more effective in bringing a player closer to his / her pre-injury state. Using such information, system 100 can make recommendations to other players suffering the same or similar injuries. In any case, system 100 can compare a player's shooting parameters with a group of players suffering the same or similar injuries to provide useful information when assessing a player's injury or training techniques or making injury recovery recommendations to players.
[0167] In one embodiment, system 100 may provide a player with an interaction sequence to perform an evaluation of one or more of the player's techniques (e.g., shooting, passing, and / or dribbling). In another embodiment, system 100 may also use the interaction sequence to evaluate a player's performance in specific sub-techniques associated with a technique (e.g., three-point shooting and / or shooting angle of entry and left-handed dribbling and / or dribbling height). Using system 100 in providing the interaction sequence allows teams or coaches to quickly and efficiently determine the value a player can add to the team now and in the future, and to determine how a player's technique (and / or sub-technique) compares to other players. For example, the interaction sequence can be used to evaluate a player's shooting technique (and / or sub-technique). The results from the interaction sequence and the corresponding evaluation of the results by system 100 can provide an indication of a player's current shooting ability (e.g., relative to a standard and / or compared to other players). For example, if a player's average angle of entry is close to a target angle of entry, the results from the interaction sequence can indicate that the player is better than the average shooter in terms of angle of entry (e.g., if the target angle of entry is 45 degrees, an average angle of entry of 44 degrees would indicate a better-than-average shooter). If a player’s average left-right position is further from the center line than the average left-right position of other players, the results from the interaction sequence can also indicate that the player is an below-average shooter in terms of left-right position (e.g., if the average left-right position of other players is ±2 inches, then an average left-right position of +4 inches would indicate that the shooter is below average).
[0168] Furthermore, System 100 can also provide indications of the level of shooting performance a player is likely to achieve in the future, based on the player's strengths and weaknesses. For example, results from an interaction sequence could indicate that the player has a shooting strength in terms of entry angle (e.g., the player's shots have an entry angle of approximately 45 degrees) but a shooting weakness in terms of left and right positioning (e.g., all of the player's shots consistently go to the right). Based on the above assessment, System 100 can conclude that the player's shooting performance is likely to improve in the future because other players with similar weaknesses are able to improve their performance through additional training.
[0169] Figure 19 An embodiment of a process for evaluating a player's performance level in one or more techniques (and / or associated sub-techniques) is illustrated. The process utilizes an interactive sequence that instructs the player to perform a series of actions, enabling system 100 to obtain appropriate data and information to evaluate the player's performance in one or more techniques (and / or sub-techniques). The interactive sequence for evaluating a player's performance in one or more selected techniques (and / or sub-techniques) may include predetermined and adjustment portions. Return to Reference Figure 19The process can begin by (by the user) selecting one or more techniques (and / or sub-techniques) to be evaluated (step 502). As previously described, techniques to be evaluated for a basketball player may include shooting, passing, and / or dribbling, and the evaluation of each technique may include the evaluation of one or more related sub-techniques. For example, the evaluation of a player's shooting technique may include the evaluation of related sub-techniques such as three-point shooting, entry angle, left / right position, depth position, release height, left / right hand shooting, shooting near the basket, and shooting near the baseline of the basketball court. In other embodiments, other basketball-related techniques (and / or sub-techniques) may be evaluated for the basketball player. Furthermore, Figure 19 The process can be used to evaluate one or more skills of a player in a sport other than basketball. For example, it can be used... Figure 19 The process of evaluating a rugby or football player's kicking or passing skills.
[0170] Once the technique to be evaluated is selected, system 100 can select a predefined sequence of actions (corresponding to a predetermined portion of the interaction sequence) to be performed by the player based on the skill (and / or sub-skill) being evaluated (step 504). Actions in the predefined sequence can be selected from a list of predetermined actions associated with each technique to be evaluated. The list of predetermined actions for a technique may include actions that provide information about one or more sub-techniques associated with that technique when the player performs the action. For example, the list of predetermined actions for a shooting technique may include actions for a jump shot behind the three-point line. When the player performs the action, the system can obtain information about the three-point percentage, shot entry angle, shot depth, left and right shot position, release height, etc., which is then used to evaluate the player's shooting performance. The list of predetermined actions may include actions for gathering more general information about the player's performance and actions for gathering specific information about the player's performance. Furthermore, the list of predetermined actions for a technique may include actions that were not selected for or included in the predefined sequence of actions.
[0171] The predefined sequence of actions selected by system 100 to evaluate the performance level of a technique (and / or sub-technique) can be the same each time, regardless of the player being evaluated. In other words, each player receives the same predefined sequence of actions when being evaluated for the same technique (and / or sub-technique). For example, if system 100 is evaluating a player's shooting performance, the predefined sequence of actions provided to each player by system 100 may include instructions to make a predetermined series of shots (e.g., 25 shots) from different positions on the motion surface and / or different distances from the rim 103. If multiple techniques are being evaluated, the predefined sequence may include instructions to make the player perform predetermined actions for each technique being evaluated. When evaluating multiple techniques, the predefined sequence may be arranged to evaluate each technique sequentially and individually (e.g., a player may need to perform a predetermined series of shooting actions, followed by a predetermined series of passing actions). Alternatively, the predefined sequence for evaluating multiple techniques may be arranged such that each sequential action required of the player involves a different technique of the player (e.g., a player may be required to perform a passing action, followed by a dribbling action).
[0172] Once a predefined sequence is selected, system 100 can provide the player with a series of instructions to perform actions included in the predefined sequence. The actions in the predefined sequence can be used to efficiently conduct an initial assessment of the player's performance on the evaluated technique (and / or sub-technique), as the performed actions generate useful information when evaluating rapidly acquired performance, which is necessary because coaches or others have limited time to evaluate the player's technique. In one embodiment, system 100 can provide instructions to perform the actions in the predefined sequence in a predetermined order. However, in other embodiments, system 100 can provide instructions to perform the actions in the predefined sequence in a random order.
[0173] Sensor 212 of system 100 can be used to record one or more parameters indicating a player's performance (e.g., recording trajectory information of a shooting motion). As the player completes a motion from a predefined sequence, system 100 can collect and evaluate data from sensor 212 regarding the recorded parameters (step 506). Once the sensor data has been evaluated, system 100 can make an initial determination about the player's performance (step 508). In one embodiment, the initial determination made by the system can be based on whether system 100 has sufficient information or data to determine (positive or negative) the player's performance on a technique (and / or sub-technique).
[0174] For example, the evaluation of sensor data can indicate that a player's angle of entry for a series of shots falls within a narrow range of angles of entry. Due to the subgrouping associated with the angle of entry, the existence of this narrow range of angles of entry in a series of shots allows system 100 to determine that there is sufficient information to evaluate the player's angle of entry performance. From this subgrouping of angles of entry, system 100 can determine the player's angle of entry control for the shots made. If the narrow range of angles of entry is close to the target angle of entry for the shot made by the player (e.g., 45 degrees), the system can determine that the player has good angle of entry control. Conversely, if the narrow range of angles of entry is outside a predefined range around the target angle of entry, system 100 can determine that the player has poor angle of entry control.
[0175] In another example, the evaluation of sensor data could indicate that a player's entry angles for a series of shots fall within a wide range of entry angles. The existence of a wide range of entry angles leads system 100 to determine that there is insufficient information to evaluate the player's entry angle performance because it prevents system 100 from performing meaningful analysis of entry angle performance (i.e., system 100 will have low confidence in any conclusions drawn about entry angle performance). As will be described in more detail below, system 100 may require additional information about the entry angles associated with the player's shots in order to evaluate the player's entry angle performance with higher confidence. In one embodiment, system 100 may use machine learning techniques to make the initial determination about the player's performance.
[0176] Based on the initial determination made by system 100 from a predefined sequence of actions, system 100 can generate an adjusted sequence of actions for the player (corresponding to the adjusted portion of the interaction sequence) based on the evaluated technique (and / or sub-technique) (step 510). The adjusted sequence of actions may include actions selected by system 100 from a predetermined list of actions for the evaluated technique, enabling system 100 to obtain additional information to allow system 100 to make a better determination about the player's performance level. In one embodiment, system 100 may use machine learning techniques to select actions for the adjusted sequence based on the initial determination about the player's performance.
[0177] When evaluating a player's shooting performance, the adjusted sequence can include additional actions designed to obtain additional information (or samples) for sub-techniques for which initial determination is not possible (e.g., sub-techniques with a wide value range after completing a predefined sequence), but actions designed to obtain information sufficient for initial determination of sub-techniques (e.g., sub-techniques with a narrow value range after completing a predefined sequence) can be omitted. For example, if, after completing a predefined sequence, the player's left-right position and entry angle have narrow value ranges while the depth position has a wide value range, the adjusted action sequence can include actions designed to obtain more information about the depth position, but not actions designed to obtain information about the entry angle or left-right position. Additional actions in the adjusted sequence can be used to obtain sufficient information to determine a player's performance on a sub-technique, or to determine that a player's performance on a sub-technique is too inconsistent to make any performance assessment (e.g., strengths or weaknesses) regarding the sub-technique.
[0178] As the player completes the action from the adjusted sequence, system 100 can collect and evaluate data from sensor 212 regarding recorded parameters (step 512). Once the sensor data has been evaluated, system 100 can determine the player's performance level for the evaluated technique (and / or sub-technique) (step 514) and provide the performance level information to system input / output mechanism 215 for the player or others (e.g., a coach) to view. The determination of the player's performance level for the technique (and / or sub-technique) can include determining whether the player is proficient in the sub-technique associated with the technique relative to predetermined standards of other players and / or techniques, and determining whether the player is inadequate in the sub-technique associated with the technique relative to predetermined standards of other players and / or techniques. For example, a player may be proficient in shooting at the desired entry angle but inadequate in shooting at the desired depth. Furthermore, to provide a determination of the player's performance level for the technique and sub-technique, the system can also provide a confidence level for the determination. For example, if sensor data collected from the interaction sequence and associated with the sub-technology is within a narrow range of values or associated with a compact cluster of data points, system 100 can provide a higher confidence level for determinations made from the data because the players are consistent with that sub-technology. In contrast, if sensor data collected from the interaction sequence and associated with the sub-technology is within a wide range of values or associated with a wide permutation of data points, system 100 can provide a lower confidence level for determinations made from the data because the players are inconsistent with that sub-technology.
[0179] In one embodiment, the predetermined portion of the interaction sequence may be the same for each player being evaluated for each specific technique and / or specific sub-technique. The adjusted portion of the interaction sequence may vary among the evaluated players and is based on the results of the predetermined portion of the sequence. In other words, in response to player performance in the predetermined portion of the interaction sequence, actions in the adjusted portion are selected from a list of predetermined actions for the technique. Actions selected for the adjusted portion may include actions to obtain information about a new sub-technique and / or actions to obtain additional information about the sub-technique evaluated in the predetermined portion.
[0180] In one embodiment, the adjustment portion of the interaction sequence may be repeated several times by system 100 based on the results of previous adjustments and predetermined portions (using the same movements or new movements from a predetermined list of movements) until the system has sufficient information to determine the player's performance level for the selected technique (and / or sub-technique). In other embodiments, the adjustment portion of the interaction sequence may not be necessary if system 100 is able to obtain sufficient information to determine the player's performance level for the selected technique. While the interaction sequence has been described for the evaluation of basketball techniques, it should be understood that the system and interaction sequence can be applied to evaluate a player's performance in other techniques in other sports (e.g., soccer dribbling).
[0181] To help illustrate some of the concepts above, assume that system 100 is used to evaluate a player's skill. Further assume that system 100 has a limited amount of time to monitor a player in order to evaluate his or her skill (e.g., one to two hours). To accurately evaluate a player's skill (e.g., three-point shooting ability) solely based on their shooting percentages would require thousands of shots to achieve the statistical significance and the accuracy needed to predict a player's skill level. Due to the limited time available for monitoring players, it is generally impossible to monitor a player across such a large number of shots. However, using the techniques described herein, it is possible to compare a player's various shooting characteristics with similar shooting characteristics of a large number of players across a large number of shots, thereby achieving a statistically accurate evaluation of a player's skill.
[0182] In this regard, as described in this paper, data can be collected from a large number of shots taken by a large number of players to determine various expected ranges for certain shooting characteristics. For example, by analyzing this data, it can be determined that players who can make multiple shots within a certain range of entry angles and a certain range of deviations generally possess a higher skill level for that shooting characteristic. Therefore, even for a small number of shots of a certain type (e.g., three-point shots or jump shots), if a player's entry angle varies little and if his average entry angle is within a certain range, he will exhibit a high skill level. Specifically, if a player makes multiple shots with relatively small deviations within a certain range of entry angles (e.g., approximately 43 to 45 degrees) (i.e., the entry angles of the shots are closely grouped within this range), then an accurate assessment can be made that the player has a high skill level for the type of shot being analyzed. In this case, System 100 may be able to assess the player's skill with high confidence, even if the player has made a relatively small number of shots (e.g., approximately 10 to 20). In this respect, data from a statistically large number of shots can be used to accurately assess the attributes possessed by a shooter with a certain skill level with high statistical accuracy. Furthermore, small biases are likely a common characteristic of highly skilled shooters, so detecting small biases increases the confidence of skill level assessments even with a limited number of actual shots. Conversely, larger biases can decrease the confidence of assessments, thus requiring more data, such as larger samples (e.g., data from more shots), before assessing a player's skill level for a specific type of technique (e.g., a player's skill level in shooting three-pointers or other types of shots). System 100 can use the assessment confidence based on the player's performance during testing to make dynamic decisions about the sequence of actions indicated by System 100, thereby making more efficient use of the time spent monitoring the player for a range of techniques.
[0183] As an example, suppose system 100 is designed to assess a user's skill level in various techniques, including his three-point shooting technique and his pass-and-shoot technique (i.e., a jump shot within a certain time after receiving a pass). Initially, system 100 can assess a player's skill level in executing three-point shots by instructing the player to perform a sequence of actions used to test the player's technique in three-point shooting. For example, the sequence of actions could include taking a certain number of shots of a certain type from a location on the court (e.g., at the top of the arc within a certain distance of the three-point line).
[0184] When a user performs a shot instructed by a given sequence, system 100 tracks and records the player's shooting characteristics, such as whether each shot is a point or a miss, the angle of entry for each shot, and the shot's landing point relative to the rim. Based on these shooting characteristics, system 100 can assess the player's skill level for the specific type of shot being tested. Furthermore, system 100 can calculate a confidence value for the assessment. For example, as mentioned above, a small deviation in the angle of entry (or other shooting characteristics) can be a factor that can be used to define or increase the confidence level of the assessment. In other embodiments, other factors can be used to determine the confidence level of the assessment. If the confidence level is within a certain range (e.g., above a predefined threshold), system 100 can determine that further testing of the specific skill level being assessed is unnecessary. In this case, system 100 can continue to assess other skills in a similar manner by instructing the player to perform a sequence of actions associated with other skills, such as a catch-and-shoot jump shot.
[0185] However, if the confidence level is outside the aforementioned range, indicating a low confidence level in the system 100's ability to accurately assess a player's skill for the tested shooting type, the system 100 can instead instruct the player to perform additional actions related to the skill being tested. For example, the system 100 can instruct the player to perform more shots of the same type, thereby improving the statistical accuracy of the shooting characteristic, or instruct the player to perform other actions related to the indicated skill, such as shooting from different positions on the court. Generally, obtaining more data about the player's performance on the tested skill should help increase the confidence level of the assessment until it reaches a level indicating that an accurate assessment can be made. At this point, after performing more actions for the tested skill, the system 100 can then instruct the player to perform other actions related to other skills, as described above. Therefore, the sequence of actions instructed by the system 100 can be dynamically selected by the system 100 based on the player's performance or otherwise determined to optimize the use of available monitoring time, making the system 100's assessments on a range of skills more likely to be accurate.
[0186] As will be described in more detail below, machine learning algorithms can be used to evaluate a player's technique. Such machine learning algorithms can receive monitored characteristics (e.g., angle of entry, etc.) as input, and then indicate which actions to instruct based on such input. In some embodiments, the machine learning system can be used to perform technique evaluations and provide a confidence value indicating the confidence level of each evaluation. Based on this feedback from the machine learning algorithm, system 100 can select from a predefined sequence of actions associated with the technique being tested.
[0187] As an example, system 100 may instruct a player to perform a sequence of movements for a specific technique and provide the tracking shooting characteristics for that sequence to a machine learning algorithm. The machine learning algorithm can then evaluate the player's skill level with the tested technique and provide a confidence value for the evaluation. Based on the confidence value, system 100 can determine whether to instruct the sequence of movements for the same technique or a new technique, as described above. Thus, the machine learning algorithm analyzes the results of movements for a specific technique, but the selection of the sequence of movements is performed by a software program (or other control element) that does not utilize machine learning, based on feedback (specifically, the confidence value provided by the machine learning algorithm). In other embodiments, system 100 may use other techniques for using machine learning.
[0188] In one embodiment, system 100 can be used to assess and / or predict player performance based on one or more bioparameters. System 100 can receive information about bioparameters associated with the player from sensor 212. Additionally, system 100 can receive information about bioparameters associated with the player by manually inputting information into the system using input / output mechanism 215 or by transmitting data from another computer or system using device / network communication interface 209. Information about bioparameters associated with the player may include the player's genetic information, microbiome information, physiological information, or psychological information.
[0189] Bioparametric information can be used to assess or predict an athlete's physical performance. Bioparametric information can be used to determine an athlete's performance level by identifying predetermined changes in bioparametric information. For example, a predetermined decrease in a player's oxygen level from an initial oxygen level can indicate that the player is becoming fatigued. In another example, a player's heart rate not increasing from an initial heart rate without a predetermined increase can indicate that the player is not exerting maximum effort. Furthermore, bioparametric information can be used to predict a player's future abilities. For example, a young player's genetic information (or genetic profile) can be used to predict the physical characteristics the player is likely to develop in the future (e.g., height, weight, muscle mass, etc.). In another example, physiological information (e.g., an increase in antibodies in the blood) can be used to determine an immune response from an athlete that can be used to determine whether the athlete is ill and therefore may perform at a reduced level of performance.
[0190] Biometric information can also be used in conjunction with technology-based parameter information (e.g., shooting information) to determine when biometrics influence technology-based parameters, thereby significantly altering player performance. Physiological information from players can be used to determine when significant changes in player performance (e.g., shooting performance, dribbling performance, or other types of game performance) may occur. System 100 can store information about biometrics and performance parameters, allowing for correlation between the two sets of data.
[0191] For example, player fatigue can affect his or her ability to successfully complete certain tasks, such as making one or more types of shots. In this regard, as a player becomes fatigued, the angle of entry for his or her shot may decrease or deviate more from one shot to the next, thus reducing his or her ability to perform the task. In some embodiments, system 100 evaluates a player's skill in performing one or more tasks (e.g., general shooting or making a specific type of shot, such as a three-point shot) based on sensed bio-parameters indicating player fatigue or other biological conditions. System 100 also provides feedback indicating the skill level. As an example, system 100 can provide a value indicating the player's skill level in performing the task, which is adjusted for fatigue or other biological conditions, and use such a value to determine the type of game to run during a game or whether to substitute or allow a player to enter the game. The skill level value can be a value between a minimum and a maximum number, where the lower number represents a lower skill level. In some cases, the value can be a percentage, such as a player's projected shot percentage. Other types of skill level values may be used in other embodiments.
[0192] To perform the aforementioned skill level assessment, system 100 can track players over an extended period during the training phase, simultaneously monitoring player performance (e.g., shooting characteristics, including entry angle, score / miss, shot landing point relative to the rim, etc.) and biometrics. System 100 can correlate each sample (e.g., measured shooting characteristics for each shot) with the biometrics sensed for the player at the time of sampling. To determine a player's skill level for a given fatigue level or other biometric condition, system 100 can use samples captured by system 100 when the player exhibits similar fatigue levels or other biometric conditions. Therefore, as a player's fatigue level or other biometric condition changes, system 100 can provide different assessments of the player's skill in performing one or more tasks. As described above, in some embodiments, machine learning can be used to provide assessments of player skill, although the use of machine learning is unnecessary in other embodiments.
[0193] When using machine learning, various parameters can be input into the machine learning algorithm to evaluate a player's skill. For example, player training data (shooting characteristics and related biometrics) acquired during the training phase can be used to train the machine learning algorithm to learn the player's performance characteristics for various biometric conditions. In some cases, additional information, such as game situation information, can also be used. For example, information indicating clock status (e.g., the amount of time remaining in the game) and the game's score can be included in the player's performance data as another input to the machine learning algorithm. Therefore, each sample used to train the machine learning algorithm can include, for each shot, the measured shooting characteristics, the player's biometrics at the time of the shot, and the game situation information at the time of the shot. System 100 can learn patterns in player performance that can provide accurate predictions of a player's skill level for a given situation in the game. At a given point in time during the game, information indicating the player's biometrics and information about the game situation can be input into the machine learning algorithm, which then provides a skill assessment of the player for that given situation. As an example, System 100 can be used to provide similar assessments for multiple players, and feedback from System 100 can be used by coaches to determine which players should be inserted / removed / out of the game or selected to perform specific tasks, such as taking the game-winning shot at the end of the game. This analysis takes into account how players have previously performed similar tasks under similar fatigue levels or other biological conditions and similar game circumstances.
[0194] Note that various techniques are available for collecting biometric information for training and real-time assessment of skill levels. For example, players may be required to provide bodily samples (e.g., saliva, blood, urine, etc.) to bio-device 140. In some embodiments, players may be asked to spit into a container to provide a saliva sample or prick it with a needle to provide a blood sample; however, in other embodiments, any suitable technique may be used to obtain a bodily sample. The samples provided to bio-device 140 can then be analyzed (either by an analyzer already incorporated into system 100 or by an external source such as a laboratory) to obtain information about the player's biometric parameters. If the analyzer is part of system 100, the results of the sample analysis can be directly transmitted to computer 202 (e.g., via a wired or wireless connection), or if an external source is used to analyze the sample, the results may have to be uploaded to computer 202 (either via manual data entry or via electronic data transmission).
[0195] In another example, bio-device 140 may be a non-invasive sensor worn by the player during a match or training session, or applied to the player while on the bench or during breaks in the match or training sessions when the player is free (e.g., halftime of a match) to obtain bio-parameter information about the player (e.g., heart rate, respiratory rate, blood pressure, oxygen saturation, body temperature, etc.). In one embodiment, bio-device 140 may be used to obtain neurological information about the player, thereby determining the player's neurological state to maximize the player's performance or predict the player's future performance. The non-invasive sensor of bio-device 140 may communicate directly with computer 202 (e.g., via a wired or wireless connection) to provide bio-parameter information to computer 202 for analysis. In other embodiments, bio-parameter information may be obtained by monitoring the player using a remote device. Camera 118 may be used to record the player's movements and motions. Additionally, a microphone or other recording device may be used to record the player's speech and other sounds.
[0196] In one embodiment, microbiome information associated with the collective genome of microorganisms (e.g., bacteria, bacteriophages, fungi, protozoa, and viruses) living inside and on the human body can be analyzed to determine nutritional indicators that can be used to maximize or predict player performance. Similarly, genetic information associated with a player's genes and DNA (deoxyribonucleic acid) can be analyzed to determine a player's physical abilities or limitations that may affect their performance. In another embodiment, a biological phenotype can be developed for a player and used to determine whether the player is able to maximize performance at certain times and / or under certain circumstances during a match or training session.
[0197] Video and / or audio information obtained from camera 118 and / or microphone can be used to determine a user's biometric information. The video and / or audio information can be analyzed by a machine vision system and / or processor 116 to identify player actions or characteristics corresponding to the biometric information. In one embodiment, video information can be used to determine a player's fatigue level. For example, processor 116 can identify variations in a player's handling of the ball (e.g., dribbling, passing, or shooting) or variations in the speed at which a player performs an action (e.g., moving to different areas of the court) from the video information to determine the player's fatigue level. Another example of using video information to determine fatigue levels may involve system 100 detecting variations in the trajectory and / or angle of entry of a shot made by a player and determining the fatigue level from these variations. When a player becomes fatigued, the player's shooting trajectory may become "flat," resulting in a smaller angle of entry for the shot. The correlation between fatigue level and trajectory and / or angle of entry can be based on stored data indicating when variations in trajectory and / or angle of entry correspond to a fatigued player (or other players).
[0198] In another embodiment, a player's anxiety level can be determined from video information. For example, changes in the player's hand placement on the ball or changes in the amount of sweat on the ball can be identified to determine a person's anxiety level. In another example, the amount of sweat a player produces can be determined from biosensor 140 to determine a person's anxiety level. For example, increased sweating from the expected level can indicate that the player has an increased anxiety level.
[0199] In other embodiments, biometric information can be analyzed to determine a player's readiness to enter (or re-enter) a match situation. For example, physiological information, such as information obtained from body samples (e.g., saliva, sweat, or blood samples) or from non-invasive sensors (e.g., body temperature, blood pressure, oxygen saturation, heart rate, etc.), can be used to determine when a fatigued player has rested sufficiently to return to the match situation and perform at an acceptable level. In another example, video information can be analyzed to determine optical information about the player. Optical information may include information about the player's eye dilation or eye movements, which can be used to determine the player's readiness to enter (or re-enter) a match situation. Similarly, information about a player's response time, movements, teamwork, or team interactions can be used to determine when a player should exit and / or enter (or re-enter) a match situation. For example, a decrease in a player's response time or movement during a match situation may indicate that the player is playing at a reduced performance level and should be removed from the match situation. Collected audio information about players can be analyzed to determine whether a player is ready to enter (or re-enter) a match situation. For example, how and / or when players cheer and / or how or when players react to activities in a game situation can indicate a player’s level of engagement, which can indicate a player’s readiness to enter (or re-enter) a game situation.
[0200] In a further embodiment, as briefly described above, biometric information can be used to maximize a player's or team's predicted performance by matching the game situation and a player's current biometric information with stored information about the player's performance in similar game situations with similar biometric information. Some examples of game situations include the game's timing (e.g., two minutes remaining in a quarter, the start of a quarter, the middle of a quarter, etc.) and the defenders of the defending players. For example, system 100 can determine that a player should participate in the game based on a player's biometric information that indicates the player has little fatigue and the game's timing (e.g., halftime), because the player has historically performed well in similar situations. Similarly, system 100 can determine that a player should not participate in the game based on a player's biometric information that indicates the player has some fatigue and the defenders of the defending players, because the player has historically performed poorly in similar situations.
[0201] In yet another embodiment, the biometric information stored by system 100 for a player can be controlled by the player, allowing certain biometric information to be released to fans, medical personnel, other teams, etc., for other purposes. For example, a player can release certain biometric information to their fan base, allowing fans to compare their own biometric information with the player's. In another example, a player can release biometric information to independent medical personnel (e.g., doctors) who may have been asked to assess the player's physical or mental condition.
[0202] In one embodiment, system 100 may be used to automatically control equipment used during the game (e.g., scoreboard 220, time clock 218, and / or shot clock 216) and / or automatically track and / or update player and / or team information (e.g., game score and / or individual and / or team statistics) during the game. Previously, a "scoreboard operator" was responsible for operating the equipment, and a "scorekeeper" was responsible for recording game information. The "scoreboard operator" typically observes actions during the game and takes appropriate manual actions in response to events occurring during the game (e.g., operating the mechanism to start / stop the clock or operating the mechanism to update the scoreboard). The "scorekeeper" also observes actions during the game and manually records statistics and other information related to events occurring during the game. The manual tasks performed by the "scoreboard operator" and "scorekeeper" may be performed inconsistently (e.g., the delay between stopping the time clock and triggering the stop action may vary significantly (up to tenths of a second or even several seconds)) and / or inaccurately (e.g., stopping the clock for a missed shot (instead of a scoring shot) or attributing actions such as a missed shot to the wrong person). This results in sometimes difficult and time-consuming corrections that must be performed to maintain the required level of accuracy in the game. For example, if the time clock does not stop at the appropriate time, the game may have to be stopped for proper correction (e.g., updating the time on the time clock), which can disrupt the natural flow of the game. In contrast, using images (or other sensor readings) captured by System 100 and the information and parameters generated by System 100 from the captured images (or other sensor readings), System 100 can perform the same actions as the "scoreboard operator" and "scorekeeper" with greater consistency (e.g., the same game event causes System 100 to take the same action) and accuracy (e.g., fewer misidentifications). In one embodiment, system 100 can execute these actions quickly enough to avoid any interference with the game (e.g., the system can determine the actions in less than 0.1 seconds).
[0203] In one embodiment, scoreboard 220 may display the score of each team participating in the game (and possibly other information), time clock 218 may display a predefined portion of the game (e.g., a quarter or half), and shot clock 216 may display the remaining time for players to attempt shots during the game. In some embodiments, time clock 218 and / or shot clock 216 may be combined within scoreboard 220. In other embodiments, more than one scoreboard 220, time clock 218, and / or shot clock 216 may be placed around the motion surface 119 used for the game. For example, in a basketball game, system 100 may automatically reset the shot clock 216 of the game (e.g., set the shot clock 216 to a predetermined time, such as 24 seconds or 14 seconds) when system 100 determines that the basketball has scored a shot (i.e., passed through the rim) or the basketball has made contact with the rim. In addition, system 100 can control the game's time clock 218 (e.g., start and / or stop time clock 218) in response to the determination of a specific game action (e.g., a scoring shot, the ball going out of bounds, or a player touching the ball after time clock 218 has stopped) and / or a specific game situation (e.g., the game on time clock 218 is less than 2 minutes).
[0204] System 100 can also automatically track and / or update team and / or personal information and / or statistics during the game, and store the information in one or more corresponding records or files in memory. For example, System 100 can track and / or update the game score by determining whether a shot scored, the location of the shot, and the type of shot (e.g., a three-pointer, free throw, or two-pointer). System 100 can also update the game score displayed by the scoreboard 220 by determining the time of the shot, determining the appropriate value of the scoring shot based on the location and type of shot, and providing a signal or instruction to the scoreboard 220 to change the value determined by the team that scored the shot. System 100 can also automatically track and / or update the score of an individual player during the game by determining the player who made the scoring shot, the location of the shot, and the type of shot. In addition to determining the scoring shots of players and / or teams, System 100 can also determine the total number of shots (or specific shot types) taken by players and / or teams and the total number of missed shots (or specific shot types) taken by players and / or teams.
[0205] In another embodiment, system 100 may track and / or update other information and / or statistics about the game for teams and / or individuals. System 100 may determine the occurrence of specific game actions or events (e.g., offensive rebounds, defensive rebounds, total rebounds, assists, blocks, steals, fouls, drawn fouls, turnovers, etc.) and track and / or update information related to each action or event for players or teams. System 100 may determine when a specific game action or event occurred in real time (e.g., within a predetermined time period after the action occurred), near real time (e.g., beyond the predetermined time period but still within the game), or later (e.g., after the game has ended). In one embodiment, the predetermined time period for which system 100 determines the action or event may be 0.1 seconds or less. In another embodiment, system 100 may also use the tracked and / or updated information determined by system 100 to generate the game's frame score.
[0206] Figure 20 An embodiment of a process for tracking and / or updating information or control devices during a game is illustrated. The process begins by capturing multiple images or sensor readings of actions or events occurring during the game (step 1002). In one embodiment, the multiple images can be captured using at least one camera 118 or other type of sensor positioned around the motion surface 119. The camera 118 can capture images of actions or events (e.g., shooting) as previously described herein. Once images of the action or event are captured, the system 100 can analyze the captured images and determine one or more parameters associated with the action or event (step 1004), including identifying the player performing the action or participating in the event. In one embodiment, when the action is a shooting, the system 100 can determine parameters associated with the shooting, such as shooting trajectory, left / right position of the shot, depth of the shot, shooting position, angle of entry of the shot, type of shot, etc., as previously described herein. In one embodiment, when the action or event occurs, the system 100 can also determine the time on the game's time clock 218 by analyzing the captured images or using other suitable techniques. Once the system 100 determines the parameters associated with the action or event, the system 100 can analyze the parameters from the action or event and generate one or more indicators based on the determined parameters from the action or event (and other data associated with the action or event, such as captured images) (step 1006).
[0207] In one embodiment, when the action taken is a shot, the system 100 may generate one or more indicators based on the determined shooting parameters. Figure 21 An embodiment of a process for generating one or more indicators associated with a player taking a shot is shown. In one embodiment, when the captured action is a shot, Figure 21 The process can be used to extract from Figure 20 Step 1006 of the process generates an indicator, but in other embodiments... Figure 21 The process can also be used to generate indicators for other applications. Figure 21 The process can begin with system 100 receiving the determined shooting parameters and the captured image (or other sensor readings or data) associated with the shot (step 1102). System 100 can then determine whether the shot resulted in the ball contacting the rim (step 1104).
[0208] In one embodiment, system 100 can determine whether a shot resulted in the ball contacting the rim (step 1104) by analyzing captured images associated with the shot and / or by analyzing trajectory information associated with the shot. System 100 can determine ball contact by analyzing captured shot images (e.g., a top view of the rim) to: identify the ball and / or the rim in the captured images; and determine whether there is space between the ball and the rim in the captured images. If system 100 determines that there is no space between the ball and the rim in at least one of the captured images, then system 100 can determine that the shot has contacted the rim. Alternatively, system 100 can determine ball contact by analyzing shot trajectory information to: determine the position of the ball relative to the rim; determine whether the position of the ball is within the area occupied by the rim; identify any changes in the shot trajectory; identify any changes in the ball's rotation speed or axis of rotation; and determine whether the position of the ball is within the area occupied by the rim and whether the shot trajectory has changed. If system 100 determines that the shooting trajectory has changed and the ball's position is within the area occupied by the rim (unlike when the ball's position is within other parts of the rim, such as the backboard), system 100 can determine that the shot has contacted the rim. In a further embodiment, system 100 can determine ball contact with the rim using one technique (e.g., analyzing a captured shooting image) and then confirm the initial determination using another technique (e.g., determining the change in shooting trajectory when the ball's position is within the area occupied by the rim). By requiring two separate determinations based on different techniques before determining ball contact with the rim, system 100 can exhibit increased accuracy and confidence in making a determination about ball contact with the rim.
[0209] Return to reference Figure 21If system 100 determines that the shot has touched the rim, system 100 can generate one or more "rim contact" indicators (step 1106), which can be used to control the game equipment and / or tracking information, as described in more detail below. System 100 can then determine (or predict) whether the shot resulted in a scoring basket based on the shooting parameters and the captured image (step 1108). In one embodiment, system 100 can use trajectory information and visual indicators (from the captured image) to determine whether a scoring basket has occurred. System 100 can determine whether a scoring basket has occurred by analyzing the trajectory information to determine whether the trajectory of the shot resulted in the ball passing through the rim. In one embodiment, system 100 can predict whether the ball will pass through the rim by analyzing trajectory information before the ball reaches the rim. After determining the ball's trajectory leading to its crossing of the rim, system 100 can then analyze the captured image to determine when one or more predetermined criteria (e.g., a predetermined portion of the ball passing a predetermined point associated with the rim, or a predetermined portion of the ball entering a predetermined area associated with the rim, or a predetermined portion of the ball entering a predetermined area associated with the rim plus a set safety measure time) are met, clearly indicating that a basket has been scored. By associating the basket determination with predetermined criteria, system 100 can avoid erroneous and incorrect basket determinations due to abnormal movements of the ball around the rim, such as the ball hovering along the inner edge of the rim and then exiting from the top of the rim. Furthermore, determining the basket based on predetermined criteria allows the system to consistently determine the precise moment when a basket occurs, for situations requiring such determination (e.g., to stop the time clock near the end of the game).
[0210] In one embodiment, the organization responsible for the rules of the game may establish predetermined standards before the game for the predetermined position of the ball, predetermined points associated with the rim, and the amount of safety measure time added to determine the specific time when a shot across the rim is a scoring shot. In one embodiment, the predetermined point may be the midpoint of the net between the top of the rim, the bottom of the rim, the bottom of the net, the bottom of the backboard, the bottom of the rim and the bottom of the net (i.e., the top of the net), or a point corresponding to a predetermined distance measured from any of the points listed above (e.g., 6 inches below the bottom of the basketball hoop). In another embodiment, the predetermined portion of the ball may be the top of the ball, the bottom of the ball, the center of the ball, the midpoint of the ball between the top of the ball and the center of the ball, or the midpoint of the ball between the bottom of the ball and the center of the ball. In a further embodiment, the amount of safety measure time to be added may be 0.01 seconds, or 0.05 seconds, or 0.1 seconds, or other suitable amount of time. In one embodiment, any combination of the predetermined point associated with the rim, the predetermined portion of the ball, or the amount of predetermined safety measure time to be added from those listed above may be selected as a predetermined standard to indicate when a scoring shot has occurred. In other embodiments, other criteria may be used to determine when a shot scores.
[0211] The following will be about Figures 22A-22C Examples of how system 100 can determine a scoring basket are provided. When a player shoots, system 100 can determine the trajectory of the shot and the shot's landing point relative to the rim based on analysis of a captured image. Based on the trajectory information and the shot's landing point, system 100 can then determine whether the ball will pass through, is passing through, or has already passed through the rim. In one embodiment, system 100 can determine whether the shot's landing point is within the "guaranteed scoring zone" determined by system 100 based on the trajectory information as described above. In response to the determination that the shot's landing point is within the "guaranteed scoring zone," system 100 can determine (or predict) that the ball will pass through, is passing through, or has already passed through the rim. If the shot's landing point is not within the "guaranteed scoring zone," system 100 can then determine whether the shot's landing point is within the "dirty scoring zone" as described above, which indicates whether the ball will pass through, is passing through, or has already passed through the rim after contacting the rim and / or backboard. If System 100 determines that the shot lands outside the "guaranteed scoring zone" or "dirty scoring zone", then System 100 can determine that the ball did not cross the rim and the shot will be a miss or has already been missed.
[0212] exist Figure 22A In the image, the trajectory of the ball 109, thrown by the athlete towards the rim 103 (with a corresponding backboard 151), is shown by the dotted line T. Although in Figure 22A Not shown in the diagram, but the shot's landing point can be within the "guaranteed scoring zone" determined by system 100 based on trajectory information. Because... Figure 22A The trajectory T of the shot shown is determined by system 100 to cause the ball 109 to pass through the rim 103, so system 100 can then analyze the captured image to determine when a predetermined portion of the ball 109 passes through a predetermined point associated with the rim 103. Figures 22A-22C In the illustrated embodiment, system 100 may use the following exemplary criteria to determine the scoring basket: a predetermined portion of the ball may be the top of the ball 109; and a predetermined point associated with the rim 103 may be the bottom of the rim 103. As described above, system 100 may use other predetermined portions of the ball and other predetermined points associated with the rim 103 to determine when a scoring basket occurs.
[0213] System 100 can analyze the captured images, which can correspond to Figures 22A-22C The view shown is used to identify the ball 109 (and a predetermined portion of the ball 109) and the rim 103 in the captured image. After identifying the ball 109 and the rim 103 in the captured image, the system 100 can determine when the predetermined portion of the ball 109 passes through a predetermined point associated with the rim 103. When analyzing with... Figure 22A and 22BWhen analyzing the captured image corresponding to the view shown, the system 100 does not determine a score basket because the top of the ball 109 is above the rim 103. However, when analyzing the image corresponding to... Figure 22C When capturing the image of the view shown, the system 100 can make a scoring basket determination because the top of the ball 109 is below the bottom edge of the rim 103.
[0214] In another embodiment, system 100 can determine a scoring basket by using multiple camera views to determine when the ball passes through the rim and / or a predetermined portion of the ball has passed through the rim. For example, system 100 can use an overhead camera view (i.e., a view showing the top of the rim) to determine that the ball will pass through the rim. Alternatively, system 100 can use a pair of cameras showing opposite sides of the rim to determine that the ball will pass through the rim by determining that the rim is in front of a portion of the ball (i.e., obscured) in both images from the opposing cameras. System 100 can use one (or more) cameras to show a side (or front) view of the rim to determine that a predetermined portion of the ball has passed a predetermined point associated with the rim.
[0215] Return to reference Figure 21 If system 100 determines that the shot has resulted in a score, system 100 may generate one or more "score" shot indicators (step 1110), which may be used to control the game equipment and / or tracking information, as described in more detail below. If system 100 determines that the shot has resulted in a miss (i.e., not a score), system 100 may then generate one or more "miss" shot indicators (step 1112), which may be used to control the game equipment and / or tracking information, as described in more detail below.
[0216] Return to reference Figure 20System 100 may use the generated indicators, possibly along with other information obtained by System 100 from captured actions or events, to track and / or update information about players and / or teams and / or control devices used in the game (step 1008). System 100 may process the generated indicators to generate control signals or instructions for the shot clock 216, time clock 218, or scoreboard 220 based on a device control algorithm. The device control algorithm may generate specific control signals or instructions in response to the reception of a particular indicator and, in some embodiments, the satisfaction of one or more additional criteria associated with the indicator. Similarly, System 100 may process the generated indicators to generate control signals or instructions that may update player and / or team information or statistics in memory based on a game statistics control algorithm. The game statistics control algorithm may generate specific control signals or instructions in response to the reception of a particular indicator, the identification of the player and / or team to which the particular indicator belongs, and, in some embodiments, the satisfaction of one or more additional criteria associated with the indicator to update information in the player and / or team's memory.
[0217] For example, if system 100 receives a "contact with rim" indicator, the system can generate a control signal to set (or reset) the shot clock 216 to a predetermined amount of time. In one embodiment, system 100 can determine the predetermined amount of time associated with the control signal by determining whether a "change of control" has occurred and also by analyzing captured images to identify the ball and / or one or more players in possession of the ball. As described above, system 100 can determine that a "change of control" has occurred by determining that a scoring shot has taken place, or if a shot has missed, that the defending team has gained control of the ball. In one embodiment, if system 100 determines that a "change of control" has occurred, a first predetermined amount of time (e.g., 24 seconds) can be used, or if system 100 determines that a "change of control" has not occurred, a second predetermined amount of time (e.g., 14 seconds) can be used.
[0218] In another example, if system 100 receives a “score” shot indicator, system 100 can generate a control signal for scoreboard 220 to increase the score of the team that scored the shot (determined by system 100 through analysis of captured images or other information). In one embodiment, system 100 can determine the amount of increase to scoreboard 220 by determining the shot location (as described above) and assigning a specific point value (e.g., 2 or 3 points) based on the shot location. Furthermore, if system 100 does not receive a “contact the rim” indicator, system 100 can generate a control signal to set (or reset) the shot clock 216 to a predetermined amount of time based on the received “score” shot indicator. If system 100 also determines that certain game criteria have been met (e.g., less than 2 minutes of play), system 100 can also generate a control signal to stop the time clock 208 in response to the “score” shot indicator. System 100 can also use the “score” shot indicator to generate instructions to update information and / or statistics associated with the player and / or team that scored the shot in memory.
[0219] In yet another example, if system 100 receives a "missed" shot indicator, system 100 may generate instructions to update information and / or statistics in memory associated with the player and / or team that missed the shot. Furthermore, if system 100 does not receive a "contact with rim" indicator, and if system 100 also determines that a change in ball control has occurred, system 100 may generate a control signal to set (or reset) the shot clock 216 to a predetermined amount of time. Updates to information about scoring or missed shots by teams and / or individuals may also include instructions to update other information associated with the determined shooting parameters of the shot.
[0220] For other actions, system 100 can use the generated indicators to generate control commands to update team and / or personal information regarding that action (e.g., defensive rebound) and update corresponding information associated with the determined action parameters of that action. In addition to updating information for other actions for teams and / or individuals, the generated indicators can also be used to control equipment used during the game. For example, if system 100 generates an indicator indicating that a player has touched the basketball after time clock 218 has stopped, system 100 can generate a control signal to start time clock 218 in response to the "contact" indicator. In one embodiment, the "contact" indicator can be generated by system 100 by analyzing captured images to identify the player and the ball and then determining when a portion of the player in the image touched the ball. Similarly, other indicators can be generated based on system 100's analysis of captured images, which can lead to the generation of control signals that can start or stop time clock 218. For example, a "foul" indicator can be generated by system 100 analyzing captured images to identify the referee, then determining when the referee makes a movement indicating a foul has occurred (e.g., by raising his arm at least a predetermined amount) and / or by detecting when a whistle sounds. System 100 can generate control signals in response to a "foul" indicator stop time clock 218.
[0221] In another embodiment, system 100 may generate control signals to activate indicators for a human operator (e.g., a scorer or scoreboard operator) to notify them of an action that should occur (e.g., operating the scoreboard, time clock, or shot clock, or updating game-related statistics or information). By providing indicators to the operator, system 100 can enhance the duties performed by the human operator while still allowing the human operator to apply their judgment to specific situations. The control signals generated by system 100 for the human operator may activate visual indicators (e.g., activating indicator lights), auditory indicators (e.g., providing tone or computer-generated voice to headphones worn by the person), and / or physical indicators (e.g., vibration of a device worn by the person or providing other physical stimuli). For example, upon receiving a “touch the rim” indicator, system 100 may generate a control signal to activate a “reset shot clock” light on the scoreboard controller for the scoreboard operator. In another embodiment, system 100 may generate control signals to provide the operator with a prompt to confirm the expected action that system 100 will take. For example, if system 100 receives a “score shot” indicator, system 100 can generate a prompt to the human operator indicating that system 100 intends to update the score on the scoreboard, stop the time clock, or reset the shot clock. The human operator can then “accept” the expected action and system 100 will automatically perform the action, or “reject” system 100’s expected action and perform the action manually (or take no action). This acceptance or rejection can be indicated by manual input from the operator, such as pressing a button or toggling a switch. In a further embodiment, if the operator does not respond to the prompt from system 100 within a predetermined time period (e.g., 1 or 2 seconds), system 100 can automatically perform the expected action without operator input.
[0222] Note that this type of interaction between a human and a system can enable the system to perform in a more reliable and accurate manner than could be achieved through completely manual or fully automatic control. For example, in the case of stopping a time clock after a successful shot, while human verification of the shot's success after a few seconds of observation is highly reliable, the timing of the decision to stop the clock precisely may be less accurate. In this situation, system 100 can automatically detect the successful shot using any of the techniques described herein and mark the precise moment the shot was scored (according to the criteria used to determine the successful shot). If the operator confirms the successful shot, system 100 can update or otherwise control the time clock to indicate the precise time marked by system 100 at the moment the shot was scored.
[0223] In such an embodiment, system 100 can continuously track the time elapsed after the point at which a shot is considered a score. If a human operator provides input indicating that the shot did not actually score, system 100 can update or otherwise control the time clock to indicate the correct time of play in the absence of a score. For example, when system 100 detects a score, it can initially stop the time clock. If the human operator determines that the shot did not actually score, system 100 automatically adjusts the time clock to indicate the time as if it had never been stopped by system 100 in response to a false detection of a score. In another example, the system can allow the time clock to continue running temporarily after a score is detected. If the human operator later confirms that the shot was scored (e.g., after being notified of a score by positive input or no input), system 100 can update the time clock to indicate the time marked when the shot was considered a score. For example, if the time clock is at 10.2 seconds when a basket is scored, and the human operator confirms that the basket was indeed scored when the time clock indicates 8.1 seconds (assuming the clock is counting down), then the time clock can be adjusted to indicate 10.2 seconds.
[0224] In any embodiment, the precise time of a shot score determined by system 100 is indicated by a time clock after the shot is scored, and the score is confirmed by a human operator some amount of time (e.g., a few seconds) after the shot is observed, following system 100's recognition of the shot as a score. Such embodiments allow a human operator to spend additional time confirming that a shot was indeed scored after it has been scored, while still precisely indicating the exact moment when the actual shot score was determined by system 100. Similar techniques can be used to precisely mark the occurrence of events while allowing manual confirmation of the event after a period of time, such as resetting the shot clock.
[0225] Similar techniques can also be used for confirmation of events, such as a scored shot, provided by system 100, regardless of whether manual confirmation of the event is provided. As an example, once system 100 determines that an event has occurred, such as a scored shot, system 100 can continue to evaluate the shot and eventually make a more accurate determination of the event's occurrence. System 100 can then automatically update the clock appropriately to indicate the precise time the event occurred. As an example, after making an initial determination that a shot was scored, system 100 can make a determination by further evaluating that the shot actually missed. In this case, system 100 can update the time clock to indicate the correct time, as if the determination of a scored shot had never occurred. Alternatively, system 100 can allow the time clock to continue running for a short period after a scored shot is detected, and then adjust the time clock to the precise time of the scored shot after later confirmation that the shot was indeed scored. By way of example only, if a score is considered to have occurred once the center of the ball passes through the rim, system 100 can mark the time when the center of the ball is at or just below the rim, but can update the time clock once another part of the ball, such as the top of the ball, passes through (e.g., below) the rim. In other embodiments, other techniques can be used to precisely indicate the time of an event based on information collected after the event has occurred.
[0226] In one embodiment, system 100 may be part of a larger data aggregation system that collects and processes player performance information from multiple systems 100. Figure 15 An embodiment of a data aggregation system 300 is illustrated. The aggregation system 300 may include a server 350 connected to multiple systems 100 via a network 340. When each system 100 collects player performance information (e.g., shooting parameter information) from a game or from practice and / or training sessions, system 100 may provide this information to server 350. In one embodiment, system 100 may automatically provide player performance information to server 350 according to a predetermined schedule (e.g., once daily or upon completion of a game or training session) or when a predetermined amount of information (e.g., 5 gigabytes or 1000 records) has been collected. In another embodiment, server 350 may automatically request information from system 100 at predetermined times or in a predetermined order. In yet another embodiment, an operator of system 100 may manually initiate the provision (or uploading) of information to server 350.
[0227] In one embodiment, network 340 may be the Internet and communication may be conducted via Transmission Control Protocol / Internet Protocol (TCP / IP). However, in other embodiments, network 340 may be an intranet, a local area network (LAN), a wide area network (WAN), a near field communication (NFC) peer-to-peer network, or any other type of communication network using one or more communication protocols.
[0228] Figure 16 An embodiment of server 350 is illustrated. Server 350 can be implemented as one or more general-purpose or special-purpose computers, such as laptop computers, handheld devices (e.g., smartphones), user-wearable devices (e.g., "smart" glasses, "smart" watches), user-embedded devices, desktop computers, or mainframe computers. Server 350 may include logic 360, referred to herein as "device logic," for generally controlling the operation of server 350, including communicating with system 100 of data aggregation system 300. Server 350 also includes logic 362, referred to herein as "knowledge management system," for examining and processing information from system 100, and scheduling logic 363 for managing the reservations of system 100 for use by individuals or teams. Device logic 360, scheduling logic 363, and knowledge management system 362 may be implemented using software, hardware, firmware, or any combination thereof. Figure 16 In the server 350 shown, device logic 360, scheduling logic 363, and knowledge management system 362 are implemented in software and stored in the memory 366 of the server 350. Note that when implemented in software, device logic 360, scheduling logic 363, and knowledge management system 362 can be stored and transmitted on any non-transitory computer-readable medium for use by or in conjunction with an instruction execution device that can obtain and execute instructions.
[0229] Server 350 may include at least one conventional processor 368 having processing hardware for executing instructions stored in memory 366. As an example, processor 368 may include a central processing unit (CPU), a digital signal processor (DSP), a graphics processing unit (GPU), and / or a quantum processing unit (QPU). Processor 368 communicates with and drives other components within server 350 via a local interface 370, which may include at least one bus. Furthermore, input interfaces 372, such as a keypad, keyboard, "smart" glasses, a "smart" watch, a microphone, or a mouse, can be used for user input of data from server 350, and output interfaces 374, such as a printer, speaker, "smart" glasses, a "smart" watch, a "direct-to-brain" system, a "direct-to-retina" system, a monitor, a liquid crystal display (LCD), or other display devices, can be used for outputting data to the user. Additionally, communication interfaces 376 can be used to exchange data with system 100 via network 340, such as... Figure 15 As shown.
[0230] The knowledge management system 362 can use performance information (including stadium / team / individual performance information) obtained from one system 100 and analyze it by comparing it with large-scale or aggregated performance information collected from all systems 100 (including stadium / team / individual performance information). In one embodiment, the knowledge management system 362 can analyze performance data 378 from system 100 to determine the most effective practice and individual training methods in building winning teams or developing top players. For example, the knowledge management system 362 can compare the practice and training methods used by very successful teams with those used by less successful teams to identify practice and training methods that can be used to improve team performance. In another example, the knowledge management system 362 can compare shooting drills between highly skilled shooters, moderately skilled shooters, and inexperienced or less skilled shooters to identify shooting drills or practice / training methods that can be used to develop a player's shooting ability. Additionally, similar to the techniques described above for developing training recommendations for injury recovery, system 100 can track the training techniques used by players and evaluate the performance improvement of one or more techniques on a specific shooting parameter to determine which training technique (e.g., shooting parameter) has the greatest impact on that shooting parameter. When a specific shooting parameter is within a certain range (e.g., below a predetermined threshold) or when the user provides input indicating that a player wants to improve a certain shooting parameter, the system 100 can then recommend techniques that have historically had the greatest impact on other players for that specific shooting parameter. Similar techniques can be used as needed for other types of performance parameters, such as ball handling or defensive parameters.
[0231] In another embodiment, the knowledge management system 362 can analyze performance data 378 from system 100 to determine the most effective practice methods and individual training methods for correcting offensive or defensive parameter deficiencies. For example, the knowledge management system 362 can compare the practice and training methods used by a shooter 112 with a low entry angle to identify those practices and training methods that lead to an improvement in the shooter's entry angle. In another example, the knowledge management system 362 can compare the practice and training methods used by shooters with common lateral position deficiencies for a particular shot (e.g., baseline shooting to the left) to identify the practice and training methods that lead to an improvement in the shooter's lateral position for that particular shot.
[0232] The knowledge management system 362 can also analyze performance data 378 from the system to determine the most effective practice and individual training methods for developing new techniques for players or improving the overall speed of player development. For example, the knowledge management system 362 can compare the practice and training methods used by players to develop behind-the-back dribbling skills to identify those practices and training methods that enable players to develop behind-the-back dribbling quickly and effectively.
[0233] like Figure 16 As shown, evaluation data 382 and performance data 378 can be stored in memory 366 of server 350. Performance data 378 may include performance information about the stadium / team / individual acquired by each system 100 and provided to server 350. In another embodiment, performance data 378 may also include information about training exercises, courses, and / or programs that have been used with the various systems 100. For example, performance data 378 may include information about courses used for technical training (e.g., shooting drills, rebounding drills, dribbling drills, defensive drills, blocking drills, etc.), offensive group training (i.e., how to most effectively teach new tactics), or coordination training.
[0234] In one embodiment, for privacy concerns, performance data 378 may be anonymized by system 100 before being provided to server 350, or by server 350 upon receiving information from system 100. In another embodiment, a portion of performance data 378 may not be anonymized (e.g., performance data 378 obtained from a match), while the remainder of performance data 378 may be anonymized (e.g., performance data 378 obtained from practice or training sessions). The unanonymized portion of performance data 378 may be attributed to an individual player and / or team. Performance data 378 (attributed and anonymized performance data 378) may be processed by device logic 360 and / or knowledge management system 362 to generate evaluation data 382. In one embodiment, knowledge management system 362 may generate evaluation data 382 by aggregating performance data 378 from system 100 (including attributed and anonymized performance data 378) and analyzing the aggregated information to identify information that can be used to improve the performance of players and / or teams. In another embodiment, the knowledge management system 362 can generate evaluation data 382 by aggregating anonymized performance data 378 and then analyzing the attribution performance data 378 from the aggregated and anonymized performance data 378 from the system 100 to generate insights into how a player or team will perform in the future.
[0235] Evaluation data 382 may include data and information obtained from the knowledge management system 362 as a result of processing and analyzing performance data 378. Evaluation data 382 may include aggregated performance information associated with one or more offensive and / or defensive parameters and aggregated training information associated with one or more training / practice methods used by teams and / or individuals. The aggregated information may be categorized based on individual players, teams, courses (e.g., high school courses including varsity teams, senior varsity teams, freshman teams, etc.), regions (e.g., one or more states, counties, cities, etc.), leagues / conferences, organizations (e.g., Amateur Athletic Association (AAU)), genetic traits (e.g., human genome), and any other suitable or desired classification. Evaluation data 382 may also include training information on “correct” offensive and / or defensive techniques, such as charts and videos, which may be provided to system 100 for use by individuals using system 100. Evaluation data 382 may include one or more test procedures based on “correct” forms of offensive and / or defensive techniques, which can be used to evaluate user performance.
[0236] Scheduling logic 363 can provide a scheduling portal for third parties to reserve facilities (e.g., stadiums or sports fields) for individual use with the corresponding system 100. Users or administrators of system 100 (or system 100 itself) can provide information to server 350 (and scheduling logic 363) regarding the date / time the facility was used (or, when the facility became available). In one embodiment, facility availability information may be included together with performance data provided by system 100 to server 350. However, in other embodiments, system 100 may provide availability information separate from performance data.
[0237] Then, scheduling logic 363 can use availability information from system 100 to determine the date / time when the facility becomes available to a third party. Once scheduling logic 363 determines when the facility becomes available to a third party, the third party can use the scheduling portal to determine the facility's availability and reserve it for his / her use. The scheduling portal can also be used to collect any information required to complete the third party's reservation (e.g., contact information, insurance information, intended use, etc.) and payment before the third party can use the facility. Once the reservation is completed, scheduling logic 363 can push an update to system 100, providing the time the third party will use the facility, the information required from the third party to complete the reservation, and payment information. In another embodiment, scheduling logic 363 can also send notifications to users or administrators of system 100 to inform them of the third party's reservation.
[0238] Third parties can use the scheduling portal to search for available facilities (if more than one facility has provided availability information) and the available time of the facilities. Additionally, the scheduling portal can provide images of the facilities to the third party using the system 100's camera 118 before the third party makes a reservation. In one embodiment, the third party can decide to use the system 100 at the facility during the reservation period, or to disable the system 100 while the third party is using the facility. In another embodiment, facilities without the system 100 can also provide availability information to the server 350 for use by the scheduling logic 363.
[0239] In one embodiment, as described above, the analysis software 208 can implement a machine learning system to evaluate player performance. The machine learning system can receive sensor / camera data 205 and / or other information or data stored in memory 207 as input and generate an output indicating player performance. The output of the machine learning system can then be used to determine the player's performance. In one embodiment, the output of the machine learning system can be a probability value, such that the higher (or lower) the value from the machine learning system, the greater the probability that the player will perform at a higher level relative to other players.
[0240] The machine learning system can evaluate multiple parameters associated with a player's movements to generate an output. These parameters may correspond to those provided by the analysis software 208 (e.g., parameters indicating the shooting trajectory), but may also include "self-generated" parameters from the machine learning system. These self-generated parameters can be determined by nodes in a neural network that implements a deep learning process to improve the output. The self-generated parameters may be based on information or data from one or more of the sensor / camera data 205 or memory 207.
[0241] Before using machine learning to evaluate a player's movements, a machine learning system can be trained. Training a machine learning system can involve feeding it a large number of inputs (e.g., thousands or more) to train it to learn parameters that indicate player performance. As an example, any type of sensor described herein (e.g., a camera) can be used to capture historical data associated with a player (and / or other players) making a large number of shots, and this data can include raw sensor data and / or processed sensor data, such as parameters measured from the sensor data (e.g., trajectory parameters or body motion parameters). Analysis software 208 implementing the machine learning system can analyze such data to learn parameters that indicate performance. In the context of a neural network, the learned parameters can be defined by values stored in the nodes of the neural network used to transform the input into the desired output. In this way, the machine learning system can learn which performance characteristics are likely to indicate good performance, such as an entry angle within the expected range, and evaluate the parameters indicating such characteristics to assess player performance. The machine learning system can also learn which characteristics indicate a high degree of confidence in evaluating player technique. For example, a machine learning system can determine that an assessment based on a certain characteristic (e.g., angle of entry) is likely to have higher confidence or accuracy when the sample of that characteristic is within a certain range or has a certain range of bias. For example, the smaller the bias of a shooting characteristic, the more likely the system 100 is to accurately reflect the player's actual technique for that shooting characteristic in the sample of shooting characteristic.
[0242] Machine learning can be used to implement the concepts described above or similar to those described above for non-machine learning embodiments. For example, as mentioned above, certain trajectory parameters can indicate good performance when they are within certain ranges. When the analysis software 208 implements a machine learning system, it can learn the necessary parameters such that when the trajectory parameters are within the range indicating good performance, the output of the machine learning system indicates that the player is performing at a good level.
[0243] In some embodiments, the machine learning system implemented by the analysis software 208 can be trained using a large amount of shooting data (or other types of actions) taken by multiple users. During training, the machine learning system can be configured to learn parameters that indicate performance characteristics that may result in good or poor performance. These parameters may be based on the trajectory of the object launched by the player or the player's body motion while launching the object (or performing another type of action).
[0244] A variety of different wired and wireless communication protocols can be used to transmit information between different components in a system. For example, for wired communication, hardware communication interfaces and protocols that are USB-compatible, FireWire-compatible, and IEEE 1394-compatible can be used. For wireless communication, hardware and software compatible with standards such as Bluetooth, IEEE 802.11a, IEEE 802.11b, IEEE 802.11x (e.g., other IEEE 802.11 standards such as IEEE 802.11c, IEEE 802.11d, IEEE 802.11e, etc.), IrDA, WiFi, and HomeRF can be used.
[0245] Although the foregoing invention has been described in detail by way of illustration and examples for purposes of clarity and understanding, it should be recognized that the foregoing invention can be embodied in many other specific variations and implementations without departing from the spirit or essential characteristics of the invention. Certain changes and modifications may be made, and it should be understood that the invention is not limited to the foregoing details, but is defined by the scope of the appended claims.
Claims
1. A system for evaluating player performance, comprising: At least one sensor is used to capture an image of a player making a basketball shot, in which the player throws the basketball toward the basket; At least one processor programmed with instructions that, when executed by the at least one processor, cause the at least one processor to: Analyze the image to determine the trajectory of the basketball during the shot. Based on the determined trajectory, a first position or direction is determined, and the player shoots the basketball from the first position or direction. Based on the determined initial position or direction, a reference point is selected to evaluate the player's performance in basketball shooting. Based on the image, determine the second position of the basketball along the trajectory. Determine the distance of the second position from the reference point. Based on the distance, performance information is provided, which indicates the player's performance on a basketball shot; and An output mechanism configured to display the performance information, wherein the displayed performance information includes a first value based on the distance, a first region color-coded based on the distance, or a graphic element having a shape controlled based on the distance, wherein the performance information defines a map of a basketball court surface divided into multiple regions, and wherein the first value, the first region, or the graphic element of the displayed performance information: (1) is located in one of the multiple regions on the map corresponding to a first position from which the player throws the basketball; and (2) indicates the left-right position of the basketball shot or the average left-right position of multiple basketball shots made by the player at a position corresponding to the first region of the multiple regions.
2. The system according to claim 1, wherein, The displayed performance information includes the first value, and wherein the first value or the first region is color-coded in the displayed performance information based on the distance.
3. The system according to claim 1, wherein, One of the plurality of regions is further controlled to indicate the angle of entry of the basketball shot, the average angle of entry of the plurality of basketball shots, or the percentage of the projection of the plurality of basketball shots.
4. The system according to claim 1, wherein, When the instruction is executed by the at least one processor, the at least one processor causes the at least one processor to: Determine whether a basketball shot scores based on the image. The displayed performance information indicates whether a basketball shot has been scored.
5. The system according to claim 4, wherein, When the instruction is executed by the at least one processor, the at least one processor causes the at least one processor to: A second value is calculated based on whether a basketball shot is determined to be a point. This second value indicates the player's performance when making the multiple basketball shots. The displayed performance information includes the second value or a second region that is color-coded based on the second value.
6. The system according to claim 5, wherein, The displayed performance information includes the second value.
7. The system according to claim 5, wherein, The second value indicates the average of the multiple basketball shots that were determined to be the score.
8. A method for evaluating player performance, comprising: At least one sensor is used to capture an image of a player performing a basketball shot, in which the player throws the basketball toward the basket; The image is analyzed using at least one processor to determine the trajectory of the basketball during the shot. Using the at least one processor, a first position or direction is determined based on the determined trajectory, from which the player throws the basketball for a basketball shot; Using the at least one processor, a reference point is selected based on the determined first position or direction for evaluating the player's performance on a basketball shot. Using the at least one processor, a second position of the basketball along the trajectory is determined based on the image. Determine the distance of the second position from the reference point. Using the at least one processor, based on the distance, performance information indicative of a player's performance in basketball shooting is provided; and The performance information is displayed using an output mechanism, wherein the displayed performance information includes a first value based on the distance, a first region color-coded based on the distance, or a graphic element having a shape controlled based on the distance, wherein the performance information defines a map of the motion surface of a basketball court divided into multiple regions, and wherein the first value, the first region, or the graphic element (1) of the displayed performance information is located in one of the multiple regions on the map corresponding to a first position from which the player shoots the basketball; and (2) indicates the left and right position of the basketball shot or the average left and right position of multiple basketball shots taken by the player from a position corresponding to the first region of the multiple regions.
9. The method according to claim 8, wherein, The displayed performance information includes the first value, and wherein the first value or the first region is color-coded in the displayed performance information based on the distance.
10. The method of claim 8, further comprising controlling one of the plurality of regions to indicate the angle of entry of the basketball shot, the average angle of entry of the plurality of basketball shots, or the percentage of the projection of the plurality of basketball shots.
11. The method of claim 8, further comprising: Using the at least one processor, determine whether a basketball shot has scored based on the image. The displayed performance information indicates whether a basketball shot has been scored.
12. The method of claim 11, further comprising: Using the at least one processor, a second value is calculated based on whether a basketball shot is determined to be a point, the second value indicating the player's performance when making the plurality of basketball shots. The displayed performance information includes the second value or a second region that is color-coded based on the second value.
13. The method according to claim 12, wherein, The displayed performance information includes the second value.
14. The method according to claim 12, wherein, The second value indicates the average of the multiple basketball shots that were determined to be the score.