PORTABLE DRILL INSTRUCTOR FOR A SPORT

Abstract
A method for portable drill instruction for a sport can include: capturing a live video of a player of the sport in a venue for the sport playing a ball launched from a ball machine during a training drill for the player conducted in the venue; determining in response to the live video whether or not the player satisfies a training goal of the training drill when playing the ball; and providing a real-time feedback to the player during the training drill that indicates to the player whether or not the training goal is satisfied.
Description
BACKGROUND

A player of a sport can improve their skills by playing balls launched from a ball machine. For example, a tennis player can use a ball machine to launch tennis balls aimed at exercising their forehand, backhand, etc. In another example, a baseball player can use a ball machine to launch baseballs aimed at exercising various aspects of their batting skills. A player can evaluate their own performance by using their own vision to tell whether or not a desired training goal is achieved, e.g., whether or not a tennis stroke lands in an intended area of a tennis court or whether or not a baseball when hit lands in a desired area of the outfield.


SUMMARY

In general, in one aspect, the invention relates to a portable drill instructor for a sport. A portable drill instructor according to the invention can include: a camera that captures a live video of a player of the sport in a venue for the sport playing a ball launched from a ball machine during a training drill for the player conducted in the venue; a computing mechanism that in response to the live video determines whether or not the player satisfies a training goal of the training drill when playing the ball; and a feedback mechanism that provides a real-time feedback to the player during the training drill that indicates to the player whether or not the training goal is satisfied.


In general, in another aspect, the invention relates to a method for portable drill instruction for a sport. The method can include: capturing a live video of a player of the sport in a venue for the sport playing a ball launched from a ball machine during a training drill for the player conducted in the venue; determining in response to the live video whether or not the player satisfies a training goal of the training drill when playing the ball; and providing a real-time feedback to the player during the training drill that indicates to the player whether or not the training goal is satisfied.


Other aspects of the invention will be apparent from the following description and the appended claims.





BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings and in which like reference numerals refer to similar elements.



FIG. 1 shows a portable drill instructor for a sport in one or more embodiments.



FIGS. 2A-2B and 3A-3C show examples of training goals of a portable drill instructor in one or more embodiments.



FIG. 4A shows an embodiment of a portable drill instructor that adapts a training drill in response to whether or not a training goal is satisfied.



FIG. 4B shows an embodiment of a portable drill instructor that adapts a training drill in response to a set of health data pertaining to a player.



FIG. 4C shows an embodiment of a portable drill instructor that includes a user interface mechanism.



FIG. 5 shows an embodiment in which a portable drill instructor conducts a training drill for multiple players.



FIG. 6 shows an embodiment in which a portable drill instructor conducts a training drill for a player by launching balls from multiple ball machines.



FIG. 7 shows a portable drill instructor embodied in a mobile device that uploads live video to the cloud and that obtains viewer feedback via the cloud.



FIG. 8 illustrates how a portable drill instructor analyzes live video in one or more embodiments.



FIG. 9 illustrates a method for portable drill instruction for a sport in one or more embodiments.



FIG. 10 illustrates a computing system upon which portions of the present invention can be implemented.





DETAILED DESCRIPTION

Reference will now be made in detail to the various embodiments of the present disclosure, examples of which are illustrated in the accompanying drawings. Like elements in the various figures are denoted by like reference numerals for consistency. While described in conjunction with these embodiments, it will be understood that they are not intended to limit the disclosure to these embodiments. On the contrary, the disclosure is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the disclosure as defined by the appended claims. Furthermore, in the following detailed description of the present disclosure, numerous specific details are set forth in order to provide a thorough understanding of the present disclosure. However, it will be understood that the present disclosure may be practiced without these specific details. In other instances, well-known methods, procedures, components, have not been described in detail so as not to unnecessarily obscure aspects of the present disclosure.



