UBICOMP '14 ADJUNCT, SEPTEMBER 13 - 17, 2014, SEATTLE, WA, USA

Cost-Sensitive Feature Selection for
On-Body Sensor Localization
Ramyar Saeedi

Abstract

School of Electrical Engineering and Computer Science

Activity recognition systems have demonstrated
potential in a broad range of applications. A crucial
aspect of creating large scale human activity sensing
corpus is to develop algorithms that perform activity
recognition in a way that users are not limited to wear
sensors on predefined locations on the body. Therefore,
effective on-body sensor localization algorithms areneeded to detect the location of wearable sensors
automatically and in real-time. However, power
optimization is a major concern in the design of thesesystems. Frequent need to charge multiple sensor
nodes imposes much burden on the end-users. In thispaper, we propose a novel signal processing approachthat leverages feature selection algorithms to minimize
power consumption of node localization. With the real
data collected using wearable motion sensors, wedemonstrate that the proposed approach achieves anenergy saving that ranges from 88% to 99.59% whileobtaining an accuracy performance between 73.15%
and 99.85%.

Washington State University
Pullman, WA 99163 USA
rsaeedi@eecs.wsu.edu
Brian Schimert
School of Electrical Engineering and Computer Science
Washington State University
Pullman, WA 99163 USA
brian.schimert@wsu.edu
Hassan Ghasemzadeh
School of Electrical Engineering and Computer Science
Washington State University
Pullman, WA 99163 USA
hassan@eecs.wsu.edu

Permission to make digital or hard copies of all or part of this work forpersonal or classroom use is granted without fee provided that copies are
not made or distributed for profit or commercial advantage and that
copies bear this notice and the full citation on the first page. Copyrights
for components of this work owned by others than ACM must be honored.
Abstracting with credit is permitted. To copy otherwise, or republish, topost on servers or to redistribute to lists, requires prior specificpermission and/or a fee. Request permissions from Permissions@acm.org
UbiComp 14, September. 13 - 17, 2014, Seattle, WA, USA
Copyright 2014 ACM 978-1-4503-3047-3/14/09…$15.00.
http://dx.doi.org/10.1145/2638728.2641313

833

Author Keywords
On-body Sensor Localization; Low Power Design; Body
SensorNetworks(BSNs);
MachineLearning;
ClassificationUBICOMP '14 ADJUNCT, SEPTEMBER 13 - 17, 2014, SEATTLE, WA, USA

ACM Classification Keywords
C.3 [Computer Systems Organization]: Special Purpose
andandApplication-Based
Systems—Real-timeembedded systems; J.3 [Computer Applications]: Life
and Medical Science—Health; H.1.2 [Information
Systems]:
ModelsandPrinciples—User/Machine
Systems Human information processing; Human
factors.

Introduction
Current approaches for activity recognition constrain
the user to a set of predefined sensor locations; this
imposes much inconvenience for users as they are notallowed to use sensors on their own desired body
locations [1-3]. For example, while some users may
prefer to have a smartphone in their pocket, others
may prefer to carry the smartphone in a backpack or
purse. Failure to adhere to the predefined protocols(i.e., using sensors on pre-specified body locations)
results in a drastic reduction of the accuracy of physicalactivity monitoring applications. Therefore, newalgorithms and signal processing techniques are needed
to detect the location of the wearable sensors
automatically and in real-time, as they are being usedin activity recognition systems.
On the other hand, power optimization is an inevitable
criterion in wearable systems design. Frequent need tocharge multiple nodes will decrease the desire ofcontinuously using the system. To address this issue,
power optimization should be considered in different
levels of design. Many previous studies show thatsystem level optimization techniques offer significant
performance improvements [3].

834

An important aspect of the low-power system level
design and optimization in wearable sensors is todevelop efficient signal processing and data reduction
algorithms that reduce computation load of theprocessing units, allowing low-cost processors to beembedded with the wearable device. Theoretically, thisconcept can be generalized to optimize signal
processing algorithms for different types of costs suchas costs associated with energy consumption, datacollection, and user preferences. Our goal in this paper
is to propose signal processing algorithms for on-body
localization, while introducing a compromise between
accuracy and power consumption of node localization.
In particular, we aim to minimize sensing andcomputation power, while retaining a given localization
accuracy.
The remainder of this paper is organized as follows. We
first discuss the related work on localization and power
optimization in activity recognition systems. Next,
motivation for automatic node localization is presented.
We then present our approach towards low power onbody localization. Finally our result section discusses
experimental setup and simulation results followed by adiscussion of conclusions and future work.

