Muszę znaleźć algorytm lub metodę, która może wykryć latitude
longitude
punkty odstające na trajektorii podczas przetwarzania końcowego , które można następnie naprawić (przywrócić na ścieżkę trajektorii na podstawie jej sąsiadów).
Jako przykład rodzaju punktów odstających, które chciałbym wykryć i naprawić, załączam obraz przedstawiający:
Próbowałem użyć bezzapachowego filtra Kalmana, aby jak najlepiej wygładzić dane, ale wydaje się, że nie działa to wystarczająco skutecznie dla bardziej ekstremalnych wartości odstających (surowe dane w kolorze niebieskim, wygładzone dane w kolorze czerwonym):
Mój UKF może nie zostać poprawnie skalibrowany (ale jestem całkiem pewien, że tak jest).
Są to trajektorie pieszych, biegaczy, rowerzystów - ruch napędzany przez człowieka, który może rozpoczynać i zatrzymywać, ale nie może drastycznie zmieniać prędkości ani pozycji tak szybko lub nagle.
Rozwiązanie, które nie opiera się na danych o taktowaniu (i tylko na danych o pozycji) byłoby niezwykle przydatne (ponieważ przetwarzane dane nie zawsze mogą zawierać dane o taktowaniu). Jestem jednak świadomy tego, jak mało prawdopodobne jest istnienie tego rodzaju rozwiązania, dlatego równie chętnie mam jakiekolwiek rozwiązanie!
Idealnie byłoby, gdyby rozwiązanie wykryło wartość odstającą, aby można ją było naprawić, co skutkowałoby poprawioną trajektorią:
Zasoby, które przeszukałem:
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 (rozwiązanie wydaje się tracić precyzję danych)Jakiego algorytmu należy użyć, aby usunąć wartości odstające w danych śledzenia?