Algorithms Review » History » Version 16
Mariana Calado, 06/01/2023 19:39
1 | 1 | Mariana Calado | h1. Algorithms Review |
---|---|---|---|
2 | 1 | Mariana Calado | |
3 | 15 | Mariana Calado | h2. Step counter |
4 | 4 | Mariana Calado | |
5 | 15 | Mariana Calado | The main feature of the app is to count steps, this was performed through accelerometer data [1]: |
6 | 1 | Mariana Calado | Acceleration along x - axis |
7 | 1 | Mariana Calado | Acceleration along y - axis |
8 | 1 | Mariana Calado | Acceleration along z – axis |
9 | 1 | Mariana Calado | |
10 | 15 | Mariana Calado | The way to compute steps is by calculating the magnitude of 3-D acceleration data: |
11 | 1 | Mariana Calado | |
12 | 15 | Mariana Calado | *Sqr(acc_x^2 + acc_y^2 + acc_z^2)* |
13 | 1 | Mariana Calado | |
14 | 15 | Mariana Calado | Then get the difference in this magnitude from the previous value. If the value is greater than a particular threshold value, then increment the steps count. |
15 | 1 | Mariana Calado | -Threshold for walking = 17.5 |
16 | 1 | Mariana Calado | |
17 | 1 | Mariana Calado | p=. !{width:500px}walk-1.png! |
18 | 1 | Mariana Calado | |
19 | 15 | Mariana Calado | h2. Status Detection |
20 | 15 | Mariana Calado | |
21 | 15 | Mariana Calado | Another important feature of StepNCount is the ability to distinguish between no movement, walking and running. Given the accuracy of the accelerometer used, we are able to determine the user's activity by comparing 2 sequential values, if their difference exceeds certain pre-determined threshold values, then a transition happened, for example between no movement and walking or running and no movement. This allows for a more interactive UI experience, and also for valuable statistics regarding a user's exercise during the day. Integrating the status detection within the graphs, descriminating between each status, will enhance the complexity and usefulness of the information displayed in the app, and perhaps cater to a more fitness-minded set of users. |
22 | 15 | Mariana Calado | |
23 | 16 | Mariana Calado | p=. !{width:400px}status.png! |
24 | 16 | Mariana Calado | |
25 | 1 | Mariana Calado | h2. Energy Expenditure |
26 | 1 | Mariana Calado | |
27 | 2 | Mariana Calado | "Energy expenditure refers to the amount of energy an individual uses to maintain essential body functions (respiration, circulation, digestion) and as a result of physical activity. Total daily energy expenditure is determined by resting or basal metabolic rate (BMR), food-induced thermogenesis, and energy expended as a result of physical activity[2]." |
28 | 1 | Mariana Calado | |
29 | 1 | Mariana Calado | There are several formulas to calculate a person's energy expenditure, each with a differing level of accuracy and measurement requirements. Our project will focus on the portion of energy expended during physical activity, whether regarding walking, running or even cycling. |
30 | 1 | Mariana Calado | |
31 | 8 | Mariana Calado | In an ideal scenario, either the volume of O2 exhaled or the thermal output of the individual is measured during the physical activity, achieving a highly accurate value of estimated energy expenditure[3]. For our application and for the massively available health monitoring products in the market, this isn't viable, resorting to other metrics such as heart rate, acceleration, body temperature etc. |
32 | 8 | Mariana Calado | Given our use of the VitalJacket technology, we will be relying on the individual's self-inputted biometric data, such as weight, height, age, sex and the data acquired by the heart rate sensor and the accelerometer available with the VitalJacket. |
33 | 1 | Mariana Calado | |
34 | 2 | Mariana Calado | To improve the energy expenditure calculation, and considering heart rate is generally a better metric than acceleration[3], several decisions need to be made, such as: |
35 | 1 | Mariana Calado | |
36 | 8 | Mariana Calado | 1. Given that the difference in heart rate of someone in a resting rate, when compared to low effort, is so insignificant, should we, for values below a certain HR threshold, solely use the accelerometer or use a REE (resting energy expenditure) value as a placeholder? |
37 | 1 | Mariana Calado | 2. Due to the lag between our change in acceleration and the correspondent change in heart rate, should we calculate EE using just the acceleration for these sudden differences in speed? |
38 | 8 | Mariana Calado | 3. If we deem it necessary to offer a TDEE (Total Daily Energy Expenditure) feature in our app, should we consider EPOC[4] (Post-exercise oxygen consumption)? |
39 | 9 | João Samuel Mendo Pousão Gatta | Another relevant metric is the Basal Metabolic Rate or BMR, this value represents the used calories of an individual at rest during 24 hours, it is different from TDEE as the latter includes energy expended through EAT (Exercise Activity Thermogenesis) and NEAT (Non-exercise Activity Thermogenesis). |
40 | 9 | João Samuel Mendo Pousão Gatta | BMR is most commonly calculated using a person’s biometric data, such as its height, weight, age and gender; converting to TDEE is usually done by multiplying BMR by a value between 1 and 2, depending on the individual’s average daily activity level. In common calculators such as the Legion Athletics one [5], these varying activity levels are showcased in discrete but subjective (given that most individuals don’t track their exercise intensively, thus their activity level is estimated not determined) levels of different hours spent exercising. The TDEE value of a particular individual is relevant because it sets the reference point with which to compare the energy expended in a given day. Athletes require caloric intakes upwards of 6000[7] kilocalories in a single day, compared to the average public which is around 2960[8], so a given exercise effectiveness needs to be contextualized given the individual’s TDEE value. |
41 | 9 | João Samuel Mendo Pousão Gatta | With this in mind, designing a fitness app like StepNCount involves a very conscious decision of contextualizing the caloric information or leaving it completely up to the user. Given that we already asked the user for their relevant biometric data we believe it improves the app’s usefulness if we indeed contextualize the caloric information and recommend the user a specific calorie target. Unfortunately since an individual’s daily calories also depend on their food intake, the recommended calorie burn might not be enough or might even be too much. For example, if a person looking to lose weight starts dieting, thus reducing their caloric intake by for example 25% of their TDEE, further caloric reduction via exercise might not be necessary. It’s for this exact reason that most fitness apps simply let the user define their goals, without caring if these goals are actually efficient at bringing about the differences in weight or lean/fat mass ratio the individual desires. In an effort to counteract this tendency StepNCount uses the user’s biometric data to estimate a significant calorie value for the daily goal, recommending it in the app’s goal page. Given the concerns mentioned above, the user is able to change this goal, according to their specific dieting situation and fitness objectives. |
42 | 9 | João Samuel Mendo Pousão Gatta | The aforementioned estimation relies on the Mifflin - St Jeor Equation[9], considered to be the most reliable[10] to calculate BMR, subsequently multiplying this value by a constant of 1.3, thus converting it to the TDEE of an individual with average exercise habits. After obtaining an individual’s TDEE we take 25% of this value, as recommended here[11], and set it as the default calorie goal. |
43 | 8 | Mariana Calado | |
44 | 9 | João Samuel Mendo Pousão Gatta | Given the user’s defined goal, our app’s main function springs into action, using the VitalJacket’s accelerometer data to measure various metrics, including the very important energy expenditure. |
45 | 9 | João Samuel Mendo Pousão Gatta | There are several equations capable of estimating energy expenditure, here are some examples: |
46 | 1 | Mariana Calado | |
47 | 8 | Mariana Calado | The Freedson equation is a commonly used method that uses a combination of accelerometer data and heart rate data to estimate energy expenditure: |
48 | 1 | Mariana Calado | Energy expenditure (kcal/min) = 0.175 x acceleration (g) + 0.029 x heart rate (bpm) - 1.75 |
49 | 8 | Mariana Calado | |
50 | 8 | Mariana Calado | The Troiano equation is another method that uses accelerometer data to estimate energy expenditure, based on the assumption that a person's activity level can be classified into one of four categories (sedentary, low, moderate, or vigorous): |
51 | 9 | João Samuel Mendo Pousão Gatta | Energy expenditure (kcal/day) = (0.1 x acceleration (g) + 2.0) x body mass (kg) x duration (hours/day) |
52 | 9 | João Samuel Mendo Pousão Gatta | |
53 | 9 | João Samuel Mendo Pousão Gatta | And finally, the one we chose to use, the Freedson VM3: |
54 | 1 | Mariana Calado | Kcals/min= 0.001064×VM + 0.087512(BM) - 5.500229 |
55 | 9 | João Samuel Mendo Pousão Gatta | Where, VM = Vector Magnitude = (sqrt(Axis1)^2 + (Axis2)^2 + (Axis3)^2) and |
56 | 1 | Mariana Calado | BM is Body Mass in Kg |
57 | 13 | João Samuel Mendo Pousão Gatta | |
58 | 14 | João Samuel Mendo Pousão Gatta | All of these methods have some error margins and their accuracy will depend on the device, situation, and individual, although, during our testing, the aforementioned Freedson VM3 equation was regularly the more accurate one. |
59 | 13 | João Samuel Mendo Pousão Gatta | |
60 | 13 | João Samuel Mendo Pousão Gatta | |
61 | 12 | Mariana Calado | h2. Walking/Running Distance and Time |
62 | 8 | Mariana Calado | |
63 | 9 | João Samuel Mendo Pousão Gatta | |
64 | 8 | Mariana Calado | References : |
65 | 3 | Mariana Calado | 1 - programmerworld. (2019) How to create walking step counter App using Accelerometer sensor |
66 | 5 | Mariana Calado | and Shared Preference in Android? Available at: [[https://programmerworld.co/android/how-to-create-walking-step-counter-app-using-accelerometer-sensor-and-shared-preference-in-android/]] |
67 | 5 | Mariana Calado | 2 - Heaney, J. (2013). Energy: Expenditure, Intake, Lack of. In: Gellman, M.D., Turner, J.R. (eds) Encyclopedia of Behavioral Medicine. Springer, New York, NY. https://doi.org/10.1007/978-1-4419-1005-9_454 |
68 | 1 | Mariana Calado | 3 - Maughan, Ronald J. (2013). The Encyclopaedia of Sports Medicine (An IOC Medical Commission Publication) || How to Assess the Energy Costs of Exercise and Sport. , 10.1002/9781118692318(), 59–71. doi:10.1002/9781118692318.ch4 |
69 | 1 | Mariana Calado | 4 - https://www.runnersworld.com/training/a22024491/what-is-epoc/ |
70 | 9 | João Samuel Mendo Pousão Gatta | 5 - https://legionathletics.com/tools/tdee-calculator/ |
71 | 9 | João Samuel Mendo Pousão Gatta | 6 - ActiGraph (2018), What is the difference among the Energy Expenditure Algorithms? Available |
72 | 9 | João Samuel Mendo Pousão Gatta | at: https://actigraphcorp.my.site.com/support/s/article/What-is-the-difference-among-theEnergy-Expenditure-Algorithms (Accessed: 7 November 2022). |
73 | 9 | João Samuel Mendo Pousão Gatta | 7 - Economos, C.D., Bortz, S.S. & Nelson, M.E. Nutritional Practices of Elite Athletes. Sports Medicine 16, 381–399 (1993). https://doi.org/10.2165/00007256-199316060-00004 |
74 | 9 | João Samuel Mendo Pousão Gatta | 8 - https://news.un.org/en/story/2022/12/1131637 |
75 | 9 | João Samuel Mendo Pousão Gatta | 9 - Mifflin MD, St Jeor ST, Hill LA, Scott BJ, Daugherty SA, Koh YO. A new predictive equation for resting energy expenditure in healthy individuals. Am J Clin Nutr. 1990 Feb;51(2):241-7. doi: 10.1093/ajcn/51.2.241. PMID: 2305711. |
76 | 9 | João Samuel Mendo Pousão Gatta | 10 - Frankenfield D, Roth-Yousey L, Compher C. Comparison of predictive equations for resting metabolic rate in healthy nonobese and obese adults: a systematic review. J Am Diet Assoc. 2005 May;105(5):775-89. doi: 10.1016/j.jada.2005.02.005. PMID: 15883556. |
77 | 9 | João Samuel Mendo Pousão Gatta | 11 - https://legionathletics.com/tools/tdee-calculator/ |