Related Work
Activity recognition has been addressed using different
types of sensors, but accelerometers and gyroscopes
are the most common sensors; in particular when
detecting complex movements is the goal of activity
recognition [2,5,6]. Therefore, a signal processing
algorithm which uses these sensors is a desirable
choice for on-body localization.

WORKSHOP: HASCA

Despite the tremendous amount of research on activity
recognition, there has been less effort in detecting thelocation of wearable nodes. Major deficiencies ofcurrent on-body sensor localization algorithms include
either lack of sufficient accuracy or need for a priori
knowledge about the activity being performed by theuser.
Authors in [7] presented an algorithm for detecting onbody position of wearable sensors. This paper used aC4.5 classifier to perform localization for four different
locations (wrist, breast pocket, trousers pocket, andright eye). The main problem with this approach is thatthe user must repeat a walking pattern for nodelocalization. In [8], authors presented another method
to perform localization based on daily activity routines.
While this method is not limited to a predefined
activity, a small set of sensors are used in this study.
Also, users need to perform daily activities for a long
period of time for localization.
A recent study in [9] used an unsupervised technique
to discover walking activities. Once walking patterns
are detected, motion signals are analyzed by a SVM
classifier for node localization. This approach also needs
the users to perform a predefined activity pattern.
The approach presented in [10] assumes that theactivity type is known. In real world applications,however, we often face situations that knowledge abouthuman movements does not exist beforehand. In fact,
activity recognition usually is a main goal of utilizing
mobile wearable motion sensors. The study in [11]introduced a method to examine if two portable devices
are carried by the same person.

835

Power optimization is often a main concern in designing
wearable embedded systems. Although, there aredifferent approaches for energy efficient design ofactivity recognition systems, there is no energy efficientdesign for on-body localization.
Ghasemzadeh et. al. proposed an energy efficientsensor coverage for physical movement monitoring.
The proposed solution is capable of eliminating
redundant sensor nodes, while maintaining the activity
recognition accuracy [12].
Authors in [13] proposed a genetic programming-based
feature selection algorithm for activity recognition
systems. The goal is to find a set of discriminative andvariation tolerant features that may reduce the energy
requirements of the wearable sensor system and toenhance the robustness of the activity recognition
solution.
Zappi et. al. [14] presented a gesture recognition
system that minimizes power consumption while
maintaining a run-time application defined performancetarget through dynamic sensor selection. By thistechnique, network lifetime is extended 4 times while
the accuracy remains approximately the same.

Motivation
Accurate activity recognition requires a global view ofthe entire wearable sensor network. The ability of anode to recognize an activity varies depending on thetype of the activity and the location of the sensors. For
example, consider two locations ‘ankle’ and ‘arm’. The
node mounted on the arm could distinguish a ‘sit to
stand’ movement, whereas the ankle sensor might not

UBICOMP '14 ADJUNCT, SEPTEMBER 13 - 17, 2014, SEATTLE, WA, USAprovide useful information to recognize this movement.
Therefore, the location of the on-body sensors provides
useful contextual information useful for activity
recognition. Furthermore, automatically detecting thelocation of the node is important in realization of realworld applications of wearable sensors. This is primarily
due to two reasons: 1) it simplifies the installation ofbody sensor networks and provides a seamless data
gathering and deployment platform; 2) it improves
robustness of the system against potential sensor
displacements, a major problem in obtaining high levelsof accuracy performance in harsh and uncontrolledenvironments.

performance of such algorithms. Motivated by theseneeds, our goal in this paper is to identify signal
processing algorithms that are promising for on-bodysensor localization while attempting to optimize theamount of power consumption of the system byexamining power consumption of sensing andprocessing components.

