Вы находитесь на странице: 1из 30

Gait Abnormality Detection Using

Multimodal Sensors and Machine Learning

for Rehabilitation

A Thesis Proposal
Presented to
the Faculty of the College of Computer Studies
De La Salle University Manila

In Partial Fulfillment
of the Requirements for the Degree of
Bachelor of Science in Computer Science by

MENDOZA, Adrian Charles

ROQUE, Antonio Enrico
SANTOS, Anna Francesca
UY, Vivian Mae

Fritz Kevin FLORES


July 25, 2019

Chapter 1

Research Description

1.1 Overview of the Current State of Technology

The ability to walk is crucial for human mobility and useful for predicting the
quality of life (Horst, Lapuschkin, Samek, Müller, & Schöllhorn, 2019). Every
person walks differently and the manner of how one moves on foot is called gait
(Infante, Salcedo, & Tan, 2009). “Normal gait is both stable and flexible, allowing
for changes in speed and maneuvering in different terrains while maintaining ener-
getic efficiency” as defined by (Mirelman, Shema, Maidan, & Hausdorff, 2018). If
a person’s walk does not function in a normal way because of either illness, genetic
factors, injuries or abnormalities in the legs or feet (Fletcher, 2017), we can say
that gait abnormality is present. There are various types of gait abnormality and
some instances of these are spastic gait, scissors gait, waddling gait and steppage
gait. Since walking is the most basic mode of transportation for humans, thus
an inability to walk can drastically change a human’s life (Why is gait analysis
important? , 2018). Moreover, if gait abnormalities are detected and assessed in
time for treatment, it can help prevent future complications that can arise from
the disorder (Importance of gait analysis and uses, 2016). In order to determine
the walking patterns of a person, gait analysis is being utilized.

Multiple researches related to gait analysis have been conducted through the
years. Three sensors that have been repeatedly present in those studies are: (1)
vision camera, (2) flooring and (3) wearable. For instance, in (Nieto-Hidalgo,
Fernandez-Pastor, Valdivieso-Sarabia, Mora-Pascual, & Garca-Chamizo, 2018),
the researchers presented a computer vision approach for gait analysis to early
detect frailty and senility syndromes with the use of Android smartphone cam-
eras together with openCV to record and process a gait sequence in obtaining

spatiotemporal features. Those features were then sent to the cloud for a clas-
sification between normal and abnormal gait. Kinect sensor cameras were also
utilized in (Ye, Yang, Stankovic, Stankovic, & Kerr, 2015) and (Staranowicz, Ray,
& Mariottini, 2015)’s work. The difference between them is instead of using only
one Kinect, (Staranowicz et al., 2015) had numerous of them. They have used it
to capture infrared (IR) and depth image sequences and extracted 3-D body joint
coordinates that does not require the need for body markers. Wearable camera
was also exploited in the study of (Watanabe, Hatanaka, Komuro, & Ishikawa,
2011) for motion and global position estimation. It captures the changes of the
external environment caused by the user’s action and those images were used as
data. As for the flooring sensors, (Oluwadare, 2015) used the Tekscan Flexiforce
pressure sensors to conduct a gait analysis for health monitoring but is expensive.
Same pressure sensors were also applied in (Peddinti, 2018) work where a smart
shoe was developed for gait analysis and diagnosis. Furthermore, in (Hanlon &
Anderson, 2009)’s work, they have equipped their subject with force sensitive
resistor and accelerometer as their means of data collection. Yet this method re-
quires the user to wear the device, same as the wearable camera of (Watanabe et
al., 2011), which may cause discomfort to the user thus increasing the chance of
them providing faulty data. In addition to that, there were also studies that did a
combination of both tools such as the work of (Qiu et al., 2019) where the subject
was tasked to wear a sensor on the ankle and walk on a straight path while a
high-precision camera recorded the movement. Again, this study may cause the
same problem about wearables as the previous ones.

However, with all the different studies and sensors mentioned, both intrusive
and non-intrusive, wherein many of which produced positive and accurate results,
such methods are often costly and inconvenient. There is a study by (Bhuller,
Flores, Manto, Medina, & Mendaros, 2012) that created a low cost smart flooring
that is made up of a mat, conductive foam sensors, CAT5e cables, and Gizduino
IOT-644 boards. However, the results proved to be inaccurate due to issues with
the materials such as decay over time, and low elasticity. Therefore, we can say
that there is a lack of technology that is effective and low cost while producing
accurate results. There is yet a research that incorporates a kinect and a low cost
smart flooring in determining the possible gait abnormality of a person.

1.2 Research Objectives

1.2.1 General Objective

The general objective of the research is to create a low cost smart setup that will
be able to determine gait abnormality through the use of a fusion of sensors and
different machine learning algorithms.

1.2.2 Specific Objectives

1. To create a low cost smart flooring to be able to detect movement data

2. To capture a fusion of data from athletes using different types of sensors

3. To implement a preprocessing technique to fuse data from different sensors

4. To develop a system that determines the gait each person possesses through
machine learning

5. To create a visualization of the data to aid medical practitioners interpret

the results

1.3 Scope and Limitations of the Research

This research would involve studying the different gait abnormalities each person
could possess. Data would be collected using different sensors from the ground, as
well as the use of vision sensors to visualize the movement of the person. Collecting
data from different flooring and vision sensors would then be preprocessed and fed
into a Machine Learning algorithm to determine the gait abnormality of a person.

In order to achieve a cost effective smart flooring, the smart floor would have
a set of fabricated sensors through low cost materials that may comprise of the
following: copper tape, velostat, yoga mats, and tarpaulins. In addition, no
commercialized pressure sensitive flooring will be used. The surface area of the
smart flooring would be at least 160cm to consider an average person’s stride
length by 60cm (Gill, Keimig, Kelty-Stephen, Hung, & DeSilva, 2016) as the
standard for an average person’s stride width. The developed smart flooring will
then be connected to a set of microcontrollers which would be used to collect the

The sensor setup would be comprised of a set vision and flooring sensors.
Vision sensors may include an Xbox One Kinect sensor. While the flooring sensors
would use the developed smart flooring. These two methods would be able to
detect movement of the person and collect data on the person’s gait. Both methods
are non-intrusive, and thus allow a natural feel for the users. The data would be
collected from university athletes.

