Sports swing analysis

A single-camera system with AI models normalizes swing data for camera and environmental variations, addressing the limitations of multi-camera setups and wearable sensors, enabling flexible and accurate swing analysis.

WO2026060229A1PCT designated stage Publication Date: 2026-03-19SWINGLENS LLC
View PDF 10 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-12
Publication Date
2026-03-19

AI Technical Summary

Technical Problem

Existing sports swing analysis systems rely on multiple synchronized cameras or wearable sensors, which are expensive, cumbersome, and limited to controlled environments, lacking flexibility and automation in capturing and analyzing athletic swings.

Method used

A system utilizing a single monocular camera, combined with pose estimation and artificial intelligence models, captures and analyzes sports swings in various environments by normalizing data for camera angle, athlete orientation, and environmental conditions, enabling high-fidelity swing capture and fault detection.

Benefits of technology

Enables high-fidelity swing capture and analysis in uncontrolled environments, providing accurate fault detection and performance feedback, reducing costs and enhancing flexibility and accessibility.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure US2025046132_19032026_PF_FP_ABST
    Figure US2025046132_19032026_PF_FP_ABST
Patent Text Reader

Abstract

Systems and methods for capturing and analyzing sports swing data use a single monocular camera and artificial intelligence. The swing capture system records video of athletic swings, detects key body points using pose estimation, and normalizes the data across varying camera angles and conditions. The swing analysis system classifies the swing type and context, selects a pre-trained analysis model, and evaluates biomechanical performance using joint trajectories and ball motion parameters. Scoring engines generate structured metrics and fault probabilities, which are presented to users via graphical overlays and dashboards.
Need to check novelty before this filing date? Find Prior Art

Description

Sports Swing AnalysisCross-reference to Related Applications

[0001] The present application claims benefit of priority to U.S. Provisional Patent Application 63 / 694,815, entitled Automatic and Extensible Sports Swing Analysis System, and filed on September 14, 2024 and to U.S. Provisional Patent Application 63 / 718,699, entitled Automatic Sports Swing Analysis Reference Data Capture and Training System and filed on November 10, 2024, both of which are specifically incorporated by reference for all that they disclose and teach.Background

[0002] The sports training industry continues to explore technical solutions for analyzing athletic swings, including the repetitive, high-impact movements crucial to performance in sports, such as golf, tennis, and baseball. Early systems relied on videotape overlays and manual comparisons to model swings. Later, sensor-based systems emerged, using body-mounted devices or floor sensors to capture motion metrics, such as club head speed or rotational velocity. These types of systems, referred to as “swing visualization” tools, offered limited automation and required users or coaches to interpret raw data.Summary

[0003] In some aspects, the techniques described herein relate to a computer- implemented method of capturing sports swing features from a single-camera video, the computer-implemented method including: capturing a video of a swing motion of an athlete using a single, monocular camera; processing the video to detect body part key points for each video frame by applying pose estimation techniques to identify selected anatomical parts of the athlete and generate positional data; estimating a two-dimensional or three-dimensional pose for each video frame based on the detected body part key points of each frame by interpolating between detected body part key points to project the detected body part key points onto a plane; generating a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and storing the swing data for analysis. i

[0004] In some aspects, the techniques described herein relate to a computing device for capturing sports swing features from a single-camera video, the computing device including: a processor system including one or more hardware processors; a memory; a swing capture engine executable by the processor system, storable in the memory, and configured to capture a video of a swing motion by an athlete using a single, monocular camera; a pose estimation engine executable by the processor system, storable in the memory, and configured to process the video to detect body part key points for each frame by applying pose estimation methods to identify selected anatomical parts of the athlete; a pose generation engine, executable by the processor system, storable in the memory, and configured to estimate a two-dimensional or a three- dimensional pose for each frame based on the detected body part key points by interpolating between key points to project them onto a plane and generate a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and a data storage engine executable by the processor system, storable in the memory, and configured to store the swing data for analysis.

[0005] In some aspects, the techniques described herein relate to one or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process for capturing sports swing features from a single-camera video, the process including: capturing a video of a swing motion of an athlete using a single, monocular camera; processing the video to detect body part key points for each frame by applying pose estimation techniques to identify selected anatomical parts of the athlete and generate positional data; estimating a two-dimensional or three-dimensional pose for each frame based on the detected body part key points of each frame by interpolating between detected body part key points to project the detected body part key points onto a plane; generating a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and storing the swing data for analysis.

[0006] In some aspects, the techniques described herein relate to a computer- implemented method for sports swing analysis adaptative to swing type and context, including: receiving swing data and context for a swing by an athlete; classifying, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instance being labelled as a specified swing type; selecting an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysismodels, wherein the selected artificial intelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; and generating swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model, to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.

[0007] In some aspects, the techniques described herein relate to a computing system for analyzing swing data based on swing type and context obtained from a single-camera video, the computing system including: a processor system including one or more hardware processors; a memory; a contextual data extraction engine executable by the processor system, storable in the memory, and configured to receive the swing data based on a swing of athlete and to classify, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instance being labelled as a specified swing type; an analysis model selector executable by the processor system, storable in the memory, and configured to select an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysis models, wherein the selected artificial intelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; a swing analysis engine executable by the processor system, storable in the memory, and configured to generate swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model; and a scoring engine executable by the processor system, storable in the memory, and configured to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.

[0008] In some aspects, the techniques described herein relate to one or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process for analyzing sports swing data based on swing type and context obtained from a single-camera video the process including: receiving swing data and context for a swing by an athlete; classifying, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instancebeing labelled as a specified swing type; selecting an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysis models, wherein the selected artificial intelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; and generating swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model, to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.

[0009] This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.

[0010] Other implementations are also described and recited herein.Brief Descriptions of the Drawings

[0011] FIG. 1 illustrates an example environment for capturing sports swing data using a monocular camera in a top-down perspective view.

[0012] FIG. 2 illustrates the example environment for capturing sports swing data of FIG. 1 in a side view.

[0013] FIG. 3 illustrates an example operation for model training, sports swing capture, and sports swing analysis.

[0014] FIG. 4 illustrates an example system architecture for capturing sports swing data.

[0015] FIG. 5 illustrates an example operation for capturing sports swing data.

[0016] FIG. 6 illustrates an example system architecture for analyzing captured sports swing data.

[0017] FIG. 7 illustrates an example operation for analyzing captured sports swing data.

[0018] FIG. 8 illustrates an example computing system for use in implementing the described technology.Detailed Descriptions

[0019] The disclosed technology relates to a system for capturing the biomechanical features of a sports swing using a single camera and a system for analyzing the captured swingfeatures using trained, specialized artificial intelligence models to detect faults and generate feedback to the user. This disclosure addresses longstanding limitations in the field of sports motion analysis, particularly the reliance on multi-camera setups, controlled studio environments, and wearable sensors. By leveraging modem pose estimation technologies and advanced normalization techniques, the system enables high-fidelity swing capture in a wide variety of real-world settings, including outdoor courts, fields, and informal practice environments.

[0020] In traditional systems, capturing the full kinematic profile of a swing required either multiple synchronized cameras or specialized sensor arrays affixed to the athlete’s body or equipment. These setups were not only expensive and cumbersome but also restricted to controlled environments with fixed lighting and calibrated camera positions.

[0021] The disclosed technology overcomes these constraints by allowing a single camera, such as a smartphone, drone-mounted camera, or fixed tripod camera, to be placed arbitrarily around the athlete.

[0022] Fig. 1 illustrates an example of the swing capture system 100 used to capture swing data of a tennis player 102 standing in various positions on a standard tennis court 106. The swing capture system 100 may be deployed on a mobile computing device such as a smartphone, which includes a digital video camera, onboard processors, digital storage, and network communication capabilities. The camera 108 may be handheld, tripod-mounted, wall- mounted, or drone-mounted, and as illustrated in Figs. 1 and 2, a wide range of camera placements may be used to capture a swing from varying angles and perspectives, including front-facing, side-view, rear-view, overhead, and low-angle perspectives.

[0023] Fig. 2 illustrates in a side view the swing capture system 200, with a single camera 202 positioned near a sideline 204 of a tennis court 206, such that it can capture swing data of two players 208, 210. In addition to the camera, the system may integrate auxiliary sensors such as accelerometers, gyroscopes, and lidar. These sensors can be embedded in the device or externally connected. The system queries these sensors during video capture to obtain metadata such as camera tilt, orientation, and focal length. This metadata is synchronized with the video stream and used during normalization, described below.

[0024] In addition to the camera, the system may integrate auxiliary sensors such as accelerometers, gyroscopes, and lidar. These sensors can be embedded in the device or externally connected. The system queries these sensors during video capture to obtain metadata such as camera tilt, orientation, and focal length. This metadata is synchronized with the video stream and used during normalization.

[0025] Fig. 3 illustrates example phases of a workflow 300 for training artificial intelligence models, capturing swings, and analyzing swings. Artificial intelligence (Al) models are trained to analyze biomechanical features of sports swings 302. These models are developed using curated datasets comprising pose-estimated joint trajectories and contextual metadata derived from video recordings of athletes performing various swing types.

[0026] The training process is described in detail in paragraphs 127 through 146 of the Detailed Description, which explains how training datasets are constructed from normalized, time-sequenced positional data extracted via pose estimation algorithms.

[0027] Each model is specialized for a particular swing type and context. Fault annotations and confidence weights are assigned to body parts based on their predictive reliability. The models are trained to generalize across different athletes and camera setups through normalization techniques such as flipping, scaling, and coordinate reorientation. Once trained, these models are stored and later invoked during the swing analytics phase 306, where they are selected based on contextual alignment with the captured swing data.

[0028] Swing capture 304 involves capturing the athlete’s swing using a single monocular camera, such as a smartphone, tablet, or drone-mounted device. The system applies pose estimation techniques (e.g., MoveNet, MediaPipe Pose) to detect anatomical key points (e.g., shoulders, elbows, wrists) in each video frame. The resulting pose data is normalized to account for variations in camera angle, athlete orientation, and environmental conditions.

[0029] Normalization includes horizontal flipping for handedness standardization, scaling for camera distance, rotation correction for camera tilt, and temporal smoothing to reduce jitter. The swing detection engine isolates individual swing events using audio cues (e.g., ball impact sounds) or motion-based analysis. This phase is described in detail in paragraphs 28 through 66, with reference to FIGS. 4 and 5, particularly in the sections titled “Camera Activation and Video Capture Engine,” “Swing Detection Engine,” “Pose Estimation Engine,” and “Transformation Engine.”

[0030] The normalized swing data is analyzed using the trained Al models in the swing analytics phase 306. The system first classifies the swing type and context using a contextual data extraction engine. Based on this classification, an analysis model selector chooses the most appropriate pre-trained swing analysis model. The selected model evaluates joint trajectories, timing patterns, and motion metrics to detect faults and assess performance.

