User flying state identification method, electronic equipment, system and storage medium

By acquiring acceleration data during cycling and performing coordinate system transformation and machine learning model analysis, the system automatically identifies the airborne state during cycling, solving the problem of inaccurate recording of airborne actions in existing technologies and improving the accuracy and convenience of recording.

CN121944484APending Publication Date: 2026-05-01GUANGDONG COROS SPORTS TECH JOINT CO
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
GUANGDONG COROS SPORTS TECH JOINT CO
Filing Date
2024-10-30
Publication Date
2026-05-01

AI Technical Summary

Technical Problem

In existing technologies, recording airborne movements during cycling relies on manual recording or post-event marking, which is inconvenient and prone to errors, such as omissions or over-recording, resulting in low recording accuracy.

Method used

By acquiring users' acceleration data, utilizing triaxial accelerometers and coordinate system transformation technology, and combining machine learning models, the system can automatically identify the airborne state during cycling, thereby improving recognition accuracy.

Benefits of technology

It enables automatic recognition of airborne states during cycling, improving the accuracy and convenience of recording airborne actions and reducing the user's operational burden.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121944484A_ABST
    Figure CN121944484A_ABST
Patent Text Reader

Abstract

The invention is suitable for the technical field of riding exercise monitoring, and provides a user flying state identification method, an electronic device, a system and a storage medium, and the method comprises the steps: obtaining the acceleration data of a user; determining whether the user is in a flying state according to the acceleration data; according to the invention, automatic identification of the flying state of the user in the riding process is realized, and the accuracy and convenience of flying action recording are improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application belongs to the field of cycling sports monitoring technology, and in particular relates to methods, electronic devices, systems and storage media for identifying the user's airborne state. Background Technology

[0002] In cycling, especially in cross-country or mountain stages, recording technical maneuvers is crucial for reviewing and sharing them. Among these maneuvers, the airborne maneuver is an important and highly representative one, as it reflects the terrain and difficulty of the course. Currently, recording airborne maneuvers relies on manual recording or post-race marking, which is inconvenient and prone to errors, such as omissions or over-recording. Summary of the Invention

[0003] This application provides a method, electronic device, system, and storage medium for recognizing a user's airborne state, which enables automatic recognition of a user's airborne state during cycling and improves the accuracy and convenience of recording airborne actions.

[0004] Firstly, this application provides a method for identifying a user's vacant state, the method comprising:

[0005] Obtain the user's acceleration data;

[0006] Based on the acceleration data, determine whether the user is in a state of airborne motion.

[0007] Secondly, this application provides an electronic device, which includes a processor and a storage medium;

[0008] The storage medium is used to store computer programs;

[0009] The processor is used to execute the computer program to implement the method described in the first aspect above.

[0010] Thirdly, this application provides a method for identifying a user's vacant status, applied to an electronic system, the system including an electronic device and a remote device communicatively connected to the electronic device, the method comprising:

[0011] Acquire the user's acceleration data collected by the electronic device;

[0012] Based on the acceleration data, the remote device is controlled to determine whether the user is in a state of levitation.

[0013] Fourthly, this application provides an electronic system, which includes an electronic device and a remote device communicatively connected to the electronic device;

[0014] The electronic device is used to collect the user's acceleration data;

[0015] The remote device includes a processor and a storage medium, the storage medium being used to store computer programs;

[0016] The processor is used to execute the computer program to implement the method described in the third aspect above.

[0017] Fifthly, this application provides a storage medium storing a computer program that, when executed by a processor, implements the user vacancy recognition method described in the first or third aspect above. Attached Figure Description

[0018] To more clearly illustrate the technical solutions in the embodiments of this application, the drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0019] Figure 1 This is a flowchart illustrating a method for identifying a user's vacant status according to an embodiment of this application;

[0020] Figure 2 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0021] Figure 3 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0022] Figure 4 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0023] Figure 5 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0024] Figure 6 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0025] Figure 7 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0026] Figure 8 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0027] Figure 9This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0028] Figure 10 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0029] Figure 11 This is a flowchart illustrating a method for identifying a user's vacant state according to another embodiment of this application;

[0030] Figure 12 This is a schematic diagram of the structure of a first electronic device provided in an embodiment of this application;

[0031] Figure 13 This is a schematic diagram of the structure of a first electronic device provided in another embodiment of this application;

[0032] Figure 14 This is a schematic diagram of the structure of an electronic system provided in another embodiment of this application;

[0033] Figure 15 This is a schematic diagram of the structure of an electronic system provided in another embodiment of this application. Detailed Implementation

[0034] In the following description, specific details such as particular system architectures and techniques are set forth for illustrative purposes and not for limitation, in order to provide a thorough understanding of the embodiments of this application. However, those skilled in the art will understand that this application may also be implemented in other embodiments without these specific details. In other instances, detailed descriptions of well-known systems, apparatuses, circuits, and methods have been omitted so as not to obscure the description of this application with unnecessary detail.

[0035] It should be understood that, when used in this application specification and the appended claims, the term "comprising" indicates the presence of the described features, integrals, steps, operations, elements and / or components, but does not exclude the presence or addition of one or more other features, integrals, steps, operations, elements, components and / or a collection thereof.

[0036] It should also be understood that the term “and / or” as used in this application specification and the appended claims means any combination of one or more of the associated listed items and all possible combinations, and includes such combinations.

[0037] As used in this application specification and the appended claims, the term "if" may be interpreted, depending on the context, as "when," "once," "in response to determination," or "in response to detection." Similarly, the phrase "if determined" or "if detected [the described condition or event]" may be interpreted, depending on the context, as meaning "once determined," "in response to determination," "once detected [the described condition or event]," or "in response to detection [the described condition or event]."

[0038] Furthermore, in the description of this application and the appended claims, the terms "first," "second," "third," etc., are used only to distinguish descriptions and should not be construed as indicating or implying relative importance.