With the data gathered from the two sensors mentioned above, the data may
be preprocessed using normalization and time series processing techniques but
not limited to such. These techniques may be used in order to fuse the data
gathered from the different sensors but less of preprocessing to alter products of
the algorithm.

The research would implement machine learning in order to detect the gait
each person. The types of gait abnormalities the research would cover would be
Hemiplegic, spastic diplegic, neuropathic, myopathic, Parkinsonian, choreiform,
ataxic (cerebellar) and sensory. The features that could be considered are the
following: Center of Force (CoF), Step Time, Swing Time, Stride length, Force,
Weight distribution, Symmetry, Cadence, and through the use of machine learning
the gait abnormality of the person could be determined.

Medical professionals will also be consulted throughout the duration of the

study; taking into consideration the small symptoms and hints that an abnor-
mality can occur, a machine learning algorithm was used to determine possible
gait abnormalities. In line with this, a visualization of the results would be made
to aid physical therapists to interpret the results as they provide diagnosis and
rehabilitation to their patients.

1.4 Significance of the Research

Walking is one of the actions that people do not give much thought to but doing
it correctly is essential and is related to major medical issues. That is why the
most evident importance of this research is that it can aid physical therapists
in diagnosing gait abnormalities. According to (Chen, Lach, Lo, & Yang, 2016),
“measuring instruments for quantitative gait analysis have become an important
clinical tool for assessing pathologies manifested by gait abnormalities”. This
means that tools like this study’s smart flooring and kinect are now vital in the
process of gait abnormality diagnosis.

In (alterG, 2017)’s website, a list of common procedures used for gait analysis
was presented and it comprises of: (1) Comprehensive physical examination, (2)

Motion and muscle assessment, (3) Computer-interfaced video cameras used to
measure motion (equipped with motion-analysis software), (4) Electrodes placed
on the skin to monitor muscle activity, (5) Force platforms utilized to measure
force and torque of the patient to the ground, and (6) AlterG Anti-Gravity Tread-
mill with Stride Smart. It is evident that sufficient amount of tools are involved in
the process. However, despite the numerous existing tools used for detecting gait
abnormality, it is also necessary to mention that this study particularly targets to
create a low cost smart flooring; that is the difference between the equipment in
this study and the other existing instruments. Based on (Chen et al., 2016), the
tools used nowadays tend to be high-priced and need expert operation and main-
tenance thus majority of the clinics still depend on observation-based assessment
when analyzing gait. Because it is cheaper than others, this study may be able to
help more patients, especially those who are not financially well. Diagnosis will
be simpler for physical therapists as well since they would not be using human
observation and patient self-reporting anymore.

Aside from diagnosis, it may also be used by the patients themselves to validate
if their gait pattern is improving. In Dorfman Kinesiology’s (The Importance of
Gait, 2019) article about the importance of gait, it was mentioned that a qualified
practitioner can assess and address concerns about gait quickly and effectively but
the challenge is getting the patient to learn to change their gait. With the help
of the practitioner, smart flooring and kinect, the patient will be given instant
feedback on whether or not his/her gait is changing. Therefore, it may also be
used for rehabilitation. Lastly, this can be helpful for future researchers, especially
those in the field of physical therapy or computer science. This research can be
used to further enhance the current knowledge on gait analysis since this study
aims to gather fused data from two kinds of sensors namely vision camera and
flooring sensors. It can contribute to new discoveries or correction/modification
of former known facts.

Chapter 2

Review of Related Literature

In this chapter, the machine learning algorithms, hardware (measuring tools or

sensors), and motion recognition software of existing research that are associated
to this study are discussed. Some of the studies, especially the ones about hard-
ware, included in this chapter can be used as a reference for this research.

2.1 Gait Analysis

Clinical Gait Analysis as mentioned in the book written by (Kirtley, 2006) placed a
huge focus on Temporal Spatial Parameters of which the following can be assumed.
A gait cycle is similar to a stride in which a full stride is complete when both right
and left steps have been taken. A step is then assumed as when a leg goes forward
and the toes touches the ground. In addition a step length is calculated as the
distance from the heel of the trailing foot to the heel of the leading one. The
total time it would take for a gait cycle to complete is then called the gait cycle
duration. Some of the key events of a gait are as follows. The first or initial
contact is when a heel hits the ground which is at 0% of the gait cycle. The next
contact is then defined as when the same foot hits the ground again starting with
the heel which then completes the gait cycle. In a normal symmetrical walking,
the toe-off occurs at about 60-62% of the foot cycle. Lastly, initial contact of the
left foot is when the right foot is at 50%. The book also mentions the following
key words and its definitions such as when a foot is on the ground, that foot is
considered on stance while the other foot is considered on swing which can be
assumed that when one limb is in swing phase, the other is in stance. A double
support is when both feet are on the ground and because the toe-off occurs at
about 60-62%, 20% of the gait cycle is when both feet are on the ground. As

speed increases, double support time falls in connection as when double support
time hits 0, running begins and when double support time is negative, a flight
phase is reached. In science, it is a fact that speed is equal to distance over time
and cadence is then number of steps per minute. Moreover, strides per second can
then be equated to steps per minute over 120 in which stride time is calculated
as 120 over cadence while natural cadence is usually at an average of 120 steps
per minute. (Kirtley, 2006) also included that no good consensus could be made
about the normative ranges because a person’s natural gait is dependent on the
environment thus normal values should be obtained for each environment. Various
studies have been made about gait analysis or more specifically gait assessment
and gait pattern detection.

In one research about gait analysis (Qiu et al., 2019), an intrusive sensor was
used which was placed on the ankle of the users. Several features such as spatio-
temporal parameters, gait asymmetry, and regularity were focused on. The gait
cycle was also observed particularly its 4 parts: stance phase (1) heel-off phase
(2), swing phase (3) and heel-strike phase (4). It was stated in the paper that
the proposed wearable IMU-based gait assessments approach provides sufficiently
changes in stroke gait, and this is a great advantage over conventional observation-
based gait assessments approach. It is proven that a body sensor network can be
used for qualitative and quantitative portable gait assessment. Wearable BSNa
would accurately assess gait cycles and monitor the ederly in cases of falling.

