Gait data filtering method and related devices

By constructing a maximum value matrix, identifying edge points, and using the flood filling method to filter regions, the problem of incomplete user data for small strides was solved, achieving efficient and accurate data processing and analysis, and adapting to the needs of different users and devices.

CN121306487BActive Publication Date: 2026-06-26BEIJING HUAYI JINGDIAN BIOTECHNOLOGY CO LTD

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
BEIJING HUAYI JINGDIAN BIOTECHNOLOGY CO LTD
Filing Date
2025-08-25
Publication Date
2026-06-26

Smart Images

  • Figure CN121306487B_ABST
    Figure CN121306487B_ABST
Patent Text Reader

Abstract

The application provides a walking data filtering method and related equipment. The method comprises the following steps: traversing all obtained walking data matrices, determining a maximum value corresponding to each coordinate point to obtain a maximum value matrix; traversing four edges of the maximum value matrix to determine edge points; the edge point is a first non-zero coordinate point in the traversal; determining a filtering area based on the edge point by using a flood filling method; and filtering the walking data matrix based on the filtering area. Through fitting a maximum pressure matrix, filtering edge abnormal data and adaptively adjusting a processing range, the application improves the accuracy and reliability of plantar pressure data, adapts to individual differences and optimizes gait analysis effects.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of walking data filtering technology, and in particular to a walking data filtering method and related equipment. Background Technology

[0002] Plantar pressure distribution testing is a commonly used technique in medicine, kinesiology, and rehabilitation. It involves collecting pressure data during walking using a plantar pressure plate, which can be used to analyze gait, assess foot health, and aid in disease diagnosis. Current techniques use plantar pressure plates to record plantar pressure distribution at high sampling frequencies, generating a series of matrix-like pressure data sequences. These data are typically presented as image sequences and used for subsequent gait analysis or pressure distribution studies. However, traditional techniques mostly use the raw pressure data directly, lacking effective processing of edge noise regions and making them susceptible to interference.

[0003] Existing technologies have significant limitations when processing pressure data from users with small strides. For example, during certain gait phases while walking, the upper and lower edges of the plantar pressure plate may record incomplete data from the forefoot or heel, and these anomalous areas significantly affect the accuracy of pressure distribution. Furthermore, noise points in the raw data are difficult to remove, leading to biases in subsequent analysis results. Additionally, fixed processing methods are difficult to adaptively adjust for pressure plates with different resolutions, failing to meet the needs of precise analysis tailored to individual differences. These issues reduce the validity and accuracy of the data, impacting the reliability and universality of the technology in practical applications. Summary of the Invention

[0004] In view of this, the purpose of this application is to propose a walking data filtering method and related equipment.

[0005] To achieve the above objectives, this application provides a method for filtering walking data, comprising:

[0006] Iterate through all the acquired walking data matrices, determine the maximum value corresponding to each coordinate point, and obtain the maximum value matrix;

[0007] Traverse the four edges of the maximum value matrix to determine the edge points; the edge point is the first non-zero coordinate point during the traversal;

[0008] Based on the aforementioned edge points, the filtering area is determined using the flood filling method;

[0009] The walking data matrix is ​​filtered based on the filtering region.

[0010] In one possible implementation, the process of traversing all the acquired walking data matrices, determining the maximum value corresponding to each coordinate point, and obtaining a maximum value matrix includes:

[0011] Construct an empty matrix;

[0012] Iterate through each coordinate point in all the acquired walking data matrices in sequence. If the value of a coordinate point in the walking data matrix is ​​greater than the value of the corresponding coordinate point in the current blank matrix, replace the value of the coordinate point in the blank matrix with the value of the corresponding coordinate point in the walking data matrix.

[0013] The maximum value matrix is ​​obtained after all the walking data matrices have been traversed.

[0014] In one possible implementation, traversing the four edges of the maximum value matrix to determine the edge points includes:

[0015] Determine the number of edge rows of the four edges to be traversed;

[0016] For each edge row, traverse the coordinate points from the first direction to the second direction until the first non-zero point is reached, and take the first non-zero point as the edge point;

[0017] In response to having traversed all edge rows, the coordinate points are traversed from the second direction to the first direction until the first non-zero point is reached, and this first non-zero point is taken as the edge point.

[0018] In one possible implementation, determining the number of edge rows of the four edges traversed includes:

[0019] Obtain the age, foot length, and gender of the user corresponding to the walking data;

[0020] Obtain the resolution of the pressure plate corresponding to the acquisition of the walking data matrix;

[0021] The number of edge rows of the four edges to be traversed is determined based on the resolution, age, foot length, and gender.

[0022] In one possible implementation, determining the number of edge rows for traversing the four edges based on the resolution, age, foot length, and gender includes:

[0023] The age factor is determined based on the stated age;

[0024] Determine the foot length factor based on the stated foot length;

[0025] Determine the gender factor based on the stated gender;

[0026] Determine the scaling factor based on the resolution;

[0027] The number of edge rows of the four edges traversed is calculated based on the scaling factor, the age factor, the foot length factor, and the gender factor.

[0028] In one possible implementation, filtering the walking data matrix based on the filtering region includes:

[0029] Set the values ​​of the coordinate points in the walking data matrix that correspond to the coordinates of the filtered area to zero to obtain a zeroed data matrix;

[0030] The matrix with all coordinate points being zero in the zeroed data matrix is ​​deleted to obtain the filtered walking data matrix.

[0031] Based on the same inventive concept, embodiments of this application also provide a walking data filtering device, including:

