Обнаружение типа движения с использованием акселерометра и машинного обучения

Я собираюсь приступить к разработке мобильного приложения, которое использует акселерометр для определения типа движения, будь то прыжки, бег, ходьба и т. д. Недавно я провел много поиска в Интернете и в некоторой степени понял, что с помощью машинного обучения можно обнаруживать закономерности в выборочных данных, собранных с акселерометра. Я совершенно новичок в машинном обучении, но если я правильно понимаю (основываясь на советах, которые другие эксперты дали в Интернете), я могу использовать либо машины опорных векторов, либо нейронные сети, чтобы распознавать закономерности в собранных образцах и сопоставлять их с определенным типом движения. Я также знаю, что библиотека OpenCV предоставляет оба метода.

Может ли кто-нибудь с опытом в этой области сказать мне, какой метод лучше использовать, а также провести меня через шаги, необходимые от сбора данных до представления результатов?


person Ali    schedule 31.07.2012    source источник
comment
OpenCV также поставляется с библиотекой машинного обучения, которую вы можете использовать для распознавания образов, вы можете найти ее здесь docs.opencv.org/modules/ml/doc/ml.html   -  person Ali    schedule 31.07.2012
comment
И да, у opencv есть порты как для iOS, так и для Android.   -  person Ali    schedule 31.07.2012


Ответы (1)


Нет убедительных доказательств того, что SVM или NN лучше для общего случая, а производительность сильно зависит от приложения и того, как вы настроили оба алгоритма. Таким образом, единственный способ узнать о каких-либо новых приложениях — это попробовать оба из них, используя одни и те же данные, и посмотреть, какое из них работает лучше.

Кроме того, NN обычно быстрее в вычислительном отношении для классификации, но медленнее для обучения. SVM быстрее для обучения, но медленнее для классификации.

В вашем случае, какие входные параметры для вашего алгоритма будут более серьезной проблемой. Я бы не стал передавать необработанные данные акселерометра в SVM или NN. Вместо этого я бы предварительно обработал и получил основную информацию, такую ​​как общая мощность, стандартное отклонение, возможно, некоторые коэффициенты в частотной области, чтобы определить, насколько это быстро. Такой подход дает вам лучшее представление об улучшении и настройке вашего классификатора. Если у вас есть правильные входные параметры, вам может даже не понадобиться NN или SVM для определения основных движений, может работать только простой идентификатор ближайшего расстояния. Удачи.

person umps    schedule 18.08.2012