Gait Cycle Classification For Wheeled Walker Users By Matching Time Series Of Distance Measurements

Christian Mandel1, Amit Choudhury2, Serge Autexier1, Karin Hochbaum3, Steffen Brüggemann4, Petra Wedler5

1German Research Center for Artificial Intelligence, Dept. for Cyber Physical Systems, Bremen, Germany; 2Hospital Bremen Nord, Clinic for Geriatrics, Bremen, Germany; 3Gesundheit Nord gGmbH, Bremen, Germany; 4Budelmann Elektronik GmbH, Münster, Germany; 5Topro GmbH, Fürstenfeldbruck, Germany


The Figure shows the outlined profile of a person walking at a wheeled walker from left to right. At the right side of the wheeled walker, an illustration of a 3-dimensional coordinate system is given. Its Z-axis points towards the person, its Y-axis points from the height of the person’s head downwards, and its X-axis points into the depth of the Figure. Embedded into the coordinate system, two viewing frusta point from the walker to the person, one observing the lower body, and one observing the upper body. Additionally to the viewing frusta, eight ground parallel lines extend from short beside the Y-axis into the direction of the person, i.e. two in height of the shoulders, two in height of the pelvis, two in height of the upper legs, and two in height of the lower legs.
Figure 1. Person (black) walking at a wheeled walker (blue), while being observed by two depth cameras (green viewing frusta 〖vf〗^0 and 〖vf〗^1). The depth measurements d^0,⋯,d^7 (red) are sampled by virtual distance sensors.
Gait disorders and falls rank amongst the most frequent functional disorders of elderly patients. While the ability to locomote feels natural to healthy people, walking challenges many persons with advanced age. Changes triggered by the physiological ageing process, like declining muscular strength, degenerating visual perception, and decreasing nerve conduction velocity, but also illness-related issues e.g. of the muscular-skeletal system, lead to a more or less typical change of the human gait pattern and increase the risk of fall. Consequently, gait disorders and falls represent significant challenges in geriatric diagnostics and therapy.

The project ModESt, funded by the German Federal Ministry of Education and Research in context of the KMU-innovativ program (2017-2019), is dedicated to reduce the risk of fall for elderly people using wheeled walkers. Our approach is to monitor gait properties with walker-mounted sensorial equipment, and give valuable feedback to the user about insecure gait properties to be corrected. A long-term goal of the project is to provide a diagnostic tool for physicians and physio therapists with which the assessment of current procedures, such as the Timed up and go Test, can be objectified. In this context, the publication at hand addresses the research question of whether a robust classification of clinically significant gait properties, e.g. stride-variability and -length, is possible by solely evaluating a small number of distance measurements sensed by an instrumented walker. In the following we do so by stating related works, presenting the technical methods used, and informing about an observational clinical study that evaluates the approach presented.

Related Work

Today's gait analysis systems assess time-series of measurements, and can be differentiated w.r.t. a broad range of sensorial equipment applied. Common approaches use retroreflective markers in combination with multi-camera setups to track tagged joints and limbs in 3D [1-3], measure dynamic electromyography patterns of activated muscles during gait [4,5], monitor joint angles and acceleration data by body-mounted inertial measurement units [6,7], or analyze foot pressure by the help of sensor pads within shoes or on the ground. These approaches require extensive preparation of the test person or the environment, rendering test sessions outside the laboratory almost impossible. With these necessities in mind, the instrumentation of walking aides such as wheeled walkers is appealing. It does not only render the location-independent monitoring of a person's gait possible, but it also allows for the observation of risk of fall factors during the daily use of wheeled walkers.

Ballesteros et al. have presented the walker platform i-Walker [8]. The system is equipped with pressure-sensitive handlebars and odometry-enabled back-wheels. Using this setup, the authors correlate measurable parameters such as step-time and -length as well as stride-time and -length to the Tinetti clinical scale [9].


Data Representation and Acquisition

Let a vector of n distance measurements taken at time t be defined by D t : = d t 0 , ..., d t n 1 : n , t , d t i . Then we can define a time series of n × m  distance measurements starting at t 0  and ending at t m 1  by the matrix D T : = D t 0 , ..., D t m 1 : t i T , t i t i + 1 . D T  can not only represent the complete set of measurements taken during data acquisition, but also time-continuous subsets. In particular, we are interested in measurement intervals that compose a single gait cycle, since this is the atomic unit that we want to classify. In the long term, it is planned to capture D T  by several small-scale and low-cost infrared proximity sensors. To be more flexible during the development phase, we currently use two Asus Xtion Pro depth cameras, mounted at the walker’s front (cf. Figure 1 ), for sensing the distance to the user's body. We sample from the depth camera's data so-called virtual distance sensors (VDS), i.e. we intersect single measurement rays with the raw depth images. Note that the depth measurements of both cameras are transformed into a common frame of reference before the sampling step (cf. [10]). This allows us to define the pose of the VDS in dependence of the person's body height.