[0032] The first traversal module is configured to traverse all the acquired walking data matrices, determine the maximum value corresponding to each coordinate point, and obtain the maximum value matrix.

[0033] The second traversal module is configured to traverse the four edges of the maximum value matrix and determine the edge points; the edge points are the first non-zero coordinate points during traversal.

[0034] The filling module is configured to determine the filtering area based on the edge points using a flood filling method;

[0035] The filtering module is configured to filter the walking data matrix based on the filtering region.

[0036] Based on the same inventive concept, embodiments of this application also provide an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the walking data filtering method as described in any of the above.

[0037] Based on the same inventive concept, embodiments of this application also provide a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute any of the above-described walking data filtering methods.

[0038] Based on the same inventive concept, embodiments of this application also provide a computer program product, which includes computer program instructions, the computer instructions being used to cause the computer program product to perform any of the walking data filtering methods described above.

[0039] As described above, the walking data filtering method and related equipment provided in this application determine the maximum value corresponding to each coordinate point by traversing all acquired walking data matrices, thus obtaining a maximum value matrix; traversing the four edges of the maximum value matrix to determine edge points; the edge point is the first non-zero coordinate point during traversal; based on the edge points, a flood filling method is used to determine the filtering area; and the walking data matrix is ​​filtered based on the filtering area. This application embodiment integrates data by constructing a maximum value matrix, identifies edge points to determine abnormal areas, and dynamically adjusts the number of edge rows based on the user's age, foot length, gender, and pressure plate resolution to ensure the method adapts to different user and equipment needs. Simultaneously, zeroing and blank image deletion effectively remove invalid data and redundant information, preserving high-quality single-leg walking data sequences. The overall solution improves data processing efficiency and analysis accuracy, provides reliable support for gait analysis and related applications, and possesses strong adaptability and universality. Attached Figure Description

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

[0041] Figure 1 This is a schematic diagram of the walking data filtering method according to an embodiment of this application;

[0042] Figure 2 This is a schematic diagram of the unprocessed walking data matrix sequence according to an embodiment of this application;

[0043] Figure 3 This is a schematic diagram of the maximum value matrix in an embodiment of this application;

[0044] Figure 4 This is a schematic diagram of the filtered walking data matrix according to an embodiment of this application;

[0045] Figure 5 This is a schematic diagram of the walking data filtering device according to an embodiment of this application;

[0046] Figure 6 This is a schematic diagram of the electronic device structure according to an embodiment of this application. Detailed Implementation

[0047] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with specific embodiments and the accompanying drawings.

[0048] It should be noted that, unless otherwise defined, the technical or scientific terms used in the embodiments of this application should have the ordinary meaning understood by one of ordinary skill in the art to which this application pertains. The terms "first," "second," and similar terms used in the embodiments of this application do not indicate any order, quantity, or importance, but are merely used to distinguish different components. Terms such as "comprising" or "including" mean that the element or object preceding the word encompasses the elements or objects listed after the word and their equivalents, without excluding other elements or objects. Terms such as "connected" or "linked" are not limited to physical or mechanical connections, but can include electrical connections, whether direct or indirect. Terms such as "upper," "lower," "left," and "right" are only used to indicate relative positional relationships; when the absolute position of the described object changes, the relative positional relationship may also change accordingly.

[0049] It is understood that before using the technical solutions of the various embodiments in this disclosure, users will be informed of the type, scope of use, and usage scenarios of the personal information involved in an appropriate manner, and user authorization will be obtained.

[0050] For example, upon receiving a user's active request, a prompt message is sent to the user to explicitly inform them that the requested operation will require the acquisition and use of the user's personal information. This allows the user to independently choose, based on the prompt message, whether to provide personal information to the software or hardware such as electronic devices, applications, servers, or storage media performing the operations of this disclosed technical solution.

[0051] As an optional but not limited implementation, in response to a user's active request, sending a prompt message to the user can be done via a pop-up window, where the prompt message can be presented in text format. Furthermore, the pop-up window can also include a selection control allowing the user to choose "agree" or "disagree" to provide personal information to the electronic device.

[0052] It is understood that the above notification and user authorization process are merely illustrative and do not constitute a limitation on the implementation of this disclosure. Other methods that comply with relevant laws and regulations may also be applied to the implementation of this disclosure.

[0053] As described in the background section, plantar pressure distribution testing is a commonly used technique in the fields of medicine, kinesiology, and rehabilitation. It involves collecting pressure data during walking using a plantar pressure plate at a high sampling frequency, generating a matrix-like pressure data sequence for gait analysis, foot health assessment, and auxiliary disease diagnosis. However, existing techniques often directly use raw pressure data, lacking effective processing of edge noise regions. Especially in tests on users with small strides, the upper and lower edges of the pressure plate often record incomplete data down to the ball of the foot or heel, leading to decreased accuracy in pressure distribution. Furthermore, noise points are difficult to remove, and data processing cannot adaptively adjust to different resolutions and individual user needs, affecting the accuracy of data analysis and the reliability and universality of the technique.

