TECHNICAL FIELD

This disclosure relates generally to data acquisition and analysis, and more particularly to methods and systems for motion data quantification, acquisition, analysis, and refinement.

BACKGROUND

In current contexts, some devices or systems may sense and record human motion, such as in the sports or medicine industries. For example, a sensor device may sense motion and may record data values representing the sensed motion, such as the individual's gait. Existing motion data gathering techniques often acquire data that suffers from drift, where recorded motion data values shift from true motion data values over time, presenting inaccurate data. In some cases, certain environments, such as those with vibrations caused by individuals in neighboring rooms, may further complicate drift problems. In many cases, motion data may be gathered from a single device with limited self-correction abilities. Inaccurate data can in turn lead to a number of additional problems, including misdiagnosis of health issues, low quality physical therapy, or improper physical technique training. The embodiments discussed herein address one or more of these and other problems in the art.

SUMMARY

Disclosed embodiments may include methods, systems, devices, and non-transitory computer-readable media to mitigate measurement drift improve location measurement, and improve inertial odometry measurement. Disclosed embodiments may include a device comprising a memory storing instructions and at least one processor configured to execute the instructions. The at least one processor may be configured to execute the instructions to: receive first sensor data from at least one motion sensor; receive 3-D motion data based on motion detected by at least one camera; input model input data into a machine learning model configured to generate at least one vector, the model input data being based on the received first sensor data and the received 3-D motion data; and apply the at least one vector as an offset to at least one of: the received first sensor data, to create offset first sensor data; or second sensor data received from the at least one motion sensor, to create offset second sensor data.

In further embodiments, the model input data may comprise at least one of: a value representing absolute orientation in space; a value representing a measurement of a gravitational force; a value representing angular velocity; or a value representing linear acceleration.

In further embodiments, the machine learning model may be a neural network. In further embodiments, the neural network may comprise at least one of: a convolution layer; a linear layer; a soft maximum filter; a drop-out layer; or a batch normalization layer. In further embodiments, the neural network may comprise a one-dimensional layer.

In further embodiments, the at least one vector may comprise at least two values, each value corresponding to a different coordinate direction.

In further embodiments, the at least one motion sensor may comprise an inertial measurement unit (IMU); and the received first sensor data may comprise position data of the IMU.

In further embodiments, the device may comprise the at least one camera.

In further embodiments, the at least one motion sensor may comprise an inertial measurement unit (IMU); and the IMU may be communicably coupled to the computer-implemented device.

In further embodiments, the first sensor data and the 3-D motion data may be generated while the at least one motion sensor or the at least one camera is in contact with a user.

In further embodiments, the at least one processor may be configured to execute an instruction to apply a data transformation to the received first sensor data to generate at least a portion of the model input data. In further embodiments, the data transformation may comprise at least one of: a data smoothing operation; a moving average operation; or a coordinate frame transformation.

In further embodiments, the first sensor data and the second sensor data may comprise time series datasets, and the at least one processor may be configured to execute an instruction to use at least one of the offset first sensor data or the offset second sensor data to adjust a visual representation of one of the time series datasets. In further embodiments, the at least one processor may be configured to execute an instruction to cause the display of the adjusted visual representation.

In further embodiments, the machine learning model may be trained to generate the at least one vector, and the training may be based on model input data sourced with at least one particular contextual attribute. In further embodiments, the at least one processor may be configured to execute an instruction to select the machine learning model from among a plurality of machine learning models associated with respective contextual attributes. In further embodiments, the at least one processor may be configured to execute an instruction to select the machine learning model based on at least one input received at the computer-implemented device from a user.

In further embodiments, the at least one processor may be configured to execute an instruction to train the machine learning model using the received first sensor data and the received 3-D motion data.

An embodiment may include a device comprising a memory storing instructions and at least one processor configured to execute the instructions. The at least one processor may be configured to execute the instructions to: receive a first data stream of time-series sensor data from at least one motion sensor; receive a second data stream of time-series 3-dimensional (3-D) motion data based on motion detected by at least one camera; input model input data into a machine learning model configured to generate at least one vector, the model input data comprising vectors representing at least one of angular velocity or linear acceleration, the vectors being based on the first data stream and the second data stream; and apply the at least one vector as an offset to at least one of the first data stream or the second data stream.

It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. Additionally, the various disclosed embodiments may be used together in different combinations.

