CN113008242A - User behavior data processing method, device, equipment and storage medium - Google Patents

User behavior data processing method, device, equipment and storage medium Download PDF

Info

Publication number
CN113008242A
CN113008242A CN202110298300.2A CN202110298300A CN113008242A CN 113008242 A CN113008242 A CN 113008242A CN 202110298300 A CN202110298300 A CN 202110298300A CN 113008242 A CN113008242 A CN 113008242A
Authority
CN
China
Prior art keywords
data
effective
inflection points
accelerometer
determining
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110298300.2A
Other languages
Chinese (zh)
Other versions
CN113008242B (en
Inventor
舒向前
王楠
章国锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen TetrasAI Technology Co Ltd
Original Assignee
Shenzhen TetrasAI Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shenzhen TetrasAI Technology Co Ltd filed Critical Shenzhen TetrasAI Technology Co Ltd
Priority to CN202110298300.2A priority Critical patent/CN113008242B/en
Publication of CN113008242A publication Critical patent/CN113008242A/en
Application granted granted Critical
Publication of CN113008242B publication Critical patent/CN113008242B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/20Instruments for performing navigational calculations
    • G01C21/206Instruments for performing navigational calculations specially adapted for indoor navigation
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C22/00Measuring distance traversed on the ground by vehicles, persons, animals or other moving solid bodies, e.g. using odometers, using pedometers
    • G01C22/006Pedometers

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)

Abstract

The utility model provides a user behavior data processing method, device, equipment and storage medium, can carry out low pass filtering to the acceleration data of terminal that acquires, and then data transmission frame rate during the acceleration data acquisition, required threshold value when calculating to the effective acceleration data that obtains after low pass filtering is adjusted, thereby confirm user's step number according to the inflection point number of selecting, the data after the filtration not only satisfies follow-up operation requirement, can also guarantee to occupy very little calculated amount, make the algorithm can be operated at the webpage end, can effectively reduce the hysteresis quality of data, and the screening of data can adapt to the acceleration data of different frame rates, can effectively detect user's walking step number through acceleration data, effectively improve detection accuracy.

Description

