Я слежу за документом https://arxiv.org/pdf/2001.04061.pdf, где при использовании структуры RNN выводится инерциальная навигация пешехода (его положение и курс).
Мои наземные данные истинности состоят из следующих полей:
attitude_roll(radians) , attitude_pitch(radians) , attitude_yaw(radians) , rotation_rate_x(radians/s) , rotation_rate_y(radians/s) , rotation_rate_z(radians/s) , gravity_x(G) , gravity_y(G) , gravity_z(G) , user_acc_x(G) , user_acc_y(G) , user_acc_z(G) , magnetic_field_x(microteslas) , magnetic_field_y(microteslas) , magnetic_field_z(microteslas)
, в то время как мои тренировочные данные:
translation.x , translation.y , translation.z , rotation.x , rotation.y , rotation.z , rotation.w
Авторы статьи указывают будущее местоположение пешеход как:
Цель состоит в том, чтобы найти (∆l, ∆ψ) между N (т.е. 100) выборками IMU, чтобы предсказать позу человека после этих N шагов.
Для достижения sh того, что LSTM определяется как h i + 1 = LSTM ( h i, x i), будучи xi = ( a i, w i) инерционными параметрами из набора данных.
Способ, которым я подошел к проблема заключалась в следующем:
- Получить windows из N последовательных выборок каждый для данных обучения и наземной истины.
- Получить ∆l для каждого окна как
sqrt((translation.x[N-1]-translation.x[0])**2 + (translation.y[N-1]-translation.y[0])**2)
и ∆ψ как arctan((translation.y[N-1]-translation.y[0])/(translation.x[N-1]-translation.x[0]))
- Попробуйте предсказать (∆l, ∆ψ) из данных IMU для каждого окна, используя LSTM с полностью соединенным слоем в конце с 2 измерениями и линейной активацией.
- Сравнить (∆l, ∆ψ) с данными из наземных истинных данных.
ВОПРОС: Видите ли вы какую-либо ошибку в моем подходе к проблеме? Потому что сеть вообще не учится.