Static Posture and Dynamic Activity Classification with a Holter-Mounted Accelerometer

A Holter monitor is an ambulatory device for continuous and long-term electrocardiography (ECG) monitoring for various clinical purposes. Information on a patient’s physical activity improves the clinical interpretation of ECG data. In this study, we propose a static posture and dynamic activity classification algorithm with a Holter-mounted accelerometer. This algorithm separates an acceleration signal into static gravity and dynamic activity acceleration. The static gravity is used to calculate a tilt angle, which discriminates static posture intuitively. The dynamic acceleration is also used to classify dynamic activity. The proposed algorithm was implemented and tested in a Holter monitor. Its functional feasibility was shown for six healthy subjects. The Holter to the beltline, beltline


Introduction
A Holter monitor is an ambulatory device for continuous and long-term electrocardiography (ECG) monitoring for various clinical purposes. (1)(2)(3)(4)(5) For appropriate interpretation of Holter data, a patient's handwritten records, i.e., a diary of daily living activities and events, are necessary. However, this manual record keeping is cumbersome and easily missed for some patients. (2) Meanwhile, micro-electromechanical systems (MEMS) sensors, particularly accelerometers, have been used for human motion detection. (2,4,(6)(7)(8)(9) A MEMS-based accelerometer provides advantages such as low cost and small size. The accelerometer senses acceleration, which includes dynamic activity and earth gravity. Usually, these quantities are separated to provide useful information. (4) Activity acceleration can be used to detect the physical activity level. Gravity can be projected onto the sensor axis to provide the tilt angle. The tilt angle corresponds to human posture. (9) It was shown that an accelerometer in a Holter monitor can feasibly improve the interpretation of heart rate response to activity. (2) Particularly, a method was proposed for activity classification and energy expenditure estimation with acceleration data and ECG from a Holter monitor. (4) It defined activity in a well-structured manner, suggested a good idea for detecting activity changes, and proposed a reasonable experimental protocol. However, it treated the acceleration signal itself but did not utilize tilt angles that provide more intuitive information. It also focused on activity changes but not on the activity state itself, and this makes the activity classification algorithm somewhat complicated.
In this study, we propose an algorithm to classify static posture and dynamic activity with a Holter-mounted accelerometer. The acceleration signal is low-pass-filtered to obtain the static gravity term from which a tilt angle is calculated. The static gravity is then subtracted from the acceleration signal to obtain dynamic activity acceleration. The tilt angle and activity acceleration are used to classify static postures and dynamic activities. The proposed algorithm was implemented and tested in a Holter monitor. Its functional feasibility was shown for six healthy subjects. Since there are several alternative body locations where a Holter monitor is attached, these locations are considered in the experimental design.

Holter monitor
The proposed algorithm targeted a Holter monitor (Event Recorder CE-100, Bionet Co., Ltd., Korea). This device has a three-axis ±6 g accelerometer (LIS344ALH, ST Microelectronics, Geneva, Switzerland), an MSP430 series microprocessor (Texas Instruments, USA), and a Bluetooth module. The microprocessor samples the accelerometer signal and sends binary data through the Bluetooth module at 100 Hz.

Activity classification algorithm
The proposed algorithm starts with averaging the raw signal from the accelerometer with a moving window size of 8 cycles, to attenuate any singular data. The static gravity term is separated from the acceleration signal with low-pass filter (a 4th Butterworth filter with a cutoff frequency of 2 Hz). (4) With this static gravity, a tilt angle is calculated using trigonometry.
The activity acceleration, i.e., the dynamic term in the acceleration, is calculated by subtracting the static gravity from the total acceleration. (4) Using Euclidean norms of the tilt angles |θ| and activity accelerations (a x , a y , and a z ), human body activity is classified. The activity is classified into a static state or dynamic state as shown in Fig. 1. The static state is categorized into sitting, lying, and standing postures. The dynamic state includes activities such as walking, running, and fast running. (4) Since activity acceleration is almost zero in the static states, the static states and dynamic states can be distinguished with an activity acceleration threshold. The threshold is reasonably decided on the basis of the smallest activity acceleration in dynamic activities. If the activity acceleration is larger than this threshold (a th_walk ), this state corresponds to walking, running, or fast running, in increasing order of activity level. If the activity acceleration is greater than the a th_walk threshold but less than the a th_run threshold, then the state is detected as walking. In this manner, the other dynamic states, i.e., running and fast running, can be discriminated. (4) If the activity acceleration is less than the a th_walk threshold, this state corresponds to a static state (sitting, lying, or standing). It is clear that the tilt angle is very small in a standing posture and close to 90° in a lying posture. In a preliminary study, the tilt angle in a sitting posture showed some value that was different but not significant from those in the standing posture. In a similar manner to dynamic activities, sitting, lying, and standing postures can be distinguished using thresholds θ th_sit and θ th_lie .
In this study, the proposed algorithm was executed every 10 ms. Since there are rapid transitional changes in the tilt angle and activity acceleration during state changes, the final stage corresponding to the state classification part executes every 0.5 s for the averaged tilt angle and activity acceleration. Moreover, since there could be 1-shot false detection due to a transitional change of the classified state over an extended time, the classified state is confirmed if it remains unchanged for four consecutive times. This means that the proposed algorithm classifies the activity state every 2.0 s.