[0039] References to "one embodiment" or "some embodiments" as described in this specification mean that one or more embodiments of this application include a specific feature, structure, or characteristic described in connection with that embodiment. Therefore, the phrases "in one embodiment," "in some embodiments," "in other embodiments," "in still other embodiments," etc., appearing in different parts of this specification do not necessarily refer to the same embodiment, but rather mean "one or more, but not all, embodiments," unless otherwise specifically emphasized. The terms "comprising," "including," "having," and variations thereof mean "including but not limited to," unless otherwise specifically emphasized.

[0040] like Figure 1 As shown, one embodiment of this application discloses a method for identifying a user's vacant state. The method includes the following steps:

[0041] S110, Acquire the user's acceleration data. Specifically, this step involves acquiring the user's acceleration data during cycling, which can be collected using sensors built into a wearable device. This wearable device can be worn on the user's body or installed on the vehicle. The acceleration data is acquired in real-time. The sensor can be a triaxial accelerometer, capable of measuring X-axis, Y-axis, and Z-axis acceleration data. The accelerometer's sampling frequency can be any one of 10Hz, 20Hz, 25Hz, 50Hz, 80Hz, 100Hz, 200Hz, 500Hz, and 1000Hz, or a range between any two of these values. For example, in this embodiment, the accelerometer's sampling frequency is 25Hz.

[0042] S120, Based on the aforementioned acceleration data, determine whether the user is in a state of airborne motion. In practice, the acceleration data can be filtered and retained for specific directions, and then the user's airborne status can be determined based on the acceleration data in those specific directions. Since the most significant acceleration characteristic of airborne motion during cycling is reflected in the direction perpendicular to the ground—for example, during airborne motion, the user is in a near-weightless state, and the acceleration perpendicular to the ground is close to zero—the aforementioned specific directions include the direction perpendicular to the ground. This more accurately reflects the relative motion between the cyclist and the ground, improving the accuracy of airborne motion recognition.

[0043] In one possible implementation, whether a user is in a state of airborne motion can be determined by detecting whether the acceleration data in the specific direction falls within a preset acceleration data range. This preset acceleration data range includes zero. If the acceleration data in the specific direction falls within the preset acceleration data range, the user is determined to be in a state of airborne motion. Otherwise, the user is determined not to be in a state of airborne motion.

[0044] In another possible implementation, first feature information of the acceleration data in the specific direction can be extracted, and then this first feature information can be used as input parameters of a pre-trained analysis model to output the airborne state identification result. The first feature information is used to represent the fluctuation of the acceleration data. The airborne state identification result indicates whether the object is in an airborne state or not. The first feature information can include one-dimensional and two-dimensional features. One-dimensional features include the X-axis acceleration value and its first difference, the Y-axis acceleration value and its first difference, and the Z-axis acceleration value and its first difference. Two-dimensional features include one or more of the following: mean, median, percentile, variance, standard deviation, peak value, trough value, peak-to-trough difference, peak location, and trough location. For example, the analysis model can be a machine learning model.

[0045] This embodiment acquires the user's acceleration data and determines whether the user is in a state of airborne motion based on the acceleration data. This achieves automatic recognition of the user's airborne state during cycling, improves the accuracy and convenience of recording airborne actions, and reduces the user's operational burden during cycling.

[0046] In some embodiments, the recorded number of times a user is airborne can be incremented by 1 when the user is detected to be airborne.

[0047] In some alternative embodiments, such as Figure 2 As shown above, in the above Figure 1 Based on the corresponding embodiment, step S120 above includes:

[0048] S1201, Perform coordinate system transformation on the above acceleration data to obtain the processed acceleration.

[0049] S1202, Based on the acceleration processed above, determine whether the user is in a state of being airborne.

[0050] The coordinate system transformation process described above involves converting acceleration data in the first coordinate system into acceleration data in the second coordinate system. The first coordinate system is the equipment coordinate system, and the second coordinate system is the northeast-northeast coordinate system, i.e., the ground coordinate system.

[0051] A device coordinate system is a coordinate system referenced to the device itself, with its origin typically located at the center of the device or a specific point. The axes of the device coordinate system depend on how the device is installed and used. For example, if the device is wearable, the X-axis might point in front of the user, the Y-axis might point to the user's right, and the Z-axis might be perpendicular to the device surface downwards. A northeast-northeast coordinate system is a coordinate system referenced to the ground. In this system, the X-axis points north, the Y-axis points east, and the Z-axis is vertically downwards, typically pointing towards the Earth's center or the ground. The northeast-northeast coordinate system is helpful in describing the absolute position and motion of an object relative to the ground.

[0052] Currently, acceleration data of users is generally collected through sensors within wearable devices. However, the installation posture and position of the device on the bicycle may be inaccurate. Directly using acceleration data in the device coordinate system may lead to misidentification or omission, resulting in low accuracy in monitoring the user's airborne movements during riding. Therefore, this embodiment transforms the acceleration data in the device coordinate system to the NE-G coordinate system. Analyzing the acceleration data in the NE-G coordinate system can more accurately reflect the relative motion between the rider and the ground, eliminating the deviation caused by the installation posture and position of the wearable device relative to the bicycle, thereby improving the accuracy of airborne movement recognition.

[0053] In some alternative embodiments, such as Figure 3 As shown above, in the above Figure 1 Based on the corresponding embodiment, step S120 above includes:

[0054] S1203, establish a first virtual window of a third preset duration for the acceleration data in the preset direction.

[0055] S1204, feature extraction is performed on the acceleration data within the first virtual window to obtain the first feature information of the acceleration within the first virtual window.

[0056] S1205, Based on the aforementioned first feature information, determine whether the user is in a free-floating state.

