Badminton game visual report generation method based on artificial intelligence

CN122598065APending Publication Date: 2026-08-18BEIJING TIGER EDDIE CULTURE MEDIA CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202610699811.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2026-05-20
Publication Date
2026-08-18

AI Technical Summary

Technical Problem

[0003]本发明的目的在于克服现有羽毛球比赛可视化报告生成技术中击球检测精度低、可视化信息单一且缺乏结构化回合分层的缺陷,提供一种基于人工智能的羽毛球比赛可视化报告生成方法,通过时序对齐与空间归一化处理生成标准化运动员运动张量,结合预训练击球事件检测网络实现高准确率的击球帧和击球类型识别,并通过场地区域划分统计停留时长和落点分布生成热力图层,利用多帧平均位移矢量准确估计球速和角度并绘制击球矢量箭头,最终以回合为单位叠加合成多图层可视化报告帧序列,生成可交互的元数据嵌入文件

Benefits of technology

通过对骨架关键点坐标序列执行时序对齐与空间归一化处理,将左侧半场运动员和右侧半场运动员的身体关键点坐标分别减去各自髋部中心点坐标以实现平移操作,再除以各自左右肩关键点之间的欧氏距离值进行尺度归一化,然后对全部关键点坐标按照时间维度执行滑动窗口均值滤波以消除时序抖动,最终组织成以运动员身份索引、时间帧索引、关键点坐标数值为维度的三维张量。这种处理方式消除了不同运动员身体尺寸差异以及相机拍摄距离、角度变化导致的坐标尺度不一致问题,使得后续击球事件检测网络输入的运动员运动张量具有统一的尺度基准;滑动窗口均值滤波去除了单帧骨架检测的随机抖动噪声,使运动员姿态变化曲线更平滑,从而显著提升击球事件检测网络对击球动作起始帧的定位精度和对杀球、高远球、吊球等击球类型的分类准确率。通过将停留时长分布和击球落点分布映射到虚拟场地模板上生成回合热力图层,具体包括创建与虚拟场地模板尺寸相同的空白像素矩阵,将每个场地区域编号对应的停留时长数值转换为第一颜色映射值并填充到对应像素区域生成停留时长热力子层,将每个场地区域编号对应的落点总次数数值转换为第二颜色映射值并填充生成落点分布热力子层,然后对两个热力子层执行半透明叠加融合。这种方式将回合内运动员的跑动偏好和击球策略以颜色密度分布形式直观呈现在场地模板上,相比传统单一场地标记方式,能够同时呈现运动员活动强度和对手受压制区域的空间关联信息,使教练和运动员无需分析原始数据即可快速识别战术弱点。同时,在击球矢量箭头绘制中,以击球帧编号对应的击球点坐标为起点,提取击球帧后连续三至四帧的羽毛球位置坐标,计算各帧位移矢量并取平均值得到击球初始飞行矢量,再计算矢量模长除以三倍帧间隔时间得到球速估计值,计算矢量与水平参考轴夹角得到击球角度估计值,最后在虚拟场地模板上绘制长度与球速成正比的带箭头线段,线段颜色与击球类型关联。这种多帧平均位移方法有效抑制了单帧轨迹点检测误差对球速和角度计算的扰动,使得球速和角度估计值更接近真实羽毛球飞行初速度,同时击球类型对应的颜色编码让用户一眼分辨出不同技术动作的运用频率和效果,为战术分析提供了量化的可视化依据。

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122598065A_ABST
    Figure CN122598065A_ABST
Patent Text Reader

Abstract

The application discloses a badminton match visual report generation method based on artificial intelligence and belongs to the technical field of sports video analysis. The method comprises the following steps: collecting a badminton match video stream and frame by frame analyzing and extracting a player skeleton key point coordinate sequence and a badminton trajectory point coordinate sequence; performing time sequence alignment and space normalization on the skeleton key point coordinate sequence to generate a standardized player motion tensor; inputting the motion tensor and the trajectory point sequence into a pre-trained hitting event detection network to detect a hitting frame number and a hitting type; segmenting the match into multiple round segments according to the hitting frame number and constructing a round data structure; performing court area division for each round, counting player staying time length distribution and hitting landing point distribution and mapping the same to a virtual court template to generate a round heat map layer, and finally generating a visual report file. The application realizes automatic and high-precision badminton match visual analysis and generates an intuitive round-level report.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of sports video analysis technology, specifically to a method for generating visual reports of badminton matches based on artificial intelligence. Background Technology

[0002] Current badminton match technical analysis primarily relies on manual review of video recordings and recording of athlete movement positions, shot landing points, and shot types. This approach is time-consuming, labor-intensive, and highly subjective. A few automated analysis solutions utilize computer vision technology to extract athlete positions and shuttlecock trajectories, but these largely remain at the level of simple tracking, failing to perform precise detection of shot movements and struggling to transform spatiotemporal data into intuitive tactical heatmaps and vector arrow reports. Traditional methods directly use raw coordinates for key skeleton points, neglecting differences in athlete body size and scale inconsistencies caused by camera perspectives. This results in poor generalization ability and low detection accuracy for subsequent shot detection models. Furthermore, shot event detection often relies on single features (such as sudden changes in shuttlecock speed), ignoring temporal changes in athlete posture, leading to frequent missed and false detections. Post-shot speed and angle calculations often employ fixed-frame-interval displacement estimation without smoothing multi-frame displacements, making the estimation results highly susceptible to trajectory jitter. The generation of rally-level visualization reports typically involves mixing all court data, lacking a structured presentation layered by rally, making it difficult for users to quickly locate tactical details in specific rallies. The problems to be solved by this invention are: how to generate standardized athlete motion tensors by temporally aligning and spatially normalizing the coordinates of key points on the athlete's skeleton, thereby improving the accuracy and robustness of ball-hitting event detection; and how to generate heat maps based on the distribution of athlete dwell time and ball landing point at the round level, and accurately estimate ball speed and angle by combining the initial flight vector of the ball, draw ball-hitting vector arrows, and finally synthesize a multi-layered, interactive round visualization report. Summary of the Invention