FIG. 1 shows a portable drill instructor 100 for a sport in one or more embodiments. The portable drill instructor 100 includes a camera 110 that captures a live video 112 of a player 120 of the sport in a venue 130 for the sport playing a ball 150 launched from a ball machine 140 during a training drill 154 for the player 120 conducted in the venue 130. The portable drill instructor 100 includes a computing mechanism 160 that in response to the live video 112 determines whether or not the player 120 satisfies a training goal 156 of the training drill 154 when playing the ball 150, and a feedback mechanism 172 that provides a real-time feedback 174 to the player 120 during the training drill 154 that indicates to the player 120 whether or not the training goal 156 is satisfied.


Examples of the real-time feedback 174 include audio feedback, visual feedback, haptic feedback, etc. In one or more embodiments, a particular sound indicates to the player 120 that the training goal 156 is satisfied while a different particular sound indicates that the training goal 156 is not satisfied.


In one or more embodiments, the feedback mechanism 172 generates synthesized speech indicating whether or not the training goal 156 is satisfied. In some embodiments, the synthesized speech includes a motivational aspect, e.g., “good shot”, “missed”, “third straight miss”, “you're on a roll”, etc.


In one or more embodiments, the feedback mechanism 172 employs an audio subsystem in the portable drill instructor 100, e.g., internal speaker and amplifier. In other embodiments, the feedback mechanism 172 employs an external speaker, earphones, or other device worn by the player 120 using, e.g., via Bluetooth communication.


In one or more embodiments, the real-time feedback 174 informs the player 120 of a recommended corrective action. Examples of a corrective action using synthesized speech include “hold your racquet higher”, “keep your head steady”, “you're hands are too close to your body”, etc.


The portable drill instructor 100 in one or more embodiments is implemented as a mobile app adapted for a particular sport, e.g., tennis, table tennis, baseball, football, soccer, etc., for a mobile device, e.g., a smartphone, tablet, etc. A user, e.g., the player 120, mounts the mobile device in a suitable position with respect to the venue 130, e.g., behind a baseline of a regulation tennis court, behind a baseball batting cage, etc., so that a camera in the mobile device captures the flight of the ball 150 and the movements of the player 120.


The portable drill instructor 100 conducts the training drill 154 to train the player 120 in any one or more aspects of the particular sport. In a tennis embodiment, for example, the training drill 154 can train the player 120 to hit forehands, backhands, cross-court shots, volleys, service returns, overheads, etc. In a baseball embodiment, the training drill 154 can train the player 120 to hit fastballs, curveballs, pitches in various locations, pulling the ball, hitting to the opposite field, etc.


The training goal 156 can pertain to any aspect of how the player 120 plays the ball 150 launched from the ball machine 140, e.g., where the ball 150 lands after being hit by the player 120, the flight of the ball 150 after being hit by the player 120, the positions and movements of a racquet, bat, etc., used by the player 120 to play the ball 150, positions and movements pertaining to the body of the player 120, e.g., hand and arm positions and movements, footwork, position and movement, etc. In the following, for purposes of illustration, the positions and movements pertaining to the player 120 and the ball 150 and the relevant objects involved in the particular sport and layout and features of the venue 130 are represented in a three-dimensional (3D) space 132 above a surface of the venue 130.



FIG. 2A shows an example of the training goal 156 specifying that the ball 150 should land in an area 282 on a surface of a tennis court 230 after being hit by the player 120. A training goal specifying the area 282 may be appropriate for cross-court forehand or down-the-line backhand drills for a right-handed player positioned as shown.



FIG. 2B shows an example of the training goal 156 specifying that the ball 150 should land in an area 284 on a surface of the tennis court 230 after being hit by the player 120. The area 284 may be appropriate for down-the-line forehand or cross-court backhand drills for a right-handed player positioned as shown.



FIG. 3A shows an example of the training goal 156 specifying that the ball 150 when hit by the player 120 should fly through a region 382 above a net 234 of the tennis court 230. FIG. 3B shows an example of the training goal 156 specifying that the ball 150 should fly through a region 384 above the net 234 after being hit by the player 120. FIG. 3C shows an example of the training goal 156 specifying that the ball 150 should fly through a region 386 above the net 234 near its center after being hit by the player 120.