[0057] In this embodiment, the preset direction is perpendicular to the ground. After converting the obtained acceleration data in the device coordinate system to the northeast-northeast coordinate system, the acceleration data in the direction perpendicular to the ground, i.e., the Z-axis, can be directly obtained. Using the extracted first feature information as the input parameter of the pre-trained analysis model, the airborne state recognition result can be output.

[0058] The aforementioned first feature information may include one-dimensional and two-dimensional feature quantities. One-dimensional feature quantities include the X-axis acceleration value and its first difference in the NE-G coordinate system, the Y-axis acceleration value and its first difference in the NE-G coordinate system, and the Z-axis acceleration value and its first difference in the NE-G coordinate system. Two-dimensional feature quantities include one or more of the following one-dimensional feature quantities: mean, median, percentile, variance, standard deviation, peak value, trough value, peak-to-trough difference, location of the peak value, and location of the trough value.

[0059] As an example rather than a limitation, the third preset duration mentioned above can be 4 seconds. The first virtual window is a sliding time window; for example, after judging the current 4-second window, it continues to identify whether the next 4-second window is in an empty state.

[0060] In some alternative embodiments, such as Figure 4 As shown above, in the above Figure 2 Based on the corresponding embodiment, step S1201 above includes:

[0061] S12011, Based on the above acceleration data, the target attitude information is calculated.

[0062] S12012, Based on the above target attitude information, determine the transformation matrix.

[0063] S12013, According to the above transformation matrix, the acceleration data in the first coordinate system is converted into acceleration data in the second coordinate system. The acceleration data in the second coordinate system is the processed acceleration.

[0064] The target attitude information mentioned above includes pitch and roll angles. During attitude information calculation, initialization is performed by capturing a static period of the device. Utilizing the characteristic that the accelerometer only measures gravitational acceleration when stationary, the initial attitude information is calculated using this acceleration data. Then, using the initial attitude information and the acceleration data at the next moment, the attitude information for the next moment can be obtained by integration. This process is repeated to obtain the target attitude information corresponding to the current moment. The determination of the transformation matrix and the coordinate system transformation can be implemented using relevant technologies, and will not be elaborated upon in this embodiment.

[0065] In some alternative embodiments, in the above Figure 2 Based on the corresponding embodiment, step S1201 above includes:

[0066] Based on the acceleration data and gravitational acceleration of the previous preset time period, the target attitude information at the current moment is calibrated to obtain the calibrated target attitude information at the current moment.

[0067] Based on the calibrated target attitude information at the current moment, the initial acceleration data at the current moment is processed by coordinate system transformation to obtain the processed acceleration data at the current moment.

[0068] Specifically, based on the acceleration data from the previous preset time period, the attitude information for that time period can be calculated. Then, based on the attitude information from the previous preset time period, the acceleration data in the first coordinate system can be converted to acceleration data in the second coordinate system, namely the northeast-northeast coordinate system. Taking advantage of the characteristic that acceleration is mainly sensitive to gravitational acceleration during cycling, the difference between the acceleration data in the northeast-northeast coordinate system and the gravitational acceleration is compared. Based on this difference, the aforementioned target attitude information at the current moment is calibrated to obtain the calibrated target attitude information.

[0069] By using the calibrated target attitude information to perform coordinate system transformation on the acceleration data, the obtained acceleration data in the vertical direction can be more accurate, which is beneficial to further improve the accuracy of recognizing airborne actions during cycling.

[0070] Another embodiment of this application discloses another method for identifying a user's vacant state. For example... Figure 5 As shown, this embodiment is based on the above. Figure 1 Based on the corresponding embodiment, between step S110 and step S120, the following step is further included:

[0071] S130, based on the above acceleration data, determine whether the user should jump.

[0072] In this embodiment, step S120 includes:

[0073] S1206, if the user jumps, determine whether the user has landed based on the above acceleration data.

[0074] S1207, upon detecting that the user has landed, determines that the user was in the air between the first and second moments.

[0075] The first moment mentioned above refers to the moment when the user's jump is detected, and the second moment mentioned above refers to the moment when the user's landing is detected.

[0076] In this embodiment, if no user jump is detected based on the acceleration data, the process jumps to step S110 to continue acquiring the user's acceleration data. In step S130, the amplitude of the acceleration data can be determined to be greater than a preset first acceleration threshold. If the amplitude of the acceleration data is detected to be greater than the first acceleration threshold, the user jumps. The moment when the amplitude of the acceleration data exceeds the first acceleration threshold is defined as the first moment. Because there is a momentary upward acceleration peak during a jump, the user jump can be determined based on this method.

[0077] In step S1206 above, upon detecting a user's jump, it is determined whether the amplitude of the acceleration data exceeds a preset second acceleration threshold. If the amplitude of the acceleration data exceeds the second acceleration threshold, it is determined that the user has landed. The moment when the amplitude of the acceleration data exceeds the second acceleration threshold is defined as the second moment. Because there is a large instantaneous upward acceleration peak upon landing, the user's jump can be determined based on this method.

[0078] In some alternative embodiments, such as Figure 6 As shown above, in the above Figure 5 Based on the corresponding embodiment, step S1207 is replaced by step S1208:

[0079] If the user lands within a preset first time period after the user takes off, it is determined that the user is in the air between the first and second moments.

[0080] Specifically, this embodiment includes a timeout mechanism for recognizing the user's landing action after jumping. If the timeout does not occur and the user's landing is detected, it is determined that the user is in the air between the first and second moments. If the timeout occurs, the process proceeds to step S130, where the take-off point is re-determined. For example, the first duration could be 10 seconds, but this application is not limited to this.

[0081] In some alternative embodiments, in the above Figure 5 Based on the corresponding embodiment, step S1206 includes:

[0082] If a user is detected to jump, determine whether the user is airborne based on the aforementioned acceleration data.

[0083] If the user is detected to be airborne, determine whether the user has landed based on the aforementioned acceleration data.