Unlike the first study that focused on gait cycles, this research’s subject matter
is gait patterns. (Mantyjarvi, Lindholm, Vildjiounaite, Makela, & Ailisto, 2005)
presented a biometric method for an unobtrusive and implicit way to act as a
security measure which focused on identifying users of portable devices from a
human’s gait pattern. Identifying the user of a portable device by gait is intuitive
and unobtrusive where the user is not disturbed or burdened by the technology and
is possible as deliberate imitation of another person’s walking style is difficult since
people own a unique gait pattern. Unlike fingerprint scans, gait pattern detection
through accelerometers could be an implicit security measure to access portable
devices. The authors used acceleration signal characteristics which were produced
by walking and data were gathered by three-dimensional accelerometers. The
data was normalized to a range of -1 to 1, then processed through 3 steps. First,
correlation with an assumption that gait signal produced is unique for individuals.
Second, frequency domain methods with a premise that there is a characteristic
distribution of frequency components for each individual. Lastly, data distribution
statistics on the presumption that attributes of the signal affect data distribution.

2.2 Motion Recognition

In order to achieve gait analysis, the crucial initial step is to be able to recognize
motion or detect movement. (Fathi & Mori, 2008) presented a method for motion
recognition based on patterns of motion that used a mid-level motion features
instead of using local features that are small or large scale. The mid-level motion
features are built from low-level information and these features focus on local
regions of the image sequence and are made using AdaBoost. The researchers then
tuned the features to be able to segregate between classes of action but at the same
time is efficient. After finding the best algorithm to use, the algorithm was tested
on 4 different datasets where 1 dataset was split into testing and training parts
while the other 3 dataset used leave one out cross validation. On all 4 datasets
with the parameters and splits used by the authors, results provided were over
and beyond the standard of different researches that used different methods on
the same dataset provided.

Different from the first paper’s method, functional analysis is used in the re-
search of (Ormoneit, Sidenbladh, Black, Hastie, & Fleet, 2000) which is about
monitoring human motion. The researcher proposed a method for modeling and
tracking of human motion which utilizes a sequence of 2D video images. The
analysis can be divided into two parts namely: (1) statistical learning and (2)
Bayesian tracking. For statistical learning, a compounded set of cylinders form
the frame of the human body and a time series contains the history of changes
that transpired in a specific joint of that body. With the use of this representa-
tion, a set of 3D human motion can be obtained from the first part of analysis. A
commercial motion-capture system yields the training data required in the form of
3D joint angles and a sequence of identical motion cycles. Afterwards, the mean
and the primary components of these cycles are calculated using sequence align-
ment algorithm. Then, the temporal representation results are used to generate
a probability distribution for the human motions for Bayesian tracking purposes.
A generative model of image appearance was then identified, as well as the prob-
ability of observing image data given the model. The model output a posterior
distribution which was represented in discrete set of samples since it cannot be
represented in closed form. Finally, based on the study, the resulting algorithm is
able to track human subjects in monocular video sequences and to recover their 3D
motion under changes in their pose and against complex unknown backgrounds.

In another study by (Fujiyoshi, Lipton, & Kanade, 2004), human motion was
analyzed from a video stream. This means that the human motion analysis is
happening in real-time which makes it applicable to real-world situations like
outdoor video surveillance. A person’s movement and posture was tracked by
using star skeletonization which is a type of skeletonization that gets the border

of a person in the picture.

The process of skeletonization is done step by step. Pre-processing is the first

step wherein the target in motion is morphologically dilaten then eroded. After-
wards, the border of the target is extracted. The next step involves determining
the centroid of the borders extracted using given formulas. Then, using the dis-
tance formula and the centroid, the extremal points will be extracted. The noisy
elements will then be removed and finally, a star skeleton is produced which the
researchers utilized to analyze the movement of a person through getting the cyclic
motion of the skeletal components.

The three main advantages of star skeletonization are the following: First, it
is computationally cheap because it is not iterative. Second, it explicitly presents
a mechanism for controlling scale sensitivity. For instance, one can measure the
complexity of a target through looking into the number of extremal points ex-
tracted as a function of smoothing. Third, a priori models of humans (i.e. card-
board models) are not needed to analyze human activities unlike most analysis

2.3 Machine Learning

To be able to determine and predict the gait abnormality, machine learning must
be applied to the data collected. The following are studies that involved imple-
menting machine learning to both gait data and movement data:

The first paper is about using deep learning to explain the uniqueness of an
individual’s gait patterns (Horst et al., 2019), the researchers measured kinematic
data (such as upper and lower body joint angles) and ground reaction forces while
their subjects walked barefoot on a 10m path at their own pace. In order to
obtain the kinematic data, retro reflective markers were positioned on anatomical
landmarks while Ten Oqus 310 infrared cameras captured the marker trajectories
at a sampling frequency of 250HZ. The ground reaction forces, on the other hand,
were acquired using two Kistler force plates at a frequency of 1000Hz.

The researchers utilized multi-class classification (subject-classification) using

the data from other subjects to differentiate one’s gait patterns from the others.
Using the time-continuous kinetic and kinematic data, gait patterns were clas-
sified through Support Vector Machines (SVM) and Artificial Neural Networks
(ANN) and the results such as prediction accuracy, model robustness to noise,
and decomposition of input relevance values were compared. To dig deeper on
their study, a linear one-layer fully-connected neural network, an SVM utilizing

a linear kernel function, fully-connected neural network using higher number of
neurons and convolutional neural network architectures were implemented. All
algorithms get the channel x time samples as input. Utilizing Stochastic Gradi-
ent Descent (SGD), each of the models, except the SVM, have been trained as
n-way classifiers for up to 3 to 104 iterations of mini batches of 5 randomly chosen
training samples with a decreasing learning rate that starts from 5e3 and model
weights that are obtained from normal distribution with
µ = 0 and σ = m( )
where m is the number of inputs to each output neuron of the layer. The accuracy
of the results were checked through a ten-fold cross validation where the data
consists of: eight parts for training, one part for validation, and one part for
testing. Finally, the result of the study by (Horst et al., 2019) is that the model
with the highest prediction accuracy is the linear SVM nonetheless, the fully-
connected classifiers also resulted in high prediction accuracies as well.

For the second research, (Baccouche, Mamalet, Wolf, Garcia, & Baskurt, 2011)
presented a paper that worked on a completely automated deep model of which
learned to classify actions without prior background. The research used an ex-
tension of Convolutional Neural Networks to 3D that produced features that was
then used as an input for the Recurrent Neural Network (RNN). Among different
state of the art machine learning techniques, RNN is one of the more often used
when discussing temporal analysis of data due to their ability to include connec-
tions in hidden layers. RNN was then taught to learn features for each timestep.
The machine learning techniques used outperformed then existing deep models
and produces results that are at par with best related researches.

