Algorithm 1:Recognition in Arm Level celerometer,gyroscope and gravity sensor in the data segment Input:Data of three axises of gravity sensor and linear then take advantage of trained SVM model to predict the acceleromter current state Output:Arm state Recognition among Three Levels:We use an activity 1 Calculate the absolute data of all three axises of gravity state machine to help us do the activity recognition which sensor is shown in Figure 3.All the eight actions are eight states and 2 Get the axis position set A;where absolute data is the arrows show the relationship among the actions.The eight maximum among every three samples states belong to three levels,which are body,arm and wrist. 3 Get the original gravity data set Gi according to axis In each level,any two of the states can transform mutually. position set Ai,get the linear accelerometer data set LA;according to axis position set Ai However,the states in body level only can transform to arm 4 Multiply the corresponding data in set Gi and LA;and lifting up state.And only arm laying down state can transform store the sign of the result in set S to the state in body level.The connection of arm and wrist level s Voting the result in the first half of set Si and store the is similar.Based on the relationship,we divided all these states sign result as Sign,voting the result in the second into two sets (set A and B)shown in Figure 3.What's more, half and store the sign result as Sign2 once we press the button to take the picture,we calibrate the 6 if Sign is positive and Sign2 is negative then state if there's somthing wrong.Making use of the relationship 7 return Lifting arm up and the calibration,we do activity recognition as shown in Algorithm 2 s if Sign is negative and Sign2 is positive then return Laying arm down Algorithm 2:Recognition among Three Levels Input:Array A,which stores eight states Output:Current state Cs 1 Search A;and get the last state l 2 Recognize in arm level and assign the result to Arms 3 if Arms is in arm level then 4 Cs is assigned to Arms s else a 6 x-axis if the button of shotting is pressed then (a)Data of Three Actions Shown in (b)Data of Fine-tuning and Shooting C.is assigned to shooting X-Y Shown in X-Y-Z else if ls is in Set A then Fig.11.Data of Linear Accelerometer of Three Actions in Wrist Level 10 Recognize in body level and Cs is assigned to the result of recognition in body level else characteristics of linear accelerometer,gyroscope and gravity Recognize in wrist level and Cs is assigned sensor into account.Linear accelerometer can detect the abso to the result of recognition in wrist level lute motion.Gyroscope is sensitive to the rotation of phone Gravity sensor shows holding gesture.Therefore,using all 13 Update Ai these sensors'data to classify the actions can achieve good 14 return Cs effect.The motions and movement range of these actions are different.Therefore,we extract the variance,mean,maximum, minimum of three axises as features and use linear kernel to train a SVM model to classify three actions.We also try to train B.Energy-saving Scheme the SVM model with other six combinations of sensors and Based on the state obtained from activity sensing module three different kernels shown in Figure 12.And the accuracy and the feature of different action,an adaptive energy-saving of using three sensors with linear kernel is highest. scheme is proposed. 1)Energy Saving Points:Based on the analysis in section II-A,we have known the camera and screen are two energy- 0.8 hungry parts. Observation of Camera.To camera,the resolution of the photo and frame rate of preview are possible impact factors of energy consumption.However,high or low resolution has less 0 effect to energy consumption shown in Fig.13. RBF SVM Poly SVi Before shooting,the camera is in preview mode.The frame rate of preview has relationship with energy consumption Fig.12.Accuracies of Different SVM Models shown in Figures 14(a).We conduct the experiments with Samsung phone(GT-19250).The x-labels represent the ranges Recognition in Wrist Level.We first calculate the variance, of frame rate in preview mode.We discover that when the mean,maximum,minimum of all three axises of linear ac- range is 15-15,the energy consumption is minimum.BecauseAlgorithm 1: Recognition in Arm Level Input: Data of three axises of gravity sensor and linear acceleromter Output: Arm state 1 Calculate the absolute data of all three axises of gravity sensor 2 Get the axis position set Ai where absolute data is maximum among every three samples 3 Get the original gravity data set Gi according to axis position set Ai , get the linear accelerometer data set LAi according to axis position set Ai 4 Multiply the corresponding data in set Gi and LAi and store the sign of the result in set Si 5 Voting the result in the first half of set Si and store the sign result as Sign1, voting the result in the second half and store the sign result as Sign2 6 if Sign1 is positive and Sign2 is negative then 7 return Lifting arm up 8 if Sign1 is negative and Sign2 is positive then 9 return Laying arm down x-axis -2 -1.5 -1 -0.5 0 0.5 1 y-axis -2.5 -2 -1.5 -1 -0.5 0 0.5 1 fine-tuning shooting phone rotating plane (a) Data of Three Actions Shown in X-Y (b) Data of Fine-tuning and Shooting Shown in X-Y-Z Fig. 11. Data of Linear Accelerometer of Three Actions in Wrist Level characteristics of linear accelerometer, gyroscope and gravity sensor into account. Linear accelerometer can detect the absolute motion. Gyroscope is sensitive to the rotation of phone. Gravity sensor shows holding gesture. Therefore, using all these sensors’ data to classify the actions can achieve good effect. The motions and movement range of these actions are different. Therefore, we extract the variance, mean, maximum, minimum of three axises as features and use linear kernel to train a SVM model to classify three actions. We also try to train the SVM model with other six combinations of sensors and three different kernels shown in Figure 12. And the accuracy of using three sensors with linear kernel is highest. Linear SVM RBF SVM Poly SVM Accuray 0 0.2 0.4 0.6 0.8 1 Linear Accelerometer Gyroscope Gravity Linear Acc. + Gravity Linear Acc. + Gyroscope Gravity + Gyroscope Linear Acc + Gravity + Gyroscope Fig. 12. Accuracies of Different SVM Models Recognition in Wrist Level. We first calculate the variance, mean, maximum, minimum of all three axises of linear accelerometer, gyroscope and gravity sensor in the data segment then take advantage of trained SVM model to predict the current state. Recognition among Three Levels: We use an activity state machine to help us do the activity recognition which is shown in Figure 3. All the eight actions are eight states and the arrows show the relationship among the actions. The eight states belong to three levels, which are body, arm and wrist. In each level, any two of the states can transform mutually. However, the states in body level only can transform to arm lifting up state. And only arm laying down state can transform to the state in body level. The connection of arm and wrist level is similar. Based on the relationship, we divided all these states into two sets (set A and B) shown in Figure 3. What’s more, once we press the button to take the picture, we calibrate the state if there’s somthing wrong. Making use of the relationship and the calibration, we do activity recognition as shown in Algorithm 2. Algorithm 2: Recognition among Three Levels Input: Array Ai which stores eight states Output: Current state Cs 1 Search Ai and get the last state ls 2 Recognize in arm level and assign the result to Arms 3 if Arms is in arm level then 4 Cs is assigned to Arms 5 else 6 if the button of shotting is pressed then 7 Cs is assigned to shooting 8 else 9 if ls is in Set A then 10 Recognize in body level and Cs is assigned to the result of recognition in body level 11 else 12 Recognize in wrist level and Cs is assigned to the result of recognition in wrist level 13 Update Ai 14 return Cs B. Energy-saving Scheme Based on the state obtained from activity sensing module and the feature of different action, an adaptive energy-saving scheme is proposed. 1) Energy Saving Points: Based on the analysis in section II-A, we have known the camera and screen are two energyhungry parts. Observation of Camera. To camera, the resolution of the photo and frame rate of preview are possible impact factors of energy consumption. However, high or low resolution has less effect to energy consumption shown in Fig. 13. Before shooting, the camera is in preview mode. The frame rate of preview has relationship with energy consumption shown in Figures 14(a). We conduct the experiments with Samsung phone (GT-I9250). The x-labels represent the ranges of frame rate in preview mode. We discover that when the range is 15-15, the energy consumption is minimum. Because