[0084] In a specific implementation, this embodiment could, for example, detect whether the acceleration data falls within a preset acceleration data range upon detecting a user's jump. If the acceleration data falls within the preset range, it is determined that the user has taken off. Otherwise, it is determined that the user has not taken off. Since the user is in a near-weightless state during takeoff, the vertical ground acceleration is close to zero; therefore, the preset acceleration data range includes zero.

[0085] In some embodiments, in step S1206, if the user is detected to be airborne within a preset second time period after the user jumps, it is determined that the user has airborne. That is, this embodiment sets up a timeout processing mechanism for recognizing the user's airborne action after jumping. If the timeout does not occur and the user's airborne action can be detected, it is determined that the user has airborne. If the timeout occurs, the process jumps to step S130, that is, the take-off point is re-determined. For example, the aforementioned second time period can be 10 seconds, but this application is not limited to this.

[0086] If, after a user is detected to have taken off, no landing is detected for an extended period (e.g., 10 seconds), the landing point detection is deemed to have failed. The location corresponding to the first acceleration peak occurring in the non-take-off state after the take-off state is then determined as the landing point. This acceleration peak could be, for example, the peak amplitude within the time interval from 0.5 seconds before to 0.5 seconds after a specific moment.

[0087] In some alternative embodiments, in the above Figure 5 Based on the corresponding embodiment, step S130 above includes:

[0088] A second virtual window of a fourth preset duration is established for the acceleration data in a preset direction. In this embodiment, the preset direction is the direction perpendicular to the ground.

[0089] Determine the maximum value of the acceleration data within the second virtual window.

[0090] Determine whether the maximum value of the acceleration data within the second virtual window is greater than the first preset threshold.

[0091] If so, the system determines whether the user has jumped based on the maximum acceleration data within the second virtual window and the first preset time period. The first preset time period includes the moment corresponding to the maximum acceleration data within the second virtual window. If the average acceleration within the first preset time period is less than half of the maximum value, the system determines that the user has jumped; otherwise, it determines that the user has not jumped. Only if the user has jumped is the system determined to be in the air.

[0092] If the maximum value is not greater than the first preset threshold, then continue to identify the next second virtual window.

[0093] Specifically, the second virtual window mentioned above is the sliding time window. During the recognition process, after recognizing the user's jump in the current window, the recognition continues to the next window. In the process of determining the maximum value and threshold, one approach is to directly obtain the acceleration in the vertical direction at each moment, then identify the maximum value and compare it with a first preset threshold. Alternatively, one approach is to subtract the gravitational acceleration from the acceleration in the vertical direction at each moment, then determine the maximum acceleration amplitude and compare it with a threshold. In this case, the threshold is the difference between the first preset threshold and the gravitational acceleration.

[0094] As an example and not a limitation, the aforementioned fourth preset duration can be 2 seconds. The aforementioned first preset time period can be the time period between 0.5 seconds before the moment corresponding to the maximum acceleration data and 0.5 seconds after the moment corresponding to the maximum value. That is, by comparing the peak value with the acceleration data 0.5 seconds before and after it, this embodiment can confirm that the acceleration occurs instantaneously, which is consistent with the characteristic of a momentary large vertical upward acceleration amplitude at the moment of takeoff.

[0095] This embodiment can reduce the probability of false recognition of user jump and improve the accuracy of user jump detection.

[0096] In some alternative embodiments, in the above Figure 5 Based on the corresponding embodiment, step S1206 above includes:

[0097] A third virtual window with a fifth preset duration is established for the acceleration data in a preset direction. In this embodiment, the preset direction is the direction perpendicular to the ground.

[0098] Determine the maximum value of the acceleration data within the third virtual window mentioned above.

[0099] Determine whether the maximum value of the acceleration data within the third virtual window is greater than the second preset threshold.

[0100] If the maximum value of the acceleration data within the third virtual window is greater than the second preset threshold, then based on the maximum value of the acceleration data within the third virtual window and the second preset time period, it is determined whether the user has landed. The second preset time period includes the moment corresponding to the maximum value of the acceleration data within the third virtual window. If the average acceleration value within the second preset time period is less than half of the maximum value, then it is determined that the user has landed; otherwise, it is determined that the user has not landed.

[0101] If the maximum value of the acceleration data in the third virtual window is not greater than the second preset threshold, then continue to identify the next third virtual window.

[0102] Specifically, the aforementioned third virtual window is a sliding time window. During the recognition process, after recognizing the user landing in the current window, the recognition continues to the next window. In the process of determining the maximum value and threshold, one approach is to directly obtain the acceleration in the vertical direction at each moment, then identify the maximum value and compare it with a first preset threshold. Alternatively, one approach is to subtract the gravitational acceleration from the acceleration in the vertical direction at each moment, then determine the maximum acceleration amplitude and compare it with a threshold. In this case, the threshold used for judgment is the difference between the first preset threshold and the gravitational acceleration.

[0103] As an example and not a limitation, the fifth preset duration mentioned above can be 2 seconds. The second preset time period mentioned above can be the time period between 0.5 seconds before the moment corresponding to the maximum acceleration data and 0.5 seconds after the moment corresponding to the maximum value. That is, by comparing the peak value with the acceleration data 0.5 seconds before and after it, this embodiment can confirm that the acceleration occurs instantaneously, which is consistent with the characteristic of a large instantaneous vertical upward acceleration amplitude at the moment of landing.

[0104] This embodiment can reduce the probability of false user landing and improve the accuracy of user landing detection.

[0105] In some alternative embodiments, such as Figure 7 As shown above, in the above Figure 1 Based on the corresponding embodiment, step S140 is formed on the basis of step S110: acquiring the user's acceleration data and angular velocity data.

[0106] Based on step S120, step S150 is formed: Based on the above acceleration data and angular velocity data, determine whether the user is in a state of airborne motion.