[0054] Based on the above considerations, this application proposes a walking data filtering method. It involves traversing all acquired walking data matrices to determine the maximum value corresponding to each coordinate point, thus obtaining a maximum value matrix. The method then traverses the four edges of the maximum value matrix to determine edge points, where each edge point is the first non-zero coordinate point during traversal. Based on these edge points, a flood filling method is used to determine the filtering region. Finally, the walking data matrix is ​​filtered based on this filtering region. This application first utilizes the construction of the maximum value matrix to comprehensively integrate the data and eliminate the influence of local outliers. By identifying edge points and determining the filtering region, the range of abnormal data is accurately located. Secondly, by comprehensively considering individual characteristics such as user age, foot length, and gender, as well as the pressure plate resolution, the number of edge rows is dynamically adjusted to ensure the adaptability of the filtering method to different users and devices. Furthermore, by zeroing and deleting blank images, invalid data and redundant information are effectively removed, preserving a continuous and high-quality sequence of single-leg walking images. The overall technical solution significantly improves the processing efficiency and analysis accuracy of walking data, providing reliable data support for gait analysis, behavioral research, and related applications. It also possesses strong adaptability and universality, and can be widely applied to different user groups and device environments.

[0055] The technical solutions of the embodiments of this application will be described in detail below through specific examples.

[0056] refer to Figure 1 The walking data filtering method of this application includes the following steps:

[0057] Step S101: Traverse all the acquired walking data matrices, determine the maximum value corresponding to each coordinate point, and obtain the maximum value matrix;

[0058] Step S102: Traverse the four edges of the maximum value matrix to determine the edge points; the edge point is the first non-zero coordinate point during the traversal;

[0059] Step S103: Based on the edge points, determine the filtering area using the flood filling method;

[0060] Step S104: Filter the walking data matrix based on the filtering region.

[0061] In this embodiment, the application records the matrix data of the plantar pressure plate at a relatively high frequency. The user walks back and forth on the plantar pressure plate, obtaining a matrix of foot walking data for both feet. Normally, this matrix contains only one continuous region with a value greater than 0. However, for users with small strides, taking the left foot as an example, the image sequence will contain data for the ball of the foot or heel at the top or bottom edge of the matrix, in addition to the left foot. This incomplete data at the top and bottom edges needs to be filtered out before the image sequence data can be used for subsequent calculations.

[0062] In this embodiment, firstly, the walking data matrix is ​​obtained. Then, all coordinate points of all walking data matrices are traversed, and the value of each coordinate point is compared one by one to determine the maximum value corresponding to each coordinate point in all walking data matrices. This maximum value is then recorded in a new matrix to obtain a maximum value matrix.

[0063] Next, the four edges of the maximum value matrix are traversed to determine the edge points. Edge points are determined as follows: based on the user's age, foot length, and gender, the appropriate number of edge rows is calculated, and combined with the pressure plate's resolution, the specific edge range to be traversed is determined. In each edge row of the maximum value matrix, coordinate points are traversed sequentially from one direction until the first non-zero coordinate point is encountered, which is then recorded as an edge point. The above steps are repeated, traversing each edge row again from the opposite direction until the first non-zero coordinate point is encountered, and this point is then recorded as an edge point. Through these operations, all edge points can be determined on the top, bottom, left, and right edges.

[0064] Based on the identified edge points, a flood fill method is used to determine the filtering region. Starting from each edge point, an 8-neighborhood fill method is used to define a complete region by identifying all connected coordinate points with values ​​greater than zero. These coordinate points are then recorded to define the filtering region. During this process, it is ensured that the recorded filtering region covers all outlier data.

[0065] Next, the walking data matrix is ​​filtered. Specifically, the values ​​of the coordinates corresponding to the filtered area in each walking data matrix are set to zero, resulting in a zeroed data matrix. This operation effectively removes incomplete or abnormal data from the top, bottom, left, or right edges of the data matrix.

[0066] Finally, the zeroed-out data matrix undergoes further processing. All data matrices are traversed sequentially and in reverse order, checking each matrix for coordinate points with values ​​greater than zero. If all coordinate points in a matrix are zero, the matrix is ​​considered blank. The first and last non-blank matrices are found, and all blank matrices between them are deleted. After these steps, the final filtered sequence of walking data matrices is obtained, retaining only the valid sequence of single-leg walking data.

[0067] Regarding step S101, in this embodiment, firstly, all coordinate points and their corresponding pressure values ​​in the walking data matrix are acquired. In the walking data matrix, each coordinate point represents the position of a sensing point on the pressure plate, and the corresponding pressure value reflects the pressure intensity recorded at that sensing point. The walking data matrix is ​​a numerical matrix, where each element corresponds to a coordinate point, and the value of that element is the pressure value at that point.

[0068] In practice, the data needs to be processed according to the resolution of the pressure plate. For example, the standard resolution of the pressure plate is 100 sensing points, so the size of the walking data matrix should also be 100, with each position in the matrix corresponding to a sensing point on the pressure plate. For pressure plates with other resolutions, the matrix size can be adjusted according to the actual resolution to match the distribution of sensing points on the pressure plate. It should be noted that the resolution in this application is independent of the size of the pressure plate; the resolution here refers to the sensor density inside the pressure plate. In this way, the pressure data of each foot contacting the pressure plate during walking can be accurately recorded in the matrix.

[0069] During the construction of the walking data matrix, it is necessary to ensure that all pressure values ​​are accurately recorded in the matrix, while paying attention to the numerical precision requirements within the matrix to ensure more accurate data processing in subsequent operations. This process successfully obtained the walking data matrix, laying the foundation for subsequent data processing and filtering operations.

[0070] Furthermore, by traversing all the walking data matrices, the maximum value corresponding to each coordinate point is determined, resulting in a maximum value matrix.

[0071] In some embodiments, the step of traversing all acquired walking data matrices and determining the maximum value corresponding to each coordinate point to obtain a maximum value matrix includes: constructing a blank matrix; sequentially traversing each coordinate point in all acquired walking data matrices, and in response to a coordinate point value in the walking data matrix being greater than the corresponding coordinate point value in the current blank matrix, replacing the coordinate point value in the blank matrix with the corresponding coordinate point value in the walking data matrix; and obtaining the maximum value matrix in response to the completion of traversing all walking data matrices.