[0003] The purpose of this invention is to overcome the shortcomings of existing badminton match visualization report generation technologies, such as low accuracy in hit detection, limited visualization information, and lack of structured rally layering. It provides an artificial intelligence-based method for generating badminton match visualization reports. This method generates standardized athlete motion tensors through temporal alignment and spatial normalization, combines them with a pre-trained hit event detection network to achieve high-accuracy hit frame and hit type identification, generates heatmaps by statistically analyzing court area division, dwell time, and landing point distribution, accurately estimates ball speed and angle using multi-frame average displacement vectors, and draws hit vector arrows. Finally, it overlays and synthesizes a multi-layered visualization report frame sequence on a rally-by-rally basis, generating an interactive metadata embedding file.

[0004] The objective of this invention can be achieved through the following technical solutions: This invention provides an AI-based method for generating visual reports of badminton matches. The method first acquires a badminton match video stream and analyzes it frame by frame. A multi-person pose estimation neural network is used to extract the coordinate sequences of key skeletal points of the athletes and the coordinate sequences of badminton trajectory points, providing accurate motion and trajectory data for subsequent analysis. Temporal alignment and spatial normalization are performed on the skeletal key point coordinate sequences. Specifically, the influence of athlete body shape differences and camera perspective changes is eliminated by translating the hip center point and normalizing the distance scale between the left and right shoulders. Then, a sliding window mean filter is used to eliminate temporal jitter, generating a standardized athlete motion tensor, significantly improving the robustness and accuracy of subsequent hit detection. The athlete motion tensor and the badminton trajectory point coordinate sequences are input into a pre-trained hit event detection network. This network consists of stacked temporal convolutional layers and attention mechanism layers, outputting hit probability values, hit type classification values, and hit frame offsets. Based on this, the hit frame number and hit type corresponding to each hit action are detected, achieving high-precision hit event recognition and laying the foundation for rally segmentation and tactical analysis. The entire match was divided into multiple rounds based on the shot frame number. For each round, a round data structure was constructed containing the athlete's motion tensor sequence, the badminton trajectory coordinate subsequence, the start frame number, and the end frame number. This structured the continuous match, facilitating independent analysis by round. The athlete's motion tensor in each round data structure was divided into six areas: left front court, right front court, left mid-court, right mid-court, left back court, and right back court. By extracting the coordinates of key athlete foot points and shuttlecock landing points, the distribution of athlete dwell time and shot landing points within each area was statistically analyzed, quantifying the athlete's running coverage and hitting tendency, providing objective data for tactical evaluation. The dwell time and shot landing point distributions were mapped onto the virtual court template. Heatmap sublayers for dwell time and shot landing points were generated using color mapping, and then semi-transparently overlaid and merged to create a round heatmap layer, visually displaying the athlete's densely populated areas and the opponent's pressure areas. By associating the shot type with the shot frame number, and using the average displacement vector calculated from the coordinates of the shot point and the coordinates of consecutive frames after flight to obtain the initial flight vector, the ball speed estimate and the shot angle estimate are calculated. On the virtual court template, an arrowed line segment with a length proportional to the ball speed is drawn along the shot angle direction, starting from the coordinates of the shot point. The color of the line segment is associated with the shot type, realizing a visual representation of the speed, angle and type of each shot, which is convenient for analyzing the shot quality and tactical intentions.All round heatmaps and all shot vector arrows are overlaid chronologically to create a multi-layered visualization report frame sequence. Specifically, a blank composite canvas is created for each round segment, and a round heatmap layer, a vector arrow layer, and a text annotation layer containing round identifiers and shot type statistics are drawn sequentially. Single-frame visualization images are generated and organized into a sequence according to round time, forming a dynamic and information-rich visualization report that makes the game progress clear at a glance. The multi-layered visualization report frame sequence is encoded, compressed, and embedded with game metadata. A compressed video stream is generated through a video encoder, and metadata such as the game date, names of both players, final score, and scores per round are organized in Extensible Markup Language (XML) format. A mapping table between metadata description text and timestamps of video keyframes is established, enabling an interactive function where users can automatically highlight the corresponding game metadata when clicking on any round segment. Finally, it is packaged into an interactive visualization report file, improving the report's browsability and information retrieval efficiency, making it easier for coaches, athletes, and analysts to quickly locate and analyze key game segments.