[0107] The aforementioned angular velocity data is based on the motion angular velocity of the device (such as a wearable device) during cycling, measured by an angular velocity sensor (such as a gyroscope). The angular velocity data includes angular velocity data along three axes: X-axis, Y-axis, and Z-axis. The sampling frequency of the angular velocity sensor can be any one of 10Hz, 20Hz, 25Hz, 50Hz, 80Hz, 100Hz, 200Hz, 500Hz, and 1000Hz, or a range between any two of these values. For example, in this embodiment, the sampling frequency of the angular velocity sensor is 25Hz. In a preferred embodiment, the accelerometer and the angular velocity sensor have the same sampling frequency.

[0108] In step S150 above, the first feature information corresponding to the acceleration data and the second feature information corresponding to the angular velocity data are extracted. These first and second feature information are then used as input parameters to a pre-trained analysis model (such as a machine learning model) to output the airborne state recognition result. A description of the first feature information can be found above and will not be repeated here. The second feature information may include one-dimensional and two-dimensional features. One-dimensional features include the X-axis angular velocity value and its first difference in the device coordinate system, the Y-axis angular velocity value and its first difference in the device coordinate system, and the Z-axis angular velocity value and its first difference in the device coordinate system. Two-dimensional features include one or more of the following one-dimensional features: mean, median, percentile, variance, standard deviation, peak value, trough value, peak-to-trough difference, peak location, and trough location.

[0109] In one embodiment, based on the above embodiments, first attitude information can be calculated from angular velocity data, and second attitude information can be calculated from acceleration data. Since gyroscopes are susceptible to drift and other factors when measuring angles, resulting in inaccurate measurements, the attitude information calculated by a gyroscope over a short time is more accurate, while the attitude information calculated by an accelerometer over a long time is more accurate. Therefore, this embodiment uses the second attitude information to smoothly calibrate the first attitude information to obtain the target attitude information. Based on the target attitude information, a transformation matrix is ​​determined, and the acceleration data in the device coordinate system is converted to acceleration data in the northeast-northeast coordinate system. This makes the converted acceleration data more accurate, thus enabling more accurate identification of the airborne state.

[0110] It should be understood that the sequence number of each step in the above embodiments does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.

[0111] It should be noted that the various method embodiments disclosed in this application can be freely combined, and the technical solutions obtained after free combination are also within the protection scope of this application.

[0112] Another embodiment of this application discloses a method for identifying a user's vacant status. This method is applied to an electronic system, which includes a second electronic device and a remote device communicatively connected to the second electronic device. Figure 8 As shown, in this embodiment, the method includes the following steps:

[0113] S210: Acquire the user's acceleration data collected by the second electronic device.

[0114] S220, based on the aforementioned acceleration data, controls the aforementioned remote device to determine whether the user is in an airborne state.

[0115] In this embodiment, after the second electronic device collects the acceleration data, it sends the acceleration data to a remote device, which then determines whether the user is in a state of levitation. For details regarding the acceleration data collection process and the specific process for determining the user's levitation state, please refer to the description of the above embodiments of this application; further details will not be repeated here.

[0116] In one possible implementation, the second electronic device is a wearable device, such as a watch or bracelet. The remote device can be a mobile phone, tablet, server, or server cluster.

[0117] Another embodiment of this application discloses a different method for identifying a user's vacant state. For example... Figure 9 As shown, this embodiment is based on the above. Figure 8 Based on the corresponding embodiment, step S220 includes:

[0118] S2201, Control the remote device to perform coordinate system transformation on the acceleration data to obtain the processed acceleration.

[0119] S2202, Based on the acceleration processed above, determine whether the user is in a state of being airborne.

[0120] The specific implementation process of this embodiment can be referred to the description of the above embodiments of this application, and will not be repeated here.

[0121] Another embodiment of this application discloses another method for identifying a user's vacant state. For example... Figure 10 As shown, this embodiment is based on the above. Figure 8 Based on the corresponding embodiment, between step S210 and step S220, the following step is further included:

[0122] S230, control the aforementioned remote device to determine whether the aforementioned user should jump based on the aforementioned acceleration data.

[0123] Step S220 includes:

[0124] S2203, if the above-mentioned user jumps, determine whether the above-mentioned user has landed based on the above-mentioned acceleration data.

[0125] S2204, upon detecting that the aforementioned user has landed, the remote device is controlled to determine that the aforementioned user is in an airborne state between the first moment and the second moment.

[0126] The first moment mentioned above refers to the moment when the user was detected to jump, and the second moment mentioned above refers to the moment when the user was detected to land.

[0127] The detection process for user take-off and user landing can be referred to the description of the above embodiments of this application, and will not be repeated here.

[0128] In some alternative embodiments, in the above Figure 10 Based on the corresponding embodiment, step S2204 is replaced by step S2205:

[0129] If, within a preset first time period after the user takes off, the user lands, the remote device is controlled to determine that the user is in the air between the first and second moments.

[0130] In some alternative embodiments, such as Figure 11 As shown above, in the above Figure 10 Based on the corresponding embodiment, step S230 includes:

[0131] S2301, Based on the above acceleration data, determine whether the amplitude of the above acceleration data is greater than a preset first acceleration threshold.

[0132] S2302, if the amplitude of the above-mentioned acceleration data is detected to be greater than the preset first acceleration threshold, the remote device is controlled to determine that the user takes a jump.

[0133] Optionally, the moment when the amplitude of the acceleration data exceeds the first acceleration threshold is defined as the first moment.

[0134] It should be noted that the executing entity of step S2301 in this embodiment can be the aforementioned remote device or other devices, and this application does not impose any restrictions on this. When the executing entity of step S2301 is another device, it sends the determination result to the aforementioned remote device. The specific implementation process of this embodiment can be referred to the description of the above embodiments of this application, and will not be repeated here.