2.4 Hardware/Sensors

A study by (Chen et al., 2016) stated that measuring instruments are vital in
the process of gait analysis nowadays. Also, the results’ quality and correctness
depend on the measuring instruments used. One of the common yet expensive
measuring instruments discussed in the paper is a Vicon with infrared cameras
which is a tool that captures body motion, monitors spatial information and
human notion, and produces nearly accurate data at a sampling rate of 100-
200 Hz. However, it is known to be expensive, intrusive, and limited only to a
laboratory environment.

Another set of measuring tools included in the study is the force plates and
electromyography (EMG). The force plates, according to (Chen et al., 2016), mea-

sure Ground Reaction Forces (GRFs) during walking, and when synchronized with
kinematic information recorded by optical motion capture systems, can provide
kinetic information based on inverse dynamics. On the other hand, EMG systems
record the electrical activity produced by skeletal muscles and can be utilized to
learn muscle activity. But it has the same disadvantages of Vicon with infrared
cameras; it is also costly, invasive, and moveless.

As mentioned, this research will be utilizing a combination of equipment (vi-

sion cameras and body sensors) when performing the collection of data. However,
unlike the instruments stated above, one of the goals is to make it affordable
and noninvasive. Below are previous studies that worked with cameras and body
sensors such as smart mats/floors.

2.4.1 Vision Cameras

Microsoft Kinect sensor has been widely used these days in different industries and
researches like games, robotics, computer graphics, image processing, computer
vision, and etc. (Cruz, Lucio, & Velho, 2012) which (Zhang, 2012) agreed in terms
of computer vision. The Kinect sensor contains multiple advanced sensing hard-
ware which includes a depth sensor, a color camera, and a four-microphone array
that can capture full-body 3D motion and provide facial and voice recognition ca-
pabilities. One of its uses is the Kinect skeletal tracking where per-pixel body-part
recognition was utilized as an intermediate step to avoid a combinatorial search
over the different body joints (Zhang, 2012).

In the research of (Hu et al., 2015), they had proposed a real-time tutorial
system which analyzes user movements and gives instant feedback when the action
performed by the user is different from the target action with the help of Kinect
sensors. Two stages are involved in the said system: (1) retrieval stage and (2)
learning stage. User’s action sequence captured by the Kinect are used to extract
joint-matched skeleton sequence and the human silhouette sequence information
to measure the pose distance and action similarity between the user’s query and
the motion video for both retrieval and learning stage. These joint positions are
measured in mm with +X pointing to the right, +Y pointing up, and +Z pointing
to the direction with increasing depth with respect to the Kinect sensor. But
estimation results of some joints can sometimes be unreliable which they solved
by two strategies: (1) apply weighted pose similarity measurement to decrease the
similarity score of wrongly estimated joints and (2) extract features from human
silhouette to get a more accurate description of a human pose.

Instead of using a Kinect, this study conducted by (Staranowicz et al., 2015)

used a single depth camera for rehabilitation purposes. They have obtained the
data through MS Kinect v2 to capture infrared (IR) and depth image sequences.
also used Microsoft Kinect in their study for fall prediction by the means of
monitoring gait. They became interested in Microsoft’s Kinect because they can
extract the 3-D body joint coordinates at low cost and it does not require the need
for body markers. Wearable camera was also exploited in the study of (Watanabe
et al., 2011) for motion and global position estimation. It captures the changes of
the external environment caused by the user’s action and those images were used
as data.

2.4.2 Flooring Sensors

Smart mats or floors are the ideal hardware because it can be built affordable using
cheaper materials and at the same time, it is not obtrusive since no wearables are
needed to be attached to the subject’s body during data collection.

(Middleton, Buss, Bazin, & Nixon, 2005) has created a prototype floor sensor
for the gait recognition system. Three different designs were considered: (1)
capacitive, (2) use of coax cable as a delay line, and (3) resistive. The final
sensor flooring employs a switch made of perpendicular wires held apart by foam,
which connect when force is applied. It was approximately 3m by 0.5m with
1536 capacitors (as pressure sensors), made with an elastic core and household
foil with cling-film as a dielectric, that occupy an area of 3cm2each. The sensor
floor operates at a sample rate of 22Hz. To eliminate ghosting where sensors are
erroneously activated, they used four isolated grids and two layers of sensors. Its
design was inspired by computer keyboards. The control was achieved through
three PIC microcontrollers and a USB driver chip. The flooring costs them less
than $100.00.

Alternatively, (Srinivasan, Birchfield, Qian, & Kidané, 2005) explored the

structure and design of a large, high resolution pressure sensing floor to study
human dance movement. The floor makes use of sensor mats which are capable of
capturing data such as pressure information, microcontrollers, Rabbit Ethernet-
enabled controllers and a Windows-based application program for data visual-
ization, data recording and playback. The sensor mats have a large number of
sensors in which only two mats already have a total of 4,032 sensors but only
covers an area of 4,160 square centimeters. The sensor flooring is composed of
pressure sensitivity polymer between conductive traces on sheets of Mylar and
each sensor has an approximate area of 6mm x 6mm thus the large amount of
sensors needed per mat.

Similar to the previous paper, (Saenz-Cogollo, Pau, Fraboni, & Bonfiglio,
2016) also gathered pressure data. The proponents found out that a good way
to analyze the physical condition of a patient is by looking at their weight dis-
tribution against the floor through force platforms. Given that force platforms
are large and expensive materials, they would be often used in clinics and re-
search labs which made them inappropriate for daily monitoring use. This then
led the researchers to create a cheaper alternative in obtaining correct estimations
of force distribution which was still at par with the commercial mats available in
the market.

The pressure mapping flooring developed was based on a pressure sensor made
of a single layer of a 100% cotton fabric embroidered with silver coated polyester
yarns and treated at specific spots with polystyrene sulfonate-doped poly-3,4-
ethylenedioxythiophene (PEDOT:PSS). The accuracy of the flooring was proven
by comparing its performance with a commercial pressure platform The results
indicate that it was possible to use their flooring for obtaining stable and consistent
estimations of plantar pressures or force distribution.

