CN111625755A - Data processing method, device, server, terminal and readable storage medium - Google Patents

Data processing method, device, server, terminal and readable storage medium Download PDF

Info

Publication number
CN111625755A
CN111625755A CN202010436167.8A CN202010436167A CN111625755A CN 111625755 A CN111625755 A CN 111625755A CN 202010436167 A CN202010436167 A CN 202010436167A CN 111625755 A CN111625755 A CN 111625755A
Authority
CN
China
Prior art keywords
data
imu
sampling
imu data
median
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
CN202010436167.8A
Other languages
Chinese (zh)
Other versions
CN111625755B (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.)
Beijing Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology and Development 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 Beijing Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Priority to CN202010436167.8A priority Critical patent/CN111625755B/en
Publication of CN111625755A publication Critical patent/CN111625755A/en
Application granted granted Critical
Publication of CN111625755B publication Critical patent/CN111625755B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • 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/10Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration
    • G01C21/12Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning
    • G01C21/16Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 by using measurements of speed or acceleration executed aboard the object being navigated; Dead reckoning by integrating acceleration or speed, i.e. inertial navigation
    • G01C21/18Stabilised platforms, e.g. by gyroscope
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01PMEASURING LINEAR OR ANGULAR SPEED, ACCELERATION, DECELERATION, OR SHOCK; INDICATING PRESENCE, ABSENCE, OR DIRECTION, OF MOVEMENT
    • G01P15/00Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration
    • G01P15/18Measuring acceleration; Measuring deceleration; Measuring shock, i.e. sudden change of acceleration in two or more dimensions

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Mathematical Physics (AREA)
  • Data Mining & Analysis (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computational Mathematics (AREA)
  • Algebra (AREA)
  • Automation & Control Theory (AREA)
  • Navigation (AREA)

Abstract

The embodiment of the disclosure relates to a data processing method, a data processing device, a server, a terminal and a readable storage medium. The method comprises the following steps: obtaining IMU data of a vehicle reported by a terminal; wherein each of the IMU data has a temporal attribute; processing the IMU data according to the time attribute of each sampling data to obtain error correction data of the IMU data; wherein the error correction data is related to median data of the IMU data; and correcting each sampling data by adopting the error correction data to obtain corrected IMU data. By adopting the method, the data precision of the IMU data of the vehicle can be improved.

Description

Data processing method, device, server, terminal and readable storage medium
Technical Field
The disclosed embodiments relate to the field of data processing technologies, and in particular, to a data processing method, an apparatus, a server, a terminal, and a readable storage medium.
Background
An Inertial Measurement Unit (IMU) is a device that measures the attitude angle (or angular velocity) and acceleration of an object. Generally, an IMU includes three single-axis accelerometers and three single-axis gyroscopes, which are used to measure acceleration data and angular velocity data of an object in three-dimensional space, i.e., IMU data.
At present, IMU data are used in a large amount in projects such as automatic driving, navigation systems, driving safety and the like. Taking driving safety as an example, an IMU is arranged in a terminal of a driver, and the terminal measures IMU data of the terminal through the IMU and reports the IMU data to a management background; and the management background acquires the IMU data and then performs data processing to restore the posture of the vehicle so as to detect whether dangerous driving behaviors such as rapid acceleration, rapid turning, rapid lane changing, rapid deceleration and the like exist in the vehicle.
However, the accuracy of the IMU data reported by the terminal is low, and further, in some scenarios applying the IMU data, various accuracy problems in application often occur, for example, when dangerous driving behavior prediction is performed by using the IMU data, a situation that the prediction accuracy is not high often occurs.
Disclosure of Invention
The embodiment of the disclosure provides a data processing method, a data processing device, a server, a terminal and a readable storage medium, which can be used for improving the data accuracy of IMU data of a vehicle.
In a first aspect, an embodiment of the present disclosure provides a data processing method, where the method includes:
obtaining IMU data of a vehicle reported by a terminal; wherein each of the IMU data has a temporal attribute;
processing the IMU data according to the time attribute of each sampling data to obtain error correction data of the IMU data; wherein the error correction data is related to median data of the IMU data;
and correcting each sampling data by adopting the error correction data to obtain corrected IMU data.
In a second aspect, an embodiment of the present disclosure provides a data processing method, where the method includes:
the method comprises the steps of collecting IMU data of a vehicle and sending the IMU data to a server; each sample data in the IMU data has a temporal attribute;
receiving prompt information issued by the server; the prompt information is related to the driving posture of the vehicle, and the prompt information is generated by the server after the server performs data processing on the IMU data by using the method of the first aspect.
In a third aspect, an embodiment of the present disclosure provides a data processing apparatus, where the apparatus includes:
the IMU data acquisition module is used for acquiring IMU data of the transportation means reported by the terminal; wherein each of the IMU data has a temporal attribute;
an error correction data acquisition module, configured to process the IMU data according to the time attribute of each sampling data, to obtain error correction data of the IMU data; wherein the error correction data is related to median data of the IMU data;
and the error correction module is used for correcting each sampling data by adopting the error correction data to obtain corrected IMU data.
In a fourth aspect, an embodiment of the present disclosure provides a data processing apparatus, including:
the reporting module is used for acquiring IMU data of the vehicle and sending the IMU data to the server; each sample data in the IMU data has a temporal attribute;
the prompt information receiving module is used for receiving the prompt information issued by the server; the prompt information is related to the driving posture of the vehicle, and the prompt information is generated by the server after the server performs data processing on the IMU data by using the method of the first aspect.
In a fifth aspect, an embodiment of the present disclosure provides a server, including a memory, a processor, and a computer program stored on the memory and executable on the processor, where the processor implements the method of the first aspect when executing the computer program.
In a sixth aspect, an embodiment of the present disclosure provides a terminal, including a memory, a processor, and a computer program stored in the memory and executable on the processor, where the processor implements the method according to the second aspect when executing the computer program.
In a seventh aspect, the disclosed embodiments provide a computer-readable storage medium, on which a computer program is stored, which, when executed by a processor, implements the method of the first and second aspects.
According to the data processing method, the data processing device, the server, the terminal and the readable storage medium provided by the embodiment of the disclosure, error correction data related to median data of IMU data of a vehicle reported by the terminal is adopted to correct each sampling data in the IMU data to obtain corrected IMU data, taking IMU data as acceleration data as an example, since the resultant external force applied to an object is the reason of acceleration generated by the object, if the terminal is in a static state or a uniform speed state, the resultant external force applied to the terminal is only gravity and other noises, and when the terminal is in the static state or the uniform speed state, the acceleration data acquired by the terminal is equal to the median data of the IMU data, so that the median data can represent the acceleration generated by the gravity and other noises, namely the interference of the gravity and other noises on the acceleration data acquired by the terminal. Acceleration data that fluctuates about this median value data may also approximately characterize acceleration due to gravity and other noise. Therefore, by adopting error correction data related to the median data of the IMU data of the vehicle reported by the terminal (the error correction data can be the median data of the IMU data and can also be data fluctuating nearby the median data of the IMU data), each sampling data in the IMU data is corrected, the interference of gravity and other noises in each sampling data can be eliminated, and the data precision of the IMU data of the vehicle is improved. Further, in some scenarios applying the IMU data, the data processing method of the embodiment of the present disclosure may be used to improve the accuracy of applying the IMU data, for example, taking a vehicle as an example, in the conventional technology, generally, the IMU data of the vehicle reported by the terminal is directly used to predict the dangerous driving behavior of the vehicle, and since the accuracy of the IMU data of the vehicle reported by the terminal is low, the accuracy of predicting the dangerous driving behavior is low.
Drawings
FIG. 1 is a diagram of an application environment of a data processing method in one embodiment;
FIG. 2 is a flow diagram illustrating a data processing method according to one embodiment;
FIG. 3 is a flow chart illustrating a data processing method according to another embodiment;
FIG. 4 is a diagram illustrating a refinement of step S210 in one embodiment;
FIG. 5 is a diagram illustrating a refinement of step S212 in one embodiment;
FIG. 6 is a flow chart illustrating a data processing method according to another embodiment;
FIG. 7 is a flow chart illustrating a data processing method according to another embodiment;
FIG. 8 is a flow chart illustrating a data processing method according to another embodiment;
FIG. 9 is a flow chart illustrating a data processing method according to another embodiment;
FIG. 10 is a block diagram showing the structure of a data processing apparatus according to an embodiment;
FIG. 11 is a block diagram showing the construction of a data processing apparatus according to another embodiment;
FIG. 12 is a block diagram showing the construction of a data processing apparatus according to another embodiment;
FIG. 13 is a block diagram showing the construction of a data processing apparatus according to another embodiment;
FIG. 14 is a block diagram showing the construction of a data processing apparatus according to another embodiment;
FIG. 15 is a block diagram showing the construction of a data processing apparatus according to another embodiment;
FIG. 16 is a block diagram of a terminal in one embodiment;
FIG. 17 is a block diagram of a server in one embodiment.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present disclosure more clearly understood, the embodiments of the present disclosure are described in further detail below with reference to the accompanying drawings and the embodiments. It is to be understood that the specific embodiments described herein are merely illustrative of the embodiments of the disclosure and that no limitation to the embodiments of the disclosure is intended.
First, before specifically describing the technical solution of the embodiment of the present disclosure, a technical background or a technical evolution context on which the embodiment of the present disclosure is based is described. Generally, in the field of vehicles, the current technical background is: IMU data of a vehicle is measured through a terminal placed in the vehicle, and then restoration of the attitude of the vehicle, prediction of dangerous driving behavior of a driver, or the like is performed based on the measured IMU data. Based on the background, the applicant finds that the IMU data of the vehicle measured by the terminal is often low in precision through long-term IMU data processing research and development and experimental data collection, demonstration and verification, so that various problems of low application accuracy can occur in some scenes applying the IMU data. How to correct IMU data of a vehicle becomes a problem to be solved urgently at present. In addition, it should be noted that, from the technical solutions described in the following embodiments and the determination of how to modify the IMU data of the vehicle, the applicant has paid a lot of creative efforts.
The following describes technical solutions related to the embodiments of the present disclosure with reference to a scenario in which the embodiments of the present disclosure are applied.
The data processing method provided by the embodiment of the disclosure can be applied to the application environment shown in fig. 1. Wherein the terminal 102 communicates with the server 104 via a network. The server 104 acquires IMU data of the transportation means reported by the terminal 102; wherein each sample data in the IMU data has a time attribute; the server 104 processes the IMU data according to the time attribute of each sampling data to obtain error correction data of the IMU data; wherein the error correction data is related to median data of the IMU data; and the server 104 corrects each sampling data by adopting the error correction data to obtain corrected IMU data. The terminal 102 may be, but not limited to, various personal computers, notebook computers, smart phones, tablet computers, and portable wearable devices, and the server 104 may be implemented by an independent server or a server cluster formed by a plurality of servers.
In one embodiment, as shown in fig. 2, a data processing method is provided, which is described by taking the application of the method to the server in fig. 1 as an example, and includes the following steps:
and S100, obtaining IMU data of the transportation means reported by the terminal.
Wherein each sample data in the IMU data has a temporal attribute. An IMU (Inertial measurement unit) generally includes an accelerometer and a gyroscope for measuring acceleration data and angular velocity data of an object in three-dimensional space, respectively. In this embodiment, the IMU data may be IMU acceleration data, and in other embodiments, the IMU data may also be angular velocity data, displacement data, velocity data, and the like, which is not limited herein.
In this embodiment, the terminal may be a terminal of a user using the vehicle, for example, a driver terminal, or may be another terminal currently provided in the vehicle. The IMU is arranged in the terminal, the terminal can measure IMU data of the vehicle through the IMU, and the measured IMU data of the vehicle is reported to the server.
As an implementation manner, the server may send a reporting instruction to the terminal, and instruct the terminal to report the IMU data of the vehicle periodically according to a time period carried by the reporting instruction, where the time period may be, for example, 2 minutes or 3 minutes; and after the terminal receives the reporting instruction, reporting the IMU data of the transportation means collected in each time period to the server according to the time period. In other embodiments, the server may also send a data acquisition request to the terminal when the IMU data of the vehicle in a certain time period needs to be used, and the terminal reports the IMU data of the vehicle in the certain time period to the server after receiving the data acquisition request, or the terminal may also actively report the IMU data of the vehicle acquired by the terminal to the server according to a preset time period, and the like, which is not limited specifically herein.
In this embodiment, the IMU data includes sampling data acquired by the terminal at different sampling times, each sampling data has a time attribute, and the time attribute may be a sampling time corresponding to the sampling data.
And step S200, processing the IMU data according to the time attribute of each sampling data to obtain error correction data of the IMU data.
In this embodiment, the error correction data is related to the median data of the IMU data. Taking the IMU data as acceleration data as an example, when the terminal collects the acceleration data, the acceleration data collected by the terminal is interfered by external force, so that the acceleration data collected by the terminal is inaccurate.
Because the resultant external force applied to the object is the reason that the object generates the acceleration, if the terminal is in a static state or a uniform speed state, the resultant external force applied to the terminal only has gravity and other noises, and when the terminal is in the static state or the uniform speed state, the acceleration data acquired by the terminal is equal to the median data of the IMU data, so that the median data can represent the acceleration generated by the gravity and the other noises, namely the interference of the gravity and the other noises on the acceleration data acquired by the terminal. Acceleration data that fluctuates about this median value data may also approximately characterize acceleration due to gravity and other noise.
In this embodiment, the error correction data may be median data of the IMU data, or may be data fluctuating near the median data of the IMU data, and thus, the error correction data may represent interference of gravity and other noise on the acceleration data acquired by the terminal.
In this embodiment, the server processes the IMU data according to the time attribute of each sample data, which may specifically be to determine a median data of the IMU data at first, and the median data of the IMU data may be a sample data located in the middle of the IMU data. The server determines error correction data of the IMU data according to the median data, and specifically, the server may use the median data as the error correction data of the IMU data, or the server may use data near the median data, that is, data whose absolute value of a difference from the median data is smaller than a fixed threshold, as the error correction data of the IMU data.
And step S300, correcting each sampling data by adopting the error correction data to obtain corrected IMU data.
And the server corrects each sampling data by adopting the error correction data to obtain the corrected IMU data. As an embodiment, the server may subtract the error correction data from each sampling data, or the server may assign different weight values to the sampling data and the error correction data, and then perform weighted summation on the sampling data and the error correction data to obtain the corrected sampling data corresponding to the sampling data, thereby obtaining the corrected IMU data.
In this embodiment, the sampling data may be triaxial acceleration data, that is, acceleration data of the vehicle in an x-axis direction, a y-axis direction and a z-axis direction at the sampling time, wherein the x-axis direction represents a front-rear direction when the vehicle travels, the y-axis direction represents a left-right direction when the vehicle travels, and the z-axis direction represents an up-down direction. The server can process the acceleration data of each axis respectively according to the time attribute of the triaxial acceleration data at each sampling time to obtain error correction data corresponding to each axis, and the error correction data corresponding to each axis is related to the median data of the acceleration data of the axis. The server then accelerates each axis using the error correction data for each axisThe degree data being modified separately, e.g. by sampling time t1…tnCorresponding sampled data, i.e. triaxial acceleration data respectively (a)1x,a1y,a1z)…(anx,any,anz) The error correction data corresponding to the x-axis is CxIndicating that the error correction data corresponding to the y-axis is CyIndicating that the error correction data corresponding to the z-axis is CzIndicating that the server adopts CxFor the sampling time t1…tnA in corresponding triaxial acceleration data1x…anxRespectively corrected by CyFor the sampling time t1…tnA in corresponding triaxial acceleration data1y…anyRespectively corrected by CzFor the sampling time t1…tnA in corresponding triaxial acceleration data1z…anzThe correction is performed separately.
Through the analysis, the error correction data can represent the interference of gravity and other noises on the acceleration data collected by the terminal, so that the server corrects each sampling data by adopting the error correction data, and the interference of the gravity and other noises in each triaxial acceleration data can be eliminated by using the sampling data such as triaxial acceleration data. The corrected IMU data obtained in this embodiment is IMU data from which interference of gravity and other noise is eliminated, and therefore, the data accuracy of the IMU data of the vehicle is improved.
It should be noted that, in other embodiments, when the IMU data is angular velocity data, displacement data, or velocity data, error correction data related to the median data may be used to perform correction, so as to remove a resultant vector error caused by measurement component noise or an error, which is not limited in this embodiment.
As an implementation manner, the data processing method in this embodiment may be applied to a cartesian coordinate system, that is, IMU data of a vehicle reported by a terminal is measured in the cartesian coordinate system, and it should be noted that the data processing method in this embodiment may also be applied to any affine coordinate or polar coordinate, which is not limited specifically herein.
In summary, for the IMU acceleration data, since the resultant external force applied to the object is the cause of the acceleration generated by the object, if the terminal is in the static state or the uniform speed state, the resultant external force applied to the terminal is only gravity and other noise, and when the terminal is in the static state or the uniform speed state, the acceleration data acquired by the terminal is equal to the median data of the IMU data, so that the median data can represent the acceleration generated by the gravity and other noise, that is, the interference of the gravity and other noise on the acceleration data acquired by the terminal. Acceleration data that fluctuates about this median value data may also approximately characterize acceleration due to gravity and other noise. Therefore, by adopting error correction data related to the median data of the IMU data of the vehicle reported by the terminal (the error correction data can be the median data of the IMU data and can also be data fluctuating nearby the median data of the IMU data), each sampling data in the IMU data is corrected, the interference of gravity and other noises in each sampling data can be eliminated, and the data precision of the IMU data of the vehicle is improved. Further, in some scenarios applying the IMU data, the data processing method of this embodiment is adopted, so that the application accuracy of the IMU data can be improved, for example, taking a vehicle as an example, in the conventional technology, the IMU data of the vehicle reported by the terminal is generally directly used for predicting the dangerous driving behavior of the vehicle, and since the accuracy of the IMU data of the vehicle reported by the terminal is low, the prediction accuracy of the dangerous driving behavior is low.
In the research process, the applicant of the embodiment of the disclosure finds that when the terminal is placed in a vehicle, the gravity of the terminal can interfere with the accuracy of the IMU data of the vehicle measured by the terminal. In the related art, in order to eliminate the influence of gravity on the IMU data, the two-norm of the sampled data when the terminal is in a static state may be approximated to the local gravitational acceleration to calibrate the IMU data. Specifically, for the IMU data of the vehicle reported by the terminal, the server may adopt a static detection algorithm to detect the sampling data when the terminal is in a static state in a plurality of sampling data included in the IMU data, and then calibrate the IMU data based on a conversion matrix or a six-plane method, thereby eliminating the influence of gravity on the IMU data, however, the disadvantage of this method is: 1) when the server detects the sampling data in the static state of the terminal in a plurality of sampling data included in the IMU data by adopting a static detection algorithm, a threshold needs to be set manually, the server determines the sampling data of which the two-norm of the sampling data is smaller than the threshold as the sampling data in the static state of the terminal, however, the setting of the threshold is greatly influenced by human subjectivity; 2) the IMU data is calibrated only by considering the gravity interference factor, and the interference of other noises is not considered; 3) when the IMU data is calibrated, a large number of complex algorithms such as matrix operation, optimization solution and the like are involved, an initial transformation matrix, a state equation, a solution cost function and the like need to be defined in a matrix conversion method, a calibration model, matrix operation and the like need to be constructed in a six-surface method, the logic process is complex, and the calculation complexity is high.
Compared with the static detection algorithm for calibrating the IMU data of the vehicle, the server does not need to perform complex matrix operation or matrix transformation, and does not need to manually set a threshold value to detect the static state of the terminal. The embodiment utilizes the error correction data related to the median data of the IMU data to achieve the effect of correcting the IMU data, and can be used for correcting IMU data of vehicles reported by terminals at different placing positions, so that complex operations such as filtering and matrixes are avoided, the calculation complexity of the embodiment is extremely low, and the practicability is high.
In an embodiment, based on the embodiment shown in fig. 2, as shown in fig. 3, this embodiment relates to a process of how the server obtains error correction data according to the time attribute of each sample data and corrects each sample data. Specifically, the present embodiment includes the following steps:
and S100, obtaining IMU data of the transportation means reported by the terminal.
Wherein each sample data in the IMU data has a temporal attribute. Specifically, the specific process of step S100 may refer to the description of the above embodiment, and is not repeated herein.
Step S210, calculating median data corresponding to the IMU data according to the time attribute of each sampling data, and determining the median data as error correction data.
In this embodiment, specifically, after obtaining the IMU data of the transportation means reported by the terminal, the server calculates median data corresponding to the IMU data according to the time attribute of each sampling data, where the median data is error correction data of the IMU data.
The server calculates median data corresponding to the IMU data according to the time attribute of each sampling data, specifically, the IMU data includes sampling data acquired by the terminal at different sampling times, that is, the IMU data includes a plurality of sampling data, and the server calculates the median data of the plurality of sampling data to obtain the median data corresponding to the IMU data.
And step S310, subtracting the median data from each sampling data to obtain the corrected IMU data.
In this embodiment, specifically, the server subtracts the median data from each sampling data included in the IMU data, respectively, to obtain the corrected IMU data.
For example, the sampled data may be triaxial acceleration data, and the IMU data may be a sampling time t1…tnCorresponding triaxial acceleration data (a)1x,a1y,a1z)…(anx,any,anz) The median data (error correction data) corresponding to the x-axis is CxIn this case, C is used as the median data (error correction data) corresponding to the y-axisyIn this case, C is used as the median data (error correction data) corresponding to the z-axiszIn this embodiment, the server subtracts the median data from each sample data, specifically, it may be a1xL anxSubtract C respectivelyxTo a, to1yL anySubtract C respectivelyyTo a, to1zL anzSubtract C respectivelyzAnd the obtained corrected IMU data is:
(a1x-Cx,a1y-Cy,a1z-Cz)L(anx-Cx,any-Cy,anz-Cz), wherein (a)1x-Cx,a1y-Cy,a1z-Cz) Is the sampling time t1Corresponding corrected triaxial acceleration data, (a)nx-Cx,any-Cy,anz-Cz) Is the sampling time tnCorresponding corrected triaxial acceleration data.
In this embodiment, the median data corresponding to the IMU data is calculated according to the time attribute of each sampling data, and the median data is used as error correction data of the IMU data, if the sampling time terminal corresponding to the median data is in a uniform speed state or a static state, the median data may represent the acceleration generated by gravity and other noise, that is, the interference of gravity and other noise on the acceleration data acquired by the terminal, and if the sampling time terminal corresponding to the median data is not in the uniform speed state or the static state, the median data may approximately represent the acceleration generated by gravity and other noise, so that the median data is subtracted from each sampling data, the interference generated by gravity and other noise in each sampling data may be eliminated, and the effects of reducing the calculation complexity and improving the practicability may be achieved.
In one embodiment, based on the embodiment shown in fig. 3, as shown in fig. 4, this embodiment relates to how the server calculates the median data corresponding to the IMU data according to the time attribute of each sample data. In this embodiment, the step S210 may include steps S211 and S212:
step S211, sorting the sampling data according to the sequence of the sampling time of the sampling data to obtain an IMU data sequence.
Specifically, each sample data in the IMU data has a time attribute, and as an implementation manner, the IMU data may include a sample time corresponding to each sample data, where the sample time may be, for example, a sample time stamp, and the server may sort the sample data in an order from a smaller sample time stamp to a larger sample time stamp of each sample data, to obtain an IMU data sequence, and thus, may ensure that each sample data in the IMU data sequence is generated in a time order of an actual driving behavior of the vehicle.
In other embodiments, the server may also sequence the sample data according to a descending order of the sample timestamps of the sample data to obtain an IMU data sequence, which is not limited in this embodiment.
Step S212, determining median data corresponding to the IMU data according to the number of the sampling data in the IMU data sequence.
The median, also called median, is the number at the middle of a set of data in order. In this embodiment, the server first sorts each sample data according to the sequence of the sampling time of each sample data to obtain an IMU data sequence, and then determines median data corresponding to the IMU data according to the number of the sample data in the IMU data sequence. For example, the server may determine the sampled data at the middle position of the IMU data sequence as median data corresponding to the IMU data, and determine the median data as error correction data.
According to the embodiment, the condition that the median data determined by the server has deviation due to the fact that the sampling data are not strictly arranged according to the sequence of the sampling time in the IMU data reported by the terminal is avoided, and the accuracy of the median data of the IMU data is improved.
In one possible implementation manner of step S212, for step S212, the server may determine the median data directly according to the determined number of sampling data in the IMU data sequence, that is, step S212 may include: if the number of the sampling data in the IMU data sequence is odd, determining the sampling data in the middle position of the IMU data sequence as middle value data; and if the number of the sampling data in the IMU data sequence is an even number, determining the average value of two adjacent sampling data at the middle position of the IMU data sequence as the middle value data.
Specifically, if the number of the sample data in the IMU data sequence is odd, the server determines the sample data at the middle position of the IMU data sequence as the middle value data. For example, the number of the sample data in the IMU data sequence is 9, and the server determines the 5 th sample data as the middle data by counting from the head or the tail of the IMU data sequence. Further, if the number of sample data in the IMU data sequence is an even number, it is understood that the number of sample data in the IMU data sequence is two, for example, the number of sample data in the IMU data sequence is 10, the server counts from the head or the tail of the IMU data sequence, determines the 5 th sample data and the 6 th sample data, then calculates the average value of the 5 th sample data and the 6 th sample data, and determines the average value of two adjacent sample data in the middle of the IMU data sequence as middle data.
Therefore, the server determines the median data corresponding to the IMU data according to the number of the sampling data in the IMU data sequence, particularly distinguishes whether the number of the sampling data in the IMU data sequence is an odd number or an even number, and processes the odd number and the even number in a corresponding mode, so that the accuracy of the median data of the IMU data is improved.
In another possible implementation manner of step S212, for step S212, after segmenting the IMU data sequence according to a preset time division window, the server may calculate median data corresponding to each IMU data sequence segment. Referring to fig. 5, fig. 5 is a schematic diagram of a refinement step of step S212. As shown in fig. 5, the step S212 may include the following steps:
step S2121, dividing a window according to preset time, and segmenting the IMU data sequence to obtain a plurality of IMU data sequence fragments.
In this embodiment, after the server sorts each sample data according to the sequence of the sampling time of each sample data to obtain an IMU data sequence, the server divides a window according to a preset time, and segments the IMU data sequence to obtain a plurality of IMU data sequence segments.
For example, the IMU data sequence is a plurality of sample data acquired by the terminal within 3 minutes, and the terminal acquires the sample data every 0.02 second, so the IMU data sequence includes 9000 sample data, the time division window is, for example, 10 seconds, the server segments the IMU data sequence according to 10 seconds to obtain 18 IMU data sequence segments, and each IMU data sequence segment includes 500 sample data.
In one embodiment, if the server segments the IMU data sequence and the remaining segments of the IMU data sequence are smaller than the single division amount, the server merges the remaining segments into the last time division window. For example, continuing with the example that the IMU data sequence includes 9000 sample data, the time division window is 8 seconds, for example, after the server divides the 9000 sample data into 22 IMU data sequence fragments, 200 sample data still remain, and the server merges the remaining 200 sample data into the last time division window, that is, the server finally divides the IMU data sequence into 22 IMU data sequence fragments, where the first 21 IMU data sequence fragments each include 400 sample data and the last IMU data sequence fragment includes 600 sample data. Therefore, omission of the sample data in the process of segmenting the IMU data sequence can be avoided by merging the residual sample data.
Step S2122, calculating the median data corresponding to each IMU data sequence fragment according to the number of the sampling data in each IMU data sequence fragment.
And the server calculates the median data corresponding to each IMU data sequence fragment according to the number of the sampling data in each IMU data sequence fragment.
Specifically, if the number of the sample data in one IMU data sequence segment is odd, the sample data in the middle position of the IMU data sequence segment is determined as the median data corresponding to the IMU data sequence segment. If the number of the sample data in one IMU data sequence segment is even, determining the average value of two adjacent sample data in the middle position of the IMU data sequence segment as the median data corresponding to the IMU data sequence segment.
In this embodiment, the setting of the time division window is not particularly limited. However, the time division window is not suitable to be too small, and if the time division window is too small, the number of the sample data included in the time division window is small, so that the median data corresponding to the IMU data sequence segment cannot correct the sample data well, for example, after the set time division window segments the IMU data sequence, the number of the sample data in each IMU data sequence segment may be at least not less than 100, and this example does not limit the application of this embodiment.
Based on the above embodiment shown in fig. 5, correspondingly, for step S300, the server may specifically subtract the median data corresponding to the IMU data sequence segment from each sample data in the IMU data sequence segment, to obtain the modified IMU data.
For each IMU data sequence fragment, the server respectively subtracts the median data corresponding to the IMU data sequence fragment from each sampling data in the IMU data sequence fragment to obtain a corrected IMU data sequence fragment corresponding to the IMU data sequence fragment. Each sample data in the corrected IMU data sequence segment is the sample data corrected by the server by adopting the median data corresponding to the IMU data sequence segment, so that the interference of gravity and other noises on each sample data in the time division window is eliminated, a plurality of corrected IMU data sequence segments corresponding to the IMU data sequence are obtained, namely the corrected IMU data, and the precision of the IMU data is improved.
In this embodiment, the median data in each time division window is used as interference of gravity and other noise borne by the terminal on each sampled data in the time division window, and each sampled data in the IMU data sequence segment is corrected. The IMU data sequence is segmented to obtain a plurality of IMU data sequence fragments, and then the sampled data is corrected on each IMU data sequence fragment, so that the server can process each IMU data sequence fragment in parallel, and the correction efficiency of the sampled data is improved.
In one embodiment, based on the embodiment shown in fig. 2, as shown in fig. 6, this embodiment relates to a process of how the server performs linear interpolation preprocessing on IMU data. In this embodiment, the method includes the steps of:
and S100, obtaining IMU data of the transportation means reported by the terminal.
Wherein each sample data in the IMU data has a temporal attribute. Specifically, the specific process of step S100 may refer to the description of the above embodiment, and is not repeated herein.
And step S400, performing linear interpolation processing on missing sampling data in the IMU data to obtain IMU data subjected to linear interpolation processing.
In this embodiment, after acquiring the IMU data of the vehicle reported by the terminal, the server performs linear interpolation processing on missing sample data in the IMU data. It can be understood that, in the process of transmitting the IMU data of the vehicle, there may be a case that the sampled data is lost, and the server performs linear interpolation processing on the missing sampled data in the IMU data to repair the missing sampled data in the IMU data.
Linear interpolation is the estimation of a value from two data points adjacent to the left and right of a point to be interpolated in a one-dimensional data sequence. In this embodiment, as an implementation manner, the server may calculate an average value of two sampling data adjacent to the left and right of the missing sampling data, and use the average value as the value of the missing sampling data.
Step S220, the IMU data after the linear interpolation processing is processed according to the time attribute of each sampling data, so as to obtain error correction data.
The specific process of processing the IMU data after the linear interpolation according to the time attribute of each sampling data by the server to obtain the error correction data may refer to the description of the above embodiment, and is not described herein again.
And step S300, correcting each sampling data by adopting the error correction data to obtain corrected IMU data.
The server corrects each sample data by using the error correction data, and a specific process of obtaining the corrected IMU data may refer to the description of the above embodiments, which is not described herein again.
According to the method and the device, the missing sampling data in the IMU data are subjected to linear interpolation processing, so that the integrity and the accuracy of the IMU data are improved, the server processes the IMU data subjected to linear interpolation processing according to the time attribute of each sampling data to obtain the error correction data, and therefore the data accuracy of the error correction data is improved.
In one embodiment, based on the embodiment shown in fig. 2, as shown in fig. 7, the present embodiment relates to a process of how the server performs driving posture prediction on the vehicle according to the modified IMU data. In this embodiment, after the server obtains the modified IMU data, the method further includes step S510 and step S520:
step S510, calculating, according to the corrected IMU data, comprehensive acceleration data corresponding to the sampling time of each sampling data. And calculating the two norms of the corresponding sampling data to obtain the comprehensive acceleration data.
As an implementation manner, the IMU data in this embodiment may be IMU acceleration data, and the modified IMU data may be modified acceleration data of the vehicle at each sampling time, specifically modified triaxial acceleration data. For example, the corrected triaxial acceleration data corresponding to the sampling time T is (a)Tx,aTy,aTz) Wherein a isTxCorrected acceleration data for the x-axisTyCorrected acceleration data for the y-axis, aTzFor the corrected acceleration data corresponding to the z-axis, the server calculates the comprehensive acceleration data A corresponding to the sampling time TTCan be calculated by equation 1:
Figure BDA0002502357350000151
by the method, the server can calculate the comprehensive acceleration data corresponding to the sampling time of each sampling data.
In step S520, the vehicle is predicted to travel by using the respective integrated acceleration data.
The server predicts the driving posture of the vehicle by using the comprehensive acceleration data. The comprehensive acceleration data of each sampling time represents the corresponding sampling time, the terminal eliminates the stress condition after the influence of gravity and other noises is eliminated, namely the influence of the gravity and other noises on the sampling data due to different placement positions of the terminal is eliminated, and the driving attitude of the vehicle is predicted based on the comprehensive acceleration data, for example, whether the vehicle has dangerous driving behaviors such as rapid acceleration, rapid turning, rapid lane changing, rapid deceleration and the like is predicted, so that the prediction accuracy of the driving attitude prediction can be improved.
Further, if the predicted result obtained by the server is that the vehicle is in dangerous driving, the server sends prompt information to the terminal, the prompt information is used for prompting the driver to drive safely, so that the driving safety of the driver is supervised, and the prompt information can be voice prompt information or text prompt information, which is not limited specifically herein.
An embodiment of the present disclosure is described below with reference to a specific travel scenario, and specifically with reference to fig. 8, the method includes the following steps:
and S100, obtaining IMU data of the transportation means reported by the terminal.
Wherein each sample data in the IMU data has a temporal attribute. In this embodiment, the IMU data includes sampling data acquired by the terminal at different sampling times, each sampling data has a time attribute, and the time attribute may be a sampling time corresponding to the sampling data.
The IMU data in this embodiment may be IMU acceleration data, and the sampling data corresponding to each sampling time included in the IMU data may be acceleration data of the vehicle at each sampling time, specifically, triaxial acceleration data.
In this embodiment, the server may perform linear interpolation processing on missing sample data in the obtained IMU data to repair the missing sample data.
Step S211, sorting the sampling data according to the sequence of the sampling time of the sampling data to obtain an IMU data sequence.
Specifically, each sample data in the IMU data has a time attribute, and as an implementation manner, the IMU data may include a sample time corresponding to each sample data, where the sample time may be, for example, a sample time stamp, and the server may sort each sample data in a descending order of the sample time stamps of each sample data to obtain an IMU data sequence, thereby ensuring that each sample data in the IMU data sequence is generated in a time order of an actual driving behavior of the vehicle.
For example, IMU data includes a sample time t1…tn(n is an integer greater than 1) corresponding to the respective sample data (a)1x,a1y,a1z)…(anx,any,anz) However, the sampling time t1…tnThe corresponding sampled data is not necessarily strictly in terms of t1、t2、t3、t4、…、tn-1、tnThe server sorts the sampling data according to the sequence of the sampling time of the sampling data, and the obtained IMU data sequence is as follows:
(a1x,a1y,a1z)(a2x,a2y,a2z)(a3x,a3y,a3z)(a4x,a4y,a4z)…(an-1x,an-1y,an-1z)(anx,any,anz)
step S2121, dividing a window according to preset time, and segmenting the IMU data sequence to obtain a plurality of IMU data sequence fragments.
For example, the IMU data sequence is a plurality of sample data acquired by the terminal within 3 minutes, and the terminal acquires the sample data every 0.02 second, so the IMU data sequence includes 9000 sample data, the time division window is, for example, 10 seconds, the server segments the IMU data sequence according to 10 seconds to obtain 18 IMU data sequence segments, and each IMU data sequence segment includes 500 sample data.
And if the residual fragments of the IMU data sequence are smaller than the single division amount after the server segments the IMU data sequence, the server merges the residual fragments into the last time division window. For example, continuing with the example that the IMU data sequence includes 9000 sample data, the time division window is 8 seconds, for example, after the server divides the 9000 sample data into 22 IMU data sequence fragments, 200 sample data still remain, and the server merges the remaining 200 sample data into the last time division window, that is, the server finally divides the IMU data sequence into 22 IMU data sequence fragments, where the first 21 IMU data sequence fragments each include 400 sample data and the last IMU data sequence fragment includes 600 sample data. Therefore, omission of the sample data in the process of segmenting the IMU data sequence can be avoided by merging the residual sample data.
Step S2122, calculating the median data corresponding to each IMU data sequence fragment according to the number of the sampling data in each IMU data sequence fragment.
And the server calculates the median data corresponding to each IMU data sequence fragment according to the number of the sampling data in each IMU data sequence fragment.
Specifically, if the number of the sample data in one IMU data sequence segment is odd, the sample data in the middle position of the IMU data sequence segment is determined as the median data corresponding to the IMU data sequence segment. If the number of the sample data in one IMU data sequence segment is even, determining the average value of two adjacent sample data in the middle position of the IMU data sequence segment as the median data corresponding to the IMU data sequence segment.
For example, the number of the sample data in the first IMU data sequence segment is 101, and the server will use the 51 st sample data (a) in the IMU data sequence segmentmx,amy,amz) And the median data corresponding to the IMU data sequence fragment is used, wherein m is a positive integer smaller than n.
Step S320, subtracting the median data corresponding to the IMU data sequence segment from each sampling data in the IMU data sequence segment, respectively, to obtain the corrected IMU data.
For each IMU data sequence fragment, the server respectively subtracts the median data corresponding to the IMU data sequence fragment from each sampling data in the IMU data sequence fragment to obtain a corrected IMU data sequence fragment corresponding to the IMU data sequence fragment. For example, continuing the above example, the first IMU data sequence segment is: (a)1x,a1y,a1z)(a2x,a2y,a2z) …, and the server subtracts the median data of the first IMU data sequence segment, namely the 51 st sample data (a) in the IMU data sequence segment, from the 101 sample data respectivelymx,amy,amz) Obtaining a modified first IMU data sequence fragment: (a)1x-amx,a1y-amy,a1z-amz)(a2x-amx,a2y-amy,a2z-amz)…。
And carrying out the same processing on each IMU data sequence fragment to obtain a plurality of corrected IMU data sequence fragments, namely corrected IMU data.
Step S510, calculating, according to the corrected IMU data, comprehensive acceleration data corresponding to the sampling time of each sampling data. And calculating the two norms of the corresponding sampling data to obtain the comprehensive acceleration data.
For example, for the modified first IMU data sequence segment, the sampling time t1The corresponding corrected triaxial acceleration data is (a)1x-amx,a1y-amy,a1z-amz) The server will sample the time t1Substituting the corresponding corrected triaxial acceleration data into the formula 1, and calculating to obtain the sampling time t1Corresponding integrated acceleration data is
Figure BDA0002502357350000181
By the method, the server can calculate the comprehensive acceleration data corresponding to the sampling time of each sampling data.
In step S520, the vehicle is predicted to travel by using the respective integrated acceleration data.
The server predicts the driving posture of the vehicle by using the comprehensive acceleration data. The comprehensive acceleration data of each sampling time represents the corresponding sampling time, the terminal eliminates the stress condition after the influence of gravity and other noises is eliminated, namely the influence of the gravity and other noises on the sampling data due to different placement positions of the terminal is eliminated, and the driving attitude of the vehicle is predicted based on the comprehensive acceleration data, for example, whether the vehicle has dangerous driving behaviors such as rapid acceleration, rapid turning, rapid lane changing, rapid deceleration and the like is predicted, so that the prediction accuracy of the driving attitude prediction can be improved.
Further, if the predicted result obtained by the server is that the vehicle is in dangerous driving, the server sends prompt information to the terminal, the prompt information is used for prompting the driver to drive safely, so that the driving safety of the driver is supervised, and the prompt information can be voice prompt information or text prompt information, which is not limited specifically herein.
In this embodiment, error correction data related to median data of IMU data of a vehicle reported by a terminal is used to correct each sample data in the IMU data to obtain corrected IMU data, taking IMU data as an example of acceleration data, since a resultant external force applied to an object is a cause of acceleration generated by the object, if the terminal is in a stationary state or a uniform speed state, the resultant external force applied to the terminal is only gravity and other noises, and when the terminal is in the stationary state or the uniform speed state, acceleration data acquired by the terminal is equal to the median data of the IMU data, therefore, the median data can represent acceleration generated by gravity and other noises, that is, interference of gravity and other noises on the acceleration data acquired by the terminal. Acceleration data that fluctuates about this median value data may also approximately characterize acceleration due to gravity and other noise. Therefore, by adopting error correction data related to the median data of the IMU data of the vehicle reported by the terminal (the error correction data can be the median data of the IMU data and can also be data fluctuating nearby the median data of the IMU data), each sampling data in the IMU data is corrected, the interference of gravity and other noises in each sampling data can be eliminated, and the data precision of the IMU data of the vehicle is improved.
Further, in some scenarios applying the IMU data, the data processing method of this embodiment is adopted, so that the application accuracy of the IMU data can be improved, for example, taking a vehicle as an example, in the conventional technology, the IMU data of the vehicle reported by the terminal is generally directly used for predicting the dangerous driving behavior of the vehicle, and since the accuracy of the IMU data of the vehicle reported by the terminal is low, the prediction accuracy of the dangerous driving behavior is low.
In one embodiment, as shown in fig. 9, a data processing method is provided, which is described by taking the application of the method to the terminal in fig. 1 as an example, and includes the following steps:
and step S10, collecting IMU data of the vehicle and sending the IMU data to the server.
Each sample data in the IMU data has a temporal attribute. As an embodiment, the terminal may collect the IMU data of the vehicle according to a preset sampling interval, for example, the terminal may collect the IMU data of the terminal every 0.02 second.
In this embodiment, the server may send a reporting instruction to the terminal, instruct the terminal to report the IMU data of the vehicle periodically according to a time period carried by the reporting instruction, where the time period may be, for example, 2 minutes or 3 minutes, and after receiving the reporting instruction, the terminal reports the IMU data of the vehicle, which is acquired by the terminal at the sampling interval in the current time period, to the server according to the time period.
And step S20, receiving the prompt information sent by the server.
The prompt information is related to the driving posture of the vehicle, and is generated by the server after data processing is performed on the IMU data by adopting any one of the embodiments shown in FIGS. 2-9.
In this embodiment, the prompt information may be used to prompt the driver to drive safely, and the prompt information may be a voice prompt information or a text prompt information, which is not limited herein.
Therefore, the terminal of the embodiment collects IMU data of the vehicle, sends the IMU data to the server, and receives the prompt information issued by the server, so that the driving behavior of the driver can be supervised and reminded, and the driving safety of the vehicle is improved.
It should be understood that although the various steps in the flow charts of fig. 2-9 are shown in order as indicated by the arrows, the steps are not necessarily performed in order as indicated by the arrows. The steps are not performed in the exact order shown and described, and may be performed in other orders, unless explicitly stated otherwise. Moreover, at least some of the steps in fig. 2-9 may include multiple steps or multiple stages, which are not necessarily performed at the same time, but may be performed at different times, which are not necessarily performed in sequence, but may be performed in turn or alternately with other steps or at least some of the other steps.
In one embodiment, as shown in fig. 10, there is provided a data processing apparatus including:
the IMU data acquisition module 10 is used for acquiring IMU data of the transportation means reported by the terminal; wherein each of the IMU data has a temporal attribute;
an error correction data obtaining module 20, configured to process the IMU data according to the time attribute of each sampling data to obtain error correction data of the IMU data; wherein the error correction data is related to median data of the IMU data;
and an error correction module 30, configured to correct each of the sampling data by using the error correction data, so as to obtain corrected IMU data.
In an embodiment, based on the embodiment shown in fig. 10, as shown in fig. 11, the error correction data obtaining module 20 includes: a median data calculating unit 201, configured to calculate median data corresponding to the IMU data according to the time attribute of each sampling data, and determine the median data as the error correction data; the error correction module 30 is specifically configured to subtract the median data from each sampling data to obtain the corrected IMU data.
In an embodiment, based on the embodiment shown in fig. 11, as shown in fig. 12, the median data calculating unit 201 includes: a sorting subunit 2011, configured to sort the sample data according to a sequence of sampling times of the sample data, so as to obtain an IMU data sequence; the median data determining subunit 2012 is configured to determine, according to the number of the sample data in the IMU data sequence, median data corresponding to the IMU data.
Optionally, the median data determining subunit 2012 is specifically configured to: if the number of the sampling data in the IMU data sequence is an odd number, determining the sampling data in the middle position of the IMU data sequence as the median data; and if the number of the sampling data in the IMU data sequence is an even number, determining the average value of two adjacent sampling data in the middle position of the IMU data sequence as the median data.
Optionally, the median data determining subunit 2012 is specifically configured to divide a window according to a preset time, segment the IMU data sequence to obtain a plurality of IMU data sequence segments, and calculate the median data corresponding to each IMU data sequence segment according to the number of sample data in each IMU data sequence segment.
Optionally, the error correction module 30 is specifically configured to subtract the median data corresponding to the IMU data sequence segment from each sampling data in the IMU data sequence segment, so as to obtain the corrected IMU data.
In an embodiment, based on the embodiment shown in fig. 10, as shown in fig. 13, the data processing apparatus further includes: the interpolation module 40 is configured to perform linear interpolation processing on missing sample data in the IMU data to obtain IMU data after the linear interpolation processing; the error correction data obtaining module 20 is specifically configured to process the IMU data after the linear interpolation processing according to the time attribute of each sampling data, so as to obtain the error correction data.
And an error correction module 30, configured to subtract the median data from each sampling data to obtain the corrected IMU data.
Optionally, the IMU data is IMU acceleration data.
In an embodiment, based on the embodiment shown in fig. 10, as shown in fig. 14, the data processing apparatus further includes:
a comprehensive acceleration obtaining module 50, configured to calculate, according to the corrected IMU data, comprehensive acceleration data corresponding to sampling time of each sampling data; each comprehensive acceleration data is obtained after calculating the two norms of the corresponding sampling data;
and a driving posture prediction module 60, configured to predict a driving posture of the vehicle by using each piece of the integrated acceleration data.
Optionally, the system may further include a prompt information sending module 70, configured to send a prompt information to the terminal if the predicted result is that the transportation vehicle is driven in a dangerous manner; the prompt information is used for prompting the driver to drive safely.
In one embodiment, as shown in fig. 15, there is provided a data processing apparatus including:
the reporting module 100 is used for collecting IMU data of a vehicle and sending the IMU data to a server; each sample data in the IMU data has a temporal attribute;
a prompt information receiving module 200, configured to receive the prompt information sent by the server; the prompt information is related to the driving posture of the vehicle, and the prompt information is generated after the server performs data processing on the IMU data by using any one of the embodiments shown in fig. 2-9.
For specific limitations of the data processing apparatus, reference may be made to the above limitations of the data processing method, which are not described herein again. The various modules in the data processing apparatus described above may be implemented in whole or in part by software, hardware, and combinations thereof. The modules can be embedded in a hardware form or independent from a processor in the server or the terminal, and can also be stored in a memory in the server or the terminal in a software form, so that the processor can call and execute operations corresponding to the modules.
Fig. 16 is a block diagram illustrating a terminal 1300 according to an example embodiment. For example, terminal 1300 may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, and so forth.
Referring to fig. 16, terminal 1300 can include one or more of the following components: a processing component 1302, a memory 1304, a power component 1306, a multimedia component 1308, an audio component 1310, an input/output (I/O) interface 1312, a sensor component 1314, and a communication component 1316. Wherein the memory has stored thereon a computer program or instructions for execution on the processor.
Processing component 1302 generally controls overall operation of terminal 1300, such as operations associated with display, telephone calls, data communications, camera operations, and recording operations. The processing component 1302 may include one or more processors 1320 to execute instructions to perform all or part of the steps of the method described above. Further, the processing component 1302 can include one or more modules that facilitate interaction between the processing component 1302 and other components. For example, the processing component 1302 may include a multimedia module to facilitate interaction between the multimedia component 1308 and the processing component 1302.
Memory 1304 is configured to store various types of data to support operation at terminal 1300. Examples of such data include instructions for any application or method operating on terminal 1300, contact data, phonebook data, messages, pictures, videos, and so forth. The memory 1304 may be implemented by any type or combination of volatile or non-volatile memory devices such as Static Random Access Memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic or optical disks.
Power supply component 1306 provides power to the various components of terminal 1300. Power components 1306 may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power for terminal 1300.
The multimedia component 1308 includes a touch-sensitive display screen between the terminal 1300 and the user that provides an output interface. In some embodiments, the touch display screen may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). The touch panel includes one or more touch sensors to sense touch, slide, and gestures on the touch panel. The touch sensor may not only sense the boundary of a touch or slide action, but also detect the duration and pressure associated with the touch or slide operation. In some embodiments, the multimedia component 1308 includes a front facing camera and/or a rear facing camera. The front camera and/or the rear camera may receive external multimedia data when the terminal 1300 is in an operation mode, such as a photographing mode or a video mode. Each front camera and rear camera may be a fixed optical lens system or have a focal length and optical zoom capability.
The audio component 1310 is configured to output and/or input audio signals. For example, audio component 1310 includes a Microphone (MIC) configured to receive external audio signals when terminal 1300 is in an operational mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals may further be stored in the memory 1304 or transmitted via the communication component 1316. In some embodiments, the audio component 1310 also includes a speaker for outputting audio signals.
The I/O interface 1312 provides an interface between the processing component 1302 and peripheral interface modules, which may be keyboards, click wheels, buttons, etc. These buttons may include, but are not limited to: a home button, a volume button, a start button, and a lock button.
Sensor assembly 1314 includes one or more sensors for providing various aspects of state assessment to terminal 1300. For example, sensor assembly 1314 can detect an open/closed state of terminal 1300, the relative positioning of components, such as a display and keypad of terminal 1300, sensor assembly 1314 can also detect a change in position of terminal 1300 or a component of terminal 1300, the presence or absence of user contact with terminal 1300, orientation or acceleration/deceleration of terminal 1300, and a change in temperature of terminal 1300. The sensor assembly 1314 may include a proximity sensor configured to detect the presence of a nearby object without any physical contact. The sensor assembly 1314 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor assembly 1314 may also include an acceleration sensor, a gyroscope sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.
The communication component 1316 is configured to facilitate communications between the terminal 1300 and other devices in a wired or wireless manner. The terminal 1300 may access a wireless network based on a communication standard, such as WiFi, 2G or 3G, or a combination thereof. In an exemplary embodiment, the communication component 1316 receives broadcast signals or broadcast related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communications component 1316 also includes a Near Field Communications (NFC) module to facilitate short-range communications. For example, the NFC module may be implemented based on Radio Frequency Identification (RFID) technology, infrared data association (IrDA) technology, Ultra Wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.
In an exemplary embodiment, the terminal 1300 may be implemented by one or more Application Specific Integrated Circuits (ASICs), Digital Signal Processors (DSPs), Digital Signal Processing Devices (DSPDs), Programmable Logic Devices (PLDs), Field Programmable Gate Arrays (FPGAs), controllers, micro-controllers, microprocessors or other electronic components for performing the data processing method illustrated in fig. 9 described above.
Fig. 17 is a block diagram illustrating a server 1400 in accordance with an example embodiment. Referring to fig. 17, server 1400 includes a processing component 1420, which further includes one or more processors, and memory resources, represented by memory 1422, for storing instructions or computer programs, e.g., applications, that are executable by processing component 1420. The application programs stored in memory 1422 may include one or more modules that each correspond to a set of instructions. Further, the processing component 1420 is configured to execute instructions to perform the data processing methods illustrated in fig. 2-8 described above.
The server 1400 may also include a power component 1424 configured to perform power management of the device 1400, a wired or wireless network interface 1426 configured to connect the device 1400 to a network, and an input/output (I/O) interface 1428. The server 1400 may operate based on an operating system stored in memory 1422, such as Window 1414 over, Mac O14 XTM, UnixTM, LinuxTM, FreeB14DTM, or the like.
In an exemplary embodiment, a storage medium comprising instructions, such as the memory 1422 comprising instructions, executable by the processor of the server 1400 to perform the above-described method is also provided. The storage medium may be a non-transitory computer readable storage medium, which may be, for example, a ROM, a Random Access Memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, and the like.
It will be understood by those skilled in the art that all or part of the processes of the methods of the embodiments described above can be implemented by hardware instructions of a computer program, which can be stored in a non-volatile computer-readable storage medium, and when executed, can include the processes of the embodiments of the methods described above. Any reference to memory, storage, database or other medium used in the embodiments provided by the embodiments of the disclosure may include at least one of non-volatile and volatile memory. Non-volatile Memory may include Read-Only Memory (ROM), magnetic tape, floppy disk, flash Memory, optical storage, or the like. Volatile Memory can include Random Access Memory (RAM) or external cache Memory. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM), among others.
The technical features of the above embodiments can be arbitrarily combined, and for the sake of brevity, all possible combinations of the technical features in the above embodiments are not described, but should be considered as the scope of the present specification as long as there is no contradiction between the combinations of the technical features.
The above-mentioned embodiments only express a few implementation modes of the embodiments of the present disclosure, and the description thereof is specific and detailed, but not construed as limiting the scope of the invention. It should be noted that, for those skilled in the art, variations and modifications can be made without departing from the concept of the embodiments of the present disclosure, and these are all within the scope of the embodiments of the present disclosure. Therefore, the protection scope of the patent of the embodiment of the disclosure should be subject to the appended claims.

