Skip to main content
Athlete completing a swing at full arm extension Break down the precise timing and sequencing of movements from the pelvis, trunk, and arms, to identify inefficiencies in swing mechanics, improve consistency, and maximize energy transfer from the lower body through the core to the bat. Uplift offers dozens of events and metrics to track baseball hitting for little league to professional athletes.

Dimensions

Required Inputs for processing:
  • handedness: the handedness of the batter [‘left’, ‘right’]

Variables

Output variables from hitting analysis.

Events

Identify specific time points during the hit.
EventShort DescriptionColumn Name
InitiationWhen the lead foot begins to move prior to max knee raise.initiation_frame
Max Foot RaiseThe maximum height of the lead foot during the swing.max_foot_raise_frame
Foot ContactThe instant the front foot contacts the ground. Determined by finding the max downward velocity of the lead ankle and then obtaining the index when the following 5 frames have a vertical velocity below 0.2 m/s.foot_contact_frame
Pelvis Velocity Initiation (Launch)The start of pelvis rotation - also known as launch event. Determined via the last local minimum before peak pelvis angular velocity.pelvis_initiation_frame
Max X FactorThe instant of maximum separation between shoulders and hips before the twisting motion of the swing.max_x_factor_frame
X Factor Zero CrossingWhen the shoulder-hip separation crosses zero after Max X Factor.x_factor_zero_crossing_frame
Wrist InitiationThe start of the wrist movement during the swing. Finds the last local minimum before peak wrist angular velocity.wrist_movement_initiation_frame
TwistThe average timing of peak angular velocities for the pelvis, trunk, and arm. Used to identify the timing of the major twisting motion.twist_frame
Peak Pelvis Ang VelThe instant of pelvis peak angular velocity. Peak finding parameters: minimum height: 250 deg/s, minimum prominence: 250 deg/s, distance to next peak: 100 frames (~0.4 s), minimum width: 0.1 s (24 frames).peak_pelvis_velocity_frame
Peak Trunk Ang VelThe instant of trunk peak angular velocity. Peak finding parameters: minimum height: 250 deg/s, minimum prominence: 250 deg/s, distance to next peak: 100 frames (~0.4 s), minimum width: 0.1 s (24 frames).peak_trunk_velocity_frame
Peak Arm Ang VelThe instant of lead arm peak angular velocity. Peak finding parameters: minimum height: 250 deg/s, minimum prominence: 250 deg/s, distance to next peak: 100 frames (~0.4 s), minimum width: 0.05 s (12 frames).peak_arm_velocity_frame
Peak Wrist Angular VelocityThe instant of maximum wrist angular velocitypeak_wrist_angular_velocity_frame
Ball ContactThe estimated timing of ball contact - determined by audio signal (primary) or swing through event (secondary, if ball contact not detected or detected outside of foot contact and end twist events)ball_contact_frame
Swing ThroughThe instant the rear wrist passes in front of the lead wrist, corresponding to a batter committing to a swing (would be a strike).swing_through_frame
Pelvis Velocity TerminationThe first local minimum after peak pelvis velocity.pelvis_velocity_termination_frame
End TwistFinds the end of the twisting motion: after X Factor zero crossing, when X Factor velocity returns to 0 deg/send_twist_frame

Movement Flags

Find inefficiencies during the hitting motion.
MetricUnitsShort DescriptionColumn Name
Leads With WristbooleanBinary indicator if wrist leads the swing, if wrist initiation event occurs before pelvis initiation event.leads_with_wrist
SwaybooleanBinary indicator of excessive lateral movement, determined by difference in farthest forward and backward pelvis position (forward = towards the pitcher) around max knee raise event. Distance threshold for sway fault is 8 cm (~3 in).sway
Sway LegbooleanBinary indicator of excessive lateral movement, determined by rear ankle and knee joint centers. Considered a leg sway fault if the rear knee passes behind the ankle (further from pitcher).sway_leg
Knee DominantbooleanBinary indicator if swing is knee-dominant, determined by if the rear hip and ankle joint angles differ by more than 25 deg at launch and if the rear ankle is dorsiflexed less than 15 deg at launch.knee_dominant_swing
Vertical Pelvis HikebooleanBinary indicator of excessive vertical pelvis movement, determined if the pelvis keypoint finishes the swing (to ball contact) higher than where it started (at launch event).vertical_pelvis_hike
Lateral Pelvis TiltbooleanBinary indicator of excessive lateral pelvis tilt, determined by whether the pelvis tilts upwards more than 10 deg during the swing (initiation to ball contact).excessive_lateral_pelvis_tilt
Drifting ForwardbooleanBinary indicator of excessive forward movement, determine by whether the pelvis drifts forward (towards the pitcher) more than 15 cm (~6 in) from launch to ball contact events.drifting_forward

