{ "model": "pace-cnn", "version": "0.1.0", "format": "pace-cnn-v1", "labels": [ "walking", "walking_upstairs", "walking_downstairs", "sitting", "standing", "laying" ], "input": { "shape": [ 1, 128, 9 ], "layout": "row-major: sample t, then channel c (index t * 9 + c)", "window": 128, "rate_hz": 50, "overlap": 0.5, "channels": [ { "name": "body_acc_x", "unit": "g (1 g = 9.80665 m/s^2)" }, { "name": "body_acc_y", "unit": "g (1 g = 9.80665 m/s^2)" }, { "name": "body_acc_z", "unit": "g (1 g = 9.80665 m/s^2)" }, { "name": "body_gyro_x", "unit": "rad/s" }, { "name": "body_gyro_y", "unit": "rad/s" }, { "name": "body_gyro_z", "unit": "rad/s" }, { "name": "total_acc_x", "unit": "g (1 g = 9.80665 m/s^2)" }, { "name": "total_acc_y", "unit": "g (1 g = 9.80665 m/s^2)" }, { "name": "total_acc_z", "unit": "g (1 g = 9.80665 m/s^2)" } ], "sensor": "6-axis IMU worn at the waist (belt), as in UCI HAR" }, "normalisation": { "rule": "(x - mean) / std per channel", "from": "training subjects of uci-har-v1 (validation excluded)", "mean": [ -0.0004951871815137565, -0.00032817694591358304, -0.00021286075934767723, 0.0005902921548113227, -0.0004714796377811581, -0.00026790332049131393, 0.8028175234794617, 0.02752470225095749, 0.081498883664608 ], "std": [ 0.19266846776008606, 0.1205918937921524, 0.10867609083652496, 0.4066708981990814, 0.3769063949584961, 0.25676658749580383, 0.410501092672348, 0.382828027009964, 0.373470276594162 ] }, "quantisation": { "input_scale": 0.060373175889253616, "input_zero_point": -1, "output_scale": 0.06330011039972305, "output_zero_point": -19, "output": "int8 scores in label order; argmax is the predicted activity" }, "preparation": { "rate_hz": 50, "window": 128, "step": 64, "units": { "acc": "g (1 g = 9.80665 m/s^2)", "gyro": "rad/s" }, "channels": [ "body_acc_x", "body_acc_y", "body_acc_z", "body_gyro_x", "body_gyro_y", "body_gyro_z", "total_acc_x", "total_acc_y", "total_acc_z" ], "steps": [ { "op": "median", "length": 3, "causal": true, "on": "acc and gyro, per axis" }, { "op": "butterworth_lowpass", "order": 3, "cutoff_hz": 20.0, "on": "acc and gyro, per axis", "sos": [ [ 0.6990599365895495, 1.398119873179099, 0.6990599365895495, 1.0, 1.25051643084874, 0.5457233155094577 ], [ 0.7547627247472144, 0.7547627247472144, 0.0, 1.0, 0.5095254494944288, 0.0 ] ] }, { "op": "gravity_separation", "lowpass": { "type": "butterworth", "order": 3, "cutoff_hz": 0.3, "sos": [ [ 0.0003486925369977911, 0.0006973850739955822, 0.0003486925369977911, 1.0, -1.9616121845004821, 0.9630069546484733 ], [ 0.0185029745248923, 0.0185029745248923, 0.0, 1.0, -0.9629940509502154, 0.0 ] ] }, "body_acc": "total_acc - lowpass(total_acc)" }, { "op": "normalise", "rule": "(x - mean) / std per channel, training-subject constants" }, { "op": "quantise", "rule": "round(x / input_scale) + input_zp, clipped to int8" } ], "filter_form": "second-order sections, transposed direct form II, causal; state starts at the steady state of the first sample", "chosen_by_the_zoo": [ "median length 3", "gravity filter order 3", "causal filtering" ] }, "benchmark": "uci-har-v1" }