Gait Cycle Extraction and Filtering

The human gait cycle is defined by the period of time in-between the starting points of two consecutive ground contacts of the same foot. Since a single measurement D T  doesn't provide us any direct information about whether or not a foot touches the ground, we get by with partitioning the periodic movement pattern at points in time where one of the distance measurements d i , that intersects with the leg closest to the ground, is maximal (e.g. d 2  in Figure 1 ).

Having split the stream D T  at two consecutive minima of d 2 , e.g. at t = j  and t = k , we can extract a new gait cycle candidate D T ' , with T ' = { j , ..., k }  for subsequent processing. As not every single gait cycle is suited for being fed into the classification knowledge base, or being matched against it, we continue by filtering out gait cycle candidates that show data from unusual walking behavior, such as turning on the spot or backwards movements. We do so as follows: let

GC C T : = D T i : T i T , T i T i + 1 = φ (1)	The vector GCC subscript T is defined by the vector of all vectors D subscript T subscript i for which holds a.	that the set T subscript i is a subset of set T, which is a subset of the set of the rationale numbers,  b.	and that the intersection between set T subscript i and the set T subscript i plus 1 is the empty set.  (1)

be the vector of potential gait cycle candidates extracted from recently recorded distance measurements. Then we can filter out gait cycle candidates that are too long or short over time, compared to the average duration of gait cycle candidates. In addition, we remove gait cycle candidates that show value ranges of d i  differing too much from the average value range of d i  over all gait cycle candidates. This yields the following definition of detected gait cycles:

G C T : = D T i : D T i GC C T , 1 ϵ 1 < T i φ Δ t GCC < 1 + ϵ 1 , 1 ϵ 2 < v r j D T i φ v r j GCC < 1 + ϵ 2                                                       (1)	The vector GC subscript T is defined by the vector of all vectors D subscript T subscript i for which holds a.	that the vector D subscript T subscript i is element of GCC subscript T, b.	and that 1 minus (epsilon) subscript 1 is smaller than the magnitude of T subscript i divided by (phi)(delta) of GCC, is smaller than 1 plus (epsilon) subscript 1, c.	and that 1 minus (epsilon) subscript 2 is smaller than vr subscript j of D subscript T subscript j divided by (phi) vr subscript j of GCC, is smaller than 1 plus (epsilon) subscript 2.    (2)

In (2), T i  denotes the duration of D T i , φ Δ t GCC  denotes the average gait cycle duration over all gait cycle candidates in GCC, v r j D T i  denotes the value range of the j th  distance measurement of D T i , and φ Δ t GCC  denotes the average value range of the j th  distance measurement over all gait cycle candidates in GCC. For the current implementation, we chose ϵ 1 = 0.25  for limiting the duration deviation of gait cycles, and ϵ 2 = 0.5  for filtering out gait cycle candidates with deviating value range.

Classification of Gait Cycle Descriptions

As gait cycles can vary in their duration, all gait cycles in G C  t  are initially resampled, i.e. linearly interpolated over time. In our current implementation, we compute 30 interpolated distance values per gait cycle for each VDS. In the following we indicate the normalized length of time of gait cycles by replacing the subscript T by T , e.g. we write G C T  for a set of gait cycles with normalized length over time.

The core task of the system presented in this paper is now to classify a single gait cycle description D T  w.r.t. a discrete-valued gait cycle property P. Let for example P sh ( D T ) normal ,   reduced  be the stride height of a person's gait cycle that can be assessed by a physiotherapist as being normal or reduced. During the training phase of the classification algorithm, gait cycles out of the training dataset are clustered according to their ground truth labels. A cluster's centroid, along with the covariance matrix over the corresponding training samples, finally makes up an entry into the knowledge database. For our stride height example, let G C T tr sh . norm now be the training data that describe gait cycles with a normal stride height. Please recall that normalized gait cycles are composed of n  VDS, and m  readings over time per VDS. We can then formulate the covariance matrix as

C ( sh . norm ) = c ( X 1 , X 1 ) c X 1 , X nm c X nm , X 1 c X nm , X nm , c ( X i , X j ) = x i μ i x j μ j G C T tr sh . norm                                                      The matrix C of (sh.norm) is composed of the elements c(X subscript i, X subscript j), with i ranging from 1 to nm over all lines, and j ranging from 1 to nm over all columns. A single matrix entry c(X subscript i, X subscript j) equals the quotient of the product (X subscript i minus (mu) subscript i) times (X subscript j minus (mu) subscript j) divided by the magnitude of GC subscript hat over T superscript tr of (sh.norm).  (3)