[0005] The beneficial effects of this invention are: By performing temporal alignment and spatial normalization on the skeleton keypoint coordinate sequence, the coordinates of the body keypoints of the left and right half-court athletes are translated by subtracting their respective hip center point coordinates. Then, the coordinates are normalized by dividing by the Euclidean distance between their left and right shoulder keypoints. Finally, a sliding window mean filter is applied to all keypoint coordinates along the time dimension to eliminate temporal jitter. This results in a three-dimensional tensor with athlete identity index, time frame index, and keypoint coordinate values ​​as dimensions. This processing method eliminates the inconsistency in coordinate scale caused by differences in athlete body size and variations in camera shooting distance and angle, ensuring a unified scale benchmark for the athlete motion tensor input to the subsequent hitting event detection network. The sliding window mean filter removes random jitter noise from single-frame skeleton detection, making the athlete posture change curve smoother. This significantly improves the positioning accuracy of the hitting event detection network for the starting frame of the hitting action and the classification accuracy for hitting types such as smashes, high clears, and drop shots. A heatmap layer for each round is generated by mapping the distribution of dwell time and shot landing points onto a virtual court template. Specifically, this involves creating a blank pixel matrix of the same size as the virtual court template, converting the dwell time value corresponding to each court area number into a first color mapping value and filling the corresponding pixel area to generate a dwell time heatmap sublayer, and converting the total number of shots corresponding to each court area number into a second color mapping value and filling the area to generate a shot landing distribution heatmap sublayer. The two heatmap sublayers are then semi-transparently overlaid and blended. This method visually presents the athlete's running preferences and hitting strategies within a round on the court template in the form of color density distribution. Compared to traditional single court marking methods, it can simultaneously present the spatial correlation information between the athlete's activity intensity and the opponent's suppressed area, allowing coaches and athletes to quickly identify tactical weaknesses without analyzing raw data. Meanwhile, in the drawing of the hit vector arrow, starting from the coordinates of the hit point corresponding to the hit frame number, the coordinates of the badminton shuttlecock position in three to four consecutive frames after the hit frame are extracted. The displacement vector of each frame is calculated and averaged to obtain the initial flight vector of the hit. Then, the vector magnitude is calculated and divided by three times the frame interval time to obtain the estimated shuttlecock speed. The angle between the vector and the horizontal reference axis is calculated to obtain the estimated hit angle. Finally, an arrowed line segment with a length proportional to the shuttlecock speed is drawn on the virtual court template, and the color of the line segment is associated with the hit type. This multi-frame averaging displacement method effectively suppresses the disturbance of single-frame trajectory point detection error on the calculation of shuttlecock speed and angle, making the estimated shuttlecock speed and angle closer to the actual initial velocity of the badminton shuttlecock. At the same time, the color coding corresponding to the hit type allows users to distinguish the frequency and effect of different technical actions at a glance, providing a quantitative and visual basis for tactical analysis. Attached Figure Description

[0006] The invention will now be further described with reference to the accompanying drawings.

[0007] Figure 1This is a schematic diagram illustrating the working principle of the artificial intelligence-based badminton match visualization report generation method described in this invention. Figure 2 This is a flowchart of the process for extracting key points of the athlete's skeleton and the trajectory of the badminton shuttlecock from a badminton match video; Figure 3 This is a flowchart of the ball-hitting event detection and rally segmentation process. Detailed Implementation

[0008] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0009] See Figure 1 This invention provides a method for generating a visual report of a badminton match based on artificial intelligence, comprising: acquiring a badminton match video stream and parsing the video stream frame by frame to extract the coordinate sequence of the athlete's skeleton key points and the coordinate sequence of the badminton trajectory points; performing temporal alignment and spatial normalization processing on the skeleton key point coordinate sequence to generate a standardized athlete motion tensor; inputting the athlete motion tensor and the badminton trajectory point coordinate sequence into a pre-trained hit event detection network to detect the hit frame number and hit type corresponding to each hit action; dividing the entire match into multiple rally segments according to the hit frame number and constructing a rally data structure for each rally segment; and processing each rally segment... The athlete motion tensor in the round data structure is used to divide the court area and statistically analyze the distribution of the athlete's dwell time and shot landing point in each court area. The dwell time distribution and shot landing point distribution are mapped onto the virtual court template to generate a round heat map layer. The shot type is associated with the shot frame number to extract the estimated ball speed and shot angle for each shot and draw the shot vector arrow on the virtual court template. All round heat map layers and all shot vector arrows are overlaid in chronological order to synthesize a multi-layer visualization report frame sequence. The multi-layer visualization report frame sequence is encoded, compressed, and embedded with competition metadata to generate an interactive visualization report file.

[0010] Example 1: In specific implementation, refer to Figure 2 The system acquires the original badminton match video stream from the video capture device and decodes it to obtain a continuous sequence of video frames. The decoding process involves inputting the original badminton match video stream into a video decoder, which then outputs a continuous sequence of video frames.

[0011] In practice, each frame of a continuous video image sequence is input into a multi-person pose estimation neural network. This network is a pre-trained neural network; its input is a single image frame, and its output is the set of coordinates of all detected athlete body keypoints within that frame. Specifically, the multi-person pose estimation neural network outputs the coordinate sets of the left-hand athlete and the right-hand athlete for each frame. The left-hand athlete's coordinate set includes the head keypoints, left and right shoulder keypoints, left and right elbow keypoints, left and right wrist keypoints, left and right hip keypoints, left and right knee keypoints, and left and right ankle keypoints. The set of key body coordinates for the right-hand side athlete includes the head key points, left and right shoulder key points, left and right elbow key points, left and right wrist key points, left and right hip key points, left and right knee key points, and left and right ankle key points.

[0012] In practice, the pixel coordinates of the shuttlecock's location in each frame of the image are used as the initial trajectory points of the shuttlecock. The pixel coordinates of the shuttlecock's location are then used by a target detection neural network to detect the shuttlecock in each frame of the image and output the pixel coordinates of the shuttlecock's location.

[0013] In practice, Kalman filtering is applied to the initial trajectory points of the badminton shuttlecock to smooth out erroneous detection points and generate a sequence of shuttlecock trajectory point coordinates. The input to the Kalman filtering smoothing process is the sequence of initial trajectory points of the badminton shuttlecock, and the output is the filtered sequence of shuttlecock trajectory point coordinates. The Kalman filtering smoothing process includes: setting the state vector of the Kalman filter to the position and velocity of the badminton shuttlecock, setting the observation vector of the Kalman filter to the initial trajectory points of the badminton shuttlecock, filtering the initial trajectory points of the badminton shuttlecock in each time frame through the prediction and update steps of the Kalman filter, and using the filtered position as the corresponding point in the sequence of shuttlecock trajectory point coordinates.

[0014] In practice, the key point coordinate sets of the left-hand and right-hand athletes, along with the badminton trajectory point coordinate sequence, are collectively output as the extraction results. Specifically, the key point coordinate sets of the left-hand and right-hand athletes constitute the skeleton key point coordinate sequence.