User behavior data processing method, device, equipment and storage medium
Technical Field
The present disclosure relates to the field of computer technologies, and in particular, to a method, an apparatus, a device, and a storage medium for processing user behavior data.
Background
The indoor navigation technology enables people who are in large indoor places such as superstores, hospitals and schools to determine their own positions and find desired places by using an accurate positioning function even in buildings, and therefore more and more attention is paid. In the indoor navigation technology, a Pedestrian Dead Reckoning (PDR) technology does not need to pre-install a beacon node in a building, and calculates the step length and the direction of a person by using inertial sensors (such as an acceleration sensor, a gyroscope, a magnetometer and the like), that is, the track of a travelling person in the building is estimated.
The accuracy of the PDR technique itself depends heavily on the quality of input data, however, most PDR techniques for common users currently perform acceleration data acquisition through a terminal device (e.g., a mobile phone) of the user, and then perform data processing calculation through an application in the terminal device to calculate the number of steps and navigation of the user, for example, the user may perform PDR calculation through a web page on the terminal device, but with the change of the load of the terminal device and the change of factors such as the frame rate of data transmission, the accuracy of data processing is low, for example, the frame rate of acceleration data taken by the web page during data processing is low, the time stamp of the number of steps is inaccurate to detect due to the low frame rate, the web page cannot acquire the real time stamp acquired by a sensor, only the time stamp when the data is updated can be approximately used, the error is large, and when the load of the web page is high, the frame rate is further decreased and random frame loss is accompanied, which further increases the detection difficulty and increases the error.
Disclosure of Invention
In view of this, the embodiments of the present disclosure at least provide a user behavior data processing method, device, electronic device and readable storage medium, which can effectively detect the number of steps of a user's action, and help to improve the accuracy and precision of the detection result, so as to solve at least one of the technical problems in the prior art.
The embodiment of the disclosure provides a user behavior data processing method, which comprises the following steps:
acquiring acceleration data of a terminal and a corresponding data transmission frame rate during the acceleration data acquisition;
carrying out low-pass filtering processing on the acceleration data to obtain processed effective acceleration data;
determining a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modular length threshold matched with the data transmission frame rate;
and determining the action steps of the user based on the inflection point number of the obtained plurality of effective data inflection points.
In the embodiment, the acceleration data acquired through the accelerometer on the terminal (such as a mobile terminal) is processed through low-pass filtering, and the effective acceleration data after the low-pass filtering is screened through the data transmission frame rate during the acceleration data acquisition, so that the step number of the user is determined.
In an optional embodiment, the method further comprises:
and when the target webpage is detected to be completely loaded on the terminal and is in a running state, controlling an acceleration sensor of the terminal to acquire acceleration data of the terminal.
Like this, can carry out step count statistics and detection through the webpage of real-time operation, need not to install APP, and it is simple convenient to use, and application prospect is extensive.
In an optional embodiment, the determining a plurality of valid data inflection points from the valid acceleration data based on the accelerometer modulo length threshold matched with the data transmission frame rate includes:
determining a plurality of data time nodes in the effective acceleration data and an accelerometer mode length corresponding to each data time node;
determining a step number statistical array representing the user action according to the accelerometer modular length of each data time node;
determining a plurality of preselected data inflection points from the step number statistical array;
and deleting the preselected data inflection points of which the accelerometer modular length is smaller than the accelerometer modular length threshold matched with the data transmission frame rate from the preselected data inflection points to obtain a plurality of effective data inflection points in the effective acceleration data.
Therefore, the step number statistical array obtained through calculation between the adjacent data nodes can accurately and effectively process the data, and the missing processing of the data is effectively reduced.
In an alternative embodiment, the determining a statistical array of steps characterizing the user's actions according to the accelerometer modulus length of each data time node includes:
calculating the difference value between the accelerometer mode length corresponding to the later time node in every two adjacent data time nodes in the plurality of data time nodes and the accelerometer mode length corresponding to the earlier time node;
if the difference value is larger than or equal to a first comparison threshold value, recording the accelerometer modular length corresponding to the later time node as a first mark element in the array;
if the difference value is smaller than the first comparison threshold value, recording the accelerometer modular length corresponding to the later time node as a second marking element in the array;
and sequencing according to the sequence of the data time node corresponding to each first mark element and the data time node corresponding to each second mark element to obtain a step number statistical array including a plurality of first mark elements and a plurality of second mark elements and representing the user action.
In an alternative embodiment, the determining a plurality of pre-selected data inflection points characterizing the user's actions according to the step count statistic array includes:
and traversing the step number statistical array, and if a preceding marking element is different from a following marking element in two adjacent marking elements and the preceding marking element is the first marking element, determining a time acquisition node corresponding to the preceding marking element as a preselected data inflection point.
In an alternative embodiment, the determining a plurality of preselected data inflection points from the step count statistical array comprises:
calculating the difference value between the array element value corresponding to the prior mark element and the array element value corresponding to the subsequent mark element in every two adjacent mark elements in the step number statistic array;
and if the difference is larger than the first comparison threshold, determining the time acquisition node corresponding to the previous marking element as a preselected data inflection point.
In an optional embodiment, the method further comprises:
if the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is smaller than a first time length threshold matched with the data transmission frame rate, deleting the effective data inflection point with the corresponding accelerometer mode length in the two adjacent effective data inflection points; determining remaining effective data inflection points as a plurality of effective data inflection points determined from the effective acceleration data; and/or
If the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is greater than a second time length threshold matched with the data transmission frame rate, reducing the accelerometer module length threshold; and if a time acquisition node with the corresponding accelerometer mode length larger than the reduced accelerometer mode length threshold value exists between the two adjacent effective data inflection points, determining the detected time acquisition node as the effective data inflection point determined from the effective acceleration data.
In the embodiment, the jitter data can be accurately screened out and deleted, so that the accuracy of the data can be ensured, the effectiveness of the step counting result can be improved, and the missing detection and the false detection caused by the jitter of the data can be effectively reduced.
In an optional embodiment, the method further comprises:
determining that a temporal order of corresponding data time nodes of the plurality of valid data inflection points is located at a last at least two valid data inflection points;
and determining the current step length and the current speed of the user based on the data time node and the accelerometer modulus length of each effective data inflection point of the at least two effective data inflection points.
In an alternative embodiment, the determining the current step size and the current velocity of the user based on the data time node and the accelerometer modulus for each of the at least two valid data inflection points comprises:
determining a current stride frequency of the user based on a data time node of each of the at least two valid data inflection points;
calculating the current step length of the user according to the current step frequency and the module length variance determined based on the accelerometer module length of each effective data inflection point of the at least two effective data inflection points;
and calculating the current speed of the user according to the current step length and the action time determined based on the data time node of each effective data inflection point of the at least two effective data inflection points.
The embodiment of the present disclosure further provides a device for processing user behavior data, where the device includes:
the data acquisition module is used for acquiring acceleration data of the terminal and a corresponding data transmission frame rate during the acceleration data acquisition;
the data filtering module is used for carrying out low-pass filtering processing on the effective acceleration data to obtain processed effective acceleration data;
a first inflection point determining module, configured to determine a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modulo length threshold matched with the data transmission frame rate;
and the step number determining module is used for determining the action step number of the user based on the inflection point number of the obtained inflection points of the plurality of effective data.
In an alternative embodiment, the apparatus further comprises:
and the data acquisition module is used for controlling an acceleration sensor of the terminal to acquire the acceleration data of the terminal when the target webpage is detected to be loaded on the terminal and is in a running state.
In an optional implementation manner, the first inflection point determining module is specifically configured to:
determining a plurality of data time nodes in the effective acceleration data and an accelerometer mode length corresponding to each data time node;
determining a step number statistical array representing the user action according to the accelerometer modular length of each data time node;
determining a plurality of preselected data inflection points from the step number statistical array;
and deleting the preselected data inflection points of which the accelerometer modular length is smaller than the accelerometer modular length threshold matched with the data transmission frame rate from the preselected data inflection points to obtain a plurality of effective data inflection points in the effective acceleration data.
In an alternative embodiment, the first inflection point determination module, when configured to determine the step count statistical array characterizing the user action according to the accelerometer modulus length of each data time node, is specifically configured to:
calculating the difference value between the accelerometer mode length corresponding to the later time node in every two adjacent data time nodes in the plurality of data time nodes and the accelerometer mode length corresponding to the earlier time node;
if the difference value is larger than or equal to a first comparison threshold value, recording the accelerometer modular length corresponding to the later time node as a first mark element in the array;
if the difference value is smaller than the first comparison threshold value, recording the accelerometer modular length corresponding to the later time node as a second marking element in the array;
and sequencing according to the sequence of the data time node corresponding to each first mark element and the data time node corresponding to each second mark element to obtain a step number statistical array including a plurality of first mark elements and a plurality of second mark elements and representing the user action.
In an optional implementation, when the first inflection point determining module is configured to determine a plurality of preselected data inflection points representing user actions according to the step count statistic array, the first inflection point determining module is specifically configured to:
and traversing the step number statistical array, and if a preceding marking element is different from a following marking element in two adjacent marking elements and the preceding marking element is the first marking element, determining a time acquisition node corresponding to the preceding marking element as a preselected data inflection point.
In an optional implementation manner, the first inflection point determining module, when configured to determine a plurality of preselected data inflection points from the step count statistical array, is specifically configured to:
calculating the difference value between the array element value corresponding to the prior mark element and the array element value corresponding to the subsequent mark element in every two adjacent mark elements in the step number statistic array;
and if the difference is larger than the first comparison threshold, determining the time acquisition node corresponding to the previous marking element as a preselected data inflection point.
In an optional embodiment, the apparatus further comprises a knee screening module for:
if the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is smaller than a first time length threshold matched with the data transmission frame rate, deleting the effective data inflection point with the corresponding accelerometer mode length in the two adjacent effective data inflection points; determining remaining effective data inflection points as a plurality of effective data inflection points determined from the effective acceleration data; and/or
If the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is greater than a second time length threshold matched with the data transmission frame rate, reducing the accelerometer module length threshold; and if a time acquisition node with the corresponding accelerometer mode length larger than the reduced accelerometer mode length threshold value exists between the two adjacent effective data inflection points, determining the detected time acquisition node as the effective data inflection point determined from the effective acceleration data.
In an alternative embodiment, the apparatus further comprises:
a second inflection point determining module, configured to determine at least two valid data inflection points whose time order of corresponding data time nodes is located last among the plurality of valid data inflection points;
and the action statistic module is used for determining the current step length and the current speed of the user based on the data time node and the accelerometer module length of each effective data inflection point in the at least two effective data inflection points.
In an optional implementation manner, the action statistics module is specifically configured to:
determining a current stride frequency of the user based on a data time node of each of the at least two valid data inflection points;
calculating the current step length of the user according to the current step frequency and the module length variance determined based on the accelerometer module length of each effective data inflection point of the at least two effective data inflection points;
and calculating the current speed of the user according to the current step length and the action time determined based on the data time node of each effective data inflection point of the at least two effective data inflection points.
An embodiment of the present disclosure further provides a computer device, including: the device comprises a processor, a memory and a bus, wherein the memory stores machine readable instructions executable by the processor, the processor and the memory are communicated through the bus when a computer device runs, and the machine readable instructions are executed by the processor to execute the steps of the user behavior data processing method.
The embodiment of the present disclosure further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the user behavior data processing method are executed.
The user behavior data processing method, the device, the equipment and the readable storage medium provided by the embodiment of the disclosure can perform low-pass filtering processing on acceleration data, and then adjust the threshold value required by calculating the effective acceleration data obtained after the low-pass filtering processing by acquiring the data transmission frame rate during the acceleration data, so as to determine the step number of a user.
In order to make the aforementioned objects, features and advantages of the present disclosure more comprehensible, preferred embodiments accompanied with figures are described in detail below.
Drawings
In order to more clearly illustrate the technical solutions of the embodiments of the present disclosure, the drawings required for use in the embodiments will be briefly described below, and the drawings herein incorporated in and forming a part of the specification illustrate embodiments consistent with the present disclosure and, together with the description, serve to explain the technical solutions of the present disclosure. It is appreciated that the following drawings depict only certain embodiments of the disclosure and are therefore not to be considered limiting of its scope, for those skilled in the art will be able to derive additional related drawings therefrom without the benefit of the inventive faculty.
Fig. 1 is a flowchart of a user behavior data processing method according to an embodiment of the present disclosure;
FIG. 2 is a schematic diagram of acceleration data processing provided by embodiments of the present disclosure;
fig. 3 is a flowchart of another user behavior data processing method provided in the embodiment of the present disclosure;
fig. 4 is one schematic diagram of a user behavior data processing apparatus according to an embodiment of the present disclosure;
fig. 5 is a second schematic diagram of a user behavior data processing apparatus according to an embodiment of the disclosure;
fig. 6 is a third schematic diagram of a user behavior data processing apparatus according to an embodiment of the present disclosure;
fig. 7 is a fourth schematic diagram of a user behavior data processing apparatus according to an embodiment of the disclosure;
fig. 8 is a schematic diagram of a computer device according to an embodiment of the present disclosure.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present disclosure more clear, the technical solutions of the embodiments of the present disclosure will be described clearly and completely with reference to the drawings in the embodiments of the present disclosure, and it is obvious that the described embodiments are only a part of the embodiments of the present disclosure, not all of the embodiments. The components of the embodiments of the present disclosure, generally described and illustrated in the figures herein, can be arranged and designed in a wide variety of different configurations. Thus, the following detailed description of the embodiments of the present disclosure, presented in the figures, is not intended to limit the scope of the claimed disclosure, but is merely representative of selected embodiments of the disclosure. All other embodiments, which can be derived by a person skilled in the art from the embodiments of the disclosure without making creative efforts, shall fall within the protection scope of the disclosure.
It should be noted that: like reference numbers and letters refer to like items in the following figures, and thus, once an item is defined in one figure, it need not be further defined and explained in subsequent figures.
Based on the research, the present disclosure provides a user behavior data processing method, which may perform low-pass filtering on acceleration data, adjust a threshold required for screening effective acceleration data after the low-pass filtering according to different frame rates during the acceleration data acquisition, and effectively detect the number of steps of user walking through the effective acceleration data, where the filtered data may ensure that only a small amount of computation is occupied, so that an algorithm may operate at a web page end, thereby effectively reducing the hysteresis of data, helping to solve the problem of low accuracy caused by the frame rate of data transmission, and the data screening may be adapted to the number of accelerations at different frame rates, which is helpful to improve the detection accuracy.
To facilitate understanding of the present embodiment, first, a user behavior data processing method disclosed in the embodiments of the present disclosure is described in detail, where an execution subject of the user behavior data processing method provided in the embodiments of the present disclosure is generally a computer device with certain computing capability, and the computer device includes, for example: a terminal device, which may be a User Equipment (UE), a mobile device, a User terminal, a cellular phone, a cordless phone, a Personal Digital Assistant (PDA), a handheld device, a computing device, a vehicle mounted device, a wearable device, or a server or other processing device. In some possible implementations, the user behavior data processing method may be implemented by a processor calling computer readable instructions stored in a memory.
The following describes a user behavior data processing method provided by the embodiment of the present disclosure, taking an execution subject as a terminal device as an example.
Referring to fig. 1, fig. 1 is a flowchart of a user behavior data processing method according to an embodiment of the present disclosure. As shown in fig. 1, the method comprises:
s101: the method comprises the steps of obtaining acceleration data of a terminal and obtaining a corresponding data transmission frame rate during the acceleration data obtaining.
In this step, when the action step number of the user needs to be detected, or the action step number of the user is detected to be used for calculating speed, step length or navigation for the user subsequently, for example, when the user loads a target webpage for calculating speed, step length or navigation on a terminal, acceleration data may be collected by an acceleration sensor on the terminal of the user, the target webpage may obtain the acceleration data collected by the acceleration sensor and perform encapsulation processing on the acceleration data, then the encapsulated acceleration data sent by the target webpage may be obtained, and a data transmission frame rate corresponding to the period of obtaining the acceleration data may be obtained by calculating the acceleration data sent by the target webpage, and the like.
The acceleration sensor on the terminal may be a native acceleration sensor on the terminal itself, or an acceleration sensor mounted on the terminal after. For example, the acceleration sensor may be a mobile phone or a wearable device of the user, an acceleration sensor on the mobile phone or the wearable device, or an acceleration sensor additionally installed on a device such as a notebook computer or a vehicle-mounted device of the user as needed.
The data transmission frame rate corresponding to the acceleration data acquisition period may be a data transmission frame rate at which the target webpage transmits the acceleration data during the period of receiving the encapsulated acceleration data transmitted by the target webpage.
The frame rate of data transmission may be a frame rate of each time point corresponding to the acceleration data at each time point, or an average frame rate of the acceleration data, or may be an average frame rate of the acceleration data, where the entire time period is divided into a plurality of sub-time periods according to a fluctuation of the frame rate in the entire time period in which the acceleration data is received, and then the average frame rate in each sub-time period is used. For example, counting how many times acceleration data are sent from the netpage within the last 2 seconds every 2 seconds, and by calculating the frame rate, if 80 data are sent to us within 2 seconds, the frame rate can be considered to be 40. The above-mentioned calculation method is merely an example and is not limited thereto.
Exemplarily, when a user visits an indoor or outdoor place with a certain range such as a shopping mall, a school or an exhibition hall, and a corresponding shop, a classroom or an exhibit is needed to be found, an indoor navigation map of a corresponding area can be checked for searching, at the moment, if the user is needed to download a corresponding APP, the APP is more complicated, flow is wasted, and the like, most of users can select a Web end using mode, the user can check and even navigate by opening a corresponding Web through scanning a two-dimensional code and the like, at the moment, acceleration data of the user during walking can be collected through an acceleration sensor on the mobile phone of the user.
S102: and carrying out low-pass filtering processing on the acceleration data to obtain processed effective acceleration data.
Since some noise may exist in the collected raw acceleration data, causing jitter of the data waveform, for example, the example shown in fig. 2, fig. 2 is a schematic diagram of acceleration data processing provided by the embodiment of the present disclosure, and after obtaining the acceleration data, a waveform curve 210 for characterizing the user action may be obtained through the acceleration data, as can be seen from the diagram, there is much jitter and noise in the waveform curve 210.
Therefore, in this step, the obtained acceleration data may be subjected to low-pass filtering processing, so as to obtain filtered effective acceleration data.
After low pass filtering, the effective acceleration data with greatly reduced noise and a corresponding smoother waveform, such as the waveform 220 in fig. 2, can be obtained.
In view of the fact that the frame rate of the acceleration sensor on the terminal is low, low-pass filtering is used in the embodiment of the disclosure to filter the modular length of the triaxial accelerometer, so that the calculation amount is low, data noise can be well removed, and a moderate filtering coefficient is selected to avoid too serious hysteresis of the filtered data.
Illustratively, the acceleration data may be low-pass filtered by the following equation:
y(k)=x(k)*alpha+(1-alpha)*y(k-1);
wherein y (k) is the module length of the filtered acceleration data k, x (k) is the original module length of the acceleration data k, alpha is the filter coefficient, and y (k-1) is the filtered module length of the acceleration data k-1 before the acceleration data k.
The filter coefficient alpha may be a coefficient corresponding to different acceleration sensors obtained through a deep learning method.
S103: and determining a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modular length threshold matched with the data transmission frame rate.
In this step, after the effective acceleration data and the data transmission frame rate are obtained, an accelerometer module length threshold for screening the effective acceleration data may be calculated through the data transmission frame rate, or the accelerometer module length threshold calculated by the background after the data transmission frame rate is sent to the background is obtained, or the accelerometer module length threshold corresponding to the data transmission frame rate is obtained according to a mapping relationship between a preset frame rate and the accelerometer module length threshold, so as to screen the effective acceleration data, thereby obtaining a plurality of effective data inflection points.
Correspondingly, the accelerometer modulo length threshold matched with the data transmission frame rate may be an accelerometer modulo length threshold at each time point when the acceleration data is acquired, or may be a fixed accelerometer modulo length threshold corresponding to an average frame rate in the whole data acquisition time period, or may be an average frame rate of each sub-time period in a plurality of sub-time periods in the whole data acquisition time period, or a corresponding accelerometer modulo length threshold.
Illustratively, as shown in fig. 2, after obtaining the effective acceleration data, a waveform inflection point curve 230 for characterizing the step number of the user action may be obtained according to the effective acceleration data, and a plurality of inflection points of the waveform may be obtained from the waveform inflection point curve 230, and these inflection points may be effective data inflection points of the user action.
Therefore, the accelerometer modular length threshold is determined according to the data transmission frame rate to screen acceleration data, the accelerometer modular length threshold can be adjusted through the data transmission frame rate to adapt to acceleration data acquired at different frame rates, and when the frame rate is changed when the data is acquired due to different working states of the terminal, the data screening threshold is adjusted in time, so that the data screening precision can be effectively improved, and the accuracy of calculation of subsequent steps and the like is ensured.
S104: and determining the action steps of the user based on the inflection point number of the obtained plurality of effective data inflection points.
In this step, the number of inflection points of the effective data inflection points is determined, so as to obtain the number of action steps of the user, that is, the number of action steps of the user is equal to the number of inflection points.
Illustratively, the number of steps of the user's action may be derived from the number of corners in the waveform knee curve 230 in the example shown in FIG. 2.
Although the user behavior data processing method provided by the embodiment of the present disclosure is described by taking a Web end as an example, the method is not limited to this, and in other embodiments, the method can also be used through an APP, and at this time, the APP does not need to obtain a timestamp of data, so that the calculation amount of the APP can be effectively reduced, and the obtained action step number of the user is directly provided to the APP to perform subsequent calculation.
According to the user behavior data processing method provided by the embodiment of the disclosure, acceleration data of a terminal is obtained, and a data transmission frame rate corresponding to the acceleration data is obtained; carrying out low-pass filtering processing on the acceleration data to obtain processed effective acceleration data; determining a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modular length threshold matched with the data transmission frame rate; and determining the action steps of the user based on the inflection point number of the obtained plurality of effective data inflection points.
Therefore, the acquired acceleration data are subjected to low-pass filtering, the data transmission frame rate during the acceleration data acquisition period is used for adjusting the threshold value required when the effective acceleration data obtained after the low-pass filtering is calculated, the step number of the user is determined, the filtered data not only meet the follow-up use requirement, but also can ensure that only a small amount of calculation is occupied, the algorithm can operate at a webpage end, the hysteresis of the data can be effectively reduced, the data screening can adapt to the acceleration data with different frame rates, the walking step number of the user can be effectively detected through the acceleration data, and the detection accuracy is effectively improved.
Referring to fig. 3, fig. 3 is a flowchart of another user behavior data processing method according to an embodiment of the present disclosure. As shown in fig. 3, the method includes:
s301: and when the target webpage is detected to be completely loaded on the terminal and is in a running state, controlling an acceleration sensor of the terminal to acquire acceleration data of the terminal.
For example, in a specific use scenario, for example, when a user needs to record motion information or navigate, a corresponding target Web page may be opened at a Web end by scanning a two-dimensional code or opening a link, and at this time, if it is detected that the target Web page is completely loaded on the terminal and is in a running state, an acceleration sensor of the terminal may be controlled to acquire acceleration data of the terminal.
Since the terminal moves along with the user, the acceleration data of the terminal can be regarded as the acceleration data of the user action.
S302: the method comprises the steps of obtaining acceleration data of a terminal and obtaining a corresponding data transmission frame rate during the acceleration data obtaining.
S303: carrying out low-pass filtering processing on the acceleration data to obtain processed effective acceleration data;
s304: and determining a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modular length threshold matched with the data transmission frame rate.
S305: and determining the action steps of the user based on the inflection point number of the obtained plurality of effective data inflection points.
The descriptions of step S302 to step S305 may refer to the descriptions of step S101 to step S104, and the same technical effect and the same technical problem can be achieved, which are not described herein again.
In some possible embodiments, step S304 includes:
s3041: and determining a plurality of data time nodes in the effective acceleration data and an accelerometer mode length corresponding to each data time node.
In this step, a plurality of data time nodes may be determined by the acquisition timestamp corresponding to each data in the effective acceleration data, and the acceleration data of each data time node is calculated to obtain the accelerometer mode length corresponding to each data time node.
The data time node may record a receiving time when the corresponding speed data is received when the effective acceleration data is sent by the target webpage, or may refer to a data acquisition time when the effective acceleration data is acquired.
S3042: and determining a step number statistical array representing the user action according to the accelerometer modular length of each data time node.
In this step, each data in the effective acceleration data may be calculated by an array statistical method through the accelerometer length of each data time node, so as to obtain a step statistical array representing the user action.
Specifically, the step count statistic array representing the user action may be determined by calculating an accelerometer modulus length corresponding to a later time node in every two adjacent data time nodes in the plurality of data time nodes, the difference between the accelerometer modulo lengths corresponding to the preceding time nodes, for data statistics, and if the difference is greater than or equal to a first comparison threshold, the accelerometer modulo length corresponding to the later time node may be recorded as the first flag element in the array, and if the difference is less than the first comparison threshold, the accelerometer modulo length corresponding to the later time node may be noted as the second marker element in the array, then, sorting the data time nodes corresponding to each first marking element and the data time nodes corresponding to each second marking element according to the sequence, a statistical array of steps characterizing the user's actions including a plurality of first markup elements and a plurality of second markup elements is obtained.
Illustratively, taking the waveform curve 220 in fig. 2 as an example for illustration, the waveform curve 220 is formed by plotting a plurality of data time nodes and corresponding accelerometer moduli, and observing the waveform curve, when the curve rises, the difference value between the new data corresponding to the later time node and the old data corresponding to the earlier time node is a positive number, and when the curve falls, the difference value is a negative number, for convenience of marking, 1 and-1 can be respectively marked for the positive number and the negative number, and the first comparison threshold value is taken as 0, so that a step number statistical array representing the user action can be obtained.
For convenience of comparison, the first comparison threshold may be 0 in the embodiment of the present disclosure, but is not limited to this, and in other embodiments of the present disclosure, the first comparison threshold may also be a value according to an array element value of the first flag element and an array element value of the second flag element.
S3043: a plurality of preselected data inflection points are determined from the step count statistical array.
In this step, after the step number statistical array is obtained, the marking elements of the step number statistical array may be further screened, so as to obtain data time nodes corresponding to the screened marking elements, and obtain a plurality of pre-selected data inflection points corresponding to the less-selected marking elements.
Specifically, in some possible embodiments, the determining a plurality of preselected data inflection points may be performed by traversing the step count statistical array to compare the mark elements of the step count statistical array, and if a preceding mark element is different from a succeeding mark element in two adjacent mark elements and the preceding mark element is the first mark element, determining a time acquisition node corresponding to the preceding mark element as the preselected data inflection point.
Illustratively, as can be seen from the observation of the wave-shaped curve, when the curve continues to rise, the flags in the step number statistic array are all 1, and when the curve continues to fall, the flags in the step number statistic array are all-1, after obtaining a step number statistic array comprising a series of steps alternately containing consecutive 1's and-1's as flag elements, for example, (1, 1 … -1, -1 … 1,1 … -1-1 …), if the adjacent flag element changes from 1 to-1, or the adjacent flag element changes from-1 to 1, i.e. the two previous and next flag elements are different, the curve is considered to have a turn, and further, as can be seen from the observation of the wave-shaped curve, the adjacent flag element changes from 1 to-1, i.e. from the first flag element to the second flag element, and when the previous flag element is the first flag element, when the mark element is changed from 1 to-1, the time acquisition node corresponding to the mark element being 1 can be determined as the preselected data inflection point.
Specifically, in some possible embodiments, the plurality of preselected data inflection points may be determined by calculating a difference between an array element value corresponding to a previous marked element and an array element value corresponding to a subsequent marked element in every two adjacent marked elements in the step count statistical array, and if the difference is greater than the first comparison threshold, determining the time acquisition node corresponding to the previous marked element as the preselected data inflection point.
Illustratively, by observing the wave curve and combining the obtained step number statistic array, the array element values corresponding to the consecutive mark elements in the step number statistic array are the same, such as 1 or-1, when the curve continuously rises or falls, so that after the step number statistic array is obtained, the array element values corresponding to two adjacent mark elements in the step number statistic array can be used for calculation, further, if the adjacent mark elements are changed from 1 to-1, the array element values corresponding to the two mark elements are used for calculation, namely 1- (-1) results in 2, which is larger than the first comparison threshold value, namely the wave shape is changed from the wave peak to the wave trough, and conversely, if the adjacent mark elements are changed from-1 to 1, the array element values corresponding to the two mark elements are used for calculation, i.e., -1-1, when the waveform transitions from a valley to a peak, the time acquisition node corresponding to the previous mark element, i.e., the time acquisition node corresponding to the previous mark element 1, can be determined as the preselected data inflection point.
Correspondingly, in the embodiment of the present disclosure, the difference between the array element value corresponding to the previous marked element and the array element value corresponding to the next marked element is taken as an example for statistics, but not limited thereto, in other embodiments, the difference between the array element value corresponding to the next marked element and the array element value corresponding to the previous marked element may also be taken as an example for statistics, and accordingly, the obtained difference is set to be smaller than the first comparison threshold, that is, if the difference is smaller than the first comparison threshold, the time acquisition node corresponding to the previous marked element is determined as the preselected data inflection point.
S3044: and deleting the preselected data inflection points of which the accelerometer modular length is smaller than the accelerometer modular length threshold matched with the data transmission frame rate from the preselected data inflection points to obtain a plurality of effective data inflection points in the effective acceleration data.
In this step, after the plurality of preselected data inflection points are obtained, the plurality of preselected data inflection points may be further screened, and the preselected data inflection points whose accelerometer mode length is smaller than the accelerometer mode length threshold value matched with the data transmission frame rate are deleted to remove jitter data, so as to finally obtain a plurality of effective data inflection points in the effective acceleration data.
Illustratively, as shown in a curve segment 221 of the waveform curve 220 in fig. 2, after the acceleration data has jitter, the corresponding waveform curve also has jitter, for example, there are two inflection points in the curve segment 221, that is, there are two pre-selected data inflection points, and then the pre-selected data inflection point corresponding to the inflection point smaller than the accelerometer mode length threshold can be deleted by the accelerometer mode length threshold matched with the data transmission frame rate.
In some possible embodiments, the method further comprises:
if the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is smaller than a first time length threshold matched with the data transmission frame rate, deleting the effective data inflection point with the corresponding accelerometer mode length in the two adjacent effective data inflection points; determining remaining valid data inflection points as a plurality of valid data inflection points determined from the valid acceleration data.
When acceleration data is acquired, due to data jitter caused by jitter of an acceleration sensor, two adjacent effective data inflection points may be close to each other but are both larger than the accelerometer modal length threshold.
At this time, in this step, a time interval between two adjacent effective data inflection points may be detected from among the determined plurality of effective data inflection points, and if two effective data inflection points exist whose time interval is smaller than a first time length threshold value that matches the data transmission frame rate, the corresponding effective data inflection point with the small accelerometer modulo length may be deleted.
Illustratively, as shown in the curve segment 222 of the waveform curve 220 in fig. 2, there are two waveform inflection points in the curve segment 222, but the two waveform inflection points are very close to each other, that is, the time interval between the two waveform inflection points is smaller than the first time threshold matching the data transmission frame rate, at this time, the corresponding effective data inflection point with small accelerometer mode length may be deleted for data accuracy.
Further, if the accelerometer moduli of the two effective data inflection points whose time interval is smaller than the first time threshold matched with the data transmission frame rate are the same, one of the two effective data inflection points may be deleted arbitrarily, and the other one may be left.
The first time length threshold value matched with the data transmission frame rate may be set according to requirements such as data processing accuracy, or may be obtained by matching in real time in a manner of calculation and the like in combination with factors such as different frame rates during data transmission.
In some possible embodiments, the method further comprises:
if the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is greater than a second time length threshold matched with the data transmission frame rate, reducing the accelerometer module length threshold; and if a time acquisition node with the corresponding accelerometer mode length larger than the reduced accelerometer mode length threshold value exists between the two adjacent effective data inflection points, determining the detected time acquisition node as the effective data inflection point determined from the effective acceleration data.
When acceleration data is acquired, data is missed due to missing acquisition of the acceleration sensor, and valid data may not be detected for a long time.
Therefore, in this step, if it is detected that the time interval between two adjacent valid data inflection points is greater than the second duration threshold matching the data transmission frame rate, it may be considered that there is missing detection of data, at this time, the accelerometer mode length threshold may be correspondingly adjusted to be smaller, and then, the data between two valid data inflection points whose time interval is greater than the second duration threshold matching the data transmission frame rate is re-screened by the accelerometer mode length threshold adjusted to be smaller, so as to find out a corresponding time collection node whose accelerometer mode length is greater than the accelerometer mode length threshold adjusted to be determined as a valid data inflection point determined from the valid acceleration data.
In some possible embodiments, the method further comprises:
determining that a temporal order of corresponding data time nodes of the plurality of valid data inflection points is located at a last at least two valid data inflection points; and determining the current step length and the current speed of the user based on the data time node and the accelerometer modulus length of each effective data inflection point of the at least two effective data inflection points.
In a particular application, a user will typically need to know the current motion data, such as the user's current real-time speed, etc.
Therefore, in this step, the current step size and the current velocity of the user may be calculated using at least two valid data inflection points whose time order of the corresponding data time node among the plurality of valid data inflection points is located last, the corresponding data time node, and the accelerometer modulo length.
Specifically, the determining of the current step size and the current velocity of the user may be determining the current step frequency of the user based on the data time node of each of the at least two effective data inflection points, then calculating the current step size of the user according to the current step frequency and the variance of the modulus length determined based on the accelerometer modulus length of each of the at least two effective data inflection points, and then calculating the current velocity of the user according to the current step size and the action time determined based on the data time node of each of the at least two effective data inflection points.
The time difference between the data time nodes of every two effective data inflection points in the at least two effective data inflection points can be regarded as the period of the user action, and the reciprocal of the period can be regarded as the current step frequency of the user step.
Illustratively, the step size of the user may be calculated by the following formula:
A=a+b*B+c*C;
wherein, A is the step length of the user, B is the current step frequency of the user, C is the module length variance determined based on the accelerometer module length of each effective data inflection point of the at least two effective data inflection points, and a, B and C are calculation coefficients. a. b and c can be obtained by training through a deep learning method by utilizing big data, such as historical data of a user.
After the step length of the user is obtained, the step length can be regarded as the walking distance of the user, and then the walking time of the user is used, for example, the action time is determined according to the data time node of each effective data inflection point, so that the speed of the user can be calculated.
According to the user behavior data processing method provided by the embodiment of the disclosure, when the target webpage is detected to be completely loaded on the terminal and is in a running state, an acceleration sensor of the control terminal acquires acceleration data of the terminal; acquiring acceleration data of a terminal and a corresponding data transmission frame rate during the acceleration data acquisition; carrying out low-pass filtering processing on the acceleration data to obtain processed effective acceleration data; determining a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modular length threshold matched with the data transmission frame rate; and determining the action steps of the user based on the inflection point number of the obtained plurality of effective data inflection points.
Therefore, acceleration data are collected through the control terminal, low-pass filtering processing is carried out on the obtained acceleration data, then the data transmission frame rate during the acceleration data obtaining period is adopted, the threshold value required when the effective acceleration data obtained after processing is calculated is adjusted, the step number of a user is determined, the filtered data not only meet the follow-up use requirement, but also can ensure that only little calculation amount is occupied, the algorithm can operate at a webpage end, the hysteresis of the data can be effectively reduced, the data screening can adapt to the acceleration data with different frame rates, the walking step number of the user can be effectively detected through the acceleration data, and the detection accuracy is effectively improved.
It will be understood by those skilled in the art that in the method of the present invention, the order of writing the steps does not imply a strict order of execution and any limitations on the implementation, and the specific order of execution of the steps should be determined by their function and possible inherent logic.
Based on the same inventive concept, a user behavior data processing apparatus corresponding to the user behavior data processing method is also provided in the embodiments of the present disclosure, and since the principle of the apparatus in the embodiments of the present disclosure for solving the problem is similar to the user behavior data processing method in the embodiments of the present disclosure, the implementation of the apparatus may refer to the implementation of the method, and repeated details are not repeated.
Referring to fig. 4 to 7, fig. 4 is a first schematic diagram of a user behavior data processing device according to an embodiment of the disclosure, fig. 5 is a second schematic diagram of the user behavior data processing device according to the embodiment of the disclosure, fig. 6 is a third schematic diagram of the user behavior data processing device according to the embodiment of the disclosure, and fig. 7 is a fourth schematic diagram of the user behavior data processing device according to the embodiment of the disclosure. As shown in fig. 4, a user behavior data processing apparatus 400 provided by an embodiment of the present disclosure includes:
the data obtaining module 410 is configured to obtain acceleration data of the terminal, and a corresponding data transmission frame rate during obtaining the acceleration data.
The data filtering module 420 is configured to perform low-pass filtering processing on the acceleration data to obtain processed effective acceleration data;
a first inflection point determining module 430, configured to determine a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modulo length threshold matched with the frame rate of data transmission.
And a step number determining module 440, configured to determine an action step number of the user based on the obtained inflection point number of the plurality of effective data inflection points.
In an alternative embodiment, as shown in fig. 5, the user behavior data processing apparatus 400 further includes:
and the data acquisition module 450 is configured to, when it is detected that the target webpage is completely loaded on the terminal and is in a running state, control an acceleration sensor of the terminal to acquire acceleration data of the terminal.
In an optional implementation, the first inflection point determining module 430 is specifically configured to:
determining a plurality of data time nodes in the effective acceleration data and an accelerometer mode length corresponding to each data time node;
determining a step number statistical array representing the user action according to the accelerometer modular length of each data time node;
determining a plurality of preselected data inflection points from the step number statistical array;
and deleting the preselected data inflection points of which the accelerometer modular length is smaller than the accelerometer modular length threshold matched with the data transmission frame rate from the preselected data inflection points to obtain a plurality of effective data inflection points in the effective acceleration data.
In an alternative embodiment, the first inflection point determining module 430, when configured to determine the statistical array of steps characterizing the user action according to the accelerometer modulus length of each data time node, is specifically configured to:
calculating the difference value between the accelerometer mode length corresponding to the later time node in every two adjacent data time nodes in the plurality of data time nodes and the accelerometer mode length corresponding to the earlier time node;
if the difference value is larger than or equal to a first comparison threshold value, recording the accelerometer modular length corresponding to the later time node as a first mark element in the array;
if the difference value is smaller than the first comparison threshold value, recording the accelerometer modular length corresponding to the later time node as a second marking element in the array;
and sequencing according to the sequence of the data time node corresponding to each first mark element and the data time node corresponding to each second mark element to obtain a step number statistical array including a plurality of first mark elements and a plurality of second mark elements and representing the user action.
In an alternative embodiment, the first inflection point determining module 430, when configured to determine a plurality of pre-selected data inflection points characterizing a user action according to the step count statistic array, is specifically configured to:
and traversing the step number statistical array, and if a preceding marking element is different from a following marking element in two adjacent marking elements and the preceding marking element is the first marking element, determining a time acquisition node corresponding to the preceding marking element as a preselected data inflection point.
In an optional implementation, the first inflection point determining module 430, when configured to determine a plurality of preselected data inflection points from the step count statistical array, is specifically configured to:
calculating the difference value between the array element value corresponding to the prior mark element and the array element value corresponding to the subsequent mark element in every two adjacent mark elements in the step number statistic array;
and if the difference is larger than the first comparison threshold, determining the time acquisition node corresponding to the previous marking element as a preselected data inflection point.
In an alternative embodiment, as shown in fig. 6, the user behavior data processing apparatus 400 further comprises a knee screening module 460, the knee screening module 460 is configured to:
if the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is smaller than a first time length threshold matched with the data transmission frame rate, deleting the effective data inflection point with the corresponding accelerometer mode length in the two adjacent effective data inflection points; determining remaining effective data inflection points as a plurality of effective data inflection points determined from the effective acceleration data; and/or
If the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is greater than a second time length threshold matched with the data transmission frame rate, reducing the accelerometer module length threshold; and if a time acquisition node with the corresponding accelerometer mode length larger than the reduced accelerometer mode length threshold value exists between the two adjacent effective data inflection points, determining the detected time acquisition node as the effective data inflection point determined from the effective acceleration data.
In an alternative embodiment, as shown in fig. 7, the user behavior data processing apparatus 400 further includes:
a second inflection point determining module 470 for determining at least two valid data inflection points whose time order of the corresponding data time nodes among the plurality of valid data inflection points is located last;
and an action statistic module 480 for determining a current step size and a current velocity of the user based on the data time node and the accelerometer modulus length of each of the at least two effective data inflection points.
In an optional implementation manner, the action statistics module 480 is specifically configured to:
determining a current stride frequency of the user based on a data time node of each of the at least two valid data inflection points;
calculating the current step length of the user according to the current step frequency and the module length variance determined based on the accelerometer module length of each effective data inflection point of the at least two effective data inflection points;
and calculating the current speed of the user according to the current step length and the action time determined based on the data time node of each effective data inflection point of the at least two effective data inflection points.
The user behavior data processing device provided by the embodiment of the disclosure acquires acceleration data of a terminal and a corresponding data transmission frame rate during the acceleration data acquisition; carrying out low-pass filtering processing on the acceleration data to obtain processed effective acceleration data; determining a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modular length threshold matched with the data transmission frame rate; and determining the action steps of the user based on the inflection point number of the obtained plurality of effective data inflection points.
Therefore, the acceleration data can be subjected to low-pass filtering processing, then the required threshold value is adjusted when the processed effective acceleration data is calculated through the data transmission frame rate during the acquired acceleration data, the step number of a user is determined, the filtered data not only meets the follow-up use requirement, but also can ensure that only little calculation amount is occupied, the algorithm can operate at a webpage end, the hysteresis of the data can be effectively reduced, the processing of the data can adapt to the acceleration data with different frame rates, the walking step number of the user can be effectively detected through the acceleration data, and the detection accuracy is effectively improved.
Referring to fig. 8, fig. 8 is a schematic diagram of a computer device according to an embodiment of the disclosure. As shown in fig. 8, the computer apparatus 800 includes: a processor 810, a memory 820 and a bus 830, wherein the memory 820 stores machine-readable instructions executable by the processor 810, the processor 810 and the memory 820 communicate via the bus 830 when the computer device 800 is running, and the machine-readable instructions, when executed by the processor 810, perform the steps of the user behavior data processing method described above.
For the specific execution process of the instruction, reference may be made to the steps of the user behavior data processing method in the embodiment of the present disclosure, and details are not described here.
The embodiment of the present disclosure further provides a computer-readable storage medium, where a computer program is stored on the computer-readable storage medium, and when the computer program is executed by a processor, the steps of the user behavior data processing method in the above method embodiment are executed. The storage medium may be a volatile or non-volatile computer-readable storage medium.
It is clear to those skilled in the art that, for convenience and brevity of description, the specific working processes of the system and the apparatus described above may refer to the corresponding processes in the foregoing method embodiments, and are not described herein again. In the several embodiments provided in the present disclosure, it should be understood that the disclosed system, apparatus, and method may be implemented in other ways. The above-described embodiments of the apparatus are merely illustrative, and for example, the division of the units is only one logical division, and there may be other divisions when actually implemented, and for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection of devices or units through some communication interfaces, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
The functions, if implemented in the form of software functional units and sold or used as a stand-alone product, may be stored in a non-volatile computer-readable storage medium executable by a processor. Based on such understanding, the technical solution of the present disclosure may be embodied in the form of a software product, which is stored in a storage medium and includes several instructions for causing a computer device (which may be a personal computer, a server, or a network device) to execute all or part of the steps of the method according to the embodiments of the present disclosure. And the aforementioned storage medium includes: various media capable of storing program codes, such as a usb disk, a removable hard disk, a Read-Only Memory (ROM), a Random Access Memory (RAM), a magnetic disk, or an optical disk.
Finally, it should be noted that: the above-mentioned embodiments are merely specific embodiments of the present disclosure, which are used for illustrating the technical solutions of the present disclosure and not for limiting the same, and the scope of the present disclosure is not limited thereto, and although the present disclosure is described in detail with reference to the foregoing embodiments, those skilled in the art should understand that: any person skilled in the art can modify or easily conceive of the technical solutions described in the foregoing embodiments or equivalent technical features thereof within the technical scope of the present disclosure; such modifications, changes or substitutions do not depart from the spirit and scope of the embodiments of the present disclosure, and should be construed as being included therein. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.

