Difference between revisions of "Projects:2020s2-7451 Analysing Health Data from Wearables"

From Projects
Jump to: navigation, search
(Basic Principles of PPG)
(Method)
Line 44: Line 44:
 
== Method ==
 
== Method ==
 
The programming language chose for analysing PPG signals is MATLAB. There are lots of programming language such as Python, which could be used to analyse PPG signals. One of the advantages is that it is easier to use to designing codes compared to other languages, and it is helpful to seek some assistance from the MathWorks website. Additionally, there are some useful add-ons and toolbox include in MATLAB. For instance, "Signal Analyser", is effective to analyse the PPG signals such as power spectrum. Also, "Classification Learner" is helpful to design SVM code for detecting artefacts.  Another application used for this project is “APP Designer”, and the team is using it to design the GUI. The integrated codes could be copied into the GUI without redesigning them.
 
The programming language chose for analysing PPG signals is MATLAB. There are lots of programming language such as Python, which could be used to analyse PPG signals. One of the advantages is that it is easier to use to designing codes compared to other languages, and it is helpful to seek some assistance from the MathWorks website. Additionally, there are some useful add-ons and toolbox include in MATLAB. For instance, "Signal Analyser", is effective to analyse the PPG signals such as power spectrum. Also, "Classification Learner" is helpful to design SVM code for detecting artefacts.  Another application used for this project is “APP Designer”, and the team is using it to design the GUI. The integrated codes could be copied into the GUI without redesigning them.
 +
 +
