J'ai besoin de trouver un algorithme ou une méthode qui puisse détecter des latitude
longitude
points aberrants dans une trajectoire pendant le post-traitement , qui peut ensuite être corrigé (ramené dans le chemin de la trajectoire en fonction de ses voisins).
À titre d'exemple du type de points aberrants que je voudrais détecter et corriger, j'ai joint une image démontrant:
J'ai essayé d'utiliser un filtre de Kalman non parfumé pour lisser le mieux possible les données, mais cela ne semble pas fonctionner suffisamment efficacement pour les valeurs extrêmes plus extrêmes (données brutes en bleu, données lissées en rouge):
Mon UKF n'est peut-être pas calibré correctement (mais je suis assez certain qu'il l'est).
Les trajectoires sont celles des marcheurs, des coureurs, des cyclistes - des mouvements à propulsion humaine qui peuvent démarrer et s'arrêter, mais pas changer radicalement de vitesse ou de position aussi rapidement ou soudainement.
Une solution qui ne repose pas sur des données de synchronisation (et uniquement sur des données de position) serait extrêmement utile (car les données en cours de traitement ne contiennent pas toujours des données de synchronisation). Cependant, je suis conscient de l'improbabilité de ce type de solution, donc je suis tout aussi heureux d'avoir une solution!
Idéalement, la solution détecterait la valeur aberrante afin qu'elle puisse être corrigée, résultant en une trajectoire corrigée:
Ressources que j'ai passées en revue:
Smooth GPS data
- /programming/1134579/smooth-gps-dataCommon GPS and Geospatial Tracking Challenges and Solutions
- http://www.toptal.com/gis/adventures-in-gps-track-analytics-a-geospatial-primer (la solution semble perdre la précision des données)Quel algorithme dois-je utiliser pour supprimer les valeurs aberrantes dans les données de trace?