Unconnected |
Сравнение движений по карте ускорений 20.01.2019, 22:20 |
|
13/11/11 574 СПб
|
Последний раз редактировалось Unconnected 20.01.2019, 22:25, всего редактировалось 4 раз(а).
Добрый день!
Подскажите, пожалуйста. Есть два набора, каждый набор состоит из элементов (вектор ускорения;время с высокой точностью). Данные эти поступают с телефона, с датчика акселерометра. Я бы хотел уметь сравнить эти наборы и как-то понимать, что это одно и то же движение (может отличаться положение кривой перемещения датчика в пространстве (поворот, перенос, масштаб)), но скорость примерно должна быть одна. По идее нужно найти кривые, соответствующие этим наборам, и поискать конформное отображение из одной в другую? Если да, то как технически это делается?
|
|
|
|
|
mustang |
Re: Сравнение движений по карте ускорений 07.03.2019, 00:40 |
|
27/02/13 35
|
Мне не совсем понятна задача.
Во-первых, "скорость одна и та же" - это значит, что модуль скорости в обеих наборах одинаковый, меняется только направление? Или что?
Во-вторых, чем различаются наборы данных? Временем (один получен вчера, другой - сегодня) или это одно движение (за один период времени), но с разных датчиков? Длительностью?
Ну и, что значит, что "движение одинаково"? Или "почти" одинаково? Нужно ли искать вложение короткого набора в длинный или их общее пересечение?
Я бы попробовал интегрировать данные, получив значения скоростей и координат, полагая начальные равные нулю. И чтобы первые вектора были параллельны (высчитать матрицу поворота).
Затем интерполяцией (для простоты - линейной) привести их к единой равномерной временной сетке. Или пересчитать один набор по временной сетке другого. Тут же можно и уточнить и разбежку по времени, если один датчик быстрее другого, а известно, что концы интервалов совпадают.
Затем такая же простая метрика - сумма модулей невязки к числу отсчётов.
Порядок интерполяции, какую брать метрику - надо пробовать на конкретных данных и прикидывать физический смысл. С последним голова пока не варит :(
Вопросы численного интегрирования, накопление ошибок - отдельная задача.
|
|
|
|
|
slavav |
Re: Сравнение движений по карте ускорений 07.03.2019, 11:44 |
|
Заслуженный участник |
|
26/05/14 981
|
Последний раз редактировалось slavav 07.03.2019, 11:50, всего редактировалось 2 раз(а).
Введите численные параметры, которые описывают поворот, перенос, масштаб. Введите расстояние на парах траекторий (например сумму квадратов разниц векторов ускорений). Затем решите задачу минимизации расстояний в зависимости от параметров (одну из кривых вы поворачиваете, переносите и масштабируете так что бы расстояние до второй стало минимальным). Минимизировать можно с помощью метода наименьших квадратов.
-- 07.03.2019, 11:49 --
Метод наименьших квадратов сработает если движения действительно очень похожи. Иначе вам нужны более сложные методы. Однажды я наблюдал разработку проекта, где по датчикам оценивалась правильность движений лыжника при спуске с горы. Всё было очень сложно, вплоть до машинного обучения.
|
|
|
|
|
|
Страница 1 из 1
|
[ Сообщений: 3 ] |
|
Модераторы: Модераторы Математики, Супермодераторы