[0015] Example 2: In specific implementation, the coordinates of the hip center point of the left-hand athlete and the right-hand athlete are extracted from the skeletal key point coordinate sequence. The hip center point coordinates of the left-hand athlete are obtained by taking the arithmetic mean of the left and right hip key point coordinates of the left-hand athlete, that is, adding the left hip key point coordinates and the right hip key point coordinates of the left-hand athlete and dividing by 2. The hip center point coordinates of the right-hand athlete are obtained by taking the arithmetic mean of the left and right hip key point coordinates of the right-hand athlete, that is, adding the left hip key point coordinates and the right hip key point coordinates of the right-hand athlete and dividing by 2.

[0016] In practice, a translation operation is performed on all body keypoint coordinates of the left-half athlete by subtracting the coordinates of the left-half athlete's hip center point. The translation operation is calculated as follows: for each body keypoint coordinate of the left-half athlete, the x-coordinate of that body keypoint coordinate is subtracted from the x-coordinate of the left-half athlete's hip center point coordinate, and the y-coordinate of that body keypoint coordinate is subtracted from the y-coordinate of the left-half athlete's hip center point coordinate, resulting in the translated body keypoint coordinates of the left-half athlete.

[0017] In practice, a translation operation is performed on all key body coordinates of the right-hand athlete by subtracting the coordinates of the right-hand athlete's hip center point. The translation operation is calculated as follows: for each key body coordinate of the right-hand athlete, the x-coordinate of that key body coordinate is subtracted from the x-coordinate of the right-hand athlete's hip center point, and the y-coordinate of that key body coordinate is subtracted from the y-coordinate of the right-hand athlete's hip center point, resulting in the translated key body coordinates of the right-hand athlete.

[0018] In practice, the coordinates of all body keypoints of the left-hand athlete after the translation operation are divided by the Euclidean distance between the left and right shoulder keypoints to perform scale normalization. The Euclidean distance between the left and right shoulder keypoints is obtained by calculating the Euclidean distance between the coordinates of the left and right shoulder keypoints of the left-hand athlete. The scale normalization operation is calculated as follows: for each body keypoint coordinate of the left-hand athlete after the translation operation, the x-coordinate of that body keypoint coordinate is divided by the Euclidean distance between the left and right shoulder keypoints, and the y-coordinate is divided by the Euclidean distance between the left and right shoulder keypoints, resulting in the scale-normalized body keypoint coordinates of the left-hand athlete.

[0019] In practice, the coordinates of all body keypoints of the right-hand athlete after translation are divided by the Euclidean distance between the left and right shoulder keypoints to perform scale normalization. The Euclidean distance between the left and right shoulder keypoints is obtained by calculating the Euclidean distance between the coordinates of the left and right shoulder keypoints of the right-hand athlete. The scale normalization is calculated as follows: for each body keypoint coordinate of the right-hand athlete after translation, the x-coordinate of that body keypoint coordinate is divided by the Euclidean distance between the left and right shoulder keypoints, and the y-coordinate of that body keypoint coordinate is divided by the Euclidean distance between the left and right shoulder keypoints, resulting in the scale-normalized body keypoint coordinates of the right-hand athlete.

[0020] In practice, after scale normalization, all body keypoint coordinates are subjected to sliding window mean filtering along the time dimension to eliminate temporal jitter. The window width of the sliding window is set to w, where w is an odd number not less than 3, and the value of w ranges from 3 to 11. Sliding window mean filtering specifically includes performing sliding window mean filtering on the coordinate sequence of each body keypoint along the time dimension. The filtering formula is: in, This represents the coordinate vector of the current body key point in the filtered t-th frame image. Let represent the coordinate vector of the current body keypoint in the original (t+k)th frame image, w represent the width of the sliding window (where w is an odd number between 3 and 11), t represent the time index of the current frame, and k represent the time offset relative to the current frame. The coordinate sequence obtained after traversing all time frames with the sliding window is output as the filtered body keypoint coordinates.

[0021] In practice, the coordinates of all body keypoints after sliding window mean filtering are organized into a three-dimensional tensor structure as a standardized athlete motion tensor. The first dimension of the three-dimensional tensor structure is the athlete identity index, used to distinguish between athletes in the left and right halves of the court. The second dimension is the time frame index, corresponding to the temporal order of each image frame. The third dimension is the keypoint coordinate values, which include the x-coordinate and y-coordinate values ​​of each body keypoint.

[0022] Example 3: In specific implementation, refer to Figure 3The athlete's motion tensor is divided into multiple fixed-length temporal window segments in chronological order. The length of each temporal window segment is a predefined fixed number of frames. For each temporal window segment, a subsequence of badminton trajectory point coordinates corresponding to the time range of that temporal window segment is extracted from the badminton trajectory point coordinate sequence. The start and end frames of this subsequence are the same as the start and end frames of the temporal window segment. The temporal window segments and the badminton trajectory point coordinate subsequence are concatenated along the feature dimension to form a fused feature vector. The dimension of the fused feature vector is obtained by adding the feature dimension of the athlete's motion tensor and the dimension of the badminton trajectory point coordinates.

[0023] In practice, the fused feature vector is input into a pre-trained ball-hitting event detection network. This network consists of multiple stacked temporal convolutional layers and attention mechanisms. The temporal convolutional layers perform convolution operations along the time dimension on the input features, while the attention mechanisms perform weighted aggregation on the features output by the temporal convolutional layers. The input to the pre-trained network is the fused feature vector, and its outputs are the ball-hitting probability value, ball-hitting type classification value, and ball-hitting frame offset for each temporal window segment. The ball-hitting probability value represents the probability that the temporal window segment contains a ball-hitting event, the ball-hitting type classification value represents the category number of the ball-hitting type, and the ball-hitting frame offset represents the frame number offset of the ball-hitting event relative to the starting frame of the temporal window segment.

[0024] In practice, when the probability of hitting the ball exceeds a preset confidence threshold, the time window segment is marked as a candidate hitting segment. The confidence threshold is a preset fixed value used to filter high-confidence hitting events. The hitting frame number is located on the original timeline based on the hitting frame offset of the candidate hitting segment. The location method is as follows: the starting frame number of the candidate hitting segment in the athlete's motion tensor is added to the hitting frame offset of the candidate hitting segment to obtain the hitting frame number.

