• No results found

spends his time experimenting with new wearable technology and tracking his activity and recording biodata. He uses his smartphone to download accompanying apps to view statistics of his activities after a long day.

Activities

Airleviate can be worn all day or during specific activities where the user wishes to have their breathing monitored. Breathing rates for adults typically lie between the 0.08-0.7 Hz range (Fleming and

Tarassenko, 2007). Every user will have a fixed position that they will place the abdominal and thoracic bands at. The user can opt to wear the bands over an undershirt or on top of their regular clothes. At the end of the day, the user will get an overview of their breathing activity through an interface either on an app or website. The user removes the bands and charges the Airleviate for its next use. The interface shows the user statistics from their day’s breathing and compares their performance, using the quality factor, to the inputted goal quality factor that the user set when they first started using the app. The user can also adjust the threshold level which determines how strictly chest breaths are taken into account when classifying diaphragmatic breathing for a minute of data. Likewise, length of the buffer can be adjusted, which is used to compare the average breathing frequency of a minute to identify repetitive breathing moments.

Context

The Airleviate has been designed to be worn all day, in any social context. In its current iteration, the feedback can only be viewed at the end of the day. Examples of contexts the Airleviate can be worn in are while a student studies at the library, a teacher wearing it while giving a lecture and a yoga student wearing it while performing their routines. There are no organizational contexts, however a physical environment where the Airleviate can be worn is at a yoga center or Tai Chi class.

file are the X, Y and Z axis data from the accelerometer and the readings from the two bands. A python script then loads the text file, processes the data and uses the library Scikit-learn to call functions that help classify the data. Statistical analysis is performed on the data in order to extract features such as breathing frequency that are then sent to the interface application, as the output of the program.

Programming languages and libraries will be investigated to find the best fit for this project. Matlab and Python are a program and programming language respectively, that the author is familiar with.

Matlab

Matlab is a programming platform used by engineers in the field and students alike and can be used to model physical phenomena, develop algorithms and analyze data (Mathworks.com, 2018). The author has used Matlab in the past for basic classification assignments involve accelerometer data. Matlab uses its own proprietary language for scripting and there are many libraries and functions developed for the purpose of machine learning, deep learning, signal processing and image processing (Mathworks.com, 2018).

Python

Python is an object oriented programming language that allows for manipulation of high-level data structures and is a popular tool for rapid prototyping and development (Python.org, 2018). Python has extensive libraries ranging from web development (Django) to Machine learning (TensorFlow).

TensorFlow is an open source framework used for “high performance numerical computation”, and can be used to generate Neural Networks for the purpose of classification (TensorFlow, 2018). Scikit-learn is another open source machine learning library for python (Scikit-learn.org, 2018). Scikit-learn can be used for classification and supports a large number of classifiers including support vector machines, logistic regression analysis, and supervised neural networks (linear and non-linear classifiers). Python also has libraries for signal processing and image processing and is a popular tool among data scientists. Since Scikit-learn supports both linear and non-linear classifiers, has a more user-friendly development environment and has extensive tutorials and online documentation, it shall be used for this project.

Classification algorithms

The two sets of data that need to be classified are RIP respiratory data and accelerometer data. In literature, various algorithms have been used to classify accelerometer data. Prasertsung & Horanont, (2016) used a Support Vector Machine (SVM) to classify tri-axial accelerometer data, whereas Kuspa and Pratkanis, (2013) employed Gaussian Discriminant analysis. Ravi et al. (2005) used a Decision Tree with which they achieved a classification accuracy of 84%. This is slightly lower than the accuracy achieved by Kuspa and Pratkanis which was 92%. However, some signal preprocessing was involved. Data will be recorded using the accelerometer for the activities of sitting and standing, and various classifiers will be trained to compare their prediction accuracies. .

As for the breathing data, considering the Preliminary Concept in 4.6 and following the findings of the background research on classifiers; each classifier is unique and has its own strengths. Therefore, breathing data will be classified using the linear classification algorithm, logistic regression and using non-linear classification algorithms such as Neural Networks and Support Vector Machine. The accuracy of the models will then be compared and the most accurate model will be chosen.