Finally, (Cheng, Sundholm, Zhou, Hirsch, & Lukowicz, 2016), who also opt
to collect pressure data, presented a textile-based surface pressure sensor which
was a way to gather information source for activity recognition unobtrusively.
The goal of the research was to make a sensing and recognition system based on
cheap and easy-to-produce textile components. The researchers made a pressure
sensor by placing parallel metallic stripes on the top and bottom layers which
were separated by non-conductive fabric of which the bottom layer of n metallic
stripes is 90 rotated from the top layer of m metallic stripes. A pressure sensitive
semi-conductive fabric was then placed as the middle layer to form nm number
of pressure sensors that is then gathered to make the pressure distribution image.
The pressure sensors were then able to detect differences from as small as 100g to
as heavy as 100kg.

Chapter 4

Research Methodology

In this chapter, the specific steps and activities that the researchers will be per-
forming to accomplish the project are discussed. It covers the activities from
pre-proposal to Final Thesis Writing.

4.1 Initial Steps

4.1.1 Review of Related Works and Literature

In order to gain background knowledge on the proposed research, academic jour-

nals, books, and websites about gait analysis, smart flooring, Kinect technology,
motion recognition, and machine learning were reviewed and analyzed. The re-
searchers focused on the current state of the smart flooring and Kinect cameras
in terms of gait analysis in order to identify and pinpoint the research gap and
objective of this study. The other studies served as basis of this research in im-
plementing the machine learning algorithms and motion recognition.

4.1.2 Interview with an Expert

The researchers will be conducting interviews with physical therapists or physical

therapy students to inquire about the kind of data that the study needs. The
questions will mostly be about gait analysis and the need of weight distribution,
angle of joints and limbs, and movement and motion patterns. In addition, gait
abnormalities and also what data needs to be gathered when trying to conduct

such an experiment will be asked. This would then help the researchers filter
out data that is unnecessary for the research. In order to gather relevant data,
the proponents will also ask the experts whether he/she has patients that are
willing to participate as test subjects for the research. Aside from the patients,
the researchers will also set a meeting with the Office of Sports Development of
De La Salle University to consider a partnership with their office as the research
would be able to help student-athletes. This partnership will be done due to the
assumption that athletes who are injured due to sports have a tendency of having
a gait abnormality.

4.1.3 Research Ethics Process

Since this research requires human participants for data gathering and testing,
concerns related to research ethics will be tackled. The REO General Checklist
from De La Salle University will be used. This will ensure that the research con-
ducted has met the guiding principles outlined in the Code of Research Ethics of
the University. Another checklist from the University, the REO Human Partic-
ipants Checklist A, will also be used for the research. Each participant will be
given a consent form to give them the necessary information they need to know
about the research, the activities they will be doing, and their rights as a partici-
pant. Furthermore, prior to the interview with the experts, the researchers will be
providing them the interview questions so that they can prepare for it and they
can check if the questions are appropriate or whether or not they feel comfortable
answering the questions. The document will also state how long the data would
be stored as well as how the personal identifiable information of the participant
would be secured.

4.2 Smart Flooring

The smart flooring is a surface that can monitor the interaction with itself and its
surroundings. In that manner, it can be used to sense the pressure and movement
of people and use this data for other works. As a person steps on the smart floor,
the material in the flooring compresses, making it compact and tight altogether.
Using conductive materials for the flooring, the materials would then clasp to-
gether whenever a heavy pressure is applied. This allows current from one side of
the flooring to pass through the flooring material, based on the pressure applied,
as the means in detecting location and movement on the flooring.

With this being said, a low-cost flooring can be developed using cheap con-

ductive materials, while still following the idea on how pressure sensitive flooring
works. Materials such as Copper Tape, Velostat, Gizduino, Tarpaulins, and micro-
controllers are cheap alternatives to use in developing a smart floor. The Copper
Tape and Velostat are the two main conductive materials that can be put together
to make the smart flooring possible.

The self-made smart flooring would comprise of different layers as seen in

figure 4.1. At the very bottom is a 100x60cm tarpaulin to keep it sturdy and
long-lasting wherein 32 horizontal strips of copper tape will be placed facing up
as seen in figure 4.3. Next is 8 pieces of velostat, each with a measure of 20x20cm,
placed in a 4 by 2 tiles manner. After the velostat, another layer of tarpaulin is
placed. This time, however, with another 16 vertical strips of copper taped facing
down as seen in figure 4.2. This is to achieve the 512 sensors of the smart flooring.
At the topmost layer is a yoga mat to make it look natural and seamless for users
as they walk on the smart flooring. The whole flooring would be 160x60cm long
while the actual smart flooring would only be 100x60cm long.

Figure 4.1: Layers of the Smart Flooring

Figure 4.2: Top view of First Layer of Tarpaulin with Copper Tape

Figure 4.3: Top view of Second Layer of Tarpaulin with Copper Tape

The smart flooring would be connected to the analog ports of Gizduino as

seen in figure 4.4 to read the sensor data as users walk on it. The data from the
microcontroller would be transmitted to a computer through wireless communi-
cation (IEEE 802.11) or serial communication. In doing so, a computer program

Figure 4.4: Gizduino and its Parts

is also prepared to handle the data and save it in a database as the sensor data is