[0025] In practice, the hit type classification value of the candidate hit segments is mapped to either a smash, a high clear, a drop shot, a chop, or a flat drive as the hit type. The mapping method uses a pre-established type mapping table, where hit type classification value 0 corresponds to a smash, hit type classification value 1 corresponds to a high clear, hit type classification value 2 corresponds to a drop shot, hit type classification value 3 corresponds to a chop, and hit type classification value 4 corresponds to a flat drive.

[0026] In practice, all detected shot frame numbers are arranged in ascending chronological order to form a shot time sequence. The video frame sequence preceding the first shot frame number is extracted from the shot time sequence as the first rally prelude. The video frame sequence between every two adjacent shot frame numbers is a rally main segment. The video frame sequence after the last shot frame number is the final rally delay segment. The first rally prelude, each rally main segment, and the final rally delay segment are each labeled as an independent rally segment.

[0027] In practice, each independent round segment is assigned a unique round identifier. Round identifiers are numbered sequentially using incrementing natural numbers, starting from 1. The athlete's motion tensor quantum sequence, the badminton trajectory point coordinate subsequence, the start frame number, and the end frame number corresponding to each round segment are stored in the round data structure. The athlete's motion tensor quantum sequence is extracted from the athlete's motion tensor according to the start and end frame numbers of the round segment, and the badminton trajectory point coordinate subsequence is extracted from the badminton trajectory point coordinate sequence according to the start and end frame numbers of the round segment. The start and end frame numbers are the numbers of the first and last video frames of the round segment, respectively.

[0028] Example 4: In specific implementation, standard badminton court size parameters are obtained. These parameters include court length, court width, the location of the boundary lines between the forecourt and backcourt, and the location of the boundary lines between the left and right courts. Based on these parameters, the virtual court template is divided into six areas: left forecourt, right forecourt, left midcourt, right midcourt, left backcourt, and right backcourt. Each area has a corresponding boundary coordinate range, defined by the minimum and maximum values ​​of its x-coordinate and y-coordinate in the virtual court template coordinate system.

[0029] In practice, the athlete's foot keypoint coordinates are extracted from the athlete's motion tensor in each round's data structure for each time frame. These coordinates are indexed from the third dimension of the athlete's motion tensor and include the coordinates of the left and right feet. The athlete's foot keypoint coordinates for each time frame are compared with the boundary coordinate ranges of the six court areas to determine the court area number in which the athlete is located for that time frame. The comparison method is as follows: for both the left and right foot keypoint coordinates, it is determined whether they are within the boundary coordinate ranges of the six court areas; if the left and right foot keypoint coordinates are within the same court area number, that court area number is used as the athlete's court area number for that time frame; if the left and right foot keypoint coordinates are within different court area numbers, the court area number corresponding to the keypoint coordinate with the higher confidence level is taken as the athlete's court area number for that time frame.

[0030] In practice, the number of consecutive frames for each athlete within each venue area number is accumulated. The number of consecutive frames refers to the number of consecutive frames in which an athlete remains continuously within the same venue area number. Multiplying the number of consecutive frames by the frame interval time yields the dwell time distribution. The frame interval time is determined by the video frame rate; at 30 frames per second, the frame interval time is 1 / 30th of a second. The dwell time distribution uses the venue area number as an index, storing the dwell time value corresponding to each venue area number.

[0031] In practice, the landing point coordinates of the shuttlecock are extracted from the shuttlecock trajectory point coordinate subsequence in each round's data structure for each hitting event. The landing point coordinates are obtained by detecting the coordinates of the shuttlecock's first contact with the ground or boundary in the trajectory point coordinate subsequence. Each landing point coordinate is compared with the boundary coordinate ranges of six court areas to determine the court area number to which the landing point belongs. The comparison method is as follows: determine if the x and y coordinates of the landing point are within the boundary coordinate range of a certain court area; if they are, then that court area number is used as the court area number to which the landing point belongs. The total number of times the landing point coordinates appear under each court area number is counted as the hit landing point distribution. The hit landing point distribution stores the total number of landing points corresponding to each court area number, indexed by the court area number.

[0032] In the implementation, a blank pixel matrix of the same size as the virtual venue template is created as the base layer of the heatmap. Each pixel in the blank pixel matrix has an initial value of zero. The dwell time value corresponding to each venue area number in the dwell time distribution is converted into a first color mapping value. The first color mapping value linearly maps the dwell time value to a color value in the hue-saturation-lightness color space using a color mapping function. The larger the dwell time value, the more red-based the corresponding color value; the smaller the dwell time value, the more blue-based the corresponding color value. The first color mapping value is then filled into the pixel area corresponding to the venue area number in the heatmap base layer to generate a dwell time heatmap sub-layer. The filling method is as follows: the pixel values ​​of all pixels within the pixel area corresponding to the venue area number in the heatmap base layer are set to the first color mapping value.

[0033] In practice, the total number of landing points corresponding to each court area number in the ball landing point distribution is converted into a second color mapping value. This second color mapping value linearly maps the total number of landing points to a specific color value in the hue-saturation-lightness color space using a color mapping function. A higher total number of landing points corresponds to a color value leaning more towards the red family, while a lower total number of landing points corresponds to a color value leaning more towards the blue family. The second color mapping value is then filled into the pixel area corresponding to the court area number in the base heatmap layer to generate a landing point distribution heatmap sublayer. The filling method is as follows: the pixel values ​​of all pixels within the pixel area corresponding to the court area number in the base heatmap layer are set to the second color mapping value.