with X im + j  being the j th  reading of the i th  VDS, interpreted as random variable over all gait cycles in G C T tr ( sh . norm ) , c X i , X j  being the single (co)variance terms, and G C T tr ( sh . norm )  being the number of gait cycles with normal stride height in the training data set. After having computed the centroids and covariance matrices of all classes p for a given gait cycle property P, we compute the most similar class of a given gait cycle description to test. We do so by minimizing the Mahalanobis distance d [11] over all p P  as follows:

arg   min p d D T p , D T = arg   min p D T p T C 1 D T p D T                                                                                            hat over T) equals the argument of the minima over p of the square root of the product (D subscript hat over T and superscript p minus D subscript hat over T) transposed, times the inverse of matrix C, times (D subscript hat over T and superscript p minus D subscript hat over T).   (4)

In (4), D T p  describes the centroid of a given class p for a given gait property, D T  describes the gait cycle description to be tested, and C 1  describes the inverted covariance matrix belonging to D T p . For all vector- and matrix-related operations, including the computation of the inverse of C, we use the C++ template library Eigen.

Study Design and Procedures

The main experimental evaluation of the proposed classification algorithm took place at the Bremen Nord Hospital - Clinic for Geriatrics and early Rehabilitation. Here, 26 stationaries and out patients aging from 47 to 93 years (Ø74.3) underwent an observational clinical study that had been approved by the responsible ethical panel beforehand. The study design included initial clarification for the patients about the goal of the study, followed by the patients' signature under a consent that allowed us for the usage of the anonymized data collected. In the following, the undisclosed part of a case report form was filled out by a physician for every patient. These anonymized documents do not allow somebody to draw conclusions about the identity of the patients under scope. Beside personal information, this part included medical diagnoses, i.e. the reasons for the patients’ hospital stay was not transmitted to the study team.

In the following, each patient was asked to walk up and down an approx. 12m long hallway in the physiotherapeutic department for three times, while being supported by the instrumented walker. In between each trial the subjects had sufficient time for relaxation. During the three trials, physiotherapists and a physician observed the gait properties of the subject and noted their observations afterwards in the second part of the case report form. This open document includes a unique identifier for each patient that connects to the undisclosed part of the case report form. Table 1 lists all 14 gait properties and their value ranges, as assessed by the medical staff. In parallel to the visual examination of the patients, two Asus Xtion Pro depth cameras, mounted at the walker and connected to a Raspberry 3, recorded depth information of each trial.

After the data acquisition sessions, depth information log files were separated into training data and test data log files, i.e. we used the log files of the first two trials of each participant as the training data set, and the third one as the test data set. Gait cycles were then extracted and filtered for each log file. According to the case report forms, gait cycles from the training data sets that described the same class of a gait cycle property were then bundled and used to compute the mean gait cycle description (centroid) and inverted covariance matrix for that class. In the following test phase, we computed the Mahalanobis distance to the classes of each gait cycle property for each filtered gait cycle from the participants’ third trial-log file.


Table 1 . Ground truth distribution observed by clinical staff during training of the classification algorithm

Gait Property
Class 1 Class 2 Class 3 Class 4 Class 5
2 gait pattern (2gp) physiological 28.6% pathological 71.4%
5 gait pattern (5gp) physiological 28.6% antalgic 20.4% protective 30.6% atactic 8.2% paretic 12.2%
position to walker (ptw) centered 51.0% left deviating 40.8% right dev. 8.2%
distance to walker (dtw) normal 57.1% increased 42.9%
hip flection left (hfl) 0°-10° 59.2% 10°-30° 38.8% >30° 2.0%
hip flection right (hfr) 0°-10° 44.9% 10°-30° 44.9% >30° 10.2%
Knee flection left (kfl) <0° 12.8% 0°-10° 72.3% 10°-30° 10.6% >30° 4.3%
knee flection right (kfr) <0° 12.8% 0°-10° 63.8% 10°-30° 23.4%
torso flection (tf) upright 36.7% anteflexed 59.2% retroflexed 4.1%
stride symmetry (ss) uniform 46.9% left deviating 24.5% right dev. 28.6%
stride width (sw) normal 69.4% narrow 16.3% broad 14.3%
stride variability (sv) regular 61.2% slightly incr. 20.4% irregular 18.4%
stride length (sl) normal 61.2% reduced 34.7% increased 4.1%
stride height (sh) normal 65.3% reduced 34.7%