[0135] In some alternative embodiments, in the above Figure 10 Based on the corresponding embodiment, step S2203 includes:

[0136] If a user jumps, the system determines whether the amplitude of the acceleration data is greater than a preset second acceleration threshold based on the aforementioned acceleration data.

[0137] If the magnitude of the aforementioned acceleration data is greater than the aforementioned second acceleration threshold, it is determined that the user has landed. Otherwise, it is determined that the user has not landed.

[0138] The specific implementation process of this embodiment can be referred to the description of the above embodiments of this application, and will not be repeated here. It should be noted that the executing entity of the above steps in this embodiment can be the aforementioned remote device or other devices, and this application does not limit it in this regard.

[0139] Optionally, the moment when the amplitude of the above acceleration data exceeds the above second acceleration threshold is determined as the above second moment.

[0140] In some alternative embodiments, in the above Figure 10 Based on the corresponding embodiment, step S2203 includes:

[0141] Upon detecting a user's jump, the remote device is controlled to determine whether the user has taken off, based on the aforementioned acceleration data.

[0142] If a user is detected to be airborne, determine whether the user has landed based on the aforementioned acceleration data.

[0143] The specific implementation process of this embodiment can be referred to the description of the above embodiments of this application, and will not be repeated here. It should be noted that the executing entity of the second step in this embodiment can be the aforementioned remote device or other devices, and this application does not limit it in this regard.

[0144] In some alternative embodiments, based on the above embodiments, step S2203 includes:

[0145] If a user jumps, check whether the acceleration data is within a preset acceleration data range.

[0146] If the above acceleration data is detected to be within the above acceleration data range, it is determined that the user has vacated the premises.

[0147] Optionally, if the user is detected to have vacated the ground within a preset second time period after the user jumps, the user is determined to have vacated the ground.

[0148] The specific implementation process of this embodiment can be referred to the description of the above embodiments of this application, and will not be repeated here. It should be noted that the executing entity of the above steps in this embodiment can be the aforementioned remote device or other devices, and this application does not limit it in this regard.

[0149] Corresponding to the above text Figure 1 Corresponding to the user vacant state identification method in the embodiments, this application also provides a first electronic device. For example... Figure 12As shown, the first electronic device 50 includes: at least one processor 501, a storage medium 502, and a computer program 503 stored in the storage medium 502 and executable on the at least one processor 501. When the processor 501 executes the computer program, it implements the steps in any of the above-described method embodiments. The first electronic device can be a wearable device, such as a watch or bracelet. The wearable device can be located at any or multiple joints of the body.

[0150] Specifically, when executing a computer program, processor 501 needs to perform the following steps:

[0151] Obtain the user's acceleration data.

[0152] Based on the acceleration data above, determine whether the user is in a state of airborne motion.

[0153] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0154] Based on the acceleration data above, determine whether the user should jump.

[0155] If a user jumps, the system determines whether the user has landed based on the aforementioned acceleration data.

[0156] If a user is detected to have landed, it is determined that the user was in the air between the first and second moments.

[0157] The first moment mentioned above refers to the moment when the user's jump is detected, and the second moment mentioned above refers to the moment when the user's landing is detected.

[0158] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0159] If the user lands within a preset first time period after the user takes off, it is determined that the user is in the air between the first and second moments.

[0160] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0161] Based on the above acceleration data, determine whether the amplitude of the above acceleration data is greater than the preset first acceleration threshold.

[0162] If the magnitude of the aforementioned acceleration data is detected to be greater than a preset first acceleration threshold, the user is determined to jump.

[0163] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0164] The moment when the amplitude of the above acceleration data exceeds the above first acceleration threshold is defined as the above first moment.

[0165] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0166] If a user jumps, the system determines whether the amplitude of the acceleration data is greater than a preset second acceleration threshold based on the aforementioned acceleration data.

[0167] If the magnitude of the aforementioned acceleration data is detected to be greater than the aforementioned second acceleration threshold, it is determined that the user has landed.

[0168] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0169] The moment when the amplitude of the above acceleration data exceeds the above second acceleration threshold is defined as the above second moment.

[0170] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0171] If a user is detected to jump, determine whether the user is airborne based on the aforementioned acceleration data.

[0172] If the user is detected to be airborne, determine whether the user has landed based on the aforementioned acceleration data.

[0173] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0174] If a user jumps, check whether the acceleration data is within a preset acceleration data range.

[0175] If the above acceleration data is detected to be within the above acceleration data range, it is determined that the user has vacated the area.

[0176] In some alternative embodiments, the processor 501 also needs to perform the following steps:

[0177] If the user is detected to be airborne within a preset second time period after the user jumps, it is determined that the user is in an airborne state.

[0178] In some embodiments, in the above Figure 12 Based on the corresponding embodiments, another first electronic device is disclosed. For example... Figure 13As shown, in this embodiment, the first electronic device also includes a display 504. The display 504 is connected to the processor 501. The display 504 is used to display information related to the user's airborne status, such as the number of airborne attempts, airborne time, etc., and can also mark the user's airborne positions on the user's movement trajectory with dots of different colors or shapes.

[0179] Corresponding to the above text Figure 8 In addition to the user vacant status identification method in the corresponding embodiment, this application also provides an electronic system, such as... Figure 14 As shown, the electronic system 60 includes a second electronic device 601 and a remote device 602 communicatively connected to the second electronic device 601. The second electronic device 601 is used to collect the user's acceleration data. The remote device 602 includes a processor and a storage medium for storing a computer program. When the processor executes the computer program, it implements the steps in any of the above-described method embodiments.

[0180] Specifically, the processor needs to perform the following steps when executing a computer program:

[0181] Acquire the user's acceleration data collected by the second electronic device;

[0182] Based on the acceleration data, the remote device is controlled to determine whether the user is in a state of levitation.

