Fall Detection Using RF Sensor Networks

Let's start with an important chart from the World Health Organization, because it affects everyone. It shows, as a percentage of the world population, the number of people aged 65 and older compared with the number of people aged five years and younger.

Population chart

As you can see by where the lines cross, the number of people over 65 will soon exceed that of children under five . . . which is why a lot of effort is being focused on technology for providing care to the elderly.

Now, one major concern of the elderly is that of falling down. Each year, falls affect nearly one-third of all adults over 65 and is a leading cause of injury-related deaths for them, which is why detecting falls is an active area of research.

So in this presentation we’re going to look at how we can use an RF sensor network to locate people in an environment. And we’ll see how to employ that technology to detect falling with remarkable accuracy.

Fall Detection Systems

Fall detection systems can be divided into two categories: those you wear and those that monitor the environment.

Most wearable devices use accelerometers and gyroscopes, or make you push a button to call for help. But all these require a person to wear or carry a device at all times, which isn’t always practical. So the biggest issue with these devices is they don’t work if you’re not wearing them.

Ideally, the environment itself would be able to detect a fall and send an alert to a caregiver.

Environment monitoring systems currently being researched by others include systems using microphone arrays that pick up sounds associated with falling, Doppler radars that detect the relative speed of an object, and camera-based systems that use image processing to determine if an object that looks like a body has fallen.

RF Sensor Networks

But another new sensing technology is radio-frequency based localization, which uses RF sensor networks and an algorithm called radio tomographic imaging, or RTI. This technology has been able to locate a person in a room within 10 to 30 centimeters. And the person doesn’t have to wear or carry a device. My research builds on this technology, so let’s look at how RTI works.

Radio Tomographic Imaging (RTI)

Link attenuation

If we have two RF sensor nodes that can transmit and receive signals in the 2.4 gigahertz range, then typically a person crossing the link between the nodes will affect the received signal strength of the link, due to the shadowing loss of the line-of-sight path.

Link crossing measurement

And of course, we can measure that loss in signal strength.

For RTI, we set up an array of sensors around a room. Each node takes a turn at transmitting, so we can measure the received signal strength on all the links in the network when someone is in the room. This image shows a deployment of 14 nodes as seen from above, with lines indicating how one of the nodes transmits to all the others.

Deployment grid

To process the data, we first divide up the space into a grid of square pixels. What we want is to fill in each of those pixels with the attenuation values that will let us create an image showing where the person is.

Deployment grid

Now, all we have is a matrix y of measurements of the received signal strength between each pair of nodes. We also can create a weight matrix W that represents the impact of each pixel’s attenuation on any link. The further away a pixel is from a link, the less effect it has. We want to generate the matrix x, which tells us what caused the measurements we see in y. Of course, along with the attenuation we’re also measuring noise, so we include that.

y = Wx + n

Once we get the measurements in y, solving for x presents a problem in statistical inversion. We use the least squares regularization method, which means we multiply y by a projection matrix to get a solution for x, which we call the image estimate.

We use this matrix to generate an image that, for each measurement cycle, shows us approximately where a person is in a room. Although the blob is red, this is not to be confused with thermal imaging. We’re just measuring RF signals and creating an image based on the attenuation of the signals between each pair of nodes.

Image of measurement blob

OK, so far we’ve just covered standard two-dimensional RTI. To detect falling, which is where my contribution comes in, our system requires data about a person’s vertical position, which we get by deploying the sensor network on two levels.

Dual-Level RTI

A simple way to process the data is as two separate networks. All other links are ignored. We call this dual-level RTI.

Dual level RTI

A person’s upper torso causes more attenuation than the ankles, because there’s more mass there, so when a person is standing, we expect more attenuation on links between nodes in the upper layer than in the lower layer. And we can generate two separate images corresponding to the attenuation measured on the two levels.

Dual level RTI with images

So here’s our two images related to the person standing up, not to scale. In contrast, a person lying on the floor causes more shadowing on the lower layer and very little on the upper layer.

Standing & Lying

Now we need to quantify this data a bit more. So we create what we call the image intensity by taking the sum of squares of all the pixel values in each layer at each measurement cycle. Let’s look at a graph of this.

Image intensity, falling

This is from a 54-second falling experiment. The red line represents image intensity for the lower layer and the blue line is for the upper layer. Time is along the x axis, and as someone walks into the network (at about 20 seconds), the upper layer shows a higher value. When the person falls at 30 seconds, the value for the lower layer increases rapidly. At this point, the subject is lying on the floor for about 10 sedonds, then he gets up and walks out of the network.

Compare this with an experiment where the person lies down, which occurs between 25 and 30 seconds into the experiment.

Image intensity, lying down

We can see that the graph is not as steep during that motion, because it takes longer to get to the floor.

So far, so good. But the system needed to be improved to recognize what I call mid-positions, such as crouching, bending over, or sitting in a chair -- anything between standing and lying on the floor. Here’s how we do that.

