METHOD AND SYSTEM FOR ESTIMATING A USER'S HEART RATE
Patent Information
- Application Number
- DE602020044726
- Authority / Receiving Office
- DE · DE
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-09-06
- Filing Date
- 2020-09-04
- Publication Date
- 2025-01-15
- Estimated Expiration
- 2040-09-04
AI Technical Summary
Existing heart rate estimation systems face accuracy issues when the user is in motion due to noise signals in PPG measurements, which affect the reliability of health condition determination.
A system that collects PPG and accelerometer signals, applies Principle Component Analysis to estimate noise, and uses a Wiener filter to estimate a true cardiac signal, thereby improving heart rate estimation accuracy during user motion.
The system effectively filters out noise and estimates a clean PPG signal, enhancing the accuracy of heart rate estimation even when the user is in motion, by approximating the true cardiac signal and reducing high-frequency noise.
Description
[0001] The present EPO application claims priority from India Patent Application No. 201921035986, filed before Indian Patent Office on September 6, 2019.TECHNICAL FIELD
[0002] The disclosure herein generally relates to heart rate estimation, and, more particularly, to a method and system for heart rate estimation when the user is in motion.BACKGROUND
[0003] Heart rate estimation is process of estimating heart rate of a user using appropriate sensor(s). The estimated heart rate is used for determining a health condition of the user. With advancement in the field of wearable technology, many of the wearable gadgets available in the market have heart rate estimation capability as one of the features. Many of such gadgets are configured to trigger an alert to one or more users when an abnormal variation in the heart rate of a user is detected, thereby enabling the user to seek medical help when needed.
[0004] Many types of sensors and systems are currently available for performing the heart rate estimation. Photoplethysmogram (PPG) is an example of sensors that is used for the heart rate estimation. The PPG monitors the heart rate of a user by measuring variation in blood volume in skin of the user, which is caused by pressure pulse of cardiac signal. However, when the user being monitored is in motion, there is high probability that the measured signals contain noise signals, which in turn affects accuracy of the heart rate estimation being performed. The state of art systems use different approaches for estimating the heart rate of users. However, depending on the approach used, capability to handle the noise caused by the user motion varies, which in turn affects accuracy of result of the health rate estimation.
[0005] For instance, JUNEHWA SONG ET AL: "A Robust and Customizable Tracking Algorithm for Accurate Heart Rate Estimation (demo)",PROCEEDINGS OF THE 17TH ANNUAL INTERNATIONAL CONFERENCE ON MOBILE SYSTEMS, APPLICATIONS, AND SERVICES, 12 June 2019 (2019-06-12), pages 665-666 and AHMED NASIMUDDIN ET AL: "Heart Rate Estimation Algorithm From Wrist-based Photoplethysmogram Using Subspace Learning Method",2019 IEEE INTERNATIONAL CONFERENCE ON PERVASIVE COMPUTING AND COMMUNICATIONS WORKSHOPS (PERCOM WORKSHOPS), IEEE, 11 March 2019 (2019-03-11), pages 145-150 describe a technique for heart rate estimation based on the subject's mobility state and previous heart rate values.SUMMARY
[0006] Embodiments of the present disclosure present technological improvements as solutions to one or more of the above-mentioned technical problems recognized by the inventors in conventional systems. The invention is set out in the appended set of claims 1-9.BRIEF DESCRIPTION OF THE DRAWINGS
[0007] The accompanying drawings, which are incorporated in and constitute a part of this disclosure, illustrate embodiments and, together with the description, serve to explain the disclosed principles: FIG. 1 illustrates a system for heart rate estimation of a user, according to some embodiments of the present disclosure. FIG. 2 is a flow diagram depicting steps involved in the process of performing the heart rate estimation, using the system of FIG. 1, according to some embodiments of the present disclosure. FIG. 3 is a flow diagram depicting steps involved in the process of performing estimating a true cardiac signal for the purpose of performing the heart rate estimation using the system of FIG. 1, according to some embodiments of the present disclosure. DETAILED DESCRIPTION OF EMBODIMENTS
[0008] Embodiments are described with reference to the accompanying drawings. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. Wherever convenient, the same reference numbers are used throughout the drawings to refer to the same or like parts.
[0009] The following examples / aspects / embodiments in the description are not according to the invention and are present for illustration purposes only.
[0010] Referring now to the drawings, and more particularly to FIG. 1 through FIG. 3, where similar reference characters denote corresponding features consistently throughout the figures, there are shown preferred embodiments and these embodiments are described in the context of the following system and / or method.
[0011] FIG. 1 illustrates a system for heart rate estimation of a user, according to some embodiments of the present disclosure. The system 100 includes one or more hardware processors 102, communication interface(s) or input / output (I / O) interface(s) 103, and one or more data storage devices or memory 101 operatively coupled to the one or more hardware processors 102. The one or more hardware processors 102 are implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, graphics controllers, logic circuitries, and / or any devices that manipulate signals based on operational instructions. Among other capabilities, the processor(s) are configured to fetch and execute computer-readable instructions stored in the memory. In an embodiment, the system 100 is implemented in a variety of computing systems, such as laptop computers, notebooks, hand-held devices, workstations, mainframe computers, servers, a network cloud and the like.
[0012] The communication interface(s) 103 include a variety of software and hardware interfaces, such as a web interface, a graphical user interface, and the like and facilitate multiple communications within a wide variety of networks N / W and protocol types, including wired networks, such as LAN, cable, etc., and wireless networks, such as WLAN, cellular, or satellite. In an embodiment, the communication interface(s) 103 include one or more ports for connecting a number of devices to one another or to another server.
[0013] The memory 101 includes any computer-readable medium known in the art including, volatile memory, such as static random access memory (SRAM) and dynamic random access memory (DRAM), and / or non-volatile memory, such as read only memory (ROM), erasable programmable ROM, flash memories, hard disks, optical disks, and magnetic tapes. In an embodiment, one or more components (not shown) of the system 100 are stored in the memory 101. The memory 101 is configured to store operational instructions which when executed cause one or more of the hardware processor(s) 102 to perform various actions associated with the heart rate estimation being handled by the system 100. The various steps involved in the process of heart rate estimation are explained with description of FIG.2 and FIG. 3. All the steps in FIG. 2 and FIG. 3 are explained with reference to the system of FIG. 1.
[0014] FIG. 2 is a flow diagram depicting steps involved in the process of performing the heart rate estimation, using the system of FIG. 1, according to some embodiments of the present disclosure. So as to perform heart rate estimation of a user, the one or more hardware processors 102 of the system 100 collects (202) PPG signals and accelerometer signals from the user, wherein the collected PPG signals and accelerometer signals are split over a plurality of time windows. In an embodiment, length of all the time windows is same. In various other embodiments, the length of the time windows ispre-configured or dynamically configured with the system 100, by any authorized user, using appropriate interface that is provided by the communication interface(s) 103. The one or more hardware processors 102 of the system 100 performs appropriate pre-processing to clean up and condition the collected PPG and accelerometer signals for further processing for the heart rate estimation, and performs filtering and normalization.
[0015] For each time window in which the PPG signal has been collected, the one or more hardware processors 102 of the system 100 performs a mobility detection to determine (204) whether or not the user was in motion while the PPG signal was collected. In an embodiment, any suitable mobility detection mechanism is used by the system 100 to perform the mobility detection. If the user is found to be not in motion while collecting the PPG signals, then heart rate estimation is performed (208) from the collected PPG signals using any suitable approach.
[0016] If the system 100 determines that the user was in motion while collecting the PPG signals in at least one of the plurality of time windows, then the following method is executed for the heart rate estimation. The method is explained for data (i.e. PPG signal and accelerometer signals) collected over one time window. It is to be noted that the same approach is used for heart rate estimation in all time windows in which user was determined to be in motion while collecting the PPG signals.
[0017] The one or more hardware processors 102 of the system 100 collects and processes the accelerometer signal in the time window being considered, to estimate (210) a noise signal that is present in the PPG signal collected in the same time window. In an embodiment, the one or more hardware processors 102 of the system 100 performs a Principle Component Analysis (PCA) of the accelerometer signal to estimate the noise signal. The motion of the user is approximated in a particular direction if a brief window of time is considered during which motion of the user is majorly unidirectional in an arbitrary direction. The PCA is applied on the accelerometer signal so as to find out which direction has a maximum variation in acceleration (due to the motion) the Principal Component Analysis (PCA) is applied to the acceleration signal. The PCA projects the original signal into orthonormal basis along which the variance is maximized. Assuming Y ∈ ℝ T ∗ 3 is a projected matrix it is denoted as Y = AW where A ∈ ℝ T ∗ 3 is an acceleration matrix and columns of the projection matrix W ∈ ℝ 3 ∗ 3 represents eigenvector basis. As a first principle component of Y matrix highest variance among the three orthogonal direction, it is considered as the direction of motion or the noise. Noise spectrum is estimated as: P N f ≈ PC 1 f ∈ ℝ 1 ∗ M
[0018] As the highest variance of accelerometer signal is itself a marker of motion, this approach improves the estimate of noise.
[0019] The one or more hardware processors 102 of the system 100 further estimates (212) value of a true cardiac signal for the time window. In the time windows in which motion has been detected, the true cardiac signal is not available, hence the estimation is required. Steps involved in estimation of the true cardiac signal are depicted in FIG. 3. The system 100 maintains in the memory 101, a Clean Signal Buffer (CB). The system 100 collects information pertaining to a pre-defined number (N) of spectra prior to the time window being considered for estimation of the true cardiac signal, and stores this information in the CB. In an embodiment, at any instance the CB comprises data pertaining to PPG signal containing noise data for a time window being considered. In various embodiments, value of N is pre-configured or dynamically configured with the system 100 by an authorized user, and is stored in the memory 101. For estimation of the true cardiac signal for the time window, the system 100 obtains (302) the spectra present in the CB and estimates (304) value of the true cardiac signal as a trimmed mean of N number of spectra, which is represented as: b k = 1 N ∑ i = 1 N CB i k ∀ k ∈ 1 M P C f ≈ B = b 1 , … , b M ∈ ℝ 1 ∗ M
[0020] Where M represents total number of frequency bins. Rows of the CB contain envelops of previous N spectra.
[0021] The estimation of the true cardiac signal is performed along the columns of the CB for every frequency bin. This leads to a row vector B ∈ ℝ 1 ∗ M which approximates the true cardiac spectrum. This averaging process smoothens the signal, imparts the uniformity and curtails the high-frequency noises. Since intense movement of the user could cause spurious noises, by taking the trimmed mean, outliers are eliminated. Later when the Weiner Filter estimates the clean PPG spectrum for that particular window, the noisy PPG spectrum is replaced by the clean one.
[0022] The system 100 uses the following equation to obtain coefficients for the wiener filter. W opt f = P C f P C f + P N f
[0023] After approximating the true cardiac spectrum and the noise spectrum, the system 100 applies (1) and (2) in (3) to obtain a final equation for wiener filter coefficients as: W opt f = B B + PC 1 f
[0024] It is to be noted that in equation (4), all the elements are having same dimension ( ∈ ℝ 1 ∗ M ) and sample-wise divisions is achieved.
[0025] Based on the estimated coefficients, the wiener filter of the system 100 estimates (214) a spectrum of clean PPG for the time window, based on the estimated noise signal and the true cardiac signals. The estimated spectrum of clean PPG is further used by the system 100 to estimate (216) heart rate of the user at the time window being considered.
[0026] In various embodiments, steps in method 200 is performed in the same order as depicted in FIG. 2 or in any alternate order that is technically feasible. In another embodiment, one or more of the steps in method 200 is omitted as per requirements.
[0027] The embodiments of present disclosure herein address unresolved problem of heart rate estimation of a user when the user is in motion. The embodiment thus provides a wiener filter based mechanism to estimate heart rate of the user while in motion. Moreover, the embodiments herein further provide a mechanism to estimate a true cardiac signal for each time window in which user motion was detected, for the purpose of estimating a spectrum of clean PPG signal which in turn is used for heart rate estimation.
[0028] It is to be understood that the scope of the protection is extended to such a program and in addition to a computer-readable means having a message therein; such computer-readable storage means contain program-code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The hardware device is any kind of device which is programmed including e.g. any kind of computer like a server or a personal computer, or the like, or any combination thereof. The device also includes means which could be e.g. hardware means like e.g. an application-specific integrated circuit (ASIC), a field-programmable gate array (FPGA), or a combination of hardware and software means, e.g. an ASIC and an FPGA, or at least one microprocessor and at least one memory with software processing components located therein. Thus, the means include both hardware means and software means. The method embodiments described herein could be implemented in hardware and software. The device also includes software means. Alternatively, the embodiments are implemented on different hardware devices, e.g. using a plurality of CPUs.
[0029] The embodiments herein comprise hardware and software elements. The embodiments that are implemented in software include but are not limited to, firmware, resident software, microcode, etc. The functions performed by various components described herein are implemented in other components or combinations of other components. For the purposes of this description, a computer-usable or computer readable medium is any apparatus that comprises, stores, communicates, propagates, or transports the program for use by or in connection with the instruction execution system, apparatus, or device.
[0030] The illustrated steps are set out to explain the embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries are defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope of the disclosed embodiments. Also, the words "comprising," "having," "containing," and "including," and other similar forms are intended to be equivalent in meaning and be open ended in that an item or items following any one of these words is not meant to be an exhaustive listing of such item or items, or meant to be limited to only the listed item or items. It must also be noted that as used herein and in the appended claims, the singular forms "a," "an," and "the" include plural references unless the context clearly dictates otherwise.
[0031] Furthermore, one or more computer-readable storage media is utilized in implementing embodiments consistent with the present disclosure. A computer-readable storage medium refers to any type of physical memory on which information or data readable by a processor is stored. Thus, a computer-readable storage medium stores instructions for execution by one or more processors, including instructions for causing the processor(s) to perform steps or stages consistent with the embodiments described herein. The term "computer-readable medium" should be understood to include tangible items and exclude carrier waves and transient signals, i.e., be non-transitory. Examples include random access memory (RAM), read-only memory (ROM), volatile memory, nonvolatile memory, hard drives, CD ROMs, DVDs, flash drives, disks, and any other known physical storage media.
[0032] It is intended that the disclosure and examples be considered for illustration purpose only, with a true scope of disclosed embodiments being indicated by the following claims.
Claims
1. A processor implemented method (200) for heart rate estimation, comprising: collecting (202) a Photoplethysmogram (PPG) signal over a plurality of fixed time windows from a user being monitored, via one or more hardware processors; determining (204) whether the user was in motion in any of the plurality of time windows while the PPG signal was being collected, by performing a mobility detection, via the one or more hardware processors; classifying each of the plurality of time windows as belonging to one of a set of time windows in which user is determined as in motion and a set of time windows in which user is determined as not in motion; and performing the heart rate estimation for the PPG signal collected over each time window belonging to the set of time windows in which user is determined as in motion, via the one or more hardware processors, comprising: estimating (210) a noise signal by performing a Principle Component Analysis (PCA) of an accelerometer signal collected over each of the time windows in which the user is determined as being in motion; estimating (212) value of a true cardiac signal for each of the time windows in which the user is determined as being in motion, wherein the true cardiac signal is a PPG signal without outliers, and wherein estimating (212) value of the true cardiac signal comprises: obtaining a pre-defined number of spectra associated with true cardiac signals prior to a time window being considered, from a Clean Signal Buffer (CBF); and estimating the value of the true cardiac signal by taking a trimmed mean of the obtained pre-defined number of spectra, wherein the value of the true cardiac signal (bk) is estimated by: b k = 1 N ∑ i = 1 N CB i k ∀ k ∈ 1 , M , wherein N represents the obtained pre-defined number of spectra and M represents a total number of frequency bins; estimating (214) spectrum of a clean PPG signal based on the estimated noise signal and the estimated value of the true cardiac signal, using a wiener filter; and estimating (216) heart rate of the user based on the estimated spectrum of the clean PPG signal.
2. The method of claim 1, wherein the CBF comprises the PPG signal collected from the user along with the obtained a pre-defined number of spectra.
3. The method of claim 1, wherein in each time window in which the user is determined as not in motion, the heart rate is estimated from the collected PPG signal in the corresponding time window.
4. A system (100) for heart rate estimation, comprising: one or more hardware processors (102); one or more communication interfaces (103); and one or more memory (101) storing a plurality of instructions, wherein the plurality of instructions when executed cause the one or more hardware processors to: collect a Photoplethysmogram (PPG) signal over a plurality of fixed time windows from a user being monitored; determine whether the user was in motion in any of the plurality of time windows while the PPG signal was being collected, by performing a mobility detection; classify each of the plurality of time windows as belonging to one of a set of time windows in which user is determined as in motion and a set of time windows in which user is determined as not in motion; and perform the heart rate estimation for the PPG signal collected over each time window belonging to the set of time windows in which user is determined as in motion, by: estimating a noise signal by performing a Principle Component Analysis (PCA) of an accelerometer signal collected over each of the time windows in which the user is determined as being in motion; estimating value of a true cardiac signal for each of the time windows in which the user is determined as being in motion, wherein the true cardiac signal is a PPG signal without outliers, and wherein estimating value of the true cardiac signal comprises: obtaining a pre-defined number of spectra associated with true cardiac signals prior to a time window being considered, from a Clean Signal Buffer (CBF); and estimating the value of the true cardiac signal by taking a trimmed mean of the obtained pre-defined number of spectra, wherein the value of the true cardiac signal (bk) is estimated by: b k = 1 N ∑ i = 1 N CB i k ∀ k ∈ 1 , M , wherein N represents the obtained pre-defined number of spectra and M represents a total number of frequency bins; estimating spectrum of a clean PPG signal based on the estimated noise signal and the estimated value of the true cardiac signal, using a wiener filter; and estimating heart rate of the user based on the estimated spectrum of the clean PPG signal.
5. The system of claim 4, wherein the CBF comprises the PPG signal collected from the user along with the obtained pre-defined number of spectra.
6. The system of claim 4, wherein the system estimates the heart rate of the user in each time window in which the user is determined as not in motion, from the collected PPG signal in the corresponding time window.
7. A non-transitory computer readable medium for heart rate estimation, wherein the non-transitory computer readable medium when executed by one or more hardware processors, cause the heart rate estimation by: collecting a Photoplethysmogram (PPG) signal over a plurality of fixed time windows from a user being monitored, via one or more hardware processors; determining whether the user was in motion in any of the plurality of time windows while the PPG signal was being collected, by performing a mobility detection, via the one or more hardware processors; classifying each of the plurality of time windows as belonging to one of a set of time windows in which user is determined as in motion and a set of time windows in which user is determined as not in motion; and performing the heart rate estimation for the PPG signal collected over each time window belonging to the set of time windows in which user is determined as in motion, via the one or more hardware processors, comprising: estimating a noise signal by performing a Principle Component Analysis (PCA) of an accelerometer signal collected over each of the time windows in which the user is determined as being in motion; estimating value of a true cardiac signal for each of the time windows in which the user is determined as being in motion, wherein the true cardiac signal is a PPG signal without outliers, and wherein estimating value of the true cardiac signal comprises: obtaining a pre-defined number of spectra associated with true cardiac signals prior to a time window being considered, from a Clean Signal Buffer (CBF); and estimating the value of the true cardiac signal by taking a trimmed mean of the obtained pre-defined number of spectra, wherein the value of the true cardiac signal (bk) is estimated by: b k = 1 N ∑ i = 1 N CB i k ∀ k ∈ 1 , M , wherein N represents the obtained pre-defined number of spectra and M represents a total number of frequency bins; estimating spectrum of a clean PPG signal based on the estimated noise signal and the estimated value of the true cardiac signal, using a wiener filter; and estimating heart rate of the user based on the estimated spectrum of the clean PPG signal.
8. The non-transitory computer readable medium of claim 7, wherein the CBF comprises the PPG signal collected from the user along with the obtained pre-defined number of spectra.
9. The non-transitory computer readable medium of claim 7, wherein in each time window in which the user is determined as not in motion, the heart rate is estimated from the collected PPG signal in the corresponding time window.