[0072] In this embodiment, firstly, a new blank matrix A with a size of 100×100 is created. The image sequence to be processed consists of 41 matrices B1-41, where some matrices have regions with values ​​>0 at their upper or lower edges. A set C is created to record the edge coordinates. A set D is created to record all coordinates of the irregular upper and lower regions.

[0073] refer to Figure 2 This is a schematic diagram of the unprocessed walking data matrix sequence in an embodiment of this application.

[0074] refer to Figure 3 This is a schematic diagram of the maximum value matrix in an embodiment of this application.

[0075] like Figure 2 and Figure 3 As shown, after obtaining 41 walking data matrix sequences, the system iterates through all 41 matrices and each coordinate point within them, recording the value of each coordinate point and comparing it with the corresponding coordinate value in the blank matrix A. For example, if the value 15 at coordinate (29,30) in the blank matrix A is less than the value 20 at coordinate (29,30) in the first matrix B1 of the walking data matrix sequence, then the value 20 at coordinate (29,30) in B1 is assigned to coordinate (29,30) in the blank matrix A. Then, the system iterates through the second matrix B2 of the walking data matrix sequence, where the value at coordinate (29,30) is 35, which is greater than the value 20 at coordinate (29,30) in A. Therefore, the value 35 at coordinate (29,30) in B2 is assigned to coordinate (29,30) in A. Iterate through each coordinate value in each matrix of the walking data matrix sequence B, comparing it with the corresponding coordinate in A. If the value is larger than the coordinate value in A, assign that value to A. Continue this process, storing the maximum value of each coordinate in each matrix of sequence B in the blank matrix A. A can be viewed as a fitted matrix, ultimately yielding... Figure 3 The maximum value matrix shown.

[0076] Furthermore, in step S102, the four edges of the maximum value matrix are traversed to determine the edge points; the edge points are the first non-zero coordinate points during the traversal.

[0077] In some embodiments, traversing the four edges of the maximum value matrix to determine edge points includes: determining the number of edge rows of the four edges to be traversed; for each edge row, traversing the coordinate points from a first direction to a second direction until the first non-zero point is reached, and taking the first non-zero point as the edge point; in response to traversing all edge rows, traversing the coordinate points from the second direction to the first direction until the first non-zero point is reached, and taking the first non-zero point as the edge point.

[0078] In some embodiments, determining the number of edge rows of the four edges to be traversed includes: obtaining the age, foot length, and gender of the user corresponding to the walking data; obtaining the resolution of the pressure plate corresponding to the acquisition of the walking data matrix; and determining the number of edge rows of the four edges to be traversed based on the resolution, age, foot length, and gender.

[0079] In some embodiments, determining the number of edge rows of the four edges to be traversed based on the resolution, age, foot length, and gender includes: determining an age factor based on the age; determining a foot length factor based on the foot length; determining a gender factor based on the gender; determining a scaling factor based on the resolution; and calculating the number of edge rows of the four edges to be traversed based on the scaling factor, the age factor, the foot length factor, and the gender factor.

[0080] In this embodiment, firstly, the number of edge rows to be traversed is determined according to actual needs. Determining the number of edge rows requires comprehensive consideration of individual characteristics such as the user's age, foot length, and gender, as well as the resolution of the pressure plate. By calculating age, foot length, and gender factors, and combining them with the scaling factor of the pressure plate resolution, the number of edge rows suitable for the current conditions can be obtained, providing a basis for subsequent edge point determination.

[0081] To ensure the appropriate number of edge rows, the number needs to be dynamically adjusted based on the user's individual characteristics and the pressure plate's resolution. The user's age, foot length, and gender are key factors in determining the number of edge rows; therefore, these parameters need to be quantified separately, and finally, combined with the pressure plate's resolution, a suitable number of edge rows can be calculated.

[0082] First, the age factor is calculated based on the user's age. The age factor calculation is divided into two modes: one for children and one for teenagers. For children (under 12 years old), a non-linear growth method is used to calculate the age factor to reflect the unique characteristics of children's stride and behavior. By dividing the age by a smoothing adjustment factor (e.g., 20.0), the growth of the age factor is made smoother, avoiding abrupt changes caused by rapid aging. For teenagers (12 to 18 years old), a linear growth method is used to calculate the age factor. By setting a fixed increase in the age factor for each year of age (e.g., 0.05), the age factor gradually approaches adult standards. This combination of non-linear and linear methods better adapts to the needs of users in different age groups, thus calculating a reasonable age factor.

[0083] In some embodiments, the age factor is calculated using the following formula:

[0084]

[0085] Secondly, a foot length factor is calculated based on the user's foot length. Using 250 mm as the baseline foot length, the factor value is adjusted by 0.2 for every 10 mm increase or decrease. For example, a user with a foot length of 260 mm has a foot length factor increased by 0.2 compared to the baseline foot length; while a user with a foot length of 240 mm has a foot length factor decreased by 0.2. This foot length-based adjustment method reflects changes in the user's stride, thus more accurately determining the number of edge rows.

[0086] Then, a gender factor is calculated based on the user's gender. This gender factor is calculated by setting different multipliers. For example, the gender factor for female users is 0.95, while for male users it is 1.05. This method allows for adjustments to the gait characteristics of users of different genders, making the calculation of edge row counts more realistic.