3D Radio Tomographic Imaging

We use the same setup of nodes in two levels, but now we process the data as three dimensional RTI. Meaning, we include data from all the diagonal cross links in the network.

RTI cross links

Now instead of just 2D pixels, we have 3D voxels or volume pixels, of attenuation data. That lets us slice up the volume into as many layers as we want. For example, we can process this as five layers of radio tomographic imaging.

Standing person, 3D images

So let’s look at three vertical poses -- standing, crouching down, and lying down -- with this sort of imaging.

Three positions, 3D

With the RTI images from the top slice to the bottom slice, we can see a clear difference between all three poses.

Now we can even create an image where each layer is represented by a cylinder, with the radius of the cylinders determined by the image intensity of the layer.

Cylinder man

To make it look more like a person, I put a sphere on the top. This is created in Matlab just using the data we get from measuring the received signal strength on all the nodes in the network.

Let's review what we’ve done so far. We’ve designed a sensor — don’t think of the individual nodes any more — we’ve designed a single sensor that uses RF signals to determine a person's location in a room and their vertical position. So now we need a model to detect falling.

Fall Detection Model

We know that at each measurement cycle, the person goes from one vertical pose or state to the next, or remains in a state. That means we can represent this as a Markov chain, in which the future state depends only on the present state but not on the past states.

Markov chain

However, we can’t observe the states directly. They’re hidden from us. All we have is the attenuation data in the form of vectors of image intensity for each layer.

Markov chain hidden

So we employ the hidden Markov model, in which the system being modeled is assumed to be a Markov process. This requires some training data that tells the model what the data looks like for each pose. We also need a transition probability matrix, which tells the model what the probability is for going from each state to any of the other states. Then we use the forward algorithm, which is a way to estimate the most likely state at any time, given some data.

Hidden Markov model

At every measurement cycle, we have a vector of normalized data that goes into the model. We get a probability of the person being in each of the three positions, and take the largest of those as the current position.

All that’s left is to determine how quickly a person transitions from one state to the next. Specifically, from standing up to lying down. If that transition happens within a certain threshold time, we say that a fall has likely happened. Later, I’ll show how we can determine the optimum value for this threshold time.

Now that we have the model and the approximate algorithm, we can look at one of the experiments I did.

Experiment & Results

Experiment setup

I deployed a two-level network of 24 RF sensor nodes around a room in a three-meter by three-meter configuration. The nodes on the lower level were 17 centimeters off the floor and the upper nodes were at 140 centimeters, which is near the upper torso for most adults. The nodes use a Texas Instruments CC2531 system-on-chip with transceivers operating in the 2.4 Gigahertz band.

Node stands

We use a TDMA protocol, where each node takes a turn transmitting a packet containing the received signal strength values received from all the other nodes.
After each transmission cycle, the nodes switch to the next of four channels, to find the channel with the highest average transmission power.

Since each transmission takes about 3.1 milliseconds, for an experiment with 24 nodes and four channels, we get about 3.4 measurements per second — a rate fast enough to capture the motion of falling.

I conducted a series of experiments in which a subject entered the network, then performed various pre-arranged motions, such as sitting, bending over, crouching down, lying down and falling. Altogether, I conducted 54 experiments about forty to fifty seconds in length with two subjects, then processed the data in Matlab and set up the system to indicate the person’s vertical pose and if a fall was detected.

Matlab output

For the most part, the system correctly identified the subject’s pose.

That means it could give false readings in two ways: Either it can fail to detect a fall — a missed detection — or it can claim something was a fall that wasn’t — a false alarm. So correctly identifying a fall depends on the time threshold, delta t, allowed between standing and lying down.

When this delta t is set too low, the system should fail to detect any of the falls, because a person can’t make the transition from standing to lying down that quickly. If delta t is set too high, we’ll get a lot of false alarms, because everything will look like a fall, even a controlled action of lying down.

This chart shows the percentage of error, both for missed detections and for false alarms in experiments where the subject went from standing up to lying or sitting on the floor.

Error chart

On the left, delta t is too low and we get 100% missed detections — the system failed to detect any of the falls. As delta t increases, the error decreases until there are zero missed falls — we detected all the falls. As delta t continues to increase, we start to get false positives, until all motions to the floor are considered falls, and we have 100% false positives for those sets of motions.

What we see is that by adjusting this parameter, it’s possible to get 100% reliability from this system (in this case, between 1.25 and 2.25 seconds).

Admittedly, this was in a small network in an uncluttered room with controlled experiments. However, what I demonstrated was a proof of concept.

We can use a network of RF sensor nodes set up in a two level array, process the data as 3D radio tomographic imaging, use a hidden Markov model to determine a person’s vertical position, track the time between standing and lying down, and thus create a system that can detect falls with remarkable accuracy — which suggests the possibility for using this kind of system in helping to provide care for the elderly.