Kinematic Sequence

Order and magnitude of pelvis, trunk, and upper arm peak rotational velocity (deg/s) during the swing.
MetricUnitsShort DescriptionColumn Name
Kinematic SequenceN/ASequence of segment peak angular velocities (twist speed) during the swing. Correct sequencing is pelvis-trunk-arm.kinematic_sequence_order
Peak Pelvis Angular Velocitydeg/sMax angular velocity of the pelvis segment.peak_pelvis_angular_velocity
Peak Trunk Angular Velocitydeg/sMax angular velocity of the trunk segment.peak_trunk_angular_velocity
Peak Arm Angular Velocitydeg/sMax angular velocity of the lead upper arm segment.peak_arm_angular_velocity
Trunk to Arm Speed UpratioRatio (multiplication factor) of speed increase from trunk to arm.trunk_to_arm_velocity_speedup
Pelvis to Trunk Speed UpratioRatio (multiplication factor) of speed increase from pelvis to trunk.pelvis_to_trunk_velocity_speedup

Body Metrics

Distances, angles, angular velocities, and other descriptors of body motion during a baseball hit.
MetricUnitsShort DescriptionColumn Name
HandednessN/AHandedness of the athlete [‘right’ or ‘left’] (as input)handedness
Drifting Forward MagnitudemDistance drifted forward during the swing - see Drifting Forward.drifting_forward_magnitude
Time to Ball ContactsDuration between initiation and ball contact events.time_to_ball_contact
Time to LaunchsDuration beween initiation and pelvis velocity initiation (launch) events.time_to_launch
Pelvis Acceleration TimesecondsTime from pelvis initiation (start of rotation) to peak pelvis angular velocity.
Pelvis Deceleration TimesecondsTime from peak pelvis angular velocity to pelvis termination (end of rotation).
Hip HingedegMax amount of rear hip flexion between max foot raise and foot contact events.hip_hinge
Trunk CoildegMax rotation angle that the trunk turns away from the pitcher - facing directly to the pitcher is 0 deg.trunk_coil
Trunk Tilt at LaunchdegAmount of side-to-side trunk tilt at launch event (pelvis velocity initiation). Positive values indicate tilting towards the pitcher and vice versa.trunk_tilt_at_launch
Scap Load at LaunchdegAmount of rear shoulder flexion (+) or extension (-) at launch event. Flexion/Extension translates to horizontal adduction (+) and abduction (-), respectively.rear_scap_load_at_launch
Elbow Flexion at LaunchdegAmount of rear elbow flexion at launch event.rear_elbow_flexion_at_launch
Elbow Flexion at Ball ContactdegAmount of rear elbow flexion at ball contact event.rear_elbow_flexion_at_ball_contact
Lead Knee Angle at Ball ContactdegAmount of lead knee flexion at ball contact.lead_knee_angle_at_ball_contact
Stride LengthmDistance between the lead ankle at foot contact and the rear ankle at max foot raise event.stride_length
Rear Arm ConnectionmAverage distance between the rear elbow and mid-torso (halfway between mid-shoulder and mid-hip joint centers) between launch and ball contact events.rear_arm_connection
Shoulder Rotation Plane FlexiondegAmount of trunk flexion required to reach the average plane of rotation of the shoulder joint centers.shoulder_rotation_plane_flexion
Shoulder Rotation Plane TiltdegAmount of trunk tilt (+ = towards pitcher) to reach the average plane of rotation of the shoulder joint centers.shoulder_rotation_plane_tilt
Relative Hand Position - Towards PitchermDistance along the axis towards the pitcher (+) between mid-shoulders and the average of the two wrists at the foot contact event.relative_hand_position_towards_pitcher
Relative Hand Position - UpmDistance along the up axis (+) between mid-shoulders and the average of the two wrists at the foot contact event.relative_hand_position_up
Relative Hand Position - Away from BodymDistance along the axis away from the body (+) between mid-shoulders and the average of the two wrists at the foot contact event.relative_hand_position_away_from_body
Linear StretchmDistance between the lead ankle and center of both wrists along the pitch direction at foot contact.linear_stretch
Ball Contact MethodN/ABall contact event detection method: [both audio, single audio, swing through].ball_contact_method