In collecting data from the smart flooring, multiple features such as pressure
points, weight distribution, position, and time will be considered. The pressure
points would determine which areas of the smart floor were pressed having only
binary values where 1 indicates pressed and 0 not pressed. The conductivity of
the sensor would be determined based on the weight distribution of the person.
The heavier the weight is applied, the higher the conductivity of the sensor. The
position of the foot including the angle of the foot is taken into account as it
will help determine the gait of a person. The timestamp of each step will also
be recorded to be used to determine the stride interval. In the figure 4.5 below
is a sample outline of the foot pressed on the flooring from (Saenz-Cogollo et al.,

Figure 4.5: Sample Outline of the Foot Pressed on the Flooring

Given that there would be 512 sensors from the 16 by 32 grid flooring, the

16 can be translated to the letters A to P and with 32 remaining as is. Each
tile would then be named by a combination of a letter and a number for example
A01 or H11. With that, the columns of the database would be: ID, subject no,
timestamp, A01, A02, A03 up to column P31. The sample database would look
like Table 4.1.

Table 4.1: Sample Database of Smart Flooring

ID subjectn o timestamp A00 A01 A02 ... P31
1 001 13.2 13:01:00 11.09 12.3 0.13

4.3 Kinect

A Kinect is a motion sensor developed by Microsoft as an add-on for the Xbox

gaming console. It provides the user with a natural user interface (NUI) that
allows them to perform actions without any intermediary device, such as a con-
troller. Face and voice recognition were used by the Kinect in identifying individ-
ual players. The system consists of a depth camera that creates a skeleton image
of a player in 3-D and a motion sensor that detects the movements. It also uses
speech recognition software to understand spoken commands and gesture recog-
nition to track player movements (Rouse, 2011). There are two versions of Kinect
in the market. The first version is for Xbox 360 and the second version is for the
Xbox One. The difference is that the second version has better specifications; it
has a higher video resolution, farther distance scope, wider horizontal and vertical
field of view, and more skeleton joints tracked (The difference between Kinect v2
and v1 , 2016). Thus the Xbox One Kinect version 2 will be used in this study.

The Kinect will be placed diagonally in front of the subject as seen in Figure
4.6. The Kinect version 2 has a horizontal field of view of 70 degrees and a
vertical field of view of 57 degrees (The difference between Kinect v2 and v1 ,
2016). Therefore by putting the Kinect in this area, the skeleton points of the
subject from both the front angle and the side angle may be captured. In order to
capture the data coming from the Kinect sensor, the researchers will be creating
a program using the Python programming language to be able to determine the
kinematic points as well as obtain the angles from the sensor. In addition, these
will then be saved into a database to be ready for fusion with the flooring sensors.
Such data collected from the Kinect sensor may look similar to the Table 4.2
provided below.

Table 4.2: Sample Database of Kinect
timestamp Part1 X Part1 Y Part1 Z ... PartN X PartN Y PartN Z

Figure 4.6: Top View of the Environment Setup

4.4 Preprocessing of Data for Fusion

Before the gathering of data, sensor data will be calibrated to be able to determine
the absolute zero of the sensors. As per movement of each subject, kinematic data
will be obtained from the Kinect, while pressure data will be obtained from the
smart flooring as seen in Table 4.3 below. After the gathering of data, the data
will then be normalized, converting the analog range of 0-1023, to be a value from
0-100, denoting percentage of resistance. The data may also be represented as
labels such as None (0-25), Low (26-50), Mid(51-75), High(76-100) and then these
labels will have corresponding values 0, 1, 2 and 3 respectively, to allow easier
computation. Both approaches will be tested in order to compare the results,
and determine if there are any conclusions that can be made through the use of
different approaches.

Table 4.3: Sample Database of Fusion of Data

Subject Movement KineticD1 ... KineticDN FlooringD1 ... FlooringDN

4.5 Machine Learning

4.5.1 Preprocessing

Machine learning would be integrated with the system to help determine if the
person has a gait abnormality or not, as well as what kind of gait abnormality the
person may have. Before feeding the data to the machine learning algorithm, the
proponents would preprocess the data by removing outliers and faulty data. The
proponents would then use different preprocessing techniques, such as obtaining
the min, max, mean, carry over, zero, or interpolation, to fill out missing data
that might have been lost during transmission. In addition to preprocessing the
data, each full gait cycle, which is the completion of a pair of steps, would be
considered as a separate data entry, wherein each gait cycle will have data entry
points of different time periods within the gait cycle. A sample data is seen in
Table 4.4.

Table 4.4: Sample preprocessing of data using mean, zero and interpolation
Time Mean Zero Interpolation
time1 20 20 20
time2(missing) 45 0 32.5
time3(missing) 45 0 45
time4(missing) 45 0 57.5
time5 70 70 70

4.5.2 Supervised Learning

Supervised learning is a category of machine learning where the labels or the

desired output is given along with the inputs, to generate a model. The model
then makes predictions using the information provided given new datasets and is
corrected by the supervisor in the case that the output was incorrect. The learn-
ing stops when the algorithm achieves a level of performance which is acceptable
(Supervised and Unsupervised Learning Introduction, n.d.). The following super-
vised machine learning algorithms will be considered in this research:

K-nearest Neighbor

K-nearest Neighbor (KNN) is a simple machine learning algorithm that is non-

parametric. When an algorithm is said to be non-parametric, it means that the

model does not make any assumptions on the underlying data distribution. The
model structure is determined from the data. This algorithm is also known as
the lazy learning algorithm since it does not use the training data points to do
any generalization. Lack of generalization means that KNN keeps all the training
data even during the testing phase. To be able to classify an object, the model
assigns it to the majority class or the class with the most common among its k
nearest neighbors (Bronshtein, 2017). Weights may also be applied to some data
points to give higher priority to some classes. When weights are implemented, the
algorithm is called Weighted KNN.

Decision Tree

Decision Tree, according to (Molnar, 2019), is a tree-based model that splits the
data multiple times according to certain cut-off values in the features. Through
splitting, the model creates different subsets of the dataset, with each instance
belonging to one subset. Terminal or leaf nodes are the final subsets and the
internal nodes or split nodes are the intermediate subsets. To predict the outcome
in each leaf node, the average outcome of the training data in the node is used.

Support Vector Machine

The Support Vector Machine (SVM), based on (Gandhi, 2018) is an algorithm

that aims to find a hyperplane that has the maximum distance between data
points of both classes (maximum margin), in an N-dimensional space, where N
is the number of features. The hyperplane will act as the boundary that helps
classify the data points distinctly. The dimension of the hyperplane depends upon
the number of features. For instance, if the number of input features is two, then
the hyperplane is just a line. If the number of input features is three, then the
hyperplane becomes a 2-D plane and so on and so forth. Support vectors or
the data points that are closer to the hyperplane and influence the position and
orientation of the hyperplane are used in maximizing the margin. Maximizing the
margin distance increases the confidence of the machine in classifying future data
points since it provides some reinforcement.

4.5.3 Unsupervised Learning

On the other hand, unsupervised learning, is a machine learning category that

does not supply the algorithm with the desired output or the labels. The machine

learning algorithm uses various mathematical and statistical metrics to group
or arrange data in a way that those with closer values would be located close
to one another. There will be no supervisor to dictate to the machine learning
algorithm, whether the answers are correct or not (Supervised and Unsupervised
Learning Introduction, n.d.). The unsupervised machine learning algorithm that
will be taken into consideration, would be K-means clustering. Since this is one
of the well known clustering algorithms that performs relatively faster compared
to others.

K-means Clustering

(Garbade, 2018) explained that K-means clustering is apparently one of the sim-
plest and popular unsupervised machine learning algorithms. The main objective
of K-means is to group similar data points together and discover underlying pat-
terns. To achieve this objective, it looks for a fixed number (k) of clusters, a collec-
tion of data points grouped together because of certain similarities, in a dataset.
The target number k, which refers to the number of centroids (the imaginary or
real location representing the center of the cluster) you need in the dataset, will
be defined. Then, every data point is allocated to each of the clusters by reducing
the in-cluster sum of squares. In short, the K-means algorithm identifies k num-
ber of centroids, and then allocates every data point to the nearest cluster, while
keeping the centroids as small as possible. The means in the K-means refers to
averaging of the data; that is, finding the centroid.

4.5.4 Evaluation Metric

In order to know how well the model works, the following evaluation metrics will
be used to examine its performance.


(Saxena, 2018) mentions that precision is the percentage of your results which are

true positive true positive

P recision = or (4.1)
actual results true positive + f alse positive


Recall refers to the percentage of total relevant results correctly classified by your
algorithm as stated by (Saxena, 2018).

true positive true positive

Recall = or (4.2)
predicted results true positive + f alse negative

F1 score

The F1 score is the harmonic mean of precision and recall. This metric focuses
on maximizing either the precision or the recall instead of balancing both metrics.
It was also said by (Saxena, 2018) that “when there is a problem where both
precision and recall are important, one can select a model which maximizes this
F-1 score.” The F1 score is then calculated by:

P recision × Recall
F 1Score = 2 × (4.3)
P recision + Recall

4.6 Testing

As the proponents gather data from participants, their consent would be asked
before participating in the test. Upon agreeing, the participants would then be
asked to walk on the environment setup multiple times with the smart flooring
and Kinect already placed. The proponents plan to gather data from 30 athletes
from DLSU.

After gathering enough data from different participants, the proponents would
ask a physical therapist to diagnose and interpret the data in their own manner
in order to classify which data patterns would result to a specific gait. Once
classified, the proponents can now split the data into training and testing data as
they feed the training data to the system. With that, the smart flooring system is
complete and ready for experimentation. Multiple tests would be done to compare
the diagnosis of the smart flooring with the diagnosis of the physical therapist in
order to examine the accuracy of the algorithm in identifying the gait of the

In order to further improve on the capability of the smart floor in identifying

gait, the proponents can inquire insights from the physical therapist, to further
improve the gait detection system of the smart floor.

4.7 Data Visualization

This research aims to provide visualization to help physical therapists understand

the processed data collected from the smart flooring and the Kinect. Prior to
building the application that would visualize the data, the proponents would ini-
tially consult physical therapists on what kind of data they need to see and how
they want to represent or visualize it. Their feedback will be the basis of the visu-
alization done in this research. There will be two kinds of visualization proposed
namely: (1) figures, and (2) photos. Both kinds will be implemented in a desktop

The figures would include graphs, tables, and charts that will best describe
or represent the data. For instance, in order to interpret the gait abnormality, a
set of ankle and foot points are needed to be collated in a table or the kinematic
points of the right and left leg needed to be compared through a chart. These
figures will be produced by the Python code used in the machine learning process
of this methodology. Python has a lot of data visualization libraries that can be
utilized to achieve this objective. Some examples that the researchers can use are
Matplotlib, Seaborn, and ggplot. The photos, on the other hand, will comprise
of a set of frame by frame pictures obtained from the original video captured by
Kinect. These snapshots will be captured through a Python program created by
the researchers. Additionally, the program would process the video taken from
the Kinect by implementing motion recognition; it will only capture the frames
where the subject does significant actions such as lifting of a leg, stepping of a
foot, etc.

After creating the application, the physical therapist would again be consulted
in order to evaluate its correctness and reliability. Recommendations for enhance-
ments and comments for any modification of the application will be documented.
Finally, the feedback from the physical therapist will be incorporated, in order to
produce the final version of the application.

4.8 Calendar of Activities

Table 4.5 and 4.6 shows a Gantt chart of the activities. Each bullet represents
approximately one week worth of activity.

Table 4.5: Timetable of Activities 2019

Activities (2019) Jun Jul Aug Sept Oct Nov Dec
Review of Related Works •••• ••
and Literature
Consultation with a Physi- • • • • •
cal Therapist
Meeting with OSD • •
Creation of the Mat •• •••• ••••
Data Gathering from Partic- ••••
Studying Data Gathered •
from Kinect and Mat (Pre-
processing Fused Data)
Documentation •••• •••• ••• ••• •••• •••• ••

Table 4.6: Timetable of Activities 2020

Activities (2020) Jan Feb Mar Apr May Jun Jul
Studying data gathered •••
from Kinect and Mat
(Pre-processing fused data)
Integration of data with ma- •••
chine learning
Analysis and Interpretation •••
of Results
Create visualization soft- •• ••
Documentation •• •••• •••• ••• ••• •••• ••••


alterG. (2017). The importance of gait analysis. Retrieved from

Baccouche, M., Mamalet, F., Wolf, C., Garcia, C., & Baskurt, A. (2011). Sequen-
tial deep learning for human action recognition. In International workshop
on human behavior understanding (pp. 29–39).
Bhuller, B., Flores, F., Manto, J., Medina, A., & Mendaros, N. (2012). Smart
flooring system implementation for movement recognition through low-cost
force sensitive resistors (Tech. Rep.). De La Salle University.
Bronshtein, A. (2017). A quick introduction to k-nearest neighbors algorithm. Re-
trieved from https://blog.usejournal.com/a-quick-introduction-to
Chen, S., Lach, J., Lo, B., & Yang, G. (2016, Nov). Toward pervasive
gait analysis with wearable sensors: A systematic review. IEEE Journal
of Biomedical and Health Informatics, 20 (6), 1521-1537. doi: 10.1109/
Cheng, J., Sundholm, M., Zhou, B., Hirsch, M., & Lukowicz, P. (2016). Smart-
surface: Large scale textile pressure sensors arrays for activity recognition.
Pervasive and Mobile Computing, 30 , 97 - 112. doi: https://doi.org/10
Cruz, L., Lucio, D., & Velho, L. (2012, Aug). Kinect and rgbd images: Challenges
and applications. In 2012 25th sibgrapi conference on graphics, patterns and
images tutorials (p. 36-49). doi: 10.1109/SIBGRAPI-T.2012.13
The difference between kinect v2 and v1. (2016). Retrieved from
Fathi, A., & Mori, G. (2008). Action recognition by learning mid-level motion fea-
tures. In 2008 IEEE conference on computer vision and pattern recognition
(pp. 1–8).
Fletcher, J. (2017). What is abnormal gait? Retrieved from https://www

Fujiyoshi, H., Lipton, A. J., & Kanade, T. (2004). Real-time human motion
analysis by image skeletonization. IEICE TRANSACTIONS on Information
and Systems, 87 (1), 113–120.
Gandhi, R. (2018). Support vector machine - introduction to machine learn-
ing algorithms. Retrieved from https://towardsdatascience.com/
Garbade, M. (2018). Understanding k-means clustering in machine learning. Re-
trieved from https://towardsdatascience.com/understanding-k-means
Gill, S., Keimig, S., Kelty-Stephen, D., Hung, Y.-C., & DeSilva, J. (2016, 01).
The relationship between foot arch measurements and walking parameters
in children. BMC Pediatrics, 16 . doi: 10.1186/s12887-016-0554-5
Hanlon, M., & Anderson, R. (2009). Real-time gait event detection using wear-
able sensors. Gait Posture, 30 (4), 523 - 527. Retrieved from http://www
.sciencedirect.com/science/article/pii/S0966636209003373 doi:
Horst, F., Lapuschkin, S., Samek, W., Müller, K.-R., & Schöllhorn, W. I. (2019).
Explaining the unique nature of individual gait patterns with deep learning.
Scientific reports, 9 (1), 2391.
Hu, M., Chen, C., Cheng, W., Chang, C., Lai, J., & Wu, J. (2015, April).
Real-time human movement retrieval and assessment with kinect sensor.
IEEE Transactions on Cybernetics, 45 (4), 742-753. doi: 10.1109/TCYB
The importance of gait. (2019). Retrieved from https://briandorfman.com/
Importance of gait analysis and uses. (2016). Retrieved from https://
Infante, R. P. M., Salcedo, G. L. O., & Tan, R. G. M. (2009). Vision-based
biometric authentication system using human gait analysis (Unpublished
BSCS thesis). De La Salle University, Manila, Philippines.
Kirtley, C. (2006). Clinical gait analysis: Theory and practice. In (chap. 1).
Elsevier Limited.
Mantyjarvi, J., Lindholm, M., Vildjiounaite, E., Makela, S. ., & Ailisto, H. A.
(2005, March). Identifying users of portable devices from gait pattern with
accelerometers. In Proceedings. IEEE International Conference on Acous-
tics, Speech, and Signal Processing, 2005. (Vol. 2, p. ii/973-ii/976 Vol. 2).
doi: 10.1109/ICASSP.2005.1415569
Middleton, L., Buss, A. A., Bazin, A., & Nixon, M. S. (2005, Oct). A floor
sensor system for gait recognition. In Fourth IEEE workshop on automatic
identification advanced technologies (autoid’05) (p. 171-176). doi: 10.1109/

Mirelman, A., Shema, S., Maidan, I., & Hausdorff, J. M. (2018). Chapter 7 - gait.
In B. L. Day & S. R. Lord (Eds.), Balance, gait, and falls (Vol. 159, p. 119
- 134). Elsevier. doi: https://doi.org/10.1016/B978-0-444-63916-5.00007-0
Molnar, C. (2019). Decision tree. Retrieved from https://christophm.github
Nieto-Hidalgo, M., Fernandez-Pastor, F. J., Valdivieso-Sarabia, R. J., Mora-
Pascual, J., & Garca-Chamizo, J. M. (2018, 01). Gait analysis using com-
puter vision based on cloud platform and mobile device. Mobile Information
Systems, 2018 , 1-10. doi: 10.1155/2018/7381264
Oluwadare, O. (2015). Gait analysis on a smart floor for health monitoring.
Ormoneit, D., Sidenbladh, H., Black, M. J., Hastie, T., & Fleet, D. J. (2000).
Learning and tracking human motion using functional analysis. In IEEE
workshop on human modeling, analysis and synthesis (Vol. 2).
Peddinti, S. V. K. (2018). Smart shoe gait analysis and diagnosis: designing and
prototyping of hardware and software (Unpublished doctoral dissertation).
Qiu, S., Liu, L., Wang, Z., Li, S., Zhao, H., Wang, J., . . . Tang, K. (2019). Body
sensor network-based gait quality assessment for clinical decision-support via
multi-sensor fusion. IEEE Access, 7 , 59884-59894. doi: 10.1109/ACCESS
Rouse, M. (2011). Kinect. Retrieved from https://searchhealthit.techtarget
Saenz-Cogollo, J., Pau, M., Fraboni, B., & Bonfiglio, A. (2016). Pressure mapping
mat for tele-home care applications. Sensors, 16 (3), 365.
Saxena, S. (2018). Precision vs recall. Retrieved from https://
Srinivasan, P., Birchfield, D., Qian, G., & Kidané, A. (2005). A pressure sensing
floor for interactive media applications. In Proceedings of the 2005 ACM
SIGCHI international conference on advances in computer entertainment
technology (pp. 278–281).
Staranowicz, A. N., Ray, C., & Mariottini, G.-L. (2015). Easy-to-use, general,
and accurate multi-kinect calibration and its application to gait monitoring
for fall prediction. In 2015 37th annual international conference of the IEEE
engineering in medicine and biology society (embc) (pp. 4994–4998).
Supervised and unsupervised learning introduction. (n.d.). Retrieved
from https://www.greycampus.com/opencampus/machine-learning/
Watanabe, Y., Hatanaka, T., Komuro, T., & Ishikawa, M. (2011, Jan). Hu-
man gait estimation using a wearable camera. In 2011 IEEE workshop
on applications of computer vision (wacv) (p. 276-281). doi: 10.1109/
Why is gait analysis important? (2018). Retrieved from https://www.tekscan

Ye, M., Yang, C., Stankovic, V., Stankovic, L., & Kerr, A. (2015, 12). Gait analysis
using a single depth camera.. doi: 10.1109/GlobalSIP.2015.7418202
Zhang, Z. (2012, Feb). Microsoft kinect sensor and its effect. IEEE MultiMedia,
19 (2), 4-10. doi: 10.1109/MMUL.2012.24