Habitual Physical Activity Tracking
My self-experimentation is mainly driven by my research, where I try to provide tools and algorithms able to monitor objectively aspects of behavior related to physical activity (activity type, energy expenditure, level of cardiorespiratory fitness), in order to help clinicians understanding links between physical activity and health, as well as motivate behavioural change.
Tools
Hardware: I'm using imec's technology, in particular the ECG Necklace, for my self-monitoring. I record 24/7 my ECG @ 128 Hz and 3-axial acceleration @ 32 Hz per axis. I track location and trainings using my iPhone.
Software: I use MATLAB or R for algorithm development, which I then implement in either Java or Objective-C in case I need a real-time version (on Android, iPhone or PC). I implemented a few scripts that take care of parsing the data stored on SD-cards on the sensor nodes, extract features, run the algorithms, and store the output in a MySQL database. Data visualization is done using Processing.
Software: I use MATLAB or R for algorithm development, which I then implement in either Java or Objective-C in case I need a real-time version (on Android, iPhone or PC). I implemented a few scripts that take care of parsing the data stored on SD-cards on the sensor nodes, extract features, run the algorithms, and store the output in a MySQL database. Data visualization is done using Processing.
Algorithms
Starting from the raw data, I developed activity recognition, energy expenditure estimation and fitness estimation algorithms, which I use to derive meaningful information from the raw data.
Activity Recognition: Currently, I can recognize the following activities: lying down, sitting, standing, transitory-dynamic activities (e.g. household or transitions between sitting and standing), walking, biking and running. Except for sitting and standing, all of the activities are recognized using a chest sensor only (see publications). Additionally, I estimate walking speed and count steps.
Energy Expenditure: I estimate energy expenditure using a methodology I developed, using activity-specific regression equations, and combining physiological and inertial data. Physiological signals are normalized to take into account inter-individual differences in fitness level (details here).
Time usage: I use an iPhone to track location and time spent at work or at home.
Activity Recognition: Currently, I can recognize the following activities: lying down, sitting, standing, transitory-dynamic activities (e.g. household or transitions between sitting and standing), walking, biking and running. Except for sitting and standing, all of the activities are recognized using a chest sensor only (see publications). Additionally, I estimate walking speed and count steps.
Energy Expenditure: I estimate energy expenditure using a methodology I developed, using activity-specific regression equations, and combining physiological and inertial data. Physiological signals are normalized to take into account inter-individual differences in fitness level (details here).
Time usage: I use an iPhone to track location and time spent at work or at home.
Data
Acquired raw acceleration and ecg are processed to derive relevant features. I run the algorithms and obtain one record every four seconds, which is the current time window I use (corresponding to 128 accelerometer samples per axes, and 512 samples of ECG). Each record contains the following information: Timestamp, activity type, energy expenditure using accelerometer data only, energy expenditure combining inertial and physiological data, walking speed, steps, mean heart rate, wearing time. Each record is stored in a MySQL database, together with location and anthropometric characteristics.
Off-line visualization
What follows are two examples of 24 hrs Physical Activity type and Energy Expenditure summaries. Activity type is color-coded, Sitting and Standing activities are grouped into one Sedentary category. Energy Expenditure is shown in kcal/min, therefore not normalized by body weight (more on this here).
Average day:
Average day:
Half marathon day:
Real-time visualization
On the left side the activity type currently detected is shown, together with energy expenditure (derived with an activity-specific model comprising accelerometer data, heart rate and anthropometric characteristics) and anthropometric characteristics of the user. On the right side a summary of the activities performed and energy expenditure since the application was started is shown.
Real-time demo on iPhone
The phone demo works like the real-time Processing software. Activity allocation and energy expenditure can be visualized for each day, and additionally they can be filtered by location (home, work, out or all). The sensor communicates via Bluetooth Low Energy with the phone, and allo the processing is done in iOS (only the heart rate is extracted from the full ECG on the sensor itself). Personalization was also implemented for a demo at Wireless Health 2013. Details here.