Changes between Version 11 and Version 12 of other/summer/2019/fitness-assist


Ignore:
Timestamp:
Aug 6, 2019, 5:15:23 PM (5 years ago)
Author:
JustinEsposito
Comment:

add problem, solution, exercises, libraries and language, modified tools

Legend:

Unmodified
Added
Removed
Modified
  • other/summer/2019/fitness-assist

    v11 v12  
    55People cannot dedicate appropriate time during the day to travel to dedicated exercises places, resulting in a population that either does not exercise, or attempts to exercise at home. Unfortunately, those who work out at home have difficulty analyzing their exercise form, which could result in harmful muscle strain or other personal injury. Personalized trainers, while possibly effective, run a significant cost. Fit-bits cannot measure exercise form, only heart rate and select other things. Smart sensor suites are expensive and have to be attached to a body to be effective, which is uncomfortable, unnatural, and may impede exercise form. Our solution is a device-free personalized fitness assistant that analyzes the channel state information of existing !WiFi infrastructure. Our system detects four common exercises (push-ups, squats, sit-ups/crunches, and curls) and analyzes several factors to assess the workout quality for the user.
    66
     7== Problem in Depth ==
     8
     9As people's lives become sedentary, they are at increased risk for chronic illnesses such as obesity and heart disease. As a result, the desire for maintaining good health has increased. One of the most important and efficient ways of becoming and maintaining good health is through good exercise. However, it is hard for people to dedicate necessary time to perform exercises during the day. Thus, more people are not exercising in dedicated exercise places, and instead exercising at their home or office.
     10
     11There are previous solutions to monitoring exercises at home, but all have drawbacks which leave more to be desired. Personal trainers are beneficial to monitoring exercise form, but have many complications. Trainers can have multiple clients, and thus a schedule that an exerciser might not be able to adhere to on a week-by-week basis. Trainers are also expensive, averaging about $55 for an hour session in 2019. Group fitness training is a little cheaper, at $35 a class, but that is still expensive for some consumers. Fit-bits and smartphones also have exercise monitoring software, such as heart rate monitors and step counters. However, these tools are more useful for endurance exercises. Additionally, these devices cannot measure exercise form, which may lead the user to having an inefficient work out or suffer a personal injury. Recently, smart sensor suites have been developed which can monitor user's exercises. Unfortunately, these suites usually require people to attach sensors to themselves and their exercise equipment, which is uncomfortable, unnatural, and expensive.
     12
     13== Solution in Depth ==
     14
     15Our solution uses the channel state information (CSI) that is embedded in !WiFi signals to determine what exercise a user is performing. !WiFi is the best candidate because it is ubiquitous in a most settings, meaning users would not have to buy dedicated devices for exercise monitoring. Additionally, individual features can be derived from CSI, allowing the detection of different exercises. To extract these features, we implemented a
     16
     17ADD TYPE OF DEEP LEARNING MODEL HERE
     18
     19that searches for repetitive patterns in the CSI data using autocorrelation, which compares a signal to a copy of itself at a different point in time.
     20
    721== Tools ==
    822
    9 We used a TP-LINK router with 2.4GHz and 5GHz frequencies. We used a Dell Laptop with an Ubuntu 14.02 kernel and an Intel !WiFi Wireless Link 5300 MIMO radio, also known as the IWL5300. We used the Linux 802.11n CSI tool (created by Daniel Halperin, Wenjun Hu, Anmol Sheth, and David Wetherall), implemented in Matlab and C, to extract the CSI from the channel measurements. For the two-layer deep neural network, we used Python and Tensorflow.
     23We used a TP-LINK router at the 5GHz frequencies. To receive the CSI data from !WiFi, we used a Dell Laptop with an Ubuntu 14.02 kernal and an Intel !Wifi Wireless Link 5300 MIMO radio (IWL5300). We used the Linux 802.11n CSI Tool (created by Daniel Halperin, Wenjun Hu, Anmol Sheth, and David Wetherall), which is built off of the IWL5300. This tool allowed us to collect and read CSI data on the client computer.
    1024
     25Using Python, we created a socket server on a Dell G3 laptop equipped with Windows 10. Additionally, we modified a fork of the tool (fork by Piotr Gawlowicz) to turn the binary streams of CSI data into complex numbers which we could then graph and perform computations with. For graphing, we used PyQt5, a GUI toolkit, !yQtGraph, a lightweight plotting module that has improved performance for real-time plotting of data. For our deep learning, we used !TensorFlow, a popular library used for machine learning.
     26
     27== Exercises ==
     28
     29We choose four exercises to test the effectiveness of our system. These exercises are popular and work out most muscle groups of the body:
     30{{{
     31#!html
     32
     33<ul>
     34  <li> Push-ups
     35    <ul>
     36      <li> Triceps
     37      <li> Chest
     38    </ul>
     39  <li> Squats
     40    <ul>
     41      <li> Legs
     42    </ul>
     43  <li> Sit-ups/Crunches
     44    <ul>
     45      <li> Abs
     46    </ul>
     47  <li> Curls
     48    <ul>
     49      <li> Biceps
     50    </ul>
     51</ul>
     52}}}
     53
     54== Languages and Libraries ==
     55{{{
     56#!html
     57
     58<ul>
     59  <li> Python
     60    <ul>
     61      <li> PyQt5
     62      <li> PyQtGraph
     63      <li> TensorFlow
     64      <li> NumPy
     65      <li> Socket
     66    </ul>
     67  <li> C
     68  <li> Matlab
     69</ul>
     70}}}
    1171
    1272== People ==