[0031] Metrics generated may include joint velocity, angular displacement, timing consistency, and swing plane deviation. A scoring engine then processes these metrics to producestructured performance scores, fault probabilities, and ranked feedback. Results are stored and presented to the user via graphical overlays, textual summaries, or interactive dashboards. This phase is described in detail in paragraphs 67 through 126, with reference to FIGS. 6 and 7, and in the sections titled “Swing Analysis Engine,” “Scoring Engine,” “Feedback Delivery System,” and “Results Repository.”

[0032] Fig. 4 illustrates an example architecture of the swing capture system 400.

[0033] The swing session start-up engine 402 is the first stage of the swing capture system, responsible for initializing the environment in which swing data will be recorded and analyzed. It begins by collecting contextual metadata, which refers to structured information describing the athlete, their equipment, and the session's conditions. For example, metadata might include the athlete’s name (“Stella”), height (e.g., 5'6"), handedness (e.g., left-handed), sport type (e.g., tennis), and experience level (e.g., recreational). Equipment metadata might specify the brand and model of the tennis racket (e.g., “Wilson Blade 98”), which can affect swing dynamics due to differences in weight and balance. This metadata is stored in a collected swing data 404, a structured data container that travels through the system and is updated by each engine. This object ensures that all downstream processes have access to the athlete’s profile and session context, enabling personalized and accurate analysis.

[0034] In addition to metadata, the system allows users to define training goals, which are specific objectives for the session. These goals guide the selection of analysis techniques and scoring algorithms later in the pipeline. Common goals include swing fault detection, which aims to identify biomechanical errors such as “straight legs at impact” or “excessive backswing”; swing speed optimization, which focuses on increasing racket velocity while maintaining proper form; and technique emulation, which compares the athlete’s swing to a reference model, such as “Nadal forehand follow-through.” These goals are stored in an active goals list, a subcomponent of the collected swing data 404. For example, if the goal is fault detection, the system will prioritize analysis engines trained to identify specific faults. If the goal is emulation, the system may compare the athlete’s swing to a database of professional swings and highlight deviations.

[0035] The swing session start-up engine 402 also configures contextual parameters, which describe the physical and environmental conditions under which the swing is performed. These include camera angle (e.g., 0° for front-facing, 90° for side view), camera tilt (e.g., 10° downward), lighting conditions (e.g., indoor fluorescent vs. outdoor sunlight), and court position (e.g., baseline, net proximity). These parameters are critical for accurate pose estimation, which is the process of identifying body joint positions from video frames. For instance, a swingrecorded from a side angle may require different normalization techniques than one recorded from the front. The system uses these parameters to select appropriate transformation engines, which are software engines that adjust the raw pose data to a standardized format. This ensures consistency across different recording conditions and allows the system to function effectively in uncontrolled environments, such as public courts or casual training sessions.

[0036] The swing session start-up engine 402 may include a goal-setting interface, typically implemented as a graphical user interface (GUI) on a mobile device or desktop application. This interface allows users to input metadata and goals manually or select from predefined templates. For example, a coach might select “Serve Fault Detection” as the goal and input the athlete’s height and racket type. In some implementations, the system may support auto-detection of certain parameters using onboard sensors (e.g., gyroscope, accelerometer) or image analysis (e.g., detecting handedness from pose data). Once the session is configured, the collected swing data 404 is initialized and passed to the next engine, where the actual swing recording begins. This structured and extensible setup ensures that all downstream analysis is context-aware, goal-driven, and personalized to the athlete’s needs.

[0037] The camera activation and video capture engine 408 is responsible for initiating the recording of the athlete’s swing and preparing the video data for analysis. Unlike traditional systems that rely on multiple synchronized cameras or studio setups, this system is designed to operate with a single monocular camera 410, typically a smartphone or tablet camera. A monocular camera refers to a single-lens device that captures video from one viewpoint. This design choice makes the system portable, accessible, and suitable for use in uncontrolled environments such as public tennis courts or backyard practice areas.

[0038] For example, a coach might use an iPhone mounted on a tripod to record a player’s forehand swings during a lesson. The system supports various mounting configurations, including handheld, tripod-mounted, wall-mounted, or drone-mounted cameras, allowing flexibility in how and where the video is captured.