[0087] After calculating the age, leg length, and gender factors, the scaling factor needs to be calculated based on the pressure plate's resolution. In practical applications, the resolution corresponds to the size of the walking data matrix. For pressure plates with different resolutions, using 100×100 sensing points as a standard, after determining the number of rows to be searched, the ratio of the target resolution to the standard resolution is calculated to determine the scaling factor. Multiplying the number of rows to be searched by the scaling factor yields the number of rows to be traversed in the four directions (up, down, left, and right) at different resolutions. For example, if the pressure plate resolution is 200×200, the scaling factor is 4; if the resolution is 50×50, the scaling factor is 0.25. By calculating the scaling factor, the setting of the number of edge rows can be matched with the actual resolution, thereby ensuring the accuracy of data filtering.

[0088] Finally, based on the aforementioned factors and scaling factor, the number of edge rows traversed is calculated. Using the baseline filtered row count (e.g., 10 rows), it is multiplied by the age factor, foot length factor, gender factor, and scaling factor to obtain the final number of edge rows. For example, if the baseline filtered row count is 10 rows, a user's age factor is 0.9, foot length factor is 1.1, gender factor is 1.05, and the pressure plate scaling factor is 1.2, then the final number of edge rows is 10 × 0.9 × 1.1 × 1.05 × 1.2 = 12.474 rows. Depending on actual needs, the calculation result can be rounded or otherwise processed for practical application.

[0089] Through the above calculation process, the number of edge rows can be dynamically adjusted to better suit the needs of different users and devices, thus providing a precise foundation for subsequent edge data processing and filtering operations. Individual differences such as age, leg length, and gender, as well as device differences in pressure plate resolution, can all be effectively quantified and adjusted using this method, ensuring the scientific rigor and reliability of data processing.

[0090] After determining the number of edge rows, the four edges of the maximum value matrix are traversed. For each edge, starting from the first direction (e.g., from left to right or from top to bottom), the coordinates of each row are traversed one by one until the first non-zero coordinate point is encountered. At this point, the coordinate point is recorded as the edge point of the current row. After completing the traversal of the same row, the same traversal is performed from the second direction (e.g., from right to left or from bottom to top) to determine the edge points in the opposite direction. This bidirectional traversal method ensures that the non-zero coordinate points closest to both ends of each row can be found and these points are accurately recorded.

[0091] After traversing the four edges, all recorded edge points can be aggregated to form a complete edge point set. This set contains the coordinates of the first non-zero value of each of the four edges of the maximum value matrix, providing crucial foundational data for subsequent filtering region determination. It is important to ensure that the coordinate information of each point is complete and accurate during edge point identification, and that it matches the actual matrix size and structure to avoid data deviations or errors in subsequent processing.

[0092] By traversing the four edges of the maximum value matrix and accurately identifying the edge points, potentially outlier data regions within the matrix can be effectively extracted. These regions are typically located at the edges of the matrix and may be incomplete data at the top, bottom, left, or right edges due to small strides or other reasons during user walking. In subsequent filtering steps, this edge point information can be used to further determine the specific regions requiring filtering and to effectively clean and optimize the walking data, thereby providing reliable data support for accurately analyzing user walking behavior.

[0093] Furthermore, in step S104, the filtering area is determined based on the edge points using the flood filling method.

[0094] In this embodiment, each coordinate in the edge point set is traversed, and each coordinate is used as a starting point. A flood fill method is then used to find complete, connected regions with values ​​greater than 0. During the flood fill process, the found coordinates are recorded in the filter region coordinate set. For higher precision, 8-neighborhood filling is used.

[0095] Flood fill is a graphics processing algorithm used to fill connected regions in an image. Starting from a specified initial pixel, the algorithm checks its neighboring pixels. If these pixels have the same color as the initial pixel (or meet specific conditions), they are filled with the new color, and this process continues to expand to neighboring pixels. This application utilizes this algorithm to find regions to be filtered, enabling efficient and accurate identification of connected regions with values ​​greater than zero in a matrix, particularly suitable for processing complex plantar pressure distribution data. By expanding point by point from the edge, flood fill can quickly find all connected anomalous data regions and record their coordinates, thus providing a clear range for subsequent data filtering. This method avoids omissions or misjudgments when processing edge anomalous data, ensuring a high degree of completeness and accuracy in defining the filtering region. Furthermore, the use of 8-neighborhood filling further improves accuracy, enabling more comprehensive coverage of data distribution in complex edge regions, effectively removing noise and outliers, and improving the quality of walking data.

[0096] Unlike existing floodfill methods, this application incorporates the characteristics of plantar pressure distribution to focus on processing edge anomalies in walking data. In existing technologies, floodfill is typically used for image processing or region segmentation, primarily for marking connected regions, but lacks optimized design for the specific scenario of the plantar pressure matrix. This application, however, first limits the range of the starting point through precise edge point identification when determining the filtering region, and then adjusts the filtering range based on individual user characteristics and device resolution, making the application of floodfill more targeted and efficient. This improvement, incorporating actual data characteristics, allows floodfill to not only efficiently process edge anomalies but also adapt to the needs of different users and devices, significantly enhancing its practicality and universality.

[0097] Furthermore, in step S105, the walking data matrix is ​​filtered based on the filtering region.

[0098] In some embodiments, filtering the walking data matrix based on the filtering region includes: setting the values ​​of the coordinate points in the walking data matrix corresponding to the coordinates of the filtering region to zero, obtaining a zeroed data matrix; and deleting the matrix in the zeroed data matrix where all coordinate points are zero, to obtain the filtered walking data matrix.

