Глубокая нейронная сеть, чтобы получить пешеходную инерциальную навигацию - PullRequest
0 голосов
/ 13 апреля 2020

Я слежу за документом 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

Авторы статьи указывают будущее местоположение пешеход как: enter image description here

Цель состоит в том, чтобы найти (∆l, ∆ψ) между N (т.е. 100) выборками IMU, чтобы предсказать позу человека после этих N шагов.

Для достижения sh того, что LSTM определяется как h i + 1 = LSTM ( h i, x i), будучи xi = ( a i, w i) инерционными параметрами из набора данных.

Способ, которым я подошел к проблема заключалась в следующем:

  1. Получить windows из N последовательных выборок каждый для данных обучения и наземной истины.
  2. Получить ∆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]))
  3. Попробуйте предсказать (∆l, ∆ψ) из данных IMU для каждого окна, используя LSTM с полностью соединенным слоем в конце с 2 измерениями и линейной активацией.
  4. Сравнить (∆l, ∆ψ) с данными из наземных истинных данных.

ВОПРОС: Видите ли вы какую-либо ошибку в моем подходе к проблеме? Потому что сеть вообще не учится.

...