FIG. 4A shows an embodiment of the portable drill instructor 100 in which the computing mechanism 160 adapts the training drill 154 in response to whether or not the training goal 156 is satisfied. In one or more embodiments, the computing mechanism 160 adapts the training drill 154 by selecting a new training goal 456 for the training drill 154 or repeating the training goal 156 depending on whether or not the training goal 156 is satisfied.


For example, if the training goal 156 for a cross-court forehand is satisfied, the computing mechanism 160 can switch the new training goal 456 to a cross-court backhand and adjust the ball machine 140 to launch the next ball for a cross-court backhand. On the other hand, if the training goal 156 for a cross-court forehand is not satisfied, the computing mechanism 160 can cause the ball machine 140 to launch the next ball for another cross-court forehand. In one or more embodiments, the computing mechanism 160 causes the ball machine 140 to repeatedly launch balls for, e.g., cross-court forehands until a threshold percentage of the return trajectories satisfy the training goal 156 before moving on to other skills.


In one or more embodiments, the ball machine 140 is controllable by the portable drill instructor 100, e.g., using wireless communication, e.g., Bluetooth, Wi-Fi, etc., so that the computing mechanism 160 controls how balls are launched, e.g., direction and speed of launch.



FIG. 4B shows an embodiment of the portable drill instructor 100 in which the computing mechanism 160 adapts the training drill 154 in response to a set of health data 460 pertaining to the player 120. The health data 460 can include current blood pressure, heart rate, body temperature readings, etc., acquired in real-time from a wearable device worn by the player 120.


In one or more embodiments, the computing mechanism 160 increases or decreases the intensity of the training drill 154 in response to the health data 460 depending on whether the player 120 is working too hard or not working hard enough or is missing too many of the training goals, etc., by adjusting how the ball machine 140 launches balls at the player 120 during the training drill 154. For example, the computing mechanism 160 can adapt a set of training parameters 470 for the training drill 154 that control the duty cycle of the ball machine 140, how the player 120 is moved around the venue 130 during the training drill 154, e.g., from side to side along the baseline in tennis, etc.



FIG. 4C shows an embodiment of the portable drill instructor 100 that includes a user interface mechanism 490. The interface mechanism 490 generates one or more user interfaces, e.g., via a touchscreen of a mobile or wearable device, that enable the player 120 to select modes and parameters for the training drill 154. In addition, the user interface mechanism 490 can display statistics of how well the player 120 performed during the training drill 154.



FIG. 5 shows an embodiment in which the portable drill instructor 100 conducts a training drill 554 for multiple players, in this example a pair of players 520-1 and 520-2, e.g., doubles partners, each playing a respective ball (not shown) launched from a ball machine 540 during the training drill 554. The portable drill instructor 100 analyzes live video of the training drill 554 to determine whether or not each player 520-1 and 520-2 when playing the respective ball satisfies a respective training goal of the training drill 554.



FIG. 6 shows an embodiment in which the portable drill instructor 100 conducts a training drill 654 for a player 620 by launching respective balls from a set of ball machines, e.g., a pair of ball machines 640-1 and 640-2. For example, the ball machines 640-1 and 640-2 can be positioned for exercising different skills of the player 620. The computing mechanism 160 in the portable drill instructor 100 analyzes live video of the training drill 654 to determine whether or not the player 620 when hitting the respective ball from each ball machine 640-1 and 640-2 satisfies a respective training goal of the training drill 654.



FIG. 7 shows the portable drill instructor 100 embodied in a mobile device 700 that includes a communication mechanism 760 that enables internet communication. The mobile device 700 uploads the live video 112 to a cloud-based storage system 770. The mobile device 700 in turn receives a real-time viewer feedback 790 from a viewer 782 who watches the live video 112 via the cloud-based storage system 770 using a client device 780.


The mobile device 700 in one or more embodiments uses the feedback mechanism 172 to relay the real-time viewer feedback 790 to the player 120. For example, the viewer 782 may be a coach or a friend who views the live video 112 via the cloud and verbally coaches or encourages the player 120 remotely.