[0099] In this embodiment, firstly, the coordinates of the filtered region need to be matched with the walking data matrix. The filtered region is determined by edge point identification and further flooding, and its coordinate set contains all target areas that need to be zeroed out. Each coordinate in the walking data matrix is ​​matched one-to-one with the coordinates of the filtered region to ensure that all data in the filtered region is processed accurately.

[0100] refer to Figure 4 This is a schematic diagram of the walking data matrix after filtering in an embodiment of this application.

[0101] like Figure 5 As shown, during the matching process, the pressure value of the coordinate points in the walking data matrix corresponding to the filtering area is set to zero. This step effectively removes incomplete or abnormal data from the top, bottom, left, or right edges of the matrix, resulting in a zeroed-out data matrix. In the zeroed-out matrix, the data that originally belonged to the filtering area has been cleared, and the remaining part is the filtered, valid walking data. This operation ensures the validity of the data while eliminating interference factors, providing clean input for subsequent data analysis.

[0102] Next, the zeroed-out data matrix undergoes further processing to filter out blank data. All zeroed-out matrices are traversed sequentially and in reverse order, checking each matrix for coordinates with values ​​greater than zero. If all coordinates in a matrix are zero, the matrix is ​​considered blank. This process identifies the first and last non-blank matrices and records their positions. Finally, all blank matrices are deleted, resulting in a continuous sequence of walking data matrices.

[0103] This filtering of blank data effectively removes matrices that do not contain valid walking data, reducing the storage and computational burden of redundant data. Simultaneously, the retained matrix sequence fully reflects the user's walking process on the pressure plate, ensuring data continuity and integrity. Through this series of operations, a filtered walking data matrix sequence is ultimately obtained, containing only valid data image sequences of single-leg walking, providing a reliable data foundation for subsequent gait analysis and behavioral research.

[0104] As can be seen from the above embodiments, the walking data filtering method described in this application involves traversing all acquired walking data matrices to determine the maximum value corresponding to each coordinate point, thus obtaining a maximum value matrix; traversing the four edges of the maximum value matrix to determine edge points; the edge point is the first non-zero coordinate point during traversal; based on the edge points, a filtering area is determined using the flood filling method; and the walking data matrix is ​​filtered based on the filtering area. This application embodiment, by acquiring the walking data matrix, can intuitively present and structure the two-dimensional pressure data recorded by the pressure plate during walking in matrix form. This reverse approach fully utilizes the distribution characteristics of the pressure plate's sensing points, mapping the pressure value of each coordinate point to the corresponding matrix position, thereby achieving a digital representation of the original data. This process not only completely preserves the pressure information of all sensing points but also provides a unified and easy-to-operate basic format for subsequent data processing operations. The construction method of the walking data matrix is ​​also highly adaptable, allowing adjustment of the matrix size according to pressure plates of different resolutions, thus ensuring that the conversion results match the equipment characteristics. Through this technical solution, the storage and subsequent calculation of walking data are more efficient and accurate, providing reliable and flexible technical support for subsequent data filtering, analysis, and fitting operations.

[0105] By traversing the four edges of the maximum value matrix and determining the edge points, effective identification and extraction of abnormal data regions can be achieved. By setting the number of edge rows and performing bidirectional traversal of the top, bottom, left, and right sides of the matrix, the first non-zero point in each row or column can be accurately identified as the edge point. This method comprehensively covers potentially abnormal data regions around the matrix, ensuring high accuracy and completeness in edge point identification. Furthermore, edge point identification not only effectively filters out abnormal data caused by small strides, unusual postures, or equipment acquisition errors, but also provides a reliable basis for subsequent filtering region determination. This edge point identification method significantly reduces the interference of invalid data on the final walking data analysis results, while improving the efficiency and accuracy of data processing, laying a solid foundation for subsequent filtering and analysis steps.

[0106] By dynamically determining the number of edge rows based on the user's age, foot length, gender, and pressure plate resolution, adaptive data processing can be achieved for different user characteristics and device conditions. This scheme comprehensively considers individual user differences by introducing age, foot length, and gender factors, making the setting of the number of edge rows more scientific and reasonable. For example, due to differences in stride characteristics, the number of edge rows for children and adolescents can be dynamically optimized as they age through non-linear or linear adjustment methods; the foot length factor directly reflects the impact of stride size on the number of edge rows; and the gender factor further improves the accuracy of the row number setting by adjusting for gender differences. Furthermore, by combining the actual resolution of the pressure plate with the standard resolution to calculate the scaling factor, the applicability and consistency of the number of edge rows on devices with different resolutions can be ensured. This multi-factor adaptive adjustment method significantly improves the flexibility and accuracy of edge row calculation, thereby enabling filtering operations to more efficiently adapt to various users and devices, enhancing the universality and accuracy of walking data processing.

[0107] By zeroing out the walking data matrix based on filtering regions and filtering blank data matrices, efficient cleaning of invalid data and accurate retention of valid data are achieved. Matching the coordinates of the filtering regions with the walking data matrix and setting the corresponding values ​​to zero thoroughly removes abnormal or invalid data from the matrix, ensuring cleaner and more reliable walking data. Simultaneously, by sequentially and in reverse order traversing the zeroed-out matrices, it determines whether a matrix is ​​blank and deletes all blank data matrices, effectively reducing the storage and processing volume of redundant data. This technical solution significantly improves the overall quality and continuity of the data, making the retained matrix sequence more accurately reflect the user's actual walking process, reducing the interference of invalid data on subsequent gait analysis and behavioral research, and providing important support for the efficient utilization and accurate analysis of walking data.

