A cardiopulmonary resuscitation action video processing method, device and computing equipment
Through video processing technology, the user's posture and action stages in CPR action videos are identified, which solves the problem of time-consuming assessment of the examiner frame by frame, and achieves efficient action evaluation and real-time correction.
Patent Information
- Application Number
- CN202510175914.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2025-02-18
- Publication Date
- 2025-05-23
- Estimated Expiration
- 2045-02-18
AI Technical Summary
When performing CPR action assessment, the examiner needs to evaluate video frame by frame, which takes a long time and lacks efficient video processing methods to assist in the assessment.
By obtaining videos containing user CPR action images, the height of the preset parts of the user's body within each frame of the video is determined, and the user's posture is recognized using clustering algorithms (such as K-means and DBSCAN), so that each preset stage of the user's CPR action in the video is automatically identified.
This method significantly reduces the examiner's evaluation time, improves the assessment efficiency, and can prompt or correct actions in real time according to the user's posture.
Smart Images

Figure CN119649471B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of cardiopulmonary resuscitation action assessment, and in particular to a cardiopulmonary resuscitation action video processing method, device and computing equipment. Background Art
[0002] At present, when conducting CPR action assessments, most of them rely on cameras to record the user's CPR actions, and the examiner evaluates each CPR action based on the recorded video. However, the complete CPR action takes a long time, and when the examiner conducts the assessment, it takes a lot of time to evaluate the user's CPR action frame by frame. Therefore, if the CPR action video can be processed based on image processing technology to identify the user's posture or even behavioral actions, it will be convenient for the examiner to evaluate. Summary of the invention
[0003] The present application provides a method, apparatus and computing device for processing a cardiopulmonary resuscitation action video, aiming to solve the problem mentioned in the background technology, that is, how to process a user's cardiopulmonary resuscitation action video to facilitate the examiner's assessment.
[0004] The present application embodiment provides a method for processing a cardiopulmonary resuscitation action video, including:
[0005] Obtaining a video containing images of the user performing CPR;
[0006] Determining the height of a preset part of the user's body in each frame of the video; when the user performs cardiopulmonary resuscitation, the user's body has multiple preset postures; when the user's body is in each of the preset postures, the height of the preset part is different;
[0007] The posture of the user's body in each frame of the video is determined based on the height of the preset part of the user's body in each frame.
[0008] In the embodiment of the present application, determining the posture of the user's body in each frame of the video based on the height of the preset part of the user's body in each frame includes:
[0009] Clustering the heights of the preset parts of the user's body in each frame to obtain a first clustering result;
[0010] Based on the first clustering result, a posture of a user's body in each frame of the video is determined.
[0011] In the embodiment of the present application, the preset part is a torso, and determining the height of the preset part of the user's torso in each frame of the video includes:
[0012] Based on the video, using a preset human posture model, obtaining the human posture information of the user in each frame of the video; the human posture information at least includes the height coordinates of the left shoulder joint point and the right shoulder joint point of the user, and the timestamp of the corresponding frame;
[0013] The average value of the height coordinates of the left shoulder joint point and the right shoulder joint point of the user in each frame is used as the height of the user's torso in the corresponding frame.
[0014] In the embodiment of the present application, clustering the heights of the preset parts of the user's body in each frame to obtain a first clustering result includes:
[0015] Based on the K-means algorithm, the heights of the preset parts in each frame are clustered to obtain the first clustering result.
[0016] In the embodiment of the present application, clustering the heights of the preset parts in each frame based on the K-means algorithm to obtain the first clustering result includes:
[0017] Get candidate cluster centroids and preset number of categories;
[0018] Based on the candidate cluster centroids and the preset number of classifications, clustering the heights of the user-preset parts in each frame to obtain candidate clustering results;
[0019] Based on the candidate clustering results, determine the centroid of each cluster in the candidate clustering results, if the centroid of each cluster in the candidate clustering results is different from the candidate clustering centroid, update the candidate clustering centroid to the centroid of each cluster in the candidate clustering results, cluster the heights of the user-preset parts in each frame based on the updated candidate clustering centroid, until the centroid of each cluster in the clustering results obtained based on the updated candidate clustering centroid no longer changes, or the candidate clustering centroid reaches a preset update number of times;
[0020] The final clustering result is used as the first clustering result.
[0021] In the embodiment of the present application, after obtaining the first clustering result, the method further includes:
[0022] Determining the average number of heights of preset parts in each cluster of the first clustering result;
[0023] The clusters in the first clustering result whose number of preset part heights is less than the average number are removed from the first clustering result.
[0024] In the embodiment of the present application, determining the posture of the user's body in each frame of the video based on the first clustering result includes:
[0025] respectively determining an average value of the height of the preset part in each cluster of the first clustering result;
[0026] Sort the average values of the heights of the preset parts in each cluster;
[0027] Based on the sorting result and the height order of the preset parts corresponding to each preset posture, the preset posture corresponding to each cluster of the first clustering result is determined.
[0028] In the embodiment of the present application, after determining the height of the preset part of the user's body in each frame of the video, the processing method further includes:
[0029] Clustering the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain a second clustering result;
[0030] Based on the height of the preset part of the user's body in each frame, the posture of the user's body in each frame, the second clustering result, and the matching relationship between each preset posture and each preset stage of the cardiopulmonary resuscitation action, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0031] In the embodiment of the present application, clustering the frames of the video based on the height of the preset part of the user's body in each frame and the timing of each frame in the video to obtain a second clustering result includes:
[0032] The DBSCAN algorithm is used to cluster the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain the second clustering result.
[0033] In the embodiment of the present application, after obtaining the second clustering result, the processing method further includes:
[0034] Determining the average number of heights of preset parts in each cluster of the second clustering result;
[0035] The clusters in the second clustering result whose number of preset part heights is less than the average number are removed from the second clustering result.
[0036] In the embodiment of the present application, the identifying each preset stage of the cardiopulmonary resuscitation action of the user in the video based on the height of the preset part of the user's body in each frame, the posture of the user's body in each frame, the second clustering result, and the matching relationship between each preset posture and each preset stage of the cardiopulmonary resuscitation action includes:
[0037] Determining, based on the height of the preset part of the user's body in each frame and the posture of the user's body in each frame, a standard height of the preset part when the user's body is in each preset posture;
[0038] Determining the preset postures corresponding to each cluster of the second clustering result based on the standard heights of the preset parts when the user's body is in each preset posture;
[0039] Based on the preset postures corresponding to the clusters of the second clustering result and the matching relationship between the preset postures and the preset stages of the cardiopulmonary resuscitation action, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0040] In the embodiment of the present application, the determining, based on the height of the preset part of the user's body in each frame and the posture of the user's body in each frame, the standard height of the preset part when the user's body is in each preset posture includes:
[0041] The average value of the heights of the preset parts in each frame in the same preset posture is used as the standard height of the preset part when the user's body is in the corresponding preset posture.
[0042] In the embodiment of the present application, the determining of the preset postures corresponding to the respective clusters of the second clustering results based on the standard heights of the preset parts when the user's body is in the respective preset postures includes:
[0043] Determining an average value of the heights of the preset parts in each cluster of the second clustering result;
[0044] Determine respectively the average value of the preset part height in each cluster of the second clustering result and the difference between the average value of the preset part height and the standard height value of the preset part corresponding to each preset posture; if the difference between the average value of the preset part height corresponding to any cluster and the standard height value of the preset part corresponding to any preset posture is within the preset difference range of the preset posture, the preset posture is taken as the preset posture belonging to the cluster.
[0045] In the embodiment of the present application, the preset postures corresponding to the clusters of the second clustering result and the matching relationship between the preset postures and the preset stages of the cardiopulmonary resuscitation action are used to identify the preset stages of the cardiopulmonary resuscitation action of the user in the video, including:
[0046] Obtain candidate clusters according to the time sequence of each cluster of the second clustering result in the video;
[0047] Based on the matching relationship between each preset posture and each preset stage, determining all candidate stages corresponding to the candidate cluster;
[0048] Based on the number of preset part heights in the candidate cluster and the preset range of the number of preset part heights corresponding to each candidate stage corresponding to the candidate cluster, determine the preset stage to which the candidate cluster belongs, and record the number of occurrences of the preset posture to which the candidate cluster belongs in the video;
[0049] Based on the preset stages to which each cluster of the second clustering result belongs and the number of occurrences of the preset stages to which each cluster belongs in the video, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0050] In the embodiment of the present application, the preset postures include: standing posture, standing bending posture, standing head down posture, kneeling posture, kneeling bending posture, kneeling head down posture;
[0051] The preset stages include: a preparation stage, a cyclic pressing stage, a mouth and nose cleaning stage, a cyclic blowing stage and an end stage.
[0052] The present application also proposes a cardiopulmonary resuscitation action video processing device, comprising:
[0053] An acquisition module, used for acquiring a video containing a user's cardiopulmonary resuscitation action image;
[0054] a processing module, configured to determine the height of a preset part of the user's body in each frame of the video; when the user performs cardiopulmonary resuscitation, the user's body has a plurality of preset postures; when the user's body is in each of the preset postures, the height of the preset part is different;
[0055] The posture of the user's body in each frame of the video is determined based on the height of the preset part of the user's body in each frame.
[0056] In the embodiment of the present application, the processing module is also used for:
[0057] Clustering the heights of the preset parts of the user's body in each frame to obtain a first clustering result;
[0058] Based on the first clustering result, a posture of a user's body in each frame of the video is determined.
[0059] In the embodiment of the present application, the preset part is the torso, and the processing module is further used for:
[0060] Based on the video, using a preset human posture model, obtaining the human posture information of the user in each frame of the video; the human posture information at least includes the height coordinates of the left shoulder joint point and the right shoulder joint point of the user, and the timestamp of the corresponding frame;
[0061] The average value of the height coordinates of the left shoulder joint point and the right shoulder joint point of the user in each frame is used as the height of the user's torso in the corresponding frame.
[0062] In the embodiment of the present application, the processing module is also used for:
[0063] Based on the K-means algorithm, the heights of the preset parts in each frame are clustered to obtain the first clustering result.
[0064] In the embodiment of the present application, the processing module is also used for:
[0065] Get candidate cluster centroids and preset number of categories;
[0066] Based on the candidate cluster centroids and the preset number of classifications, clustering the heights of the user-preset parts in each frame to obtain candidate clustering results;
[0067] Based on the candidate clustering results, determine the centroid of each cluster in the candidate clustering results, if the centroid of each cluster in the candidate clustering results is different from the candidate clustering centroid, update the candidate clustering centroid to the centroid of each cluster in the candidate clustering results, cluster the heights of the user-preset parts in each frame based on the updated candidate clustering centroid, until the centroid of each cluster in the clustering results obtained based on the updated candidate clustering centroid no longer changes, or the candidate clustering centroid reaches a preset update number of times;
[0068] The final clustering result is used as the first clustering result.
[0069] In the embodiment of the present application, after obtaining the first clustering result, the processing module is further used to:
[0070] Determining the average number of heights of preset parts in each cluster of the first clustering result;
[0071] The clusters in the first clustering result whose number of preset part heights is less than the average number are removed from the first clustering result.
[0072] In the embodiment of the present application, the processing module is also used for:
[0073] respectively determining an average value of the height of the preset part in each cluster of the first clustering result;
[0074] Sort the average values of the heights of the preset parts in each cluster;
[0075] Based on the sorting result and the height order of the preset parts corresponding to each preset posture, the preset posture corresponding to each cluster of the first clustering result is determined.
[0076] In the embodiment of the present application, after determining the height of the preset part of the user's body in each frame of the video, the processing module is further used to:
[0077] Clustering the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain a second clustering result;
[0078] Based on the height of the preset part of the user's body in each frame, the posture of the user's body in each frame, the second clustering result, and the matching relationship between each preset posture and each preset stage of the cardiopulmonary resuscitation action, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0079] In the embodiment of the present application, the processing module is also used for:
[0080] The DBSCAN algorithm is used to cluster the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain the second clustering result.
[0081] In the embodiment of the present application, after obtaining the second clustering result, the processing module is further used to:
[0082] Determining the average number of heights of preset parts in each cluster of the second clustering result;
[0083] The clusters in the second clustering result whose number of preset part heights is less than the average number are removed from the second clustering result.
[0084] In the embodiment of the present application, the processing module is also used for:
[0085] Determining, based on the height of the preset part of the user's body in each frame and the posture of the user's body in each frame, a standard height of the preset part when the user's body is in each preset posture;
[0086] Determining the preset postures corresponding to each cluster of the second clustering result based on the standard heights of the preset parts when the user's body is in each preset posture;
[0087] Based on the preset postures corresponding to the clusters of the second clustering result and the matching relationship between the preset postures and the preset stages of the cardiopulmonary resuscitation action, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0088] In the embodiment of the present application, the processing module is also used for:
[0089] The average value of the heights of the preset parts in each frame in the same preset posture is used as the standard height of the preset part when the user's body is in the corresponding preset posture.
[0090] In the embodiment of the present application, the processing module is also used for:
[0091] Determining an average value of the heights of the preset parts in each cluster of the second clustering result;
[0092] Determine respectively the average value of the preset part height in each cluster of the second clustering result and the difference between the average value of the preset part height and the standard height value of the preset part corresponding to each preset posture; if the difference between the average value of the preset part height corresponding to any cluster and the standard height value of the preset part corresponding to any preset posture is within the preset difference range of the preset posture, the preset posture is taken as the preset posture belonging to the cluster.
[0093] In the embodiment of the present application, the processing module is also used for:
[0094] Obtain candidate clusters according to the time sequence of each cluster of the second clustering result in the video;
[0095] Based on the matching relationship between each preset posture and each preset stage, determining all candidate stages corresponding to the candidate cluster;
[0096] Based on the number of preset part heights in the candidate cluster and the preset range of the number of preset part heights corresponding to each candidate stage corresponding to the candidate cluster, determine the preset stage to which the candidate cluster belongs, and record the number of occurrences of the preset posture to which the candidate cluster belongs in the video;
[0097] Based on the preset stages to which each cluster of the second clustering result belongs and the number of occurrences of the preset stages to which each cluster belongs in the video, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0098] In the embodiment of the present application, the preset postures include: standing posture, standing bending posture, standing head down posture, kneeling posture, kneeling bending posture, kneeling head down posture;
[0099] The preset stages include: a preparation stage, a cyclic pressing stage, a mouth and nose cleaning stage, a cyclic blowing stage and an end stage.
[0100] The present application proposes a computer-readable storage medium, wherein the storage medium stores a computer program, and when the computer program is executed by a processor, the cardiopulmonary resuscitation evaluation method described in any of the above embodiments can be implemented.
[0101] The present application also proposes a computing device, the computing device comprising:
[0102] one or more processors;
[0103] a memory for storing instructions executable by the processor;
[0104] The processor is used to read the executable instructions stored in the memory to execute the cardiopulmonary resuscitation evaluation method described in any of the above embodiments.
[0105] In an embodiment of the present application, by determining the height of a preset part of the user's body in each frame of the video, the preset posture corresponding to the user in each frame is determined according to the height of the preset part of the user's body in each frame, thereby assisting the examiner's assessment and facilitating prompting or correction of the user's movements according to the posture. BRIEF DESCRIPTION OF THE DRAWINGS
[0106] In the accompanying drawings, several embodiments of the present application are shown in an exemplary and non-limiting manner, in which:
[0107] Figure 1 A step diagram of a method for processing a cardiopulmonary resuscitation action video in one embodiment of the present application;
[0108] Figure 2 A human body key point data table in an embodiment of the present application;
[0109] Figure 3 This is a distribution diagram of the df array extracted based on the video in one embodiment of the present application;
[0110] Figure 4 4a in the embodiment of the present application is based on Figure 3 The df array shown is clustered to obtain the distribution diagram of the second clustering result;
[0111] Figure 4 4b in the embodiment of the present application is based on Figure 3 The df array shown is clustered to obtain the distribution diagram of the first clustering result;
[0112] Figure 5 5a in the Figure 4 The distribution diagram of the second clustering result in 4a after removing the instantaneous behavior;
[0113] Figure 5 5b in the pair Figure 4 The distribution diagram of the first clustering result in 4b after removing the instantaneous behavior;
[0114] Figure 6 It is a module diagram of a device for processing a cardiopulmonary resuscitation action video in one embodiment of the present application;
[0115] Figure 7 It is a schematic diagram of the structure of the medium in one embodiment of the present application;
[0116] Figure 8 It is a schematic diagram of the structure of a computing device in one embodiment of the present application.
[0117] The realization of the purpose, functional features and advantages of this application will be further explained in conjunction with embodiments and with reference to the accompanying drawings. DETAILED DESCRIPTION
[0118] The principles and spirit of the present application will be described below with reference to several exemplary embodiments. It should be understood that these embodiments are provided only to enable those skilled in the art to better understand and implement the present application, and are not intended to limit the scope of the present application in any way. On the contrary, these embodiments are provided to make the present disclosure more thorough and complete, and to fully convey the scope of the present disclosure to those skilled in the art.
[0119] Those skilled in the art know that the embodiments of the present application can be implemented as a device, apparatus, method or computer program product. Therefore, the present disclosure can be specifically implemented in the following forms, namely: complete hardware, complete software (including firmware, resident software, microcode, etc.), or a combination of hardware and software.
[0120] According to the implementation of the present application, a method, apparatus and computing device for processing a cardiopulmonary resuscitation action video are proposed.
[0121] Exemplary Methods
[0122] like Figure 1 As shown, this exemplary embodiment provides a method for processing a cardiopulmonary resuscitation action video. In this embodiment of the present application, the method includes the following steps S100-S300:
[0123] Step S100: Acquire a video containing images of the user performing cardiopulmonary resuscitation.
[0124] In the embodiment of the present application, when the user is performing cardiopulmonary resuscitation action assessment, it is generally performed based on a prosthesis, such as a simulated human body, and its size and shape are similar to those of an adult human body.
[0125] In the embodiment of the present application, the video containing the user's cardiopulmonary resuscitation action images is a video sequence of the user performing cardiopulmonary resuscitation on the prosthesis, which can be acquired by a video acquisition device such as a camera.
[0126] Step S200: determining the height of a preset part of the user's body in each frame of the video; when the user performs cardiopulmonary resuscitation, the user's body has multiple preset postures; when the user's body is in each of the preset postures, the height of the preset part is different.
[0127] In the embodiment of the present application, there are generally two assessment scenarios when a user performs cardiopulmonary resuscitation:
[0128] Assessment scenario 1: The prosthesis is on the ground.
[0129] Assessment scenario two: The prosthesis is located on a platform with a certain height.
[0130] In assessment scenario one, the prosthesis can be located at a certain height such as a bed or table. At this time, the user needs to perform CPR in a standing position. In assessment scenario two, the prosthesis is located on the ground, and the user needs to perform CPR in a kneeling position.
[0131] As shown in Table 1 and Table 2 below, Table 1 and Table 2 respectively represent the possible postures of the user's body at each stage when the user performs cardiopulmonary resuscitation in assessment scenario 1 and assessment scenario 2:
[0132] Table 1
[0133]
[0134] Table 2
[0135]
[0136] Among them, T stands for possible and F stands for impossible. For example, in the preparation stage of assessment scenario one, the user's body may be in a standing posture, but it is impossible for the user to be in a standing, bending over or standing and lowering his head posture. For another example, in the preparation stage of assessment scenario two, the user's body may be in a standing posture, a kneeling posture, a kneeling and bending over posture, but it is impossible for the user to be in a kneeling and lowering posture, and so on.
[0137] Combining the above Tables 1 and 2, it can be seen that in the assessment scenario 1, the user mainly performs the actions at each stage based on the standing posture. For example, when cleaning the mouth and nose, the body is generally in a standing posture, but the user further bends over on the basis of standing. Similarly, when blowing, the body is generally in a standing posture, but the user further lowers the head on the basis of standing. In the assessment scenario 2, the user mainly performs the actions at each stage based on the kneeling posture. For example, when cleaning the mouth and nose, the body is in a kneeling posture, or the user further bends over on the basis of kneeling. Therefore, whether it is the assessment scenario 1 or the assessment scenario 2, when the user performs different CPR actions, the user mainly moves based on the upper part of the body, that is, the trunk, while the legs and feet are basically inactive, that is, the trunk is pulled by the CPR action and the range of movement is relatively large. Therefore, in the embodiment of the present application, the user's posture can be reflected by the position of the user's trunk, that is, in the embodiment of the present application, the preset part can be the trunk.
[0138] In addition, the torso includes a relatively large area, such as the shoulders, chest, and heart, which are all part of the torso, and the shoulders, chest, heart, and other parts cannot move independently from the torso, that is, the shoulders, chest, heart, and other parts maintain a relatively consistent movement route, so that the height of the torso can be reflected by the height of the shoulders, heart, and chest. For example, in an embodiment of the present application, the height of the shoulder can be used to reflect the height of the torso. Specifically, the average value of the height coordinates of the left shoulder joint point and the right shoulder joint point of the user in each frame can be used as the height of the preset part of the torso of the user in the corresponding frame.
[0139] In the embodiment of the present application, the height of the user-preset part in each frame of the video can be determined based on the following steps S210-S220:
[0140] Step S210: Based on the video, using a preset human posture model, obtain the human posture information of the user in each frame of the video, the human posture information at least includes the height coordinates of the user's left shoulder joint point, the height coordinates of the right shoulder joint point, and the timestamp of the corresponding frame.
[0141] In an embodiment of the present application, the preset human posture model may be a human posture model such as OpenPose, MoveNet, PoseNet, or DensePose. The preset human posture model may also be trained in advance, and the training may be performed based on video data of multiple users of different ages, genders, heights, and weights performing cardiopulmonary resuscitation. For example, after obtaining video data of multiple users of different ages, genders, heights, and weights performing cardiopulmonary resuscitation, the key points of the human body of each user in each frame of each video data are annotated, and the annotation may be manually annotated to ensure that the key points of the training samples are correctly annotated.
[0142] After the key points of the training samples are marked, they are input into a preset human posture model for training, so that the human posture model can learn the positions of the key points when users of different ages, genders, heights, and weights perform various cardiopulmonary resuscitation actions.
[0143] The key points may include various joints of the human body, such as shoulder joints, hand joints, leg joints, etc., and may also include non-joint key points, such as eyes, cheeks, mouth, nose, ears, etc.
[0144] Therefore, after inputting the video data containing the user's cardiopulmonary resuscitation action images into the trained human posture model, the human posture model can identify the key points of the user's body in each frame, such as the left shoulder joint and the right shoulder joint. After identifying the left shoulder joint and the right shoulder joint of the user in each frame, the height coordinates of the left shoulder joint and the right shoulder joint can be calculated.
[0145] In addition, it should be noted that the timestamp of each frame can be directly obtained from the video.
[0146] In the present application, since at least the height coordinates of the left and right shoulder joints of the user in each frame need to be obtained, when training the human posture model, the training sample annotations can only annotate the left shoulder joint points and the right shoulder joint points.
[0147] In addition, in the actual training process, when annotating training samples, each key point of the human body is often annotated, such as each joint point and non-joint point, so the trained human posture model can identify each key point of the user in each frame and calculate the coordinates of each key point. Therefore, after inputting the video into the human posture model, in addition to obtaining the height coordinates of the left and right shoulder joints, the coordinates of other key points of the human body can also be obtained.
[0148] for example, Figure 2 As shown, Figure 2 The data obtained after a video containing a user's cardiopulmonary resuscitation action image is input into a preset human posture model contains multiple dimensions. After the multiple dimensions are output through a table, they include the following columns: row number column, timestamp column, and multiple key point coordinate columns. Among them, the first column is the row number column, such as the numbers 5943, 5944, and 5945. The numbers in the row number column represent the number of rows of the data of the frame in the data table. The second column (A) is the timestamp column, which represents the timestamp of each frame. For example, 11:49:12:721' represents that the frame corresponding to the first row of data has a timestamp of 11:49:12:721' in the video. Other columns represent key point coordinate columns, such as B, C, D, E, etc., which represent key point coordinate columns. For example, column B represents the key point numbered 0, column C represents the key point numbered 1, column D represents the key point numbered 2, and so on. X and Y in each key point column represent the X-axis coordinate and Y-axis coordinate of the key point in the frame.
[0149] After inputting the video into the preset human posture model, we can get the following Figure 2 The human body key point data table shown in Figure 2 After reading the human body key point data table shown, the left shoulder joint point coordinates and the right shoulder joint point coordinates of the user in each frame can be obtained according to the preset left shoulder key point number and the right shoulder key node number. In the embodiment of the present application, the subsequent calculation process only involves the height of the preset part, and the height of the preset part can be reflected by the height coordinates of the left shoulder joint point and the right shoulder joint point, that is, only the Y-axis coordinate can be referenced.
[0150] In addition, in the embodiment of the present application, when the user performs CPR, the relative positions of the key points in each frame are fixed, so the relative height position and relative width position of the key points in the frame can reflect their position information in the height direction and horizontal direction. Therefore, in order to facilitate subsequent calculations, the coordinates of each key point can be represented by the ratio of the actual pixel coordinates of the key point in each frame to the width and height of the graphic in the current frame. Figure 2 As shown, Figure 2 The X in the formula represents the ratio of the X-axis pixel coordinate of the joint point to the width of the current frame image, and the Y-axis pixel coordinate of the joint point to the height of the current frame image. Using this method to record the coordinates of the joint points can facilitate subsequent calculations.
[0151] In addition, in the embodiment of the present application, in order to quickly obtain the height coordinates of the user's left and right shoulder joints, a timer can be set to process the human key point data table in batches within a time period. For example, the data of each row in the human key point data table is read in batches, the total number of lines of the human key point data table is obtained, and then the total number of lines of the file is traversed to obtain the data line of each row, and the timestamp, x-axis and y-axis coordinate values are extracted using regular expressions. The corresponding regular expressions are:
[0152]
[0153] Given the corresponding relationship between the key point numbers and the data table in the human posture model, the x-axis and y-axis coordinates of each key point in each row can be extracted by matching the results of the regular expression above by the numbers. After each row is extracted, an array can be obtained. , the formula is as follows:
[0154]
[0155] in, It represents the extraction of the key point coordinates of the user's body in each frame after any video containing the user's cardiopulmonary resuscitation action image is input into the human posture model. t represents the timestamp of the frame. Represents the key point number of the human body, and They represent the x-axis and y-axis coordinates of the key points respectively, and class is the number of classes of key points in the human posture model.
[0156] Step S220: taking the average of the height coordinates of the left shoulder joint point and the right shoulder joint point of the user in each frame as the height of the user's torso in the corresponding frame.
[0157] In the embodiment of the present application, after obtaining the above array After that, you can traverse to get the y-axis coordinates of the left shoulder joint number and the y-axis coordinates of the right shoulder joint number, and calculate the mean of the y-axis coordinates of the left and right shoulder joint points in each round of traversal, and insert its tail into the array , the specific process is calculated by the following formula:
[0158]
[0159] in, Represents the left shoulder joint point, represents the right shoulder joint point, ymk represents the height coordinate of the user's preset part, Represents an array of height coordinates of user-preset parts in each frame of the video.
[0160] Step S300: determining the posture of the user's body in each frame of the video based on the height of the preset part of the user's body in each frame.
[0161] In the embodiment of the present application, in order to facilitate subsequent calculations, Figure 2 The timestamp shown in is converted to the number of seconds from the start of the video to the current time. The conversion formula is as follows:
[0162]
[0163] in, Represents the time after conversion, min() is the array minimum number extraction function, len() is the array length extraction function, Represents the timestamp of each frame, calculates the difference between the timestamp of each frame and the minimum time point in the video, and converts the result into total seconds, as shown in Table 3 below:
[0164] Table 3
[0165]
[0166] It should be noted that the converted seconds in Table 3 are uniformly reduced, that is, all are reduced by ten times to further facilitate subsequent calculations.
[0167] In the embodiment of the present application, after the timestamp of each frame is converted, the height of the user-preset part in each frame and the time after the frame conversion can also be formed into the following array:
[0168]
[0169] Where df represents the height of the user's preset part in each frame of the video , and the time of the frame .like Figure 3 As shown, Figure 3The spatiotemporal distribution diagram of the df array extracted based on the video of an embodiment of the present application.
[0170] After obtaining the df array, in step S300, the posture of the user's body in each frame can be determined through the following steps S310-320:
[0171] Step S310: Clustering the heights of the preset parts of the user's body in each frame to obtain a first clustering result.
[0172] In step S310, the heights of the user-preset parts in the df array may be clustered based on the df array using a K-means algorithm to obtain the first clustering result.
[0173] In the embodiment of the present application, clustering using the K-means algorithm can be completed through the following steps S311-S314:
[0174] Step S311: Obtain candidate cluster centroids and preset classification quantity.
[0175] In the embodiment of the present application, K initial centroids can be selected: μ1, μ2, ..., μk. Generally, K initial centroids can be randomly selected from the df array set as initial candidate cluster centroids.
[0176] Step S312: clustering the heights of the user-preset parts in each frame based on the candidate clustering centroids and the preset number of classifications to obtain candidate clustering results.
[0177] In the embodiment of the present application, each data point xi in the df array can be assigned to the cluster with the nearest centroid μj to form clusters C1, C2, ..., Ck, and the process is as follows:
[0178]
[0179] Step S313: Based on the candidate clustering results, determine the centroid of each cluster in the candidate clustering results; if the centroid of each cluster in the candidate clustering results is different from the candidate clustering centroid, update the candidate clustering centroid to the centroid of each cluster in the candidate clustering results; cluster the heights of the user-preset parts in each frame based on the updated candidate clustering centroid, until the centroid of each cluster in the clustering results obtained based on the updated candidate clustering centroid no longer changes, or the candidate clustering centroid reaches a preset number of updates.
[0180] After obtaining each candidate clustering result, recalculate the centroid of each cluster in the candidate clustering result. Specifically, the average value of the data in each cluster can be used as the centroid of the cluster. The formula is as follows:
[0181]
[0182] After recalculating the centroid of each cluster, compare it with the candidate cluster centroid. If they are different, update the cluster centroid, that is, recalculate the centroid of each cluster and use it as the new cluster centroid for a new round of clustering. Repeat the above process until the centroid of each cluster in the clustering result no longer changes, or the candidate cluster centroid reaches the preset number of iterations.
[0183] Step S314: taking the final clustering result as the first clustering result.
[0184] When the candidate cluster centroid no longer changes or the preset number of iterations is reached, the final clustering result is used as the final second clustering result. The formula is as follows:
[0185]
[0186]
[0187] Wherein, formula (1) represents the first clustering result obtained by clustering using the K-means algorithm, C1, C2, ..., Cn represent the clusters in the first clustering result, Represents the preset part height in each frame of the same cluster C.
[0188] like Figure 4 As shown, 4b is based on Figure 3 The df array in , and the data distribution diagram obtained after clustering using the K-means algorithm. The data in the df array is the result of the human posture model predicting the images of each frame of the video. Uncontrolled instantaneous behaviors caused by the user's physiological reactions or mental fluctuations will also be recorded by the human posture model. For example: scratching the head, scratching the chin, yawning, rubbing hands, etc., these behaviors are not CPR actions, and such instantaneous discrete short-term behaviors need to be filtered to reduce the amount of calculation, while reducing the examiner's review time and improving the stability of data analysis.
[0189] Therefore, it is necessary to filter out the smaller part of the cluster data according to the empirical noise threshold. In the embodiment of the present application, the user's uncontrolled instantaneous behavior can be filtered out through the following steps S315-S316:
[0190] Step S315: determining the average number of preset part heights in each cluster of the first clustering result.
[0191] In the embodiment of the present application, the number of clusters in the first clustering result and the total number of height coordinates of preset parts in each cluster can be calculated. The total number of height coordinates of preset parts is divided by the number of clusters to obtain the average number of height coordinates of preset parts in each cluster. Uncontrolled instantaneous behaviors are basically short-term instantaneous behaviors, so the number of frames occupied by such short-term instantaneous behaviors is relatively small. Then, the clusters representing such uncontrolled short-term instantaneous behaviors in the first clustering result must have a small number of height coordinates of preset parts, that is, they must be lower than the average number of height coordinates of preset parts in each cluster calculated above. Therefore, by comparison, clusters whose number of height coordinates of preset parts is less than the above average can be eliminated from the first clustering result. That is, the following step S316.
[0192] Step S316: removing from the first clustering result the clusters whose number of preset part height coordinates in the first clustering result is less than the average number.
[0193] like Figure 5 As shown in b, Figure 5 b is the first clustering result after eliminating instantaneous behavior.
[0194] Step S320: Based on the first clustering result, determine the posture of the user's body in each frame of the video.
[0195] In step S200, two assessment scenarios are described, and it is known which assessment scenario the user is in. After determining the assessment scenario the user is in, the preset posture of the user when performing cardiopulmonary resuscitation can be determined.
[0196] For example, in the assessment scenario 1, the user may only have three postures: standing, standing and bending over, and standing and bowing his head. In the assessment scenario 2, the user may only have four postures: standing, kneeling, kneeling and bending over, and kneeling and bowing his head. Moreover, the heights of the preset parts in the three posture categories of standing, standing and bending over, and standing and bowing his head are successively reduced, and the heights of the preset parts in the four postures of standing, kneeling, kneeling and bending over, and kneeling and bowing his head are successively reduced.
[0197] Therefore, in the embodiment of the present application, the preset posture corresponding to each cluster of the first clustering result can be determined through the following steps S321-S323:
[0198] Step S321: respectively determining the average value of the height of the preset parts in each cluster of the first clustering result.
[0199] In the embodiment of the present application, the average value of the height of the preset part in each cluster can be obtained by calculating the sum of the heights of the preset parts in each cluster and dividing it by the number of the height data of the preset parts in each cluster.
[0200] Step S322: sorting the average values of the heights of the preset parts in each cluster.
[0201] After obtaining the average value of the height of the preset parts in each cluster, the clusters are sorted, for example, from high to low, or from low to high according to the average value of the height.
[0202] Step S323: Based on the sorting result and the height order of the preset parts corresponding to each preset posture, determine the preset posture corresponding to each cluster of the first clustering result.
[0203] Since the order of the heights of the preset parts in each preset posture is fixed in the assessment scenario 1 and the assessment scenario 2, the preset postures corresponding to each cluster can be clearly identified after sorting.
[0204] For example, if in assessment scenario one, after sorting the clusters from high to low according to the average values of the preset part heights, the highest average value is the standing posture, followed by the standing bending posture, and the smallest average value is the standing bowing posture; if in assessment scenario two, after sorting the clusters from high to low according to the average values of the preset part heights, the clusters with the highest average values from high to low correspond to the standing posture, the kneeling posture, the kneeling bending posture, and the kneeling bowing posture.
[0205] In an embodiment of the present application, by determining the height of a preset part of the user's body in each frame of the video, the preset posture corresponding to the user in each frame is determined according to the height of the preset part of the user's body in each frame, thereby assisting the examiner's assessment and facilitating prompting or correction of the user's movements according to the posture.
[0206] In the embodiment of the present application, through the above steps S100-S300, the posture corresponding to each frame in the video can be determined. In order to further facilitate the examination by the examiner, the video containing the user's cardiopulmonary resuscitation action image can be further processed through the following steps S400-S500:
[0207] Step S400: clustering the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain a second clustering result.
[0208] In step S300, the df array is obtained. In an embodiment of the present application, a density-based clustering algorithm can be used, such as a density-based spatial clustering method with noise (DBSCAN), to cluster the frames of the video based on the height of the user-preset parts in each frame in the df array and the timing of each frame in the video to obtain the second clustering result.
[0209] In the embodiment of the present application, the neighborhood radius and the minimum number of samples in a cluster can be defined, and then model fitting and prediction can be performed to assign each data point in the df array to a cluster, and the second clustering result can be stored in The specific implementation process is as follows:
[0210] Input data matrix D, which contains n data points, each data point xi Expressed as , where t is the time point of each frame in the df array, and y is the y-axis coordinate of the preset part in each frame in the df array, in the following format:
[0211]
[0212]
[0213] Sets the ε-neighborhood used to define the density connection between data points (ε-Neighborhood), and the minimum number of data points (MinPts) that defines the minimum number of data points in the minimum neighborhood of a core object.
[0214] Mark all data points in the df array as unvisited (unclassified).
[0215] Traverse the data points in the df array and perform the following operations for each unvisited data point (t, y):
[0216] For a given data point , whose ε-neighborhood contains all data points whose distance does not exceed ε, which can be expressed as , the formula is as follows:
[0217]
[0218] If a data point xi contains at least MinPts data points in its ε-neighborhood, then the data point xi is considered to be a core object and is represented as:
[0219]
[0220] if exist In the ε-neighborhood of is a core object, then the data point is considered to be directly density-reachable at another data point , the formula is as follows:
[0221] and Is a core object
[0222] The density can reach , if and only if there exists a data point sequence ,satisfy , conditions, and for yes Direct density reachable, and insert its tail into set C; otherwise, and Mark it as a boundary point and insert its tail into set C, and insert C tail into set , as follows:
[0223]
[0224]
[0225] Wherein, formula (2) represents the second clustering result obtained by clustering using the DBSCAN algorithm, C1, C2, ..., Cn represent the clusters in the second clustering result, and They represent the time and height coordinates of the preset parts of each frame in the same cluster C respectively.
[0226] When all data points in the df array have been visited and classified, clustering is completed.
[0227] like Figure 4 As shown, 4a is the use of Figure 3 The df array shown is a distribution diagram after clustering using the DBSCAN algorithm. Among them, by clustering in the spatial dimension using the DBSCAN algorithm, the user's human posture in the current frame can be obtained; by clustering in the time (series of each frame) dimension, the different stages of the user's cardiopulmonary resuscitation actions at different times can be obtained.
[0228] In addition, in the above clustering process, the neighborhood radius is set. This method can filter the discrete noise data through the minimum spacing and can also achieve a certain denoising effect. Although the above DBSCAN algorithm can be used to cluster discrete data points, due to the existence of uncontrolled transient behaviors, the second clustering result can also be eliminated according to the above steps S350-S360. Specifically, the following steps S410-S420 can be used:
[0229] Step S410: determining the average number of height coordinates of preset parts in each cluster in the second clustering result.
[0230] Step S4200: removing from the second clustering result the clusters whose number of preset part height coordinates in the second clustering result is less than the average number.
[0231] The specific methods of steps S410-S420 can refer to steps S315-S316, which will not be described in detail here. Figure 5 As shown in Figure 5a, it is the second clustering result after eliminating the instantaneous behavior.
[0232] Step S500: Based on the height of the preset part of the user's body in each frame, the posture of the user's body in each frame, the second clustering result, and the matching relationship between each preset posture and each preset stage of the cardiopulmonary resuscitation action, identify the preset stages of the cardiopulmonary resuscitation action of the user in the video.
[0233] In the embodiment of the present application, the various preset stages of the cardiopulmonary resuscitation action of the user in the video can be identified through the following steps S510-S530:
[0234] Step S510: Based on the height of the preset part of the user's body in each frame and the posture of the user's body in each frame, determine the standard height of the preset part when the user's body is in each preset posture.
[0235] In the embodiment of the present application, the preset posture of the user's body and the height of the preset part in each frame can be output based on the artificial intelligence model. For example, the artificial intelligence model can be trained in advance so that it can recognize the posture of the user's body in each frame of the video and the height of the preset part in each frame, or it can also be obtained according to the above steps S100-S300.
[0236] For example, in step S300, the preset postures corresponding to the clusters of the first clustering results are determined. In step S510, the average value of the heights of the preset parts in each frame in the same preset posture can be used as the standard height of the preset part when the user's body is in the corresponding preset posture.
[0237] For example, in the first assessment scenario, a cluster whose preset posture is standing posture is selected, and the average value of the height of the preset part in the cluster is used as the standard value of the height of the preset part when the user's body is in a standing posture in the first assessment scenario.
[0238] Step S520: determining the preset postures corresponding to each cluster of the second clustering result based on the standard heights of the preset parts when the user's body is in each preset posture.
[0239] In the embodiment of the present application, the preset posture corresponding to each cluster of the second clustering result can be determined through the following steps S521-S522:
[0240] Step S521: determining an average value of the heights of the preset parts in each cluster of the second clustering result.
[0241] In the embodiment of the present application, the average value of the height of the preset part in each cluster can be obtained by dividing the sum of the height of the preset part in each cluster by the number of data in each cluster.
[0242] Step S522: respectively determine the average value of the preset part height in each cluster of the second clustering result and the difference between the average value of the preset part height and the standard height value of the preset part corresponding to each preset posture; if the difference between the average value of the preset part height corresponding to any cluster and the standard height value of the preset part corresponding to any preset posture is within the preset difference range of the preset posture, the preset posture is used as the preset posture belonging to the cluster.
[0243] In step S510, the standard heights of the preset parts when the user is in each preset posture in the assessment scenario have been determined. Then in step S522, the average value of the heights of the preset parts in each cluster of the second clustering result can be subtracted from the standard heights of the preset parts in each preset posture to determine within which preset posture the difference lies.
[0244] For example, when the user is in assessment scene one, and it is determined in step S510 that the user is in a standing posture, a standing bent posture, and a standing lowered posture, the standard heights of the preset parts are h1, h2, and h3, respectively. In step S522, the average value of the preset part height in each cluster is subtracted from h1, h2, and h3, respectively. If the difference between the average value of the preset part height in a cluster and h1, h2, and h3 is within the preset difference range corresponding to a given preset posture (the upper and lower floating range of the standard height of the preset part under the preset posture), then the cluster can be considered to belong to the preset posture, and so on, the preset posture to which each cluster of the second clustering result belongs can be determined.
[0245] Step S530: Based on the preset postures corresponding to the clusters of the second clustering result and the matching relationship between the preset postures and the preset stages of the cardiopulmonary resuscitation action, identify the preset stages of the cardiopulmonary resuscitation action of the user in the video.
[0246] In the embodiment of the present application, various preset stages of the cardiopulmonary resuscitation action of the user in the video can be identified based on the following steps S531-S534:
[0247] Step S531: Obtain candidate clusters according to the time sequence of each cluster of the second clustering result in the video.
[0248] like Figure 5 As shown, 5a is a spatiotemporal distribution diagram obtained after clustering in time and space, so multiple clusters can be obtained according to time clustering. There are 13 clusters in 5a, so in the embodiment of the present application, each cluster can be obtained in sequence as a candidate cluster.
[0249] Step S532: based on the matching relationship between each preset posture and each preset stage, determine all candidate stages corresponding to the candidate cluster.
[0250] As shown in Table 1 and Table 2 above, Table 1 shows the matching relationship between each preset posture and each preset stage in the first assessment scenario, and Table 2 shows the matching relationship between each preset posture and each preset stage in the second assessment scenario.
[0251] Assuming that the candidate cluster is the first cluster, in step S520, it can be determined that the posture category corresponding to the cluster is the standing posture. In the assessment scenario, the preset stages corresponding to the standing posture include the preparation stage, the pressing stage and the completion stage, that is, the first cluster must belong to one of the preparation stage, the pressing stage and the completion stage, and the preparation stage, the pressing stage and the completion stage are all the candidate stages corresponding to the first cluster.
[0252] Step S533: Based on the number of preset part heights in the candidate cluster and the preset range of the number of preset part heights corresponding to each candidate stage corresponding to the candidate cluster, determine the preset stage to which the candidate cluster belongs, and record the number of occurrences of the preset posture to which the candidate cluster belongs in the video.
[0253] In the embodiment of the present application, taking the first cluster as an example, in step S532, the candidate stages corresponding to the first cluster are determined to be the preparation stage, the pressing stage, and the completion stage. In step S533, the preset ranges of the number of preset part heights corresponding to the preparation stage, the pressing stage, and the completion stage are determined respectively, and compared with the number of preset part heights in the first cluster. If the number of preset part heights in the first cluster is within the preset range corresponding to the preparation stage, the first cluster is determined to belong to the preparation stage. If the number of preset part heights in the first cluster is within the preset range corresponding to the pressing stage, the first cluster is determined to belong to the pressing stage. The preset ranges of the number of preset part heights corresponding to each preset stage can be obtained based on experience. For example, when blowing, a blowing stage lasts about 3 seconds. If there are 60 frames per second, the blowing stage has about 180 preset part heights.
[0254] In addition, after determining the preset stage to which the first cluster belongs, the number of occurrences of the preset stage in the video, that is, the number of occurrences, is recorded.
[0255] For example, the first cluster is determined to belong to the preparation phase, and its first appearance is recorded.
[0256] By analogy, we can get the following results:
[0257] The first cluster belongs to the preparation stage and appears for the first time;
[0258] The second cluster belongs to the pressing stage and appears for the first time in the pressing stage;
[0259] The third cluster belongs to the mouth and nose cleaning stage, which appears for the first time in the mouth and nose cleaning stage;
[0260] The fourth cluster belongs to the blowing stage and appears for the first time during the blowing stage;
[0261] The fifth cluster belongs to the pressing stage and appears for the second time in the pressing stage;
[0262] The sixth cluster belongs to the blowing stage and appears for the second time during the blowing stage;
[0263] The seventh cluster belongs to the pressing stage and appears for the third time in the pressing stage;
[0264] The eighth cluster belongs to the blowing stage, which appears for the third time during the blowing stage;
[0265] The ninth cluster belongs to the pressing stage and appears for the fourth time in the pressing stage;
[0266] The 10th cluster belongs to the blowing stage and appears for the fourth time during the blowing stage;
[0267] The 11th cluster belongs to the pressing stage and appears for the fifth time in the pressing stage;
[0268] The 12th cluster belongs to the blowing stage and appears for the fifth time during the blowing stage;
[0269] The 13th cluster belongs to the completion stage, which appears for the first time.
[0270] Step S534: Based on the preset stages to which each cluster of the second clustering result belongs and the number of occurrences of the preset stages to which each cluster belongs in the video, identify the preset stages of the user's cardiopulmonary resuscitation actions in the video.
[0271] In step S533, the preset stage to which each cluster in the second clustering result belongs is determined, as well as the number of times the same preset stage appears in the video. For example, for the compression stage and the blowing stage, in a complete cardiopulmonary resuscitation, multiple cycles of compression and multiple cycles of blowing are included, so the number of times it appears in the video represents the number of cycles of compression or blowing. For example, the 11th cluster belongs to the compression stage, and the compression stage appears for the fifth time, so the 11th cluster represents the fifth cycle of compression stage.
[0272] In addition, in a complete cardiopulmonary resuscitation action, the preparation stage, the mouth and nose cleaning stage, and the completion stage will only appear once, so the first occurrence of the preparation stage, the first occurrence of the mouth and nose cleaning stage, and the first occurrence of the completion stage recorded in the first cluster, the third cluster, and the thirteenth cluster respectively can be ignored.
[0273] After determining the stage corresponding to each cluster, the first frame and the last frame of each cluster can be obtained based on the data in each cluster. Then the cardiopulmonary resuscitation action reflected by the frames between the first frame and the last frame of the cluster is the action corresponding to the preset stage. According to the index corresponding to the first frame and the last frame in each cluster, that is, in the human body key point data table (such as Figure 2 The video can be divided according to the number of rows in the video, as shown in Table 4 below:
[0274] Table 4
[0275]
[0276] Among them, the index in Table 4 represents the number of rows of corresponding data in the human body key point data table at each stage.
[0277] In an embodiment of the present application, after determining the preset posture of the user's body in each frame of the video, the video is further processed to determine the standard height of the preset part of the body when it is in each preset posture, and then using the standard height of the preset part of the user when it is in each preset posture and the matching relationship between each preset posture and each preset stage, the second clustering result can also be divided into each preset stage, thereby facilitating the examiner's evaluation.
[0278] In an embodiment of the present application, by determining the height of a preset part of the user's body in each frame of the video, the preset posture corresponding to the user in each frame is determined according to the height of the preset part of the user's body in each frame, thereby assisting the examiner's assessment and facilitating prompting or correction of the user's movements according to the posture.
[0279] Exemplary Devices
[0280] After introducing the method of the exemplary embodiment of the present application, next, refer to Figure 6 A cardiopulmonary resuscitation action video processing device 100 according to an exemplary embodiment of the present application will be described.
[0281] In the embodiment of the present application, the cardiopulmonary resuscitation action video processing device 100 includes:
[0282] An acquisition module 110 is used to acquire a video containing a user's cardiopulmonary resuscitation action image;
[0283] The processing module 120 is used to determine the height of a preset part of the user's body in each frame of the video; when the user performs cardiopulmonary resuscitation, the user's body has multiple preset postures; when the user's body is in each of the preset postures, the height of the preset part is different;
[0284] The posture of the user's body in each frame of the video is determined based on the height of the preset part of the user's body in each frame.
[0285] In the embodiment of the present application, the processing module 120 is further used for:
[0286] Clustering the heights of the preset parts of the user's body in each frame to obtain a first clustering result;
[0287] Based on the first clustering result, a posture of a user's body in each frame of the video is determined.
[0288] In the embodiment of the present application, the preset part is the torso, and the processing module 120 is further used for:
[0289] Based on the video, using a preset human posture model, obtaining the human posture information of the user in each frame of the video; the human posture information at least includes the height coordinates of the left shoulder joint point and the right shoulder joint point of the user, and the timestamp of the corresponding frame;
[0290] The average value of the height coordinates of the left shoulder joint point and the right shoulder joint point of the user in each frame is used as the height of the user's torso in the corresponding frame.
[0291] In the embodiment of the present application, the processing module 120 is further used for:
[0292] Based on the K-means algorithm, the heights of the preset parts in each frame are clustered to obtain the first clustering result.
[0293] In the embodiment of the present application, the processing module 120 is further used for:
[0294] Get candidate cluster centroids and preset number of categories;
[0295] Based on the candidate cluster centroids and the preset number of classifications, clustering the heights of the user-preset parts in each frame to obtain candidate clustering results;
[0296] Based on the candidate clustering results, determine the centroid of each cluster in the candidate clustering results, if the centroid of each cluster in the candidate clustering results is different from the candidate clustering centroid, update the candidate clustering centroid to the centroid of each cluster in the candidate clustering results, cluster the heights of the user-preset parts in each frame based on the updated candidate clustering centroid, until the centroid of each cluster in the clustering results obtained based on the updated candidate clustering centroid no longer changes, or the candidate clustering centroid reaches a preset update number of times;
[0297] The final clustering result is used as the first clustering result.
[0298] In the embodiment of the present application, after obtaining the first clustering result, the processing module 120 is further used to:
[0299] Determining the average number of heights of preset parts in each cluster of the first clustering result;
[0300] The clusters in the first clustering result whose number of preset part heights is less than the average number are removed from the first clustering result.
[0301] In the embodiment of the present application, the processing module 120 is further used for:
[0302] respectively determining an average value of the height of the preset part in each cluster of the first clustering result;
[0303] Sort the average values of the heights of the preset parts in each cluster;
[0304] Based on the sorting result and the height order of the preset parts corresponding to each preset posture, the preset posture corresponding to each cluster of the first clustering result is determined.
[0305] In the embodiment of the present application, after determining the height of the preset part of the user's body in each frame of the video, the processing module 120 is further used to:
[0306] Clustering the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain a second clustering result;
[0307] Based on the height of the preset part of the user's body in each frame, the posture of the user's body in each frame, the second clustering result, and the matching relationship between each preset posture and each preset stage of the cardiopulmonary resuscitation action, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0308] In the embodiment of the present application, the processing module 120 is further used for:
[0309] The DBSCAN algorithm is used to cluster the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain the second clustering result.
[0310] In the embodiment of the present application, after obtaining the second clustering result, the processing module 120 is further used to:
[0311] Determining the average number of heights of preset parts in each cluster of the second clustering result;
[0312] The clusters in the second clustering result whose number of preset part heights is less than the average number are removed from the second clustering result.
[0313] In the embodiment of the present application, the processing module 120 is further used for:
[0314] Determining, based on the height of the preset part of the user's body in each frame and the posture of the user's body in each frame, a standard height of the preset part when the user's body is in each preset posture;
[0315] Determining the preset postures corresponding to each cluster of the second clustering result based on the standard heights of the preset parts when the user's body is in each preset posture;
[0316] Based on the preset postures corresponding to the clusters of the second clustering result and the matching relationship between the preset postures and the preset stages of the cardiopulmonary resuscitation action, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0317] In the embodiment of the present application, the processing module 120 is further used for:
[0318] The average value of the heights of the preset parts in each frame in the same preset posture is used as the standard height of the preset part when the user's body is in the corresponding preset posture.
[0319] In the embodiment of the present application, the processing module 120 is further used for:
[0320] Determining an average value of the heights of the preset parts in each cluster of the second clustering result;
[0321] Determine respectively the average value of the preset part height in each cluster of the second clustering result and the difference between the average value of the preset part height and the standard height value of the preset part corresponding to each preset posture; if the difference between the average value of the preset part height corresponding to any cluster and the standard height value of the preset part corresponding to any preset posture is within the preset difference range of the preset posture, the preset posture is taken as the preset posture belonging to the cluster.
[0322] In the embodiment of the present application, the processing module 120 is further used for:
[0323] Obtain candidate clusters according to the time sequence of each cluster of the second clustering result in the video;
[0324] Based on the matching relationship between each preset posture and each preset stage, determining all candidate stages corresponding to the candidate cluster;
[0325] Based on the number of preset part heights in the candidate cluster and the preset range of the number of preset part heights corresponding to each candidate stage corresponding to the candidate cluster, determine the preset stage to which the candidate cluster belongs, and record the number of occurrences of the preset posture to which the candidate cluster belongs in the video;
[0326] Based on the preset stages to which each cluster of the second clustering result belongs and the number of occurrences of the preset stages to which each cluster belongs in the video, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
[0327] In the embodiment of the present application, the preset postures include: standing posture, standing bending posture, standing head down posture, kneeling posture, kneeling bending posture, kneeling head down posture;
[0328] The preset stages include: a preparation stage, a cyclic pressing stage, a mouth and nose cleaning stage, a cyclic blowing stage and an end stage.
[0329] The specific implementation methods of the above-mentioned embodiments of the processing device for cardiopulmonary resuscitation action video refer to the various steps of the processing method for cardiopulmonary resuscitation action video, which will not be described in detail here.
[0330] In the embodiment of the present application, the height of the preset part of the user's body in each frame of the video is determined by the processing module 120, and the preset posture corresponding to the user in each frame is determined based on the height of the preset part of the user's body in each frame, thereby assisting the examiner's assessment and facilitating prompts or corrections to the user's movements based on the posture.
[0331] Exemplary Media
[0332] After introducing the method and device of the exemplary embodiment of the present application, next, refer to Figure 7 A computer-readable storage medium according to an exemplary embodiment of the present application is described.
[0333] Please refer to Figure 7 , the computer-readable storage medium shown is a CD 70, on which a computer program (i.e., a program product) is stored. When the computer program is executed by the processor, each step recorded in the above method implementation will be implemented, for example: obtaining a video containing a user's cardiopulmonary resuscitation action image; determining the height of a preset part of the user's body in each frame of the video; when the user performs cardiopulmonary resuscitation, the user's body has multiple preset postures; when the user's body is in each of the preset postures, the height of the preset part is different; based on the height of the preset part of the user's body in each frame, determine the posture of the user's body in each frame of the video. The specific implementation method of each step will not be repeated here.
[0334] It should be noted that examples of the computer-readable storage medium may also include, but are not limited to, phase change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other optical or magnetic storage media, which are not listed here one by one.
[0335] Exemplary Computing Devices
[0336] After introducing the method, apparatus and medium of the exemplary embodiments of the present application, next, reference is made to Figure 8 The computing device 80 according to the exemplary embodiment of the present application is described.
[0337] Figure 8 A block diagram of an exemplary computing device 80 suitable for implementing embodiments of the present application is shown. The computing device 80 may be a computer system or a server. Figure 8 The computing device 80 shown is only an example and should not bring any limitation to the functions and scope of use of the embodiments of the present application.
[0338] like Figure 8 As shown, the components of the computing device 80 may include, but are not limited to: one or more processors or processing units 801 , a system memory 802 , and a bus 803 connecting different system components (including the system memory 802 and the processing unit 801 ).
[0339] The computing device 80 typically includes a variety of computer system readable media. These media can be any available media that can be accessed by the computing device 80, including volatile and non-volatile media, removable and non-removable media.
[0340] The system memory 802 may include computer system readable media in the form of volatile memory, such as random access memory (RAM) 8021 and / or cache memory 8022. The computing device 70 may further include other removable / non-removable, volatile / non-volatile computer system storage media. By way of example only, the ROM 8023 may be used to read and write non-removable, non-volatile magnetic media ( Figure 8 is not shown in the Figure 8 As shown in FIG. 8 , a disk drive for reading and writing a removable non-volatile disk (e.g., a “floppy disk”) and an optical disk drive for reading and writing a removable non-volatile optical disk (e.g., a CD-ROM, a DVD-ROM, or other optical media) can be provided. In these cases, each drive can be connected to the bus 803 via one or more data medium interfaces. The system memory 802 may include at least one program product, which has a set (e.g., at least one) of program modules, which are configured to perform the functions of each embodiment of the present application.
[0341] A program / utility 8025 having a set (at least one) of program modules 8024 may be stored, for example, in system memory 802, and such program modules 8024 include, but are not limited to, an operating system, one or more application programs, other program modules, and program data, each of which or some combination may include an implementation of a network environment. Program modules 8024 generally perform the functions and / or methods of the embodiments described herein.
[0342] The computing device 80 may also communicate with one or more external devices 804 (e.g., a keyboard, a pointing device, a display, etc.). Such communication may be performed via an input / output (I / O) interface. In addition, the computing device 80 may also communicate with one or more networks (e.g., a local area network (LAN), a wide area network (WAN), and / or a public network, such as the Internet) via a network adapter 806. Figure 8 As shown, the network adapter 806 communicates with other modules (such as the processing unit 801, etc.) of the computing device 80 via the bus 803. It should be understood that although Figure 8 Not shown, other hardware and / or software modules may be used in conjunction with computing device 80 .
[0343] The processing unit 801 executes various functional applications and data processing by running the program stored in the system memory 802, for example, obtaining a video containing a user's cardiopulmonary resuscitation action image; determining the height of a preset part of the user's body in each frame of the video; when the user performs cardiopulmonary resuscitation, the user's body has multiple preset postures; when the user's body is in each preset posture, the height of the preset part is different; based on the height of the preset part of the user's body in each frame, determining the posture of the user's body in each frame of the video. The specific implementation method of each step will not be repeated here.
[0344] In addition, although the operations of the method of the present application are described in a specific order in the drawings, this does not require or imply that the operations must be performed in this specific order, or that all the operations shown must be performed to achieve the desired results. Additionally or alternatively, some steps may be omitted, multiple steps may be combined into one step, and / or one step may be decomposed into multiple steps.
[0345] Although the spirit and principle of the present application have been described with reference to several specific embodiments, it should be understood that the present application is not limited to the disclosed specific embodiments, and the marking of various aspects does not mean that the features in these aspects cannot be combined to benefit, and such marking is only for the convenience of expression. The present application is intended to cover various modifications and equivalent arrangements included in the spirit and scope of the attached claims.
[0346] The above description is only a preferred embodiment of the present application, and does not limit the patent scope of the present application. All equivalent structural changes made by using the contents of the present application specification and drawings under the inventive concept of the present application, or directly / indirectly applied in other related technical fields are included in the patent protection scope of the present application.
Claims
1. A method for processing a cardiopulmonary resuscitation action video, comprising: Obtaining a video containing images of the user performing CPR; Determining the height of a preset part of the user's body in each frame of the video; When the user performs cardiopulmonary resuscitation, the user's body has a plurality of preset postures; When the user's body is in each of the preset postures, the heights of the preset parts are different; Determining the posture of the user's body in each frame of the video based on the height of a preset part of the user's body in each frame; After determining the height of the preset part of the user's body in each frame of the video, the processing method further includes: Clustering the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain a second clustering result; Based on the height of the preset part of the user's body in each frame, the posture of the user's body in each frame, the second clustering result, and the matching relationship between each preset posture and each preset stage of the cardiopulmonary resuscitation action, identifying each preset stage of the cardiopulmonary resuscitation action of the user in the video; The identifying each preset stage of the cardiopulmonary resuscitation action of the user in the video based on the height of the preset part of the user's body in each frame, the posture of the user's body in each frame, the second clustering result, and the matching relationship between each preset posture and each preset stage of the cardiopulmonary resuscitation action includes: Determining, based on the height of the preset part of the user's body in each frame and the posture of the user's body in each frame, a standard height of the preset part when the user's body is in each preset posture; Determining the preset postures corresponding to each cluster of the second clustering result based on the standard heights of the preset parts when the user's body is in each preset posture; Based on the preset postures corresponding to the clusters of the second clustering result and the matching relationship between the preset postures and the preset stages of the cardiopulmonary resuscitation action, identifying the preset stages of the cardiopulmonary resuscitation action of the user in the video; The method of identifying the preset stages of the cardiopulmonary resuscitation action of the user in the video based on the preset postures corresponding to the clusters of the second clustering result and the matching relationship between the preset postures and the preset stages of the cardiopulmonary resuscitation action comprises: Obtain candidate clusters according to the time sequence of each cluster of the second clustering result in the video; Based on the matching relationship between each preset posture and each preset stage, determining all candidate stages corresponding to the candidate cluster; Based on the number of preset part heights in the candidate cluster and the preset range of the number of preset part heights corresponding to each candidate stage corresponding to the candidate cluster, determine the preset stage to which the candidate cluster belongs, and record the number of occurrences of the preset posture to which the candidate cluster belongs in the video; Based on the preset stages to which each cluster of the second clustering result belongs and the number of occurrences of the preset stages to which each cluster belongs in the video, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
2. The method for processing a cardiopulmonary resuscitation action video according to claim 1, wherein determining the posture of the user's body in each frame of the video based on the height of a preset part of the user's body in each frame comprises: Clustering the heights of the preset parts of the user's body in each frame to obtain a first clustering result; Based on the first clustering result, a posture of a user's body in each frame of the video is determined.
3. The method for processing a cardiopulmonary resuscitation action video according to claim 1, wherein the preset part is a torso, and determining the height of the preset part of the user's torso in each frame of the video comprises: Based on the video, using a preset human posture model, obtaining human posture information of the user in each frame of the video; The human body posture information at least includes the height coordinates of the user's left shoulder joint point, the height coordinates of the right shoulder joint point, and the timestamp of the corresponding frame; The average value of the height coordinates of the left shoulder joint point and the right shoulder joint point of the user in each frame is used as the height of the user's torso in the corresponding frame.
4. The method for processing a cardiopulmonary resuscitation action video according to claim 2, wherein the step of clustering the heights of the preset parts of the user's body in each frame to obtain a first clustering result comprises: Based on the K-means algorithm, the heights of the preset parts in each frame are clustered to obtain the first clustering result.
5. The cardiopulmonary resuscitation action video processing method according to claim 4, wherein the height of the preset part in each frame is clustered based on the K-means algorithm to obtain the first clustering result, comprising: Get candidate cluster centroids and preset number of categories; Based on the candidate cluster centroids and the preset number of classifications, clustering the heights of the user-preset parts in each frame to obtain candidate clustering results; Based on the candidate clustering results, determine the centroid of each cluster in the candidate clustering results, if the centroid of each cluster in the candidate clustering results is different from the candidate clustering centroid, update the candidate clustering centroid to the centroid of each cluster in the candidate clustering results, cluster the heights of the user-preset parts in each frame based on the updated candidate clustering centroid, until the centroid of each cluster in the clustering results obtained based on the updated candidate clustering centroid no longer changes, or the candidate clustering centroid reaches a preset update number of times; The final clustering result is used as the first clustering result.
6. The cardiopulmonary resuscitation action video processing method according to claim 2, after obtaining the first clustering result, the method further comprises: Determining the average number of heights of preset parts in each cluster of the first clustering result; The clusters in the first clustering result whose number of preset part heights is less than the average number are removed from the first clustering result.
7. The method for processing a cardiopulmonary resuscitation action video according to claim 2, wherein determining the posture of the user's body in each frame of the video based on the first clustering result comprises: respectively determining an average value of the height of the preset part in each cluster of the first clustering result; Sort the average values of the heights of the preset parts in each cluster; Based on the sorting result and the height order of the preset parts corresponding to each preset posture, the preset posture corresponding to each cluster of the first clustering result is determined.
8. The method for processing a cardiopulmonary resuscitation action video according to claim 1, wherein clustering the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain a second clustering result comprises: The DBSCAN algorithm is used to cluster the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain the second clustering result.
9. The cardiopulmonary resuscitation action video processing method according to claim 1, after obtaining the second clustering result, the processing method further comprises: Determining the average number of heights of preset parts in each cluster of the second clustering result; The clusters in the second clustering result whose number of preset part heights is less than the average number are removed from the second clustering result.
10. The method for processing a cardiopulmonary resuscitation action video according to claim 1, wherein the determining, based on the height of the preset part of the user's body in each frame and the posture of the user's body in each frame, the standard height of the preset part when the user's body is in each preset posture comprises: The average value of the heights of the preset parts in each frame in the same preset posture is used as the standard height of the preset part when the user's body is in the corresponding preset posture.
11. The method for processing a cardiopulmonary resuscitation action video according to claim 1, wherein the step of determining the preset postures corresponding to the respective clusters of the second clustering results based on the standard heights of the preset parts when the user's body is in the respective preset postures comprises: Determining an average value of the heights of the preset parts in each cluster of the second clustering result; Determine respectively the average value of the preset part height in each cluster of the second clustering result and the difference between the average value of the preset part height and the standard height value of the preset part corresponding to each preset posture; if the difference between the average value of the preset part height corresponding to any cluster and the standard height value of the preset part corresponding to any preset posture is within the preset difference range of the preset posture, the preset posture is taken as the preset posture belonging to the cluster.
12. The method for processing a cardiopulmonary resuscitation action video according to claim 1, wherein: The preset postures include: standing posture, standing bending posture, standing head down posture, kneeling posture, kneeling bending posture, kneeling head down posture; The preset stages include: a preparation stage, a cyclic pressing stage, a mouth and nose cleaning stage, a cyclic blowing stage and an end stage.
13. A cardiopulmonary resuscitation action video processing device, comprising: An acquisition module, used for acquiring a video containing a user's cardiopulmonary resuscitation action image; A processing module, used to determine the height of a preset part of the user's body in each frame of the video; When the user performs cardiopulmonary resuscitation, the user's body has a plurality of preset postures; When the user's body is in each of the preset postures, the heights of the preset parts are different; Determining the posture of the user's body in each frame of the video based on the height of a preset part of the user's body in each frame; After determining the height of the preset part of the user's body in each frame of the video, the processing module is further used to: Clustering the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain a second clustering result; Based on the height of the preset part of the user's body in each frame, the posture of the user's body in each frame, the second clustering result, and the matching relationship between each preset posture and each preset stage of the cardiopulmonary resuscitation action, identifying each preset stage of the cardiopulmonary resuscitation action of the user in the video; The processing module is also used for: Determining, based on the height of the preset part of the user's body in each frame and the posture of the user's body in each frame, a standard height of the preset part when the user's body is in each preset posture; Determining the preset postures corresponding to each cluster of the second clustering result based on the standard heights of the preset parts when the user's body is in each preset posture; Based on the preset postures corresponding to the clusters of the second clustering result and the matching relationship between the preset postures and the preset stages of the cardiopulmonary resuscitation action, identifying the preset stages of the cardiopulmonary resuscitation action of the user in the video; The processing module is also used for: Obtain candidate clusters according to the time sequence of each cluster of the second clustering result in the video; Based on the matching relationship between each preset posture and each preset stage, determining all candidate stages corresponding to the candidate cluster; Based on the number of preset part heights in the candidate cluster and the preset range of the number of preset part heights corresponding to each candidate stage corresponding to the candidate cluster, determine the preset stage to which the candidate cluster belongs, and record the number of occurrences of the preset posture to which the candidate cluster belongs in the video; Based on the preset stages to which each cluster of the second clustering result belongs and the number of occurrences of the preset stages to which each cluster belongs in the video, the preset stages of the cardiopulmonary resuscitation action of the user in the video are identified.
14. The cardiopulmonary resuscitation action video processing device according to claim 13, wherein the processing module is further used for: Clustering the heights of the preset parts of the user's body in each frame to obtain a first clustering result; Based on the first clustering result, a posture of a user's body in each frame of the video is determined.
15. The cardiopulmonary resuscitation action video processing device according to claim 13, wherein the preset part is a torso, and the processing module is further used for: Based on the video, using a preset human posture model, obtaining the human posture information of the user in each frame of the video; the human posture information at least includes the height coordinates of the left shoulder joint point and the right shoulder joint point of the user, and the timestamp of the corresponding frame; The average value of the height coordinates of the left shoulder joint point and the right shoulder joint point of the user in each frame is used as the height of the user's torso in the corresponding frame.
16. The cardiopulmonary resuscitation action video processing device according to claim 14, wherein the processing module is further used for: Based on the K-means algorithm, the heights of the preset parts in each frame are clustered to obtain the first clustering result.
17. The cardiopulmonary resuscitation action video processing device according to claim 16, wherein the processing module is further used for: Get candidate cluster centroids and preset number of categories; Based on the candidate cluster centroids and the preset number of classifications, clustering the heights of the user-preset parts in each frame to obtain candidate clustering results; Based on the candidate clustering results, determine the centroid of each cluster in the candidate clustering results, if the centroid of each cluster in the candidate clustering results is different from the candidate clustering centroid, update the candidate clustering centroid to the centroid of each cluster in the candidate clustering results, cluster the heights of the user-preset parts in each frame based on the updated candidate clustering centroid, until the centroid of each cluster in the clustering results obtained based on the updated candidate clustering centroid no longer changes, or the candidate clustering centroid reaches a preset update number of times; The final clustering result is used as the first clustering result.
18. The cardiopulmonary resuscitation action video processing device according to claim 14, after obtaining the first clustering result, the processing module is further used to: Determining the average number of heights of preset parts in each cluster of the first clustering result; The clusters in the first clustering result whose number of preset part heights is less than the average number are removed from the first clustering result.
19. The cardiopulmonary resuscitation action video processing device according to claim 14, wherein the processing module is further used for: respectively determining an average value of the height of the preset part in each cluster of the first clustering result; Sort the average values of the heights of the preset parts in each cluster; Based on the sorting result and the height order of the preset parts corresponding to each preset posture, the preset posture corresponding to each cluster of the first clustering result is determined.
20. The cardiopulmonary resuscitation action video processing device according to claim 13, wherein the processing module is further used for: The DBSCAN algorithm is used to cluster the frames of the video based on the height of the preset part of the user's body in each frame and the time sequence of each frame in the video to obtain the second clustering result.
21. The cardiopulmonary resuscitation action video processing device according to claim 13, after obtaining the second clustering result, the processing module is further used for: Determining the average number of heights of preset parts in each cluster of the second clustering result; The clusters in the second clustering result whose number of preset part heights is less than the average number are removed from the second clustering result.
22. The cardiopulmonary resuscitation action video processing device according to claim 13, wherein the processing module is further used for: The average value of the heights of the preset parts in each frame in the same preset posture is used as the standard height of the preset part when the user's body is in the corresponding preset posture.
23. The cardiopulmonary resuscitation action video processing device according to claim 22, wherein the processing module is further used for: Determining an average value of the heights of the preset parts in each cluster of the second clustering result; Determine respectively the average value of the preset part height in each cluster of the second clustering result and the difference between the average value of the preset part height and the standard height value of the preset part corresponding to each preset posture; if the difference between the average value of the preset part height corresponding to any cluster and the standard height value of the preset part corresponding to any preset posture is within the preset difference range of the preset posture, the preset posture is taken as the preset posture belonging to the cluster.
24. The cardiopulmonary resuscitation action video processing device according to claim 13, wherein: The preset postures include: standing posture, standing bending posture, standing head down posture, kneeling posture, kneeling bending posture, kneeling head down posture; The preset stages include: a preparation stage, a cyclic pressing stage, a mouth and nose cleaning stage, a cyclic blowing stage and an end stage.
25. A computer-readable storage medium storing a computer program, wherein the computer program, when executed by a processor, can implement the method for processing a cardiopulmonary resuscitation action video according to any one of claims 1 to 12.
26. A computing device, the computing device comprising: one or more processors; a memory for storing instructions executable by the processor; The processor is used to read the executable instructions stored in the memory to execute the cardiopulmonary resuscitation action video processing method described in any one of claims 1 to 12.
Citation Information
Patent Citations
Cardio-pulmonary resuscitation pressing action evaluation method and system based on camera
CN115227234A
Cardio-pulmonary resuscitation pressing posture recognition method and device based on human body posture estimation
CN117994703A