Experimental protocol
In this experiment, six healthy subjects aged 20-31 (four males and two females) participated. The experimental procedure was explained to the subjects, and they all signed an informed consent declaration before participation. Static and dynamic tests were designed. (4) In the static test, each subject stood for 5 s, sat for 7 s, stood again for  s, sat again for 7 s, and lied down for 7 s. The dynamic test was conducted with the subjects on a treadmill. In the dynamic test, each subject accelerated up to 4 km/h for 5 s, walked for 5 s, accelerated up to 7 km/h for 5 s, ran for 5 s, accelerated up to 10 km/h for 5 s, and ran fast for 5 s. The Holter monitor was attached with an elastic band to the chest, front beltline, and lateral beltline. For each of these three attachment positions, static and dynamic tests were repeated 20 times for each subject.
Raw acceleration signal, calculated tilt angle, activity acceleration, and classified activity state were transmitted to a PC and saved as a file. The saved data were opened and displayed with MATLAB (MATLAB 7.12, Mathworks, USA). Actual activity states were identified subjectively from the data display considering the experimental protocol. The classified activity states were compared with the actual states. Activity for a period of 5 s was counted as one unit in the classification accuracy calculation. Figure 2 shows a portion of the results of a dynamic test. This corresponds to a sequence of standing, walking, running, and fast running, as shown in the third and fourth panes from the top, which correspond to the detected and confirmed states for four consecutive detected states. The states 1, 4, 5, and 6 correspond to standing, walking, running, and fast running activities, respectively. This sequence of states matches with the experimental protocol and this means that the actual activity states can be identified subjectively following the protocol. In this particular case, the 1-shot transitional false classification at about 9 s in the single classification was not seen in the confirmed classification. However, there exists a consistent time delay.  Figure 3 shows a portion of a static test. This corresponds to a sequence of standing, sitting, standing, sitting, and lying postures. The state numbers 1, 2, and 3 correspond to standing, sitting, and lying postures, respectively. The tilt angle range is larger, and the activity acceleration range is smaller than those in the dynamic test.

Results
When the Holter monitor was attached to the chest, nine standing/sitting postures were misclassified as lying posture as shown in Table 1. Two lying postures were confused with standing/sitting posture.
Two walking activities and seven fast running activities were detected wrongly for the front beltline attachment as shown in Table 2. The state numbers of standing/sitting and lying states are smaller for the front and lateral attachments than those in the chest attachment. The reason for this was that a subject skipped those activities.
One lying state and six walking states were detected erroneously with the lateral beltline attachment as shown in Table 3.
The activity state classification accuracy was over 94% for any combination of activity type and attachment location as shown in Table 4. For over half of the cases, the accuracy was 100%.

Conclusions
In this study, an algorithm to classify static posture and dynamic activity with a Holter-mounted accelerometer was presented. The acceleration signal was separated into a static gravity term and a dynamic acceleration term. Tilt angle was calculated from the gravity term using trigonometry and used to detect static posture intuitively. The activity acceleration is used to classify dynamic activity. The proposed algorithm was implemented and tested in a Holter monitor. Its functional feasibility was verified for six healthy subjects. The activity state classification accuracy was over 94% and even showed 100% for over the half cases for any combination of activity type and attachment location.  The classification accuracy for the sitting posture was not sufficiently compared with other static postures, even though it was not detailed in this study. The sitting posture was misclassified as standing posture in several cases. However, this low accuracy seems reasonable since the tilt angle difference between sitting posture and standing posture is very small. This indicates that there is a limitation in discriminating between these two postures only with an accelerometer. This problem could be solved with an additional barometric pressure sensor, even though this was not available in this study. (10,11) A barometric pressure sensor is known to be able to provide an absolute estimation of elevation, which could discriminate the sitting posture from the standing posture.
In future studies, the reason for the relatively low accuracy in some cases needs to be identified. A barometric pressure sensor will be utilized to detect the sitting posture. These are anticipated to help improve the classification accuracy. With a barometric pressure sensor, it will be possible to detect additional activity such as stairway walking, which is an important activity in Holter monitoring application. Also, the activity classification algorithm needs to be integrated with ECG data to improve the clinical interpretation.