In a recent work [15], we showed that a wearable
sensor network without automatic sensor localization
may achieve an activity recognition accuracy as low as
33.6%. The node localization algorithm, however, canincrease the accuracy of activity recognition to 98.8%.

Potentially, there are many different features that canbe extracted from human activity signals coming from avarietyofsensors(e.g.
accelerometers,
andgyroscopes).
Statisticalfeatureshave
shown
effectiveness in human activity recognition based on
previous studies [4]. For node localization purposes,
however, it is largely unknown which features are mosteffective. Thus, our goal in this paper is to explore
features that are most effective and power-efficient fornode localization. For this purpose, we extracted an
exhaustive set of features that may be useful for onbody localization.

Furthermore, an important goal in designing wearable
sensors is to optimize power consumption while
preserving an acceptable accuracy performance.
On-body sensor localization without prior knowledge
about the type of activity that is being performed is a
hard problem mainly due to the large number ofpotential body locations that can accommodate awearable sensor and the large amount of activities thatcan be performed. Prior research either assumes thatthe type of activity is known a priori or uses
computationally expensive processing algorithms fornode localization. Furthermore, research in the area of
on-body sensor localization is very new and has not
explored what algorithms are most effective in
detecting sensor locations and what factors affect the836

To the best of our knowledge, finding power-efficientfeatures for node localization has not been investigatedpreviously.

Energy-Aware Sensor Localization

In our feature selection procedure, we consider power
consumption as a criterion while localization accuracy isretained at a minimum level of accuracy. Each sensor
node in our network consists of a 3-axis accelerometerand a 2-axis gyroscope. For each sensor axis, asmentioned before, a set of exhaustive features is
extracted. Therefore, the total number of features isrelatively high for real-time execution on wearable
sensor nodes with limited processing power and energy

WORKSHOP: HASCA

sources. Our feature selection algorithm is designed to1) reduce the number of features to a discriminative set
which results in a system robust to sensor
displacements; 2) significantly decrease sensing andcomputation power dissipation.
FeatureEnergy(nJ)

Description

AMP

16386

Signal Amp(Max - Mean)

Med

405159Median of signal segment

Mean

8126

Mean value of signal segment

Max

8103

Max amplitude of signal segment

Min

8108

Min amplitude of signal segment

P2P

16291

Peak to peak amplitude

VAR

38846

Variance of signal segment

STD

40431

Standard deviation

RMS

29705

Root mean square power

S2E

83

Start to end value

MORPH

45

Morphological features

Table 1. Per-feature energy consumption

To achieve our goal, we try to turn off unnecessary
sensors in each node to decrease the sensing power,
and also use the minimum number of features for eachsensor to decrease the computation power. In the restof this section, a set of terms are defined that are thebasis for our problem formulation.
Our approach in using the motion sensor data for onbody localization is motivated by applications of thesesensors in activity recognition procedures. In thisapproach, on-body sensor localization is considered asa classification problem, where sensor locations
determine class labels. After collecting data withvarious movement types, we extract an exhaustive set

837

of features from the collected acceleration and angularvelocity signals. We then select the most prominent
features in terms of power consumption from the large
set of feature pool, while retaining the localization
accuracy at a minimum level. In the rest of this section,a set of terms is defined. This is the basis for the
problem formulation.
Definition 1. Given a finite set of wearable nodes
N = {n , n , … , n } each with a finite set of
sensors S = {s , s , … , s } , the Minimum-Cost Location
Detection (MCLD) problem is finding a set of features
such that the total sensing and computation energy ofthe features is minimized subject to achieving a given
minimum accuracy of the node localization algorithm.
Definition 2. Given the finite set of sensors
S = {s , s , … , s }, a set of weight={ ,, … , } isdefined based on sensing power consumption. We
assume that the network is homogeneous in the sensethat all nodes have the same types of motion sensors.
From each sensor s , we extract k features { , … , }.
Also, we define weight
for each feature
based oncomputation power.
Definition 3. Given the set of features, ranking of afeature is defined as a function of its power
consumption (computation and sensing) and its
contribution to node localization, measured by a feature
selection algorithm.
Assume thatis a given binary parameter that
encodes the existence of featurein classification, andis a given binary that encodes the existence ofsensor s in data collection:

UBICOMP '14 ADJUNCT, SEPTEMBER 13 - 17, 2014, SEATTLE, WA, USA

,
𝛽 = {
0,

𝑖𝑓 𝑓 𝑖𝑠 𝑐ℎ𝑜𝑠𝑒𝑛
𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒
𝑖𝑓 ∑ 𝛽 > 0

𝛼 = {
0

( )

( )

𝑜𝑡ℎ𝑒𝑟𝑤𝑖𝑠𝑒

Our objective is to minimize function Z given by:

𝑍 = ∑𝛼 𝑤 + ∑∑𝛽 𝑝≥ Λ

INPUT: Activity Data Segments
OUPUT: Power Optimized Set of Features=
1: Generate Exhaustive Set of Statistical Features 𝑓
According to Table 1.
2: Rank remained features based on power
consumption and importance in localization.
3: Add the next highest rank feature to
4: Perform localization using the selected features andkNN classifier.
5: if λ≥ Λ stop, else go to stage 2.

(3)

Subject to:λAlgorithm 1: Greedy Approach to Find Power
Optimized Set of Features(4)

Which λis the localization accuracy, and Λ is theminimum acceptable accuracy for on-body sensor
localization.
A greedy approach is proposed to solve the MCLD
problem. A brief description of the algorithm is asfollows: at each stage, the algorithm selects the feature
with the highest rank; features are ranked based on
the product of computation and the rank of featureusing the ranker algorithm implemented in Weka [16].
Then, the number associated with each feature isnormalized. In each step, the feature with the smallest
number is selected which is the best choice in terms of
power consumption, and importance.

838

In the next step, the kNN classifier is used to classify
and measure the accuracy of the currently selectedfeature set. Also, in each repetition, feature ranking willchange; as we add a feature from a specific sensor, thecost of other features for that sensor is only based oncomputation power. This process continues until the
given accuracy threshold is obtained. This approach isshown in the Algorithm 1.

Experimental Results
We calculated the energy consumption for each feature
based on the power consumption of the MSP430
microcontroller, which is available on the TelosB motes
used in our experiments. The power consumption of thegyroscope used in our experiments is 31.35 mW,
whereas the accelerometer consumes 2.64 mW in
active mode.

WORKSHOP: HASCA

Figure 1. Data collection setting: sensor node andbody locations

We assumed that for each sensor (e.g. theaccelerometer), the power consumption is evenly
distributed among different axes of the sensor. Thus,
the power consumption for each axis of theaccelerometer is 0.88 mW, whereas for the gyroscope
this value is 15.67 mW. In our experiments, theduration of each activity was 2.5 seconds on average.
Therefore, we could infer that the amount of energy
dissipation to sense each data segment is 2.2 mJ and
39.17 mJ for each accelerometer and gyroscope sensor
respectively. The set of features extracted fromindividual sensor streams and the corresponding power
consumption for each feature is shown in Table 1. This
list includes ten statistical features, and tenmorphological features for each data segment.
We used a network of wearable motion sensors withaccelerometer and gyroscope sensors that collect data
through a wireless link on each node’s transmission
unit. We used the sensor node in [1] to collect data inthis paper. Figure 1 shows the body locations on which
the sensor is worn during data collection.

839

Figure 2. Experimental movements

A survey study in [17] reports that the number of
sensor nodes used for activity recognition may varyfrom a single node to 19 sensor nodes resulting in an
accuracy that ranges from 79% to 98%. In this paper,
we decided to use seven sensor nodes located on
different body segments. Through our prior research,
we have found that this setting provides reasonably
high classification accuracy for activity recognition.
The data collection was performed for a variety of
movements. The reason that we used different types of
movements is to create a reasonable dataset to train aclassifier for localization purposes. Therefore, on-body
localization could be performed without knowledge
about activity types in testing mode. The data collectionUBICOMP '14 ADJUNCT, SEPTEMBER 13 - 17, 2014, SEATTLE, WA, USA

was performed with 14 different types of transitional
movements that mimic typical daily activities. The listof these transitional movements is shown in Figure 2.
Unlike previous research, our localization algorithm
does not need to know the activity performed by theuser because the classifier is trained based on different
types of movements.
The feature selection was performed on a PC. The
output of the algorithm, which is a set of poweroptimized features, was used for execution on thesensor node prototype. The localization is executed
prior to activity recognition during the setup time oneach node to determine the location of the node.
Table 2 shows the accuracy of individual nodelocalization using various feature sets that have been
selected by our feature selection algorithm.
Table 3 shows the energy consumption of various
configurations. As it can be observed from this table,
for accuracy thresholds of 70% to 99%, we acquire
total energy savings that range from 99.95% to 88%
compared to the case with the 100 features used in theclassification procedure. Furthermore, we can see thatthe accuracy is higher compared to the case where all
the features are involved in the classification. Also, we
can see that adding more features for classification
beyond a certain point will decrease the localization
accuracy perhaps due to addition of features that are
irrelevant to the classification problem.
When allfeatures (100 features per node) are used for
localization, the overall accuracy of the kNN algorithm
is only 75.4%. The accuracy, however, reaches anaverage of 99.85% resulting in 88% energy savings.

840

Conclusion
In this paper, we presented a signal processing
approach for on-body sensor localization withapplications in activity recognition and monitoring. Our
approach relies on computationally simple classification
algorithms that operate on a small set of low
complexity features extracted from wearable sensor
nodes. The algorithm not only outperforms previous
techniques in terms of power, but also obtains muchless computing complexity and higher accuracy.
An important observation based on the results obtainedin our study is that a limited number of features
extracted from a sensor node can be effectively used todetect the precise location of an on-body sensor. It isalso interesting that these prominent features can beused separately from accelerometer or gyroscope
sensors while obtaining a reasonable level of
localization accuracy. A wearable sensor can potentially
be worn on many different locations on the body. In
this paper, we focused on an experimental setting withseven body locations. In the future, we plan to collectdata from a larger set of wearable sensors and revise
our algorithms accordingly.

WORKSHOP: HASCA#Features

Sensors

Waist

R-Wrist

L-Wrist

R-Arm

L-Thigh

R-AnkleL-Ankle

72.9%

71.2%
89.5%

77.6%

70.6%

66.2%

63.5%

97.1%

79.04%

82.2%

71.5%

10

Acc–Z

90%

13

Acc-X,Y

83.2%

23

Acc-X,Y,Z

96.2%

96.1%

97.6%

99.5%

91.7%

87.1%

89%

2

Gyro-X,Y

98%

99.5%

100%

99%

98%

97.5%

100%

85.1%

5

Gyro-X,Y

99.5%

100%

100%

99.5%

97.6%

100%

100%

10

Gyro-X,Y

100%

100%

100%

100%

99%

100%

100%

15

Gyro-X,Y

99%

100%

100%

100%

98.2%

93.5%

100%

100

All

78.4%

67.9%

70.2%

70.2%

78.1%

75.5%

87.5%

Table 2. The accuracy of individual node localization using various feature sets
Selected
Sensors

Computation
Energy(nJ)Sensing
Energy(mJ)

Total Energy(mJ)

EnergySavingAcc –Z

450

Acc-X,Y

1190

2.2

2.65

99.59%

4.4

5.590

99.14%

1640

6.6

8.24

98.74%

Gyro-X,Y

90

78.34

78.43

88.05%

Gyro-X,Y

225

78.34

78.56588.03%

10

Gyro-X,Y

450

78.34

78.79

88%

98.67%

15

Gyro-X,Y

675

78.34

79.015

87%

75.4%

100

All Sensors

57168884.94

656.6280%Accuracy#Features

73.15%

10

83.92%

13

93.89%

23

Acc-X,Y,Z

98.85%

2

99.51%

599.85%

Table 3. The energy consumption of various configurations

References
[1]

[2]

[3]

H. Ghasemzadeh, V. Loseu, and R. Jafari,“Structural action recognition in body sensor
networks: distributed classification based on string
matching.,” IEEE Trans. Inf. Technol. Biomed., vol.
14, no. 2, pp. 425–35, Mar. 2010.
A. Bulling, U. Blanke, and B. Schiele, “A tutorial on
human activity recognition using body-worn inertial

841

[4]

sensors,” ACM Comput. Surv., vol. 46, no. 3, pp.
1–34, 2014.
L. Benini and G. de Micheli, “System-level power
optimization: techniques and tools,” ACM Trans.
Des. Autom. Electron. Syst., vol. 5, no. 2, pp. 115–
192, Apr. 2000.
D. Olguın and A. Pentland, “Human activity
recognition: Accuracy across common locations for
wearable sensors,” 10th IEEE International
Symposium on Wearable Computers, 2006, pp. 5–
7.

UBICOMP '14 ADJUNCT, SEPTEMBER 13 - 17, 2014, SEATTLE, WA, USA

[5]

[6]

[7]

[8]

[9]

[10]

[11]

P. Zappi, C. Lombriser, and T. Stiefmeier, “Activity
recognition from on-body sensors: accuracy-power
trade-off by dynamic sensor selection,” Wirel.
Sens. Networks, Lect. Notes Comput. Sci., pp. 17–
33, 2008.
H. Ghasemzadeh, P. Panuccio, S. Member, and S.
Trovato, “Power-Aware Activity Monitoring inDistributed Wearable Embedded Systems : A
Boosting Approach for Sensor Selection.”
K. Kunze, P. Lukowicz, H. Junker, and G. Tröster,“Where am i: Recognizing on-body positions ofwearablesensors,”
LocationandContext
Awareness, Lecture Notes in Computer Science,
Springer, 2005, pp. 264–275.
K. Kunze and P. Lukowicz, “Using acceleration
signatures from everyday activities for on-bodydevice location,” 11th IEEE Int. Symp. Wearable
Comput., pp. 1–2, Oct. 2007.
A. Vahdatpour, N. Amini, and M. Sarrafzadeh, “Onbody device localization for health and medical
monitoring applications,” IEEE Int. Conf. Pervasive
Comput. Commun., pp. 37–44, Mar. 2011.
W. Xu, M. Zhang, A. A. Sawchuk, and M.
Sarrafzadeh, “Co-recognition of Human Activity
and Sensor Location via Compressed Sensing in
Wearable
Body
SensorNetworks,”
NinthInternational
Conferenceon
WearableandImplantable Body Sensor Networks, 2012, pp.
124–129.
G. B. Jonathan Lester, Blake Hannaford, “Are You
with Me?” – using accelerometers to determine if

842

[12]

[13]

[14]

[15]

[16]
[17]

two devices are carried by the same person,”
Second International Conference on Pervasive
Computing, 2004, pp. 21–23.
H. Ghasemzadeh, E. Guenterberg, and R. Jafari,“Energy-efficient information-driven coverage forphysical movement monitoring in body sensor
networks,” IEEE J. Sel. Areas Commun., vol. 27,
no. 1, pp. 58–69, 2009.
K. Forster and P. Brem, “Evolving discriminative
features robust to sensor displacement for activity
recognition in body area sensor networks,” Int.
Conf. Intellegent Sensors, Sens. Networks Inf.
Process., pp. 43–48, 2009.
P. Zappi, D. Roggen, E. Farella, G. Tröster, and L.
Benini, “Network-Level Power-Performance TradeOff in Wearable Activity Recognition,” ACM Trans.
Embed. Comput. Syst., vol. 11, no. 3, pp. 1–30,
Sep. 2012.
R. Saeedi, J. Purath, K. Venkatasubramanian, and
H. Ghasemzadeh, “Toward Seamless Wearable
Sensing : Automatic On-Body Sensor Localization
for Physical Activity Monitoring,” 36th Annual
International Conference of the IEEE Engineering in
Medicine and Biology Society (EMBC), 2014.
M. A. Hall, “Correlation-based Feature Selection for
Machine Learning,” 1999.
H. Ghasemzadeh, “Wireless Medical-Embedded
Systems:
A
Reviewof
Signal-Processing
Techniques for Classification,” IEEE Sens. J., vol.
13, no. 2, pp. 423–437, 2013.