[0039] Once the camera is activated, the system begins buffering video in memory. Buffering refers to temporarily storing video frames in a memory queue before deciding which segments to retain. This allows the system to continuously monitor the video stream and isolate relevant swing events without saving unnecessary footage. During this phase, the system may also query the device’s onboard sensors to collect camera metadata, such as tilt angle (e.g., 15° downward), focal length (e.g., 4.25 mm), and sensor size (e.g., 1 / 2.55"). These parameters are essential for later stages like pose estimation and transformation, as they help correct fordistortions caused by camera orientation or lens characteristics. For instance, if the camera is tilted upward, the system can adjust the pose data to compensate for the altered perspective.

[0040] To ensure high-quality input for pose estimation and swing analysis, the system applies a series of video preprocessing techniques. These include exposure correction (adjusting brightness and contrast to compensate for lighting conditions), frame interpolation (generating intermediate frames to smooth motion), and color normalization (standardizing color profiles across frames). For example, if a swing is recorded under harsh sunlight, exposure correction can prevent overexposed frames that obscure joint positions. Similarly, frame interpolation helps reduce motion blur in fast swings, such as a tennis serve, by generating smoother transitions between frames. These enhancements are critical for accurate pose estimation, which relies on clear and consistent visual data to detect body joints.

[0041] The camera activation and video capture engine 408 also includes a camera angle detection engine, which analyzes the video to determine the relative position of the athlete within the frame. Camera angle is defined as the horizontal and vertical orientation of the camera relative to the athlete’s torso. For example, a front-facing camera might be at 0° (horizontal), while a side view might be at 90° (horizontal), and an overhead drone might be at 90° (vertical). This information is used to select appropriate transformation engines that normalize the pose data for consistent analysis. The system supports a wide range of camera angles and automatically adjusts its processing pipeline to accommodate them. This flexibility is especially important in sports like tennis, where the athlete may move across the court during play. For instance, if the camera is positioned behind the baseline and the athlete moves toward the net, the system can detect the change in angle and apply the necessary corrections to maintain data integrity.

[0042] The swing detection engine 412 is responsible for identifying the precise moments within a video stream when a swing occurs. This is essential because athletes often perform multiple swings in a single recording session, and only the relevant segments should be analyzed. The system uses a combination of audio-based swing detection and visual motion analysis. Audio detection relies on identifying a sharp sound spike, such as the impact of a ball on a racket, using onset detection, a technique that monitors sudden increases in sound amplitude. For example, in tennis, the system might detect the “pop” of the ball hitting the strings and use that as a temporal anchor. Once an onset is detected, the system extracts a swing window, typically a 2.5-second segment (e.g., 1.5 seconds before and 1 second after the impact), which is then passed to the pose estimation engine, as described below.

[0043] In parallel, or as an alternative, the swing detection engine 412 may use visual swing detection, which analyzes motion patterns in the video to identify rapid changes in body posture or limb velocity. This is especially useful in noisy environments where audio cues may be unreliable. For example, the system might track the movement of the athlete’s dominant arm and detect a sudden acceleration consistent with a swing. Advanced implementations use statistical techniques, such as Cook’s distance plots and second derivative analysis on interpolated motion data to refine the detection window. Cook’s distance is a measure used to identify outliers in a dataset, helping to detect anomalies in frames where joint positions deviate significantly from expected motion. These techniques ensure that the swing window includes all relevant biomechanical phases, such as preparation, contact, and follow-through, while excluding irrelevant frames.

[0044] In an alternative embodiment, the system utilizes a probabilistic model to detect discrete swing events by analyzing pose estimation data and interpolating temporal probability distributions. This approach diverges from traditional frame-by-frame classification or sensorbased detection by modeling the likelihood of a swing event as a continuous probability curve centered around the moment of impact.

[0045] Pose estimation is first applied to video frames to extract joint position data in near real-time. A swing detection model, such as a Long Short-Term Memory (LSTM) network or other suitable neural architecture, is trained to output a probability score indicating the likelihood that a given frame corresponds to a swing event. The training process assigns scores to video segments in a manner reminiscent of a normal distribution. For example, a segment centered 0.1 seconds after the actual hit may be assigned a score of 0.9, while one 1 second away may receive a score of 0.1.

[0046] When applied to a video sequence, the model produces a temporal probability distribution across frames. This distribution typically exhibits a peak near the swing event, resembling a Gaussian curve. By interpolating a subset of these probability scores, the system can efficiently identify the local maxima, which correspond to the swing event, without requiring exhaustive frame-by-frame analysis.

[0047] This embodiment enables efficient swing detection by analyzing only a subset of frames, which is particularly beneficial for mobile deployment where computational resources are limited. It leverages pose estimation data, which is inherently robust to variations in camera angle, zoom, and athlete positioning, allowing consistent performance across diverseenvironments. The pose data used for swing detection can be reused for downstream swing analysis tasks, minimizing redundancy and improving system efficiency.

[0048] Once a swing window is isolated, a pose estimation engine 414 processes each frame to extract anatomical key points. Pose estimation is a computer vision technique that identifies the coordinates of body joints (e.g., shoulders, elbows, wrists, hips, knees, ankles) in an image or video. The system uses deep learning models such as Google’s MoveNet and MediaPipe Pose, which are state-of-the-art frameworks for real-time human pose detection. MoveNet is a lightweight, high-speed model optimized for mobile devices, capable of detecting 17 key points per frame with high accuracy. It uses a convolutional neural network (CNN) architecture to generate heatmaps for each joint, which are then post-processed to extract precise (x, y) coordinates. MediaPipe Pose, developed by Google Research, is a more flexible framework that supports both 2D and 3D pose estimation. It uses a two-stage pipeline: first, a detector identifies the region of interest (ROI) containing the person, and then a tracker estimates joint positions using a regression model trained on annotated datasets.

[0049] In advanced implementations, the system may also support 3D pose estimation, which adds a z-coordinate to represent depth. This can be achieved using monocular depth inference (estimating depth from a single camera using learned priors), triangulation (using multiple camera views to calculate depth geometrically), or depth sensors (hardware that directly measures distance, such as LiDAR). For example, if the athlete is recorded from a side angle, 3D estimation can help determine how far their racket extends into the frame, which is critical for analyzing reach and extension. The result is a time-series dataset of joint positions indexed by frame number or timestamp, forming the biomechanical footprint of the swing.

[0050] To improve the quality of pose data, the system applies temporal smoothing, a technique that reduces jitter and noise in joint trajectories across frames. Temporal smoothing ensures that joint movements appear fluid and continuous, which is essential for accurate swing analysis. Common smoothing algorithms include moving average filters, which average joint positions over a sliding window, and Kalman filters, which use probabilistic models to predict and correct joint positions. For example, if the right elbow position fluctuates erratically due to occlusion or poor lighting, temporal smoothing can interpolate a more realistic path. Additionally, the pose estimation engine 414 performs error detection and correction, identifying frames where joints are misclassified (e.g., a shoulder detected on a background object) and replacing them with interpolated values based on biomechanical constraints. The pose estimation engine 414 may also extract bounding box data, which defines the rectangular region in eachframe that contains the athlete, and apply scaling normalization to ensure consistent athlete size across different camera distances. All processed pose data is stored in the collected swing data 404, ready for transformation and contextual analysis in the next engine.

[0051] The transformation engine 416 refines the raw pose data extracted from the swing detection engine 412 and the pose estimation engine 414. Its primary function is to normalize the data so that it can be consistently interpreted regardless of variations in camera angle, athlete orientation, or environmental conditions. Normalization refers to the process of adjusting data to a standard reference frame, ensuring that swings recorded under different conditions can be compared and analyzed uniformly. For example, a tennis forehand recorded from the front and another from the side should yield comparable joint trajectories after transformation. Without normalization, pose data would be skewed by perspective distortions, making analysis unreliable.

[0052] One of the first transformations applied is horizontal flipping, which is used to standardize swings from left-handed and right-handed athletes. In this process, the x-coordinates of all joints are mirrored across the vertical axis of the image frame. For instance, a left-handed player’s swing is flipped so that it appears as a right-handed swing, allowing the same analysis models to be used for both. Similarly, vertical flipping may be applied to reorient the y-axis so that the origin (0,0) is consistently placed at the bottom-left corner of the image. This ensures that upward motion (e.g., a racket rising during a serve) corresponds to increasing y-values, which is more intuitive and consistent with biomechanical conventions.

[0053] A further transformation is rotation correction, which compensates for camera tilt. Camera tilt refers to the angle at which the camera deviates from a perfectly horizontal or vertical orientation. For example, if a camera is mounted at a 15° downward angle, the pose data will reflect a distorted view of the athlete’s posture. Rotation correction uses either device sensor data (e.g., gyroscope readings) or image-based analysis (e.g., detecting the horizon line or court markings) to calculate the tilt and apply a rotational matrix to the joint coordinates. This aligns the pose data with a standard upright reference frame, improving the accuracy of downstream analysis.

[0054] The transformation engine 416 also performs 0-degree camera angle normalization, which is a transformation technique used to standardize pose data captured from varying camera angles. The goal is to remove the influence of the camera’s position relative to the athlete so that the swing data can be analyzed as if it were recorded from a consistent, ideal viewpoint, specifically, the 0-degree angle, which is defined as the camera being directly in front of the athlete, perpendicular to their torso.

[0055] In swing analysis, camera angle can significantly distort the apparent motion of joints. For example, a forehand swing recorded from the side (90°) will show different joint trajectories than the same swing recorded from the front (0°), even though the athlete’s biomechanics are identical. Without normalization, these differences would confuse analysis engines and reduce the accuracy of fault detection or technique comparison.

[0056] The transformation engine 416 also performs scaling normalization, which adjusts the size of the athlete in the frame to a consistent reference. This is necessary because athletes may be recorded from varying distances, resulting in different pixel sizes for the same body part. For example, a player recorded from 10 feet away may appear twice as large in the frame as one recorded from 20 feet away. Scaling normalization uses known reference dimensions (e.g., athlete height or court features) to compute a scale factor and resize the joint coordinates accordingly. This ensures that joint velocities, angles, and distances are measured on a consistent scale, enabling accurate comparisons across sessions and athletes.

[0057] In addition to geometric transformations, the transformation engine 416 applies temporal smoothing and occlusion filtering. Temporal smoothing reduces jitter in joint trajectories by applying filters such as moving averages or Kalman filters. This is especially important in fast sports like tennis, where rapid limb movement can cause pose estimation models to produce noisy data. Occlusion filtering addresses cases where joints are temporarily hidden or misclassified, such as when a player’s arm is blocked by their body or another player. The system uses biomechanical constraints (e.g., joint angle limits, limb symmetry) and interpolation techniques to estimate missing joint positions. For example, if the right wrist is missing in three consecutive frames, its position can be inferred based on the motion of the elbow and shoulder.

[0058] In another embodiment, the system incorporates a camera interpolation technique designed to synthesize pose estimation data from arbitrary viewpoints, enabling the generation of swing data from angles not originally captured during training. This approach addresses a key limitation in swing analysis systems that rely on fixed camera placements. While traditional systems require multiple cameras positioned at specific angles, this embodiment allows for continuous interpolation between those angles, effectively simulating a virtual camera that can be positioned anywhere around the athlete.

[0059] The interpolation model is inspired by VIINTER (View Interpolation with Implicit Neural Representations), a method that constructs a continuous function mapping image coordinates and latent spatial vectors to RGB pixel values. However, the present embodimentsimplifies and adapts this concept to operate on pose estimation data rather than raw image pixels. Instead of predicting pixel colors, the model predicts the spatial coordinates of anatomical joints as viewed from interpolated camera positions.

[0060] To achieve this, the system uses a one-hot encoded vector representing each of the 17 anatomical joints tracked by the pose estimation engine. This vector is paired with a two- dimensional latent vector that encodes the virtual camera position. The model outputs the expected x and y coordinates of the joint as seen from that interpolated viewpoint. The latent vectors corresponding to the original camera angles are defined in a circular configuration, with endpoints aligned to the outermost camera angles (e.g., -45° and 210°), and intermediate angles evenly spaced between them.

[0061] The interpolation model is trained using pose estimation data from eight physical cameras. During training, the model learns to predict joint positions from interpolated angles by minimizing reconstruction loss between predicted and ground-truth joint coordinates. To enhance temporal consistency in video rendering, an additional loss function is introduced. This function penalizes abrupt changes in joint positions across adjacent frames, encouraging smooth transitions and realistic motion. The loss is computed using LI distance between joint predictions at time t and time t + 5, where 5 represents a small temporal offset.

[0062] The input to the model is structured as a 17 * 20 matrix. The left portion of the matrix encodes joint identity using a diagonal identity matrix, while the right portion includes the frame index and the camera position vector. The output is a 17 * 2 matrix representing the x and y coordinates of each joint from the interpolated viewpoint.

[0063] This embodiment enables the generation of full swing videos from any angle using a single model trained on pose data from a limited set of camera positions. Notably, the model does not require explicit spatial metadata such as camera distance or orientation. Instead, it learns to interpolate based solely on pose data and latent position vectors. This results in a highly efficient and flexible system capable of producing realistic 3D and 4D renderings of athletic motion.

[0064] The camera interpolation technique offers significant advantages for mobile deployment and scalability. It reduces the need for extensive camera setups, lowers hardware costs, and allows for dynamic viewpoint selection during analysis or playback. By leveraging pose estimation rather than image-based rendering, the system maintains high fidelity while minimizing computational overhead. This embodiment represents a novel integration of neuralinterpolation and biomechanical modeling, expanding the capabilities of swing analysis systems to include viewpoint-adaptive visualization and training data augmentation.

[0065] The contextual analysis engine 418 extracts high-level information about the swing and its environment. This includes identifying the swing type (e.g., forehand topspin, backhand slice, serve), ball motion parameters (e.g., speed, height at impact), athlete pose parameters (e.g., open stance, mid-air strike), and camera parameters (e.g., angle, tilt, position). These are computed using a combination of rule-based logic, image processing, and machine learning classifiers. For example, the system may detect that the athlete is facing away from the camera and classify the swing as a rear-view forehand. This contextual data is stored in the collected swing data 404, which is used to select the most appropriate analysis engines in the next engine. By combining geometric normalization with contextual classification, this component ensures that the swing data is both technically accurate and semantically meaningful.

[0066] Figure 5 illustrates an example operation 500 for swing capture. The system captures a video of an athlete's swing in capture operation 502 using a monocular camera, such as a smartphone or tablet. The camera may be handheld, tripod-mounted, wall-mounted, or drone-mounted, and is positioned to record the swing from a variety of angles, including frontfacing, side-view, or overhead perspectives.

[0067] The captured video is processed at processing operation 504 to detect body key points for each frame. Pose estimation methods are applied to identify body joints such as shoulders, elbows, wrists, hips, knees, and ankles. These key points form the basis for later biomechanical analysis.

[0068] The system next estimates a two-dimensional pose for each frame in estimation operation 506 by interpolating between detected key points and projecting them onto a standardized plane. This ensures consistent representation of body posture across varying camera angles and distances.

[0069] The system next generates a time-sequenced dataset of body part key points by tracking joint positions across frames in generating operation 508. This dataset captures the full motion profiles of the swing, including preparation, contact, and follow-through phases.

[0070] The swing data is then stored in a structured format in storage operation 510 for downstream analysis. The stored data may include contextual metadata, pose data, and temporal markers, for example, which are passed to the swing analysis system for fault detection, performance scoring, and feedback generation.

[0071] Fig. 6 illustrates an example system architecture for a swing analysis system 600. Once the captured swing data is normalized as described above, the normalized swing data 602 is processed in the swing analysis system 600.

[0072] The contextual data extraction engine 604 is the first analytical component in the awing analysis system pipeline. Its primary function is to extract a structured set of contextual parameters from normalized swing data 602, which includes pose-estimated joint coordinates and session metadata. These parameters are stored in a dedicated contextual swing data 606, which serves as the basis for downstream engine selection and analysis. This engine is designed to be modular and extensible, allowing for sport-specific and general -purpose contextual extraction routines.

[0073] The input to this contextual data extraction engine 604 consists of the normalized pose data produced by the swing capture system described above, to time-series joint coordinates captured via pose estimation algorithms. As described above, pose estimation is a computer vision technique that identifies key body landmarks (e.g., elbows, knees, shoulders) in each frame of a video. These landmarks are typically represented as 2D coordinates (x, y) or 3D coordinates (x, y, z), depending on the sophistication of the capture system.

[0074] In addition to pose data, the engine ingests session metadata, which includes athlete-specific information (e.g., height, handedness, style), camera configuration (e.g., angle, tilt, focal length), and session goals (e.g., fault detection, swing speed optimization). This metadata is critical for contextualizing the swing and ensuring that subsequent analysis engines are selected appropriately. For example, a swing recorded from a side-view camera may require different fault detection models than one recorded from a front-facing camera.

[0075] One of the contextual data extraction engine 604 core functions is swing type classification. This involves identifying the sport and specific swing subtype, such as a tennis forehand, baseball swing, or golf drive. Classification is performed using supervised machine learning models, typically convolutional neural networks (CNNs) or recurrent neural networks (RNNs). CNNs are used when pose data is rendered as images (e.g., joint trajectories plotted over time), while RNNs or Long Short-Term Memory (LSTM) networks are used for time-series analysis of joint movement. These models are trained on labeled datasets where each sample is tagged with its swing type, allowing the system to learn the distinguishing features of each swing category.

[0076] Ball motion analysis is also a subcomponent of the contextual data extraction engine 604. Its purpose is to extract dynamic parameters of the ball’s behavior before, during,and after impact with the athlete’s equipment (e.g., racket, bat, club). These parameters include ball trajectory, spin, velocity, height at impact, and directional change, all of which are helpful for accurate swing classification and fault detection. The system begins by identifying the frame of impact, which is the precise moment the ball contacts the equipment. This is typically detected using a combination of audio cues (e.g., sound spikes from a ball strike) and visual analysis of abrupt changes in ball trajectory. In some implementations, temporal convolutional neural networks (TCNNs) are used to analyze frame sequences and detect impact events with high precision.

[0077] Once the impact frame is isolated, the engine computes ball height at impact. This is done by measuring the ball’s vertical position (y-coordinate) relative to a reference plane, such as the ground or the athlete’s foot level. If the system uses 3D pose estimation, the z-coordinate (depth) may also be used to refine the measurement. Polynomial regression is often applied to the ball’s vertical trajectory to interpolate its position at the exact impact frame, especially when the ball is partially occluded or blurred.

[0078] To determine whether the ball is rising or falling, contextual data extraction engine 604 analyzes the slope of the ball’s vertical trajectory over time. A positive slope indicates a rising ball, while a negative slope indicates a falling ball. This is computed using finite difference methods or linear regression over a brief time window preceding impact. The direction of motion is a key contextual parameter, as it affects the biomechanical demands of the swing and the likelihood of certain faults (e.g., mistimed contact on a falling ball).

[0079] Spin estimation is more complex and may involve analyzing rotational blur or changes in the ball’s surface features across frames. In advanced systems, optical flow algorithms are used to detect rotational motion by tracking pixel displacement patterns on the ball’s surface. Alternatively, deep learning models trained on synthetic spin data can classify spin type (e.g., topspin, backspin, sidespin) based on visual cues. Spin affects ball behavior post-impact and is especially relevant in sports like tennis and baseball.

[0080] The contextual data extraction engine 604 also computes a post-impact trajectory, which includes the ball’s direction, angle, and velocity after contact. This is derived by tracking the ball’s position across multiple frames following impact and fitting a trajectory curve using least squares polynomial fitting. The angle of departure is calculated relative to the athlete’s orientation, and velocity is estimated using frame-to-frame displacement divided by time intervals. These metrics are used to assess swing effectiveness and to detect faults such as slicingor hooking. Kalman filters may be used to smooth noisy ball trajectories and improve the accuracy of velocity and direction estimates.

[0081] All extracted ball motion parameters are stored in the contextual swing data 606, where they are used by the analysis model selector 608 (described below) to choose appropriate analysis models. For example, a swing with a rising ball at 40 cm height and topspin may be routed to a specialized forehand topspin analysis engine trained on similar conditions. This context-aware routing improves the precision and relevance of the feedback provided to the athlete. By integrating geometric analysis, image processing, and machine learning techniques, the ball motion analysis subsystem provides a robust and extensible framework for understanding the dynamic interaction between the athlete and the ball.

[0082] Once the contextual parameters of a swing have been extracted and stored in the contextual swing data 606, the swing analysis system 600 invokes the analysis model selector 608. This component is responsible for determining which analysis engines are most appropriate for evaluating the swing. The selection process is dynamic and data-driven, relying on a structured comparison between the contextual data and a database of engine metadata. This comparison is central to the system’s ability to adapt to a wide variety of sports, swing types, and environmental conditions.

[0083] The contextual data includes a rich set of attributes derived from earlier modules. These attributes may include the sport being played, the specific swing type (such as a tennis forehand topspin or a baseball batting swing), the athlete’s stance and orientation, the camera’s angle and tilt, the ball’s height and trajectory at impact, and even stylistic identifiers such as whether the athlete is emulating a particular professional player. This data is stored in a structured object passed between modules, ensuring consistency and accessibility throughout the analysis pipeline.

[0084] Each analysis engine in the system is described by a metadata profile that includes its domain of applicability, the goals it supports (such as fault detection or swing speed estimation), the body parts it analyzes, and the conditions under which it was trained. For example, an engine might be trained to detect wrist faults in tennis serves captured from a sideview camera angle with the ball at a height of 30 centimeters. This metadata is stored in a searchable database, which the analysis model selector 608 queries during each swing analysis session.

[0085] The comparison process between contextual data and engine metadata is performed using a multi-dimensional scoring function. This function evaluates how well thecontextual parameters of the current swing match the constraints defined in each engine’s metadata. The scoring function typically operates by assigning a numerical score to each engine, reflecting the degree of alignment between the engine’s capabilities and the swing’s context.

[0086] One example of a scoring function is a weighted parameter match. In this approach, each contextual parameter is assigned a weight based on its importance to engine performance. For instance, swing type might be weighted more heavily than ball height, because engines are often trained specifically for distinct swing types. The scoring function then computes a match score for each engine by summing the weighted matches. If the swing type matches exactly, the engine receives full points for that parameter; if the ball height is within an acceptable range, it receives partial points; and if the camera angle is outside the engine’s trained range, it receives zero points for that parameter.

[0087] Another example is a fuzzy logic-based scoring function. This method allows for partial matches and tolerates uncertainty in the contextual data. For instance, if the camera angle is 27 degrees and the engine was trained on data from 25 to 30 degrees, the scoring function might assign a high confidence score, such as 0.9. If the angle is 35 degrees, the score might drop to 0.4, reflecting reduced confidence. This approach is particularly useful when contextual parameters are continuous rather than categorical.

[0088] A third example involves probabilistic scoring using Bayesian inference. In this model, the system maintains prior probabilities for each engine’s effectiveness given certain contexts. As new contextual data is observed, the system updates these probabilities using Bayes’ theorem. For example, if historical data shows that a particular engine performs well on tennis forehands with low ball impact, the prior probability is high. When the current swing matches those conditions, the posterior probability increases, and the engine is selected with high confidence.

[0089] In some implementations, the analysis model selector 608 uses a hybrid scoring function that combines rule-based filtering with statistical ranking. First, engines that fail to meet hard constraints, such as sport mismatch or unsupported swing type, are excluded. Then, the remaining engines are ranked using a scoring function that incorporates weighted matches, fuzzy logic, and historical performance metrics. This layered approach ensures both precision and flexibility in engine selection.

[0090] Once the scoring function has evaluated all available engines, the analysis model selector 608 ranks them and selects the top candidates for execution. These selected engines are then scheduled for analysis, with execution parameters defined by their iteration contracts. Aniteration contract specifies how often and in what manner an engine should be run. For example, an engine might require one execution per swing, one per video frame, or one per body part and positional dimension. These contracts are critical for ensuring that engines are executed in a manner consistent with their design and training.

[0091] The analysis model selector 608 also supports parallel execution, allowing multiple engines to run simultaneously if hardware resources permit. This parallelism is managed by an executor component that respects the iteration contracts and ensures that data dependencies are maintained. The results of each engine’s execution are stored in the analysis data container, ready for aggregation and scoring.

[0092] A key innovation of the analysis model selector 608 is its support for modular extensibility. New engines can be added to the system without modifying the core architecture. Each new engine registers its metadata with the engine database, and the analysis model selector 608 automatically incorporates it into future selection processes. This design allows the system to evolve over time, supporting new sports, swing types, and analysis goals as they emerge.

[0093] The analysis model selector 608 selects an appropriate specialized swing analysis model (see, e.g., swing analysis model 626, swing analysis model 628, and swing analysis model 630 which are the computational modules responsible for performing targeted biomechanical evaluations of athletic swings. Each engine is trained on a specific swing type and context, as will be described below, and is designed to operate only when the contextual parameters of the swing match its domain of expertise. These engines are not interchangeable; they are highly specialized, and their effectiveness depends on precise alignment between the input data and the conditions under which they were trained.

[0094] One example of a specialized model is the forehand fault detection engine. This engine is trained exclusively on tennis forehand swings, with a focus on the motion of the right elbow and wrist. It uses a combination of ID positional data analysis and image classification. During training, the engine was exposed to thousands of labeled forehand swings, some exhibiting faults such as excessive backswing or improper wrist lag. The engine learns to associate specific trajectory patterns, such as a delayed wrist snap or a shallow elbow path, with these faults. At runtime, it receives normalized pose data and contextual parameters, and outputs a list of fault probabilities, each paired with a confidence weight derived from the engine’s training accuracy for the given body part and swing type.

[0095] Another example is a serve toss consistency engine, which is designed to evaluate the vertical and temporal consistency of the ball toss in a tennis serve. This engine uses 2Dpositional data of the tossing hand and the ball, extracted from pose estimation and object tracking modules. It computes the toss height, the timing between toss and racket drop, and the lateral deviation of the toss. These metrics are compared against reference distributions derived from professional services. The engine uses polynomial regression to model the toss trajectory and flags inconsistencies based on deviations from the expected curve. The output includes a toss consistency score and annotated feedback such as “Toss height varied by 12 cm across attempts.”

[0096] In the context of golf, for example, a golf swing plane engine is another specialized module, trained on 3D pose data captured from golf swings using side-view and down-the-line camera angles. This engine focuses on the trajectory of the club head and the rotation of the torso. It uses a hybrid model combining LSTM networks for temporal analysis and geometric modeling for swing plane estimation. The engine calculates the angle of the club shaft relative to the ground at key swing phases, such as backswing, downswing, and follow-through, and compares these angles to reference values. Deviations are quantified and visualized using trajectory overlays. The engine is particularly sensitive to over-the-top swings and early extension, which are common faults in amateur golfers.

[0097] In the context of baseball, for example, a baseball swing speed engine is trained to compute the rotational velocity of the shoulders and the linear velocity of the wrists during a batting swing. This engine uses time-differentiated pose data to calculate joint velocities and angular momentum. It applies smoothing filters to reduce noise and uses biomechanical models to estimate bat speed at impact. The engine is trained on high-speed video data from professional and amateur players, allowing it to distinguish between efficient and inefficient kinetic chains. The output includes peak shoulder velocity, wrist speed at impact, and a composite swing speed score.

[0098] A backhand follow-through engine is designed for tennis backhands and focuses on the post-impact phase of the swing. It analyzes the rotation of the shoulders, the extension of the arm, and the angle of the racket relative to the spine. This engine uses a CNN trained on pose image sequences, where each frame is converted into a visual representation of joint angles and motion vectors. The engine detects faults such as truncated follow-through or excessive wrist roll. It outputs annotated feedback and graphical overlays showing the ideal follow-through path compared to the athlete’s actual motion.

[0099] Another advanced example is the overhead smash timing engine, used in sports like badminton and tennis. This engine evaluates the synchronization between the jump, shoulder rotation, and racket acceleration. It uses LSTM networks to model the temporal alignment ofthese events and flags timing mismatches. The engine is trained on synchronized video and sensor data, allowing it to detect subtle delays that may not be visible to the naked eye. The output includes a timing deviation score and feedback such as “Shoulder rotation initiated 120 ms after peak jump height.”[000100] In sports with more dynamic footwork, such as volleyball or pickleball, a foot plant stability engine analyzes the athlete’s lower body during the swing. It uses 2D and 3D pose data to detect foot placement, ground contact duration, and lateral stability. The swing analysis model applies force vector estimation based on joint acceleration and uses a biomechanical model to assess balance. It flags faults such as unstable base or premature foot lift, which can affect swing power and accuracy.[000101] Each of the swing analysis models is governed by an iteration contract, which defines how frequently the engine should be executed. For example, the serve toss consistency engine may run once per swing, while the golf swing plane engine may execute once per frame to track continuous motion. The engine executor enforces these contracts and manages parallel execution when multiple engines are selected. This ensures efficient use of computational resources and consistent timing across modules.[000102] The outputs of all swing analysis models are stored in the analysis data 612, which includes fault probabilities, performance metrics, graphical overlays, and textual feedback. These outputs are later consumed by a scoring engine and results repository. The modular design of the system allows new engines to be added without modifying the core architecture. Each engine registers its metadata, including supported sports, swing types, body parts, and training conditions, enabling the scoring engine selector 614 to incorporate it into future analyses.[000103] After the specialized swing analysis engines have completed their execution and produced a set of analytical findings, including fault probabilities, performance metrics, and graphical overlays, the next step in the swing analysis system 600 is to interpret and quantify these results, which is performed by the swing analysis model.[000104] A scoring engine selector 614 determines which scoring engine (see, e.g., scoring engine 636, scoring engine 638, and scoring engine 640) is appropriate for the current swing context. Each scoring engine is described by metadata that includes the sport, swing type, analysis goal (e.g., fault detection, swing speed estimation), and supported body parts. The selector compares this metadata against the contextual parameters of the swing and selects one or more engines that are best suited for the task. This selection process is similar to that used by theanalysis model selector 608, described above, but is focused on post-analysis scoring rather than raw data interpretation.[000105] The scoring engine transforms raw analytical outputs into structured performance scores and ranked feedback, enabling athletes and coaches to understand the quality of the swing and identify areas for improvement. The scoring engine operates on the enriched swing data and is designed to be modular, context-sensitive, and extensible across sports and swing types.[000106] The scoring engine is the component responsible for aggregating the analytical findings produced by the specialized swing analysis engines and converting them into structured, interpretable performance scores. These scores are used to quantify swing quality, rank detected faults, and provide actionable feedback to the athlete.[000107] The input to the scoring engines includes fault probabilities, performance metrics, and contextual parameters extracted from the swing. Each fault probability may be associated with a specific body part and a confidence weight, which reflects the reliability of the prediction based on the engine’s training data. For example, a fault probability of 0.85 for a “giant backswing” detected in the right elbow, with a weight of 0.9, indicates a high-confidence detection. These values are stored in the analysis data container and are used by the scoring logic to compute final scores.[000108] Each scoring engine defines a scoring algorithm that transforms the raw findings into a final score. These algorithms vary depending on the analysis goal. For example, in fault detection scoring, the engine may count the number of body parts that exceed a fault probability threshold (e.g., 70%) and then apply a rule such as “if three or more joints exceed the threshold, the fault is confirmed.” In contrast, a swing speed scoring engine may compute the average velocity of multiple joints and compare it to a reference range to assign a performance score.[000109] Scoring engines often use weighted aggregation to account for the varying reliability of different body parts. For instance, if the right elbow has a weight of 100 for detecting a specific fault and the left wrist has a weight of 40, the scoring engine may multiply each fault probability by its corresponding weight and sum the results. This produces a weighted fault score that reflects both the likelihood of the fault and the reliability of the detection. Thresholds are then applied to determine whether the fault should be reported.[000110] Some scoring engines use more complex logic, such as probabilistic models or rule-based decision trees. For example, a composite scoring engine might combine multiple subscores, such as swing speed, timing, and joint alignment, into a single overall swing qualityscore. This composite score may be computed using a weighted average, a logistic regression model, or a custom scoring function defined by the application developer.[000111] The scoring engines support multiple scoring strategies, including binary scoring (fault present or not), graded scoring (e.g., 0-100 scale), ranked fault lists (e.g., top 3 most severe faults), and composite scoring (e.g., overall swing quality). Each scoring engine defines an iteration contract, which specifies how often it should be executed. For example, some engines may run once per swing, while others may compute scores for each frame or each body part. The scoring module enforces these contracts and manages execution order, ensuring that all relevant scores are computed before results are generated.[000112] The output of the scoring engines is stored in the analysis data, which includes collected swing data 618 and scoring data 620. This output includes quantitative scores (e.g., “Swing Speed: 78 km / h”), fault rankings (e.g., “1. Giant Backswing, 2. Early Wrist Release”), and summary feedback (e.g., “Your swing speed is within optimal range, but your follow- through is inconsistent.”). These results are later consumed by the Results Repository and Feedback Delivery module, which presents them to the user through graphical overlays, dashboards, and textual summaries.[000113] The scoring engine is designed to be extensible. New scoring engines can be added to the system without modifying the core architecture. Each engine registers its metadata and scoring logic, and the scoring engine selector incorporates it into future sessions. This modularity allows the system to support new sports, swing types, and scoring goals as they emerge.[000114] The scoring engine architecture supports a variety of scoring engines, each tailored to a specific sport, swing type, and analysis goal. These engines implement distinct scoring algorithms and are selected dynamically based on the contextual parameters of the swing.[000115] One example of a scoring engine is the threshold-based fault detection engine. This engine aggregates fault probabilities across body parts and applies a fixed threshold to determine fault presence. For example, if three or more joints have a fault probability above 70% for a “giant backswing,” the engine confirms the fault and adds it to the fault list.[000116] A more nuanced variant is the weighted fault aggregation engine. This engine multiplies each fault probability by a body part-specific weight, which reflects the reliability of that joint in detecting the fault. For instance, the right elbow might have a weight of 100, while the left wrist has a weight of 40. The engine sums the weighted scores and compares the result to a configurable threshold (e.g., in swing analysis system 600).[000117] Another example is the probability-tiered fault scoring engine, which assigns different scores based on fault probability tiers. For example, a fault probability above 50% contributes a score of 1, while a probability above 80% contributes a score of 3. The engine sums these scores across body parts and compares the total to a threshold (e.g., 12) to determine fault severity.[000118] The composite swing quality engine is designed to produce a single score that reflects overall swing performance. It aggregates multiple metrics, such as swing speedjoint alignment, timing consistency, and fault severity, into a weighted average. Each metric is normalized to a common scale (e.g., 0-100), and weights are assigned based on the importance of each metric for the sport and swing type.[000119] Each of these engines is implemented as a modular component with its own metadata, scoring logic, and iteration contract. They are selected and executed by the scoring module based on the swing context and analysis goals. The results are stored in the scoring data 620 and used to generate feedback for the athlete.[000120] Once the scoring engine has completed its execution and produced structured performance scores, fault rankings, and summary feedback, the swing analysis system 600 proceeds to store and deliver these results to the user via a results repository 622 and feedback delivery system 624. It ensures that all analytical outputs are persistently stored, organized, and presented in a format that is accessible, interpretable, and actionable for athletes, coaches, and other stakeholders.[000121] The results repository 622 is a structured data store that receives the fully populated collected swing data component, which now includes contextual parameters, pose data, analysis findings, scoring results, and graphical overlays. This data is stored in a persistent format, allowing users to retrieve and review past swing sessions. The results repository 622 supports both local storage on the device and remote storage on cloud infrastructure, depending on the application configuration.[000122] Each swing session is stored as a discrete record, indexed by session metadata such as athlete name, sport, swing type, date, and location. This indexing enables efficient querying and retrieval of historical data. For example, a coach may wish to compare a player’s forehand swings across multiple training sessions, or an athlete may want to review their progress over time. The results repository 622 supports filtering, sorting, and aggregation of results to facilitate such comparisons.[000123] To optimize storage efficiency, the results repository 622 may apply compression techniques to video data and selectively retain only essential metrics. For example, raw pose data may be down-sampled, and graphical overlays may be stored as vector instructions rather than full-frame images. The application developer can configure retention policies, such as keeping the last 50 swing sessions or archiving older data to cloud storage.[000124] The feedback delivery system 624 presents the stored results to the user. It supports multiple modalities, including graphical overlays on video, textual summaries, interactive dashboards, and comparative visualizations. These interfaces are designed to be intuitive and informative, allowing users to understand their performance at a glance and drill down into specific metrics as needed.[000125] Graphical overlays are synchronized with the swing video and include elements such as joint trajectories, fault markers, heatmaps, and reference guides. For example, a trajectory line may show the path of the racket head, while a heatmap may highlight regions of excessive motion. Fault markers may appear as annotations on specific joints, indicating the location and severity of detected faults.[000126] Textual feedback is generated based on scoring results and contextual parameters. It includes summary statements such as “Your swing speed is within optimal range, but your follow-through is inconsistent,” and detailed recommendations like “Reduce wrist flexion at impact to improve control.” This feedback is tailored to the athlete’s skill level, swing type, and training goals.[000127] Interactive dashboards on a user device, for example, allow users to explore their swing data in greater depth. They may include time-series plots of joint velocities, bar charts of fault severity, and radar charts of performance metrics. Users can compare multiple swings, view trends over time, and identify patterns in their technique. These dashboards are built using the structured data stored in the repository and are updated dynamically as new swing sessions are added.[000128] The feedback delivery system 624 also supports exporting results for external analysis or sharing. Users may download swing reports as PDF documents, export pose data as CSV files, or share annotated videos with coaches. These export features are governed by access controls and privacy settings defined by the application.[000129] To support extensibility, the results repository and feedback delivery system 624 is designed to accommodate new data types and feedback formats. For example, if a new analysis engine produces a novel metric, such as rotational torque or energy expenditure, the repositorycan store it, and the feedback subsystem can render it in the user interface. This modularity ensures that the system can evolve with advances in sports science and user needs.[000130] The results repository 622 and feedback delivery system 624 are the final link in the swing analysis system 600. It transforms analytical data into meaningful insights, preserves it for future reference, and presents it in a user-friendly format. Its integration with the scoring and analysis modules ensures a seamless flow of information from raw video to actionable feedback.[000131] Training Datasets for Specialized Swing Analysis Engines[000132] Each specialized swing analysis model is built upon a foundation of training data that is carefully curated to reflect the biomechanical and contextual characteristics of specific swing types. These datasets are essential for enabling the engines to perform accurate fault detection, performance scoring, and biomechanical analysis. The training process involves collecting, labeling, and preprocessing swing data, followed by model training using machine learning techniques tailored to the engine’s analytical goals.[000133] The training datasets typically consist of normalized, time-sequenced positional data captured from video recordings of athletes performing swings, as described above with reference to the swing capture system 400. This data is extracted using pose estimation algorithms, which identify and track key body joints, such as shoulders, elbows, wrists, hips, knees, and ankles, across video frames. Each joint is represented by its coordinates in either two- dimensional (x, y) or three-dimensional (x, y, z) space, and indexed over time (t). The result is a structured dataset of joint trajectories that describe the motion of the athlete during the swing.[000134] To ensure consistency and generalizability, as described above, the raw pose data is normalized. Normalization includes transformations such as horizontal flipping for left-handed players, scaling to account for camera distance, and coordinate reorientation to standardize the vertical axis. These transformations allow the same engine to analyze swings from different athletes and camera setups without retraining.[000135] Each training dataset is labeled with metadata that describes the swing context. This includes the sport (e.g., tennis, baseball, golf), the swing type (e.g., forehand topspin, serve, drive), the athlete’s stance and footwork, the ball height and trajectory, and the camera angle. Fault annotations are also included, identifying specific biomechanical errors such as excessive backswing, poor follow-through, or unstable foot placement. These labels are used during supervised learning to teach the engine to associate motion patterns with faults and performance metrics.[000136] Some engines use image-based training data. In these cases, the joint trajectories are rendered as visual plots, such as ID positional graphs of a wrist’s x-coordinate over time, and converted into images. These images are then used to train convolutional neural networks (CNNs), which are optimized for pattern recognition in spatial data. This approach allows the engine to leverage advances in image classification and benefit from hardware acceleration during inference.[000137] Other engines use time-series data directly and are trained using recurrent neural networks (RNNs) or long short-term memory (LSTM) models. These models are capable of learning temporal dependencies in joint motion, making them ideal for detecting timing-related faults such as delayed shoulder rotation or premature wrist snap. The training data for these engines includes sequences of joint positions over time, along with labels indicating the presence or absence of specific faults.[000138] In engines that use polynomial regression, the training data is used to derive reference curves for each body part and swing type. For example, the elbow trajectory during a forehand topspin swing might be modeled as a third-degree polynomial. During training, the system computes these reference polynomials for both ideal and faulty swings. At runtime, the engine fits a polynomial to the athlete’s swing data and compares it to the reference curves using metrics such as mean squared error or area between curves.[000139] The training process also includes the computation of body part weights. These weights represent the reliability of each body part in detecting specific faults. For instance, the right elbow might be highly accurate in detecting a giant backswing fault in tennis, while the left eye might be less informative. These weights are learned during training and stored in the engine’s metadata. They are used during analysis to scale fault probabilities and improve scoring accuracy.[000140] Training datasets are often segmented by camera angle and athlete orientation. This allows the system to train engines that are specialized for different viewpoints, such as sideview or rear-view analysis. The scoring engine selector 614 uses this metadata to match engines to the current swing context, ensuring that the analysis is performed using models trained on similar data.[000141] In the preferred embodiment, engines are pretrained before deployment and do not require retraining during runtime. This ensures consistent performance and low latency. The training datasets are stored in reference data containers and may be embedded in the engine or accessed from external sources, such as files or cloud repositories.[000142] Data Labeling Process[000143] The data labeling process is a critical step in preparing training datasets for the specialized swing analysis engines. It transforms raw pose and motion data into structured, annotated datasets that can be used to train machine learning models to detect faults, measure performance, and provide biomechanical insights.[000144] Labeling begins after swing data has been captured and normalized. The raw data consists of time-sequenced positional coordinates for each body joint, typically in 2D (x, y) or 3D (x, y, z), across the duration of the swing. This data is indexed by time (t), forming a multidimensional dataset that represents the athlete’s motion. Before labeling, the data is often preprocessed to correct for occlusions, normalize coordinate frames, and filter noise.[000145] Each swing sample in the dataset is then annotated with metadata that describes the context and characteristics of the swing. This includes the sport (e.g., tennis, baseball), the swing type (e.g., forehand topspin, serve), the athlete’s handedness, the camera angle, and environmental conditions such as lighting or background clutter. These contextual labels are essential for training engines that are sensitive to specific conditions and viewpoints.[000146] In addition to contextual metadata, each swing is labeled with performance metrics and fault annotations. Fault labels identify specific biomechanical errors observed in the swing, such as “giant backswing,” “early wrist release,” “unstable foot plant,” or “truncated follow-through.” These faults are typically identified by expert annotators, such as coaches or biomechanists, who review the swing data and mark the presence, severity, and location of each fault.[000147] Labeling may also include temporal markers, such as the frame number at which ball impact occurs, the start and end of the backswing, or the peak of shoulder rotation. These markers allow engines to focus their analysis on critical phases of the swing and improve the precision of fault detection.[000148] For engines that use image-based inputs, the labeling process includes generating visual representations of joint motion. For example, the x-coordinate of the wrist over time may be plotted as a curve and saved as an image. These images are then labeled with the corresponding fault type or performance metric, enabling the training of convolutional neural networks (CNNs) for image classification.[000149] In engines that use polynomial regression, the labeling process involves fitting reference curves to ideal and faulty swings. Each curve is tagged with its swing type, faultclassification, and body part. During training, the engine learns to compare new swing data against these labeled reference curves to detect deviations.[000150] The labeling process also includes assigning confidence weights to each body part for each fault type. These weights are learned during training and reflect how reliably a given joint’s motion predicts a specific fault. For example, the right elbow might have a weight of 100 for detecting a giant backswing in tennis, while the left eye might have a weight of 20. These weights are stored in the engine’s metadata and used during runtime to scale fault probabilities.[000151] Labeling is often performed using specialized annotation tools that allow experts to view pose trajectories, overlay reference data, and input labels interactively. These tools may support frame-by-frame inspection, side-by-side comparison with ideal swings, and automated suggestions based on prior annotations.[000152] Once labeled, the dataset is validated to ensure consistency and accuracy. This may involve cross-checking annotations, running statistical checks on label distributions, and testing the dataset on preliminary models. High-quality labeled data is essential for training engines that generalize well across athletes, environments, and swing styles.[000153] For performance metrics, the swing speed scoring engine computes the average velocity of key joints (e.g., wrist, elbow, shoulder) during the swing. It uses time-differentiated pose data and applies smoothing filters to reduce noise. The resulting speed is compared to reference ranges derived from professional athletes.[000154] A fault ranking engine is specialized for producing a prioritized list of detected faults. It evaluates all fault probabilities and weights, ranks them by severity, and outputs the top N faults (e.g., top 3). Each fault is annotated with its probability, weight, and affected body parts.[000155] In sports with complex footwork, the foot stability scoring engine analyzes ground contact duration, lateral displacement, and foot alignment. It uses biomechanical models to assess balance and stability during the swing.[000156] A timing consistency engine evaluates the synchronization of key swing events, such as toss, jump, and racket acceleration. It uses temporal markers and LSTM-based predictions to detect timing mismatches.[000157] Fig. 7 illustrates an example operation of the swing analysis system 700. The swing analysis system 700 receives normalized swing data, including pose-estimate joint coordinates and contextual metadata, for an individual swing attempt 702.[000158] A contextual data extraction engine analyzes the input to classify the swing type and extract relevant contextual parameters, such as sport, swing type, athletic orientation, and camera angle 704.[000159] Based on the classified swing type and contextual parameters, an analysis model selector selects a specialized artificial intelligence swing analysis model from a set of pre-trained models 706.[000160] The selected swing analysis model evaluates the swing by analyzing joint trajectories, timing, and motion patterns to generate swing metrics tailored to the swing type 708. These metrics may include joint velocity, angular displacement, timing consistency, and swing plane deviation. A scoring engine then processes the swing metrics to generate structured performance scores, fault probabilities, and ranked feedback 710. The results are stored in a results depository and presented to the user through graphical overlays, textual summaries, or interactive dashboards.[000161] FIG. 8 illustrates an example computing system 800 for use in implementing the described technology. The computing system 800 may include one or more client computing devices (such as a laptop computer, a desktop computer, or a tablet computer), a server / cloud computing device, an Intemet-of-Things (loT), any other type of computing device, or a combination of these options. The computing system 800 includes a hardware processor system (including one or more hardware processors 802) and a memory 804. The memory 804 generally includes both volatile memory (e.g., RAM) and nonvolatile memory (e.g., flash memory), although one or the other type of memory may be omitted. An operating system 810 resides in the memory 804 and is executed by the processors 802. In some implementations, the computing system 800 includes and / or is communicatively coupled to storage 820.[000162] In the example computing system 800, as shown in FIG. 8, one or more software engines, segments, and / or processors, such as applications 840, a swing capture engine, a swing analysis engine, and other program code and engines are loaded into the operating system 810 on the memory 804 and / or the storage 820 and executed by the processors 802. The storage 820 may store swing capture data, and other data, and be local to the computing system 800 or may be remote and communicatively connected to the computing system 800. In particular, in one implementation, components of a system for capturing or analyzing sport swing data may be implemented entirely in hardware or in a combination of hardware circuitry and software.[000163] The computing system 800 includes a power supply 816, which may include or be connected to one or more batteries or other power sources, and which provides power to othercomponents of the computing system 800. The power supply 816 may also be connected to an external power source that overrides or recharges the built-in batteries or other power sources.[000164] The computing system 800 may include one or more communication transceivers 830, which may be connected to one or more antennas 832 to provide network connectivity (e.g., mobile phone network, Wi-Fi®, Bluetooth®) to one or more other servers, client devices, loT devices, and other computing and communications devices. The computing system 800 may further include a communications interface 836 (such as a network adapter or an I / O port, which are types of communication devices). The computing system 800 may use the adapter and any other types of communication devices for establishing connections over a wide-area network (WAN) or local-area network (LAN). It should be appreciated that the network connections shown are exemplary and that other communications devices and means for establishing a communications link between the computing system 800 and other devices may be used.[000165] The computing system 800 may include one or more input devices 834 such that a user may enter commands and information (e.g., a keyboard, trackpad, or mouse). These and other input devices may be coupled to the server by one or more interfaces 838, such as a serial port interface, parallel port, or universal serial bus (USB). The computing system 800 may further include a display 822, such as a touchscreen display.[000166] The computing system 800 may include a variety of tangible processor-readable storage media and intangible processor-readable communication signals. Tangible processor- readable storage can be embodied by any available media that can be accessed by the computing system 800 and can include both volatile and nonvolatile storage media and removable and nonremovable storage media. Tangible processor-readable storage media excludes intangible and transitory communications signals (such as signals per se) and includes volatile and nonvolatile, removable and non-removable storage media implemented in any method, process, or technology for storage of information such as processor-readable instructions, data structures, program engines, or other data. Tangible processor-readable storage media includes, but is not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CDROM, digital versatile disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage, or other magnetic storage devices, or any other tangible medium which can be used to store the desired information and which can be accessed by the computing system 800. In contrast to tangible processor-readable storage media, intangible processor-readable communication signals may embody processor-readable instructions, data structures, program engines, or other data resident in a modulated data signal, such as a carrier wave or other signaltransport mechanism. The term "modulated data signal" means a signal that has one or more of its characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, intangible communication signals include signals traveling through wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, RF, infrared, and other wireless media.[000167] Clause 1. A computer-implemented method of capturing sports swing features from a single-camera video, the computer-implemented method comprising: capturing a video of a swing motion of an athlete using a single, monocular camera; processing the video to detect body part key points for each video frame by applying pose estimation techniques to identify selected anatomical parts of the athlete and generate positional data; estimating a two- dimensional pose for each video frame based on the detected body part key points of each frame by interpolating between detected body part key points to project the detected body part key points onto a plane; generating a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and storing the swing data for analysis.[000168] Clause 2. The computer-implemented method of clause 1, wherein processing includes applying normalization methods to the detected body part key points to account for variations in camera angle, athlete orientation, or environmental conditions.[000169] Clause 3. The computer-implemented method of clause 2, wherein the normalization methods include scaling positional data based on a size of the athlete in a video frame to compensate for camera distance.[000170] Clause 4. The computer-implemented method of clause 2, wherein the normalization methods include flipping horizontal coordinates to standardize swings from lefthanded to right-handed athletes.[000171] Clause 5. The computer-implemented method of clause 2, wherein the normalization methods include correcting for camera angle by applying rotational transformation to align the positional data with a standard reference frame.[000172] Clause 6. The computer-implemented method of clause 1, further comprising applying temporal smoothing to the time-sequence of body part key points to reduce noise and jitter in joint trajectories.[000173] Clause 7. The computer-implemented method of clause 1, further comprising detecting and correcting anomalies in the body part key points using statistical filtering or interpolation techniques.[000174] Clause 8. The computer-implemented method of clause 1, further comprising segmenting the video into individual swing events using motion-based detection.[000175] Clause 9. A computing device for capturing sports swing features from a singlecamera video, the computing device comprising: a processor system including one or more hardware processors; a memory; a swing capture engine executable by the processor system, storable in the memory, and configured to capture a video of a swing motion by an athlete using a single, monocular camera; a pose estimation engine executable by the processor system, storable in the memory, and configured to process the video to detect body part key points for each frame by applying pose estimation methods to identify selected anatomical parts of the athlete; a pose generation engine, executable by the processor system, storable in the memory, and configured to estimate a two-dimensional pose for each frame based on the detected body part key points by interpolating between key points to project them onto a plane and generate a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and a data storage engine executable by the processor system, storable in the memory, and configured to store the swing data for analysis.[000176] Clause 10. The computing device of clause 9, further comprising a transformation engine executable by the processor system, storable in the memory, and configured to normalize the swing data by applying one or more transformations to coordinates of the body part key points of each frame to normalize the swing data.[000177] Clause 11. The computing device of clause 10, wherein at least one of the one or more transformations includes scaling positional data based on a size of an athlete in a video frame to normalize for camera distance.[000178] Clause 12. The computing device of clause 10, wherein at least one of the one or more transformations includes flipping a horizontal coordinate frame for left-handed athletes to match a right-handed reference frame.[000179] Clause 13. The computing device of clause 10, wherein at least one of the one or more transformations correcting for camera angle by applying rotational transformations to align the two-dimensional pose with a standard reference frame.[000180] Clause 14. The computing device of clause 10, wherein at least one of the one or more transformations applies temporal smoothing to the time-sequence of body part key points to reduce noise and jitter in joint trajectories.[000181] Clause 15. The computing device of clause 10, wherein at least one of the one or more transformations detects and corrects anomalies in joint trajectories using statistical filtering or interpolation techniques.[000182] Clause 16. The computing device of clause 9, further comprising a swing detection engine, executable by the processor system, storable in the memory, and configured to segment the video into individual swings using motion-based detection.[000183] Clause 17. One or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process for capturing sports swing features from a single-camera video, the process comprising: capturing a video of a swing motion of an athlete using a single, monocular camera; processing the video to detect body part key points for each frame by applying pose estimation techniques to identify selected anatomical parts of the athlete and generate positional data; estimating a two- dimensional pose for each frame based on the detected body part key points of each frame by interpolating between detected body part key points to project the detected body part key points onto a plane; generating a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and storing the swing data for analysis.[000184] Clause 18. The one or more tangible processor-readable storage media of clause17, wherein processing includes applying normalization methods to the detected body part key points to account for variations in camera angle, athlete orientation, or environmental conditions.[000185] Clause 19. The one or more tangible processor-readable storage media of clause18, wherein the normalization methods include scaling positional data based on a size of the athlete in a video frame to compensate for camera distance.[000186] Clause 20. The one or more tangible processor-readable storage media of clause 18, wherein the normalization methods include flipping horizontal coordinates to standardize swings from left-handed to right-handed athletes.[000187] Clause 21. The one or more tangible processor-readable storage media of clause 18, wherein the normalization methods include correcting for camera angle by applying rotational transformation to align the positional data with a standard reference frame.[000188] Clause 22. The one or more tangible processor-readable storage media of clause 17, further comprising applying temporal smoothing to the time-sequence of body part key points to reduce noise and jitter in joint trajectories.[000189] Clause 23. The one or more tangible processor-readable storage media of clause 17, further comprising detecting and correcting anomalies in the body part key points using statistical filtering or interpolation techniques.[000190] Clause 24. The one or more tangible processor-readable storage media of clause 17, further comprising segmenting the video into individual swing events using motion-based detection.[000191] Clause 25. A computer-implemented method for sports swing analysis adaptive to swing type and context, comprising: receiving swing data and context for a swing by an athlete; classifying, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instance being labelled as a specified swing type; selecting an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysis models, wherein the selected artificial intelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; and generating swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model, to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.[000192] Clause 26. The computer-implemented method of clause 25, wherein the artificial intelligence classification model is configured to use contextual parameters including sport type, swing subtype, athlete orientation, and camera angle to improve classification accuracy.[000193] Clause 27. The computer-implemented method of clause 25, wherein the artificial intelligence swing analysis model is selected based on a scoring function that evaluates alignment between swing context and model metadata using weighted parameter matching.[000194] Clause 28. The computer-implemented method of clause 25, wherein the artificial intelligence swing analysis model is configured to detect faults by analyzing joint trajectories and comparing them to reference motion patterns derived from professional athletes.[000195] Clause 29. The computer-implemented method of clause 25, wherein the swing analysis metrics include joint velocity, angular displacement, timing consistency, and swing plane deviation.[000196] Clause 30. The computer-implemented method of clause 25, wherein the swing analysis results are generated using a composite scoring engine that aggregates multiple performance attributes into a single swing quality score.[000197] Clause 31. The computer-implemented method of clause 25, wherein the swing analysis results include fault probabilities, ranked fault severity, and annotated feedback based on model confidence weights.[000198] Clause 32. The computer-implemented method of clause 25, wherein the swing analysis results are presented to a user via graphical overlays, textual summaries, and interactive dashboards.[000199] Clause 33. A computing system for analyzing swing data based on swing type and context obtained from a single-camera video, the computing system comprising: a processor system including one or more hardware processors; a memory; a contextual data extraction engine executable by the processor system, storable in the memory, and configured to receive the swing data based on a swing of athlete and to classify, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instance being labelled as a specified swing type; an analysis model selector executable by the processor system, storable in the memory, and configured to select an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysis models, wherein the selected artificial intelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; a swing analysis engine executable by the processor system, storable in the memory, and configured to generate swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model; and a scoring engine executable by the processor system, storable in the memory, and configured to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.[000200] Clause 34. The computing system of clause 33, wherein the artificial intelligence classification model is configured to use contextual parameters, including sport type, swing subtype, athlete orientation, and camera angle, to improve classification accuracy.[000201] Clause 35. The computing system of clause 33, wherein the artificial intelligence swing analysis model is selected based on a scoring function that evaluates alignment between swing context and model metadata using weighted parameter matching.[000202] Clause 36. The computing system of clause 33, wherein the artificial intelligence swing analysis model is configured to detect faults by analyzing joint trajectories and comparing them to reference motion patterns derived from professional athletes.[000203] Clause 37. The computing system of clause 33, wherein the swing analysis metrics include joint velocity, angular displacement, timing consistency, and swing plane deviation.[000204] Clause 38. The computing system of clause 33, wherein the swing analysis results are generated using a composite scoring engine that aggregates multiple performance attributes into a single swing quality score.[000205] Clause 39. The computing system of clause 33, wherein the swing analysis results include fault probabilities, ranked fault severity, and annotated feedback based on model confidence weights.[000206] Clause 40. The computing system of clause 33, wherein the swing analysis results are presented to a user via graphical overlays, textual summaries, and interactive dashboards.[000207] Clause 41. One or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process for analyzing sports swing data based on swing type and context obtained from a single-camera video, the process comprising: receiving swing data and context for a swing by an athlete; classifying, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instance being labelled as a specified swing type; selecting an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysis models, wherein the selected artificial intelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; and generating swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model, to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.[000208] Clause 42. The one or more tangible processor-readable storage media of clause 41, wherein the artificial intelligence classification model is configured to use contextual parameters, including sport type, swing subtype, athlete orientation, and camera angle, to improve classification accuracy.[000209] Clause 43. The one or more tangible processor-readable storage media of clause 41, wherein the artificial intelligence swing analysis model is selected based on a scoring function that evaluates alignment between swing context and model metadata using weighted parameter matching.[000210] Clause 44. The one or more tangible processor-readable storage media of clause 41, wherein the artificial intelligence swing analysis model is configured to detect faults by analyzing joint trajectories and comparing them to reference motion patterns derived from professional athletes.[000211] Clause 45. The one or more tangible processor-readable storage media of clause 41, wherein the swing analysis metrics include joint velocity, angular displacement, timing consistency, and swing plane deviation.[000212] Clause 46. The one or more tangible processor-readable storage media of clause 41, wherein the swing analysis results are generated using a composite scoring engine that aggregates multiple performance attributes into a single swing quality score.[000213] Clause 47. The one or more tangible processor-readable storage media of clause 41, wherein the swing analysis results include fault probabilities, ranked fault severity, and annotated feedback based on model confidence weights.[000214] Clause 48. The one or more tangible processor-readable storage media of clause 41, wherein the swing analysis results are presented to a user via graphical overlays, textual summaries, and interactive dashboards.[000215] Some implementations may comprise an article of manufacture, which excludes software per se. An article of manufacture may comprise a tangible storage medium to store logic and / or data. Examples of a storage medium may include one or more types of computer-readable storage media capable of storing electronic data, including volatile memory or nonvolatile memory, removable or non-removable memory, erasable or non-erasable memory, writeable or re-writeable memory, and so forth. Examples of the logic may include various software elements, such as software components, programs, applications, computer programs, application programs, system programs, machine programs, operating system software, middleware, firmware, software engines, routines, subroutines, operation segments, methods, procedures, software interfaces,application program interfaces (API), instruction sets, computing code, computer code, code segments, computer code segments, words, values, symbols, or any combination thereof. In one implementation, for example, an article of manufacture may store executable computer program instructions that, when executed by a computer, cause the computer to perform methods and / or operations in accordance with the described embodiments. The executable computer program instructions may include any suitable types of code, such as source code, compiled code, interpreted code, executable code, static code, dynamic code, and the like. The executable computer program instructions may be implemented according to a predefined computer language, manner, or syntax, for instructing a computer to perform a certain operation segment. The instructions may be implemented using any suitable high-level, low-level, object-oriented, visual, compiled, and / or interpreted programming language.[000216] The implementations described herein are implemented as logical steps in one or more computer systems. The logical operations may be implemented (1) as a sequence of processor-implemented steps executing in one or more computer systems and (2) as interconnected machine or circuit engines within one or more computer systems. The implementation is a matter of choice, dependent on the performance requirements of the computer system being utilized. Accordingly, the logical operations making up the implementations described herein are referred to variously as operations, steps, objects, or engines. Furthermore, it should be understood that logical operations may be performed in any order, unless explicitly claimed otherwise or a specific order is inherently necessitated by the claim language.

Claims

1. ClaimsWHAT IS CLAIMED IS:

1. A computer-implemented method of capturing sports swing features from a singlecamera video, the computer-implemented method comprising: capturing a video of a swing motion of an athlete using a single, monocular camera; processing the video to detect body part key points for each video frame by applying pose estimation techniques to identify selected anatomical parts of the athlete and generate positional data; estimating a two-dimensional pose for each video frame based on the detected body part key points of each frame by interpolating between detected body part key points to project the detected body part key points onto a plane; generating a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and storing the swing data for analysis.

2. The computer-implemented method of claim 1, wherein processing includes applying normalization methods to the detected body part key points to account for variations in camera angle, athlete orientation, or environmental conditions.

3. The computer-implemented method of claim 2, wherein the normalization methods include scaling positional data based on a size of the athlete in a video frame to compensate for camera distance.

4. The computer-implemented method of claim 2, wherein the normalization methods include flipping horizontal coordinates to standardize swings from left-handed to right- handed athletes.

5. The computer-implemented method of claim 2, wherein the normalization methods include correcting for camera angle by applying rotational transformation to align the positional data with a standard reference frame.

6. The computer-implemented method of claim 1, further comprising applying temporal smoothing to the time-sequence of body part key points to reduce noise and jitter in joint trajectories.

7. The computer-implemented method of claim 1, further comprising detecting and correcting anomalies in the body part key points using statistical filtering or interpolation techniques.

8. The computer-implemented method of claim 1, further comprising segmenting the video into individual swing events using motion-based detection.

9. A computing device for capturing sports swing features from a single-camera video, the computing device comprising: a processor system including one or more hardware processors; a memory; a swing capture engine executable by the processor system, storable in the memory, and configured to capture a video of a swing motion by an athlete using a single, monocular camera; a pose estimation engine executable by the processor system, storable in the memory, and configured to process the video to detect body part key points for each frame by applying pose estimation methods to identify selected anatomical parts of the athlete; a pose generation engine, executable by the processor system, storable in the memory, and configured to estimate a two-dimensional pose for each frame based on the detected body part key points by interpolating between key points to project them onto a plane and generate a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and a data storage engine executable by the processor system, storable in the memory, and configured to store the swing data for analysis.

10. The computing device of claim 9, further comprising a transformation engine executable by the processor system, storable in the memory, and configured to normalize the swing data by applying one or more transformations to coordinates of the body part key points of each frame to normalize the swing data.

11. The computing device of claim 10, wherein at least one of the one or more transformations includes scaling positional data based on a size of an athlete in a video frame to normalize for camera distance.

12. The computing device of claim 10, wherein at least one of the one or more transformations includes flipping a horizontal coordinate frame for left-handed athletes to match a right-handed reference frame.

13. The computing device of claim 10, wherein at least one of the one or more transformations correcting for camera angle by applying rotational transformations to align the two-dimensional pose with a standard reference frame.

14. The computing device of claim 10, wherein at least one of the one or more transformations applies temporal smoothing to the time-sequence of body part key points to reduce noise and jitter in joint trajectories.

15. The computing device of claim 10, wherein at least one of the one or more transformations detects and corrects anomalies in joint trajectories using statistical filtering or interpolation techniques.

16. The computing device of claim 9, further comprising a swing detection engine, executable by the processor system, storable in the memory, and configured to segment the video into individual swings using motion-based detection.

17. One or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process for capturing sports swing features from a single-camera video, the process comprising: capturing a video of a swing motion of an athlete using a single, monocular camera; processing the video to detect body part key points for each frame by applying pose estimation techniques to identify selected anatomical parts of the athlete and generate positional data; estimating a two-dimensional pose for each frame based on the detected body part key points of each frame by interpolating between detected body part key points to project the detected body part key points onto a plane; generating a time-sequence of body part key points representing the swing motion to yield swing data by tracking the body part key points across multiple frames; and storing the swing data for analysis.

18. The one or more tangible processor-readable storage media of claim 17, wherein processing includes applying normalization methods to the detected body part key points to account for variations in camera angle, athlete orientation, or environmental conditions.

19. The one or more tangible processor-readable storage media of claim 18, wherein the normalization methods include scaling positional data based on a size of the athlete in a video frame to compensate for camera distance.

20. The one or more tangible processor-readable storage media of claim 18, wherein the normalization methods include flipping horizontal coordinates to standardize swings from left-handed to right-handed athletes.

21. The one or more tangible processor-readable storage media of claim 18, wherein the normalization methods include correcting for camera angle by applying rotational transformation to align the positional data with a standard reference frame.

22. The one or more tangible processor-readable storage media of claim 17, further comprising applying temporal smoothing to the time-sequence of body part key points to reduce noise and jitter in joint trajectories.

23. The one or more tangible processor-readable storage media of claim 17, further comprising detecting and correcting anomalies in the body part key points using statistical filtering or interpolation techniques.

24. The one or more tangible processor-readable storage media of claim 17, further comprising segmenting the video into individual swing events using motion-based detection.

25. A computer-implemented method for sports swing analysis adaptive to swing type and context, comprising: receiving swing data and context for a swing by an athlete; classifying, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instance being labelled as a specified swing type; selecting an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysis models, wherein the selected artificialintelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; and generating swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model, to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.

26. The computer-implemented method of claim 25, wherein the artificial intelligence classification model is configured to use contextual parameters including sport type, swing subtype, athlete orientation, and camera angle to improve classification accuracy.

27. The computer-implemented method of claim 25, wherein the artificial intelligence swing analysis model is selected based on a scoring function that evaluates alignment between swing context and model metadata using weighted parameter matching.

28. The computer-implemented method of claim 25, wherein the artificial intelligence swing analysis model is configured to detect faults by analyzing joint trajectories and comparing them to reference motion patterns derived from professional athletes.

29. The computer-implemented method of claim 25, wherein the swing analysis metrics include joint velocity, angular displacement, timing consistency, and swing plane deviation.

30. The computer-implemented method of claim 25, wherein the swing analysis results are generated using a composite scoring engine that aggregates multiple performance attributes into a single swing quality score.

31. The computer-implemented method of claim 25, wherein the swing analysis results include fault probabilities, ranked fault severity, and annotated feedback based on model confidence weights.

32. The computer-implemented method of claim 25, wherein the swing analysis results are presented to a user via graphical overlays, textual summaries, and interactive dashboards.

33. A computing system for analyzing swing data based on swing type and context obtained from a single-camera video, the computing system comprising: a processor system including one or more hardware processors; a memory; a contextual data extraction engine executable by the processor system, storable in the memory, and configured to receive the swing data based on a swing of athlete and to classify, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instance being labelled as a specified swing type; an analysis model selector executable by the processor system, storable in the memory, and configured to select an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysis models, wherein the selected artificial intelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; a swing analysis engine executable by the processor system, storable in the memory, and configured to generate swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model; and a scoring engine executable by the processor system, storable in the memory, and configured to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.

34. The computing system of claim 33, wherein the artificial intelligence classification model is configured to use contextual parameters including sport type, swing subtype, athlete orientation, and camera angle to improve classification accuracy.

35. The computing system of claim 33, wherein the artificial intelligence swing analysis model is selected based on a scoring function that evaluates alignment between swing context and model metadata using weighted parameter matching.

36. The computing system of claim 33, wherein the artificial intelligence swing analysis model is configured to detect faults by analyzing joint trajectories and comparing them to reference motion patterns derived from professional athletes.

37. The computing system of claim 33, wherein the swing analysis metrics include joint velocity, angular displacement, timing consistency, and swing plane deviation.

38. The computing system of claim 33, wherein the swing analysis results are generated using a composite scoring engine that aggregates multiple performance attributes into a single swing quality score.

39. The computing system of claim 33, wherein the swing analysis results include fault probabilities, ranked fault severity, and annotated feedback based on model confidence weights.

40. The computing system of claim 33, wherein the swing analysis results are presented to a user via graphical overlays, textual summaries, and interactive dashboards.

41. One or more tangible processor-readable storage media embodied with instructions for executing on one or more processors and circuits of a computing device a process for analyzing sports swing data based on swing type and context obtained from a single-camera video, the process comprising: receiving swing data and context for a swing by an athlete; classifying, using an artificial intelligence classification model, the swing data and context into a swing type, wherein the artificial intelligence classification model is trained by instances of training swing data, each instance being labelled as a specified swing type; selecting an artificial intelligence swing analysis model corresponding to the swing type from a set of artificial intelligence swing analysis models, wherein the selected artificial intelligence swing analysis model is pre-trained on training swing data of the specified swing type and training labels corresponding to swing analysis metrics; and generating swing analysis results by analyzing the swing, using the selected artificial intelligence swing analysis model, to generate swing analysis metrics corresponding to the swing type and to generate the swing analysis results based on the analyzed classified swing type and the swing analysis metrics, wherein the swing analysis metrics characterize performance attributes of the swing.

42. The one or more tangible processor-readable storage media of claim 41, wherein the artificial intelligence classification model is configured to use contextual parametersincluding sport type, swing subtype, athlete orientation, and camera angle to improve classification accuracy.

43. The one or more tangible processor-readable storage media of claim 41, wherein the artificial intelligence swing analysis model is selected based on a scoring function that evaluates alignment between swing context and model metadata using weighted parameter matching.

44. The one or more tangible processor-readable storage media of claim 41, wherein the artificial intelligence swing analysis model is configured to detect faults by analyzing joint trajectories and comparing them to reference motion patterns derived from professional athletes.

45. The one or more tangible processor-readable storage media of claim 41, wherein the swing analysis metrics include joint velocity, angular displacement, timing consistency, and swing plane deviation.

46. The one or more tangible processor-readable storage media of claim 41, wherein the swing analysis results are generated using a composite scoring engine that aggregates multiple performance attributes into a single swing quality score.

47. The one or more tangible processor-readable storage media of claim 41, wherein the swing analysis results include fault probabilities, ranked fault severity, and annotated feedback based on model confidence weights.

48. The one or more tangible processor-readable storage media of claim 41, wherein the swing analysis results are presented to a user via graphical overlays, textual summaries, and interactive dashboards.

Citation Information

Patent Citations

  • Motion analysis method, motion analysis display method, and motion analysis device

    CN104645582A

  • Integrated sensor and video motion analysis methods

    CN108028902B

  • Motion capture camera system and video data acquisition method using the same

    JP2021184540A

  • Display device

    KR1020250123304A

  • ECG measurement and fall management device

    KR102615408B1