The mobile device 700 in one or more embodiments adapts the training drill 154 in response to the real-time viewer feedback 790. For example, the viewer 782 may be a coach who views the live video 112 via the cloud and adjusts the training drill 154 to the training needs of the player 120, e.g., by increasing or decreasing shot tempo or emphasizing particular drills, e.g., forehand cross-courts, etc.



FIG. 8 illustrates how the computing mechanism 160 analyzes the live video 112 in one or more embodiments. The computing mechanism 160 includes a neural network 860 that extracts 3D properties, e.g., a 3D property 870, from the live video 112 in real-time. Examples of the 3D property 870 include a 3D position in the 3D space 132 of the ball 150, 3D positions and orientations of arms, legs, feet, racquet, etc., of the player 120, etc.


In one or more embodiments, the neural network 860 is trained to correlate particular arrangements of pixels in the image frames of the live video 112 to the 3D property 870. For example, the neural network 860 is trained to correlate one particular arrangement of pixels to one particular 3D position of the ball 150 and to correlate another particular arrangement of pixels to another particular 3D position of the ball 150.


A series of 3D positions of the ball 150 extracted from the live video 112 by the neural network 860 indicate a flight of the ball 150 in the 3D space 132. Likewise, a series of extracted 3D positions/orientations of the racquet held by the player 120 indicate how the player 120 strokes the ball 150 through the 3D space 132


The neural network 860 is trained using a set of acquired training data 850. The training data 850 includes sets of 2D training videos and corresponding 3D measurements of relevant objects captured during a set of prior training events. The acquired timestamped 2D training images and timestamped 3D sensor measurements are used to iteratively train a set of model parameters of the neural network 860. The model parameters can include, e.g., node structure parameters and weights of connections among the nodes.



FIG. 9 illustrates a method for portable drill instruction for a sport in one or more embodiments. While the various steps in this flowchart are presented and described sequentially, one of ordinary skill will appreciate that some or all of the steps can be executed in different orders and some or all of the steps can be executed in parallel. Further, in one or more embodiments, one or more of the steps described below can be omitted, repeated, and/or performed in a different order. Accordingly, the specific arrangement of steps shown in FIG. 9 should not be construed as limiting the scope of the invention.


At step 910, a live video is captured of a player of a sport in a venue for the sport playing a ball launched from a ball machine during a training drill for the player conducted in the venue. At step 920, whether or not the player satisfies a training goal of the training drill when playing the ball is determined in response to the live video. At step 930, a real-time feedback is provided to the player during the training drill that indicates to the player whether or not the training goal is satisfied.



FIG. 10 illustrates a computing system 1000 upon which portions of the portable drill instructor 100, e.g., the model trainer for the neural network 860, can be implemented. The computing system 1000 includes one or more computer processor(s) 1002, associated memory 1004 (e.g., random access memory (RAM), cache memory, flash memory, etc.), one or more storage device(s) 1006 (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory stick, etc.), a bus 1016, and numerous other elements and functionalities. The computer processor(s) 1002 may be an integrated circuit for processing instructions. For example, the computer processor(s) may be one or more cores or micro-cores of a processor. The computing system 1000 may also include one or more input device(s), e.g., a touchscreen, keyboard 1010, mouse 1012, microphone, touchpad, electronic pen, or any other type of input device. Further, the computing system 1000 may include one or more monitor device(s) 1008, such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device), external storage, input for an electric instrument, or any other output device. The computing system 1000 may be connected to a network (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) via a network adapter 1018.


While the foregoing disclosure sets forth various embodiments using specific diagrams, flowcharts, and examples, each diagram component, flowchart step, operation, and/or component described and/or illustrated herein may be implemented, individually and/or collectively, using a range of processes and components.


The process parameters and sequence of steps described and/or illustrated herein are given by way of example only. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various example methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.


While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments may be devised which do not depart from the scope of the invention as disclosed herein.