Time Series

Metrics describing motion over the duration of the capture, changing values with every frame. Use in combination with the keypoints and kinematics from Generic Outputs.
MetricUnitsShort DescriptionColumn Name
Trunk Center of Mass Position XmTrunk center of mass X position - for use with keypoint positions. [time series metric]trunk_center_of_mass_x
Trunk Center of Mass Position YmTrunk center of mass Y position (up/down) - for use with keypoint positions. [time series metric]trunk_center_of_mass_y
Trunk Center of Mass Position ZmTrunk center of mass Z position - for use with keypoint positions. [time series metric]trunk_center_of_mass_z
Body Center of Mass Position XmWhole body center of mass X position - for use with keypoint positions. [time series metric]whole_body_center_of_mass_x
Body Center of Mass Position YmWhole body center of mass Y position (up/down) - for use with keypoint positions. [time series metric]whole_body_center_of_mass_y
Body Center of Mass Position ZmWhole body center of mass Z position - for use with keypoint positions. [time series metric]whole_body_center_of_mass_z
Trunk Global FlexiondegAmount of trunk sagittal plane flexion relative to the global coordinate system. [time series metric]trunk_global_flexion
Trunk Global TiltdegAmount of trunk frontal plane side-to-side tilt relative to the global coordinate system. [time series metric]trunk_global_tilt
Trunk Global RotationdegAmount of trunk transverse plane rotation relative to the global coordinate system. [time series metric]trunk_global_rotation
Pelvis Global TiltdegAmount of pelvis frontal plane side-to-side tilt relative to the global coordinate system. [time series metric]pelvis_global_tilt
Pelvis Global RotationdegAmount of pelvis transverse plane rotation relative to the global coordinate system. [time series metric]pelvis_global_rotation

Bat Metrics

Descriptors of bat positions, speeds, and more during the swing.
MetricUnitsShort DescriptionColumn Name
Bat Speed - Resultant Sweet SpotmphLinear velocity of bat sweet spot
Bat Speed - Angular to LinearmphConverted angular velocity to linear velocity
Attack AngledegreesAngle of bat path relative to horizontalattack_angle
On Plane Efficiency%Percentage of swing path aligned with optimal plane (within 10 deg) between foot contact and ball contact events.on_plane_efficiency
Launch PositiondegAngle of the bat relative to the batter’s spine in the sagittal plane at launch event (when the pelvis begins to rotate).launch_position
Connection at Impactdeghorizontal plane angle of the bat relative to the batter’s torso at the instant of ball contact
Sweet Spot Fore Aft Position At Contactmfore/aft position of the bat sweet spot relative to the pelvis (mid point of the hip joint centers)sweet_spot_fore_aft_position_at_contact
Attack Directiondeghorizontal plane angle of the bat relative to the front of home plate, generally determines direction (right/left) of the hit.attack_direction
Swing PathdegVertical plane angle of the bat swing path relative to horizontal using the 0.04 s leading up to ball contact.swing_path_angle

Notes

  • Kinematic data typically captured at 240Hz for Baseball Hitting
  • All boolean variables (true/false = 1/0) return -1 if metric unable to be calculated.