Claims (12)

1. A method for processing user behavior data, the method comprising:
acquiring acceleration data of a terminal and a corresponding data transmission frame rate during the acceleration data acquisition;
carrying out low-pass filtering processing on the acceleration data to obtain processed effective acceleration data;
determining a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modular length threshold matched with the data transmission frame rate;
and determining the action steps of the user based on the inflection point number of the obtained plurality of effective data inflection points.
2. The method of claim 1, further comprising:
and when the target webpage is detected to be completely loaded on the terminal and is in a running state, controlling an acceleration sensor of the terminal to acquire acceleration data of the terminal.
3. The method of claim 1, wherein determining a plurality of valid data inflection points from the valid acceleration data based on an accelerometer modulo length threshold matched to the frame rate of data transmission comprises:
determining a plurality of data time nodes in the effective acceleration data and an accelerometer mode length corresponding to each data time node;
determining a step number statistical array representing the user action according to the accelerometer modular length of each data time node;
determining a plurality of preselected data inflection points from the step number statistical array;
and deleting the preselected data inflection points of which the accelerometer modular length is smaller than the accelerometer modular length threshold matched with the data transmission frame rate from the preselected data inflection points to obtain a plurality of effective data inflection points in the effective acceleration data.
4. The method of claim 3, wherein determining the statistical array of steps characterizing the user's actions based on the accelerometer modulus for each data time node comprises:
calculating the difference value between the accelerometer mode length corresponding to the later time node in every two adjacent data time nodes in the plurality of data time nodes and the accelerometer mode length corresponding to the earlier time node;
if the difference value is larger than or equal to a first comparison threshold value, recording the accelerometer modular length corresponding to the later time node as a first mark element in the array;
if the difference value is smaller than the first comparison threshold value, recording the accelerometer modular length corresponding to the later time node as a second marking element in the array;
and sequencing according to the sequence of the data time node corresponding to each first mark element and the data time node corresponding to each second mark element to obtain a step number statistical array including a plurality of first mark elements and a plurality of second mark elements and representing the user action.
5. The method of claim 4, wherein determining a plurality of preselected data inflection points characterizing a user action based on the step count statistical array comprises:
and traversing the step number statistical array, and if a preceding marking element is different from a following marking element in two adjacent marking elements and the preceding marking element is the first marking element, determining a time acquisition node corresponding to the preceding marking element as a preselected data inflection point.
6. The method of claim 4, wherein said determining a plurality of preselected data inflection points from said step count statistical array comprises:
calculating the difference value between the array element value corresponding to the prior mark element and the array element value corresponding to the subsequent mark element in every two adjacent mark elements in the step number statistic array;
and if the difference is larger than the first comparison threshold, determining the time acquisition node corresponding to the previous marking element as a preselected data inflection point.
7. The method according to any one of claims 1-6, further comprising:
if the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is smaller than a first time length threshold matched with the data transmission frame rate, deleting the effective data inflection point with the corresponding accelerometer mode length in the two adjacent effective data inflection points; determining remaining effective data inflection points as a plurality of effective data inflection points determined from the effective acceleration data; and/or
If the time interval between two adjacent effective data inflection points in the plurality of determined effective data inflection points is greater than a second time length threshold matched with the data transmission frame rate, reducing the accelerometer module length threshold; and if a time acquisition node with the corresponding accelerometer mode length larger than the reduced accelerometer mode length threshold value exists between the two adjacent effective data inflection points, determining the detected time acquisition node as the effective data inflection point determined from the effective acceleration data.
8. The method of claim 1, further comprising:
determining that a temporal order of corresponding data time nodes of the plurality of valid data inflection points is located at a last at least two valid data inflection points;
and determining the current step length and the current speed of the user based on the data time node and the accelerometer modulus length of each effective data inflection point of the at least two effective data inflection points.
9. The method of claim 8, wherein determining a current step size and a current velocity of the user based on the data time node and the accelerometer modulus length for each of the at least two valid data inflection points comprises:
determining a current stride frequency of the user based on a data time node of each of the at least two valid data inflection points;
calculating the current step length of the user according to the current step frequency and the module length variance determined based on the accelerometer module length of each effective data inflection point of the at least two effective data inflection points;
and calculating the current speed of the user according to the current step length and the action time determined based on the data time node of each effective data inflection point of the at least two effective data inflection points.
10. A user behavior data processing apparatus, characterized in that the apparatus comprises:
the data acquisition module is used for acquiring acceleration data of the terminal and a corresponding data transmission frame rate during the acceleration data acquisition;
the data filtering module is used for carrying out low-pass filtering processing on the acceleration data to obtain processed effective acceleration data;
a first inflection point determining module, configured to determine a plurality of effective data inflection points from the effective acceleration data based on an accelerometer modulo length threshold matched with the data transmission frame rate;
and the step number determining module is used for determining the action step number of the user based on the inflection point number of the obtained inflection points of the plurality of effective data.
11. A computer device, comprising: a processor, a memory and a bus, the memory storing machine-readable instructions executable by the processor, the processor and the memory communicating over the bus when a computer device is running, the machine-readable instructions when executed by the processor performing the steps of the user behavior data processing method of any of claims 1 to 9.
12. A computer-readable storage medium, characterized in that a computer program is stored on the computer-readable storage medium, which computer program, when being executed by a processor, performs the steps of the user behavior data processing method according to any one of claims 1 to 9.
CN202110298300.2A 2021-03-19 2021-03-19 User behavior data processing method, device, equipment and storage medium Active CN113008242B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110298300.2A CN113008242B (en) 2021-03-19 2021-03-19 User behavior data processing method, device, equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110298300.2A CN113008242B (en) 2021-03-19 2021-03-19 User behavior data processing method, device, equipment and storage medium

