Як мені нормалізувати дані датчика акселерометра?


9

Я працюю з великим набором даних акселерометра, зібраними за допомогою декількох датчиків, які носили багато предметів. На жаль, тут, здається, ніхто не знає технічних характеристик пристроїв, і я не думаю, що вони ніколи не були повторно відкалібровані. У мене не багато інформації про пристрої. Я працюю над магістерською дисертацією, акселерометри були запозичені в іншому університеті і взагалі ситуація була трохи непрозорою. Отже, попередня обробка пристрою на борту? Ніякої підказки.

Що я знаю, це те, що це трихосні акселерометри з частотою дискретизації 20 Гц; цифрові та імовірно MEMS. Мене цікавить невербальна поведінка та жестикуляція, які, за моїми джерелами, в основному повинні виробляти активність в діапазоні 0,3-3,5 Гц.

Нормалізація даних видається цілком необхідною, але я не впевнений, що використовувати. Дуже велика частина даних близька до значень решти (вихідні значення ~ 1000, від тяжкості), але є деякі крайнощі, наприклад, до 8000 в одних журналах, або навіть 29000 в інших. Дивіться зображення нижче . Я думаю, що це робить поганою ідеєю розділити на max або stdev для нормалізації.

Який звичайний підхід у такому випадку? Розділити на медіану? Значення відсотків? Щось ще?

Як побічна проблема, я також не впевнений, чи слід вирізати крайні значення.

Дякую за будь-яку пораду!

Редагувати : Ось сюжет про приблизно 16 хвилин даних (20000 зразків), щоб дати уявлення про те, як типово розподіляються дані.

введіть тут опис зображення