Claims (25)

1. A method of data processing, the method comprising:
acquiring inertial measurement unit IMU data of a vehicle reported by a terminal; wherein each of the IMU data has a temporal attribute;
processing the IMU data according to the time attribute of each sampling data to obtain error correction data of the IMU data; wherein the error correction data is related to median data of the IMU data;
and correcting each sampling data by adopting the error correction data to obtain corrected IMU data.
2. The method of claim 1, wherein the processing the IMU data according to the temporal attributes of the respective sample data to obtain error correction data for the IMU data comprises:
calculating median data corresponding to the IMU data according to the time attribute of each sampling data, and determining the median data as the error correction data;
correspondingly, the correcting the sampling data by using the error correction data to obtain corrected IMU data includes:
and subtracting the median data from each sampling data to obtain the corrected IMU data.
3. The method of claim 2, wherein said calculating the median data corresponding to the IMU data according to the time attribute of each of the sample data comprises:
sequencing the sampling data according to the sequence of the sampling time of the sampling data to obtain an IMU data sequence;
and determining median data corresponding to the IMU data according to the number of the sampling data in the IMU data sequence.
4. The method of claim 3, wherein determining the median data corresponding to the IMU data according to the number of the sampled data in the IMU data sequence comprises:
if the number of the sampling data in the IMU data sequence is an odd number, determining the sampling data in the middle position of the IMU data sequence as the median data;
and if the number of the sampling data in the IMU data sequence is an even number, determining the average value of two adjacent sampling data in the middle position of the IMU data sequence as the median data.
5. The method of claim 3, wherein determining the median data corresponding to the IMU data according to the number of the sampled data in the IMU data sequence comprises:
dividing a window according to preset time, and segmenting the IMU data sequence to obtain a plurality of IMU data sequence segments;
and calculating the median data corresponding to each IMU data sequence fragment according to the number of the sampling data in each IMU data sequence fragment.
6. The method of claim 5, wherein said subtracting said median data from said respective sampled data to obtain said modified IMU data comprises:
and respectively subtracting the median data corresponding to the IMU data sequence fragment from each sampling data in the IMU data sequence fragment to obtain the corrected IMU data.
7. The method of claim 1, wherein after obtaining the IMU data of the vehicle reported by the terminal, the method further comprises:
performing linear interpolation processing on missing sampling data in the IMU data to obtain IMU data subjected to linear interpolation processing;
correspondingly, the processing the IMU data according to the time attribute of each sampling data to obtain error correction data of the IMU data includes:
and processing the IMU data after the linear interpolation according to the time attribute of each sampling data to obtain the error correction data.
8. The method of any of claims 1-7, wherein the IMU data is IMU acceleration data.
9. The method according to any of claims 1-7, wherein after said modifying said respective sampled data with said error correction data to obtain modified IMU data, further comprising:
calculating comprehensive acceleration data corresponding to the sampling time of each sampling data according to the corrected IMU data; each comprehensive acceleration data is obtained after calculating the two norms of the corresponding sampling data;
and predicting the driving posture of the vehicle by utilizing the comprehensive acceleration data.
10. The method of claim 9, further comprising:
if the predicted result obtained through prediction is that dangerous driving exists in the vehicle, prompt information is sent to the terminal; the prompt information is used for prompting the driver to drive safely.
11. A method of data processing, the method comprising:
the method comprises the steps of collecting IMU data of a vehicle and sending the IMU data to a server; each sample data in the IMU data has a temporal attribute;
receiving prompt information issued by the server; the prompt information is related to the driving posture of the vehicle, and the prompt information is generated after the server performs data processing on the IMU data by adopting the method of any one of claims 1-10.
12. A data processing apparatus, characterized in that the apparatus comprises:
the IMU data acquisition module is used for acquiring IMU data of the transportation means reported by the terminal; wherein each of the IMU data has a temporal attribute;
an error correction data acquisition module, configured to process the IMU data according to the time attribute of each sampling data, to obtain error correction data of the IMU data; wherein the error correction data is related to median data of the IMU data;
and the error correction module is used for correcting each sampling data by adopting the error correction data to obtain corrected IMU data.
13. The apparatus of claim 12, wherein the error correction data acquisition module comprises:
a median data calculation unit, configured to calculate median data corresponding to the IMU data according to the time attribute of each piece of sampling data, and determine the median data as the error correction data;
correspondingly, the error correction module is specifically configured to subtract the median data from each sampling data to obtain the corrected IMU data.
14. The apparatus of claim 13, wherein the median data calculation unit comprises:
the sequencing subunit is used for sequencing the sampling data according to the sequence of the sampling time of the sampling data to obtain an IMU data sequence;
and the median data determining subunit is used for determining the median data corresponding to the IMU data according to the number of the sampling data in the IMU data sequence.
15. The apparatus of claim 14, wherein the median data determining subunit is specifically configured to:
if the number of the sampling data in the IMU data sequence is an odd number, determining the sampling data in the middle position of the IMU data sequence as the median data;
and if the number of the sampling data in the IMU data sequence is an even number, determining the average value of two adjacent sampling data in the middle position of the IMU data sequence as the median data.
16. The apparatus of claim 14, wherein the median data determining subunit is configured to segment the IMU data sequence according to a preset time division window to obtain a plurality of IMU data sequence segments, and calculate the median data corresponding to each IMU data sequence segment according to the number of sample data in each IMU data sequence segment.
17. The apparatus of claim 16, wherein the error correction module is specifically configured to subtract the median data corresponding to the IMU data sequence segment from each sample data in the IMU data sequence segment to obtain the corrected IMU data.
18. The apparatus of claim 12, further comprising:
the interpolation module is used for carrying out linear interpolation processing on missing sampling data in the IMU data to obtain IMU data after linear interpolation processing;
correspondingly, the error correction data acquisition module is specifically configured to process the IMU data after the linear interpolation processing according to the time attribute of each sampling data, so as to obtain the error correction data.
19. The apparatus of any of claims 12-18, wherein the IMU data is IMU acceleration data.
20. The apparatus of any one of claims 12-18, further comprising:
the comprehensive acceleration acquisition module is used for calculating comprehensive acceleration data corresponding to the sampling time of each sampling data according to the corrected IMU data; each comprehensive acceleration data is obtained after calculating the two norms of the corresponding sampling data;
and the driving attitude prediction module is used for predicting the driving attitude of the vehicle by utilizing the comprehensive acceleration data.
21. The apparatus of claim 20, further comprising:
the prompt information sending module is used for sending prompt information to the terminal if the predicted result obtained through prediction indicates that dangerous driving exists in the vehicle; the prompt information is used for prompting the driver to drive safely.
22. A data processing apparatus, characterized in that the apparatus comprises:
the reporting module is used for acquiring IMU data of the vehicle and sending the IMU data to the server; each sample data in the IMU data has a temporal attribute;
the prompt information receiving module is used for receiving the prompt information issued by the server; the prompt information is related to the driving posture of the vehicle, and the prompt information is generated after the server performs data processing on the IMU data by adopting the method of any one of claims 1-10.
23. A server comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the steps of the method of any of claims 1 to 10 are implemented by the processor when executing the computer program.
24. A terminal comprising a memory, a processor and a computer program stored on the memory and executable on the processor, characterized in that the steps of the method as claimed in claim 11 are implemented when the processor executes the computer program.
25. A storage medium having a computer program stored thereon, the computer program, when being executed by a processor, realizing the steps of the method of any one of claims 1 to 11.
CN202010436167.8A 2020-05-21 2020-05-21 Data processing method, device, server, terminal and readable storage medium Active CN111625755B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010436167.8A CN111625755B (en) 2020-05-21 2020-05-21 Data processing method, device, server, terminal and readable storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010436167.8A CN111625755B (en) 2020-05-21 2020-05-21 Data processing method, device, server, terminal and readable storage medium