[0108] It should be noted that the method in this embodiment can be executed by a single device, such as a computer or server. The method can also be applied in a distributed scenario, where multiple devices cooperate to complete the task. In such a distributed scenario, one of these devices may execute only one or more steps of the method in this embodiment, and the multiple devices will interact with each other to complete the method described.

[0109] It should be noted that the above description describes some embodiments of this application. Other embodiments are within the scope of the appended claims. In some cases, the actions or steps recorded in the claims can be performed in a different order than that shown in the above embodiments and still achieve the desired result. Furthermore, the processes depicted in the drawings do not necessarily require a specific or sequential order to achieve the desired result. In some embodiments, multitasking and parallel processing are also possible or may be advantageous.

[0110] Based on the same inventive concept, corresponding to any of the above embodiments, this application also provides a walking data filtering device.

[0111] refer to Figure 5 The walking data filtering device includes:

[0112] The first traversal module 51 is configured to traverse all the acquired walking data matrices, determine the maximum value corresponding to each coordinate point, and obtain the maximum value matrix.

[0113] The second traversal module 52 is configured to traverse the four edges of the maximum value matrix and determine the edge points; the edge points are the first non-zero coordinate points during traversal.

[0114] The filling module 53 is configured to determine the filtering area based on the edge points using a flood filling method;

[0115] The filtering module 54 is configured to filter the walking data matrix based on the filtering region.

[0116] For ease of description, the above devices are described in terms of function, divided into various modules. Of course, in implementing this application, the functions of each module can be implemented in one or more software and / or hardware.

[0117] The apparatus of the above embodiments is used to implement the corresponding walking data filtering method in any of the foregoing embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0118] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this application also provides an electronic device, including a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein the processor executes the program to implement the walking data filtering method described in any of the above embodiments.

[0119] Figure 6This embodiment illustrates a more specific hardware structure of an electronic device, which may include a processor 1010, a memory 1020, an input / output interface 1030, a communication interface 1040, and a bus 1050. The processor 1010, memory 1020, input / output interface 1030, and communication interface 1040 are interconnected internally via the bus 1050.

[0120] The processor 1010 can be implemented using a general-purpose CPU (Central Processing Unit), microprocessor, application-specific integrated circuit (ASIC), or one or more integrated circuits, and is used to execute relevant programs to implement the technical solutions provided in the embodiments of this specification.

[0121] The memory 1020 can be implemented in the form of ROM (Read Only Memory), RAM (Random Access Memory), static storage device, dynamic storage device, etc. The memory 1020 can store the operating system and other applications. When the technical solutions provided in the embodiments of this specification are implemented by software or firmware, the relevant program code is stored in the memory 1020 and is called and executed by the processor 1010.

[0122] The input / output interface 1030 is used to connect input / output modules to realize information input and output. Input / output modules can be configured as components within the device (not shown in the figure) or externally connected to the device to provide corresponding functions. Input devices may include keyboards, mice, touchscreens, microphones, various sensors, etc., while output devices may include displays, speakers, vibrators, indicator lights, etc.

[0123] The communication interface 1040 is used to connect a communication module (not shown in the figure) to enable communication between this device and other devices. The communication module can communicate via wired means (such as USB, Ethernet cable, etc.) or wireless means (such as mobile network, WIFI, Bluetooth, etc.).

[0124] Bus 1050 includes a pathway for transmitting information between various components of the device, such as processor 1010, memory 1020, input / output interface 1030, and communication interface 1040.

[0125] It should be noted that although the above-described device only shows the processor 1010, memory 1020, input / output interface 1030, communication interface 1040, and bus 1050, in specific implementations, the device may also include other components necessary for normal operation. Furthermore, those skilled in the art will understand that the above-described device may only include the components necessary for implementing the embodiments of this specification, and not necessarily all the components shown in the figures.

[0126] The electronic devices described above are used to implement the corresponding walking data filtering methods in any of the foregoing embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0127] Based on the same inventive concept, corresponding to the methods of any of the above embodiments, this application also provides a non-transitory computer-readable storage medium storing computer instructions for causing the computer to execute the walking data filtering method as described in any of the above embodiments.

[0128] The computer-readable medium of this embodiment includes permanent and non-permanent, removable and non-removable media, and information storage can be implemented by any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change memory (PRAM), static random access memory (SRAM), dynamic random access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile optical disc (DVD) or other optical storage, magnetic tape, magnetic magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device.

[0129] The computer instructions stored in the storage medium of the above embodiments are used to cause the computer to execute the walking data filtering method as described in any of the above embodiments, and have the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0130] Based on the same inventive concept, corresponding to the walking data filtering method described in any of the above embodiments, this disclosure also provides a computer program product, which includes computer program instructions. In some embodiments, the computer program instructions can be executed by one or more processors of a computer to cause the computer and / or the processor to perform the walking data filtering method. Corresponding to the execution entity for each step in each embodiment of the walking data filtering method, the processor executing the corresponding step can belong to the corresponding execution entity.

[0131] The computer program product of the above embodiments is used to cause the computer and / or the processor to execute the walking data filtering method as described in any of the above embodiments, and has the beneficial effects of the corresponding method embodiments, which will not be repeated here.

[0132] Those skilled in the art should understand that the discussion of any of the above embodiments is merely exemplary and is not intended to imply that the scope of this application (including the claims) is limited to these examples; within the framework of this application, the technical features of the above embodiments or different embodiments can also be combined, the steps can be implemented in any order, and there are many other variations of different aspects of the embodiments of this application as described above, which are not provided in the details for the sake of brevity.