1
Чи можете ви надати трохи більше інформації про налаштування вимірювань? Питання, які вам спадають на думку: ( 1 ) Це одноосні акселерометри чи багатоосні? ( 2 ) Чи фільтруються вони високопрохідними, чи ні, якщо так, то як? (Здається, що їх немає, виходячи з вашого опису.) ( 3 ) Що саме ви вимірюєте та який діапазон частот сигналу, який вас цікавить? ( 4 ) Який механізм зондування (тобто MEMS, п'єзоелектричний, ємнісний тощо) або, навіть, номер деталі (!) Акселерометрів, які ви використовуєте? ...
кардинал

... (продовження) ( 5 ) Це повністю цифрові чи у вас є власний АЦП (16-бітний, можливо, за описом, який ви даєте)?
кардинал

@cardinal: Я редагував відповіді на ваші запитання, дякую за запитання. Не впевнений, що таке АЦП. Я брав участь в експерименті, але не у витягуванні даних із пам'яті пристрою, існує розрив між збором даних і тим, де я отримав купу бінарних журналів.
Junuxx

Привіт, Юнукс. Вибачте за незрозумілу абревіатуру (ADC = "аналого-цифровий перетворювач"); Я неявно припускав, що ви розпізнаєте це на основі свого запитання.
кардинал

1
Що ви намагаєтесь з’ясувати з цих даних? Ви, можливо, намагаєтесь виявити певні види подій, оцінити частоту подій, оцінити середні прискорення, знайти кореляції між різними акселерометрами, ...? Справа в тому, що якщо вам потрібні гарні, відповідні поради, не запитуйте про технічні процедури з даними (які можуть бути неактуальними або навіть марними, залежно від програми): спочатку скажіть нам, яку проблему ви намагаєтеся вирішити.
whuber

Відповіді:


14

Сировинні сигнали, які ви показуєте вище, видаються нефільтрованими та некаліброваними. Відповідна фільтрація та калібрування з деяким відхиленням артефакту фактично нормалізують дані. Стандартний підхід із даними акселерометра такий:

  1. Фільтр - наприклад, четвертий порядок, нульовий фаз IIR низькочастотного або смугового фільтра
  2. Відхилення артефакту - на пороговій основі
  3. Метод калібрування - Ферраріс та ін. ( Порядок безпроблемної калібрування в полі тривісних гіроскопів і акселерометрів, F Ferraris, U Grimaldi, M Parvis - Sensors and Actuators, 1995 ) добре працює для цього.

Доцільно виконати відхилення артефакту на даних інерційних датчиків. Я б занепокоєний тим, що ви не знаєте походження даних, і тому ви не можете гарантувати, що датчики були встановлені правильно та послідовно (з точки зору орієнтації та фізичного розміщення) на всіх суб'єктів. Якщо датчики не були встановлені правильно, ви можете отримати багато артефакту в сигналах, оскільки датчик може рухатися відносно сегмента тіла. Так само, якщо датчики були орієнтовані по-різному (у тому, як вони були розміщені) на різні предмети, дані буде складно порівняти між суб'єктами.

Зважаючи на розмір випускників, які ви повідомляєте, вони здаються артефактами. Такі артефакти майже певно перекосують будь-який розрахунок калібрування (хоча їхній ефект зменшиться відповідною фільтрацією), і тому калібрування слід проводити після відкидання артефакту.

Простий поріг може спрацювати для початкової процедури відхилення артефакту, тобто видалити (або замінити NaN) всі зразки вище певного емпіричного порогу. Більш складні методи адаптивно обчислюють цей поріг, використовуючи середнє біг або рухоме вікно.

Залежно від місця розташування датчика, ви також можете скорегувати вплив сили тяжіння на сигнали прискорення, хоча детальне розуміння осей датчика та його позиціонування тут є вирішальним. Метод Мо-Нілсона ( Р. Мо-Нілссен, Новий метод оцінювання рухового контролю в походці в реальних умовах навколишнього середовища. Частина 1: Прилад, Клінічна біомеханіка, Том 13, Випуски 4–5, червень – липень 1998 р., Сторінки 320-327 ) є найбільш часто використовуваним і добре працює для інерційних датчиків, встановлених в нижній частині спини.

Хорошим місцем для початку вивчити дані для розпізнавання жестів було б розбити відфільтровані, калібровані дані на епохи (наприклад, 10s) та обчислити кількість функцій за епоху та пов'язати їх з мітками, які у вас є для даних, я можу ' t не пропонуйте більш конкретних порад, не знаючи більше про набір даних та пов’язані з ними мітки.

Сподіваюсь, це допомагає.


Це чудова відповідь @BGreene, велике спасибі! Посилання також дуже корисні. Мені б хотілося, щоб я задав це питання кілька місяців тому. Датчики носили на шнурі на шиї (не моя ідея), так що, безумовно, багато руху щодо тіла. Деякі ваші пропозиції можуть бути більш підходящими для подальших досліджень, я думаю, але, принаймні, вони будуть корисними для мого розділу «Майбутня робота». І на щастя, частина розпізнавання не є проблемою, у мене досить міцний досвід в машинному навчанні, але дякую за пропозиції щодо цього.
Junuxx

Нема проблем. У такому випадку я думаю, що ви обмежитеся вивченням грубих рухів, оскільки шнур означає, що ви не можете точно сказати, як рухалося тіло, лише датчик. Можливо, ви можете зробити висновок, що великі вихідні значення датчика прирівнюються до великих грубих рухів, але ви втрачаєте багато чіткості правильно встановленого датчика.
BGreene

(+1 вчора) Пару речей, можливо, буде враховано в (1.) вище. Оскільки нижня межа частотного діапазону, що цікавить, досить мала, одна з альтернатив, яку слід розглянути, - це просто застосувати фільтр низьких частот і відняти середнє значення. По-друге, замість фільтра IIR в цьому випадку можна розглядати лінійно-фазовий фільтр з кінцевою імпульсною реакцією лінійної фази. Я говорю це тому, що підозрюю, що для передбачення жестів за допомогою сигналу багатоосного акселерометра потрібно заховати рух синхронізованим незалежно від частоти. (продовж.)
кардинал

(...) Нелінійний фазовий відгук фільтра IIR змістить різні компоненти на різну кількість, і цей ефект, як правило, буде гіршим поблизу частот відсічення. Оскільки все є цифровим, є сенс перейти з лінійним фазовим фільтром FIR. Часто також є кращий контроль над тимчасовою реакцією. :-)
кардинал

@cardinal thats all true - редагував мою відповідь вище. щойно перевірив мій код - мій останній алгоритм акселерометра використовує нульовий фаз IIR-фільтра Баттерворта. Хоча я вважаю за краще уникати віднімання середнього значення для коротких сегментів даних
BGreene
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.