[0034] In practice, a semi-transparent overlay and blending operation is performed on the dwell time heatmap sub-layer and the landing point distribution heatmap sub-layer to generate the round heatmap layer. The semi-transparent overlay and blending operation is calculated as follows: for each pixel, the pixel value of the dwell time heatmap sub-layer and the pixel value of the landing point distribution heatmap sub-layer at that pixel are weighted and averaged according to a preset semi-transparent blending weight. The dwell time heatmap sub-layer has a weight of 0.5, and the landing point distribution heatmap sub-layer has a weight of 0.5, resulting in the blended pixel value. The blended pixel value is then assigned to the corresponding pixel in the round heatmap layer.

[0035] Example 5: In a specific implementation, the position of the shuttlecock corresponding to each hitting frame number is located from the badminton trajectory point coordinate sequence as the hitting point coordinates. The hitting point coordinates are obtained as follows: in the badminton trajectory point coordinate sequence, the shuttlecock position coordinate value corresponding to that frame is indexed according to the hitting frame number, and this coordinate value is the hitting point coordinate.

[0036] In practice, the shuttlecock positions corresponding to the three consecutive frames following each hit frame number are located from the shuttlecock trajectory point coordinate sequence, forming the post-flight coordinate set. The three consecutive frames refer to the first, second, and third frames after the hit frame number. The shuttlecock position coordinates corresponding to the first, second, and third frames after the hit frame number are extracted from the shuttlecock trajectory point coordinate sequence; these three coordinates constitute the post-flight coordinate set. The post-flight coordinate set contains three coordinates.

[0037] In practice, the displacement vector between the hitting point coordinates and each coordinate in the set of coordinates after flight is calculated, and the average value of the displacement vectors is taken as the initial flight vector for the hit. Let the hitting frame number be... The corresponding hitting point coordinates are Extract the shuttlecock position coordinates from the badminton trajectory point coordinate sequence, corresponding to frames 1 to m after the hit frame number, to form a set of post-flight coordinates. Where m is set to 3. The reason for setting m to 3 is that the shuttlecock's flight trajectory in the first three frames after the hit can relatively stably reflect the initial flight direction at the moment of impact, and avoids directional deviations caused by air resistance or shuttlecock speed decay in subsequent frames. Calculate each displacement vector. ,in The value of m is 3. The formula for calculating the initial flight vector of the ball is: in, This represents the initial flight vector of the ball upon impact. This represents the number of consecutive frames included in the averaging calculation; m takes a value of 3. This represents the displacement vector between the coordinates of the j-th flight point and the coordinates of the point of impact. This serves as the basis for subsequent calculations of ball velocity and shot angle estimates.

[0038] In practice, the ball speed is estimated by dividing the magnitude of the initial flight vector of the ball by three times the frame interval. The frame interval is determined by the video frame rate; when the video frame rate is 30 frames per second, the frame interval is 1 / 30 of a second. The magnitude of the initial flight vector of the ball is calculated... The Euclidean distance is obtained, and the calculation formula is: ,in and They are respectively The x-axis and y-axis components are shown. The unit of the ball speed estimate is pixels per second or meters per second. If it needs to be converted to actual physical speed, it is converted by the calibration ratio of pixels to actual distance.

[0039] In practice, the angle between the initial flight vector of the ball and the horizontal reference axis is calculated as the estimated hitting angle. The horizontal reference axis is a coordinate axis parallel to the baseline in the virtual court template, pointing to the right. The angle is calculated as follows: x-axis components and ordinate components The included angle is obtained through the arctangent function. The unit of angle is degrees or radians.

[0040] In practice, an arrowed line segment is drawn on the virtual court template, starting from the coordinates of the hitting point and following the direction of the estimated hitting angle. The starting point of the arrowed line segment is the coordinates of the hitting point. The direction of the line segment is determined by the estimated hitting angle. The length of the arrowed line segment is proportional to the estimated ball speed, with a preset constant, such as 10 pixels per meter per second. The color of the arrowed line segment is associated with the hitting type: red for a smash, blue for a clear, green for a drop shot, yellow for a slice, and purple for a drive.

[0041] In practice, the heatmap layer corresponding to each round segment and all the shot vector arrows drawn within that round segment are extracted sequentially according to the round time sequence. The round time sequence is determined by the numerical value of the round identifier of the round segment, with round segments having smaller values ​​being extracted first. A blank composite canvas is created for each round segment, with the size of the blank composite canvas being the same as the size of the virtual court template. The heatmap layer corresponding to the current round segment is drawn onto the blank composite canvas as a background layer, by directly copying the pixel values ​​of the heatmap layer to the corresponding pixel positions on the blank composite canvas. All the shot vector arrows within the current round segment are drawn sequentially above the background layer in the order of shot time, forming a vector arrow layer. The shot time sequence is determined by the numerical value of the shot frame number, with shot vector arrows having smaller values ​​being drawn first. The round identifier of the current round segment and the shot type statistics of the current round segment are drawn as text in the top area of ​​the blank composite canvas to form a text annotation layer. The shot type statistics include the number of times each shot type occurs within the round segment. The background layer, vector arrow layer, and text annotation layer are merged from bottom to top to output a single-frame visualization image corresponding to this episode segment. The merging method is to overlay the vector arrow layer and text annotation layer onto the background layer in sequence, with the non-transparent pixels of the upper layer covering the corresponding pixels of the lower layer.

