Human body posture recognition method and device, electronic equipment and readable storage medium
By generating point cloud data using millimeter-wave radar and combining it with tracking and attitude detection algorithms, and utilizing finite state machines and sliding time windows, the accuracy and stability issues of human posture detection were resolved, enabling continuous and accurate recognition of human posture.
Patent Information
- Application Number
- CN202310822295.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-05
- Publication Date
- 2025-01-07
AI Technical Summary
In existing technologies, human posture detection based on video and wearable sensors is easily affected by light and angle, and wearable devices are prone to falling off, resulting in low detection accuracy and poor stability, especially when human posture is easily misjudged during large movements.
Millimeter-wave radar is used to generate point cloud data. Combined with tracking and attitude detection algorithms, attitude recognition is performed through finite state machines and sliding time windows. Multiple preset conditions are set to judge changes in human posture, and centroid information is used for continuous monitoring.
It improves the accuracy and stability of human posture recognition, avoids misjudgments caused by local movements, and achieves continuous and objective monitoring of human posture.
Smart Images

Figure CN119274200A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of radar detection technology, and in particular to a human body posture recognition method, device, electronic equipment and readable storage medium. Background Art
[0002] With the rapid development and maturity of 5G technology, people's expectations for smart life are getting higher and higher, and more high-tech industrial products have emerged. Among them, human posture recognition is widely used in human-computer interaction, intelligent monitoring, virtual reality and human behavior analysis. The recognition process is based on specified video images or sensor signals, and recognizes human movements according to changes in the position of human joints.
[0003] At present, video-based posture detection and wearable sensor-based posture detection are the mainstream posture detection solutions. Among them, the image quality captured by the camera is easily affected by the shooting angle, light changes, partial occlusion, etc., while the wearable sensor can only achieve close-range posture detection, and the wearable device is easy to fall off, which is not conducive to continuous posture detection and maintenance of personnel over a long period of time. At the same time, it is found in actual experiments that when the movement amplitude is relatively large, the local movement of the human body will cause misjudgment of the human body posture, thereby reducing the accuracy of detection and affecting the stability of system detection. Summary of the invention
[0004] The purpose of the embodiments of the present invention is to provide a human posture recognition method, device, electronic device and readable storage medium to solve the problem in the prior art that human posture is misjudged due to local human body movement, thereby reducing the detection accuracy and affecting the detection stability of the system. The specific technical solution is as follows:
[0005] According to a first aspect of an embodiment of the present application, a method for human body posture recognition is provided, the method comprising:
[0006] Get the initial posture of the detection target;
[0007] Acquire the original signal of the detection target, and generate a plurality of frames of point cloud data corresponding to the detection target according to the original signal;
[0008] Obtaining a tracking algorithm and a posture detection algorithm, wherein the posture detection algorithm corresponds to a sliding time window with a fixed frame length;
[0009] Inputting each frame of the point cloud data into the tracking algorithm to perform centroid detection, and obtaining the centroid information of the detection target in each frame of the point cloud data;
[0010] Inputting the point cloud data and the centroid information corresponding to the point cloud data into the posture detection algorithm frame by frame to perform posture detection, and obtaining multiple frames of point cloud data within the sliding time window;
[0011] When the multi-frame point cloud data in the sliding time window meets a preset condition, the detection target is transferred from the initial posture to the target posture.
[0012] Furthermore, the acquiring of the original signal of the detection target and generating a plurality of frames of point cloud data corresponding to the detection target according to the original signal includes:
[0013] The detection range is detected by the millimeter wave radar, and a reflection signal corresponding to a detection target within the detection range is obtained;
[0014] Extracting features according to the reflection signal to generate a plurality of feature values related to the detection target;
[0015] Generating a plurality of frames of point cloud data corresponding to the detection target according to a plurality of feature values related to the detection target;
[0016] The characteristic values include distance, azimuth, elevation angle, Doppler information, signal-to-noise ratio and noise value.
[0017] Furthermore, the tracking algorithm includes a clustering algorithm and a correction algorithm based on an extended Kalman filter, and inputting each frame of the point cloud data into the tracking algorithm for centroid detection to obtain the centroid information of the detection target in each frame of the point cloud data, including:
[0018] Input each frame of the point cloud data into the clustering algorithm frame by frame, and perform correction in combination with the correction algorithm based on the extended Kalman filter to obtain the centroid information of the detection target in each frame of the point cloud data;
[0019] The center of mass information includes: position, velocity and acceleration information.
[0020] Furthermore, the sliding time window includes point cloud data, centroid information and eigenvalues corresponding to the current frame image and the previous frame image of the detection target, the acquisition tracking algorithm and the posture detection algorithm, and the posture detection algorithm corresponds to a sliding time window with a fixed frame length, including:
[0021] Obtain a finite state machine, and model the posture detection algorithm through the finite state machine, each of the finite state machines corresponding to a sliding time window of the fixed frame length;
[0022] The frame data in the sliding time window is updated in real time by a first-in-first-out method;
[0023] Wherein, the obtaining of a finite state machine and modeling the posture detection algorithm through the finite state machine includes:
[0024] Acquire the action state of the detection target within the detection range, define the action state as each corresponding node in the finite state machine, and the action state includes at least one of: walking, standing, sitting and falling;
[0025] A state transfer condition is set, and the state transfer condition is defined as an edge connecting a first node and a second node in the finite state machine.
[0026] Furthermore, when the multi-frame point cloud data in the sliding time window meets a preset condition, the detection target is transferred from the initial posture to the target posture, including:
[0027] Determine whether the multi-frame point cloud data meets a first preset condition or whether the multi-frame point cloud data meets a second preset condition;
[0028] When the multi-frame point cloud data satisfies the first preset condition and the second preset condition, the node corresponding to the current action state of the detection target is transferred along the edge corresponding to the state transfer condition;
[0029] When the multi-frame point cloud data does not satisfy the first preset condition or the second preset condition, the node corresponding to the current action state of the detection target is transferred along the spin edge and remains unchanged;
[0030] The node corresponding to the current action state of the detection target is transferred to a node as the target node of the detection target, and the action state corresponding to the target node is obtained as the target posture.
[0031] Further, the determining whether the multi-frame point cloud data satisfies a first preset condition or whether the multi-frame point cloud data satisfies a second preset condition includes:
[0032] Acquire the number of frames of point cloud data that simultaneously meet the third preset condition, the fourth preset condition, and the fifth preset condition within the sliding time window, and when the number of frames is greater than or equal to a first preset value, the multi-frame point cloud data meets the first preset condition;
[0033] The number of frames of point cloud data in which the position of the centroid information of the detection target within the sliding time window is higher than a second preset value is obtained. When the number of frames is greater than or equal to a third preset value, the multi-frame point cloud data meets the second preset condition.
[0034] Furthermore, the step of obtaining the number of frames of point cloud data that simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition within the sliding time window includes:
[0035] Obtaining a height difference between a highest point and a lowest point in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window, and when the height difference reaches a fourth preset value, the corresponding frame of the point cloud data satisfies the third preset condition;
[0036] Obtaining the number of points at a position higher than the centroid information of the detection target in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window, when the number of points at a position higher than the centroid information of the detection target reaches a fifth preset value, the corresponding frame of the point cloud data satisfies the fourth preset condition;
[0037] Obtaining the number of points at a position lower than the centroid information of the detection target in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window, when the number of points at a position lower than the centroid information of the detection target reaches a sixth preset value, the corresponding frame of the point cloud data satisfies the fifth preset condition;
[0038] The number of frames that simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition in the plurality of frames of point cloud data corresponding to the detection target within the sliding time window is obtained.
[0039] According to a second aspect of an embodiment of the present application, a human body posture recognition device is provided, the device comprising:
[0040] The posture setting module is used to obtain the initial posture of the detection target;
[0041] A point cloud data generation module, used to obtain the original signal of the detection target and generate a plurality of frames of point cloud data corresponding to the detection target according to the original signal;
[0042] An algorithm acquisition module is used to acquire a tracking algorithm and a posture detection algorithm, wherein the posture detection algorithm corresponds to a sliding time window with a fixed frame length;
[0043] A target tracking module, used for inputting each frame of the point cloud data into the tracking algorithm to perform centroid detection, and obtaining the centroid information of the detection target in each frame of the point cloud data;
[0044] A posture detection module, used for inputting the point cloud data and the centroid information corresponding to the point cloud data into the posture detection algorithm frame by frame to perform posture detection, and obtain multiple frames of point cloud data within the sliding time window;
[0045] The target posture confirmation module is used to transfer the detection target from the initial posture to the target posture when the multi-frame point cloud data in the sliding time window meets the preset conditions.
[0046] According to a third aspect of an embodiment of the present application, there is provided an electronic device, including:
[0047] A memory, a processor, and a program stored in the memory and executable on the processor;
[0048] Wherein, the processor is configured to read the program on the memory to implement the human body posture recognition method as described in the first aspect.
[0049] According to a fourth aspect of an embodiment of the present application, a computer-readable storage medium is provided, which stores a computer program used in conjunction with an electronic device, and the computer program can be executed by a processor to complete the human body posture recognition method as described in the first aspect.
[0050] The technical solution provided by the embodiments of the present invention may have the following beneficial effects:
[0051] The present invention obtains the initial posture and original signal of the detection target, and generates several frames of point cloud data corresponding to the detection target according to the original signal; obtains a tracking algorithm and a posture detection algorithm, and the posture detection algorithm corresponds to a sliding time window with a fixed frame length; inputs each frame of the point cloud data into the tracking algorithm for centroid detection, and obtains the centroid information of the detection target in each frame of the point cloud data; inputs the point cloud data and the centroid information corresponding to the point cloud data into the posture detection algorithm frame by frame for posture detection, and obtains multiple frames of point cloud data within the sliding time window; when the multiple frames of point cloud data within the sliding time window meet the preset conditions, the detection target is transferred from the initial posture to the target posture. The present application maintains multiple frames of images updated in real time in a sliding time window, continuously monitors the posture of a person, avoids the randomness of non-continuous monitoring, provides more objective user activity data, and while obtaining the point cloud data corresponding to the detection target, uses the center of mass information as the basis for identifying the human body posture, and sets a variety of preset conditions to judge the point cloud data and the center of mass information in the sliding time window. It can correctly determine the local movement of the human body, prevent misjudgment of posture due to local movement of the human body, effectively improve the recognition accuracy of local movement of the human body, and enhance the stability of human posture recognition.
[0052] It should be understood that the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the present application. BRIEF DESCRIPTION OF THE DRAWINGS
[0053] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the invention and, together with the description, serve to explain the principles of the invention.
[0054] Figure 1 is a flow chart of a human body posture recognition method provided by an embodiment of the present invention;
[0055] Figure 2 is a partial flow chart of a human body posture recognition method provided by an embodiment of the present invention;
[0056] Figure 3 is a block diagram of a human posture recognition device provided by an embodiment of the present invention;
[0057] Figure 4 It is a block diagram of an electronic device provided by an embodiment of the present invention. DETAILED DESCRIPTION
[0058] The exemplary embodiments of the present invention will be described in more detail below with reference to the accompanying drawings. Although the exemplary embodiments of the present invention are shown in the accompanying drawings, it should be understood that the present invention can be implemented in various forms and should not be limited by the embodiments set forth herein. On the contrary, these embodiments are provided in order to enable a more thorough understanding of the present invention and to enable the scope of the present invention to be fully communicated to those skilled in the art.
[0059] An embodiment of the present application relates to a method for human body posture recognition. Figure 1 is a flow chart of a human body posture recognition method provided by an embodiment of the present invention, such as Figure 1 As shown, the following steps are included:
[0060] Step 101, obtaining the initial posture of the detection target.
[0061] Step 102, obtaining the original signal of the detection target, and generating a plurality of frames of point cloud data corresponding to the detection target according to the original signal.
[0062] In the embodiment of the present invention, before performing posture detection on the detection target, an initial posture is preset for the detection target. During the posture recognition process, it is confirmed whether the initial posture of the detection target has changed, and the target posture is obtained. The millimeter wave radar is used to continuously transmit millimeter waves. Since different parts of the human body will reflect millimeter waves, multiple millimeter waves reflected by people within the detection range are received by the radar to obtain multiple original signals of the detection target, and further generate a number of frames of point cloud data corresponding to the detection target based on the multiple original signals.
[0063] Specifically, the original signal of the detection target is obtained, and a plurality of frames of point cloud data corresponding to the detection target are generated according to the original signal, which also includes:
[0064] The detection range is detected by the millimeter wave radar, and a reflection signal corresponding to a detection target within the detection range is obtained;
[0065] Extracting features according to the reflection signal to generate a plurality of feature values related to the detection target;
[0066] Generating a plurality of frames of point cloud data corresponding to the detection target according to a plurality of feature values related to the detection target;
[0067] The characteristic values include distance, azimuth, elevation angle, Doppler information, signal-to-noise ratio and noise value.
[0068] The present invention continuously emits millimeter waves within a detection range through an FMCW (Frequency Modulated Continuous Wave) millimeter wave radar. After the millimeter waves are reflected by a human body, they are received by the radar antenna to generate a reflection signal corresponding to the detection target. When the millimeter wave radar receives the reflection signal, the reflection signal is processed and analyzed, features are extracted from it and a number of characteristic values related to the detection target are generated. The characteristic value may include at least one of the following: distance, azimuth, pitch angle, Doppler information, signal-to-noise ratio and noise value. The millimeter wave radar performs signal processing according to the characteristic value to generate a number of frames of point cloud data, and each frame of point cloud data is a collection of many reflection signals.
[0069] Step 103, obtaining a tracking algorithm and a posture detection algorithm, wherein the posture detection algorithm corresponds to a sliding time window with a fixed frame length.
[0070] In an embodiment of the present invention, after acquiring point cloud data corresponding to a detection target, a tracking algorithm is acquired, and the tracking algorithm can be used to associate the acquired point cloud data with a trackable unit, or cluster the acquired point cloud data into a new category, that is, the tracking algorithm uses the point cloud data of the detection target as input, performs target positioning and outputs a target list, and completes clustering and tracking of the point cloud data of the detection target; and an attitude detection algorithm is acquired, which is used to acquire the current target attitude of the detection target. The attitude detection algorithm corresponds to a sliding time window with a fixed frame length. Since different parts of the human body will move multiple times during long-term attitude detection, instantaneous motion and local motion will cause the target attitude determined according to the point cloud data of the detection target to be inconsistent with the actual attitude of the human body, that is, the recognition of the human body attitude is incorrect. Therefore, a sliding time window with a fixed frame length is maintained by the attitude detection algorithm, and multiple frames of point cloud data corresponding to the detection target in the sliding time window are analyzed to achieve continuous monitoring of the human body attitude over a period of time.
[0071] Specifically, the sliding time window includes the point cloud data, centroid information and eigenvalues corresponding to the current frame image and the previous frame image of the detection target, as well as the acquisition tracking algorithm and the posture detection algorithm. The posture detection algorithm corresponds to a sliding time window with a fixed frame length, and also includes:
[0072] Obtain a finite state machine (FSM), and model the posture detection algorithm through the finite state machine, each of the finite state machines corresponding to a sliding time window of the fixed frame length;
[0073] The frame data in the sliding time window is updated in real time in a first-in-first-out manner.
[0074] The posture detection algorithm obtained by the present invention is modeled through a finite state machine, and a finite state machine is maintained for each detection target within the detection range, wherein each finite state machine also maintains a sliding time window with a fixed frame length, which is used to store data information of the current frame image of the detection target and the previous n frame images, including at least one of point cloud data, center of mass information and eigenvalues; and the frame data in the sliding time window is updated in real time in a first-in-first-out manner, thereby maintaining a sliding time window with a fixed frame length and real-time data updates.
[0075] Specifically, a finite state machine is obtained, and a posture detection algorithm is modeled by the finite state machine, which also includes:
[0076] Acquire the action state of the detection target within the detection range, define the action state as each corresponding node in the finite state machine, and the action state includes at least one of: walking, standing, sitting and falling;
[0077] A state transfer condition is set, and the state transfer condition is defined as an edge connecting a first node and a second node in the finite state machine.
[0078] The present invention uses a finite state machine to model a posture detection algorithm, and defines all possible action states of a detection target within a detection range as nodes on the finite state machine, including at least one of walking, standing, sitting and falling, and each state corresponds to a node on the finite state machine; at the same time, the condition of state transfer is also defined as an edge connecting a first node and a second node on the finite state machine, wherein a unidirectional edge from the first node to the second node indicates that the action state corresponding to the first node can only be transferred to the action state corresponding to the second node, a bidirectional edge from the third node to the fourth node indicates that the action state corresponding to the third node and the action state corresponding to the fourth node can be transferred to each other when the corresponding transfer condition is met, and a spin edge from the fifth node to the fifth node indicates that no action state transfer occurs, that is, the action state corresponding to the fifth node is kept unchanged; each edge excluding the spin edge corresponds to an action state and a state transfer condition.
[0079] Step 104 , input each frame of point cloud data into the tracking algorithm for centroid detection, and obtain the centroid information of the detection target in each frame of point cloud data.
[0080] In an embodiment of the present invention, after obtaining several frames of point cloud data and a tracking algorithm corresponding to the detection target, each frame of point cloud data is input into the tracking algorithm, and each frame of point cloud data is associated with a trackable unit through the tracking algorithm, or several frames of point cloud data are clustered into a new category to achieve positioning and tracking of the detection target, and obtain the center of mass information of the detection target in each frame of point cloud data, thereby completing the center of mass detection of the data point cloud.
[0081] Specifically, the tracking algorithm includes a clustering algorithm and a correction algorithm based on the extended Kalman filter, and inputs each frame of point cloud data into the tracking algorithm for centroid detection to obtain the centroid information of the detection target in each frame of point cloud data, and also includes:
[0082] Input each frame of the point cloud data into the clustering algorithm frame by frame, and perform correction in combination with the correction algorithm based on the extended Kalman filter to obtain the centroid information of the detection target in each frame of the point cloud data;
[0083] The center of mass information includes: position, velocity and acceleration information.
[0084] After obtaining several frames of point cloud data corresponding to the detection target, the present invention needs to use a tracking algorithm to cluster these reflection signals, because each frame of point cloud data is a collection of many reflection signals, so as to achieve trajectory tracking of different detection targets. Each frame of point cloud data is input into the tracking algorithm, and each frame of point cloud data is located or clustered into a new category, and the position of the detection target is corrected by a correction algorithm based on the extended Kalman filter to obtain the center of mass information of the detection target in each frame of point cloud data, wherein the center of mass information of the detection target may include at least one of the following: position, velocity, and acceleration information.
[0085] Step 105 , inputting the point cloud data and the centroid information corresponding to the point cloud data into a posture detection algorithm frame by frame to perform posture detection, and obtaining multiple frames of point cloud data within the sliding time window.
[0086] In an embodiment of the present invention, several frames of point cloud data are generated according to the original signal of the detection target, and the center of mass information in each frame of point cloud data is obtained according to the tracking algorithm, that is, each frame of point cloud data has its corresponding center of mass information. After obtaining the point cloud data corresponding to several frames of detection targets and the center of mass information in each frame of point cloud data, the point cloud data of each frame and the center of mass information in the current frame of point cloud data are input into the posture detection algorithm together; since the center of mass information of the detection target is obtained by tracking and positioning each frame of point cloud data, the current frame point cloud data corresponding to the detection target and the current frame center of mass information belong to the same data frame, the point cloud data and the center of mass information belonging to the same data frame are input into the posture detection algorithm frame by frame to perform posture detection on the detection target, and obtain multiple frames of point cloud data in the sliding time window and the data features presented therein.
[0087] In an embodiment of the present invention, a plurality of detection conditions for the distribution of point cloud data are set. After the point cloud data and the center of mass information belonging to the same data frame are input into the posture detection algorithm frame by frame, the data features presented by the point cloud data in the sliding time window are further analyzed in combination with the pre-set detection conditions to determine whether each frame of point cloud data in the sliding time window meets the preset conditions, and the number of frames of point cloud data in the sliding time window that meet the preset conditions is obtained.
[0088] Step 106 , when the multi-frame point cloud data in the sliding time window meets the preset conditions, the detection target is transferred from the initial posture to the target posture.
[0089] In an embodiment of the present invention, in order to solve the problem of misjudgment of posture recognition caused by local movement of the human body, a plurality of detection conditions for the distribution of point cloud data are set to further judge the point cloud data in the sliding time window. After the point cloud data and the centroid information belonging to the same data frame are input into the posture detection algorithm frame by frame, the data features presented by the multi-frame point cloud data in the sliding time window are further analyzed in combination with the pre-set detection conditions to determine whether the multi-frame point cloud data in the sliding time window meets the preset conditions. When the multi-frame point cloud data in the sliding time window meets the preset conditions, the detection target is transferred from the initial posture to the target posture.
[0090] In one example, the fixed frame length of the sliding time window is set to 10 frames. After the point cloud data and the center of mass information are input into the posture algorithm, when the number of frames of the point cloud data in the sliding time window reaches 10 frames, the finite state machine checks the node corresponding to the current action state of the detection target to determine whether the number of frames of the point cloud data in the sliding time window meets the preset conditions. When the number of frames of the point cloud data meets the preset conditions, it is determined that the detection target is currently in the target posture.
[0091] In summary, the present invention maintains a sliding time window with a fixed frame length, obtains and analyzes multi-frame images updated in real time, realizes continuous monitoring of personnel posture, avoids the randomness of non-continuous monitoring, provides more objective user activity data, and while obtaining the point cloud data corresponding to the detection target, uses the center of mass information as the basis for identifying human posture, and sets a variety of preset conditions to judge the point cloud data and center of mass information in the sliding time window, which can correctly determine the local movement of the human body, prevent misjudgment of posture due to local movement of the human body, effectively improve the recognition accuracy of local movement of the human body, and enhance the stability of human posture recognition.
[0092] An embodiment of the present application relates to a gesture recognition method. Figure 2 is a partial flow chart of a human body posture recognition method provided by an embodiment of the present invention, such as Figure 2 As shown, the following steps are included:
[0093] Step 201 , determining whether the multi-frame point cloud data meets a first preset condition or whether the multi-frame point cloud data meets a second preset condition.
[0094] In the embodiment of the present invention, since a person will continue to move during a period of monitoring time, resulting in a transfer of the action state, each frame of point cloud data and its corresponding centroid information are input into the posture detection algorithm frame by frame to obtain multiple frames of point cloud data in the sliding time window, and the human body posture needs to be continuously monitored and updated according to the point cloud data updated in real time in the sliding time window and multiple preset conditions. The first preset condition and the second preset condition are set, and when the number of frames of point cloud data in the sliding time window reaches a fixed number of frames, each frame of point cloud data in the sliding time window and its corresponding centroid information are detected and judged, and it is confirmed whether the multiple frames of point cloud data in the sliding time window meet the first preset condition and the second preset condition.
[0095] Specifically, judging whether the multi-frame point cloud data satisfies a first preset condition or whether the multi-frame point cloud data satisfies a second preset condition further includes:
[0096] Acquire the number of frames of point cloud data that simultaneously meet the third preset condition, the fourth preset condition, and the fifth preset condition within the sliding time window, and when the number of frames is greater than or equal to a first preset value, the multi-frame point cloud data meets the first preset condition;
[0097] The number of frames of point cloud data in which the position of the centroid information of the detection target within the sliding time window is higher than a second preset value is obtained. When the number of frames is greater than or equal to a third preset value, the multi-frame point cloud data meets the second preset condition.
[0098] In order to solve the posture misjudgment caused by inaccurate center of mass position in posture detection process due to local movement of human body, the present invention sets multiple preset conditions for the distribution of point cloud data in the sliding time window after acquiring point cloud data in a sliding time window, while retaining the preset restriction conditions for the center of mass information of the detection target, and further restricts the judgment conditions of posture detection, wherein the third preset condition, the fourth preset condition and the fifth preset condition are set to restrict the distribution of point cloud data in the sliding time window, and the number of frames of point cloud data in the sliding time window that can simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition is obtained. When the number of frames is greater than or equal to the first preset value, it is judged that the multi-frame point cloud data in the sliding time window meets the first preset condition; the second preset condition is set to restrict the position information in the center of mass information corresponding to the point cloud data of the detection target in the sliding time window, and the point cloud data whose center of mass information position of the detection target in the sliding time window is higher than the second preset value is obtained. When the number of frames of the point cloud data is greater than or equal to the third preset value, it is judged that the multi-frame point cloud data in the sliding time window meets the second preset condition.
[0099] In one example, when the number of frames of point cloud data in the sliding time window that can simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition is greater than or equal to 6 frames, it is judged that the multi-frame point cloud data in the sliding time window meets the first preset condition, and the number of frames of point cloud data in which the center of mass information position of the detected target in the sliding time window is higher than 1.2 is obtained. When the number of frames of the point cloud data is greater than or equal to 5 frames, it is judged that the multi-frame point cloud data in the sliding time window meets the second preset condition.
[0100] Specifically, obtaining the number of frames of point cloud data that simultaneously meet the third preset condition, the fourth preset condition, and the fifth preset condition within the sliding time window also includes:
[0101] Obtaining a height difference between a highest point and a lowest point in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window, and when the height difference reaches a fourth preset value, the corresponding frame of the point cloud data satisfies the third preset condition;
[0102] Obtaining the number of points at a position higher than the centroid information of the detection target in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window, when the number of points at a position higher than the centroid information of the detection target reaches a fifth preset value, the corresponding frame of the point cloud data satisfies the fourth preset condition;
[0103] Obtaining the number of points at a position lower than the centroid information of the detection target in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window, when the number of points at a position lower than the centroid information of the detection target reaches a sixth preset value, the corresponding frame of the point cloud data satisfies the fifth preset condition;
[0104] The number of frames that simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition in the plurality of frames of point cloud data corresponding to the detection target within the sliding time window is obtained.
[0105] The present invention sets multiple preset conditions for the point cloud data in the sliding time window and performs multiple judgments on each frame of point cloud data, so that the judgment conditions for action state transfer in the posture recognition process are more stringent, and the easily confused human postures can be effectively distinguished. The distribution of point cloud data in the sliding time window is restricted by setting a third preset condition, a fourth preset condition and a fifth preset condition, wherein the height difference between the highest point and the lowest point of each frame of point cloud data in the sliding time window is obtained, and when the height difference reaches the fourth preset value, it is judged that the current frame of point cloud data meets the third preset condition, and the number of points of each frame of point cloud data in the sliding time window that are higher than the corresponding centroid information of the detection target is obtained, and when the number of points reaches the fifth preset value, it is judged that the current frame of point cloud data meets the fourth preset condition, and the number of points of each frame of point cloud data in the sliding time window that are lower than the corresponding centroid information of the detection target is obtained, and when the number of points reaches the sixth preset value, it is judged that the current frame of point cloud data meets the fifth preset condition; according to multiple preset conditions, each frame of point cloud data in the sliding time window is further analyzed, and the number of frames of point cloud data in the sliding time window that can simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition is obtained.
[0106] In one example, the height difference between the highest point and the lowest point of each frame of point cloud data in the sliding time window is obtained. When the height difference reaches 0.55, it is judged that the current frame of point cloud data meets the third preset condition, and the number of points above the position of the corresponding center of mass information of the detection target is obtained for each frame of point cloud data in the sliding time window. When the number of points reaches 4, it is judged that the current frame of point cloud data meets the fourth preset condition, and the number of points below the position of the corresponding center of mass information of the detection target is obtained for each frame of point cloud data in the sliding time window. When the number of points reaches 5, it is judged that the current frame of point cloud data meets the fifth preset condition; according to multiple preset conditions, each frame of point cloud data in the sliding time window is further analyzed, and the number of frames of point cloud data in the sliding time window that can simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition are obtained.
[0107] Step 202: When the multi-frame point cloud data satisfies the first preset condition and the second preset condition, the node corresponding to the current action state of the detection target is transferred along the edge corresponding to the state transfer condition.
[0108] In an embodiment of the present invention, each frame of point cloud data in a sliding time window and its corresponding centroid information are judged according to preset conditions, and it is confirmed whether the multi-frame point cloud data in the sliding time window satisfies the first preset condition and the second preset condition. When the multi-frame point cloud data in the sliding time window satisfies the first preset condition and the second preset condition, it is judged that the node corresponding to the current action state of the detection target satisfies the state transfer condition on the transferable edge corresponding to its node. Therefore, the current node is transferred to the new node along the corresponding edge according to the satisfied state condition.
[0109] Step 203, when the multi-frame point cloud data does not meet the first preset condition or does not meet the second preset condition, the node corresponding to the current action state of the detection target is transferred along the spin edge and remains unchanged.
[0110] In an embodiment of the present invention, each frame of point cloud data in the sliding time window and its corresponding centroid information are judged according to preset conditions, and it is confirmed whether the multi-frame point cloud data in the sliding time window meets the first preset condition and the second preset condition. When the multi-frame point cloud data in the sliding time window does not meet the first preset condition or the second preset condition, it is judged that the node corresponding to the current action state of the detection target does not meet the state transfer condition on any transferable edge corresponding to its node, and therefore the current node is transferred along the spin edge, that is, the current node remains unchanged.
[0111] Step 204 , the node corresponding to the current action state of the detection target is transferred to a node as the target node of the detection target, and the action state corresponding to the target node is obtained as the target posture.
[0112] In an embodiment of the present invention, a plurality of preset conditions are set to judge the point cloud data within the sliding time window, and whether the current node is transferred is judged according to the multi-frame point cloud data within the sliding time window and the preset conditions, and the node after the transfer corresponding to the node of the current action state of the detection target is obtained, and the node after the transfer is used as the target node of the detection target; the action state corresponding to the target node is obtained and used as the target posture, wherein when the current node is transferred along the spin edge, the current node remains unchanged, the target node is still the current node, and the current action state of the detection target has not changed; when the current node is transferred along the corresponding edge according to the satisfied transfer state condition, the target node is a new node obtained after the transfer, that is, the current action state of the detection target changes according to the node after the transfer, and a new target posture is obtained.
[0113] Therefore, in one example, when the number of frames of point cloud data in the sliding time window reaches 10 frames, the finite state machine checks the node corresponding to the current action state of the detection target to determine whether the multi-frame point cloud data in the sliding time window meets the first preset condition and the second preset condition; when the number of frames in the multi-frame point cloud data in the sliding time window that simultaneously meet the conditions that the height difference between the highest point and the lowest point reaches 0.55, the number of points at which the point cloud data is higher than the position corresponding to the centroid information of the detection target reaches 4 points, and the number of points at which the point cloud data is lower than the position corresponding to the centroid information of the detection target reaches 5 points is greater than or equal to 6 frames, it is determined that the multi-frame point cloud data in the sliding time window meets the conditions that the height difference between the highest point and the lowest point reaches 0.55, the number of points at which the point cloud data is higher than the position corresponding to the centroid information of the detection target reaches 4 points, and the number of points at which the point cloud data is lower than the position corresponding to the centroid information of the detection target reaches 5 points. When the multi-frame point cloud data in the sliding time window satisfies the first preset condition and the number of frames of point cloud data whose centroid information position of the detection target is higher than 1.2 is obtained, when the number of frames of the point cloud data is greater than or equal to 5 frames, it is judged that the multi-frame point cloud data in the sliding time window meets the second preset condition; when the multi-frame point cloud data in the sliding time window meets the first preset condition and the second preset condition, it is judged that the current node of the detection target meets the state transition condition from the action state "sitting" to the action state "standing", and it is confirmed that the current node of the detection target is transferred to the new node along the corresponding edge, that is, the current action state of the detection target is transferred from "sitting" to "standing". When the multi-frame point cloud data in the sliding time window does not meet the first preset condition or the second preset condition, it is judged that the current node of the detection target does not meet the state transition condition from the action state "sitting" to the action state "standing", and it is confirmed that the current node of the target is transferred along the spin edge, that is, the local movement of the upper body of the detection target causes the point cloud data to change, but does not change the overall action state, and the current action state remains unchanged "sitting".
[0114] In summary, the embodiments of the present invention use both point cloud data and centroid information as the basis for posture recognition, effectively avoiding posture misjudgment caused by inaccurate center of mass position due to local movement of the human body, and setting multiple conditions to increase restrictions on the distribution of point cloud data, making the judgment of posture transfer more stringent, thereby achieving effective distinction between two easily confused postures: local movement of the upper body after a person sits down and standing up after sitting down; and maintaining a sliding time window with a fixed frame length for each detection target through a posture detection algorithm, and continuously monitoring the posture of the currently detected person based on the continuous point cloud data in the sliding time window, avoiding posture misjudgment caused by the randomness of instantaneous changes in human body movements, i.e., non-continuous monitoring, providing more objective user activity data, and effectively improving the stability of human posture recognition.
[0115] An embodiment of the present application relates to a human body posture recognition device, Figure 3 is a block diagram of a human posture recognition device provided by an embodiment of the present invention, such as Figure 3 As shown, it includes the following modules:
[0116] A posture setting module 301 is used to obtain the initial posture of the detection target;
[0117] The point cloud data generation module 302 is used to obtain the original signal of the detection target and generate a plurality of frames of point cloud data corresponding to the detection target according to the original signal.
[0118] The algorithm acquisition module 303 is used to acquire the tracking algorithm and the posture detection algorithm. The posture detection algorithm corresponds to a sliding time window with a fixed frame length.
[0119] The target tracking module 304 is used to input each frame of point cloud data into the tracking algorithm for centroid detection to obtain the centroid information of the detection target in each frame of point cloud data.
[0120] The posture detection module 305 is used to input the point cloud data and the centroid information corresponding to the point cloud data into the posture detection algorithm frame by frame to perform posture detection, and obtain multiple frames of point cloud data within the sliding time window.
[0121] The target posture confirmation module 306 is used to transfer the detection target from the initial posture to the target posture when the multi-frame point cloud data in the sliding time window meets the preset conditions.
[0122] Optionally, the point cloud data generating module 302 further includes:
[0123] The first radar detection module is used to detect the detection range through the millimeter wave radar and obtain the reflection signal corresponding to the detection target within the detection range.
[0124] The first eigenvalue generating module is used to extract features according to the reflection signal and generate a plurality of eigenvalues related to the detection target.
[0125] The first point cloud data generating module is used to generate a plurality of frames of point cloud data corresponding to the detection target according to a plurality of characteristic values related to the detection target.
[0126] Optionally, the algorithm acquisition module 303 further includes:
[0127] The first acquisition module is used to acquire a finite state machine, and model the posture detection algorithm through the finite state machine. Each finite state machine corresponds to a sliding time window with a fixed frame length.
[0128] The first updating module is used to update the frame data in the sliding time window in real time in a first-in-first-out manner.
[0129] Optionally, the first acquisition module further includes:
[0130] The first action state acquisition module is used to acquire the action state of the detection target within the detection range, and the action state is defined as the corresponding nodes in the finite state machine. The action state includes at least one of: walking, standing, sitting and falling.
[0131] The first setting module is used to set a state transfer condition, and the state transfer condition is defined as an edge connecting the first node and the second node in the finite state machine.
[0132] Optionally, the target tracking module 304 further includes:
[0133] The first tracking module is used to input each frame of point cloud data into the clustering algorithm frame by frame, and correct it in combination with the correction algorithm based on the extended Kalman filter to obtain the centroid information of the detection target in each frame of point cloud data.
[0134] Optionally, the target posture confirmation module 306 further includes:
[0135] The first judgment module is used to judge whether the multi-frame point cloud data meets the first preset condition or whether the multi-frame point cloud data meets the second preset condition.
[0136] The first transfer module is used to transfer the node corresponding to the current action state of the detection target along the edge corresponding to the state transfer condition when the multi-frame point cloud data meets the first preset condition and the second preset condition.
[0137] The second transfer module is used to transfer the node corresponding to the current action state of the detection target along the spin edge and remain unchanged when the multi-frame point cloud data does not meet the first preset condition or the second preset condition.
[0138] The first posture acquisition module is used to use the node corresponding to the current action state of the detection target as the target node of the detection target, and acquire the action state corresponding to the target node as the target posture.
[0139] Optionally, the first judgment module further includes:
[0140] The second acquisition module is used to acquire the number of frames of point cloud data that simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition within the sliding time window.
[0141] The second judgment module is used to determine whether the multi-frame point cloud data meets a first preset condition when the number of frames is greater than or equal to a first preset value.
[0142] The third acquisition module is used to obtain the number of frames of point cloud data in which the position of the centroid information of the detected target in the sliding time window is higher than a second preset value.
[0143] The third judgment module is used to determine whether the multi-frame point cloud data meets the second preset condition when the number of frames is greater than or equal to a third preset value.
[0144] Optionally, the second acquisition module further includes:
[0145] The first height difference acquisition module is used to obtain the height difference between the highest point and the lowest point of each frame of point cloud data in the sliding time window. When the height difference reaches a fourth preset value, the corresponding frame of the point cloud data meets the third preset condition.
[0146] The first point number acquisition module is used to obtain the number of points at positions higher than the center of mass information of the detection target in several frames of point cloud data corresponding to the detection target within the sliding time window. When the number of points at positions higher than the center of mass information of the detection target reaches a fifth preset value, the corresponding frame of the point cloud data meets a fourth preset condition.
[0147] The second point number acquisition module is used to obtain the number of points below the center of mass information of the detection target in several frames of point cloud data corresponding to the detection target within the sliding time window. When the number of points below the center of mass information of the detection target reaches a sixth preset value, the corresponding frame of the point cloud data meets the fifth preset condition.
[0148] The fourth acquisition module is used to obtain the number of frames that simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window.
[0149] In summary, an embodiment of the present invention provides a human posture recognition device, which simultaneously obtains point cloud data and its corresponding centroid information, and inputs the point cloud data and the centroid information into a posture recognition algorithm for posture recognition, thereby avoiding low posture recognition accuracy due to inaccurate centroid information, and setting multiple detection conditions, increasing restrictions on the distribution of point cloud data, and making the judgment of posture transfer more stringent, thereby achieving effective distinction of easily confusing postures of the human body; and maintaining a sliding time window with a fixed frame length for each detection target through a posture detection algorithm, and continuously monitoring the posture of the currently detected person based on the continuous point cloud data in the sliding time window, thereby avoiding posture misjudgment caused by the randomness of instantaneous changes in human body movements, i.e., non-continuous monitoring, providing more objective user activity data, and effectively improving the stability of human posture recognition.
[0150] Regarding the device in the above embodiment, the specific manner in which each module performs operations has been described in detail in the embodiment of the method, and will not be elaborated here.
[0151] An embodiment of the present application relates to an electronic device, such as Figure 4As shown, it includes a processor 401, a communication interface 402, a memory 403 and a communication bus 404, wherein the processor 401, the communication interface 402, and the memory 403 communicate with each other through the communication bus 404.
[0152] Memory 403, used for storing computer programs;
[0153] The processor 401 is used to execute the program stored in the memory 403 to implement the following steps:
[0154] Collect common error types and judgment methods of various types of solid-state drives, and generate error judgment scripts;
[0155] Collect the first log of the failed SSD;
[0156] The first log is parsed by the error determination script to generate a fault analysis result.
[0157] The communication bus mentioned in the above terminal can be a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The communication bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, only one thick line is used in the figure, but it does not mean that there is only one bus or one type of bus.
[0158] The communication interface is used for communication between the above terminal and other devices.
[0159] The memory may include a random access memory (RAM) or a non-volatile memory, such as at least one disk memory. Optionally, the memory may also be at least one storage device located away from the aforementioned processor.
[0160] The above-mentioned processor can be a general-purpose processor, including a central processing unit (CPU), a network processor (NP), etc.; it can also be a digital signal processor (DSP), an application specific integrated circuit (ASIC), a field programmable gate array (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components.
[0161] The various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments. The same or similar parts between the various embodiments can be referenced to each other.
[0162] It should be noted that, in this article, relational terms such as first and second, etc. are only used to distinguish one entity or operation from another entity or operation, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Moreover, the terms "include", "comprise" or any other variants thereof are intended to cover non-exclusive inclusion, so that a process, method, article or terminal device including a series of elements includes not only those elements, but also other elements not explicitly listed, or also includes elements inherent to such process, method, article or terminal device. In the absence of further restrictions, the elements defined by the sentence "comprise one..." do not exclude the existence of other identical elements in the process, method, article or terminal device including the elements.
[0163] The human body posture recognition method, device, electronic device and readable storage medium provided by the present invention are introduced in detail above. The principles and implementation methods of the present invention are explained in detail using specific examples herein. The description of the above embodiments is only used to help understand the method of the present invention and its core idea. At the same time, for those skilled in the art, according to the idea of the present invention, there will be changes in the specific implementation methods and application scope. In summary, the content of this specification should not be understood as limiting the present invention.
Claims
1. A human body posture recognition method, characterized in that: The method comprises: Get the initial posture of the detection target; Acquire the original signal of the detection target, and generate a plurality of frames of point cloud data corresponding to the detection target according to the original signal; Obtaining a tracking algorithm and a posture detection algorithm, wherein the posture detection algorithm corresponds to a sliding time window with a fixed frame length; Inputting each frame of the point cloud data into the tracking algorithm to perform centroid detection, and obtaining the centroid information of the detection target in each frame of the point cloud data; Inputting the point cloud data and the centroid information corresponding to the point cloud data into the posture detection algorithm frame by frame to perform posture detection, and obtaining multiple frames of point cloud data within the sliding time window; When the multi-frame point cloud data in the sliding time window meets a preset condition, the detection target is transferred from the initial posture to the target posture.
2. The method according to claim 1, characterized in that The acquiring the original signal of the detection target and generating a plurality of frames of point cloud data corresponding to the detection target according to the original signal includes: The detection range is detected by a millimeter wave radar, and a reflection signal corresponding to a detection target within the detection range is obtained; Extracting features according to the reflection signal to generate a plurality of feature values related to the detection target; Generating a plurality of frames of point cloud data corresponding to the detection target according to a plurality of feature values related to the detection target; The characteristic values include distance, azimuth, elevation angle, Doppler information, signal-to-noise ratio and noise value.
3. The method according to claim 1, characterized in that The tracking algorithm includes a clustering algorithm and a correction algorithm based on an extended Kalman filter. The point cloud data of each frame is input into the tracking algorithm for centroid detection to obtain the centroid information of the detection target in each frame of the point cloud data, including: Input each frame of the point cloud data into the clustering algorithm frame by frame, and perform correction in combination with the correction algorithm based on the extended Kalman filter to obtain the centroid information of the detection target in each frame of the point cloud data; The center of mass information includes: position, velocity and acceleration information.
4. The method according to claim 1, characterized in that The sliding time window includes point cloud data, centroid information and eigenvalues corresponding to the current frame image and the previous frame image of the detection target, the acquisition tracking algorithm and the posture detection algorithm, and the posture detection algorithm corresponds to a sliding time window with a fixed frame length, including: Obtain a finite state machine, and model the posture detection algorithm through the finite state machine, each of the finite state machines corresponding to a sliding time window of the fixed frame length; The frame data in the sliding time window is updated in real time by a first-in-first-out method; Wherein, the obtaining of a finite state machine and modeling the posture detection algorithm through the finite state machine includes: Acquire the action state of the detection target within the detection range, define the action state as each corresponding node in the finite state machine, and the action state includes at least one of: walking, standing, sitting and falling; A state transfer condition is set, and the state transfer condition is defined as an edge connecting a first node and a second node in the finite state machine.
5. The method according to claim 4, characterized in that When the multi-frame point cloud data in the sliding time window meets the preset condition, the detection target is transferred from the initial posture to the target posture, including: Determine whether the multi-frame point cloud data meets a first preset condition or whether the multi-frame point cloud data meets a second preset condition; When the multi-frame point cloud data satisfies the first preset condition and the second preset condition, the node corresponding to the current action state of the detection target is transferred along the edge corresponding to the state transfer condition; When the multi-frame point cloud data does not satisfy the first preset condition or the second preset condition, the node corresponding to the current action state of the detection target is transferred along the spin edge and remains unchanged; The node corresponding to the current action state of the detection target is transferred to a node as the target node of the detection target, and the action state corresponding to the target node is obtained as the target posture.
6. The method according to claim 5, characterized in that The determining whether the multi-frame point cloud data satisfies a first preset condition or whether the multi-frame point cloud data satisfies a second preset condition includes: Acquire the number of frames of point cloud data that simultaneously meet the third preset condition, the fourth preset condition, and the fifth preset condition within the sliding time window, and when the number of frames is greater than or equal to a first preset value, the multi-frame point cloud data meets the first preset condition; The number of frames of point cloud data in which the position of the centroid information of the detection target within the sliding time window is higher than a second preset value is obtained. When the number of frames is greater than or equal to a third preset value, the multi-frame point cloud data meets the second preset condition.
7. The method according to claim 6, characterized in that The obtaining the number of frames of point cloud data that simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition within the sliding time window comprises: Obtaining a height difference between a highest point and a lowest point of each frame of point cloud data within the sliding time window, when the height difference reaches a fourth preset value, the corresponding frame of the point cloud data satisfies the third preset condition; Obtaining the number of points at a position higher than the centroid information of the detection target in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window, when the number of points at a position higher than the centroid information of the detection target reaches a fifth preset value, the corresponding frame of the point cloud data satisfies the fourth preset condition; Obtaining the number of points at a position lower than the centroid information of the detection target in a plurality of frames of point cloud data corresponding to the detection target within the sliding time window, when the number of points at a position lower than the centroid information of the detection target reaches a sixth preset value, the corresponding frame of the point cloud data satisfies the fifth preset condition; The number of frames that simultaneously meet the third preset condition, the fourth preset condition and the fifth preset condition in the plurality of frames of point cloud data corresponding to the detection target within the sliding time window is obtained.
8. A human body posture recognition device, characterized in that: The device comprises: The posture setting module is used to obtain the initial posture of the detection target; A point cloud data generation module, used to obtain the original signal of the detection target and generate a plurality of frames of point cloud data corresponding to the detection target according to the original signal; An algorithm acquisition module is used to acquire a tracking algorithm and a posture detection algorithm, wherein the posture detection algorithm corresponds to a sliding time window with a fixed frame length; A target tracking module, used for inputting each frame of the point cloud data into the tracking algorithm to perform centroid detection, and obtaining the centroid information of the detection target in each frame of the point cloud data; A posture detection module, used for inputting the point cloud data and the centroid information corresponding to the point cloud data into the posture detection algorithm frame by frame to perform posture detection, and obtain multiple frames of point cloud data within the sliding time window; The target posture confirmation module is used to transfer the detection target from the initial posture to the target posture when the multi-frame point cloud data in the sliding time window meets the preset conditions.
9. An electronic device, comprising: A memory, a processor, and a program stored in the memory and executable on the processor; The processor is configured to read the program on the memory to implement the method according to any one of claims 1 to 7.
10. A computer-readable storage medium storing a computer program for use in conjunction with an electronic device, wherein the computer program can be executed by a processor to implement the method of any one of claims 1 to 7.