In this project, there are 100 examples of PPG signal provided by the supervisor. Overall, the performances of those signals are different and there is not much noise in the signal as their sampling frequency are low (i.e. fs = 30 Hz). Some signals do not contain any artifact or noise so that they could be used to calculate HR and RR directly. There are some signals which contain both the good region and bad region (artifacts(. Others are not able to be analysed as there is not any good region.
  
 
[[File:Software Design.png|thumb|centre]]
 
[[File:Software Design.png|thumb|centre]]
  
The flowchart above shows how the software design work in this research.
+
The flowchart above shows how the software design work in this research. They are using for testing the code design. At first, the raw PPG signal is separated into different regions such as 20 regions, and the features for each region are calculated. The features were chosen are the amplitudes difference and the time difference between the closest two peaks, and the HR and RR value. Then, an SVM design is used to detect the performance of each separated region by using those extracted features. Then, the artifacts are removed by codes and the values would be changed to 0 or NaN for calculating RR and HR.
 +
 
 +
The RR and HR would be calculated for the analysed signal. The HR is calculating by counting the peaks in the analysed signal and divide it by the total time duration of good regions. For RR calculation, the method is to use two synchrosqueezing transforms (SST) to calculate the instantaneous respiratory rate. Another method is to connect the peak points of the PPG signal to get the respiration signal and use the number of peaks in this to calculate RR. The methods using for calculating the HR and RR for analysed signals are also used during the feature extraction.
 +
 
 +
In the end, a GUI design is used to display the graphs of the original and analysed PPG waveforms; and the RR and HR values calculated by the analysed signal. The users are also able to select which regions are artifact regions by themselves. The reason is that sometimes the machines might not identify the good and bad region correctly. The changes of artifact regions are saved into a new mat file.
  
 
== Results ==
 
== Results ==

Revision as of 22:45, 4 May 2021

Heart rate (HR) and respiratory rate (RR) are important physiological parameters that could be used to indicate ones health and abnormalities in these parameters could be an indicator of serious illness. Therefore, many different methods have been proposed for automatic monitoring of HR and RR. In this study, we would use photoplethysmogram (PPG) signal to extract HR and RR data through development of algorithms in Matlab. Firstly, digital filtering would be used to detect and distinguish noisy signal and also motion artifact from a raw PPG signal. Then, the filtered signal would be extracted to gain HR and RR data.

Project team

Project students

  • Amirahtul Nazihah Amir
  • Bin Dai
  • Jiaping Wang

Supervisors

  • Associate Professor Mathias Baumert
  • Associate Professor Brian Ng

Introduction

PPG is a simple optical technique used to detect the volumetric changes in the blood. It is a low cost and non-invasive method that makes a measurement on the surface of the skin. Different from electrocardiogram (ECG), PPG does not focus on the electrical pulses that cause the heart to beat, but rather on the effect that the beating has on blood vessels. With every beat of the heart, blood would be pumped out of the heart into blood vessels putting pressure on the vessel wall and causing them to dilate. These blood vessel would relax again between two heartbeats. In this study, a camera-based PPG is used as it enables remote vital signal monitoring by using cameras. This would be cost-efficient since cameras are available in an everyday item such as a smartphone. By lighting fingertip for 60 seconds with the flashlight of a smartphone camera, minuscule changes in the amount of blood that flows through the dilating and relaxing capillaries would be measured based on the amount of light that is reflected back to the camera. When the capillaries are dilated, meaning it contains a lot of blood, a lot of the light would be absorbed by the blood and therefore just a little would be reflected. Vice versa, when the capillaries are in relax condition, not much of the light would be absorbed and hence there would be more light reflected back to the camera.

Objectives

The overall objective of this project is to design a software system to analyse the health data from noisy photoplethysmography (PPG). The software system has the following specific goals:

  1. to detect and remove the artifacts in the original PPG signals;
  2. to monitor the subjects’ health parameters such as the heart rate (HR) and the respiration rate (RR) from the PPG waveforms;

Additionally, this project is aimed to develop a graphical user interface (GUI) system. This GUI design is aimed to display both original and noisy PPG waveforms. In addition, it shall allow users to choose which ranges of signals they consider as artifacts. The calculated HR and RR analysed from the PPG waveforms are displayed to them as well.

Motivation and Significance

Nowadays, one of the significant causes of death worldwide is a disease according to [1]. For the poor nations such as Liberia and Zimbabwe, there are not sufficient diagnosis equipment and treatment instrument. Consequently, it could cause large numbers of patients’ death. Even for some developed and developing nations, there are some impoverished areas that do not have enough medical equipment or hard to move to the medical centre due to mobility problems as stated in [2].

One of the main functions of PPG is to diagnose human fitness and illness via HR and RR calculation [3]. HR and RR are two of the vital human signs which are effective for diagnosing. PPG could be not only detected by specific instrument but also by some wearable device such as smartphones and smartwatch as stated in Section 2.1 below. Therefore, the diagnosis via wearable device PPG is convenient and inexpensive for the needed personals.

Overall, the main significance of this project is to help the patients with mobility issues or who live in some area which does not have sufficient diagnosis equipment. Therefore, they could know if they have any fitness disease as early as possible and receive treatment as early as possible.

Background

Basic Principles of PPG

Photoplethysmography is an elementary, economically efficient and non-invasive optical technique that is used to detect blood volumetric changes [4]. The low-intensity infrared light is low for PPG; and it is absorbed by bone, skin and blood when it passes through biological tissues. A complete PPG signal consists of volumetric changes in arterial blood and variations in venous blood volume. There are two components in the PPG waveform which are an alternating current (AC) component and a direct current (DC) component [5]. The AC component is used for monitoring heart rate, and the DC component is used for calculating respiration rate.

PPG.png

Typically, the PPG detect system uses a light source which could be IR, red or green LEDs; and a photodetector to detect PPG signals through the skin. The figure above shows the general processes of camera-based PPG via a smartphone [6]. As shown in that image, the smartphone has used the camera to detect the PPG signal from the fingers. The LED flashlight from phones is used to detect minor changes in skin colours that are caused by the blood flow. The phone camera is also used to receive the PPG signal from fingers skins via the wide-bandwidth pixel-enabling RGB colours detection.

The limitation of camera-based PPG is the motion artifact which is usually caused by the movement of subjects. Furthermore, the environmental noise could affect the PPG signal acquisition so that the estimation accuracy of HR could be affected [7].

Support Vector Machine

Method

The programming language chose for analysing PPG signals is MATLAB. There are lots of programming language such as Python, which could be used to analyse PPG signals. One of the advantages is that it is easier to use to designing codes compared to other languages, and it is helpful to seek some assistance from the MathWorks website. Additionally, there are some useful add-ons and toolbox include in MATLAB. For instance, "Signal Analyser", is effective to analyse the PPG signals such as power spectrum. Also, "Classification Learner" is helpful to design SVM code for detecting artefacts. Another application used for this project is “APP Designer”, and the team is using it to design the GUI. The integrated codes could be copied into the GUI without redesigning them.

In this project, there are 100 examples of PPG signal provided by the supervisor. Overall, the performances of those signals are different and there is not much noise in the signal as their sampling frequency are low (i.e. fs = 30 Hz). Some signals do not contain any artifact or noise so that they could be used to calculate HR and RR directly. There are some signals which contain both the good region and bad region (artifacts(. Others are not able to be analysed as there is not any good region.

Software Design.png

The flowchart above shows how the software design work in this research. They are using for testing the code design. At first, the raw PPG signal is separated into different regions such as 20 regions, and the features for each region are calculated. The features were chosen are the amplitudes difference and the time difference between the closest two peaks, and the HR and RR value. Then, an SVM design is used to detect the performance of each separated region by using those extracted features. Then, the artifacts are removed by codes and the values would be changed to 0 or NaN for calculating RR and HR.

The RR and HR would be calculated for the analysed signal. The HR is calculating by counting the peaks in the analysed signal and divide it by the total time duration of good regions. For RR calculation, the method is to use two synchrosqueezing transforms (SST) to calculate the instantaneous respiratory rate. Another method is to connect the peak points of the PPG signal to get the respiration signal and use the number of peaks in this to calculate RR. The methods using for calculating the HR and RR for analysed signals are also used during the feature extraction.

In the end, a GUI design is used to display the graphs of the original and analysed PPG waveforms; and the RR and HR values calculated by the analysed signal. The users are also able to select which regions are artifact regions by themselves. The reason is that sometimes the machines might not identify the good and bad region correctly. The changes of artifact regions are saved into a new mat file.

Results

Conclusion

References

  1. Would Health Organization, “The top 10 causes of death,” 24 May 2018. [Online]. Available: https://www.who.int/news-room/fact-sheets/detail/the-top-10-causes-of-death. [Accessed October 2020].
  2. O. Owen, “Access to health care in developing countries: breaking down demand side barriers,” Cadernos de Saúde Pública, vol. 23, no. 12, 2007.
  3. R. Laulkar and N. Daimiwal, “Acquisition of PPG signal for diagnosis of parameters related to heart,” 2012 1st International Symposium on Physics and Technology of Sensors (ISPTS-1), pp. 274-277, 2012.
  4. I. Van Loon, “How does FibriCheck measure your heart rhythm?,” 24 June 2019. [Online]. Available: https://www.fibricheck.com/how-fibricheck-measures-your-heart-rhythm/. [Accessed September 2020].
  5. S. Cheriyedath, “Photoplethysmography (PPG),” News Medical Life Sciences, 2019.
  6. T. Vandenberk, J. Stans, C. Mortelmans, R. Van Haelst, G. Van Schelvergem, C. Pelckmans, C. J. Smeets, D. Lanssens, H. De Cannière, V. Storms, I. M. Thijs, B. Vaes and P. M. Vandervoort, “Clinical Validation of Heart Rate Apps: Mixed-Methods Evaluation Study,” JMIR mHealth and uHealth, vol. 5, no. 8, p. e129–e129, 2017.
  7. Y. Zhang, B. Liu and Z. Zhang, “Combining ensemble empirical mode decomposition with spectrum subtraction technique for heart rate monitoring using wrist-type photoplethysmography,” Biomedical Signal Processing and Control, vol. 21, pp. 119-125, August 2015.