Detecting Movement Type by Route Segmentation and Classification Karol Waga, Andrei Tabarcea, Minjie Chen and Pasi Fränti
University of Eastern Finland Joensuu Joki= a river Joen = of a river Suu = mouth Joensuu = mouth of a river
Motivation
Nokia Android iPhone None Trends and popularity of GPS Previous predictions Nokia: 50% of its smart phones has GPS by Gartner: 75% has GPS by the end of 2011.
Nokia: 50% of its smart phones has GPS by Gartner: 75% has GPS by the end of Trends and popularity of GPS Current situation Our lab: Nokia847 % Android424 % iPhone0 0 % None530 % 70 %
173 users 7,958 routes 5,208,205 points Mopsi route collection 4 th October, 2012
Collected GPS route Plot on map
What is the activity? Speed (km/h) Time Collected GPS route Time-vs-speed
Collected GPS route Ground truth
Collected GPS route Another example
Summarization of entire route
Existing solutions
Features and classifiers Sensor data GPS GSM, WiFi Accelerometers Combination of multiple sensors Classification Rule-based vs. trained Fuzzy logic Neural networks Hidden Markov model
Movement type classification Movement types considered: Walk Run Bicycle Car Other possibilities: Boat Flight Spatial context needed Skiing Speed? Track location, season Train Bus Time tables
Problems attacked Problems addressed: Training material is not always available Problem of over-fit Loss of generalization Limitations of current solution: Correlation between neighboring segments Accuracy of segmentation Rule-based! 2-order Hidden Markov model
Proposed solution
Overall algorithm Optimal segmentation: Minimize intra-segment speed variance Detect stop segments Move type classification: Speed features 2-order Hidden Markov Model
Route segmentation Dynamic programming Minimize intra-segment variance: Optimal segmentation: O(n 2 k)
Number of segments
Move type classification A priori probabilities
Cost function: 2 nd order Hidden Markov Model Previous segment Next segment
Rule-based model (HMM)
Experiments
Segmentation of car route
Separating stop segments
Long distance running Overall statistics from running by move type
Interval training Intervals Warm-up & slow-down Stops
Bicycle trip represented as car Algorithm tries to be too clever
What next?
Further improvements Boat Flight Skiing Train Bus More move types Better stop detection Generate ground truth
New movement types Train Skiing Flight
Conclusions Method that ( usually ) works! Simple to implement No training data required