Publications (2)

Publication Number Publication Date
CN113008242A true CN113008242A (en) 2021-06-22
CN113008242B CN113008242B (en) 2024-06-07

Family

ID=76403657

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110298300.2A Active CN113008242B (en) 2021-03-19 2021-03-19 User behavior data processing method, device, equipment and storage medium

Country Status (1)

Country Link
CN (1) CN113008242B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028870A (en) * 2023-03-29 2023-04-28 京东方艺云(苏州)科技有限公司 Data detection method and device, electronic equipment and storage medium
CN117387655A (en) * 2023-12-12 2024-01-12 绍兴圆方半导体有限公司 Step counting method, step counting device, terminal and storage medium

Citations (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003315356A (en) * 2002-04-26 2003-11-06 Toyota Motor Corp Sensor device
KR20120020051A (en) * 2010-08-27 2012-03-07 야마하 가부시키가이샤 Pedometer, sampling device, and waveform analyzer
FR3012597A1 (en) * 2013-10-24 2015-05-01 Commissariat Energie Atomique INTERNAL AND EXTERNAL LOCALIZATION METHOD AND PORTABLE DEVICE IMPLEMENTING SAID METHOD
CN105004349A (en) * 2015-06-30 2015-10-28 深圳市元征科技股份有限公司 Step calculation method
CN105043410A (en) * 2015-06-30 2015-11-11 深圳市元征科技股份有限公司 Pedometer
CN105067215A (en) * 2015-08-05 2015-11-18 合肥美的电冰箱有限公司 Method and system for acquiring drop impact test data
KR20160020915A (en) * 2014-08-14 2016-02-24 경희대학교 산학협력단 Apparatus and method for counting step in smartphone
CN105351511A (en) * 2015-11-10 2016-02-24 中国北方车辆研究所 Dynamic estimation method of longitudinal acceleration of automatic mechanical transmission vehicle
US20160123738A1 (en) * 2014-11-04 2016-05-05 Xsens Holding B.V. Pedestrian Dead Reckoning Position Tracker
KR20170111408A (en) * 2016-03-28 2017-10-12 인하대학교 산학협력단 Apparatus and method for step calculation
CN107270931A (en) * 2016-12-23 2017-10-20 浙江从泰网络科技有限公司 A kind of IOS and the general gait auto-correlation pedometer of Android platform
US20190113364A1 (en) * 2017-10-16 2019-04-18 Uti Limited Partnership Step detection using imu and magnetometer data fusion
CN110017836A (en) * 2019-04-24 2019-07-16 保定开拓精密仪器制造有限责任公司 Accelerometer digital sample sliding window filters cross clock domain synchronous data transmission method
CN110068322A (en) * 2019-04-18 2019-07-30 中国电子科技集团公司电子科学研究院 A kind of pedestrian's localization method and pedestrian's positioning device based on terminal
CN111238527A (en) * 2020-01-15 2020-06-05 桂林市优创电子科技有限公司 Step counting method based on three-axis acceleration sensor
CN111366170A (en) * 2020-02-19 2020-07-03 维沃移动通信有限公司 State determination method and electronic equipment
CN111442785A (en) * 2020-03-27 2020-07-24 广东工业大学 Step counting method, device and equipment based on inertia and storage medium
CN111854738A (en) * 2020-06-22 2020-10-30 厦门亿联网络技术股份有限公司 Human motion state detection method and device based on three-axis accelerometer
CN111964668A (en) * 2020-08-12 2020-11-20 中移(杭州)信息技术有限公司 Article state detection method and device
CN112212861A (en) * 2020-09-21 2021-01-12 哈尔滨工业大学(深圳) Track restoration method based on single inertial sensor

Patent Citations (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003315356A (en) * 2002-04-26 2003-11-06 Toyota Motor Corp Sensor device
KR20120020051A (en) * 2010-08-27 2012-03-07 야마하 가부시키가이샤 Pedometer, sampling device, and waveform analyzer
FR3012597A1 (en) * 2013-10-24 2015-05-01 Commissariat Energie Atomique INTERNAL AND EXTERNAL LOCALIZATION METHOD AND PORTABLE DEVICE IMPLEMENTING SAID METHOD
KR20160020915A (en) * 2014-08-14 2016-02-24 경희대학교 산학협력단 Apparatus and method for counting step in smartphone
US20160123738A1 (en) * 2014-11-04 2016-05-05 Xsens Holding B.V. Pedestrian Dead Reckoning Position Tracker
WO2016071759A1 (en) * 2014-11-04 2016-05-12 Xsens Holding B.V. Pedestrian dead reckoning position tracker
CN105004349A (en) * 2015-06-30 2015-10-28 深圳市元征科技股份有限公司 Step calculation method
CN105043410A (en) * 2015-06-30 2015-11-11 深圳市元征科技股份有限公司 Pedometer
CN105067215A (en) * 2015-08-05 2015-11-18 合肥美的电冰箱有限公司 Method and system for acquiring drop impact test data
CN105351511A (en) * 2015-11-10 2016-02-24 中国北方车辆研究所 Dynamic estimation method of longitudinal acceleration of automatic mechanical transmission vehicle
KR20170111408A (en) * 2016-03-28 2017-10-12 인하대학교 산학협력단 Apparatus and method for step calculation
CN107270931A (en) * 2016-12-23 2017-10-20 浙江从泰网络科技有限公司 A kind of IOS and the general gait auto-correlation pedometer of Android platform
US20190113364A1 (en) * 2017-10-16 2019-04-18 Uti Limited Partnership Step detection using imu and magnetometer data fusion
CN110068322A (en) * 2019-04-18 2019-07-30 中国电子科技集团公司电子科学研究院 A kind of pedestrian's localization method and pedestrian's positioning device based on terminal
CN110017836A (en) * 2019-04-24 2019-07-16 保定开拓精密仪器制造有限责任公司 Accelerometer digital sample sliding window filters cross clock domain synchronous data transmission method
CN111238527A (en) * 2020-01-15 2020-06-05 桂林市优创电子科技有限公司 Step counting method based on three-axis acceleration sensor
CN111366170A (en) * 2020-02-19 2020-07-03 维沃移动通信有限公司 State determination method and electronic equipment
CN111442785A (en) * 2020-03-27 2020-07-24 广东工业大学 Step counting method, device and equipment based on inertia and storage medium
CN111854738A (en) * 2020-06-22 2020-10-30 厦门亿联网络技术股份有限公司 Human motion state detection method and device based on three-axis accelerometer
CN111964668A (en) * 2020-08-12 2020-11-20 中移(杭州)信息技术有限公司 Article state detection method and device
CN112212861A (en) * 2020-09-21 2021-01-12 哈尔滨工业大学(深圳) Track restoration method based on single inertial sensor

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
JIUCHAO QIAN: "An improved indoor localization method using smartphone inertial sensors", 《INTERNATIONAL CONFERENCE ON INDOOR POSITIONING AND INDOOR NAVIGATION》, pages 1 - 7 *
钟立扬: "基于实时步长匹配的行人室内定位方法", 《计算机***应用》, vol. 26, no. 4, pages 236 - 240 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116028870A (en) * 2023-03-29 2023-04-28 京东方艺云(苏州)科技有限公司 Data detection method and device, electronic equipment and storage medium
CN117387655A (en) * 2023-12-12 2024-01-12 绍兴圆方半导体有限公司 Step counting method, step counting device, terminal and storage medium
CN117387655B (en) * 2023-12-12 2024-03-15 绍兴圆方半导体有限公司 Step counting method, step counting device, terminal and storage medium

Also Published As

Publication number Publication date
CN113008242B (en) 2024-06-07

Similar Documents

Publication Publication Date Title
Xing et al. Pedestrian stride length estimation from IMU measurements and ANN based algorithm
Klein et al. StepNet—Deep learning approaches for step length estimation
CN102762957B (en) Historial traffic data compression
JP4126485B2 (en) NAVIGATION DEVICE AND PROGRAM
Mladenov et al. A step counter service for Java-enabled devices using a built-in accelerometer
JP6674791B2 (en) Congestion degree estimation method, number of persons estimation method, congestion degree estimation program, number of persons estimation program, and number of persons estimation system
US20190156161A1 (en) System and Method for Generating a Map From Activity Data
CN109883423B (en) Positioning method, system, equipment and storage medium based on Kalman filtering
US10754040B2 (en) System and method for graph encoding of physical activity data
CN113008242A (en) User behavior data processing method, device, equipment and storage medium
CN106840163A (en) A kind of indoor orientation method and system
CN102944240A (en) Inertial navigation system based on smart phone and method thereof
CN104089624A (en) Step counting method and terminal device
CN109154938A (en) Using discrete non-trace location data by the entity classification in digitized map
CN104580660B (en) A kind of mobile intelligent terminal and its step-recording method, system
JP2017228091A (en) Walking state learning method, walking state estimation method, road surface condition comprehension method, device and program
CN112164138A (en) Point cloud data screening method and device
Hassan A performance model of pedestrian dead reckoning with activity-based location updates
CN111754605A (en) User trajectory drawing method and device, computer equipment and storage medium
Kawaguchi et al. End-to-end walking speed estimation method for smartphone PDR using DualCNN-LSTM.
CN110455284A (en) A kind of pedestrian movement patterns' recognition methods and device based on MEMS-IMU
JP4229146B2 (en) NAVIGATION DEVICE AND PROGRAM
CN109063727A (en) Calculate method, apparatus, storage medium and the electronic equipment of track frequency
Chen An LSTM recurrent network for step counting
CN110612503B (en) Intelligent context sub-sampling device system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant