A method for determining a motion state and related equipment
By correcting the position data and inertial data obtained during the motion state determination process, the problem of inaccurate determination of motion state in the prior art is solved, and the accuracy of determining motion state is improved.
Patent Information
- Application Number
- CN202111398299.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-19
- Publication Date
- 2025-03-28
- Estimated Expiration
- 2041-11-19
AI Technical Summary
There is an inaccurate problem in the existing motion state determination process, which leads to inaccurate determination of the motion state.
By obtaining the position data sequence and inertial data sequence of the key points to be processed, the position data and inertial data to be used are determined, and the position data is corrected based on the inertial data, and the data correction results are obtained to more accurately determine the patient's motion state.
Improve the accuracy of determining the motion state, ensuring that the data correction results more accurately represent the position changes of the key points to be processed, thereby more accurately evaluating the patient's motion state.
Smart Images

Figure CN114252033B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a motion state determination method and related equipment. Background Art
[0002] For patients with movement disorders (for example, Parkinson's disease, dystonia, etc.), during the disease diagnosis or daily disease course monitoring process for the patient, the doctor can usually first ask the patient about his / her movement status to obtain the patient's movement status; then the doctor will refer to the patient's movement status and other physical test results to evaluate the patient's movement disorder level; finally, the doctor will refer to the patient's movement disorder level and the test results of other test items to determine the patient's physical condition (for example, whether he / she suffers from XXX disease, physical recovery status, physical deterioration status, etc.).
[0003] However, due to defects in the motion state determination process shown above, the motion state determined based on the "motion state determination process" is inaccurate. Summary of the invention
[0004] The main purpose of the embodiments of the present application is to provide a motion state determination method and related equipment, which can improve the accuracy of motion state determination.
[0005] The present application provides a method for determining a motion state, the method comprising:
[0006] Acquire a position data sequence of a key point to be processed and an inertial data sequence of the key point to be processed; wherein the key point to be processed is used to represent a preset human body position of a patient to be evaluated;
[0007] Determining position data to be used and inertia data to be used according to the position data sequence and the inertia data sequence;
[0008] According to the inertial data to be used, the position data to be used is corrected to obtain a data correction result corresponding to the position data to be used;
[0009] The movement state of the patient to be evaluated is determined according to the data correction result.
[0010] In a possible implementation manner, the correcting the position data to be used according to the inertial data to be used to obtain a data correction result corresponding to the position data to be used includes:
[0011] Determining acceleration data to be used according to the inertial data to be used;
[0012] Determining position prediction data according to the acceleration data to be used;
[0013] According to the position prediction data and the position data to be used, a data correction result corresponding to the position data to be used is determined.
[0014] In a possible implementation manner, the inertial data to be used includes acceleration acquisition data and attitude acquisition data;
[0015] The step of determining the acceleration data to be used according to the inertial data to be used includes:
[0016] Determining a first conversion parameter according to the posture acquisition data;
[0017] Performing coordinate system conversion processing on the acceleration acquisition data according to the first conversion parameter to obtain acceleration data to be processed;
[0018] The acceleration data to be processed is subjected to coordinate system conversion processing according to a second conversion parameter to obtain the acceleration data to be used; wherein the second conversion parameter is determined according to preset coordinate system rotation data.
[0019] In a possible implementation manner, determining the position prediction data according to the acceleration data to be used includes:
[0020] Position prediction data is determined according to the acceleration data to be used and reference position data corresponding to the acceleration data to be used.
[0021] In a possible implementation manner, determining, according to the position prediction data and the position data to be used, a data correction result corresponding to the position data to be used includes:
[0022] Determining residual data according to the position prediction data and the position data to be used;
[0023] A data correction result corresponding to the position data to be used is determined according to the position prediction data and the residual data.
[0024] In a possible implementation, the position data sequence includes at least one frame of position data; the inertial data sequence includes at least one frame of inertial data;
[0025] The determining, according to the position data sequence and the inertia data sequence, position data to be used and inertia data to be used comprises:
[0026] Initializing the position data to be used and the inertia data to be used according to the at least one frame of position data and the at least one frame of inertia data;
[0027] After the correction processing is performed on the position data to be used according to the inertial data to be used to obtain a data correction result corresponding to the position data to be used, the method further includes:
[0028] updating the position data to be used and the inertia data to be used, and continuing to perform the step of correcting the position data to be used according to the inertia data to be used to obtain a data correction result corresponding to the position data to be used, until a preset stop condition is reached;
[0029] Determining the movement state of the patient to be evaluated according to the data correction result includes:
[0030] The movement state of the patient to be evaluated is determined according to the data correction result corresponding to the at least one frame of position data.
[0031] In a possible implementation, initializing the position data to be used and the inertia data to be used according to the at least one frame of position data and the at least one frame of inertia data includes:
[0032] Initialize the position data to be used according to the at least one frame of position data; determine the inertial data to be used from the at least one frame of inertial data according to the collection time characterization information of the position data to be used and the collection time characterization information of the at least one frame of inertial data.
[0033] In a possible implementation manner, the updating the position data to be used and the inertia data to be used includes:
[0034] The position data to be used is updated according to the at least one frame of position data; and the inertia data to be used is updated according to the position data to be used.
[0035] In a possible implementation manner, initializing the position data to be used according to the at least one frame of position data includes:
[0036] The first frame of position data or the second frame of position data in the position data sequence is determined as the position data to be used.
[0037] In a possible implementation manner, updating the to-be-used position data according to the at least one frame of position data includes:
[0038] The position identifier of the position data to be used in the position data sequence is added to a preset step value to obtain the position identifier to be used; and the position data with the position identifier to be used in the position data sequence is determined as the updated position data to be used.
[0039] In a possible implementation, determining the inertial data to be used from the at least one frame of inertial data according to the collection time characterization information of the position data to be used and the collection time characterization information of the at least one frame of inertial data includes:
[0040] Comparing the collection time characterization information of the position data to be used with the collection time characterization information of each frame of inertial data to obtain a collection time comparison result corresponding to each frame of inertial data;
[0041] According to the comparison result of the collection time corresponding to the at least one frame of inertial data, the inertial data to be used that meets the preset condition is determined from the at least one frame of inertial data.
[0042] In a possible implementation manner, the data correction result corresponding to the to-be-used position data is determined according to a reference covariance corresponding to the to-be-used position data;
[0043] The method further comprises:
[0044] The reference covariance corresponding to the position data to be used is updated.
[0045] In a possible implementation manner, determining the position data to be used and the inertia data to be used according to the position data sequence and the inertia data sequence includes:
[0046] If there is first abnormal data satisfying a first abnormal condition in the position data sequence, the first abnormal data is determined as the position data to be used; and the inertial data to be used is determined from the inertial data sequence according to the collection time characterization information of the position data to be used;
[0047] If there is second abnormal data satisfying a second abnormal condition in the position data sequence, the second abnormal data is determined as the position data to be used; and the inertial data to be used is determined from the inertial data sequence according to the collection time characterization information of the position data to be used;
[0048] If there is third abnormal data satisfying a third abnormal condition in the inertial data sequence, the third abnormal data is determined as the inertial data to be used; and the position data to be used is determined from the position data sequence according to the collection time characterization information of the inertial data to be used.
[0049] In a possible implementation, determining the movement state of the patient to be evaluated according to the data correction result includes:
[0050] Determine at least one data to be referenced according to the position data sequence and the position data to be used;
[0051] The movement state of the patient to be evaluated is determined according to the data correction result corresponding to the at least one reference data and the position data to be used.
[0052] In a possible implementation, the method further includes:
[0053] Determining a human body part to be detected according to the motion detection description information of the patient to be evaluated;
[0054] According to the human body part to be detected, the key point to be processed is determined from at least one key point of the human body of the patient to be evaluated.
[0055] The present application also provides a motion state determination device, including:
[0056] A sequence acquisition unit, used to acquire a position data sequence of a key point to be processed and an inertia data sequence of the key point to be processed; wherein the key point to be processed is used to represent a preset human body position of a patient to be evaluated;
[0057] A first determining unit, configured to determine position data to be used and inertia data to be used according to the position data sequence and the inertia data sequence;
[0058] A data correction unit, configured to perform correction processing on the position data to be used according to the inertial data to be used, so as to obtain a data correction result corresponding to the position data to be used;
[0059] The second determining unit is used to determine the movement state of the patient to be evaluated according to the data correction result.
[0060] The embodiment of the present application further provides a device, the device comprising: a processor, a memory, and a system bus;
[0061] The processor and the memory are connected via the system bus;
[0062] The memory is used to store one or more programs, and the one or more programs include instructions. When the instructions are executed by the processor, the processor executes any implementation of the motion state determination method provided in the embodiments of the present application.
[0063] An embodiment of the present application also provides a computer-readable storage medium, characterized in that instructions are stored in the computer-readable storage medium, and when the instructions are executed on a terminal device, the terminal device executes any implementation of the motion state determination method provided in the embodiment of the present application.
[0064] The embodiment of the present application also provides a computer program product, characterized in that when the computer program product is run on a terminal device, the terminal device executes any implementation of the motion state determination method provided in the embodiment of the present application.
[0065] Based on the above technical solution, this application has the following beneficial effects:
[0066] In the technical solution provided by the present application, for the key point to be processed that represents the preset human body position (for example, ankle) of the patient to be evaluated, after obtaining the position data sequence and the inertial data sequence of the key point to be processed, first determine the position data to be used and the inertial data to be used according to the position data sequence and the inertial data sequence; then, perform correction processing on the position data to be used according to the inertial data to be used, and obtain the data correction result corresponding to the position data to be used, so that the data correction result can more accurately represent the position of the key point to be processed; finally, determine the motion state of the patient to be evaluated according to the data correction result, so that the "motion state of the patient to be evaluated" can accurately represent the position change of the above "key point to be processed" when the patient to be evaluated is exercising. Among them, because the position information represented by the above "data correction result corresponding to the position data to be used" is more accurate than the position information represented by the above "position data to be used", the motion state determined based on the "data correction result corresponding to the position data to be used" is more accurate, which is conducive to improving the accuracy of determining the motion state. BRIEF DESCRIPTION OF THE DRAWINGS
[0067] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0068] Figure 1 A schematic diagram of a flow chart of a motion state determination method provided in an embodiment of the present application;
[0069] Figure 2 A schematic diagram of a first abnormal phenomenon provided in an embodiment of the present application;
[0070] Figure 3 A schematic diagram of a correction result for a first abnormal phenomenon provided in an embodiment of the present application;
[0071] Figure 4 A schematic diagram of a second abnormal phenomenon provided in an embodiment of the present application;
[0072] Figure 5A schematic diagram of a correction result for a second abnormal phenomenon provided in an embodiment of the present application;
[0073] Figure 6 A schematic diagram of a third abnormal phenomenon in terms of acceleration provided by an embodiment of the present application;
[0074] Figure 7 A schematic diagram of a third abnormal phenomenon in terms of position coordinates provided in an embodiment of the present application;
[0075] Figure 8 A schematic diagram of the structure of a motion state determination device provided in an embodiment of the present application. DETAILED DESCRIPTION
[0076] The inventor discovered in his research on the above-mentioned "motion state determination process" that because the above-mentioned "motion state determination process" is implemented by the doctor based on his personal experience, the above-mentioned "motion state determination process" is relatively subjective, which makes it easy for the doctor's personal experience to be insufficient or the doctor to be careless, resulting in a relatively large deviation in the motion state evaluated by the doctor, thus resulting in a relatively poor effect in determining the motion state.
[0077] Based on the above findings, in order to solve the technical problems shown in the background technology part, an embodiment of the present application provides a method for determining a motion state, the method comprising: for a key point to be processed that is used to represent a preset human body position (for example, an ankle) of a patient to be evaluated, after obtaining a position data sequence and an inertia data sequence of the key point to be processed, first determine the position data to be used and the inertia data to be used according to the position data sequence and the inertia data sequence; then, based on the inertia data to be used, correct the position data to be used to obtain a data correction result corresponding to the position data to be used, so that the data correction result can more accurately represent the position of the key point to be processed; finally, based on the data correction result, determine the motion state of the patient to be evaluated, so that the "motion state of the patient to be evaluated" can accurately represent the position change of the above-mentioned "key point to be processed" when the patient to be evaluated exercises.
[0078] It can be seen that the determination process of the above-mentioned "movement state of the patient to be evaluated" does not require the participation of a doctor, so that the determination process of the "movement state of the patient to be evaluated" can effectively overcome the defects of the above-mentioned "movement state determination process", which is conducive to improving the accuracy of the determination of the movement state. In addition, because the position information represented by the above-mentioned "data correction result corresponding to the position data to be used" is more accurate than the position information represented by the above-mentioned "position data to be used", the movement state determined based on the "data correction result corresponding to the position data to be used" is more accurate, which is conducive to improving the accuracy of the determination of the movement state.
[0079] In addition, the embodiments of the present application do not limit the execution subject of the motion state determination method. For example, the execution subject of the motion state determination method provided in the embodiments of the present application may be a data processing device such as a terminal device or a server. Among them, the terminal device may be an intelligent detection device for movement disorders, a smart phone, a computer, a personal digital assistant (PDA) or a tablet computer, etc. The server may be an independent server, a cluster server or a cloud server.
[0080] In order to make the purpose, technical solution and advantages of the embodiments of the present application clearer, the technical solution in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.
[0081] Method Example 1
[0082] See also Figure 1 , which is a flow chart of a motion state determination method provided in an embodiment of the present application.
[0083] The motion state determination method provided in the embodiment of the present application includes S1-S4:
[0084] S1: Obtain a position data sequence of a key point to be processed and an inertia data sequence of the key point to be processed.
[0085] The above-mentioned "key points to be processed" are used to represent the preset human body positions (e.g., ankles, etc.) of the patient to be evaluated; and the embodiment of the present application does not limit the determination process of the "key points to be processed", for example, pre-setting. method Embodiment 4 The method is implemented by any of the embodiments of determining the "key points to be processed" shown.
[0086] The above-mentioned "patient to be evaluated" refers to a patient who needs to undergo a motion status determination process.
[0087] The above-mentioned "position data sequence" is used to indicate the position of the key point to be processed in the first time period; and the embodiment of the present application does not limit the "position data sequence", for example, it may include N frames of position data. Among them, the acquisition time of the i-th frame position data is earlier than the acquisition time of the i+1-th frame position data, i is a positive integer, i≤N-1, and N is a positive integer.
[0088] The above-mentioned "first time period" refers to the time period for performing motion position acquisition processing on the patient to be evaluated; and the embodiment of the present application does not limit the "first time period", for example, it can be [motion position acquisition processing triggering moment, motion position acquisition processing triggering moment + first duration]. Among them, "motion position acquisition processing triggering moment" refers to the moment when the motion position acquisition processing for the patient to be evaluated is triggered. The "first duration" can be preset.
[0089] In addition, the embodiments of the present application do not limit the acquisition process of the above-mentioned "position data sequence". For example, it can be implemented with the help of a preset position acquisition device. Among them, the "preset position acquisition device" refers to a pre-set device for performing motion position acquisition processing on a patient (for example, a patient to be evaluated); and the embodiments of the present application do not limit the "preset position acquisition device". For example, it can be implemented using any existing or future motion position acquisition device. For another example, in order to improve the accuracy of position data, the "preset position acquisition device" can be implemented using an RGB-D camera so that the position data of each frame in the above-mentioned "position data sequence" are three-dimensional coordinates.
[0090] The above-mentioned “inertia data sequence” is used to represent the inertia representation information of the key points to be processed in the second time period.
[0091] The above-mentioned "second time period" refers to the time period for inertial data collection and processing of the patient to be evaluated; and the embodiment of the present application does not limit the "second time period", for example, it can be [inertial data collection and processing triggering time, inertial data collection and processing triggering time + second time length]. Among them, "inertial data collection and processing triggering time" refers to the time when the inertial data collection and processing of the patient to be evaluated is triggered. The "second time length" can be preset.
[0092] It should be noted that the embodiments of the present application do not limit the relationship between the above-mentioned "second time period" and the above-mentioned "first time period", for example, they can be the same. For another example, the above-mentioned "second time period" is different from the above-mentioned "first time period", but there are a lot of intersections between the above-mentioned "second time period" and the above-mentioned "first time period". In addition, the embodiments of the present application do not limit the relationship between the above-mentioned "second duration" and the above-mentioned "first duration", for example, they can be the same or different.
[0093] In addition, the embodiments of the present application do not limit the above-mentioned "inertial data sequence". For example, it may include M frames of inertial data; and the collection time of the j-th frame of inertial data is earlier than the collection time of the j+1-th frame of inertial data, j is a positive integer, j≤M-1, and M is a positive integer.
[0094] In addition, the embodiments of the present application do not limit the acquisition process of the above-mentioned "inertial data sequence". For example, it can be implemented with the help of a preset inertial acquisition device. Among them, the "preset inertial acquisition device" refers to a pre-set inertial data acquisition and processing for a patient (for example, a patient to be evaluated); and the embodiments of the present application do not limit the "preset inertial acquisition device". For example, it can be implemented using any existing or future inertial data acquisition device. For another example, in order to improve the accuracy of inertial data, the "preset inertial acquisition device" can be implemented using a six-axis inertial sensor (Inertial Measurement Unit, IMU), so that each frame of inertial data in the above-mentioned "inertial data sequence" includes acceleration acquisition data (for example, the acceleration of three coordinate axes) and attitude acquisition data (for example, the rotation angle of three coordinate axes).
[0095] It should be noted that the above-mentioned "six-axis inertial sensor" includes an accelerometer and an attitude sensor. Among them, the "accelerometer" is used to collect the three-axis linear acceleration of the sensor in the IMU coordinate system; the "attitude sensor" is used to return the Euler angle in the world coordinate system.
[0096] Based on the relevant content of S1 above, it can be known that for the patient to be evaluated, when one wants to analyze the motion state of the preset human body position of the patient to be evaluated (that is, the key point to be processed), the above-mentioned "preset position acquisition device" and the above-mentioned "preset inertia acquisition device" can be used to respectively obtain the position data sequence and the inertia data sequence of the key point to be processed, so that the two data sequences can comprehensively represent the motion state of the key point to be processed.
[0097] S2: Determine the position data to be used and the inertia data to be used according to the position data sequence and the inertia data sequence.
[0098] The above-mentioned "position data to be used" is used to represent the position data in the above-mentioned "position data sequence" that needs to be corrected; and the embodiment of the present application does not limit the determination process of the "position data to be used". For example, each frame position data in the above-mentioned "position data sequence" can be determined as the position data to be used, so as to realize the correction processing of each frame position data in the "position data sequence". For another example, the following method can be used Method Example 2 or Method Example 3 The method may be implemented by any of the embodiments of determining the “position data to be used” shown.
[0099] The above-mentioned “inertia data to be used” is used to indicate inertia data to be referred to when performing correction processing on the above-mentioned “position data to be used”.
[0100] In addition, the embodiments of the present application do not limit the determination process of the "inertial data to be used". For example, when the above-mentioned "inertial data sequence" includes at least one frame of inertial data, it may specifically include: determining the inertial data to be used from the at least one frame of inertial data based on the collection time characterization information of the position data to be used and the collection time characterization information of the at least one frame of inertial data.
[0101] The above-mentioned "collection time characterization information" is used to indicate the collection time of a collection data (for example, the position data to be used, or each frame of inertial data, etc.); and the embodiment of the present application does not limit the implementation method of the "collection time characterization information", for example, the collection time of the collection data can be directly determined as the collection time characterization information of the collection data. For another example, the timestamp of the collection data can be directly determined as the collection time characterization information of the collection data.
[0102] The embodiment of the present application does not limit the implementation of the above step of "determining the inertial data to be used from the at least one frame of inertial data according to the collection time characterization information of the position data to be used and the collection time characterization information of the at least one frame of inertial data", for example, it may specifically include step 11-step 12:
[0103] Step 11: Compare the collection time characterization information of the position data to be used with the collection time characterization information of each frame of inertial data to obtain a collection time comparison result corresponding to each frame of inertial data.
[0104] The collection time comparison result corresponding to the mth frame of inertial data is used to represent the time difference between the collection time of the position data to be used and the collection time of the mth frame of inertial data. Wherein, m is a positive integer, m≤M, M is a positive integer, and M represents the number of frames of inertial data in the above-mentioned "at least one frame of inertial data".
[0105] Step 12: According to the comparison result of the collection time corresponding to at least one frame of inertial data, determine the inertial data to be used that meets the preset conditions from the at least one frame of inertial data.
[0106] The above-mentioned “preset conditions” can be set in advance; and the embodiment of the present application does not limit the “preset conditions”, for example, it can specifically include: the time difference between the time of collecting the inertial data to be used and the time of collecting the position data to be used is the smallest.
[0107] It can be seen that after obtaining the collection time comparison results corresponding to at least one frame of inertial data, the collection time comparison results corresponding to these inertial data can be firstly subjected to minimum value analysis processing to obtain the minimum time difference; then, the inertial data with the minimum time difference among these inertial data can be determined as the inertial data to be used, so that the inertial data to be used can represent the inertial characterization information of the key point to be processed at the collection time of the above-mentioned "position data to be used" as accurately as possible.
[0108] Based on the relevant contents of the above steps 11 to 12, it can be known that after the position data to be used is obtained, the inertial data to be used can be determined based on the time difference between the collection time of the position data to be used and the collection time of each frame of inertial data in the above “inertial data sequence”, so that the time difference corresponding to the inertial data to be used is lower than the time difference corresponding to any other frame of inertial data in the above “inertial data sequence” except the inertial data to be used, so that the collection time of the inertial data to be used is closest to the collection time of the position data to be used, and then the inertial data to be used can represent the inertial characterization information of the key point to be processed at the collection time of the above “position data to be used” as accurately as possible, which is conducive to improving the data correction effect.
[0109] In addition, in order to improve the data processing effect, the embodiment of the present application also provides another possible implementation method for determining the "inertial data to be used", which may specifically include: searching for the inertial data corresponding to the position data to be used from a pre-built data synchronization mapping relationship, and determining it as the inertial data to be used.
[0110] The above-mentioned “data synchronization mapping relationship” is used to indicate the corresponding relationship in terms of time synchronization between each frame of position data in the above-mentioned “position data sequence” and each frame of inertia data in the above-mentioned “inertia data sequence”.
[0111] In addition, the embodiment of the present application does not limit the construction process of the above-mentioned "data synchronization mapping relationship". For example, when the above-mentioned "position data sequence" includes N frames of position data, and the above-mentioned "inertial data sequence" includes M frames of position data, the construction process of the "data synchronization mapping relationship" may specifically include: according to the collection time characterization information of the nth frame position data and the collection time characterization information of the M frames of inertial data, the inertial data corresponding to the nth frame position data is determined from the M frames of inertial data (as shown in formula (1)). Wherein, n is a positive integer, n≤N, and n is a positive integer.
[0112]
[0113] In the formula, Represents a set of data with a time synchronization correspondence; Indicates the nth frame position data; represents the inertial data corresponding to the position data of the nth frame, and D n belongs to {1, 2, ..., M}; Indicates the information representing the acquisition time of the nth frame position data; Represents the collection time characterization information of the mth frame of inertial data in the above-mentioned “inertial data sequence”; m is a positive integer, m≤M, and M is a positive integer.
[0114] Based on the above-mentioned "data synchronization mapping relationship", it can be known that after obtaining the above-mentioned "position data sequence" and the above-mentioned "inertia data sequence", time synchronization processing can be performed on the "position data sequence" and the "inertia data sequence" to obtain the "data synchronization mapping relationship", so that the "data synchronization mapping relationship" is used to record the time synchronization correspondence between each pair of data with the closest collection time, so that the time synchronization correspondence between each pair of data recorded by the "data synchronization mapping relationship" can be used subsequently to determine the position data to be used and the inertia data to be used with a time synchronization correspondence.
[0115] Based on the relevant content of S2 above, it can be known that after obtaining the position data sequence and the inertia data sequence of the key point to be processed, the position data to be used and the inertia data to be used can be extracted from the position data sequence and the inertia data sequence respectively, so that the position data to be used and the inertia data to be used can comprehensively describe the motion state of the key point to be processed at a certain moment.
[0116] S3: Correcting the position data to be used according to the inertial data to be used to obtain a data correction result corresponding to the position data to be used.
[0117] The above-mentioned “data correction result corresponding to the position data to be used” is used to represent the position data after correction processing; and the representation method of the “data correction result corresponding to the position data to be used” is similar to the representation method of the above-mentioned “position data to be used”. For example, when the above-mentioned “position data to be used” is represented by three-dimensional coordinates, the “data correction result corresponding to the position data to be used” is also represented by three-dimensional coordinates.
[0118] In addition, the embodiment of the present application does not limit the implementation of S3. For example, any existing or future position correction method can be used for implementation. For another example, in order to improve the correction effect, the embodiment of the present application also provides another possible implementation of S3, which may specifically include step 21-step 22:
[0119] Step 21: Determine the acceleration data to be used according to the inertial data to be used.
[0120] The above-mentioned “acceleration data to be used” is used to represent the acceleration information corresponding to the “position data to be used” in the coordinate system (for example, RGB-D coordinate system) where the above-mentioned “position data to be used” is located.
[0121] In addition, the embodiment of the present application does not limit the implementation method of step 21. For example, when the above-mentioned "inertial data to be used" includes acceleration collection data and attitude collection data, step 21 may specifically include steps 211 to 213:
[0122] Step 211: Determine the first conversion parameter according to the posture collection data in the above-mentioned “inertial data to be used”.
[0123] The above-mentioned “first conversion parameter” is used to represent the parameter required to be referred to when converting a piece of data (for example, acceleration acquisition data, etc.) from the own coordinate system of the above-mentioned “preset inertial acquisition device” to the world coordinate system.
[0124] In addition, the embodiment of the present application does not limit the "first conversion parameter". For example, assuming that the above-mentioned "inertial data to be used" is collected by a six-axis inertial sensor, and the attitude collection data in the "inertial data to be used" is (α, β, γ), α represents the Euler angle of the six-axis inertial sensor rotating around the x-axis, β represents the Euler angle of the six-axis inertial sensor rotating around the y-axis, and γ represents the Euler angle of the six-axis inertial sensor rotating around the z-axis. Based on the above assumptions, it can be seen that the first conversion parameter may include a first rotation matrix (such as R shown in formula (2) x ), the second rotation matrix (as shown in formula (3) R y ), the third rotation matrix (R as shown in formula (4) z ), and the preset rotation order of the above-mentioned "six-axis inertial sensor" (for example, z→x→y).
[0125]
[0126]
[0127]
[0128] Based on the relevant content of the above step 211, it can be known that after the inertial data to be used is obtained, the attitude acquisition data (for example, α, β, γ) in the "inertial data to be used" can be used to determine the first conversion parameter, so that the acceleration acquisition data carried by the "inertial data to be used" can be subsequently converted from the own coordinate system of the above "preset inertial acquisition device" to the world coordinate system with the help of the first conversion parameter to obtain acceleration data located in the world coordinate system.
[0129] Step 212: performing coordinate system conversion processing on the acceleration data in the above “inertial data to be used” according to the first conversion parameter to obtain acceleration data to be processed.
[0130] As an example, based on the assumption of step 211 and its related contents, when the preset rotation order of the above-mentioned “six-axis inertial sensor” is z→x→y, step 212 can be specifically implemented according to formula (5).
[0131]
[0132] In the formula, Represents the acceleration data to be processed (that is, the acceleration data in the world coordinate system); a x ' represents the x-axis acceleration in the acceleration data to be processed; a y ' represents the y-axis acceleration in the acceleration data to be processed; a z ' represents the z-axis acceleration in the acceleration data to be processed; Indicates the acceleration data collected in the above “inertial data to be used”; a x Indicates the x-axis acceleration in the above “acceleration acquisition data”; a y Indicates the y-axis acceleration in the above “acceleration acquisition data”; a z Indicates the z-axis acceleration in the above “acceleration acquisition data”.
[0133] Step 213: performing coordinate system conversion processing on the acceleration data to be processed according to the second conversion parameter to obtain acceleration data to be used.
[0134] The above-mentioned “second conversion parameter” is a parameter required for reference when converting a data from the world coordinate system to the own coordinate system of the above-mentioned “preset position acquisition device”.
[0135] In addition, the embodiments of the present application do not limit the "second conversion parameters". For example, assuming that the rotation angle of the world coordinate system relative to the self-coordinate system of the above "preset position acquisition device" (for example, the RGB-D coordinate system) is (α', β', γ'), α' represents the rotation angle of the world coordinate system relative to the self-coordinate system of the above "preset position acquisition device" in the x-axis direction; β' represents the rotation angle of the world coordinate system relative to the self-coordinate system of the above "preset position acquisition device" in the y-axis direction; γ' represents the rotation angle of the world coordinate system relative to the self-coordinate system of the above "preset position acquisition device" in the z-axis direction. Based on this assumption, it can be seen that the above "second conversion parameters" may include the fourth conversion matrix (such as R shown in formula (6) x ′), the fifth transformation matrix (R as shown in formula (7) y ′), the sixth transformation matrix (R as shown in formula (8)z ′), and a preset relative rotation order (e.g., z→x→y).
[0136]
[0137]
[0138]
[0139] The above-mentioned “acceleration data to be used” refers to the expression result of the acceleration acquisition data in the above-mentioned “inertial data to be used” in the own coordinate system of the above-mentioned “preset position acquisition device”; and the embodiment of the present application does not limit the determination process of the “acceleration data to be used”. For example, when the above-mentioned “relative rotation order” is z→x→y, it can be implemented according to formula (9).
[0140]
[0141] In the formula, represents the acceleration data to be used (that is, the acceleration data in the coordinate system of the above “preset position acquisition device”); a x ″ represents the x-axis acceleration in the acceleration data to be used; a y ″ represents the y-axis acceleration in the acceleration data to be used; a z ″ represents the z-axis acceleration in the acceleration data to be used; Represents the acceleration data to be processed (that is, the acceleration data in the world coordinate system); a x ' represents the x-axis acceleration in the acceleration data to be processed; a y ' represents the y-axis acceleration in the acceleration data to be processed; a z ′ represents the z-axis acceleration in the acceleration data to be processed.
[0142] Based on the relevant contents of the above steps 211 to 213, it can be known that after the inertial data to be used is obtained, the acceleration data carried by the inertial data to be used can be converted from the own coordinate system of the above "preset inertial acquisition device" to the own coordinate system of the above "preset position acquisition device" by means of coordinate system conversion, so as to obtain the acceleration data to be used, so that the acceleration data to be used can be referred to later, and the position data to be used collected from the own coordinate system of the above "preset position acquisition device" can be corrected, so as to achieve the purpose of unifying the coordinate system.
[0143] Step 22: Determine position prediction data based on the acceleration data to be used.
[0144] The above-mentioned "position prediction data" is used to represent the predicted position of the key point to be processed at the time of collecting the above-mentioned "position data to be used"; and the representation method of the "position prediction data" is consistent with the representation method of the above-mentioned "position data to be used". For example, when the above-mentioned "position data to be used" is represented by three-dimensional coordinates, the "position prediction data" is also represented by three-dimensional coordinates.
[0145] In addition, the embodiment of the present application does not limit the implementation method of step 22. For example, it may specifically include: determining the position prediction data based on the acceleration data to be used and the reference position data corresponding to the acceleration data to be used.
[0146] The above-mentioned "reference position data corresponding to the acceleration data to be used" is used to indicate the position of the key point to be processed before the acquisition time of the above-mentioned "acceleration data to be used"; and the embodiment of the present application does not limit the "reference position data corresponding to the acceleration data to be used". For example, the position data of the previous frame of the above-mentioned "position data to be used" can be directly determined as the "reference position data corresponding to the acceleration data to be used". For another example, the data correction result corresponding to the position data of the previous frame of the above-mentioned "position data to be used" can also be determined as the "reference position data corresponding to the acceleration data to be used".
[0147] It should be noted that the position of the previous frame position data of the above-mentioned "position data to be used" in the position data sequence is adjacent to the position of the "position data to be used" in the position data sequence, and the collection time of the previous frame position data of the "position data to be used" is earlier than the collection time of the "position data to be used".
[0148] In addition, the embodiment of the present application does not limit the implementation method of the above step of "determining the position prediction data according to the acceleration data to be used and the reference position data corresponding to the acceleration data to be used", for example, it can be implemented by any existing or future position prediction method. In addition, in order to improve the accuracy of position prediction, formulas (10)-(13) can be used for implementation.
[0149]
[0150]
[0151] In the formula, z t ′ represents the predicted position at time t (for example, the above-mentioned “position prediction data”); H t represents the change matrix, and represents the motion state prediction data at time t, and p x′ represents the predicted coordinate value of the x-axis at the tth time; p y ′ represents the predicted coordinate value of the y-axis at the tth time; p z ′ represents the predicted coordinate value of the z-axis at the tth time; v x ′ represents the predicted movement speed of the x-axis at the tth moment; v y ′ represents the predicted movement speed of the y-axis at the tth moment; v z ′ represents the predicted motion speed of the z-axis at the tth moment; F t represents the state transition matrix, and Δt represents the time interval between the above-mentioned “time t” and “time t-1”; represents the motion state reference data corresponding to the above-mentioned "motion state prediction data at time t" (for example, the actual motion state data at time t-1, or the "motion state correction data at time t-1" shown below), and p x represents the x-axis reference coordinate value corresponding to the above-mentioned "motion state prediction data at time t"; p y represents the y-axis reference coordinate value corresponding to the above-mentioned "motion state prediction data at time t"; p z represents the z-axis reference coordinate value corresponding to the above-mentioned "motion state prediction data at time t"; v x represents the x-axis reference speed corresponding to the above-mentioned "motion state prediction data at time t"; v y represents the y-axis reference speed corresponding to the above-mentioned "motion state prediction data at time t"; v z represents the z-axis reference speed corresponding to the above-mentioned "motion state prediction data at time t"; B t represents the control matrix, and u t represents the control variable, and a x ″ represents the acceleration of the x-axis at the tth moment; a y ″ represents the acceleration of the y-axis at the tth moment; a z ″The acceleration of the z-axis at time t.
[0152] It should be noted that if step 22 is implemented using the above formulas (10)-(13), the above “time t” may refer to the time when the above “position data to be used” is collected; the above “time t-1” may refer to the time when the previous frame of position data of the above “position data to be used” is collected; the above a x ″、a y ″, and a z ″ are all from the above-mentioned “acceleration data to be used”.
[0153] Step 23: Determine a data correction result corresponding to the position data to be used according to the position prediction data and the position data to be used.
[0154] The embodiment of the present application does not limit the implementation method of step 23. For example, it may specifically include: first determining the residual data based on the position prediction data and the position data to be used (as shown in formula (14)); then determining the data correction result corresponding to the position data to be used based on the position prediction data and the residual data (as shown in formulas (15)-(18)).
[0155]
[0156]
[0157] K t =P t|t-1 H t T S t -1 (16)
[0158] S t =H t P t|t-1 H t T +R t (17)
[0159] P t|t-1 =F t P t-1|t-1 F t T +Q t (18)
[0160] In the formula, represents the difference between the position data collected at time t and the predicted position at time t (for example, the above-mentioned "residual data"); Indicates the motion state correction data at the tth moment (for example, it includes the above-mentioned “data correction result corresponding to the position data to be used”); represents the motion state prediction data at the tth moment; z t represents the location data collected at time t (e.g., the above-mentioned “location data to be used”), and Indicates the x-axis acquisition coordinate value at the tth moment; Indicates the x-axis acquisition coordinate value at the tth moment; represents the x-axis acquisition coordinate value at the tth time; P t|t-1 represents the predicted covariance at time t; P t-1|t-1represents the reference covariance corresponding to the above “prediction covariance at time t” (for example, it can be a 6×6 unit matrix, or it can be the “covariance correction result at time t-1” shown below, etc.); R t represents the first noise matrix; Q t represents the second noise matrix.
[0161] It should be noted that R t and Q t Both can be covariance matrices of preset Gaussian white noise, so that both can be used to offset the noise interference existing in the above-mentioned "preset position acquisition device".
[0162] Based on the relevant contents of the above steps 21 to 23, it can be known that after obtaining the position data to be used and the inertial data to be used, the position data to be used can be corrected with the help of preset correction means (for example, unified coordinate system, Kalman filtering, etc.) and the inertial data to be used to obtain the data correction result corresponding to the position data to be used, so that the data correction result can better represent the position of the key point to be processed at the time of collecting the above-mentioned "position data to be used".
[0163] Based on the relevant content of S3 above, it can be known that after obtaining the position data to be used and the inertia data to be used, the position data to be used can be calibrated with reference to the inertia data to be used to obtain the data correction result corresponding to the position data to be used, so that the data correction result can better represent the position of the key point to be processed at the time of collecting the above-mentioned "position data to be used", which is conducive to improving the position accuracy.
[0164] S4: Determine the movement state of the patient to be evaluated according to the data correction result corresponding to the position data to be used.
[0165] The embodiment of the present application does not limit the implementation method of step S4. For example, it can be implemented by using any existing or future method for determining the motion state based on the key point position.
[0166] In addition, in order to improve the accuracy of the motion state, the embodiment of the present application also provides a possible implementation of S4. In this implementation, when the above-mentioned "position data sequence" includes N frames of position data, S4 may specifically include: after obtaining the data correction results corresponding to the N frames of position data, a position change curve can be generated according to the data correction results corresponding to the N frames of position data, so that the position change curve is used to record the positions of the key points to be processed at different times; and then the motion state (for example, gait) of the patient to be evaluated is extracted from the position change curve.
[0167] Based on the relevant contents of S1 to S4 above, it can be known that for the key point to be processed that is used to represent the preset human body position (e.g., ankle) of the patient to be evaluated, after obtaining the position data sequence and the inertia data sequence of the key point to be processed, first determine the position data to be used and the inertia data to be used according to the position data sequence and the inertia data sequence; then, perform correction processing on the position data to be used according to the inertia data to be used to obtain the data correction result corresponding to the position data to be used, so that the data correction result can more accurately represent the position of the key point to be processed; finally, determine the movement state of the patient to be evaluated according to the data correction result, so that the "movement state of the patient to be evaluated" can accurately represent the position change of the above "key point to be processed" when the patient to be evaluated is exercising. .
[0168] It can be seen that the determination process of the above-mentioned "movement state of the patient to be evaluated" does not require the participation of a doctor, so that the determination process of the "movement state of the patient to be evaluated" can effectively overcome the defects of the above-mentioned "movement state evaluation process", which is conducive to improving the accuracy of the determination of the movement state. In addition, because the position information represented by the above-mentioned "data correction result corresponding to the position data to be used" is more accurate than the position information represented by the above-mentioned "position data to be used", the movement state determined based on the "data correction result corresponding to the position data to be used" is more accurate, which is conducive to improving the accuracy of the determination of the movement state.
[0169] Method Example 2
[0170] In addition, in order to improve the correction effect, the correction processing for multiple frames of position data can be implemented by means of an iterative method. Based on this, the embodiment of the present application provides another possible implementation of the motion state determination method, which can specifically include steps 31 to 36:
[0171] Step 31: Acquire a position data sequence of a key point to be processed and an inertia data sequence of the key point to be processed; wherein the position data sequence includes N frames of position data; and the inertia data sequence includes M frames of inertia data.
[0172] It should be noted that for the relevant content of step 31, please refer to the relevant content of S1 above.
[0173] Step 32: Initialize the position data to be used and the inertia data to be used according to the N frames of position data and the M frames of inertia data.
[0174] The embodiment of the present application does not limit the implementation method of step 32. For ease of understanding, two examples are used for illustration below.
[0175] Example 1, step 32 may specifically include steps 41 and 42:
[0176] Step 41: Initialize the position data to be used according to the N frames of position data.
[0177] In an embodiment of the present application, in order to improve the iterative correction effect, the iterative correction process can be implemented in order from the front to the back of the acquisition time, so a frame of position data with a relatively early acquisition time in the above-mentioned "N frames of position data" can be used to initialize the position data to be used; and the initialization process can specifically include: determining the first frame of position data in the above-mentioned "position data sequence" (that is, the frame of position data with the earliest acquisition time in the above-mentioned "N frames of position data") as the position data to be used, so that the iterative correction process for the above-mentioned "N frames of position data" can be implemented subsequently.
[0178] In addition, in some cases, iterative correction processing can also be performed on non-first frame position data in the above-mentioned "position data sequence". Based on this, it can be seen that step 41 can specifically include: determining the Q-th frame position data in the above-mentioned "position data sequence" as the position data to be used, so that the iterative correction process from the Q-th frame position data to the N-th frame position data can be implemented later. Among them, Q is a positive integer, 2≤Q≤N. It should be noted that the embodiment of the present application does not limit Q, and Q can be pre-set (for example, Q=2).
[0179] Based on the relevant content of the above step 41, it can be known that for a position data sequence including N frames of position data, after acquiring the position data sequence, a frame of position data that is arranged relatively early in the position data sequence (for example, the first frame of position data or the second frame of position data, etc.) can be determined as the position data to be used, thereby completing the initialization process for the position data to be used.
[0180] Step 42: Determine the inertial data to be used from the M frames of inertial data according to the collection time characterization information of the position data to be used and the collection time characterization information of the M frames of inertial data.
[0181] The embodiment of the present application does not limit the implementation method of step 42. For example, step 42 can be implemented using the above steps 11 and 12, and it only needs to replace "at least one frame of inertial data" in the above steps 11 and 12 with "M frames of inertial data".
[0182] Based on the relevant contents of the above steps 41 to 42, it can be known that after obtaining the position data sequence and the inertia data sequence, the above-mentioned "position data to be used" can be initialized using a frame of position data that is arranged relatively early in the position data sequence, and the above-mentioned "inertia data to be used" can be initialized using a frame of inertia data that is arranged relatively early in the inertia data sequence.
[0183] Example 2, step 32 may specifically include steps 51 to 53:
[0184] Step 51: construct a data synchronization mapping relationship according to the collection time characterization information of the N frames of position data and the collection time characterization information of the M frames of inertial data.
[0185] It should be noted that the relevant content of step 51 can refer to the relevant content of “data synchronization mapping relationship” in S2 above.
[0186] Step 52: Initialize the position data to be used according to the N frames of position data.
[0187] It should be noted that the relevant content of step 52 can refer to the relevant content of step 41 above. In addition, the embodiment of the present application does not limit the execution order between step 51 and step 52. For example, step 51 and step 52 can be executed in sequence, step 52 and step 51 can be executed in sequence, or step 51 and step 52 can be executed simultaneously.
[0188] Step 53: searching for inertial data corresponding to the position data to be used from the data synchronization mapping relationship, and determining the inertial data to be used.
[0189] Based on the relevant contents of the above steps 51 to 53, it can be known that after obtaining the position data sequence and the inertial data sequence, the collection time characterization information of each frame position data in the position data sequence and the collection time characterization information of each frame inertial data in the inertial data sequence can be referred to, and time synchronization processing can be performed on each frame position data in the position data sequence and each frame inertial data in the inertial data sequence to obtain a data synchronization mapping relationship, so that the data synchronization mapping relationship is used to record each pair of position data and inertial data with a time synchronization correspondence relationship, so that the time synchronization correspondence recorded by the data synchronization mapping relationship can be used later to realize the initialization process and update process of the above-mentioned "position data to be used and inertial data to be used", which is conducive to improving the determination efficiency.
[0190] Based on the relevant content of the above step 32, it can be known that after obtaining a position data sequence including N frames of position data and an inertial data sequence including M frames of inertial data, the initial value of the position data to be used and the initial value of the inertial data to be used can be determined from the N frames of position data and the M frames of inertial data, so that iterative correction processing can be implemented based on these two initial values later.
[0191] Step 33: Correct the position data to be used according to the inertial data to be used, and obtain a data correction result corresponding to the position data to be used.
[0192] It should be noted that for the relevant content of step 33, please refer to the relevant content of S3 above.
[0193] Step 34: Determine whether the preset stop condition is reached, if so, execute step 36; if not, execute step 35.
[0194] The above-mentioned "preset stop condition" can be set in advance; and the embodiment of the present application does not limit the "preset stop condition", for example, it can specifically be: obtaining the data correction result corresponding to the Nth frame position data (that is, the above-mentioned "position data to be used" is the Nth frame position data in the above-mentioned "position data sequence").
[0195] It can be seen that after obtaining the data correction result corresponding to the position data to be used in the current round, it can be determined whether the "position data to be used" is the Nth frame position data in the above-mentioned "position data sequence". If so, it can be determined that the data correction result corresponding to the Nth frame position data has been obtained, so that it can be determined that the iterative correction processing process has been completed, so the movement state of the patient to be evaluated can be determined based on at least one data correction result that has been obtained; if not, it can be determined that the correction processing process for the Nth frame position data has not yet been iterated, so it can be determined that the iterative correction processing process has not yet been completed, so the correction processing process for the next frame position data can be continued.
[0196] Step 35: Update the position data to be used and the inertia data to be used, and return to execute step 33.
[0197] The embodiment of the present application does not limit the implementation method of step 35. For ease of understanding, two examples are used for illustration below.
[0198] Example 1: Step 35 may specifically include steps 351 and 352:
[0199] Step 351: Update the position data to be used according to N frames of position data.
[0200] As an example, step 351 may specifically include steps 3511-3512:
[0201] Step 3511: Add the position identifier of the position data to be used in the position data sequence to the preset step value to obtain the position identifier to be used.
[0202] The above-mentioned “position identifier” is used to indicate the arrangement position of a position data in the above-mentioned “position data sequence”. For example, for the n-th frame position data in the above-mentioned “position data sequence”, the position identifier of the n-th frame position data may be n. Where n is a positive integer, n≤N.
[0203] The above-mentioned “preset step value” can be pre-set; and the embodiment of the present application does not limit the “preset step value”, for example, it can be 1.
[0204] Based on the relevant contents of the above step 3511, it can be known that after determining that the preset stop condition has not been reached, the position identifier to be used can be determined according to the position identifier of the position data to be used in the current round in the position data sequence, so that the position identifier to be used can be used later to determine the position data to be used in the next round. For example, it is assumed that the position data to be used in the current round is the nth frame position data in the above "position data sequence". Based on this assumption, it can be known that the above "position identifier of the position data to be used in the position data sequence" is n, and the above "position identifier to be used" is (n+preset step value).
[0205] Step 3512: Determine the position data with the to-be-used position identifier in the position data sequence as the updated to-be-used position data.
[0206] As an example, when the above-mentioned "position identifier to be used" is n+1, step 3512 may specifically include: determining the n+1th position data in the above-mentioned "position data sequence" as the updated position data to be used, so that the correction processing process for the n+1th position data can be implemented subsequently.
[0207] Based on the relevant content of the above step 351, it can be known that after determining that the preset stop condition has not been met, the position identifier of the position data to be used in the current round in the position data sequence and the preset step value can be referred to to determine the position data to be used in the next round, thereby realizing the update process for the position data to be used.
[0208] Step 352: Update the inertia data to be used according to the position data to be used, and return to execute step 33.
[0209] The embodiment of the present application does not limit the implementation of step 352. For example, it may specifically include: determining the inertial data to be used from the M frames of inertial data according to the collection time characterization information of the position data to be used and the collection time characterization information of the M frames of inertial data. For another example, it may specifically include: searching the inertial data corresponding to the position data to be used from the data synchronization mapping relationship and determining it as the inertial data to be used.
[0210] Based on the relevant content of the above step 35, it can be known that after determining that the preset stop condition has not been reached, a new position data can be selected from the above "position data sequence" as the updated position data to be used; and then the inertia data corresponding to the updated position data to be used can be determined from the above "inertia data sequence" as the updated inertia data to be used, so that step 33 and its subsequent steps can be continued based on the updated position data to be used and the updated inertia data to be used to realize the next round of correction processing.
[0211] Step 36: Determine the motion state of the patient to be evaluated based on the data correction result corresponding to at least one frame of position data.
[0212] Example 1: When the initial value of the above-mentioned "position data to be used" is the first frame position data in the above-mentioned "position data sequence", step 36 may specifically include: determining the movement state of the patient to be evaluated based on the data correction results corresponding to the N frames of position data in the above-mentioned "position data sequence".
[0213] It should be noted that for the relevant content of step 36 shown in the above “Example 1”, please refer to the relevant content of S4 above.
[0214] Example 2: When the initial value of the above-mentioned "position data to be used" is the Qth frame position data in the above-mentioned "position data sequence", and 2≤Q≤N, step 36 may specifically include: determining the movement state of the patient to be evaluated according to the 1st frame position data to the Q-1th frame position data in the above-mentioned "position data sequence", and the data correction results corresponding to the Qth frame position data to the data correction results corresponding to the Nth frame position data.
[0215] It should be noted that step 36 shown in the above "Example 2" can be implemented using any of the implementation methods of S4 above, and it is only necessary to replace the "data correction result corresponding to the N frame position data" in any of the implementation methods of S4 above with "the data correction result corresponding to the 1st frame position data to the Q-1th frame position data, and the data correction result corresponding to the Qth frame position data to the data correction result corresponding to the Nth frame position data".
[0216] Based on the relevant contents of the above steps 31 to 36, it can be known that for the key points to be processed that are used to represent the preset human body positions of the patients to be evaluated, after obtaining the position data sequence and the inertial data sequence of the key points to be processed, the correction processing process for multiple frames of position data in the position data sequence can be implemented in an iterative manner, which is beneficial to improve the data correction effect, and thus to improve the accuracy of determining the motion state.
[0217] In addition, in order to further improve the data correction effect, the embodiment of the present application also provides another possible implementation of the motion state determination method. In this implementation, in addition to the above steps 31 to 36, the motion state determination method may also include step 37:
[0218] Step 37: Update the reference covariance corresponding to the position data to be used (as shown in formula (19)).
[0219] P t|t =(IK t H t ) t|t-1 (19)
[0220] Where P t|t represents the covariance correction result at the tth time (that is, the "reference covariance corresponding to the position data to be used" involved in the next round); P t|t-1 represents the forecast covariance at time t.
[0221] It should be noted that, for the iterative correction process shown in step 31 to step 37, the "t-th moment" involved in the above formulas (10)-(19) can represent the "current round", and "t" can represent the round number identifier of the above "current round" (for example, 1, 2, ...); and the "t-1-th moment" involved in the above formulas (10)-(19) can represent the "previous round", and "t" can represent the round number identifier of the above "previous round". In addition, when the initial value of the above "position data to be used" is the first frame position data in the above "position data sequence", the initial parameter P 0|0 It can be a 6×6 identity matrix, with initial parameters Can be When the initial value of the above-mentioned “position data to be used” is the Q-th frame position data in the above-mentioned “position data sequence”, and 2≤Q≤N, the initial parameter P 0|0 It can be a 6×6 identity matrix, with initial parameters Can be and It may refer to the Q-1th frame position data in the above-mentioned “position data sequence”.
[0222] It should also be noted that the embodiment of the present application does not limit the execution time of step 37. For example, step 37 can be executed after determining that the preset stop condition has not been met.
[0223] Based on the relevant contents of the above steps 31 to 37, it can be known that for the iterative correction process, it can make use of the iterative process of covariance to better eliminate the noise interference existing in the above-mentioned "preset position acquisition device", which is beneficial to improve the data correction effect, thereby helping to improve the accuracy of determining the motion state.
[0224] Method Example 3
[0225] In addition, in order to improve the efficiency of determining the motion state, correction processing can be performed only on those position data where abnormalities occur. Based on this, the embodiment of the present application provides a possible implementation of S2 above, which may specifically include S21-S23:
[0226] S21: If there is first abnormal data satisfying a first abnormal condition in the position data sequence, the first abnormal data is first determined as the position data to be used; and then the inertial data to be used is determined from the inertial data sequence according to the collection time characterization information of the position data to be used.
[0227] The above-mentioned "first abnormal condition" is used to identify whether a frame of position data has a first abnormal phenomenon. The "first abnormal phenomenon" refers to the situation in which, during the position data acquisition process, the patient is too close or too far away from the above-mentioned "preset position acquisition device", causing the patient to enter the blind spot of the field of vision of the "preset position acquisition device" in a certain data acquisition direction (for example, the x-axis, y-axis or z-axis direction), thereby causing the "preset position acquisition device" to be unable to obtain the patient's position in the data acquisition direction, and then causing the position information in the data acquisition direction to be lost, so that the "preset position acquisition device" will use a preset position default value (for example, -1) as the position information in the data acquisition direction.
[0228] In addition, the embodiment of the present application does not limit the above-mentioned "first abnormal condition", for example, it may specifically be: there is at least one coordinate value that is the above-mentioned "position default value".
[0229] It can be seen that when the above-mentioned "position default value" is -1, for the n-th frame position data in the above-mentioned "position data sequence", if the x-axis coordinate value in the n-th frame position data is -1, it can be determined that the x-axis position information loss exception has occurred in the n-th frame position data, so it can be determined that the n-th frame position data meets the first abnormal condition; if the y-axis coordinate value in the n-th frame position data is -1, it can be determined that the y-axis position information loss exception has occurred in the n-th frame position data, so it can be determined that the n-th frame position data meets the first abnormal condition; if the z-axis coordinate value in the n-th frame position data is -1 (such as Figure 2If the "abnormal z-axis coordinate value" is shown in the figure, it can be determined that the n-th frame position data has a z-axis position information loss abnormality, so it can be determined that the n-th frame position data meets the first abnormal condition; if the three coordinate values in the n-th frame position data are not -1, it can be determined that the n-th frame position data has no position information loss abnormality, so it can be determined that the first abnormal phenomenon did not occur during the acquisition of the n-th frame position data, and thus it can be determined that the n-th frame position data does not meet the first abnormal condition. Wherein, n is a positive integer, n≤N.
[0230] The above-mentioned "first abnormal data" refers to a frame of position data that meets the first abnormal condition; and there is at least one coordinate value in the "first abnormal data" that is the above-mentioned "position default value". It can be seen that for the n-th frame of position data in the above-mentioned "position data sequence", if it is determined that the n-th frame of position data meets the first abnormal condition, then the n-th frame of position data can be determined as the first abnormal data; if it is determined that the n-th frame of position data does not meet the first abnormal condition, then it can be determined that the n-th frame of position data does not belong to the first abnormal data. Wherein, n is a positive integer, n≤N.
[0231] The above step of “determining the inertial data to be used from the inertial data sequence according to the collection time characterization information of the position data to be used” can be implemented by any implementation method of determining the “inertial data to be used” shown in S2 above.
[0232] Based on the relevant contents of S21 above, it can be known that after the position data sequence is acquired, it can be first determined whether each frame position data in the position data sequence satisfies the first abnormal condition; then each frame position data satisfying the first abnormal condition is respectively determined as each position data to be used; finally, the inertial data to be used corresponding to each position data to be used is determined, so that the inertial data to be used corresponding to each position data to be used can be referred to respectively in the subsequent correction processing of each position data to be used to obtain the data correction result of each position data to be used, so that the data correction result of each position data to be used can eliminate the information loss abnormality existing in the position data to be used as much as possible (for example, the inertial data to be used corresponding to each position data to be used). Figure 2 After correction of the abnormal z-axis coordinate value shown, Figure 3 Normal z-axis coordinate values shown).
[0233] S22: If there is second abnormal data satisfying the second abnormal condition in the position data sequence, the second abnormal data is first determined as the position data to be used; and then the inertial data to be used is determined from the inertial data sequence according to the collection time characterization information of the position data to be used.
[0234] The above-mentioned "second abnormal condition" is used to identify whether a frame of position data has a second abnormal phenomenon. The "second abnormal phenomenon" refers to the situation in which the position information collected by the "preset position collection device" in a certain data collection direction jumps due to external environmental interference caused by the above-mentioned "preset position collection device" during the position data collection process (such as Figure 4 shown).
[0235] In addition, the embodiment of the present application does not limit the above-mentioned "second abnormal condition", for example, it may specifically be: there is at least one coordinate value whose change representation value is higher than the first change threshold.
[0236] The above-mentioned “change characterization value” is used to describe the difference between a certain axis coordinate value in a frame of position data and a certain axis coordinate value in a previous frame of position data. For example, for the nth frame of position data in the above-mentioned “position data sequence”, the difference between the z-axis coordinate value in the nth frame of position data and the z-axis coordinate value in the n-1th frame of position data can be determined as the change characterization value of the z-axis coordinate value in the nth frame of position data. Where n is a positive integer, n≤N.
[0237] Based on the relevant content of the above-mentioned "second abnormal condition", it can be known that for the n-th frame position data in the above-mentioned "position data sequence", if the change characterization value of the x-axis coordinate value in the n-th frame position data is higher than the first change threshold, it can be determined that the n-th frame position data has a jump on the x-axis, so that it can be determined that the n-th frame position data meets the second abnormal condition; if the change characterization value of the y-axis coordinate value in the n-th frame position data is higher than the first change threshold, it can be determined that the n-th frame position data has a jump on the y-axis, so that it can be determined that the n-th frame position data meets the second abnormal condition; if the change characterization value of the z-axis coordinate value in the n-th frame position data is higher than the first change threshold, it can be determined that the n-th frame position data has a jump on the z-axis, so that it can be determined that the n-th frame position data meets the second abnormal condition; if the change characterization values of the three coordinate values in the n-th frame position data are not higher than the first change threshold, it can be determined that the n-th frame position data has not a jump phenomenon, so that it can be determined that the n-th frame position data does not meet the second abnormal condition. Wherein, n is a positive integer, n≤N.
[0238] The above-mentioned "second abnormal data" refers to a frame of position data that meets the second abnormal condition; and there is at least one coordinate value in the "second abnormal data" whose change characterization value is higher than the first change threshold. It can be seen that for the n-th frame of position data in the above-mentioned "position data sequence", if it is determined that the n-th frame of position data meets the second abnormal condition, then the n-th frame of position data can be determined as the second abnormal data; if it is determined that the n-th frame of position data does not meet the second abnormal condition, then it can be determined that the n-th frame of position data does not belong to the second abnormal data. Wherein, n is a positive integer, n≤N.
[0239] Based on the relevant contents of S22 above, it can be known that after the position data sequence is acquired, it can be first determined whether each frame position data in the position data sequence satisfies the second abnormal condition; then each frame position data satisfying the second abnormal condition is respectively determined as each position data to be used; finally, the inertial data to be used corresponding to each position data to be used is determined, so that the inertial data to be used corresponding to each position data to be used can be referred to respectively in the subsequent correction processing of each position data to be used to obtain the data correction result of each position data to be used, so that the data correction result of each position data to be used can eliminate the data jump abnormality existing in the position data to be used as much as possible (for example, the inertial data to be used corresponding to each position data to be used) Figure 4 After the z-axis coordinate value of the jump is corrected, it can be obtained Figure 5 Normal z-axis coordinate values are shown).
[0240] S23: If there is third abnormal data satisfying the third abnormal condition in the inertial data sequence, the third abnormal data is first determined as the inertial data to be used; and then the position data to be used is determined from the position data sequence according to the collection time characterization information of the inertial data to be used.
[0241] The above-mentioned "first abnormal condition" is used to identify whether a frame of inertial data has a third abnormal phenomenon. The "third abnormal phenomenon" refers to the patient's abnormal movement due to physical problems during the inertial data collection process (for example, when the patient suddenly pauses or has difficulty starting during the movement, etc.), which causes the patient's acceleration to suddenly decrease to near 0 and last for a period of time (such as Figure 6 As a result, the patient's position data becomes stable for a period of time (as shown in Figure 7 shown).
[0242] In addition, the embodiments of the present application do not limit the above-mentioned "third abnormal condition", for example, it may specifically include: ① there is at least one acceleration value lower than the preset acceleration value, and the change characterization value of the at least one acceleration value is higher than the second change threshold; or ② there is at least one acceleration value lower than the preset acceleration value, and the change characterization value of the at least one acceleration value is lower than the third change threshold (that is, no change). Among them, the "preset acceleration value" is a pre-set value close to 0. The "third change threshold" is a pre-set value close to 0.
[0243] It can be seen that, for the mth frame of inertial data in the above-mentioned “inertial data sequence”, if the x-axis acceleration value in the mth frame of inertial data is lower than the preset acceleration value, and the change representation value of the x-axis acceleration value is higher than the second change threshold, it can be determined that the mth frame of inertial data meets the third abnormal condition; if the x-axis acceleration value in the mth frame of inertial data is lower than the preset acceleration value, and the change representation value of the x-axis acceleration value is lower than the third change threshold, it can be determined that the mth frame of inertial data meets the third abnormal condition; if the y-axis acceleration value in the mth frame of inertial data is lower than the preset acceleration value, and the change representation value of the y-axis acceleration value is higher than the second change threshold, it can be determined that the mth frame of inertial data meets the third abnormal condition; If the y-axis acceleration value in the m-th frame inertial data is lower than the preset acceleration value, and the change characterization value of the y-axis acceleration value is lower than the third change threshold, it can be determined that the m-th frame inertial data meets the third abnormal condition; if the z-axis acceleration value in the m-th frame inertial data is lower than the preset acceleration value, and the change characterization value of the z-axis acceleration value is higher than the second change threshold, it can be determined that the m-th frame inertial data meets the third abnormal condition; if the z-axis acceleration value in the m-th frame inertial data is lower than the preset acceleration value, and the change characterization value of the z-axis acceleration value is lower than the third change threshold, it can be determined that the m-th frame inertial data meets the third abnormal condition; in other cases, it is determined that the m-th frame inertial data does not meet the third abnormal condition. Wherein, m is a positive integer, m≤M.
[0244] The above-mentioned "third abnormal data" refers to a frame of inertial data that meets the third abnormal condition. It can be seen that for the mth frame of inertial data in the above-mentioned "inertial data sequence", if it is determined that the mth frame of inertial data meets the third abnormal condition, then the mth frame of inertial data can be determined as the third abnormal data; if it is determined that the mth frame of inertial data does not meet the third abnormal condition, then it can be determined that the mth frame of inertial data does not belong to the third abnormal data. Wherein, m is a positive integer, m≤M.
[0245] The implementation method of the above step "determining the position data to be used from the position data sequence according to the collection time characterization information of the inertial data to be used" is similar to the implementation method of the above step "determining the inertial data to be used from the inertial data sequence according to the collection time characterization information of the position data to be used".
[0246] Based on the relevant content of S23 above, it can be known that after acquiring the inertial data sequence, it can be determined whether each frame of inertial data in the inertial data sequence satisfies the third abnormal condition; then, each frame of inertial data that satisfies the third abnormal condition is determined as each inertial data to be used; finally, the position data to be used corresponding to each inertial data to be used is determined, so that each inertial data to be used can be referred to separately later, and the position data to be used corresponding to each inertial data to be used is corrected and processed to obtain the data correction results of each position data to be used, so that the data correction results of each position data to be used can more accurately represent the abnormal movement characteristics of the above-mentioned "patient to be evaluated" (for example, gait freezing characteristics, etc.).
[0247] Based on the contents of S21 to S23 above, it can be known that after obtaining the position data sequence and the inertial data sequence, abnormality identification processing can be performed on these two sequences to obtain abnormal data in the two sequences; then correction processing can be performed on these abnormal data to obtain data correction results corresponding to these abnormal data, so that these data correction results can better represent the movement state of the above-mentioned "patient to be evaluated".
[0248] In order to improve the accuracy of determining the motion state, when S2 is implemented by using S21-S23, the above S4 may specifically include S41-S42:
[0249] S41: Determine at least one data to be referenced according to the position data sequence and the position data to be used.
[0250] The above-mentioned “data to be referenced” refers to position data that does not need to be corrected (that is, position data in which no abnormality occurs).
[0251] In addition, the embodiment of the present application does not limit the implementation method of step 41. For example, when the number of the above-mentioned "position data to be used" is E, then S41 may specifically include: determining all other position data except the E position data to be used in the above-mentioned "position data sequence" as reference data. Wherein, E is a positive integer.
[0252] S42: Determine the movement state of the patient to be evaluated according to the data correction result corresponding to at least one reference data and the position data to be used.
[0253] It should be noted that S42 can be implemented using any of the implementation methods of S4 above, by simply replacing the "data correction results corresponding to N frames of position data" in any of the implementation methods of S4 above with "data correction results corresponding to at least one reference data and E position data to be used".
[0254] Based on the relevant contents of S41 to S42 above, it can be known that the motion state of the patient to be evaluated can be determined by referring to the data correction results corresponding to the frame position data without abnormalities and the frame position data with abnormalities, which is conducive to improving the accuracy of determining the motion state.
[0255] Method Example 4
[0256] In fact, the parts of the human body that need to be focused on for different patients with movement disorders are usually different, so different motion detection items can be set for different patients with movement disorders. Based on this, in order to improve the flexibility of determining the motion state, the embodiment of the present application also provides a possible implementation method for determining the above "key points to be processed", which can be specifically steps 61-62:
[0257] Step 61: Determine the body part to be detected based on the motion detection description information of the patient to be evaluated.
[0258] The above-mentioned “motion detection description information” is used to describe at least one motion detection item (for example, gait detection, etc.) that needs to be detected when diagnosing a disease or performing daily disease course detection on the patient to be evaluated.
[0259] The above-mentioned “body part to be detected” refers to the body part that needs to be paid attention to during disease diagnosis or daily disease detection of the patient to be evaluated (for example, ankle, etc.).
[0260] It should be noted that the embodiments of the present application do not limit the implementation of step 61. For example, when the above-mentioned "motion detection description information" involves at least one motion detection item, step 61 may specifically include: first searching for at least one human body part corresponding to each motion detection item from the preset mapping relationship; then determining each human body part corresponding to each motion detection item as the human body part to be detected. Among them, the "preset mapping relationship" is used to record the corresponding relationship between each motion detection item and at least one human body part that each motion detection item needs to pay attention to.
[0261] Based on the relevant content of the above step 61, it can be known that for a patient to be evaluated, after obtaining the motion detection description information of the patient to be evaluated, at least one human body part to be detected can be determined based on the motion detection description information, so that these human body parts to be detected can include the human body parts that need to be paid attention to for the patient to be evaluated.
[0262] Step 62: Determine a key point to be processed from at least one key point of the human body of the patient to be evaluated according to the human body part to be detected.
[0263] The above-mentioned “at least one key point of the human body of the patient to be evaluated” is used to represent at least one data acquisition position deployed on the body of the patient to be evaluated; and the “at least one key point of the human body of the patient to be evaluated” can be determined according to the above-mentioned “preset position acquisition device”.
[0264] The embodiments of the present application do not limit the implementation method of step 62. For example, when the number of human body parts to be detected is T, step 62 may specifically include: first querying the human body focus point corresponding to the t-th human body part to be detected from the second mapping relationship; then determining the intersection between the human body focus point corresponding to the t-th human body part to be detected and the above-mentioned "at least one human body key point of the patient to be evaluated"; finally, determining each element in the intersection as a key point to be processed. Wherein, t is a positive integer, t≤T; T is a positive integer. It should be noted that the above-mentioned "human body focus point" is used to describe the human body position that needs to be paid attention to for a patient.
[0265] Based on the relevant contents of steps 61 to 62 above, it can be known that for a patient with movement disorders, at least one key point to be processed can be determined by referring to the movement detection description information of the patient with movement disorders, so that these key points to be processed can represent the human body positions that need to be paid attention to when diagnosing the disease or conducting daily disease course detection on the patient to be evaluated, which is conducive to improving the flexibility of determining the movement state.
[0266] Based on the motion state determination method provided by the above method embodiment, the embodiment of the present application also provides a motion state determination device, which is explained and illustrated below in conjunction with the accompanying drawings.
[0267] Device Embodiment
[0268] The device embodiment introduces a motion state determination device, and related content can be found in the above method embodiment.
[0269] See also Figure 8 , which is a structural schematic diagram of a motion state determination device provided in an embodiment of the present application.
[0270] The motion state determination device 800 provided in the embodiment of the present application includes:
[0271] A sequence acquisition unit 801 is used to acquire a position data sequence of a key point to be processed and an inertia data sequence of the key point to be processed; wherein the key point to be processed is used to represent a preset human body position of a patient to be evaluated;
[0272] A first determining unit 802 is used to determine the position data to be used and the inertia data to be used according to the position data sequence and the inertia data sequence;
[0273] A data correction unit 803 is used to perform correction processing on the position data to be used according to the inertial data to be used, so as to obtain a data correction result corresponding to the position data to be used;
[0274] The second determining unit 804 is configured to determine the movement state of the patient to be evaluated according to the data correction result.
[0275] In a possible implementation manner, the data correction unit 803 includes:
[0276] A first determining subunit, configured to determine acceleration data to be used according to the inertial data to be used;
[0277] A second determining subunit, configured to determine position prediction data according to the acceleration data to be used;
[0278] The third determining subunit is used to determine a data correction result corresponding to the position data to be used according to the position prediction data and the position data to be used.
[0279] In a possible implementation manner, the inertial data to be used includes acceleration acquisition data and attitude acquisition data;
[0280] The first determination subunit is specifically used to: determine a first conversion parameter based on the posture acquisition data; perform coordinate system conversion processing on the acceleration acquisition data according to the first conversion parameter to obtain acceleration data to be processed; perform coordinate system conversion processing on the acceleration data to be processed according to the second conversion parameter to obtain the acceleration data to be used; wherein the second conversion parameter is determined based on preset coordinate system rotation data.
[0281] In a possible implementation manner, the second determining subunit is specifically configured to determine the position prediction data according to the acceleration data to be used and the reference position data corresponding to the acceleration data to be used.
[0282] In a possible implementation, the third determination subunit is specifically used to: determine residual data based on the position prediction data and the position data to be used; and determine a data correction result corresponding to the position data to be used based on the position prediction data and the residual data.
[0283] In a possible implementation, the position data sequence includes at least one frame of position data; the inertial data sequence includes at least one frame of inertial data;
[0284] The first determining unit 802 is specifically configured to: initialize the position data to be used and the inertia data to be used according to the at least one frame of position data and the at least one frame of inertia data;
[0285] The device 800 further includes:
[0286] a first updating unit, configured to update the position data to be used and the inertia data to be used, after the correction processing is performed on the position data to be used according to the inertia data to be used to obtain a data correction result corresponding to the position data to be used, and continue to perform the step of performing the correction processing on the position data to be used according to the inertia data to be used to obtain a data correction result corresponding to the position data to be used, until a preset stop condition is reached;
[0287] The second determining unit 804 is specifically configured to determine the motion state of the patient to be evaluated according to the data correction result corresponding to the at least one frame of position data.
[0288] In a possible implementation manner, the first determining unit 802 includes:
[0289] A first initialization subunit, configured to initialize the position data to be used according to the at least one frame of position data;
[0290] The second initialization subunit is used to determine the inertial data to be used from the at least one frame of inertial data according to the collection time characterization information of the position data to be used and the collection time characterization information of the at least one frame of inertial data.
[0291] In a possible implementation manner, the first updating unit includes:
[0292] A first updating subunit, configured to update the position data to be used according to the at least one frame of position data;
[0293] The second updating subunit is used to update the inertia data to be used according to the position data to be used.
[0294] In a possible implementation manner, the first initialization subunit is specifically configured to: determine the first frame position data or the second frame position data in the position data sequence as the position data to be used.
[0295] In a possible implementation, the first updating subunit is specifically used to: add the position identifier of the position data to be used in the position data sequence to a preset step value to obtain the position identifier to be used; and determine the position data in the position data sequence having the position identifier to be used as the updated position data to be used.
[0296] In a possible implementation, the second initialization subunit is specifically used to: compare the collection time characterization information of the position data to be used with the collection time characterization information of each frame of inertial data to obtain a collection time comparison result corresponding to each frame of inertial data; and determine the inertial data to be used that meets a preset condition from the at least one frame of inertial data according to the collection time comparison result corresponding to the at least one frame of inertial data.
[0297] In a possible implementation manner, the data correction result corresponding to the to-be-used position data is determined according to a reference covariance corresponding to the to-be-used position data;
[0298] The device 800 further includes:
[0299] The second updating unit is used to update the reference covariance corresponding to the position data to be used.
[0300] In a possible implementation, the first determination unit 802 is specifically configured to: if there is first abnormal data satisfying a first abnormal condition in the position data sequence, determine the first abnormal data as the position data to be used; determine the inertial data to be used from the inertial data sequence according to the information representing the collection time of the position data to be used; if there is second abnormal data satisfying a second abnormal condition in the position data sequence, determine the second abnormal data as the position data to be used; determine the inertial data to be used from the inertial data sequence according to the information representing the collection time of the position data to be used; if there is third abnormal data satisfying a third abnormal condition in the inertial data sequence, determine the third abnormal data as the inertial data to be used; and determine the position data to be used from the position data sequence according to the information representing the collection time of the inertial data to be used.
[0301] In a possible implementation, the second determination unit 804 is specifically used to: determine at least one reference data based on the position data sequence and the position data to be used; and determine the movement state of the patient to be evaluated based on a data correction result corresponding to the at least one reference data and the position data to be used.
[0302] In a possible implementation manner, the device 800 further includes:
[0303] The third determination unit is used to determine the body part to be detected according to the motion detection description information of the patient to be evaluated; and determine the key point to be processed from at least one body key point of the patient to be evaluated according to the body part to be detected.
[0304] Furthermore, an embodiment of the present application also provides a device, including: a processor, a memory, and a system bus;
[0305] The processor and the memory are connected via the system bus;
[0306] The memory is used to store one or more programs, and the one or more programs include instructions. When the instructions are executed by the processor, the processor executes any one of the implementation methods of the above-mentioned motion state determination method.
[0307] Furthermore, an embodiment of the present application also provides a computer-readable storage medium, in which instructions are stored. When the instructions are executed on a terminal device, the terminal device executes any one of the implementation methods of the above-mentioned motion state determination method.
[0308] Furthermore, an embodiment of the present application also provides a computer program product, which, when executed on a terminal device, enables the terminal device to execute any one of the implementation methods of the above-mentioned motion state determination method.
[0309] It can be known from the description of the above implementation mode that those skilled in the art can clearly understand that all or part of the steps in the above-mentioned embodiment method can be implemented by means of software plus a necessary general hardware platform. Based on such an understanding, the technical solution of the present application can be essentially or partly embodied in the form of a software product that contributes to the prior art. The computer software product can be stored in a storage medium such as ROM / RAM, a disk, an optical disk, etc., including several instructions for enabling a computer device (which can be a personal computer, a server, or a network communication device such as a media gateway, etc.) to execute the methods described in the various embodiments of the present application or certain parts of the embodiments.
[0310] It should be noted that the various embodiments in this specification are described in a progressive manner, and each embodiment focuses on the differences from other embodiments, and the same or similar parts between the various embodiments can be referred to each other. For the device disclosed in the embodiment, since it corresponds to the method disclosed in the embodiment, the description is relatively simple, and the relevant parts can be referred to the method part description.
[0311] It should also 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 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 device. In the absence of further restrictions, the elements defined by the sentence "comprise a ..." do not exclude the presence of other identical elements in the process, method, article or device including the elements.
[0312] The above description of the disclosed embodiments enables those skilled in the art to implement or use the present application. Various modifications to these embodiments will be apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of the present application. Therefore, the present application will not be limited to the embodiments shown herein, but will conform to the widest scope consistent with the principles and novel features disclosed herein.
Claims
1. A method for determining a motion state, characterized in that: The method comprises: Acquire a position data sequence of a key point to be processed and an inertial data sequence of the key point to be processed; wherein the key point to be processed is used to represent a preset human body position of a patient to be evaluated; Determining position data to be used and inertia data to be used according to the position data sequence and the inertia data sequence; According to the inertial data to be used, the position data to be used is corrected to obtain a data correction result corresponding to the position data to be used; Determining the movement state of the patient to be evaluated according to the data correction result; The step of performing correction processing on the position data to be used according to the inertial data to be used to obtain a data correction result corresponding to the position data to be used includes: Determining acceleration data to be used according to the inertial data to be used; Determining position prediction data according to the acceleration data to be used; According to the position prediction data and the position data to be used, a data correction result corresponding to the position data to be used is determined.
2. The method according to claim 1, characterized in that The inertial data to be used includes acceleration acquisition data and attitude acquisition data; The step of determining the acceleration data to be used according to the inertial data to be used includes: Determining a first conversion parameter according to the posture acquisition data; Performing coordinate system conversion processing on the acceleration acquisition data according to the first conversion parameter to obtain acceleration data to be processed; The acceleration data to be processed is subjected to coordinate system conversion processing according to a second conversion parameter to obtain the acceleration data to be used; wherein the second conversion parameter is determined according to preset coordinate system rotation data.
3. The method according to claim 1, characterized in that The determining of the position prediction data according to the acceleration data to be used includes: Position prediction data is determined according to the acceleration data to be used and reference position data corresponding to the acceleration data to be used.
4. The method according to claim 1, characterized in that: The step of determining a data correction result corresponding to the position data to be used according to the position prediction data and the position data to be used includes: Determining residual data according to the position prediction data and the position data to be used; A data correction result corresponding to the position data to be used is determined according to the position prediction data and the residual data.
5. The method according to any one of claims 1 to 4, characterized in that: The position data sequence includes at least one frame of position data; the inertial data sequence includes at least one frame of inertial data; The determining, according to the position data sequence and the inertia data sequence, position data to be used and inertia data to be used comprises: Initializing the position data to be used and the inertia data to be used according to the at least one frame of position data and the at least one frame of inertia data; After the correction processing is performed on the position data to be used according to the inertial data to be used to obtain a data correction result corresponding to the position data to be used, the method further includes: updating the position data to be used and the inertia data to be used, and continuing to perform the step of correcting the position data to be used according to the inertia data to be used to obtain a data correction result corresponding to the position data to be used, until a preset stop condition is reached; Determining the movement state of the patient to be evaluated according to the data correction result includes: The movement state of the patient to be evaluated is determined according to the data correction result corresponding to the at least one frame of position data.
6. The method according to claim 5, characterized in that Initializing the position data to be used and the inertia data to be used according to the at least one frame of position data and the at least one frame of inertia data includes: Initializing the position data to be used according to the at least one frame of position data; determining the inertial data to be used from the at least one frame of inertial data according to the collection time characterization information of the position data to be used and the collection time characterization information of the at least one frame of inertial data; and / or, The updating of the position data to be used and the inertia data to be used includes: The position data to be used is updated according to the at least one frame of position data; and the inertia data to be used is updated according to the position data to be used.
7. The method according to claim 6, characterized in that Initializing the position data to be used according to the at least one frame of position data includes: Determine the first frame of position data or the second frame of position data in the position data sequence as the position data to be used; and / or, The updating of the to-be-used position data according to the at least one frame of position data comprises: The position identifier of the position data to be used in the position data sequence is added to a preset step value to obtain the position identifier to be used; and the position data with the position identifier to be used in the position data sequence is determined as the updated position data to be used.
8. The method according to claim 6, characterized in that The determining the inertial data to be used from the at least one frame of inertial data according to the collection time characterization information of the position data to be used and the collection time characterization information of the at least one frame of inertial data comprises: Comparing the collection time characterization information of the position data to be used with the collection time characterization information of each frame of inertial data to obtain a collection time comparison result corresponding to each frame of inertial data; According to the comparison result of the collection time corresponding to the at least one frame of inertial data, the inertial data to be used that meets the preset condition is determined from the at least one frame of inertial data.
9. The method according to claim 5, characterized in that The data correction result corresponding to the position data to be used is determined according to the reference covariance corresponding to the position data to be used; The method further comprises: The reference covariance corresponding to the position data to be used is updated.
10. The method according to any one of claims 1 to 4, characterized in that: The determining, according to the position data sequence and the inertia data sequence, position data to be used and inertia data to be used comprises: If there is first abnormal data satisfying a first abnormal condition in the position data sequence, the first abnormal data is determined as the position data to be used; and the inertial data to be used is determined from the inertial data sequence according to the collection time characterization information of the position data to be used; If there is second abnormal data satisfying a second abnormal condition in the position data sequence, the second abnormal data is determined as the position data to be used; and the inertial data to be used is determined from the inertial data sequence according to the collection time characterization information of the position data to be used; If there is third abnormal data satisfying a third abnormal condition in the inertial data sequence, the third abnormal data is determined as the inertial data to be used; and the position data to be used is determined from the position data sequence according to the collection time characterization information of the inertial data to be used.
11. The method according to claim 10, characterized in that Determining the movement state of the patient to be evaluated according to the data correction result includes: Determine at least one data to be referenced according to the position data sequence and the position data to be used; The movement state of the patient to be evaluated is determined according to the data correction result corresponding to the at least one reference data and the position data to be used.
12. The method according to claim 1, characterized in that The method further comprises: Determining a human body part to be detected according to the motion detection description information of the patient to be evaluated; According to the human body part to be detected, the key point to be processed is determined from at least one key point of the human body of the patient to be evaluated.
13. A motion state determination device, characterized in that: include: A sequence acquisition unit, used to acquire a position data sequence of a key point to be processed and an inertia data sequence of the key point to be processed; wherein the key point to be processed is used to represent a preset human body position of a patient to be evaluated; A first determining unit, configured to determine position data to be used and inertia data to be used according to the position data sequence and the inertia data sequence; A data correction unit, configured to perform correction processing on the position data to be used according to the inertial data to be used, so as to obtain a data correction result corresponding to the position data to be used; A second determining unit, configured to determine the movement state of the patient to be evaluated according to the data correction result; The data correction unit comprises: A first determining subunit, configured to determine acceleration data to be used according to the inertial data to be used; A second determining subunit, configured to determine position prediction data according to the acceleration data to be used; The third determining subunit is used to determine a data correction result corresponding to the position data to be used according to the position prediction data and the position data to be used.
14. A device, characterized in that The device includes: a processor, a memory, and a system bus; The processor and the memory are connected via the system bus; The memory is used to store one or more programs, wherein the one or more programs include instructions, and when the instructions are executed by the processor, the processor executes the method according to any one of claims 1 to 12.
15. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores instructions, and when the instructions are executed on a terminal device, the terminal device executes the method according to any one of claims 1 to 12.
16. A computer program product, characterized in that When the computer program product is executed on a terminal device, the terminal device executes the method according to any one of claims 1 to 12.
Citation Information
Patent Citations
Visual navigation / inertial navigation full combination method
CN103424114A
Method for analysing moving object continuous trajectory based on sampled GPS position
EP2264485A1