Publications (2)

Publication Number Publication Date
CN111625755A true CN111625755A (en) 2020-09-04
CN111625755B CN111625755B (en) 2023-10-31

Family

ID=72272577

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010436167.8A Active CN111625755B (en) 2020-05-21 2020-05-21 Data processing method, device, server, terminal and readable storage medium

Country Status (1)

Country Link
CN (1) CN111625755B (en)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015190850A (en) * 2014-03-28 2015-11-02 セイコーエプソン株式会社 Error estimation method, kinematic analysis method, error estimation device, and program
US9702702B1 (en) * 2015-06-15 2017-07-11 The Charles Stark Draper Laboratory, Inc. Methods and apparatus for navigational aiding using celestial object tracking
US20180183650A1 (en) * 2012-12-05 2018-06-28 Origin Wireless, Inc. Method, apparatus, and system for object tracking and navigation
CN109726771A (en) * 2019-02-27 2019-05-07 深圳市赛梅斯凯科技有限公司 Abnormal driving detection model method for building up, device and storage medium
CN109855617A (en) * 2019-02-28 2019-06-07 深圳市元征科技股份有限公司 A kind of vehicle positioning method, vehicle locating device and terminal device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180183650A1 (en) * 2012-12-05 2018-06-28 Origin Wireless, Inc. Method, apparatus, and system for object tracking and navigation
JP2015190850A (en) * 2014-03-28 2015-11-02 セイコーエプソン株式会社 Error estimation method, kinematic analysis method, error estimation device, and program
US9702702B1 (en) * 2015-06-15 2017-07-11 The Charles Stark Draper Laboratory, Inc. Methods and apparatus for navigational aiding using celestial object tracking
CN109726771A (en) * 2019-02-27 2019-05-07 深圳市赛梅斯凯科技有限公司 Abnormal driving detection model method for building up, device and storage medium
CN109855617A (en) * 2019-02-28 2019-06-07 深圳市元征科技股份有限公司 A kind of vehicle positioning method, vehicle locating device and terminal device

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
李玉洁;张海;苌永娜;: "余度IMU精度分析与数据融合方法改进" *