[0183] In some alternative embodiments, the processor also needs to perform the following steps:

[0184] The remote device is controlled to determine whether the user should jump based on the acceleration data.

[0185] If the user is detected to have jumped, determine whether the user has landed based on the acceleration data;

[0186] Upon detecting that the user has landed, the remote device is controlled to determine that the user is in an airborne state between the first moment and the second moment.

[0187] The first moment is the moment when the user is detected to jump, and the second moment is the moment when the user is detected to land.

[0188] In some alternative embodiments, the processor also needs to perform the following steps:

[0189] If, within a preset first time period after the user takes off, the user lands, the remote device is controlled to determine that the user is in the air between the first and second moments.

[0190] In some alternative embodiments, the processor also needs to perform the following steps:

[0191] Based on the acceleration data, determine whether the amplitude of the acceleration data is greater than a preset first acceleration threshold;

[0192] If the magnitude of the acceleration data is detected to be greater than a preset first acceleration threshold, the remote device is controlled to determine that the user should jump.

[0193] In some alternative embodiments, the processor also needs to perform the following steps:

[0194] The moment when the amplitude of the acceleration data exceeds the first acceleration threshold is defined as the first moment.

[0195] In some alternative embodiments, the processor also needs to perform the following steps:

[0196] If the user jumps, the system determines whether the magnitude of the acceleration data is greater than a preset second acceleration threshold based on the acceleration data.

[0197] If the magnitude of the acceleration data is detected to be greater than the second acceleration threshold, it is determined that the user has landed.

[0198] In some alternative embodiments, the processor also needs to perform the following steps:

[0199] The moment when the magnitude of the acceleration data exceeds the second acceleration threshold is defined as the second moment.

[0200] In some alternative embodiments, the processor also needs to perform the following steps:

[0201] If the user jumps, the remote device is controlled to determine whether the user is airborne based on the acceleration data.

[0202] If the user is detected to be airborne, determine whether the user has landed based on the acceleration data.

[0203] In some alternative embodiments, the processor also needs to perform the following steps:

[0204] If the user jumps, check whether the acceleration data is within a preset acceleration data range;

[0205] If the acceleration data is detected to be within the acceleration data range, it is determined that the user has been vacated.

[0206] In some alternative embodiments, the processor also needs to perform the following steps:

[0207] If, within a preset second time period after the user takes off, the user is detected to be airborne, the remote device is controlled to determine that the user has airborne.

[0208] In some embodiments, in the above Figure 14 Based on the corresponding embodiments, another electronic system is disclosed. For example... Figure 15 As shown, in this embodiment, the electronic system also includes a display device. The display device is used to display information related to the user's airborne status, such as the number of airborne attempts, airborne time, etc., and can also mark the user's airborne positions on the user's movement trajectory using dots of different colors or shapes. This display device is disposed in at least one of the second electronic device 601 and the remote device 602; that is, it can be provided in both the second electronic device 601 and the remote device 602, or it can be provided in only one of the second electronic device 601 and the remote device 602. Figure 15 The second electronic device 601 of the electronic system shown in the figure is provided with a first display device 603, and the remote device 602 is provided with a second display device 604, but this application is not limited thereto.

[0209] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, implements the steps described in the various method embodiments above.

[0210] This application provides a computer program product that, when run on a mobile terminal, enables the mobile terminal to implement the steps described in the above-described method embodiments.

[0211] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, all or part of the processes in the methods of the above embodiments of this application can be implemented by a computer program instructing related hardware. The computer program can be stored in a computer-readable storage medium, and when executed by a processor, it can implement the steps of the various method embodiments described above. The computer program includes computer program code, which can be in the form of source code, object code, executable files, or certain intermediate forms. The computer-readable medium can include at least: any entity or device capable of carrying computer program code to a photographic device / electronic device, a recording medium, a computer memory, a read-only memory (ROM), a random access memory (RAM), an electrical carrier signal, a telecommunication signal, and a software distribution medium. Examples include USB flash drives, portable hard drives, magnetic disks, or optical disks. In some jurisdictions, according to legislation and patent practice, computer-readable media cannot be electrical carrier signals or telecommunication signals.

[0212] In the above embodiments, the descriptions of each embodiment have different focuses. For parts that are not described in detail or recorded in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0213] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.

[0214] In the embodiments provided in this application, it should be understood that the disclosed apparatus / network devices and methods can be implemented in other ways. For example, the apparatus / network device embodiments described above are merely illustrative. For instance, the division of modules or units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between devices or units may be electrical, mechanical, or other forms.

[0215] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0216] The above-described embodiments are only used to illustrate the technical solutions of this application, and are not intended to limit them. Although this application has been described in detail with reference to the foregoing embodiments, those skilled in the art should understand that modifications can still be made to the technical solutions described in the foregoing embodiments, or equivalent substitutions can be made to some of the technical features. Such modifications or substitutions do not cause the essence of the corresponding technical solutions to deviate from the spirit and scope of the technical solutions of the embodiments of this application, and should all be included within the protection scope of this application.

Claims

1. A method for identifying a user's vacant status, characterized in that, The method includes: Obtain the user's acceleration data; Based on the acceleration data, determine whether the user is in a state of airborne motion.

2. The method for identifying a user's vacant status as described in claim 1, characterized in that, The method further includes: Based on the acceleration data, determine whether the user should jump; Determining whether the user is in a state of airborne status based on the acceleration data includes: If the user is detected to have jumped, determine whether the user has landed based on the acceleration data; If the user is detected to have landed, it is determined that the user was in a state of being airborne between the first moment and the second moment. The first moment is the moment when the user is detected to jump, and the second moment is the moment when the user is detected to land.

3. The method for identifying a user's vacant status as described in claim 2, characterized in that, The step of determining that the user was in an airborne state between the first and second moments after detecting that the user has landed includes: If, within a preset first time period after the user takes off, the user lands, it is determined that the user is in the air between the first moment and the second moment.

