Jump shot and athletic activity analysis system
First Claim
Patent Images
1. A computer program product for video analysis of a basketball jump shot, the computer program product comprising:
- a plurality of processor-executable instructions configured for processing video data, the video data comprising a plurality of frames of a person performing the basketball jump shot, the instructions being resident on a non-transitory computer-readable storage medium and being configured, upon execution by a processor, to;
determine a frame of the video data that depicts a body position of the person in a phase of the basketball jump shot, wherein the phase comprises a member of the group consisting of (1) a base phase, (2) a frame phase, (3) a release phase, (4) a follow-through phase, and (5) a finish phase;
process pixels in the determined frame to determine a body position for the person within the determined frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the determined frame;
receive input indicative of a size and shooting hand for the person;
define a reference skeleton for the basketball jump shot phase in response to the received input such that the reference skeleton is scaled for the person'"'"'s size and shooting hand;
compare the determined body position in the determined frame with the reference skeleton; and
determine a deviation between the determined body position and the reference skeleton based on the comparison operation.
1 Assignment
0 Petitions
Accused Products
Abstract
Techniques where a computer or mobile device performs video analysis of a person performing a physical activity are described. The computer or mobile device performs video analysis based on one or more reference skeletons. The reference skeleton may be superimposed over captured video of the person performing the physical activity or compared to a generated player skeleton based on the captured video to determine derivation from the reference skeleton in the physical activity performed by the person.
64 Citations
40 Claims
-
1. A computer program product for video analysis of a basketball jump shot, the computer program product comprising:
a plurality of processor-executable instructions configured for processing video data, the video data comprising a plurality of frames of a person performing the basketball jump shot, the instructions being resident on a non-transitory computer-readable storage medium and being configured, upon execution by a processor, to; determine a frame of the video data that depicts a body position of the person in a phase of the basketball jump shot, wherein the phase comprises a member of the group consisting of (1) a base phase, (2) a frame phase, (3) a release phase, (4) a follow-through phase, and (5) a finish phase; process pixels in the determined frame to determine a body position for the person within the determined frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the determined frame; receive input indicative of a size and shooting hand for the person; define a reference skeleton for the basketball jump shot phase in response to the received input such that the reference skeleton is scaled for the person'"'"'s size and shooting hand; compare the determined body position in the determined frame with the reference skeleton; and determine a deviation between the determined body position and the reference skeleton based on the comparison operation. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
23. A method for video analysis of a basketball jump shot, the method comprising:
processing video data, the video data comprising a plurality of frames of a person performing the basketball jump shot, wherein the processing step comprises; a processor determining a frame of the video data that depicts a body position of the person in a phase of the basketball jump shot, wherein the phase comprises a member of the group consisting of (1) a base phase, (2) a frame phase, (3) a release phase, (4) a follow-through phase, and (5) a finish phase; the processor processing pixels in the determined frame to determine a body position for the person within the determined frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the determined frame; the processor comparing the determined body position in the determined frame with a reference skeleton for the phase of the basketball jump shot phase; the processor determining a deviation between the determined body position and the reference skeleton based on the comparing step; maintaining a database that associates a plurality of different types of deviations for the basketball jump shot phases with data representative of an explanation regarding each deviation type; classifying the determined deviation as a deviation type from among a plurality of different types of deviations; analyzing the database to map the determined deviation to the explanation data associated with the classified deviation type for the determined deviation; and communicating the associated explanation data to a user to facilitate coaching of the person'"'"'s basketball jump shot.
-
24. An apparatus for video analysis of a basketball jump shot, the apparatus comprising:
a processor configured for processing video data, the video data comprising a plurality of frames of a person performing the basketball jump shot, wherein the processor is configured to; determine a frame of the video data that depicts a body position of the person in a phase of the basketball jump shot, wherein the phase comprises a member of the group consisting of (1) a base phase, (2) a frame phase, (3) a release phase, (4) a follow-through phase, and (5) a finish phase; process pixels in the determined frame to determine a body position for the person within the determined frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the determined frame; compare the determined body position in the frame with a reference skeleton for the basketball jump shot phase; determine a deviation between the determined body position and the reference skeleton based on the comparison operation; repeat the frame determination operation, the processing operation, the comparison operation, and the deviation determination operation for a plurality of basketball jump shots by the person such that a plurality of deviations are determined with respect to a plurality of the basketball jump shots based on the repeated operations, wherein the deviations correspond to a plurality of different types of deviations; maintain data indicative of whether the basketball jump shots went through a basketball hoop; build a database associated with the basketball jump shots, the database including the determined deviations for the basketball jump shots and data indicative of which of the basketball jump shots went through the basketball hoop; analyze the database to correlate the determined deviations for the basketball jump shots with respect to the data indicative of whether the basketball jump shots went through the basketball hoop; and classify at least one of the determined deviation types as being an outcome-determinative deviation type based on the correlations of the determined deviations with the data indicative of whether the basketball jump shots went through the basketball hoop. - View Dependent Claims (25, 26)
-
27. A system comprising:
-
a camera configured to generate a plurality of image frames of a person performing a basketball jump shot; a memory; and a processor for cooperation with the camera and the memory, the processor configured to; receive the image frames from the camera; process pixels of the image frames to determine and identify which of the image frames is representative of a crest of a jump by the player for the basketball jump shot in the release phase; process pixels in the identified image frame to determine a body position for the person within the identified image frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the identified frame; compare the determined body position to a release phase reference body position; determine whether the person demonstrated a deviation from the release phase reference body position while performing the basketball jump shot as a result of the comparison operation; and in response to a determination that the person demonstrated the deviation, store data representative of the deviation in the memory. - View Dependent Claims (28, 29)
-
-
30. A system comprising:
-
a camera configured to generate a plurality of image frames of a person performing a basketball jump shot; a memory; and a processor for cooperation with the camera and the memory, wherein the processor is configured to; receive the image frames from the camera; process pixels of the image frames to determine and identify which of the image frames is representative of the player in a frame phrase of the basketball jump shot and preparing to execute the basketball jump shot such that the player is on his or her toes but not yet in the air; process pixels in the identified image frame to determine a body position for the person within the identified image frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the identified frame; compare the determined body position with a frame phase reference body position; determine whether the person demonstrated a deviation from the frame phase reference body position while performing the basketball jump shot based on the comparison operation; and in response to a determination that the person demonstrated the deviation, store data representative of the deviation in the memory.
-
-
31. A system comprising:
-
a camera configured to generate a plurality of image frames of a person performing a basketball jump shot; a memory; and a processor for cooperation with the camera and the memory, wherein the processor is configured to; receive the image frames from the camera; process pixels of the image frames to identify an image frame that depicts the person in a frame phase of the basketball jump shot; process pixels in the identified image frame to determine a body position for the person within the identified image frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the identified frame; compare the determined body position with a frame phase reference body position; determine based on the comparison whether the elbow corresponding to the player'"'"'s shooting hand is flared out relative to the frame phase reference body position; and in response to a determination that the elbow corresponding to the player'"'"'s shooting hand is flared out relative to the frame phase reference body position, (1) determine that an error corresponding to an elbow flare out exists, (2) store data representative of the error in the memory, and communicate the determined error to a user to facilitate coaching of the person'"'"'s basketball jump shot. - View Dependent Claims (32)
-
-
33. A computer program product for video analysis of a basketball jump shot, the computer program product comprising:
a plurality of processor-executable instructions configured for processing video data, the video data comprising a plurality of frames of a person performing the basketball jump shot, the instructions being resident on a non-transitory computer-readable storage medium and being configured, upon execution by a processor, to; determine a frame of the video data that depicts a body position of the person in a phase of the basketball jump shot, wherein the phase comprises a member of the group consisting of (1) a base phase, (2) a frame phase, (3) a release phase, (4) a follow-through phase, and (5) a finish phase; process pixels in the determined frame to determine a body position for the person within the determined frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the determined frame; compare the determined body position in the determined frame with a reference skeleton for the basketball jump shot phase; determine a deviation between the determined body position and the reference skeleton based on the comparison operation; maintain a database that associates a plurality of different types of deviations for the basketball jump shot phases with data representative of an explanation regarding each deviation type; classify the determined deviation as a deviation type from among a plurality of different types of deviations; analyze the database to map the determined deviation to the explanation data associated with the classified deviation type for the determined deviation; and communicate the associated explanation data to a user to facilitate coaching of the person'"'"'s basketball jump shot. - View Dependent Claims (34, 35, 36, 37, 38)
-
39. A computer program product for video analysis of a basketball jump shot, the computer program product comprising:
a plurality of processor-executable instructions configured for processing video data, the video data comprising a plurality of frames of a person performing the basketball jump shot, the instructions being resident on a non-transitory computer-readable storage medium and being configured, upon execution by a processor, to; determine a frame of the video data that depicts a body position of the person in a phase of the basketball jump shot, wherein the phase comprises a member of the group consisting of (1) a base phase, (2) a frame phase, (3) a release phase, (4) a follow-through phase, and (5) a finish phase; process pixels in the determined frame to determine a body position for the person within the determined frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the determined frame; compare the determined body position in the determined frame with a reference skeleton for the basketball jump shot phase; and determine a deviation between the determined body position and the reference skeleton based on the comparison operation; repeat the frame determination operation, the processing operation, the comparison operation, and the deviation determination operation for a plurality of basketball jump shots by the person such that a plurality of deviations are determined with respect to a plurality of the basketball jump shots based on the repeated operations, wherein the deviations correspond to a plurality of different types of deviations; maintain data indicative of whether the basketball jump shots went through a basketball hoop; build a database associated with the basketball jump shots, the database including the determined deviations for the basketball jump shots and data indicative of which of the basketball jump shots went through the basketball hoop; analyze the database to correlate the determined deviations for the basketball jump shots with respect to the data indicative of whether the basketball jump shots went through the basketball hoop; and classify at least one of the determined deviation types as being an outcome-determinative deviation type based on the correlations of the determined deviations with the data indicative of whether the basketball jump shots went through the basketball hoop.
-
40. A computer program product for video analysis of a basketball jump shot, the computer program product comprising:
a plurality of processor-executable instructions configured for processing video data, the video data comprising a plurality of frames of a person performing the basketball jump shot, the instructions being resident on a non-transitory computer-readable storage medium and being configured, upon execution by a processor, to; determine a frame of the video data that depicts a body position of the person in a phase of the basketball jump shot, wherein the phase comprises a member of the group consisting of (1) a base phase, (2) a frame phase, (3) a release phase, (4) a follow-through phase, and (5) a finish phase; process pixels in the determined frame to determine a body position for the person within the determined frame, wherein the determined body position comprises data indicative of an arrangement of joints and limbs for the person within the determined frame; receive input indicative of a skill level for the person; compare the determined body position in the determined frame with a reference skeleton for the basketball jump shot phase; compute data representative of a difference between the body position in the frame and the reference skeleton in response to the comparison between the body position in the frame and the reference skeleton for the basketball jump shot phase; compare the computed data with a threshold that is scaled based on the skill level input; and in response to a determination that the computed data exceeds the threshold, classify the difference as a deviation between the determined body position and the reference skeleton.
Specification