[0042] In the specific implementation, the single-frame visualization images corresponding to all round segments are organized into a multi-layer visualization report frame sequence according to the round time order. Each frame image in the multi-layer visualization report frame sequence corresponds to a single-frame visualization image of one round segment. A video encoder is used to perform temporal compression encoding on the multi-layer visualization report frame sequence to generate a compressed video stream. The video encoder adopts the H.264 encoding standard, and the encoding parameters include a constant bitrate control mode, a target bitrate of 2 megabits per second, and a frame rate of 30 frames per second. The match date information, names of both players, final score information, and scores per round information are extracted from the match metadata. The match metadata is obtained from the metadata fields of the original match video stream or from external data sources. The match metadata is organized into metadata description text according to the Extensible Markup Language (XML) format. The structure of the metadata description text includes a root node. <match>The root node contains child nodes. <date> 、 <player1> 、 <player2>,<final_score> and<round_scores> Each child node contains corresponding data content. The compressed video stream and metadata description text are encapsulated into a container file in MP4 format. A timestamp mapping table is created within the container file, linking the metadata description text to the timestamps of each keyframe in the compressed video stream. Each row of the timestamp mapping table contains the keyframe timestamp and the corresponding round segment identifier, which is associated with the round score information in the metadata description text. The timestamp mapping table enables an interactive function where the match metadata corresponding to any round segment is automatically highlighted when the user clicks on it. The interactive function is implemented as follows: On the player side, when the user clicks on a frame in the compressed video stream, the frame's timestamp is parsed, the corresponding round segment identifier is looked up in the timestamp mapping table, and the corresponding match date, player names, final score, and round score information are extracted from the metadata description text based on the round segment identifier. This information is then displayed on the playback interface as highlighted text or a pop-up window. The encapsulated container file is output as an interactive visual report file.

[0043] The foregoing has provided a detailed description of one embodiment of the present invention, but this description is merely a preferred embodiment and should not be construed as limiting the scope of the invention. All equivalent variations and modifications made within the scope of the claims of this invention should still fall within the patent coverage of this invention. < / player1> < / date> < / match>

Claims

1. A method for generating visual reports of badminton matches based on artificial intelligence, characterized in that, include: The video stream of a badminton match is acquired and analyzed frame by frame to extract the coordinate sequence of the athlete's skeleton key points and the coordinate sequence of the badminton trajectory points; Temporal alignment and spatial normalization are performed on the skeleton keypoint coordinate sequence to generate a standardized athlete motion tensor; The athlete's motion tensor and the badminton trajectory point coordinate sequence are input into a pre-trained hit event detection network to detect the hit frame number and hit type corresponding to each hit action; The entire match is divided into multiple round segments based on the hit frame number, and a round data structure is constructed for each round segment. Perform court region partitioning on the athlete motion tensor in each round data structure and statistically analyze the distribution of athlete dwell time and shot landing point in each court region; The distribution of dwell time and the distribution of ball landing points are mapped onto the virtual court template to generate a round heat map; Associate the shot type with the shot frame number to extract the ball speed estimate and shot angle estimate for each shot and draw the shot vector arrow on the virtual court template; Overlay all round heatmaps and all hit vector arrows in chronological order to create a multi-layered visualization report frame sequence; The multi-layered visualization report frame sequence is encoded, compressed, and embedded with competition metadata to generate an interactive visualization report file.

2. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 1, characterized in that, The steps for acquiring badminton match video streams and parsing them frame-by-frame to extract the coordinate sequences of key points on the athletes' skeletons and the coordinate sequences of points on the badminton shuttlecock's trajectory include: The original badminton match video stream is acquired from the video capture device and then decoded to obtain a continuous sequence of video frame images. Each frame in a continuous sequence of video frames is input into a multi-person pose estimation neural network; The multi-person pose estimation neural network outputs the set of body key point coordinates of the left half athlete and the right half athlete in each frame of the image. The set of body key point coordinates includes head key points, left and right shoulder key points, left and right elbow key points, left and right wrist key points, left and right hip key points, left and right knee key points, and left and right ankle key points; The pixel coordinates of the badminton shuttlecock's location in each frame of the image are output as the initial trajectory points of the badminton shuttlecock. Kalman filtering is applied to the initial trajectory points of the badminton shuttlecock to smooth out erroneous detection points and generate a sequence of coordinates for the badminton shuttlecock trajectory points. The set of key body coordinates of the athlete in the left half of the court, the set of key body coordinates of the athlete in the right half of the court, and the sequence of badminton trajectory points are all extracted and output as the results.

3. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 2, characterized in that, The steps involved in performing temporal alignment and spatial normalization on the skeleton keypoint coordinate sequence to generate a standardized athlete motion tensor include: Extract the coordinates of the hip center point of the left half player and the right half player from the skeletal key point coordinate sequence. Perform a translation operation on all body key points of the left-side half-court athlete, subtracting the coordinates of the left-side half-court athlete's hip center point; Perform a translation operation on all body key points of the right half player, subtracting the coordinates of the right half player's hip center point. The coordinates of all body key points of the left half of the court athlete after translation are divided by the Euclidean distance between the left and right shoulder key points of the left half of the court athlete to perform scale normalization. The coordinates of all body key points of the right half of the court athlete after the translation operation are divided by the Euclidean distance between the left and right shoulder key points of the right half of the court athlete to perform scale normalization. After scale normalization, all body keypoint coordinates are subjected to sliding window mean filtering along the time dimension to eliminate temporal jitter. The coordinates of all body key points after sliding window mean filtering are organized into a three-dimensional tensor structure as a standardized athlete motion tensor. The first dimension of the three-dimensional tensor structure is the athlete identity index, the second dimension is the time frame index, and the third dimension is the key point coordinate value.

4. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 1, characterized in that, The steps of inputting the athlete's motion tensor and the badminton trajectory point coordinate sequence into a pre-trained hit event detection network to detect the hit frame number and hit type corresponding to each hit action specifically include: The athlete's motion tensor is divided into multiple fixed-length temporal window segments in chronological order; Each time window segment is concatenated with the corresponding subsequence of the badminton trajectory point coordinate sequence to form a fused feature vector; The fused feature vectors are input into a pre-trained ball-hitting event detection network; The ball-hitting event detection network consists of multiple stacked temporal convolutional layers and attention mechanism layers; The ball-hitting event detection network outputs the ball-hitting probability value, ball-hitting type classification value, and ball-hitting frame offset for each temporal window segment; When the probability of hitting the ball exceeds the preset confidence threshold for hitting the ball, the time window segment is marked as a candidate segment for hitting the ball; Locate the hit frame number on the original timeline based on the hit frame offset of the hit candidate segment; The stroke type classification value of the stroke candidate segment is mapped to the stroke type as smash, high clear, drop shot, chop, or flat drive.

5. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 1, characterized in that, The steps of dividing the entire match into multiple round segments based on the shot frame number and constructing a round data structure for each round segment specifically include: All detected shot frame numbers are arranged in ascending order of time to form a shot time sequence; Extract the sequence of video frames preceding the first hit frame number from the hit time sequence as the lead-in segment of the first round; The sequence of video frames between every two adjacent hit frame numbers in the hit time series is taken as a main segment of a rally; The sequence of video frames following the last hit frame in the hit time sequence is used as the post-last rally segment; The introductory segment of the first round, the main segments of each round, and the follow-up segment of the last round are each marked as an independent round segment; Assign a unique round identifier to each individual round segment; The quantum sequence of the athlete's motion, the subsequence of the coordinates of the badminton trajectory points, the start frame number, and the end frame number corresponding to each round segment are stored in the round data structure.

6. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 1, characterized in that, The steps involved in dividing the court into regions for the athlete motion tensor in each round's data structure and statistically analyzing the distribution of the athlete's dwell time and shot landing point within each region include: Obtain the standard badminton court size parameters and divide the virtual court template into six court areas based on the standard badminton court size parameters: front left zone, front right zone, mid-court left zone, mid-court right zone, back left zone, and back right zone. Extract the coordinates of the athlete's foot key points for each time frame from the athlete motion tensor in the data structure for each round. The coordinates of the athlete's foot key points in each time frame are compared with the boundary coordinate range of the six court areas to determine the court area number where the athlete is located in that time frame. The number of consecutive stay frames for each athlete under each venue area number is accumulated, and the number of consecutive stay frames is multiplied by the frame interval time to obtain the stay duration distribution; Extract the coordinates of the landing point of the badminton shuttlecock for each hit event from the subsequence of badminton trajectory points in the data structure for each round. The coordinates of each badminton shuttlecock landing point are compared with the boundary coordinates of the six court areas to determine the court area number to which the landing point belongs; The total number of badminton shuttlecock landing point coordinates appearing under each court area number is used as the shuttlecock landing point distribution.

7. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 6, characterized in that, The steps for mapping the dwell time distribution and shot landing point distribution onto a virtual court template to generate a round heatmap include: Create a blank pixel matrix with the same size as the virtual field template as the base of the heat map; Convert the dwell time value corresponding to each site area number in the dwell time distribution into the first color mapping value; The first color mapping value is filled into the pixel area corresponding to the site area number in the thermal layer base to generate a thermal sub-layer for dwell time. Convert the total number of landing points corresponding to each court area number in the ball landing point distribution into a second color mapping value; The second color mapping value is filled into the pixel area corresponding to the site area number in the thermal layer base to generate a landing point distribution thermal sublayer. Perform a semi-transparent overlay and blending operation on the dwell time thermal sublayer and the landing point distribution thermal sublayer to generate a round thermal layer.

8. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 1, characterized in that, The steps of associating the shot type with the shot frame number to extract the estimated ball velocity and shot angle for each shot and drawing the shot vector arrow on the virtual court template specifically include: The position of the badminton shuttlecock corresponding to each hit frame number is located from the badminton trajectory point coordinate sequence as the hit point coordinates; Locate the badminton position corresponding to the last three consecutive frames of each hit frame number from the badminton trajectory point coordinate sequence, and use this as the set of coordinates after flight. Calculate the displacement vector between the coordinates of the hitting point and each coordinate in the set of coordinates after the ball's flight, and take the average value of the displacement vectors as the initial flight vector of the ball. The ball velocity is estimated by dividing the magnitude of the initial flight vector of the ball by three times the frame interval. The angle between the initial flight vector of the ball and the horizontal reference axis is calculated as the estimated value of the hitting angle; Draw an arrowed line segment on the virtual court template, starting from the coordinates of the hitting point and following the direction of the estimated hitting angle. The length of the arrowed line segment is proportional to the estimated ball speed, and the color of the arrowed line segment is associated with the type of shot.

9. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 1, characterized in that, The steps for creating a multi-layered visualization report frame sequence by overlaying all round heatmaps and all shot vector arrows in chronological order include: Extract the heat map layer corresponding to each round segment and all the shot vector arrows drawn within that round segment in chronological order; Create a blank composition canvas for each round segment; Draw the turn heatmap corresponding to the current turn fragment as a background layer onto a blank composition canvas; Draw all the shot vector arrows in the current round segment in chronological order above the background layer to form a vector arrow layer; The round identifier and shot type statistics of the current round segment are drawn as text on the top area of ​​the blank composite canvas to form a text annotation layer; The background layer, vector arrow layer, and text annotation layer are merged in order from bottom to top and output as a single-frame visualization image corresponding to the episode segment. Organize the single-frame visualization images corresponding to all round segments into a multi-layer visualization report frame sequence according to the round time order.

10. The method for generating a visual report of a badminton match based on artificial intelligence according to claim 1, characterized in that, The steps for encoding and compressing a multi-layered visualization report frame sequence and embedding competition metadata to generate an interactive visualization report file specifically include: A video encoder is used to perform temporal compression encoding on the multi-layered visualization report frame sequence to generate a compressed video stream; Extract the match date, player names, final score, and points per round from the match metadata. Organize the competition metadata into metadata description text according to the Extensible Markup Language format; Encapsulate the compressed video stream and metadata description text into a container file; Create a mapping table in the container file between metadata description text and timestamp of each keyframe in the compressed video stream; The system uses a timestamp mapping table to enable an interactive function that automatically highlights the match metadata corresponding to any round segment when a user clicks on it in the compressed video stream. Output the encapsulated container file as an interactive visual report file.