[0133] Additionally, to simplify the description and discussion, and to avoid obscuring the embodiments of this application, the well-known power / ground connections to integrated circuit (IC) chips and other components may or may not be shown in the provided drawings. Furthermore, the apparatus may be shown in block diagram form to avoid obscuring the embodiments of this application, and this also takes into account the fact that the details of the implementation of these block diagram apparatuses are highly dependent on the platform on which the embodiments of this application will be implemented (i.e., these details should be fully understood by those skilled in the art). While specific details (e.g., circuits) have been set forth to describe exemplary embodiments of this application, it will be apparent to those skilled in the art that the embodiments of this application can be implemented without these specific details or with variations thereof. Therefore, these descriptions should be considered illustrative rather than restrictive.

[0134] Although this application has been described in conjunction with specific embodiments thereof, many substitutions, modifications, and variations of these embodiments will be apparent to those skilled in the art from the foregoing description. For example, other memory architectures (e.g., dynamic RAM (DRAM)) may be used with the embodiments discussed.

[0135] The embodiments of this application are intended to cover all such substitutions, modifications, and variations that fall within the broad scope of the appended claims. Therefore, any omissions, modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of the embodiments of this application should be included within the protection scope of this application.

Claims

1. A method for filtering walking data, characterized in that, include: The process involves iterating through all acquired walking data matrices, determining the maximum value for each coordinate point, and obtaining a maximum value matrix. This includes: constructing a blank matrix; sequentially iterating through each coordinate point in all acquired walking data matrices, and replacing the value of the coordinate point in the blank matrix with the value of the corresponding coordinate point in the walking data matrix if the value of the coordinate point in the walking data matrix is ​​greater than the value of the corresponding coordinate point in the current blank matrix; and obtaining the maximum value matrix after all walking data matrices have been traversed. Traversing the four edges of the maximum value matrix to determine edge points includes: determining the number of edge rows to be traversed; for each edge row, traversing coordinate points from a first direction to a second direction until the first non-zero point is reached, and taking the first non-zero point as the edge point; in response to traversing all edge rows, traversing coordinate points from the second direction to the first direction until the first non-zero point is reached, and taking the first non-zero point as the edge point; the edge point is the first non-zero coordinate point during traversal. Based on the edge points, the filtering region is determined using the flood fill method, including: traversing each coordinate in the edge point set, taking each coordinate as a starting point, using the flood fill method to find complete connected regions with values ​​greater than 0, and recording the found coordinates in the filtering region coordinate set; the flood fill method uses 8-neighborhood filling. The walking data matrix is ​​filtered based on the filtering region.

2. The method according to claim 1, characterized in that, Determining the number of edge rows of the four edges being traversed includes: Obtain the age, foot length, and gender of the user corresponding to the walking data; The resolution of the pressure plate when acquiring the walking data matrix; The number of edge rows of the four edges to be traversed is determined based on the resolution, age, foot length, and gender.

3. The method according to claim 2, characterized in that, The determination of the number of edge rows for traversing the four edges based on the resolution, age, foot length, and gender includes: The age factor is determined based on the stated age; Determine the foot length factor based on the stated foot length; Determine the gender factor based on the stated gender; Determine the scaling factor based on the resolution; The number of edge rows of the four edges traversed is calculated based on the scaling factor, the age factor, the foot length factor, and the gender factor.

4. The method according to claim 1, characterized in that, The filtering of the walking data matrix based on the filtering region includes: Set the values ​​of the coordinate points in the walking data matrix that correspond to the coordinates of the filtered area to zero to obtain a zeroed data matrix; The matrix with all coordinate points being zero in the zeroed data matrix is ​​deleted to obtain the filtered walking data matrix.

5. A walking data filtering device, characterized in that, include: The first traversal module is configured to traverse all acquired walking data matrices, determine the maximum value corresponding to each coordinate point, and obtain a maximum value matrix. This includes: constructing a blank matrix; sequentially traversing each coordinate point in all acquired walking data matrices, and in response to a value in the walking data matrix that is greater than the corresponding value in the current blank matrix, replacing the value of the coordinate point in the blank matrix with the corresponding value in the walking data matrix; and obtaining the maximum value matrix in response to the completion of traversing all walking data matrices. The second traversal module is configured to traverse the four edges of the maximum value matrix and determine edge points, including: determining the number of edge rows of the four edges to be traversed; for each edge row, traversing the coordinate points from a first direction to a second direction until the first non-zero point is reached, and taking the first non-zero point as the edge point; in response to traversing all edge rows, traversing the coordinate points from the second direction to the first direction until the first non-zero point is reached, and taking the first non-zero point as the edge point; the edge point is the first non-zero coordinate point during traversal. The filling module is configured to determine the filtering region based on the edge points using a flood filling method, including: traversing each coordinate in the set of edge points, taking each coordinate as a starting point, using the flood filling method to find complete connected regions with values ​​greater than 0, and recording the found coordinates into the set of filtering region coordinates; the flood filling method uses 8-neighborhood filling. The filtering module is configured to filter the walking data matrix based on the filtering region.

6. An electronic device comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, characterized in that, When the processor executes the computer program, it implements the method as described in any one of claims 1 to 4.

7. A non-transitory computer-readable storage medium storing computer instructions, characterized in that, The computer instructions are used to cause the computer to perform the method according to any one of claims 1 to 4.

8. A computer program product comprising computer program instructions that, when executed on a computer, cause the computer to perform the method as described in any one of claims 1 to 4.