Monitoring Physical Activity The invention relates to an arrangement
for enabling the production of a record of a user's physical activity.
The arrangement may enable the production of a record of the user's physical activities, for example, walking, running, cycling etc., in normal daily living using a device measunng acceleration and worn by the user.
io A number of proposals have been made for maintaining physical activity using accelerometers. One such proposal is disclosed in MIT Technical Report, December 2001 entitled uReal Time Motion Classification for Wearable Computing Applications" by R. W. DeVaul and S. Dunn.
is According to a first aspect the invention provides an arrangement for enabling the production of a record of a user's physical activity comprising a user wearable device comprising a number of sensor(s) each comprising an accelerometer and a processor arranged to receive acceleration data from the sensor(s) and to produce a set of numbers representing selected features from the frequency spectrum of the acceleration data, the processor including a memory for storing a plurality of the sets of numbers together with an associated time and data output means for transferring the stored sets of numbers and their associated times to a computer system having an associated data base containing a plurality of sets of numbers each representative of a physical activity, the computer system being arranged to search the database to identify stored sets of numbers similar to each received set of numbers to identify the physical activity represented by the received set of numbers.
By arranging for the processor in the sensors to process the accelerometer data in such a way that it produces a relatively small set of numbers, for example a set of four for each sampling point, from which different physical activities can be identified the amount of memory needed in the sensor can be kept small or the intervals between downloading the stored data into a computer system can be made large. In addition since a large number of sets
S
of numbers can be stored in a computer system, such as a personal computer, many different activities defined by different sets of numbers can be stored for comparison with the number sets produced by the sensors to identify the physical activity associated with that number set. Thus for each activity a plurality of number sets can be stored in the PC memory each derived from a sensor when it is known that a particular physical activity was being carried out.
Thus a tolerance on the numbers within a set for a given physical activity can be established. For example if a number of different number sets are stored that were generated during walking it is more likely that a new number set io generated during walking will match with one of the stored sets. The same will apply for any other physical activity.
The accelerometer and processors may be contained in a single wearable assembly.
This may be advantageous when a person has a plurality of sensors to measure his/her physical activity. Although each accelerometer could be connected to a single processor this would require either a wired connection from the accelerometer to the processor, which is likely to be uncomfortable or inconvenient to wear, or a wireless link, which may have other undesirable repercussions, would be required.
The set of numbers may comprise four numbers. The numbers may represent the total energy, the high frequency energy, the peak energy, and the repetition frequency of peak energy.
This provides a compact set of numbers from which a particular physical activity (or inactivity) can be ascertained by comparison with sets of numbers generated by known activities. This is particularly the case when the same individual generated the sets using known activities but sets generated by other individuals can also be used.
There may be three body worn sensors, in which case the sensors may be worn on a wrist, an ankle, and round the waist. The wrist sensor may store an
S
activity count and a repetitive movement count. The ankle sensor may store an activity count and a repetitive movement count.
These repetitive movement counts enable activities such as walking, cycling, s typing etc. to be identified.
Further sensors sensing alternative characteristics such as temperature or heart rate may be provided.
In a second aspect the invention provides a user wearable device for use in an arrangement according to the first aspect of the invention, the device comprising an accelerometer and a processor arranged to receive acceleration data from the accelerometer and to produce a set of numbers representing selected features from the frequency spectrum of the acceleration data, the is processor including a memory for storing a plurality of the sets of numbers together with an associated time and data output means for transferring the stored sets of numbers and their associated times to a computer system.
The above and other features and advantages of the invention will be more o clearly understood from the following description, by way of examples, of embodiments of the invention with reference to the accompanying drawings, in which: Figure 1 shows in block schematic form a body worn sensor according to the invention for use in apparatus according to the invention, Figure 2 is a flow diagram illustrating the generation of a set of numbers by the sensor of Figure 1, Figure 3 shows in block schematic form a computer system in which the sets of numbers generated by the sensor can be matched with a stored database of sets of numbers, and Figure 4 illustrates the processes carried out by the computer system of Figure 3.
Figure 1 is a block schematic diagram of an embodiment of a wearable sensor.
which comprises an accelerometer 1 connected via an amplifier 2 and a filter 3 to a microcontroller (or microprocessor) 4. The microcontroller 4 receives further inputs from a clock generator 5 and a communications module 6. The microcontroller is also coupled to a battery 7 and a non-volatile memory 8, which may alternatively be integrated with the microcontroller. The sensors may be packaged in a device similar in size to a wrist watch and may be similar to that shown in Figures 1 and 5 of US-A-2004/0077954 but without the ECG io monitor and with the microcontroller programmed as described herein.
The flow diagram of Figure 2 illustrates the operation of the microcontroller 4.
The process starts 20 when monitoring is desired. The first step 21 is to input a first data sample from the accelerometer. The next step 22 is to process the received accelerometer data to generate a set of numbers dependent on frequency characteristics of the data. An optional intermediate step 23 transforms the received accelerometer data into the frequency domain using a Fourier Transform. The generated set of numbers is then stored, step 24, in the non-volatile memory 8 and a decision taken 25 as to whether this is the last data sample to be input to the microcontroller, if not the process loops back to the process 21 and if so the process ends 26. In addition to the generated set of numbers an associated time at which they are stored is also stored so that a real time record of the activity may be produced. This may be derived from the clock generator 5.
An example of such a process operated is as follows: Samples of the accelerometer output were collected at 32Hz and downsampled to 16Hz by averaging pairs of samples. The resulting data was analysed in 64 o sample blocks. The 64 sample blocks were fourier transformed first.
A first output number, which represents the total power, was derived by adding up elements 1. .31 of the frequency array. This excludes the dc element (0),
S
A second output number, which represents the high frequency power, was derived by adding up elements 14..31 of the frequency array.
A third output number, which represents the frequency peak corresponding to the regular movement of walking or similar activity was then identified by a process of: -Overlaying lower frequency data onto twice the frequency. (This was to combine a single stepping rate with the body movement occurring at half that rate.) -Locating the biggest peak.
-Determining the size of the peak.
The size of the peak is the third output number.
A fourth output number is generated by estimating the frequency of the biggest is peaks.
The process of overlaying the lower frequency data onto twice the frequency compnses: For each of the lower frequency indexes (i) from 5 down to 2: powers[2 * j -1) has added to it (0.25 * powers[i]) powers[2 * i] has added to it (0.50 * powers[i]) powers[2 * j + 1] has added to it (0.25 * powers[i]) This effectively takes the lower frequency elements and adds them in at twice that frequency, with a small amount of spreading out since it should occupy twice the width.
The process of locating the biggest peak comprises: For each of the candidate frequency bins (i) from 5 to 12, the size is calculated by: size(iJ = powers(i -1J + powers[i] + powers[i + 11 The biggest peak is the one with the biggest size[i].
This value is recorded as the third number.
S
The process of estimating the frequency of the biggest peaks comprises: estimating the frequency using the value of T in the section above which had the largest peak (i_peak). This frequency is recorded as the fourth number.
s Optionally, the frequency estimate can be fine tuned to sub-sample precision using the neighbouring power values: i_peak = i_peak + (powers[i + 1] -powers(i -1]) / size(iJ io Obviously the final value of i_peak and the other values may be scaled to produce numbers in Hertz or any other units, but that makes no difference to the algorithm or the recognition process.
Another optional improvement is to consider adjacent 64-sample blocks in pairs. Each block can be analysed as above, but only the result of the one from each pair with the lower total power was used. This tends to pick the steady behaviour during movement, discarding an erratic spike of arm movement within a more steady pattern.
Once the sets of numbers have been stored in the memory the sensor unit can be connected to a computer system, such as a personal computer (PC).
Figure 3 shows an embodiment of a suitable computer system. It comprises a processor 30, a suitable data/control entry device 31, for example a keyboard, a memory 32, and an output means 33, for example a video display unit (VDU) or a printer. Also provided is a communications means 34, for example a USB connection or a modem.
The sensors can be connected to the computer system at desired times to enable the sets of numbers together with the associated time to be downloaded onto the computer system. The desired downloading times may be periodic such as daily, weekly, or irregularly on demand. The computer system includes in its memory a plurality of sets of numbers corresponding to the sets generated by the sensors. The sets of numbers in the computer system are classified according to the particular activity that was being carried out when they were generated. That is the computer system memory may be loaded with a set of numbers that were generated when a known activity was being carried out, for example walking, running, cycling etc. Clearly sampling rates and numbers of samples in the blocks are arbitrary and 3 different sampling rates and number of samples in the blocks could be used.
The generation of the sets of numbers as described above produce four numbers for a given period of activity, for example 64 samples (or 2 seconds at a sampling rate of 32 Hz). These represent total energy, high frequency energy, peak energy, and peak energy frequency. Other characteristics could be extracted from the accelerometer data in addition to or instead of one or more of those illustrated. Additionally other sensors could be used, for example temperature sensors or heart monitors and these could provide further data for analysis.
As illustrated in Figure 4 the computer system performs a processing procedure comprising receiving the set of numbers from the sensor (data point) and searching through its large database of example activity recordings for a set of numbers similar to that received. It then repeats that process for a number of adjacent data points and derives an activity from a consideration of the activities identified over the adjacent data points.
As an alternative it is possible to provide multiple sensor units at different locations of the body. These may be packaged in units similar in size to a wrist 23 watch and worn around typically the wrist, ankle, and waist. Each sensor unit contains its own accelerometer, microcontroller and memory.
Each unit logs a set of numbers once per epoch (by default 1 minute). These numbers are: * Activity count: this is a measure of the total movement during the epoch.
This is obtained by sampling the accelerometer data at 32Hz, and summing the absolute value of the acceleration from each sample in the period. Since the accelerometer and amplifier removes the steady (dc) component, this results in a measure of the amount of changing movement.
* Step count this is an estimate of the number of steps (or other repetitive movements) taken by the wearer during the epoch.
This is obtained by counting the number of times the varying acceleration signal crosses the zero-level. This can be refined by discarding steps where the time periods of consecutive steps are not sufficiently similar. I0
In one exemplary system, there is one unit worn on the wrist, one on the waist, and one on the ankle. The latter two both record both of the above measurements. The first records only the activity count.
is These three units record independently, and are downloaded to the same PC for analysis. The PC software then combines the data into a single recording with five numbers per epoch. This is analysed and classified as before.
Obviously other sensors such as our heart monitor could be integrated as additional data channels.
One such heart monitor is the *Actihearthl (Registered Trade Mark) monitor sold by Cambridge Neurotechnology Limited and described in US Patent No. 6,881,191 which is assigned to the present applicant and the contents of which are hereby incorporated by reference.