Permission to make digital/hard copy of part of this work for personal or classroom ... copying is by permission of the ACM, Inc. To copy otherwise, to republish, to ...
Sensor Networks as Video Game Input Devices Anthony Whitehead, Nick Crampton, Kaitlyn Fox, Hannah Johnston Carleton University 1125 Colonel By Dr Ottawa, Ontario, Canada K1S 5B6 +1-613-5200-2600
{awhitehe,ncrampto,kfox,hjohnsto}@connect.carleton.ca ABSTRACT
enhanced version of a decade old concept.
In this work we are motivated by creating a network of sensors that can be used as input devices for video games. Our goal is to create an inexpensive network of off-the-shelf sensors that are used to force proper movement and engagement of the player. Our experience shows that a distributed set of sensors around the body prevents the player from cheating the system by using motion of the device alone to trick the system. In this work we show that a relatively simple sensor network configuration can enforce proper form and ensure that the player is actively participating in the game context.
As players push for more novelty in their gaming experience, issues such as immersion and realistic game play elements will become more and more desirable. It is to this end that we believe there is much fertile ground to be sewn in the area of sensor networks used to monitor and interpret player movements, and emotional feedback as a fundamental part of the game processing loop. Our work has been inspired primarily by the novelty introduced by Nintendo, but also our displeasure with a number of issues quickly found once you start using the system. The first is what we call the lazy-wii phenomenon. Once a player realizes that a quick flick of the wrist will suffice rather than a full and complete tennis swing, the rear-end gravitates back to couch fairly quickly. The second is the issue of lack of form: proper form and technique do not play a significant factor in performing the motions. As well our goal is to create a system of sensors that is also inexpensive and our budget for the entire system should be small. For our basic system with a wire connection to the computer the cost is under $100.00 and this price point could be dramatically reduced in volume. Accelerometers without a USB interface are significantly less expensive and a system could be put together for under 30 dollars. Initial estimates to put a simple wireless network of accelerometers together are about $500.00.
Categories and Subject Descriptors H.5.1 [Multimedia Information Systems] Evaluation & methodology J.m [Computer Applications] Game Technologies
General Terms Algorithms, Performance, Design, Experimentation, Security, Human Factors.
Keywords sensor networks, video games, human computer interaction, accelerometer, entertainment technologies.
Our first sensor network is a collection of accelerometers placed on strategic parts of the body. Our small network includes an accelerometer on each hand, and one on each leg. These four accelerometers give us enough information about the orientation of the limbs to allow significantly advanced pose detection of a subject wearing the sensors. The pose detection can be done fast enough to not affect the processing requirements of games that use it. We are achieving more than 1200 readings and pose classifications per second. We have also created a number of examples in the spirit of games such as Dance Dance Revolution and Guitar Hero. The idea here was to show that these popular games can indeed increase the immersion and reality of their play value by integrating a simple, inexpensive sensor network to be used as an input device.
1. INTRODUCTION Nintendo has once again created a market splash by turning the input system for video games upside-down. Nintendo is benefiting, of course. In April 2007, it outsold the Xbox360 2:1 and the PS3 4:1. Current deployment estimates, as of April 2007, state 5.6 million Xbox360, 2.8 million Nintendo Wii and 1.4 million PS3 (US figures)[13]. The Wii system has changed the standard input system dramatically and players are embracing the ideology whole heartedly. In fact, players are creating their own terminology: wiinjury – a wii related injury, wii-kling – a person who is not playing well, wii-ner – a person who plays too much. All of this supports the premise that game players are indeed looking for novelty in today’s games and not just another graphics
This paper continues by looking at some previous work and explaining some of the capabilities and limitations of accelerometers as input devices. We continue by explaining our method of pose detection followed by a brief explanation of the kinds of games where this type of input would be particularly useful. We follow up with a set of experiments that outline our pose detection capabilities and discuss some shortcomings of the method and possible areas for improvements. Finally we expose our development efforts on our own games using the sensor network as an input device and conclude with future areas of research and development.
Permission to make digital/hard copy of part of this work for personal or classroom use is granted without fee provided that the copies are not made or distributed for profit or commercial advantage, the copyright notice, the title of the publication, and its date of appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. FuturePlay 2007, November 15-17, 2007, Toronto, Canada. Copyright 2007 ACM 978-1-59593-943-2/07/0011...$5.00
38
time period, the change in position is computable. Finally, if the original position is known (or perhaps set to 0) the position (or relative position) at the end of the time period can also be computed.
2. REVIEW OF ACCELEROMETER INPUT SYSTEMS There is much recent interest into the use of accelerometers for various different applications, especially since their inclusion into cellular phones [15]. Although prior work discusses physical activity recognition using acceleration [9,3] or a fusion of acceleration and other data modalities [10], it is unclear how most prior systems will perform under real-world conditions because of their limited development of the application in question. Wearable computer systems have already been prototyped that use acceleration, audio, video, and other sensors to recognize user activity [4]. See [1] for an in-depth summary of other work.
2.1.2 Computing Change in Velocity Upon taking acceleration readings at time ti and time ti+1 applied on the axis. Given Δt is the difference between time ti and time ti+1, the change in velocity (Δv) is given as: Δv=aΔt
(1)
2.1.3 Computing Final Velocity
Given Δv from (1) and an initial velocity (v0), the current velocity is given as:
Although the literature supports the use of acceleration for physical activity recognition, little work has been done to validate the idea under real-world circumstances. Most prior work on activity recognition using acceleration relies on data collected in controlled laboratory settings [2] within the context of wearable computing or having no concrete application in mind.
v=v0+Δv
(2)
2.1.4 Computing Change in Distance
Given v from (2), an initial velocity (v0), and our time slice Δt the distance traveled over the time slice is given as:
Much of the prior art focuses on recognizing a special subset of physical activities trained in a laboratory environment such as motion or gesture. However, [6] examines nine activities which is considered a larger set in the literature. For our game context, we have nine different classes to recognize for even the simplest of games. Interestingly, [6] demonstrated 95.8% recognition rates for data collected in the lab but these success rates dropped to 66.7% for experiments in real world environments. No work directly addresses placement of the accelerometers in order to provide the best data for recognizing activities. Though it has been suggested that for some activities, more sensors improve recognition [14]. Within the context of our application, the recognition rates are fundamentally important to the playability of the game. Without reasonable recognition rates, the game will not be a feasible venture.
Δd
=
(v 0 + v ) Δt 2
(3)
2.1.5 Distance
Given Δd from (3) and an initial distance traveled prior to the time slice the current distance traveled since time 0 is given as: d=d0+Δd
(4)
At the end of these calculations, we have both the final velocity (v) and the final distance (d). This information can be used as the initial values in the next time slice, resulting in a continuous flow of acceleration, velocity, and distance data. It is fundamentally important to note that while in theory we can compute displacement; and by using more accurate discrete integration techniques the error can be reduced, in practice these values are error prone due to noise regardless of the method used to compute them. In practice these calculations provide no tangible information to our application at hand and are not used directly. However, instantaneous velocity and distance calculations can be useful in other game related contexts.
Most of the prior work has typically been conducted with only 12 accelerometers, typically bi-axial, not tri-axial, and worn at different locations on the body, with only a few using more than 2 [2, 7, 11, 14].
2.1 Accelerometer Theory Accelerometers can provide some useful information about the orientation and instantaneous distance, velocity and acceleration information. Whilst in theory, this data would be extremely beneficial in the design of an input system; practically, they suffer from drift and inversion effects which we shall explain next. However, there is still a lot of information that can be taken from an accelerometer such as rotation, orientation and force feedback. Force feedback can be used by directly taking the acceleration or velocity readings and using those readings to indicated some level of force applied to the move. For example, in a tennis game setting, high acceleration readings would indicate a smash while low acceleration readings on the swing would indicate a drop shot.
2.2 Drift and Inversion As mentioned earlier, the above computations suffer from drift and inversion. Drift happens when the distance calculations become more and more erroneous as minor errors in the calculations compound. Imagine you have a rounding error each calculation that gets folded into your subsequent computations. Another issue comes from acceleration due to gravity. A slight tilt towards the axis in question will result in constant acceleration readings (due to gravity) and will cause the distance calculations to increase over time, even if the sensor is not moving at all. In order to remove this type of error, we must compute and negate the effects of acceleration due to gravity. However under motion, it is impossible to tell how much of the sensors reading is coming from static rotation vs. dynamic motion. i.e. there are two unknowns, acceleration caused by rotation and acceleration caused by motion, with only a single information source making the problem mathematically underdetermined.
2.1.1 Computing Velocity & Distance (single axis) Given acceleration (a) and a period of time (Δt), it is possible to calculate the change in velocity over the time period. If the original velocity is known, then the velocity at the end of the time period can also be computed. Given the change of velocity and a
39
accurately compute both pitch and roll. Moreover they would have to be mounted in such a way as to ensure they create an orthonormal basis. The use of a tri-axis (X, Y, Z) accelerometer in our application provides the Z-axis that functions with the rotated axes to sense the inversion of the accelerometer, thus permitting a full, unrestricted range of rotation. However it should be noted that the range of motion for a human being prevents most body parts from having a 360 degree range, but they are sufficiently large that mounted sensors can become inverted.
Another important issue comes from what we call the inversion problem. As the sensor slows down abruptly, the sensor will read deceleration (or negative acceleration) and compute negative distance values even though the sensor is still moving forward, but slowing down.
2.3 Rotation: Pitch, Roll and Yaw The acceleration data can also be used to find how much rotation the sensor is under. This is possible because the acceleration due to gravity is constantly being read by the sensor with 1g of acceleration. If the sensor is placed on a flat surface (parallel to the earths surface) and is completely motionless, all of that acceleration will be read from the Z-axis. The acceleration on the X and Y axes will be zero, disregarding noise. When the sensor is rotated on its side ninety degrees, the axis that is now pointing toward the earth will read 1g and the Z-axis will read 0, again disregarding noise. Getting the angle from the readings on an axis can be done two different ways. The simplest way, although it is not very exact, is to multiply the acceleration on the axis by 90. For a much more exact value, take the inverse sine of the acceleration readings. Rotation = asin(acceleration)
2.5 Tri-Axis Rotation Sensing When using a tri-axis accelerometer the Z-axis can be combined with both of the rotating axes to improve rotation computation precision. We use the following pitch and roll assignments and axes orientation described in Figure 1. Basic rotation angles (°) can be generated from the accelerometer readings and equation 5 since the X- and Y-axes follow the sine function. However rotation around the Z-axis follows the cosine function and is computed by: RotationZ = acos(acceleration)
(5)
(6)
This allows rotation angles greater than 45° to be sensed accurately. Both pitch (ø) and roll (ρ) can be sensed simultaneously using the readings of all three axes: X,Y and Z
2.4 Dual-Axis Rotation Sensing Presently dual-axis (X, Y) accelerometers are often used in rotation-sensing applications where the force of gravity is used as an input to determine the orientation of an object. The sensor is most responsive to changes in rotation when the sensing axis is perpendicular to the force of gravity. The sensor is least responsive to changes in rotation when the sensitive axis is such that a single axis is reading +1g or –1g (i.e. 90 degrees rotation). A dual-axis (X,Y) accelerometer prevents accurate sensing beyond 45° along either axis. Also, the absence of a Z-axis sensor means the accelerometer cannot detect an inversion, potentially causing improper computations.
⎡ X ø = arctan ⎢ 2 ⎢⎣ Y + Z 2
⎤ ⎥ ⎥⎦
(7)
⎡
⎤ ⎥ ⎥⎦
(8)
ρ = arctan ⎢ ⎢⎣
Y X
2
+Z
2
There is still an additional way to improve rotation sense precision. When the X-axis rotation is approximately 90°, the same X-axis sensor output voltage can represent two different angles. The Z-axis can be combined with the other axes to maintain constant sensitivity through all 360° of rotation. Sign of the Z axis reading is also important because rotations of 45° and 135° are represented by the same sensor output. This ambiguity can be resolved by monitoring the sign of the Z-axis readings. In this case, when the accelerometer is rotated around the X axis (pitch) at 45°, the Z-axis output is a positive value. When the accelerometer is rotated to 135°, the Z-axis output is a negative value. The sign of the Y-axis readings and the Z-axis readings will indicate in which quadrant the accelerometer is being rotated into. Acceleration Values
Figure 1: Axes, Pitch, Roll and Yaw Assignments for tri-axis accelerometer.
Quadrant
Y accel.
Z accel.
1
-’ve
+’ve
2
-’ve
-‘ve
3
+‘ve
-‘ve
4
+‘ve
+’ve
Table 1: Acceleration Values through Quadrants for rotation around the X axis (Pitch).
These problems can be addressed by mounting the accelerometer vertically, thereby creating an X, Z sensor. However in this case we would require an additional dual axis accelerometer to
40
achieve and the types of games that would benefit from our input system.
In practice these calculations give very accurate results and are independent of any previous readings or calculation i.e. they are not dynamic. As a result, they do not suffer from drift or inversion.
3.1.1 Pose Detection Our sensor network is comprised solely of tri-axis accelerometers attached to the body. Affectionally called the Wii-suit, four USBbased accelerometers are attached to the arms and legs via capsules and strapping we call motion-bands, are connected to a small hub that is then fed to the computer via a USB cable or optionally a wireless USB hub. As well we have another tri-axis device that has two buttons integrated that we have placed into a hand held device shown in Figure 2.
Equations 7 and 8 allow us to determine accurately a rotation between 0 and 90 degrees. Consequently we can compute the precise rotation and a range of motion of 360 degrees. Table 1 and Table 2 shows the expected signs for each output in each quadrant for pitch and roll. Acceleration Values Quadrant
X accel.
Z accel.
1
+’ve
+’ve
2
+’ve
-‘ve
3
-‘ve
-‘ve
4
-‘ve
+’ve
We use the rotation sensing capabilities of the acclerometers and their placements in order to determine poses that the player recreates. We have taken the pose recognition system and successfully created a number of dancing oriented games that has the user recreate the dance position in time with the music. Our pose recognition system is based on a training phase followed by a recognition phase (game playing). We have examined a number of difference metrics as part of a nearest mean classifier [5] inlcuding taxi-cab distance [8], Mahalanobis distance [12], and the common Euclidean distance.
Table 2: Acceleration Values through Quadrants for rotation around the Y axis (Roll).
2.6 Computing Yaw Yaw is not directly computable from a single accelerometer. Recall that pitch causes a change in readings in the Y axis accelerometer due to gravity. The same is true for roll and the X axis. However, yaw is the rotation around the Z axis that does not change any orthogonal axis reading on the sensor. However given two accelerometers that are in a planar configuration located distance d1 and d2 (d2 > d1 ) from the centre of rotation and parallel to the earths surface we can compute the angular rate (ω) and therefore the yaw.
ω=−
Y 2 −Y1 d2
(9)
The angular rate divided by the time slice gives us our rotation around the Z-axis. However it should be noted that the configuration of the two accelerometers is very difficult to achieve in an unconstrained environment. Our studies have shown that any configuration that is not perfectly parallel to the earth’s surface suffers from the effects of acceleration readings due to gravity and results in an underdetermined mathematical system similar to drift mentioned above.
3. Sensor uses in games Overall, there is a lot of information we can collect from a very small sensor network of two accelerometers (Yaw, Pitch, Roll, Distance, Velocity and Accleration). However, the reliability of the readings in an unconstrained motion environment makes for some challenging decisions as to how to decipher the inputs from multiple accelerometers and use them as input to the video game. Fortunately, complete accuracy is not necessary in the gaming context, and instantaneous readings of distance, velocity and yaw can also prove useful. For a combat game like martial arts, the damage that a blow causes can be directly a result of the instantaneous velocity of the accelerometer attached to the hands or feet. Our use of the data is just a start into examining how we can use a collection of sensors. We have decided to examine the reliable readings first to determine the types of input we can
Figure 2: Top: Hand held form with two buttons and a tri-axis accelerometer. Bottom: Capsules holding accelerometer chipset
3.1.2 Training The training phase consists of a number of trials where the subject will enter the pose, hold for a short period of time while serveral hundred to several thousand readings will be taken, then break the pose. Repeating for K trials. Once the K trials are complete, we treat the readings as points in n-dimensional space and compute the centroid of the volume created by all of the sample points. The centroid represents the average position of the the sensors for all K trials. We subsequently compute the variance and the standard deviation of the data set. The data is then stored for subsequent use in the game(s).
41
If the covariance matrix is the identity matrix, the Mahalanobis distance reduces to the Euclidean distance. If the covariance matrix is diagonal, then the resulting distance measure is called the normalized Euclidean distance:
During the game creation process the number (C) and types of poses are specified for training. Typically these are relatively small data sets. The poses are trained and stored for subsequent use in the game in question. The game, as part of its intialization process will load all of the statistics from the training and is ready for the recognition task.
→ →
n
d ( p, q )
3.1.3 Recognition
(13)
σi 2
i =1
We use a minimum mean distance rule classifier as our recognition system. It characterizes each category by mean and standard deviations of the components of its training feature vectors. The distance between an unknown sample M (input move) and the mean of the features of class m (trained pose), d(M , m) , is then computed. The unknown sample is then assigned to class m* (recognized as move m*) for which such distance d(M , m) is minimum. Formally: m* = Min d(M, mi) { i = 1,2 . . C}
∑
( pi − qi ) 2
where σi is the standard deviation of the xi over the sample set. The Mahalanobis distance is simply the distance of the test point from the center of mass divided by the width of the ellipsoid in the direction of the test point.
4. Experimental Results We have conducted a number of experiments to test the recognition rates of our classifier. The first set of experiments test to see how well a person can play against their own training data vs. another person’s training data. This experiment has significant impact on the practicality of the system. In this context, the user was given a pose to get into and a set amount of time to get into the pose. Once the pose was called for, the system checked continuously for the pose for the prescribed amount of time, typically less than a few seconds. As Figure 4 shows, with self training data the recognition rate is always 100 percent. This means that within the context of these experiments, the users were always able to duplicate the poses that they trained. This is fundamentally interesting because it allows the game developer to ensure that the game is playable by everyone, regardless of physical limitations. The game developer only needs to incorporate a training phase (which is common among most games already) into their game.
(10)
and d(M, mi) is one of the distance metrics discussed next and compared in graphical form in Figure 3.
Figure 3: Contours of constant distances for Euclidean, Manhatten and Mahalanobis metrics.
3.1.3.1 TAXICAB (Manhatten) DISTANCE The taxicab distance between two points in a Euclidean space with fixed coordinate system (typically Cartesian) is the sum of the lengths of the projections of the line segment between the points onto the coordinate axes [8] The taxi-cab distance between two points P = (p1,p2,…,pn) and Q=(q1,q2,…qn) is defined as:
n
∑| p − q | i
(`11)
i
i =1
3.1.3.2 EUCLIDEAN DISTANCE The Euclidean distance between two points P = (p1,p2,…,pn) and Q=(q1,q2,…qn), in Euclidean n-space, is defined as:
100 80
n
∑( p − q ) i
2
i
60
(12) 40
i =1
20
3.1.3.3 MAHALANOBIS DISTANCE
0
Mahalanobis distance is a distance measure introduced by P. C. Mahalanobis in 1936 [12]. It is based on correlations between variables by which different patterns can be identified and analysed. It is a useful way of determining similarity of an unknown sample set to a known one. It differs from Euclidean distance in that it takes into account the correlations of the data set and is scale-invariant.
1
2
3
4
5
6
7
8
Pose Self Trained
Other Trained
Figure 4: Recognition rates for self trained data vs training done by a different (single) person over all trials. Poses demonstrated above.
42
the development studio and played by most players out of the box.
The overall recognition rate for all trials and all moves is 73.75% when testing against training data created by a different individual. We believe that the issue with pose 4 having a 0 recognition rate is related to dimensionality of the person doing the training and the person doing the trial. Our training subject was tall, but not all of our test subjects were.
Another factor affect the recognition rates is the allowable distance from the mean that would classify a sample move M into class m. As Figure 7 shows, the recognition rates increase as the threshold of acceptability increases. However, it should be noted that if the distance is allowed to be too large, then the inherent risk of false recognition becomes an issue. Within our application the false recognition has not appeared to be a problem yet, however as poses become more similar in appearance this problem will invariably come up. When using multiple persons training the poses, we expect the recognition rate to improve because we are getting a better sample of different human limitations into the training data. In Figure 8, we show that with multiple people training of the poses, the recognition rates for people inside the training remain at 100 percent, but the recognition rates for those outside the training group go up. However the possibility remains for false classification rate increasing as a result of overlapping distributions or sensor readings. In practice, we did not experience this effect due to the number of sensors being high.
Number of Errors
5 4 3 2 1 0 1 Player 1
2
3
4
Trial Number (Times played)
Player 2
Figure 5: Number of errors on subsequent plays. In Figure 5 however, we see that the error rate drops after the player has more experience playing the game, and most significantly after the first trial. This is an expected side effect of practicing the game and, in fact, should be expected and desirable from a game design point of view and it further indicated in Figure 6 above where there is a general trend for better success as the number of plays increases.
Recognition Rate
100.00% 90.00% 80.00% 70.00% 60.00% 50.00%
0.3
0.45
0.525
0.6
Distance (Normalized)
Figure 7: Graph of recognition rates against distance values used to classify a sample M as part of class m.
100 80 60 40 20
Figure 6: Trendlines for learning curves of 7 different subjects.
0
If we remove the first trial because test subjects typically didn’t understand the process or the poses well, and ignore pose 4 which constantly gave us 0 recognition rate; the recognition rates increase dramatically. The overall recognition rate for all trials and all moves under this configuration is 91.07% when testing against training data created by a different individual. These recognition rates are suitable to allow the game to be trained in
1 2 3 4 5 6 vs. Self Training Pose vs. Group Training
7
8
Figure 8: Recognition rates for self trained data vs training done by a group of people over all trials.
43
related, tai-chi and yoga training, as well as less game related applications such as physiotherapy and training modules.
The overall recognition rate for all trials and all moves is 97.5% when testing against training data created by an individual. i.e. the training data creator is also the recognition trial. As well we have shown that with sufficient practice, players can become better (or learn) the required poses. Clearly different players will learn at different rates, but within 15 trials most players are able to bring their recognition rates up by more than 30%. These recognition rates are suitable to allow the game to be trained in the development studio by multiple people and subsequently played by most players without the need for a training phase being built into the game. Finally, it is worth noting that certain poses may be extremely difficult for some players to reach or maintain creating a level of frustration for the player. An interesting consequence of this development is that of real-time adaptive thresholding algorithms would be useful to help remove frustration points, yet also keep the game challenging. This, in our opinion would be preferable over a self training scheme.
Figure 10: Screen shot of RoboPaint dancing game created to use recognition system dancing to YMCA. Due to the limited number of moves in a game, relative to other larger data sets such as DNA sequences, it would appear that classical methods of classification such as our nearest mean distance classifier will perform well enough to meet the computational demands of video games. We have shown that pose classification of an accelerometer sensor network to be a feasible technology in the creation of games. In theory smaller networks could be created using currently available controllers such as the Wii-mote and Sony’s six-axis controllers. For example, a very simple network can be created using two Wiimotes, one in each hand.
4.1 Pose Based Gaming We have several created games to use the sensor network, but our focus for this work is posed based games. Posemania, our game that allows you to dance to music requires the player be in the proper pose as the right time. The poses scroll up the screen and the player must duplicate the pose as they reach the top, in a similar fashion to Dance Dance Revolution (DDR).
Our future work includes a number of areas for exploration including dynamic gesture (punch) recognition combined with proper form enforcement as well as examinations into better training and classification techniques. Furthermore, we ware looking to expand into more complex poses and determine whether or not there exists an upper limit to the number of sensors in the network. As well, we are looking to branch off into nonhomogeneous sensor networks.
6. REFERENCES Figure 9: Screen shot of Posemania dancing game created to use recognition system. A second game developed, also in the spirit of DDR, is robo-paint where the player needs to match the dance of the animated robot. As poses are correctly matched the robot’s body gets painted and the game continues until the entire robot has been successfully recoloured.
5. CONCLUSION AND DISCUSSION In this work we have shown that pose detection is a possible input source with a relatively inexpensive sensor network that is comprised solely of accelerometers. A nearest mean classifier using Mahalanobis distance has shown to perform the best for recognizing poses from our network or sensor data. We have created a number of pose based games and can foresee that this type of input network would be useful in games that are dance
[1]
L. Bao. Physical Activity Recognition from Acceleration Data under Semi-Naturalistic Conditions. M.Eng. Thesis, Massachusetts Institute of Technology, 2003.
[2]
L. Bao and S. Intille, Activity Recognition from UserAnnotated Acceleration Data. In PERVASIVE 2004, LNCS 3001, pp. 1–17, 2004.
[3]
J.B. Bussmann, W.L. Martens, J.H. Tulen, F.C. Schasfoort, H.J. van den Berg-Emons, and H.J. Stam. Measuring daily behavior using ambulatory accelerometry: the Activity Monitor. Behavior Research Methods, Instruments, & Computers, 33(3):349–56, 2001.
[4] B.P. Clarkson. Life Patterns: Structure from Wearable Sensors. Ph.D. Thesis, Massachusetts Institute of Technology, 2002. [5] Richard O. Duda,. Peter E. Hart.. Pattern Classification. by Wiley Interscience. (1973) [6] 6. F. Foerster, M. Smeja, and J. Fahrenberg. Detection of posture and motion by accelerometry: a validation in
44
[11] J. Mantyjarvi, J. Himberg, and T. Seppanen. Recognizing human motion with multiple acceleration sensors. In Proceedings of the IEEE International Conference on Systems, Man, and Cybernetics, pages 747–52. IEEE Press, 2001.
ambulatory monitoring. Computers in Human Behavior, 15:571–583, 1999. [7]
N. Kern, B. Schiele, and A. Schmidt. Multi-sensor activity context detection for wearable computing. In European Symposium on Ambient Intelligence (EUSAI). 2003.
[12] P.C. Mahalanobis, On the generalised distance in statistics, Proceedings of the National Institute of Science of India 12 (1936) 49-55.
[8] Eugene F. Krause. Taxicab Geometry. Dover. 1987. [9] S.-W. Lee and K. Mase. Activity and location recognition using wearable sensors. IEEE Pervasive Computing, 1(3):24–32, 2002.
[13] NPD Group Market Research, Port Washington, N.Y. 2007 [14] K. Van Laerhoven, A. Schmidt, and H.-W. Gellersen. Multisensor context aware clothing. In Proceedings of the 6th IEEE International Symposium on Wearable Computers, pages 49–56. IEEE Press, 2002.
[10] P. Lukowicz, H. Junker, M. Stager, T.V. Buren, and G. Troster. WearNET: a distributed multi-sensor system for context aware wearables. In G. Borriello and L.E. Holmquist, editors, Proceedings of UbiComp 2002: Ubiquitous Computing, volume LNCS 2498, pages 361–70. Springer-Verlag, Berlin Heidelberg, 2002.
[15] Kenichi Yamazaki and Toshiki Iso. Gait Analyzer based on a Cell Phone with a Single Three axis Accelerometer, Proceedings of MobileHCI, pages 141-144, ACM, 2006
45