4. The method for identifying a user's vacant status as described in claim 2, characterized in that, The method further includes: Based on the acceleration data, determine whether the amplitude of the acceleration data is greater than a preset first acceleration threshold; The step of determining whether the user should jump based on the acceleration data includes: If the magnitude of the acceleration data is detected to be greater than a preset first acceleration threshold, the user is determined to jump.

5. The method for identifying a user's vacant status as described in claim 4, characterized in that, The method further includes: The moment when the amplitude of the acceleration data exceeds the first acceleration threshold is defined as the first moment.

6. The method for identifying a user's vacant status as described in claim 2, characterized in that, The method further includes: If the user jumps, the system determines whether the magnitude of the acceleration data is greater than a preset second acceleration threshold based on the acceleration data. The step of determining whether the user has landed based on the acceleration data includes: If the magnitude of the acceleration data is detected to be greater than the second acceleration threshold, it is determined that the user has landed.

7. The method for identifying a user's vacant status as described in claim 6, characterized in that, The method further includes: The moment when the magnitude of the acceleration data exceeds the second acceleration threshold is defined as the second moment.

8. The method for identifying a user's vacant status as described in claim 2, characterized in that, The method further includes: If the user is detected to have jumped, determine whether the user is airborne based on the acceleration data; The step of determining whether the user has landed based on the acceleration data includes: If the user is detected to be airborne, determine whether the user has landed based on the acceleration data.

9. The method for identifying a user's vacant status as described in claim 8, characterized in that, The step of determining whether the user is airborne based on the acceleration data when the user jumps is detected includes: If the user jumps, check whether the acceleration data is within a preset acceleration data range; If the acceleration data is detected to be within the acceleration data range, it is determined that the user has been vacated.

10. The method for identifying a user's vacant status as described in claim 8, characterized in that, Determining that the user has vacated the space includes: If, within a preset second time period after the user takes off, the user is detected to be airborne, it is determined that the user has been airborne.

11. An electronic device, characterized in that, The electronic device includes a processor and a storage medium; The storage medium is used to store computer programs; The processor is configured to execute the computer program to implement the method as described in any one of claims 1-10.

12. A method for identifying a user's vacant status, applied to an electronic system, the system comprising an electronic device and a remote device communicatively connected to the electronic device, characterized in that... The method includes: Acquire the user's acceleration data collected by the electronic device; Based on the acceleration data, the remote device is controlled to determine whether the user is in a state of levitation.

13. The method for identifying a user's vacant status as described in claim 12, characterized in that, The method further includes: The remote device is controlled to determine whether the user should jump based on the acceleration data. The step of controlling the remote device to determine whether the user is in a state of levitation based on the acceleration data includes: If the user is detected to have jumped, determine whether the user has landed based on the acceleration data; Upon detecting that the user has landed, the remote device is controlled to determine that the user is in an airborne state between the first moment and the second moment. The first moment is the moment when the user is detected to jump, and the second moment is the moment when the user is detected to land.

14. The method for identifying a user's vacant status as described in claim 13, characterized in that, The step of controlling the remote device to determine that the user is in an airborne state between a first moment and a second moment after detecting that the user has landed includes: If, within a preset first time period after the user takes off, the user lands, the remote device is controlled to determine that the user is in the air between the first and second moments.

15. The method for identifying a user's vacant status as described in claim 13, characterized in that, The method further includes: Based on the acceleration data, determine whether the amplitude of the acceleration data is greater than a preset first acceleration threshold; The process of controlling the remote device to determine whether the user should jump based on the acceleration data includes: If the magnitude of the acceleration data is detected to be greater than a preset first acceleration threshold, the remote device is controlled to determine that the user should jump.

16. The method for identifying a user's vacant status as described in claim 15, characterized in that, The method further includes: The moment when the amplitude of the acceleration data exceeds the first acceleration threshold is defined as the first moment.

17. The method for identifying a user's vacant status as described in claim 13, characterized in that, The method further includes: If the user jumps, the system determines whether the magnitude of the acceleration data is greater than a preset second acceleration threshold based on the acceleration data. The step of determining whether the user has landed based on the acceleration data includes: If the magnitude of the acceleration data is detected to be greater than the second acceleration threshold, it is determined that the user has landed.

18. The method for identifying a user's vacant status as described in claim 17, characterized in that, The method further includes: The moment when the magnitude of the acceleration data exceeds the second acceleration threshold is defined as the second moment.

19. The method for identifying a user's vacant status as described in claim 13, characterized in that, The step of controlling the remote device to determine whether the user is in a state of levitation based on the acceleration data includes: If the user jumps, the remote device is controlled to determine whether the user is airborne based on the acceleration data. The step of determining whether the user has landed based on the acceleration data includes: If the user is detected to be airborne, determine whether the user has landed based on the acceleration data.

20. The method for identifying a user's vacant status as described in claim 19, characterized in that, The step of controlling the remote device to determine whether the user has taken off based on the acceleration data when the user jumps includes: If the user jumps, check whether the acceleration data is within a preset acceleration data range; If the acceleration data is detected to be within the acceleration data range, it is determined that the user has been vacated.

21. The method for identifying a user's vacant status as described in claim 19, characterized in that, Determining that the user has vacated the space includes: If, within a preset second time period after the user takes off, the user is detected to be airborne, the remote device is controlled to determine that the user has airborne.

22. An electronic system comprising an electronic device and a remote device communicatively connected to the electronic device; The electronic device is used to collect the user's acceleration data; The remote device includes a processor and a storage medium, the storage medium being used to store computer programs; The processor is configured to execute the computer program to implement the method as described in any one of claims 12-21.

23. A storage medium, characterized in that, The storage medium is used to store a computer program, which, when executed, implements the method as described in any one of claims 1-10 and 12-21.