Я разрабатываю (для моего старшего проекта) гантель, способный классифицировать и записывать различные упражнения. Устройство должно иметь возможность классифицировать ряд этих упражнений на основе данных, полученных от ИДУ (Инерциальная измерительная единица). У меня есть данные ускорения, гироскопа, компаса, тангажа, рыскания и рулона.Распознавание движения с искусственными нейронными сетями
Я склоняюсь к использованию искусственной нейронной сети, чтобы сделать это, но я открыт и для других предложений. В конечном счете, я хочу передать данные IMU в сеть и рассказать мне, какое это упражнение (Bicep curl, incline fly и т. Д.).
Если я использую ANN, какой тип я должен использовать (повторяющийся или нет) и как его реализовать? Я не уверен, как заставить сеть распознавать упражнение, когда я передаю ему непрерывный поток данных. Я думал о постоянном выполнении БПФ на части входов и отправке заданного количества частотных величин в сеть, но я не уверен, что это сработает. Любые предложения/комментарии?
Привет, Натан, спасибо за ваши предложения. У меня есть фактические данные из IMU (pitch, yaw, roll) и я могу видеть шаблоны в способе изменения данных с каждым упражнением. Проблема, на которой я нахожусь, заключается в том, как отправить эти данные в нейронную сеть. В идеале я бы хотел отправить все данные, которые я получаю, но я не уверен, как они будут обрабатывать упражнения, выполняемые на разных скоростях. Если кто-то выполняет упражнение по какой-либо другой скорости, чем точная скорость, не отбрасывается ли она, поскольку значения в любой точке будут сильно различны? – anonymousfox
Кроме того, с традиционной нейронной сетью в системе не будет никакой памяти, поэтому она не сможет отслеживать изменения в этих точках данных. – anonymousfox
Что вы хотите сделать, это разбить вещи на функции. Вы можете делать такие вещи, как преобразовать Фурье данных, чтобы получить функции, основанные на времени, как единую функцию вместо временного ряда. Вы также можете делать такие вещи, как взять max, min, average и т. Д., Чтобы снова получить дискретные функции вместо временного ряда. Я видел подходы, которые работают во временных рядах, но вам, вероятно, лучше найти функции, которые суммируют зависящую от времени информацию в данных. –