pscholl / imustat

classify inertial data stream by statistical properties

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

imuestat - classify inertial data stream by statistical properties

This repository holds scripts to extract features from the dataset mentioned in [1], as well as the extracted feature in a CSV file. It's purpose is to allow easy reproduction of the mentioned results.

Results

The results of the run as described in the paper can be found in the 'results' file.

Usage

The imustat script can be used to classify streams and extract the features. It's output is in csv format, and it takes .mkv (or other formats that ffmpeg can read) and analyzes the contained streams. You can turn on debugging which will print additional information on each row:

./imustat -d b6276bb5-168d-4b84-a2cd-88b35a5ad354.mkv
acc   acc   acc   1.000   1.00000     1.00000    66.72874   "b6276bb5-168d-4b84-a2cd-88b35a5ad354.mkv" "none"
gyr   gyr   gyr   0.008   6.00000    -4.00000    32.34980   "b6276bb5-168d-4b84-a2cd-88b35a5ad354.mkv" "none"
mag   mag   mag   0.797   3.00000    -1.00000     1.08561   "b6276bb5-168d-4b84-a2cd-88b35a5ad354.mkv" "none"
none  none  none  0.977   2.00000     0.00000    15.03113   "b6276bb5-168d-4b84-a2cd-88b35a5ad354.mkv" "none"

The meaning of each row is:

  1. ground truth sensor type (value of NAME tag in stream)
  2. estimated sensor type (simple ruleset)
  3. estimated sensor type (accmag ruleset)
  4. empirical mode of the distribution (value)
  5. number of peaks
  6. difference of mean number of peaks of none-gyro streams and number of peaks
  7. kurtosis of data ditribution
  8. input filename
  9. value of POSITION tag in input stream

Without '-d' only the results of the classification will be printed

./imustat b6276bb5-168d-4b84-a2cd-88b35a5ad354.mkv
acc
gyr
mag
none

Requirements

This software requires a recent version of ffmpeg, numpy, matplotlib and scipy. For I/O the ffmpeginput module is required.

Caveats

The only tested input format are .mkv file at the moment. Should the identified sensor type not match your exception, then please check whether your data recording was interpolated with non-NaN values.

[1]: Philipp M. Scholl, Kristof van Laerhoven - "On The Statistical Properties of Body-Worn Inertial Motion Data" in Internatiol Symposium on Wearable Computing, 2017

About

classify inertial data stream by statistical properties

License:GNU General Public License v3.0


Languages

Language:Python 100.0%