Also Published As

Publication number Publication date
CN111625755B (en) 2023-10-31

Similar Documents

Publication Publication Date Title
EP3014476B1 (en) Using movement patterns to anticipate user expectations
CN111625764B (en) Mobile data calibration method, device, electronic equipment and storage medium
WO2018233438A1 (en) Human face feature point tracking method, device, storage medium and apparatus
US20160075023A1 (en) Robot motion replanning based on user motion
US9702899B2 (en) Pedometer with lag correction
US8750897B2 (en) Methods and apparatuses for use in determining a motion state of a mobile device
CN112414400B (en) Information processing method and device, electronic equipment and storage medium
EP3276301A1 (en) Mobile terminal and method for calculating a bending angle
US20190271543A1 (en) Method and system for lean angle estimation of motorcycles
CN111623799B (en) Terminal state detection method and device, terminal and storage medium
CN112525224B (en) Magnetic field calibration method, magnetic field calibration device, and storage medium
CN110717467A (en) Head pose estimation method, device, equipment and storage medium
CN114879846A (en) Method, device, equipment and medium for determining trigger position
CN112818898B (en) Model training method and device and electronic equipment
CN111857369B (en) Method, device, terminal and storage medium for calibrating proximity sensor of mobile terminal
CN111625755B (en) Data processing method, device, server, terminal and readable storage medium
CN110809083B (en) Mobile terminal information reminding method, mobile terminal and storage medium
CN115719347A (en) Behavior recognition method and device, electronic equipment and vehicle
US20220051005A1 (en) Walking estimation system, walking estimation method, and computer readable-medium
CN115086538B (en) Shooting position determining method, device, equipment and medium
JP7016101B2 (en) Information processing system, information processing device, program, and information processing method
WO2020071284A1 (en) Information processing device, information processing method, and program
US11232581B2 (en) Information processing apparatus, information processing method, and recording medium
CN112486318B (en) Image display method and device, readable medium and electronic equipment
CN118485769A (en) Image pose optimization method, visual mapping method, device and storage medium

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
GR01 Patent grant