Claims
  • 1. A portable drill instructor for a sport, comprising: a camera that captures a live video of a player of the sport in a venue for the sport playing a ball launched from a ball machine during a training drill for the player conducted in the venue;a computing mechanism that in response to the live video determines whether or not the player satisfies a training goal of the training drill when playing the ball; anda feedback mechanism that provides a real-time feedback to the player during the training drill that indicates to the player whether or not the training goal is satisfied.
  • 2. The portable drill instructor of claim 1, wherein the computing mechanism determines whether or not the player satisfies the training goal by detecting a motion of the ball played by the player.
  • 3. The portable drill instructor of claim 1, wherein the computing mechanism determines whether or not the player satisfies the training goal by detecting a movement pertaining to the player when playing the ball.
  • 4. The portable drill instructor of claim 1, wherein the real-time feedback informs the player of a recommended corrective action.
  • 5. The portable drill instructor of claim 1, wherein the computing mechanism adapts the training drill in response to whether or not the training goal is satisfied.
  • 6. The portable drill instructor of claim 1, wherein the player is one of a plurality of players each playing a respective ball launched from the ball machine during the training drill such that the computing mechanism in response to the live video determines whether or not each player satisfies a respective training goal of the training drill when playing the respective ball.
  • 7. The portable drill instructor of claim 1, wherein the ball machine is one of a plurality of ball machines each launching a respective ball during the training drill such that the computing mechanism in response to the live video determines whether or not the player when playing each respective ball satisfies a training goal of the training drill.
  • 8. The portable drill instructor of claim 1, wherein the computing mechanism adapts the training drill in response to a set of health data pertaining to the player.
  • 9. The portable drill instructor of claim 1, further comprising a communication mechanism that uploads the live video to a cloud-based storage system and that receives a real-time feedback from a viewer of the live video such that the feedback mechanism provides the real-time feedback from the viewer to the player.
  • 10. The portable drill instructor of claim 1, further comprising a communication mechanism that uploads the live video to a cloud-based storage system and that receives a real-time feedback from a viewer of the live video such that the computing mechanism adapts the training drill in response to the real-time feedback from the viewer.
  • 11. A method for portable drill instruction for a sport, comprising: capturing a live video of a player of the sport in a venue for the sport playing a ball launched from a ball machine during a training drill for the player conducted in the venue;determining in response to the live video whether or not the player satisfies a training goal of the training drill when playing the ball; andproviding a real-time feedback to the player during the training drill that indicates to the player whether or not the training goal is satisfied.
  • 12. The method of claim 11, wherein determining comprises determining whether or not the player satisfies the training goal by detecting a motion of the ball played by the player.
  • 13. The method of claim 11, wherein determining comprises determining whether or not the player satisfies the training goal by detecting a movement pertaining to the player when playing the ball.
  • 14. The method of claim 11, wherein providing a real-time feedback comprises providing a real-time feedback that informs the player of a recommended corrective action.
  • 15. The method of claim 11, further comprising adapting the training drill in response to whether or not the training goal is satisfied.
  • 16. The method of claim 11, wherein the player is one of a plurality of players each playing a respective ball launched from the ball machine during the training drill and further comprising determining in response to the live video whether or not each player satisfies a respective training goal of the training drill when playing the respective ball.
  • 17. The method of claim 11, wherein the ball machine is one of a plurality of ball machines each launching a respective ball during the training drill and further comprising determining in response to the live video whether or not the player when playing each respective ball satisfies a training goal of the training drill.
  • 18. The method of claim 11, further comprising adapting the training drill in response to a set of health data pertaining to the player.
  • 19. The method of claim 11, further comprising uploading the live video to a cloud-based storage system and obtaining a real-time feedback from a viewer of the live video and providing the real-time feedback from the viewer to the player.
  • 20. The method of claim 11, further comprising uploading the live video to a cloud-based storage system and obtaining a real-time feedback from a viewer of the live video and adapting the training drill in response to the real-time feedback from the viewer.