Professional Documents
Culture Documents
Running Gait Paper
Running Gait Paper
Running Gait Paper
Gait-Based Features
Evan Carter, Alexander Rubin, Nikhil Pulimood
Duke University
This project looks to explore the use of Topological Data Analysis (TDA) in running gait analysis. The major
motivation of this project was to identify biological features that affect a person’s running gait, similar to
how certain features have affected a person’s walking gait. In the process of cleaning our data, we developed
an algorithm to produce the median length of a runner’s stride. After calculating the median stride length,
we performed a persistent homology analysis using a Vietoris-Rips (VR) Complex on this normalized stride
path. Our final results showed that height and speed are directly correlated with the persistent homology of
specific sensors on a runner’s body.
R
low. The runners were then each placed on
of contemporary interest in the field of a treadmill, warmed up, and asked to run at a
gait pattern recognition. Since walking slow pace (2.5 m/s), a medium pace (3.5 m/s),
gait pattern has proven to be a unique human and a fast pace (4.5 m/s). We call these dif-
identifier [1, 2], it was natural for us to try ferent speeds 25, 35, and 45 respectively. The
to understand whether this attribute exists in room with the treadmill was surrounded by
running gait data. Running gait is inherently a motion capturing cameras that collected the
cyclic motion, and thus time series persistent sensor data.
homology made sense as a form of analysis.
An interesting point raised by Lamar-Leon
et al. [3, 2, 4] is that with persistent homol-
ogy, connected components, holes, and cycles
are useful indicators, even as the shape of the
data gets overwhelmed with a large number
of data points. Therefore, with the large num-
ber of data points gathered with running gait
data, persistent homology is a useful tool to
analyze this data in an effective way. Therefore,
we chose to use persistent homology as our
primary tool in analyzing running gait. Figure 1: The Thigh Top Medial sensor is circled green
and the Heel Bottom sensor is circled red.
II. Dataset
1
Persistence on Running Gait • May 2018
III. Methods
Below are the steps that we used to normalize
the dataset and perform persistence using a
Figure 2: 450 data points of a runner’s point cloud with
VR-complex:
left foot, 2.5 m/s, and feature thigh top medial.
• Returned the point cloud of a person at an
inputed foot, speed, and feature.
• Ran a sliding window on the point cloud.
that is a very similar to a forward moving
• Returned the critical points of the x-
average with a specified step size. We first
coordinates from the sliding window aver-
initialized an array to hold the averages and
ages.
subsequently iterated through the point cloud
• Removed "fake" critical points (see page 3
with a counter i. During each iteration, we
for more information).
calculated the x,y,z averages of the i row, i + 1
• Returned the median stride path of the
row, i + 2 row, up to i + stepsize row. The
sliding window averages.
sliding window algorithm can be found on
• Returned the max filtration value by calcu-
our GitLab at
lating the max distance between consecu-
https://gitlab.oit.duke.edu/acr43/
tive data points and multiplying by some
running-gait/blob/master/get_sliding_
factor.
window.m.
Point Cloud
After trial-and-error, we developed the above
methods to normalize the dataset in order to
run TDA. Firstly, we calculated a point cloud
by initializing a struct data structure in MAT-
LAB that reads a file for an inputed person and
speed. While iterating through the rows of the
struct, we retrieved the x and y-coordinates of
the inputed feature from each row, and stored
these points in an array. We then exported and
visualized the array. In order to better visualize
the stride paths of the runner, we shrunk the
point cloud by an inputed factor.
Figure 3: 450 data points of a runner’s point cloud with
left foot, 2.5 m/s, and feature thigh top medial
Sliding Window after performing the sliding window with step
In order to clean up the stride paths, we size 20.
implemented a sliding window algorithm
2
Persistence on Running Gait • May 2018
3
Persistence on Running Gait • May 2018
stuck to the median stride instead of the aver- m/s respectively. The shortest runner (Person
age stride, since we were unsure if there were 13) has a height of 165.2 cm, roughly 5’5". The
still some "fake" critical points that we were average height runner (Person 22) has a height
not detecting with our algorithm. of 175 cm, roughly 5’9". The tallest runner
(Person 14) has a height of 187.2 cm, roughly
6’1.6".
4
Persistence on Running Gait • May 2018
Figure 6: Persistent homology of thigh top medial for a Figure 7: Persistent homology of thigh top medial for a
runner with height 165.2 cm and speed 2.5 runner with height 187.2 cm and speed 2.5
m/s. m/s.
V. Discussion
i. Over Fitting
The nature of our dataset made it necessary
to normalize our data to perform any sort of
analysis. As shown earlier, it was not possible
to perform persistent homology on the original
point cloud because there was close to no rec-
ognizable shape. Our normalization method
created a median stride path, which could be
compared between subjects. The result of this Figure 8: Point cloud of thigh top medial, which was
method can be seen in figure 8. We found dif- normalized using the sliding window algo-
ferences in the subjects’ stride paths and drew rithm with step size 20 and then the median
stride path algorithm.
conclusions with this data. (show image)
Unfortunately, it is possible that our
normalization techniques could cause us to
lose some aspects of a runner’s gait pattern. algorithm, we later found that modifications to
Perturbations that can be seen in our removal the algorithm make the sliding window unnec-
of "fake" local maxima may be important essary. If we were to continue our research, we
features that we are smoothing. We developed would remove the effect of the sliding window
a time series animation of a runner’s strides and hopefully retain some lost information.
along with his median stride path in order to Since a gait pattern is considered to be similar
visualize any stride details that we could be to a fingerprint, these fine details may be es-
losing with our normalization techniques. The sential components for our analysis. Moreover,
video can be found at the main form of our analysis uses TDA, and
https://gitlab.oit.duke.edu/acr43/ thus the general shape of the data is the most
running-gait/blob/master/Thigh_Heel_ important aspect. While the exact shape of the
Path_Animation%20(Converted).mov. stride can change, the number of connected
While the sliding window was originally im- components and the overall homology of the
portant to clear up the data for our stride path data stays consistent [2].
5
Persistence on Running Gait • May 2018
6
Persistence on Running Gait • May 2018
References
[1] A. Phinyomark, G. Petri, E. Ibáñez-Marcelo, S. T. Osis, and R. Ferber, “Analysis of big data
in gait biomechanics: Current trends and future directions,” Journal of Medical and Biological
Engineering, Jul 2017.
[4] J. L. Leon, A. Cerri, E. G. Reyes, and R. G. Diaz, “Gait-based gender classification using
persistent homology,” in Progress in Pattern Recognition, Image Analysis, Computer Vision, and
Applications (J. Ruiz-Shulcloper and G. Sanniti di Baja, eds.), (Berlin, Heidelberg), pp. 366–373,
Springer Berlin Heidelberg, 2013.
[5] R. Fukuchi, C. A. Fukuchi, and M. Duarte, “A public data set of running biomechanics and
the effects of running speed on lower extremity kinematics and kinetics,” 3 2017.
[6] R. Ferber, S. Osis, J. Hicks, and S. Delp, “Gait biomechanics in the era of data science,” Journal
of Biomechanics, vol. 49, 10 2016.
[7] A. Phinyomark, S. Osis, B. Hettinga, and R. Ferber, “Kinematic gait patterns in healthy runners:
A hierarchical cluster analysis,” Journal of Biomechanics, vol. 48, p. 3897–3904, 11 2015.