Step length calibration method and device, electronic equipment and medium
By constructing and updating the matrix to satisfy the proximity principle of the position set, the problem of inaccurate step size calibration in non-uniform motion scenarios is solved, and the accuracy and robustness of step size calibration are improved.
Patent Information
- Application Number
- CN202511048608.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-07-29
- Publication Date
- 2025-11-14
AI Technical Summary
In non-uniform motion scenarios, existing technologies cannot accurately estimate the true step length of each individual, resulting in inaccurate step length calibration.
By constructing a first matrix and a second matrix, a set of positions that satisfy the proximity principle is determined, and the second matrix is updated to generate a third matrix, which is used to calibrate the step size in non-uniform motion scenarios.
It improves the accuracy of step size calibration, can adapt to motion differences and non-uniform motion scenarios, and enhances the robustness and accuracy of calibration.
Smart Images

Figure CN120938413A_ABST
Abstract
Description
Technical Field
[0001] This application belongs to the field of computer technology, and specifically relates to a step size calibration method, device, electronic device and medium. Background Technology
[0002] With the popularization of smart wearable devices, users are increasingly relying on electronic devices such as wristbands and mobile phones to record their exercise data, especially exercise distance.
[0003] In related technologies, step length is mainly calculated using functional relationships, and then the step length vector and the step count vector over a certain period of time are multiplied to obtain the movement distance. However, due to individual differences, each person's movement habits, step length, step frequency, and energy consumption patterns are different. In non-uniform motion scenarios, it is impossible to use a single algorithm to estimate the step length of everyone very accurately. Summary of the Invention
[0004] The purpose of this application is to provide a step length calibration method, device, electronic device, and medium that can solve the problem of not being able to accurately estimate the true step length of each individual in non-uniform motion scenarios.
[0005] In a first aspect, embodiments of this application provide a step size calibration method, the method comprising:
[0006] Obtain a first matrix and a second matrix, each comprising N×M elements, where N and M are positive integers; wherein, the first matrix is constructed based on the user's motion feature information within a first time period, and each element in the second matrix corresponds to a step size calibration coefficient under a motion strategy;
[0007] Determine a first set of positions in the first matrix, the first set of positions including the first P elements of the first matrix after sorting the values from largest to smallest in at least one region of the first matrix, where P is a positive integer;
[0008] Determine a second set of locations that satisfies the proximity principle with the first set of locations;
[0009] The first set of elements in the second matrix is updated to obtain the third matrix; wherein the first set of elements includes multiple elements corresponding to the first set of positions and the second set of positions;
[0010] Based on the third matrix, the step size under each motion strategy during the second time period is calibrated.
[0011] Secondly, embodiments of this application provide a step size calibration device, the device comprising:
[0012] The first acquisition module is used to acquire a first matrix and a second matrix, wherein the first matrix and the second matrix each include N×M elements, where N and M are positive integers; wherein, the first matrix is constructed based on the user's motion feature information in a first time period, and each element in the second matrix corresponds to a step size calibration coefficient under a motion strategy;
[0013] The first determining module is used to determine a first position set in the first matrix, the first position set including the first P elements in at least one region of the first matrix after sorting the values from largest to smallest, where P is a positive integer;
[0014] The second determining module is used to determine a second set of locations that satisfies the proximity principle with the first set of locations;
[0015] A first processing module is used to update the first set of elements in the second matrix to obtain a third matrix; wherein the first set of elements includes multiple elements corresponding to the first set of positions and the second set of positions;
[0016] The second processing module is used to calibrate the step size for each motion strategy within the second time period based on the third matrix.
[0017] Thirdly, embodiments of this application provide an electronic device including a processor and a memory, wherein the memory stores programs or instructions executable on the processor, and the programs or instructions, when executed by the processor, implement the steps of the method described in the first aspect.
[0018] Fourthly, embodiments of this application provide a readable storage medium on which a program or instructions are stored, which, when executed by a processor, implement the steps of the method described in the first aspect.
[0019] Fifthly, embodiments of this application provide a chip, the chip including a processor and a communication interface, the communication interface being coupled to the processor, the processor being used to run programs or instructions to implement the method as described in the first aspect.
[0020] In a sixth aspect, embodiments of this application provide a computer program product stored in a storage medium, which is executed by at least one processor to implement the method described in the first aspect.
[0021] In this embodiment, a first matrix and a second matrix are obtained, each comprising N×M elements. The first matrix is constructed based on the user's motion characteristic information within a first time period. Each element in the second matrix corresponds to a step length calibration coefficient under a motion strategy, where N and M are positive integers. A first position set is determined within the first matrix, comprising the first P elements in at least one region of the first matrix, sorted from largest to smallest, where P is a positive integer. A second position set is determined that satisfies the proximity principle with the first position set. The first element set in the second matrix is updated to obtain a third matrix, wherein the first element set includes multiple elements corresponding to the first and second position sets. Based on the third matrix, the step length under each motion strategy within the second time period is calibrated. The third matrix obtained through this embodiment can better adapt to scenarios with some motion differences or non-uniform motion calibration before and after calibration, improving the accuracy of step length calibration. Attached Figure Description
[0022] Figure 1 This is a flowchart of a step size calibration method in some embodiments of this application;
[0023] Figure 2 These are schematic diagrams of the interface of an electronic device in some embodiments of this application;
[0024] Figure 3 This is a schematic diagram of the step size calibration device in some embodiments of this application;
[0025] Figure 4 This is one of the structural schematic diagrams of the electronic device in some embodiments of this application;
[0026] Figure 5 This is the second of several schematic diagrams of the electronic device in some embodiments of this application. Detailed Implementation
[0027] The technical solutions of the embodiments of this application will be clearly described below with reference to the accompanying drawings. Obviously, the described embodiments are only some, not all, of the embodiments of this application. All other embodiments obtained by those skilled in the art based on the embodiments of this application are within the scope of protection of this application.
[0028] The terms "first," "second," etc., used in the specification and claims of this application are used to distinguish similar objects and not to describe a specific order or sequence. It should be understood that such use of data can be interchanged where appropriate so that embodiments of this application can be implemented in orders other than those illustrated or described herein, and the objects distinguished by "first," "second," etc., are generally of the same class and the number of objects is not limited; for example, a first object can be one or more. Furthermore, in the specification and claims, "and / or" indicates at least one of the connected objects, and the character " / " generally indicates that the preceding and following objects are in an "or" relationship.
[0029] The step size calibration method provided in this application will be described in detail below with reference to the accompanying drawings, through specific embodiments and application scenarios.
[0030] See Figure 1 This application provides a step size calibration method, executed by an electronic device. Optionally, the electronic device includes, but is not limited to, wearable devices such as wristbands and watches, and terminal devices such as mobile phones and tablets. Specifically, the step size calibration method includes:
[0031] Step 101: Obtain the first matrix and the second matrix. The first matrix and the second matrix each include N×M elements, where N and M are positive integers. The first matrix is constructed based on the user's motion feature information in the first time period, and each element in the second matrix corresponds to a step size calibration coefficient under a motion strategy.
[0032] In this matrix, each element represents the number of times a motion strategy is applied within the first time period, and the motion feature information obtained at each detection time corresponds to the application of a motion strategy.
[0033] Optionally, the motion feature information includes at least motion energy level and cadence level. One motion energy level corresponds to one motion energy range, and one cadence level corresponds to one cadence range. The user's motion energy and cadence at each detection time will correspond to a motion energy level and a cadence level, and each motion energy level and each cadence level together determine a motion strategy. The user's motion strategy may be the same or different at different detection times.
[0034] It should be noted that in scenarios where a user wears or carries the electronic device for the first time during exercise, all elements in the second matrix are 1, indicating an uncalibrated state. In scenarios where a user wears or carries the electronic device for exercise multiple times, the second matrix is the step size calibration coefficient matrix obtained after the previous exercise distance calibration. If the user selected exercise distance calibration after the previous exercise, the second matrix is the corrected step size calibration coefficient matrix obtained after the previous exercise.
[0035] Step 102: Determine the first position set in the first matrix. The first position set includes the first P elements of the first matrix after sorting the values from largest to smallest in at least one region of the first matrix, where P is a positive integer.
[0036] In the first position set, each element position corresponds to an element entry in the i-th row and j-th column, where i is a positive integer from 1 to N, and j is a positive integer from 1 to M.
[0037] Optionally, if the user only performed one type of exercise (such as running or walking) during the first time period, the first position set includes the first P elements in a region of the first matrix, sorted from largest to smallest. If the user performed a combination of two types of exercise (such as a combination of walking and running) during the first time period, the first position set includes: the position of the first element containing a maximum value in the first region of the first matrix, and the position of the second element containing a maximum value in the second region of the first matrix. The element values in the first region are generated by the exercise of the first type of exercise (such as running), and the element values in the second region are generated by the exercise of the second type of exercise (such as walking).
[0038] It should be noted that the above maximum value is only an example. In actual implementation, the position values of the first P elements after sorting the values in the first region from largest to smallest can also be included in the second position set. Similarly, the positions of the first P elements after sorting the values in the second region from largest to smallest can also be included in the second position set.
[0039] Step 103: Determine the second set of positions that satisfies the proximity principle with the first set of positions.
[0040] In this step, the positions of elements in the second position set and any element position in the first position set satisfy the proximity principle, that is, two element positions that satisfy the proximity principle belong to the same row or the same column.
[0041] In the case where the first matrix includes N motion energy levels and M cadence levels, two element positions that satisfy the proximity principle have the same motion energy level or the same cadence level.
[0042] Step 104: Update the first element set in the second matrix to obtain the third matrix; wherein the first element set includes multiple elements corresponding to the first position set and the second position set.
[0043] Understandably, since the first and second matrices have the same number of rows and columns, the N rows in both matrices correspond to N motion energy levels, and the M columns correspond to M step frequency levels. The i-th row and j-th column in the first matrix corresponds to the i-th row and j-th column in the second matrix. That is, the step size calibration coefficient in the i-th row and j-th column of the second matrix is used to calibrate the step size generated by the motion feature information falling within the i-th row and j-th column of the first matrix.
[0044] For example, if the first position set includes the following three element positions: row 1, column 3; row 2, column 3; and row 3, column 3, and the second position set includes the following three element positions: row 2, column 2; row 2, column 4; and row 4, column 3, then the following elements in the second matrix are updated: row 1, column 3; row 2, column 3; row 3, column 3; row 2, column 2; row 4; and row 4, column 3.
[0045] Step 105: Based on the third matrix, calibrate the step size for each motion strategy in the second time period.
[0046] The second time period is located after the first time period.
[0047] In this step, after the user finishes exercising in the first time period, they exercise again in the second time period, and the type of exercise is the same in both time periods, such as running, walking, or a combination of running and walking in both time periods. In this exercise scenario, the step length under each exercise strategy in the second time period can be calibrated based on the third matrix, so that the exercise distance in the second time period can be estimated based on the calibrated step length.
[0048] The step length calculation method for each exercise strategy includes: estimating the step length using different functions and parameters based on the exercise energy and cadence under that strategy, combined with information such as the user's height. For example, using a polynomial approximation method based on exercise data from a large population, a function that is closest to the actual step length (i.e., with the smallest least squares error) is fitted to obtain the estimated step length value. The estimated step length value is then multiplied by the step length calibration coefficient of that exercise strategy in the third matrix to obtain the calibrated step length value.
[0049] In practice, when the electronic device is powered off, the corrected step size coefficient calibration matrix (referring to the third matrix) is saved. When the electronic device is powered on, the corrected step size coefficient calibration matrix (i.e., the third matrix) is loaded to perform step size calibration based on the third matrix. For example, after the user wears the watch and finishes exercising for the first time period, when the watch is about to be powered off or restarted, the value of the third matrix is saved in the watch's file system. After restarting, the algorithm's global variable, the step size coefficient matrix, first undergoes a regular initialization operation, setting each element to 1. Then, the value of the third matrix saved in the watch's file system is reloaded to enable the watch to automatically recalibrate. After the second time period of exercise ends, the step size is calibrated using the step size correction coefficient in the third matrix, and the exercise distance during the second time period is obtained based on the calibrated step size. Furthermore, after the second time period of exercise ends, if the user selects exercise distance calibration, the third matrix can be updated based on the motion feature information generated during the exercise process in the second time period to obtain a fourth matrix. The fourth matrix is used for estimating future exercise distances. This achieves continuous updating and calibration of the step size correction coefficient.
[0050] In the above embodiments, when updating the step size calibration coefficients in the second matrix, a second position set that satisfies the proximity principle with the first position set is obtained, and the element values in the first element set corresponding to the first position set and the second position set in the second matrix are updated to obtain a third matrix. This allows the third matrix to better adapt to scenarios where there are some motion differences or non-uniform motion calibration before and after calibration, thereby improving the accuracy of step size calibration.
[0051] To make it easier to understand, examples will be used to illustrate the point below.
[0052] For example, the normal human cadence is 0.4 to 4 steps per second. If cadence is divided into four cadence levels, each ranging from 0.9, then the cadence levels can be divided into: [0.4 to 1.3], [1.3 to 2.2], [2.2 to 3.1], [3.1 to 4.0]. If cadence is divided into 18 levels, each ranging from 0.2, then the cadence levels can be divided into: [0.4 to 0.6], [0.6 to 0.8], ..., [3.6 to 3.8], [3.8 to 4.0]. In this scenario, even with uniform motion, step frequencies at different detection times might be scattered across multiple adjacent columns during the same movement. However, some columns appear frequently, while others appear infrequently. This can lead to a situation where an element in an edge column has a step frequency that appears less frequently than the element corresponding to the interfering action. If only the frequency of occurrence is considered without considering the proximity principle, elements in edge rows and columns will not be selected as the motion feature rows and columns to be calibrated, resulting in the corresponding elements not having their calibration coefficients updated. Furthermore, in a scenario where the user performs the same movement a second time, and the user's energy step frequency changes slightly, if the energy step frequency of the second movement falls into the edge row and edge column position of the energy step frequency matrix of the first movement, it will not be calibrated by the calibration coefficient matrix, leading to poor fault tolerance and robustness of the calibration coefficient matrix. By adopting the proximity principle in this embodiment, the calibration coefficients can be updated for some element values in edge rows and edge columns. Therefore, in scenarios where the same movement is performed a second, third, ... time, even with slight changes in the user's motion energy and step frequency, the changes can still be calibrated.
[0053] In other words, when a user's movement is not at a constant speed, to more accurately describe and calibrate various movements and cadences, the number of rows and columns in the motion energy cadence matrix can be increased, for example, to 50 rows and 35 columns. However, this can cause the user's cadence or energy to be more dispersed during non-uniform motion. When sorting all the element values in the energy cadence matrix and selecting multiple rows and columns with larger element values for calibration, some actual motion energy and cadence corresponding to the element values in this matrix may actually be smaller than the values corresponding to the interfering movements. Consequently, the elements at these positions in the matrix are not calibrated specifically, resulting in an unsatisfactory calibration effect for non-uniform motion scenarios. In this embodiment, by obtaining a second set of positions that satisfy the proximity principle with the first set of positions, and updating the element values in the first element set corresponding to the first and second set of positions in the second matrix, a third matrix is obtained. This allows the third matrix to better adapt to scenarios with some motion differences before and after calibration or non-uniform motion calibration, thus improving the accuracy of step length calibration.
[0054] To more clearly describe the correspondence between energy and step frequency in a single exercise, a 50-row, 35-column energy-step-frequency matrix, the first matrix, is presented in tabular form. Tables 1, 2, and 3 below show the energy and step-frequency matrices generated by three separate exercises. It should be noted that the value of each element in Tables 1 to 3 represents the number of times the energy-step-frequency combination occurs; that is, how many times the corresponding energy level and step-frequency level of the row and column containing that element appeared (assuming 25 detections per second). A larger element value in the first matrix indicates a higher frequency of that energy-step-frequency combination in the corresponding row and column.
[0055] Table 1 below shows the normalized energy-cadence relationship of user A's first 1-kilometer run while wearing the watch.
[0056] Table 1
[0057]
[0058]
[0059] Table 2 below shows the normalized energy cadence relationship generated by user A's second 1-kilometer run while wearing a watch.
[0060] Table 2
[0061]
[0062]
[0063]
[0064] Table 3 below shows the normalized energy cadence relationship generated by user A's third 1-kilometer run while wearing a watch.
[0065] Table 3
[0066]
[0067]
[0068] exist Figure 1 In the matrix, the values in rows 24 and 25 and columns 12 and 13 are 31, 95, 17, and 23, which are comparable to or even smaller than the values of the elements corresponding to the interference actions (rows 1, 2, and 3). If the original sorting method from largest to smallest is used, the elements at these positions will not be calibrated, resulting in a large number of step features falling in rows 24 and 25 and columns 12 and 13 of the matrix during the subsequent two movements. However, because the step size calibration coefficients corresponding to these positions are not updated, the accuracy of step size calibration is low.
[0069] In the example above, after the user runs 1 kilometer for the first time, the step length calibration coefficient matrix (referring to the second matrix) is calibrated for the first time based on the distance of the first run, resulting in the third matrix. The third matrix is used to estimate the distance of the second run. Then, after the user runs 1 kilometer for the second time, the step length calibration coefficient matrix (referring to the third matrix) is calibrated for the second time based on the distance of the second run, resulting in the fourth matrix. The fourth matrix is used to estimate the distance of the third run. After that, after the user runs 1 kilometer for the third time, the step length calibration coefficient matrix (referring to the fourth matrix) is calibrated for the third time based on the distance of the third run, resulting in the fifth matrix. The fifth matrix is used to estimate the distance of the fourth run.
[0070] In some embodiments of this application, the proximity principle includes at least one of the following:
[0071] It belongs to the same column as any element in the first position set, and the element value is greater than the first threshold;
[0072] The positions of the first Q elements that belong to the same column as any element in the first position set and whose values are sorted from largest to smallest, where Q is a positive integer;
[0073] The element position that is directly adjacent to any element position in the same row as any element position in the first position set, and whose value is greater than the second threshold.
[0074] For example, if the three highest-valued elements in Table 1 are 804 in row 20, column 13, 762 in row 19, column 13, and 700 in row 21, column 13, then the corresponding rows and columns in the second matrix (i.e., row 20, column 13, row 19, column 13, and row 21, column 13) are taken as the first position set. Furthermore, the positions of other elements with values greater than 100 in column 13 of the first matrix are taken as the second position set, including: 118 in row 15, column 13, 391 in row 16, column 13, 422 in row 17, column 13, 698 in row 18, column 13, and 382 in row 22, column 13.
[0075] For example, if the three highest values in Table 1 are 804 in row 20, column 13, 762 in row 19, column 13, and 700 in row 21, column 13, then the corresponding rows and columns in the second matrix (i.e., row 20, column 13, row 19, column 13, and row 21, column 13) are taken as the first position set; furthermore, the positions of the top three elements in column 13 of the first matrix after sorting the values from largest to smallest are taken as the second position set, including: 391 in row 16, column 13, 422 in row 17, column 13, and 698 in row 18, column 13.
[0076] For example, if the three highest-valued elements in Table 1 are 804 (row 20, column 13), 762 (row 19, column 13), and 700 (row 21, column 13), then the corresponding rows and columns in the second matrix (row 20, column 13, row 19, column 13, and row 21, column 13) are taken as the first position set; further, the second position set includes:
[0077] (1) The positions of other elements with values greater than 300 in the 13th column of the first matrix, namely: 391 in the 16th row and 13th column, 422 in the 17th row and 13th column, 698 in the 18th row and 13th column, and 382 in the 22nd row and 13th column.
[0078] (2) The positions of elements that are directly adjacent to 804 in row 20, column 13, 762 in row 19, column 13, and 700 in row 19 and column 13 and are greater than 300, including: 606 in row 19, column 14, 435 in row 20, column 14, and 428 in row 21, column 14.
[0079] In some embodiments of this application, the motion feature information obtained at each detection time includes motion energy and step frequency;
[0080] In step 101 above, obtaining the first matrix includes:
[0081] Construct an initial matrix comprising N motion energy ranges and M step frequency ranges; wherein, any combination of a motion energy range and any step frequency range in the initial matrix is used to represent a motion strategy, and the element value in the initial matrix is 0 at the beginning of the first time period;
[0082] Based on the user's motion energy and cadence at each detection time within the first time period, the element values in the initial matrix are updated to obtain the first matrix.
[0083] For example, the steps to construct the first matrix include:
[0084] Step 1: The user selects the indoor running mode on the watch to run on the treadmill, or selects the outdoor sports mode, and the watch begins to collect data from the accelerometer and gyroscope.
[0085] Step 2: Use accelerometer data to calculate the user's motion energy and cadence at each detection time.
[0086] Step 3: Construct the initial matrix.
[0087] As shown in Table 1, rows 1 to 49 correspond to 49 levels of exercise energy, with the exercise energy increasing from row 1 to row 49. Row 0 is reserved and does not store values for the time being. Columns 0 to 34 represent 35 cadence levels. Column 0 corresponds to a cadence greater than 3.4 steps per second, and the cadence levels corresponding to the right decrease sequentially.
[0088] Step 3: Update the initial matrix based on the motion energy and step frequency at each detection time to obtain the first matrix.
[0089] In this step, at each detection time, the motion energy and cadence of the current movement are calculated, and the combination of motion energy level and cadence level that the current motion energy and cadence meet in the two-dimensional initial matrix is determined. The element value of the element in the i-th row and j-th column is then incremented by 1. For each detection time, the motion energy and cadence calculated by the algorithm satisfy a certain energy and cadence level. The corresponding element value in the corresponding row and column of the initial matrix is then incremented by 1. Finally, the element value is divided by the total number to calculate the percentage, resulting in the first matrix.
[0090] In some embodiments of this application, the first time period includes a type of motion; in step 104 above, updating the first element set in the second matrix to obtain the third matrix includes:
[0091] The first and second motion distances within the first time period are obtained. The first motion distance is an estimated value obtained based on motion feature information, and the second motion distance is the actual value obtained by measurement.
[0092] The ratio of the first movement distance to the second movement distance is used as the correction ratio;
[0093] The third matrix is obtained by multiplying each element value in the first element set by the correction ratio.
[0094] For example, if the three highest values in Table 1 are 804 in row 20, column 13, 762 in row 19, column 13, and 700 in row 21, then the 20th row, column 13, 19th row, column 13, and 21st row, column 13 of the second matrix are taken as the element positions in the first position set. Furthermore, the element positions in the 13th column of the first matrix with values greater than 100 are taken as the second position set, that is, the second position set includes: 118 in row 15, column 13, 391 in row 16, column 13, 422 in row 17, column 13, 698 in row 18, column 13, and 382 in row 21, column 13. Furthermore, the step size calibration coefficients (i.e., element values in the first element set) corresponding to the first and second position sets in the second matrix are multiplied by the actual distance of 2km and then divided by the distance calculated by the algorithm of 1.6km to obtain a new correction coefficient of 1.25. Other element values in the second matrix remain unchanged, resulting in the third matrix. The new correction coefficient in the third matrix will be used for the distance estimation of the next movement. This embodiment achieves self-learning calibration of the step size calibration coefficients.
[0095] The method for estimating the first movement distance based on motion characteristic information includes: taking the inner product of the step length vector and the step count vector within the first time period to obtain the movement distance, which is the increase in the number of steps multiplied by the corresponding step length, and then summing them together to obtain the distance during the entire movement process. Optionally, the second movement distance can be the distance displayed on the treadmill or the navigation distance from GPS.
[0096] In some embodiments of this application, when the first time period includes both a first motion type and a second motion type, step 102 above, determining the first position set in the first matrix, includes:
[0097] Obtain the first maximum value in the first region and the second maximum value in the second region of the first matrix; wherein the elements in the first region correspond to the first motion type and the elements in the second region correspond to the second motion type;
[0098] The positions of the elements corresponding to the first and second maxima are defined as the first position set;
[0099] Wherein, obtaining the second set of locations that satisfies the proximity principle with the first set of locations includes:
[0100] Obtain the first subset of positions that satisfy the proximity principle to the position of the first maximum value;
[0101] Obtain the second subset of positions that satisfy the proximity principle to the location of the second maximum;
[0102] Merge the first position subset and the second position subset to obtain the second position subset.
[0103] For example, assuming that walking and running occur simultaneously during a single exercise, the first matrix can be represented as shown in Table 4 below:
[0104] Table 4
[0105]
[0106]
[0107] As shown in Table 4 above, based on the element distribution, the first region of the first matrix includes rows 2-14 and columns 1-3; the second region includes rows 2-8 and columns 6-8. The first maximum value in the first region is 2796 at row 7, column 2, and the second maximum value in the second region is 2567 at row 5, column 6. Therefore, the first position set includes rows 7, column 2 and rows 5, column 6. Further, if the proximity principle dictates that the first three elements in the first position set belong to the same column and are sorted from largest to smallest, then the second position set includes rows 8, column 2, row 6, column 2, and row 9, all within the first region, and rows 6, column 7, column 6, and row 4, column 6, all within the second region. Therefore, the positions in the second matrix that need calibration include rows 7, column 2, row 8, column 2, row 6, column 2, row 9, column 2, row 5, column 6, row 6, column 6, row 7, column 6, and row 4, column 6.
[0108] In some embodiments of this application, step 104 above, which updates the first element set in the second matrix to obtain the third matrix, includes:
[0109] Obtain the first ratio of the user's actual step length to the estimated step length in the first movement type;
[0110] Obtain the second ratio of the user's actual step length to the estimated step length in the second movement type;
[0111] The third matrix is obtained by updating the element values in the first element set based on the first ratio and the second ratio.
[0112] The update operation includes: multiplying the first ratio by the step size calibration coefficient corresponding to the first position subset, multiplying the first ratio by the step size calibration coefficient corresponding to the position of the first maximum, multiplying the second ratio by the step size calibration coefficient corresponding to the second position subset, and multiplying the second ratio by the step size calibration coefficient corresponding to the position of the second maximum.
[0113] In practice, the actual and estimated step lengths in the first and second motion types are calculated by solving the equations corresponding to the two mixed motions. Specifically, assuming that walking and running occur simultaneously in a single motion, let xe be the walking step length estimated by the algorithm, ye be the running step length estimated by the algorithm, xr be the actual walking step length, and yr be the actual running step length. A mixed motion equation system is introduced, and motion characteristics such as the corresponding energy, step frequency, and the trajectory of the change in the angle between the dial's normal vector and the horizontal plane are recorded for both walking and running.
[0114] The first mixed motion can be obtained by the following formulas (1) and (2):
[0115] xe×800 steps + ye×1000 steps = 1000 meters (1);
[0116] xr×800 steps + yr×1000 steps = 1100 meters (2);
[0117] Among them, 100 meters is the distance estimated by the algorithm, and 1100 meters is the actual distance on the treadmill or the outdoor GPS distance entered by the user.
[0118] The second mixed motion can be obtained by the following formulas (3) and (4):
[0119] Xe×600 steps + ye×950 steps = 900 meters (3);
[0120] xr×600 steps + yr×950 steps = 999 meters (4);
[0121] Among them, 900 meters is the distance estimated by the algorithm; 999 meters is the actual distance on the treadmill or the outdoor GPS distance entered by the user.
[0122] xe, xr, ye and yr can be calculated from the above formulas (1) to (4).
[0123] Based on the example shown in Table 4 above, assuming that the positions in the second matrix that need to be calibrated include: row 7, column 2; row 8, column 2; row 6, column 2; row 9, column 2; row 5, column 6; row 6, column 6; row 7, column 6; and row 4, column 6, then multiplying the elements in the second matrix located in row 7, column 2; row 8, column 2; row 6, column 2; and row 9, column 2 by xr / xe respectively, and multiplying the element values in row 5, column 6; row 6; row 6; row 7, column 6; and row 4, column 6 by yr / ye respectively, can independently distinguish and calibrate multiple movements in mixed motion, thereby achieving the same effect as calibrating a single movement in mixed motion.
[0124] It should be noted that this embodiment is for situations where a single exercise contains two distinct types of exercise. For example, if an exercise includes a 500-meter brisk walk and a 500-meter jog, and the algorithm estimates the distance as 380 meters for the brisk walk and 720 meters for the jog, then the actual distance of this exercise is 1 kilometer, while the algorithm estimates the total distance as 1100 meters. The old method would record the positions of the first few elements in the energy step frequency matrix of this exercise, sorted from largest to smallest, and then multiply the corresponding elements in the calibration coefficient matrix by 1000 and divide by 1100 (i.e., multiply by 0). (909) This leads to a situation where, in a subsequent user's movement consisting only of simple brisk walking, the distance estimated by the algorithm is already too low. It still needs to be multiplied by the calibration coefficient matrix corresponding to the calibration coefficient 0.909, resulting in even worse accuracy after calibration. This is because a single movement contains two distinct types of movement, and the distance estimated by the algorithm for these two movements is not entirely the same. Specifically, one movement is under-counted by the algorithm, requiring the calibration coefficient to be adjusted to greater than 1, while the other movement is over-counted, requiring the calibration coefficient to be adjusted to less than 1. Existing technology cannot provide better calibration for a single movement containing two distinct types of movement. This application's embodiment, by introducing a mixed motion equation system, can estimate the calibration coefficient matrices corresponding to each of the two distinct movement types within a single movement, thereby improving the step length estimation accuracy.
[0125] In some embodiments of this application, when the motion distance calibration mode is enabled, a second set of positions that satisfies the proximity principle with the first set of positions is determined; and the first set of elements of the second matrix is updated to obtain a third matrix.
[0126] In one scenario, if the first distance traveled is less than 0.10 kilometers, a pop-up window will appear asking, "The distance traveled is too short. If you end the exercise, there will be no record. Are you sure you want to end the exercise?" In another scenario, if the first distance traveled is greater than or equal to 0.10 kilometers, the user will be taken to the distance calibration interface.
[0127] See Figure 2 In the distance calibration interface, after obtaining the first motion distance from the motion report, use the first motion distance as a reference to calculate the increment per grid, that is, the increase or decrease in distance for each grid swipe up or down on the calibration interface. The formula is: increment per grid = 0.01 * ((rounded up (rounded up (x) / 3)) + 1), where x is the first motion distance; then, select the growth direction from the list, with 50 options available; for the decrease direction, the maximum number of options is 50, and negative numbers and zero are not allowed.
[0128] Table 5
[0129]
[0130] See Table 5, which shows a distance calibration scheme designed based on the first movement distance to facilitate the user input of the second movement distance.
[0131] The above embodiment provides a method for users to input a second movement distance by setting multiple adjustment dials. This allows users to input the distance with simple adjustments, making the operation convenient.
[0132] For example, assuming a user is running indoors, the interface navigation sequence might include:
[0133] Step 1: The user selects the indoor running option from the exercise list displayed on the electronic device;
[0134] Step 2: Enter the exercise countdown and display the exercise data panel;
[0135] Step 3: The user operates the exercise data panel and selects to end the exercise;
[0136] Step 4: In response to the user's input to end the exercise, display the end exercise confirmation box;
[0137] Step 5: In response to the input operation of the end motion confirmation box, display the distance calibration interface;
[0138] Step 6: In response to input operations on the distance calibration interface, obtain the actual second motion distance;
[0139] Step 7: Update the step size calibration coefficient matrix and motion report based on the actual second motion distance and the estimated first motion distance.
[0140] For example, during indoor running, the algorithm identifies the following interface transition sequence during rest periods:
[0141] Step 1: The user selects the indoor running option from the exercise list displayed on the electronic device;
[0142] Step 2: Enter the exercise countdown and display the exercise data panel;
[0143] Step 3: The algorithm identifies the user's answer to "take a break" and displays a pop-up prompt.
[0144] Step 4: In response to the user's input in the prompt pop-up, end the movement and ask the user if they need to perform distance calibration;
[0145] Step 5: If the user selects distance calibration, the distance calibration interface will be displayed; if the user does not need calibration, the distance calculated by the current algorithm will be saved in the motion parameters of today's activity for the user's use.
[0146] Step 6: In response to the user's input on the distance calibration interface, obtain the actual second motion distance;
[0147] Step 7: Update the step size calibration coefficient matrix and motion report based on the actual second motion distance and the estimated first motion distance.
[0148] Step 8: Based on the corrected compensation calibration coefficients, calibrate the estimated distance and save the calibrated motion distance in the motion parameters for user use. The algorithm internally saves the corrected coefficient matrix as the step size correction coefficient for future calculations of motion distance.
[0149] In the example above, after the user selects the second exercise distance, this second distance is used as the actual exercise distance. The average pace, broken-line pace, maximum pace, and minimum pace are recalculated, saved in the exercise report, and displayed on the exercise report screen. When viewing the indoor exercise record again, the calibrated distance and pace are displayed. If the distance selected in the distance calibration interface matches the original data, there is no need to recalculate the average pace.
[0150] Wherein, average pace = the ratio of exercise duration to calibrated distance;
[0151] The speed scaling ratio X = the ratio of the distance given by the algorithm to the calibration distance;
[0152] Maximum pace = product of the maximum pace given by the algorithm and the pace scaling ratio X;
[0153] Minimum pace = product of the minimum pace given by the algorithm and the pace scaling ratio X;
[0154] Broken line pace = broken line pace multiplied by the pace scaling ratio X.
[0155] In some embodiments of this application, the distance calibration interface does not support swiping right to return or exiting when the screen is off; when in the distance calibration interface, pressing and holding the up button will turn off the watch. Before turning off, the default distance is used to save the exercise record; when a message notification, or a phone call, alarm clock, timer, or other screen is temporarily displayed, the user will still return to the distance calibration interface.
[0156] The step size calibration method provided in this application can be executed by a step size calibration device. This application uses a step size calibration device to perform the step size calibration method as an example to illustrate the step size calibration device provided in this application.
[0157] See Figure 3 This application provides a step size calibration device, the device 300 including:
[0158] The first acquisition module 301 is used to acquire a first matrix and a second matrix. The first matrix and the second matrix each include N×M elements, where N and M are positive integers. The first matrix is constructed based on the user's motion feature information in a first time period, and each element in the second matrix corresponds to a step size calibration coefficient under a motion strategy.
[0159] The first determining module 302 is used to determine a first position set in the first matrix. The first position set includes the first P elements in at least one region of the first matrix after sorting the values from largest to smallest, where P is a positive integer.
[0160] The second determining module 303 is used to determine a second set of positions that satisfies the proximity principle with the first set of positions.
[0161] The first processing module 304 is used to update the first element set in the second matrix to obtain the third matrix; wherein, the first element set includes multiple elements corresponding to the first position set and the second position set;
[0162] The second processing module is used to calibrate the step size for each motion strategy within the second time period based on the third matrix.
[0163] In some embodiments of this application, the proximity principle includes at least one of the following:
[0164] It belongs to the same column as any element in the first position set, and the element value is greater than the first threshold;
[0165] The positions of the first Q elements that belong to the same column as any element in the first position set and whose values are sorted from largest to smallest, where Q is a positive integer;
[0166] The position of the element that is directly adjacent to any element in the same row as any element in the first position set, and whose value is greater than the second threshold.
[0167] In some embodiments of this application, the motion feature information obtained at each detection time includes motion energy and step frequency; the first acquisition module 301 mentioned above includes:
[0168] The first acquisition submodule is used to construct an initial matrix including N motion energy ranges and M step frequency ranges; wherein, any combination of any motion energy range and any step frequency range in the initial matrix is used to represent a motion strategy, and the element value in the initial matrix is 0 at the beginning of the first time period;
[0169] The second acquisition submodule is used to update the element values in the initial matrix based on the user's motion energy and step frequency at each detection time within the first time period, thereby obtaining the first matrix.
[0170] In some embodiments of this application, the first time period includes a type of motion; the first processing module 304 mentioned above includes:
[0171] The first processing submodule is used to obtain the first motion distance and the second motion distance within the first time period. The first motion distance is an estimated value obtained based on motion feature information, and the second motion distance is the actual value obtained by measurement.
[0172] The second processing submodule is used to use the ratio of the first motion distance to the second motion distance as a correction ratio.
[0173] The third processing submodule is used to multiply each element value in the first element set by the correction ratio to obtain the third matrix.
[0174] In some optional embodiments of this application, when the first time period includes both a first motion type and a second motion type, the aforementioned first determining module 302 includes:
[0175] The first determining submodule is used to obtain the first maximum value in the first region and the second maximum value in the second region of the given matrix; wherein the elements in the first region correspond to the first motion type and the elements in the second region correspond to the second motion type;
[0176] The second determining submodule is used to determine the element positions corresponding to the first maximum and the second maximum as the first position set;
[0177] The second determining module 303 mentioned above includes:
[0178] The third determination submodule is used to obtain the first set of positions that satisfy the proximity principle with the position of the first maximum value;
[0179] The fourth determination submodule is used to obtain the second set of positions that satisfy the proximity principle with the position of the second maximum value;
[0180] The fourth determination submodule is used to merge the first position subset and the second position subset to obtain the second position subset.
[0181] In some optional embodiments of this application, the first processing module 304 described above includes:
[0182] The fourth processing submodule is used to obtain the first ratio of the user's actual step length to the estimated step length in the first movement type;
[0183] The fifth processing submodule is used to obtain the second ratio of the user's actual step length to the estimated step length in the second movement type;
[0184] The sixth processing submodule is used to perform update operations on the element values in the first element set according to the first ratio and the second ratio to obtain the third matrix.
[0185] In some embodiments of this application, the update operation includes: multiplying the first ratio by the step size calibration coefficient corresponding to the first position subset, multiplying the first ratio by the step size calibration coefficient corresponding to the position of the first maximum, multiplying the second ratio by the step size calibration coefficient corresponding to the second position subset, and multiplying the second ratio by the step size calibration coefficient corresponding to the position of the second maximum.
[0186] The step size calibration device in this application embodiment can be an electronic device or a component within an electronic device, such as an integrated circuit or a chip. The electronic device can be a terminal or other devices besides a terminal. For example, the electronic device can be a mobile phone, tablet computer, laptop computer, PDA, in-vehicle electronic device, mobile internet device (MID), augmented reality (AR) / virtual reality (VR) device, robot, wearable device, ultra-mobile personal computer (UMPC), netbook, or personal digital assistant (PDA), etc. It can also be a server, network attached storage (NAS), personal computer (PC), television (TV), ATM, or self-service machine, etc. This application embodiment does not specifically limit the device.
[0187] The step size calibration device in this application embodiment can be a device with an operating system. This operating system can be Android, iOS, or other possible operating systems; this application embodiment does not specifically limit it.
[0188] The step size calibration device provided in this application embodiment can achieve... Figure 1 The various processes implemented in the method implementation examples will not be described again here to avoid repetition.
[0189] Optionally, such as Figure 4As shown, this application embodiment also provides an electronic device 400, including a processor 401 and a memory 402. The memory 402 stores a program or instructions that can run on the processor 401. When the program or instructions are executed by the processor 401, they implement the various steps of the above-described step size calibration method embodiment and can achieve the same technical effect. To avoid repetition, they will not be described again here.
[0190] It should be noted that the electronic devices in the embodiments of this application include the mobile electronic devices and non-mobile electronic devices described above.
[0191] Figure 5 A schematic diagram of the hardware structure of an electronic device to implement an embodiment of this application.
[0192] The electronic device 500 includes, but is not limited to, components such as: radio frequency unit 501, network module 502, audio output unit 503, input unit 504, sensor 505, display unit 506, user input unit 507, interface unit 508, memory 509, and processor 510.
[0193] Those skilled in the art will understand that the electronic device 500 may also include a power supply (such as a battery) for supplying power to various components. The power supply may be logically connected to the processor 510 through a power management system, thereby enabling functions such as managing charging, discharging, and power consumption through the power management system. Figure 5 The electronic device structure shown does not constitute a limitation on the electronic device. The electronic device may include more or fewer components than shown, or combine certain components, or have different component arrangements, which will not be elaborated here.
[0194] The processor 510 is configured to: acquire a first matrix and a second matrix, each comprising N×M elements, where N and M are positive integers; wherein the first matrix is constructed based on the user's motion characteristic information within a first time period, and each element in the second matrix corresponds to a step size calibration coefficient under a motion strategy; determine a first position set in the first matrix, comprising the first P elements in at least one region of the first matrix sorted from largest to smallest, where P is a positive integer; determine a second position set that satisfies the proximity principle with the first position set; update the first element set in the second matrix to obtain a third matrix; wherein the first element set comprises multiple elements corresponding to the first and second position sets; and calibrate the step size under each motion strategy within the second time period based on the third matrix.
[0195] Optionally, the proximity principle includes at least one of the following:
[0196] It belongs to the same column as any element in the first position set, and the element value is greater than the first threshold;
[0197] The positions of the first Q elements that belong to the same column as any element in the first position set and whose values are sorted from largest to smallest, where Q is a positive integer;
[0198] The position of the element that is directly adjacent to any element in the same row as any element in the first position set, and whose value is greater than the second threshold.
[0199] Optionally, the motion feature information obtained at each detection time includes motion energy and cadence; the processor 510 is further configured to construct an initial matrix including N motion energy ranges and M cadence ranges; wherein, any combination of any motion energy range and any cadence range in the initial matrix is used to represent a motion strategy, and the element value in the initial matrix is 0 at the beginning of the first time period; the element values in the initial matrix are updated according to the motion energy and cadence of the user at each detection time in the first time period to obtain the first matrix.
[0200] Optionally, if the first time period includes a type of motion, the processor 510 is further configured to obtain a first motion distance and a second motion distance within the first time period, wherein the first motion distance is an estimated value obtained based on motion feature information, and the second motion distance is an actual value obtained by measurement; the ratio of the first motion distance to the second motion distance is used as a correction ratio; and each element value in the first element set is multiplied by the correction ratio to obtain a third matrix.
[0201] Optionally, if the first time period includes both a first motion type and a second motion type, the processor 510 is further configured to obtain a first maximum value in a first region and a second maximum value in a second region of the first matrix; wherein the elements in the first region correspond to the first motion type and the elements in the second region correspond to the second motion type; determine the positions of the elements corresponding to the first maximum value and the second maximum value as a first position set; obtain a first position subset that satisfies the proximity principle with the position of the first maximum value; obtain a second position subset that satisfies the proximity principle with the position of the second maximum value; and merge the first position subset and the second position subset to obtain a second position set.
[0202] Optionally, the processor 510 is further configured to obtain a first ratio of the user's actual step size to the estimated step size in the first motion type; obtain a second ratio of the user's actual step size to the estimated step size in the second motion type; and perform an update operation on the element values in the first element set according to the first ratio and the second ratio to obtain a third matrix.
[0203] Optionally, the update operation includes: multiplying the first ratio by the step size calibration coefficient corresponding to the first position subset, multiplying the first ratio by the step size calibration coefficient corresponding to the position of the first maximum, multiplying the second ratio by the step size calibration coefficient corresponding to the second position subset, and multiplying the second ratio by the step size calibration coefficient corresponding to the position of the second maximum.
[0204] In the above embodiments, when updating the step size calibration coefficient in the second matrix, a second position set that satisfies the proximity principle with the first position set is obtained, and the element values in the first element set corresponding to the first position set and the second position set in the second matrix are updated to obtain a third matrix. This allows the third matrix to better adapt to scenarios with some motion differences or non-uniform motion calibration before and after calibration, thereby improving the accuracy of step size calibration.
[0205] It should be understood that, in this embodiment, the input unit 504 may include a graphics processing unit (GPU) 5041 and a microphone 5042. The GPU 5041 processes image data of still images or videos obtained by an image capture device (such as a camera) in video capture mode or image capture mode. The display unit 506 may include a display panel 5061, which may be configured in the form of a liquid crystal display, an organic light-emitting diode, or the like. The user input unit 507 includes at least one of a touch panel 5071 and other input devices 5072. The touch panel 5071 is also called a touch screen. The touch panel 5071 may include a touch detection device and a touch controller. Other input devices 5072 may include, but are not limited to, physical keyboards, function keys (such as volume control buttons, power buttons, etc.), trackballs, mice, and joysticks, which will not be described in detail here.
[0206] The memory 509 can be used to store software programs and various data. The memory 509 may primarily include a first storage area for storing programs or instructions and a second storage area for storing data. The first storage area may store the operating system, application programs or instructions required for at least one function (such as sound playback, image playback, etc.). Furthermore, the memory 509 may include volatile memory or non-volatile memory, or both. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. Volatile memory can be random access memory (RAM), static random access memory (SRAM), dynamic random access memory (DRAM), synchronous dynamic random access memory (SDRAM), double data rate synchronous dynamic random access memory (DDRSDRAM), enhanced synchronous dynamic random access memory (ESDRAM), synchronous link dynamic random access memory (SLDRAM), and direct memory bus RAM (DRRAM). The memory 509 in this embodiment includes, but is not limited to, these and any other suitable types of memory.
[0207] Processor 510 may include one or more processing units; optionally, processor 510 integrates an application processor and a modem processor, wherein the application processor mainly handles operations involving the operating system, user interface, and applications, and the modem processor mainly handles wireless communication signals, such as a baseband processor. It is understood that the aforementioned modem processor may also not be integrated into processor 510.
[0208] This application also provides a readable storage medium storing a program or instructions. When the program or instructions are executed by a processor, they implement the various processes of the above-described step size calibration method embodiments and achieve the same technical effect. To avoid repetition, they will not be described again here.
[0209] The processor is the processor in the electronic device described in the above embodiments. The readable storage medium includes computer-readable storage media, such as computer read-only memory (ROM), random access memory (RAM), magnetic disk, or optical disk.
[0210] This application embodiment also provides a chip, which includes a processor and a communication interface. The communication interface is coupled to the processor. The processor is used to run programs or instructions to implement the various processes of the above-described step size calibration method embodiments and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0211] It should be understood that the chip mentioned in the embodiments of this application may also be referred to as a system-on-a-chip, system chip, chip system, or system-on-a-chip, etc.
[0212] This application provides a computer program product, which is stored in a storage medium and executed by at least one processor to implement the various processes of the step size calibration method embodiment described above, and can achieve the same technical effect. To avoid repetition, it will not be described again here.
[0213] It should be noted that, in this document, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes that element. Furthermore, it should be noted that the scope of the methods and apparatuses in the embodiments of this application is not limited to performing functions in the order shown or discussed, but may also include performing functions substantially simultaneously or in the reverse order, depending on the functions involved. For example, the described methods may be performed in a different order than described, and various steps may be added, omitted, or combined. Additionally, features described with reference to certain examples may be combined in other examples.
[0214] Through the above description of the embodiments, those skilled in the art can clearly understand that the methods of the above embodiments can be implemented by means of software plus necessary general-purpose hardware platforms. Of course, they can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a computer software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0215] The embodiments of this application have been described above with reference to the accompanying drawings. However, this application is not limited to the specific embodiments described above. The specific embodiments described above are merely illustrative and not restrictive. Those skilled in the art can make many other forms under the guidance of this application without departing from the spirit and scope of the claims, and all of these forms are within the protection scope of this application.
Claims
1. A step size calibration method, characterized in that, The method includes: Obtain a first matrix and a second matrix, each comprising N×M elements, where N and M are positive integers; wherein, the first matrix is constructed based on the user's motion feature information within a first time period, and each element in the second matrix corresponds to a step size calibration coefficient under a motion strategy; Determine a first set of positions in the first matrix, the first set of positions including the first P elements of the first matrix after sorting the values from largest to smallest in at least one region of the first matrix, where P is a positive integer; Determine a second set of locations that satisfies the proximity principle with the first set of locations; The first set of elements in the second matrix is updated to obtain the third matrix; wherein the first set of elements includes multiple elements corresponding to the first set of positions and the second set of positions; Based on the third matrix, the step size under each motion strategy during the second time period is calibrated.
2. The step size calibration method according to claim 1, characterized in that, The proximity principle includes at least one of the following: The element belongs to the same column as any element in the first position set, and its value is greater than the first threshold. The positions of the first set of positions belong to the same column as any element in the first set of positions, and are the first Q elements after the element values are sorted from largest to smallest, where Q is a positive integer; The element position that is directly adjacent to any element position in the same row as any element position in the first position set, and whose value is greater than the second threshold.
3. The step size calibration method according to claim 1, characterized in that, The motion feature information obtained at each detection time includes motion energy and step frequency; The process of obtaining the first matrix includes: Construct an initial matrix comprising N motion energy ranges and M step frequency ranges; wherein, any combination of any motion energy range and any step frequency range in the initial matrix is used to represent a motion strategy, and the element value in the initial matrix is 0 at the beginning of the first time period; Based on the user's motion energy and cadence at each detection time within the first time period, the element values in the initial matrix are updated to obtain the first matrix.
4. The step size calibration method according to claim 1, characterized in that, If the first time period includes one type of motion, updating the first element set in the second matrix to obtain the third matrix includes: The first movement distance and the second movement distance within the first time period are obtained. The first movement distance is an estimated value obtained based on the movement feature information, and the second movement distance is the actual value obtained by measurement. The ratio of the first movement distance to the second movement distance value is used as the correction ratio; The third matrix is obtained by multiplying each element value in the first set of elements by the correction ratio.
5. The step size calibration method according to claim 1, characterized in that, In the case that the first time period includes both a first motion type and a second motion type, determining the first set of positions in the first matrix includes: Obtain the first maximum value in the first region and the second maximum value in the second region of the first matrix; wherein the elements in the first region correspond to the first motion type and the elements in the second region correspond to the second motion type; The element positions corresponding to the first maximum value and the second maximum value are determined as the first position set; Wherein, obtaining the second set of locations that satisfies the proximity principle with the first set of locations includes: Obtain the first subset of positions that satisfy the proximity principle to the position of the first maximum value; Obtain a subset of second positions that satisfy the proximity principle to the location of the second maximum value; The first position subset and the second position subset are merged to obtain the second position set.
6. The step size calibration method according to claim 5, characterized in that, The step of updating the first element set in the second matrix to obtain the third matrix includes: Obtain the first ratio of the user's actual step length to the estimated step length in the first movement type; Obtain a second ratio of the user's actual step length to the estimated step length in the second movement type; The element values in the first element set are updated based on the first ratio and the second ratio to obtain the third matrix.
7. The step size calibration method according to claim 6, characterized in that, The update operation includes: multiplying the first ratio by the step size calibration coefficient corresponding to the first position subset, multiplying the first ratio by the step size calibration coefficient corresponding to the position of the first maximum value, multiplying the second ratio by the step size calibration coefficient corresponding to the second position subset, and multiplying the second ratio by the step size calibration coefficient corresponding to the position of the second maximum value.
8. A step size calibration device, characterized in that, The device includes: The first acquisition module is used to acquire a first matrix and a second matrix, wherein the first matrix and the second matrix each include N×M elements, where N and M are positive integers; wherein the first matrix is constructed based on the user's motion feature information in a first time period, and each element in the second matrix corresponds to a step size calibration coefficient under a motion strategy. The first determining module is used to determine a first position set in the first matrix, the first position set including the first P elements in at least one region of the first matrix after sorting the values from largest to smallest, where P is a positive integer; The second determining module is used to determine a second set of locations that satisfies the proximity principle with the first set of locations; A first processing module is used to update the first set of elements in the second matrix to obtain a third matrix; wherein the first set of elements includes multiple elements corresponding to the first set of positions and the second set of positions; The second processing module is used to calibrate the step size for each motion strategy within the second time period based on the third matrix.
9. An electronic device, characterized in that, It includes a processor and a memory, the memory storing a program or instructions that can run on the processor, the program or instructions being executed by the processor to implement the steps of the step size calibration method as described in any one of claims 1-7.
10. A readable storage medium, characterized in that, The readable storage medium stores a program or instructions that, when executed by a processor, implement the steps of the step size acquisition method as described in any one of claims 1 to 7.