1. A Movement Recognition Method using
Loopy Belief Propagation
on Mobile Devices
Irene Li 1 and Toyo Suzumura1,2
1University College Dublin, Ireland
2IBM T.J. Watson Research Center, USA
2. Motivations
• Inference on Graphic Models
- Inference Algorithm: to make inference or predictions on
uncertain vertexes of Graphic Models.
- Powerful CPU on Mobile: support computations on mobile
devices.
• Physical Sensors
- iOS Devices (iWatch): designed for sports use and the
monitor of health conditions.
- Healthcare Data Collection: possible for health analysis
based on time series ( like movements and heart beats).
Here we focus on the recognition of movements from the
velocity data.
3. Proposed Approach (1) : Algorithm Introduction
1. Loopy Belief Propagation [1]
Loppy Belief Propagation ( sum-product algorithm) a
dynamic programming approach to answering
conditional probability queries in a graphical model.
A parallel message-passing algorithm, keep passing
messages, until a stable belief state.
4. Proposed Approach (1) : Algorithm Introduction
1. Loopy Belief Propagation [1]
Peer-pressure: a final belief distribution by listening to neighbors.
Exchange messages: adjacent nodes, update beliefs, based on
conditional probabilities, etc.
Every node sends a probability density to its neighbors, the message to
neighbor depends on messages received from all the other neighbors.
5. Proposed Approach (1) : Algorithm Introduction
2. L-BP on Bayesian Networks [2].
Prior Probability of R,S
Boundary conditions P(W|R) and P(H|R,S)
Belief (Probability of each state) of W/H ?
Bayesian Network: a direct graph.
We use L-BP on the inference
of unknown nodes in a
Bayesian Network.
An example [3] is shown in the
graph: assume node R and S
are known, and the relations
of R and W, R and S, R and H.
Use L-BP to find out the state
of W and H.
? ?
√
√√√
√
6. Proposed Approach (2) : Model Building
• Time-series Movement Data Plot.
Velocity
Time
Silence MovementMovement
Contains two types of movement and one type of silence.
7. Proposed Approach (2) : Model Building
• Model Building.
Node 1
In the series, the three
states (silence and two
types of movements)
always appear one by
one, which means they
have the relationship of
transaction.
So we built the model in
the right.
Node 0
Node -1
Model Built
8. Implementation
There are mainly 6 sections in the project, among which 2 of
them were written for future extension.
· BayesianNetwork: the data structure of the Bayesian
network, including three classes: Edge, Vertex and SwiftGraph.
· BeliefTable: The essential part of BP algorithm, including
BeliefTable class and BeliefRow class. In BeliefTable, some
equators were implemented.
· ConditionalPropability: The data structure for prior
probability table. Examples also can be found in the comments.
· StatTools: Including math functions, like dot product.
· Node and StateKeys: To be extended: define multiple states.
9. Evaluation (1) : Training Data
• Training Data[3] :
A number of healthy volunteers
were selected to participate in the
experiment. Sensor units have
been used to this experiment of
recognizing movements.
After data cleaning, the plot,
generated by Java AWT, illustrates
the velocities in 3-dimension space
in a time series.
Training Data Plot (part)
10. Evaluation (2) : Plan
• Model Building:
Use Maximum Likelihood Estimation (still uncertain) to
calculate prior probabilities and CPT of some vertexes.
• Algorithm Applying:
Use the Loopy BP to calculate the Belief to make
predictions, and get the predicted movement recognition
series. Then manually check the recognition accuracy of
human movements.
• Evaluation Method:
Compare with other recognition methods. Focus on
computation time, memory usage and recognition accuracy.
To show the comparison and improvements.
11. Key Finding
• Data pre-processing of human movements.
The quality of the data will effect the accuracy of the
algorithm. We used the movement series with some good
features, which contain less errors and noises, as the input
of testing.
Variability in human movements is a big difficulty in
online segmentation. The performance in one single exercise
shows the variability in the movements of the people with
different ages, genders, weights and other body conditions.
The future works can focus on this part, from data cleaning
point of view.
12. References
[1] Understanding Belief Propagation and its Generalizations, Jonathan S.
Yedidia, William T. Freeman, and Yair Weiss TR2001-22 November 2001
[2] Loopy Belief Propagation for Approximate Inference: An Empirical Study,
Kevin P. Murphy and Yair Weiss and Michael I. Jordan
[3]
http://www.cse.unsw.edu.au/~cs9417ml/Bayes/Pages/PearlPropagation.html
[3] Evaluating Rehabilitation Exercise Performance Using a Single Inertial
Measurement Unit, Oonagh Giggins, Daniel Kelly and Brian Cauleld in
International Conference on Pervasive Computing Technologies for
Healthcare and Workshops, 2013 7th
13. Thanks!
Q & A
Special thanks to Dr.Bingquan Huang1, who contributed to the original idea.
We also appreciate the facilities and experiment data shared by the Insight
Data Centre, UCD.
1Researcher, University College Dublin, Ireland