By comparing the most similar class of a tested gait cycle description with the ground truth taken from the case report forms, we acquired the basic data for setting up the statistics over correct and false classifications. Statistics such as the minimal, maximal, and mean classification rates, as well as the standard deviation of classification rates (for a given gait cycle property) are given in Figure 2. In addition to the classification rates of single gait properties, we have compared the cadence rates (number of gait cycles per minute) for each participant, i.e. as measured by hand during data acquisition (ground-truth) vs. one minute divided by the mean length of time of extracted and filtered gait cycles of subjects as computed by the system.

Figure 2. Classification rates (cr) of 14 gait properties averaged over 26 subjects. Black horizontal strokes indicate the average cr of a single gait property, green boxes depict the corresponding standard deviation, and green strokes show the minimal cr (max. values equal 1 in all cases). The yellow colored horizontal line is given by the average value over all average gait property cr. Blue lines indicate the corresponding 95% confidence interval.
Results show best classification rates (cr) for two-valued gait properties such as distance to walker (99.4%), and the meta-property 2 gait pattern (99.2%), which discriminates between physiological and pathological gait. With 94.2%, position to walker shows the worst cr. The average cr over all gait properties is given by 96.9%. The mean cadence rate measurement error is given by 1.86% (: 7.06%, max error: 18.2%) over all subjects.


This paper presented an add-on system for wheeled walkers that allows for the online classification of the user’s gait cycles w.r.t. 14 gait properties relevant in assessing gait safety. Now that an initial observational study has proven robust classification rates, ongoing and future work develops in three directions. On the first hand we are developing a suitable user interface that communicates problematic postures and gait properties to the user. In parallel, the depth cameras used here are replaced by small-sized Time-of-Flight laser-ranging sensors allowing for a seamless integration into the walker frame. With the final walker setup available, we will conduct an interventional study that is dedicated to the question of whether recognized and communicated gait problems can improve patients’ gait in sense of correct and safe gait.


[1]   Bortone I, Francesco Trotta G, Brunetti A, Donato Cascarano G, Loconsole C, Agnello N, et al. A Novel  Approach in Combination of 3D Gait Analysis Data for Aiding Clinical Decision-Making in Patients with Parkinson’s Disease. In Intelligent Computing Theories and Application (ICIC 2017); 2017; Cham: Springer.

[2]   Murphy A, Rawicki B, Kravtsov S, New P. Is Clinical Gait Analysis Useful in Guiding Rehabilitation Therapy Decisions in Patients with Spinal Cord Damage? In Converging Clinical and Engineering Research on Neurorehabilitation II. Biosystems & Biorobotics. Cham: Springer; 2017. p. 192-202.

[3]   Zawiyah C, Hasan C, Jailani R, Tahir NM. Automated Classification of Gait Abnormalities in Children with Autism Spectrum Disorders Based on Kinematic Data. International Journal of Psychiatry and        Psychotherapy. 2017; 2: p. 10-15.

[4]   Bojanic DM, Petrovacki-Balj BD, Jorgovanovic ND, Llic VR. Quantification of dynamic EMG patterns during gait in children with cerebral palsy. Journal of Neuroscience Methods. 2011; 198(2): p. 325-331.

[5]   Rosati S, Agostini V, Knaflitz M, Balestra G. Muscle activation patterns during gait: A hierarchical clustering analysis. Biomedical Signal Processing and Control. 2017; 31: p. 463-469.

[6]   Caldas R, Mundt M, Potthast W, B. de Lima Neto F, Markert B. A systematic review of gait analysis methods based on inertial sensors and adaptive algorithms. Gait & Posture. 2017; 57: p. 204-210.

[7]   Ameli S, Naghdy F, Stirling D, Naghdy G, Aghmeshsh M. Objective clinical gait analysis using inertial sensors and six minute walking test. Pattern Recognition. 2017; 63: p. 246-257.

[8]   Ballesteros J, Urdiales C, B. Martinez A, Tirado M. Automatic Assessment of a Rollator-User's Condition during Rehabilitation using the i-Walker Platform. IEEE Transactions on Neural systems and Rehabilitation Engineering. 2017; pp(pp): p. PP.

[9]   Tinetti ME. Performance-Oriented Assessment of Mobility Problems in Elderly Patients. Journal of the American Geriatrics Society. 1986;(34): p. 119-126.

[10] Zhang Z. A Flexible New Technique for Camera Calibration. IEEE Transactions on Pattern Analysis and Machine Intelligence. 2000; 22(11): p. 1330-1334.

[11] Mahalanobis PC. On the Generalised Distance in Statistics. Proceedings of the National Institute of Sciences of India. 1936; 2(1): p. 49-55.