Systems and methods for detecting acute changes in blood pressure and creating alarm from photoplethysmogram
A multi-stage machine learning model processes PPG data to accurately detect blood pressure changes, addressing reliability issues in non-invasive monitoring, ensuring precise and reliable blood pressure detection in various environments.
Patent Information
- Application Number
- PCT/US2025/035979
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-06-28
- Filing Date
- 2025-06-30
- Publication Date
- 2026-01-02
AI Technical Summary
Existing non-invasive blood pressure monitoring methods using machine learning models face accuracy and reliability issues due to signal sensitivity to motion and physiological differences among users, leading to inconsistent and unreliable BP measurements across different environments.
A multi-stage machine learning model is employed to process photoplethysmography (PPG) data, involving filtering, segmentation, feature extraction, and decision-making stages to accurately detect significant blood pressure changes, utilizing a system comprising a PPG sensor, processor, and memory with software instructions to analyze PPG data and output blood pressure change determinations.
The model effectively detects clinically relevant blood pressure changes with high accuracy and reliability, enabling real-time monitoring without the need for frequent calibration, and can be implemented in wearable devices or remote computing resources.
Smart Images

Figure US2025035979_02012026_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR DETECTING ACUTE CHANGES IN BLOOD PRESSURE AND CREATING ALARM FROM PHOTOPLETHYSMOGRAMCROSS-REFERENCE TO RELATED APPLICATION(S)
[0001] This application claims priority to and incorporates by reference U.S. provisional patent application no. 63 / 665,849, filed June 28, 2024, the content of which is hereby incorporated by reference in its entirety.STATEMENT OF GOVERNMENT SUPPORT
[0002] This invention was made with government support under 5R01EB031911 awarded by the National Institutes of Health. The government has certain rights in the invention.BACKGROUND
[0003] Non-invasive or cuffless blood pressure (BP) monitoring methods using machine learning model aim to estimate BP by analyzing cardiovascular-related physiological signals, such as the electrocardiogram (ECG) or the photoplethysmogram (PPG). However, existing methods do not achieve desired accuracy or reliability / repeatability across different users or environments. This can be, in part, due to the sensitivity of signals like ECG and PPG to motion, physiological differences in users (e.g., vascular differences, skin thickness, etc.). Thus, many methods sought to rely on frequent calibration from more reliable methods like cuff-based measurements. Other methods relied on statistical machine learning approaches to analyze the relationships between BP and manually-defined features extracted from physiological signals.
[0004] However, these approaches continued to suffer from issues arising from signal quality, environmental factors, etc. For example, pre-selected features (like PTT or peaks of PPG waves) are also susceptible to noise and artifacts, and so their use did not solve accuracy issues or generalization issues. When specific measurements of BP, like systolic and diastolic values, from a given method are not accurate or repeatable obtainable across populations and environments, the methods are not able to offer clinically-relevant or reliable information.
[0005] Therefore, it would be desirable to have a method for accurately detecting BP characteristics that are clinically relevant, in a reliable and non-invasive way.SUMMARY
[0006] The following presents a simplified summary of one or more aspects of the present disclosure, in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated features of the disclosure, and is intended neither to identify key or critical elements of all aspects of the disclosure nor to delineate the scope of any or all aspects of the disclosure. Its sole purpose is to present some concepts of one or more aspects of the disclosure in a simplified form as a prelude to the more detailed description that is presented later.
[0007] In one aspect, the present disclosure can provide a method for detecting changes in BP. For example, such a method may comprise: obtaining photoplethysmography (PPG) data acquired from a subject; determining a temporal period of PPG data to be analyzed; filtering and pre-processing the temporal period of PPG data; providing the filtered and pre-processed temporal period of PPG data to a trained, multi-stage machine learning model, to: perform a segmentation stage to associate PPG data into a plurality of partitions of the filtered and pre-processed temporal period of PPG data, based on a plurality of PPG data characteristics; process the partitions via a feature network stage to generate a plurality of feature data corresponding to points in time during the temporal period; process the plurality of feature data via a decision stage to compare feature data from a plurality of times during the temporal period to assess whether a change in blood pressure of a given significance has occurred; and outputting a determination corresponding to whether the blood pressure change of the given significance has occurred.
[0008] In another aspect, the present disclosure can provide a system and / or device for detecting changes in BP characteristics. For example, such a system may comprise: an input channel connected to receive data from a photoplethysmography (PPG) sensor worn by a subject; a processor; and a memory having a set of software instructions stored therein that, when executed by the processor, cause the processor to: continuously obtain PPG data for the subject via the input channel; define an analysis window of the PPG data; pre-process the PPG data to obtain multi -variate PPG data for the analysis window; extract feature information from the multi-variate PPG data of the analysis window; provide a plurality of temporal subsets of the PPG data of the analysis window to a multistage machine learning model; process the temporal subsets of the PPG data via a feature network of the multi-stage machine learning model to generate feature data correspondingto points in time during the analysis window; process an output of the feature network via a decision network of the machine learning model to compare feature data from the analysis window to assess whether a blood pressure change of a given significance has occurred; and output a determination corresponding to whether the blood pressure change of the given significance has occurred.
[0009] These and other aspects of the disclosure will become more fully understood upon a review of the drawings and the detailed description, which follows. Other aspects, features, and embodiments of the present disclosure will become apparent to those skilled in the art, upon reviewing the following description of specific, example embodiments of the present disclosure in conjunction with the accompanying figures. While features of the present disclosure may be discussed relative to certain embodiments and figures below, all embodiments of the present disclosure can include one or more of the advantageous features discussed herein. In other words, while one or more embodiments may be discussed as having certain advantageous features, one or more of such features may also be used in accordance with the various embodiments of the disclosure discussed herein. Similarly, while example embodiments may be discussed below as devices, systems, or methods embodiments it should be understood that such example embodiments can be implemented in various devices, systems, and methods.BRIEF DESCRIPTION OF THE DRAWINGS
[0010] FIG. 1 is a flow diagram illustrating an example process for determining blood pressure changes using PPG data.
[0011] FIG. 2 is a block diagram conceptually illustrating a system of detecting acute changes in blood pressure according to some embodiments.
[0012] FIG. 3 is a flow diagram illustrating an example mask generation process according to some embodiments.
[0013] FIG. 4 is a visual summary of development and testing of the example ABP-Net according to some embodiments.
[0014] FIG. 5 illustrates two histograms of the ground-truth values of maximum changes (including elevations and drops) in systolic BP (SBP) within 40-s intervals available according to some embodiments.
[0015] FIG. 6 illustrates high-level architecture of the example self-contrastive masking (SCM) model and a baseline end-to-end deep learning model according to some embodiments.
[0016] FIG. 7 illustrates a layer-wise implementation of the example ABP-Nct according to some embodiments.
[0017] FIG. 8 illustrates regression plots of SBP estimations from a PPG-based direct BP-estimation model, the estimated SBP changes derived from its SBP estimations, and comparatively, the estimated SBP changes from the example ABP-Net model with better accuracy, according to some embodiments.
[0018] FIG. 9 illustrates two graphs comparing the classification performance of the example BP-Net model, three PPG-based direct BP-estimation models, and noncontrastive ablation model according to some embodiments.
[0019] FIG. 10 illustrates examples of masks as well as masked-modulated signals generated by an example SCM model for identifying over-threshold elevations in SBP according to some embodiments.
[0020] FIG. 11 is a visualization of synthesized masks for detecting changes in rises and drops of SBP according to some embodiments.
[0021] FIG. 12 is an example diagram and illustration of procedures for generating datasets of continuous 40-s PPG intervals according to some embodiments.
[0022] FIG. 13 is a flow diagram illustrating an example process for generating a likelihood of a significant change in BP.
[0023] FIG. 14 is an example architecture of a batched ResNet-LSTM model.DETAILED DESCRIPTION
[0024] The detailed description set forth below in connection with the appended drawings is intended as a description of various configurations and is not intended to represent the only configurations in which the subject matter described herein may be practiced. The detailed description includes specific details to provide a thorough understanding of various embodiments of the present disclosure. However, it will be apparent to those skilled in the art that the various features, concepts and embodiments described herein may be implemented and practiced without these specific details. In some instances, well- known structures and components are shown in block diagram form to avoid obscuring such concepts.
[0025] The following description contains several sections: general descriptions of processes and architectures, general descriptions of hardware configurations and data flow among components of various system implementations, and examples of resultsobtained in the inventors’ validation studies establishing the improvements over existing technology that can be achieved through such processes and systems.
[0026] First, the description will begin with some generalized flow charts to illustrate certain processes and algorithms for how clinically-relevant, accurate, and reliable BP characteristics can be determined. Some flow charts will illustrate general overviews of some categories or alternative approaches for doing so. Other flow charts will set forth a more detailed view of certain steps within these approaches.
[0027] Next, block diagrams will be used to describe how various specialized systems can be implemented to perform such processes and run such algorithms. As will be described, certain design features of the components used will be adopted in order to allow for achievement of the advantages described herein.
[0028] Then, a description of the inventors’ studies will be provided in a manner that elucidates and quantifies examples of the improvements offered by the systems and methods herein. These studies utilized certain embodiments or prototype configurations, but it should be understood that the improvements shown would also be achieved by alternative embodiments as well.Example Blood Pressure Determination Process
[0029] FIG. 1 is a flow diagram illustrating an example process 100 for determining blood pressure (BP) changes using PPG data, in accordance with some aspects of the present disclosure. As described below, a particular implementation can omit some or all illustrated features / steps, may be implemented in some embodiments in a different order, and may not require some illustrated features to implement all embodiments. In some examples, a system or device having suitable computational capabilities (e.g., wearable device, mobile device, remote server / resource, or other computing device having a processor with memory, etc.) can be used to perform example process 100. However, it should be appreciated that some implementations may utilize special-purpose components in order to allow for carrying out the operations or features described below, such as customized CPUs and / or GPUs for processing PPG data and / or performing some or all of the stages of a multi-stage ML model, rapid da.
[0030] At step 102, the process 100 can obtain PPG data acquired from a patient. For example, the PPG data can be obtained using an optical sensor of a wearable device, such as a smartwatch, wrist band, ring, patch, or purpose-specific medical monitoring device. Such optical sensors may be specialized (in terms of their coatings, durability, lightemissions, sensitivity, wavelengths, etc.) for constant or regular skin contact and acquiring PPG data specifically. In such cases, the PPG data can be continually collected and monitored in real time. In some examples, the PPG data can carry information that can directly or indirectly determine parameters, such as heart rate, blood pressure, and artery stiffness. The PPG data can obtained as raw output from an optical sensor, or can be digitized and processed into a PPG waveform. Likewise, the data may be provided continuously, at given periods, or dynamically, and may be in the form of a time series.
[0031] At step 104, the process 100 can determine a temporal period of PPG data to be analyzed. In some examples, the temporal period of PPG data can be a defined interval that is acquired at a set periodicity, or dynamically depending on other factors (e.g., heart rate, temperature, etc.). In other embodiments, the temporal period may be a sliding window of real time continuous data. For example, the temporal period may be a 40 second interval of PPG data (or a multiple of 40s intervals), or other intervals such as 5s, 10s, 20s, 30s, 50s, or several minutes. Similarly, the periodicity of acquisition may be once an hour, once every half-hour, every 15 minutes, 10 minutes, 5 minutes, 3 minutes, etc. In other embodiments, the periodicity may dynamically increase (for more data acquisition) when other cardiovascular measurements appear elevated (e.g., heartrate, temperature, skin wetness / sweating, commencement of a workout, etc.).
[0032] At step 106, the process 100 can filter and pre-process the obtained PPG data (e.g., interval-by-interval, or temporal periods, etc.) and provide the result as an input to a unique multi-stage machine learning (ML) model having an architecture as described herein. Filtering and pre-processing of the PPG data may include band-pass filtering, high / low pass filtering, signal normalization to a common scale (e.g., voltage or amplitude normalization), analog to digital conversion, resampling, etc.
[0033] In some examples, pre-processing can also include certain supplementation or feature extraction of the PPG signal to increase the types and hierarchy of information available to the multi-stage ML model, so as to render the PPG data multi-variate (e.g., comprising more than simply the PPG waveform values, but rather multiple types or variations of the data). For example, supplementation may include techniques such as generating transformations from the signal like: first or second order derivatives from a PPG signal, principal components analysis, aligning the PPG signal with other signals or data (e.g., ambient and / or skin temperature, heart rate, etc.), and / or analyzing the quality of the signal to remove and / or replace unwanted signal segments.
[0034] Feature extraction of the PPG signal may include a neural network, deep neural network, convolutional neural network, etc. learning features of the PPG data before other stages of the multi-stage ML model. For example a feature extractor may be trained in real time, together with or separately from the other stages of the overall multi-stage ML model. In other cases, the feature extractor may be pre-trained in a self-supervised manner, such as through a self-reconstruction technique using an encoder-decoder architecture. In yet further cases, such feature extractor may simply be a pre -trained model that uses weights of a pre-trained foundation model directly (e.g., with modified input and output layers), and / or a fine-tuned version of any of the foregoing for individual subjects or populations, to account for differences in demographics among populations
[0035] In further embodiments, various additional information may be determined at this step 106. In some examples, temporal information can be associated with the PPG data, either by individual reading (e.g., according to the sampling rate of the PPG sensor) or through subsets of the temporal period. For example, a temporal subset can be labeled with particular information corresponding to the temporal period from which the segment origination and indicate whether the signal is consecutive to signals in other subsets obtained from the same temporal period. In further embodiments, additional statistical information may be determined, such as the rate of increase at any given data point, derivatives or differences of the data points (e.g., 1stto 3rdorder derivatives / differences, etc.).
[0036] In some embodiments, the multi-stage ML model can be a 2-stage, 3-stage, 4- stage, 5-stage, or 6-stage model. In some examples, the first stage of the ML model can optionally entail block 107 of process 100 comprising an initial feature extraction stage (as discussed above) or even a sequence of feature extractions (e.g., extracting features from data transformations (like derivatives) or extracting features from extracted features). In other examples, the first stage of the ML model may be a mask generation network stage, such as described below with respect to block 108. In some examples, another stage of the ML model can be a feature extraction network stage, such as described below with respect to block 110. In relation to these feature In some examples, a further stage of the ML model can be a decision network stage such as described with respect to block 112.
[0037] At step 108, the process 100 can perform a segmentation stage of the ML model to segment one or more of the following data types: PPG data (e.g., filtered and pre-processed PPG data from step 106); further processed or transformed data such as derivatives or similar transformations of the PPG data; features extracted from the PPG data or a transformation of the PPG data; or any combinations thereof. The segmentation stage may entail segmenting input data into multiple partitions based on characteristics of the data. It should be noted that “segmentation” is not limited to simply “separation” of data; rather, segmentation in the sense of process 100 may include modulation, multiplication, thresholding, weighting, de-weighting, binning, and the like and may be performed as a data point-by-data point (or data interval-by-data interval) assessment of an input signal (e.g., an interval or period of PPG data, features extracted therefrom, etc.) and inclusion of each data point into one or more partitions according to a characteristic, value, relationship, etc. of the data.
[0038] The criteria or characteristics used to partition PPG data may include one or more of: temporal information of the PPG data; temporal information of a segment of the PPG data; values of the PPG data recorded by the PPG sensor; waveform morphology; spectral, visual, statistical, or analytical characteristics of one or more complete or incomplete PPG cycles; or similar characteristics. Characteristics used to partition high-order derivatives, transformations, or extracted features may be similarly defined, or may be determined through learning. For example, neural network architectures such as CNN or RNN can extract sequential features with temporal dimensions preserved, in a similar conceptual fashion to the aforementioned transformations of the PPG signal, such as derivatives. The segmentation can then be performed on these features on the temporal dimension, just like segmenting the PPG signal.
[0039] In one embodiment, the characteristics or criteria may be the actual values associated with the PPG data (e.g., intensity values, normalized values of a waveform, values of various derivatives or transforms, etc.). For example, a thresholding criterion may be applied to separate values higher / lower than the threshold into various partitions (e.g., datasets that have been segmentation-masked as compared to the original PPG data). In other examples, more than one threshold (or thresholded bands, such as high ranges and low ranges), and / or more than one partition or criterion may be applied, and not all of the PPG data may be included in a partition. In some examples, one or multiple mask(s) or weighting(s) can be generated so that the data need not necessarily be perfectly segmented into discrete partitions; instead some PPG samples can simply be weighted higher or lower. In some examples, the mask or weighting need not necessarily be applied to raw or processed PPG signal, but can also be applied to a temporal representationlearned, derived, or generated from the PPG signal, such as from a trained convolutional neural network. In some examples, each partition of the PPG data, in the form of PPG segments, weights or masks, can include or exclude, emphasize, attenuate or weight PPG samples that are consecutive or non-consecutive to each other. In some examples, the masks may involve applying weights to high and low values within the temporal period. (As described below, this can allow the ML model to estimate the probabilities of attributing the temporal period to a specified status.) In another embodiment, the characteristic may be the sequential or temporal position of the PPG data within a period. For example, the temporal period can be divided into defined or dynamically determined intervals or subsets. For example, the temporal subset can be a 10 second interval of the temporal period.
[0040] It should also be noted that more than two segmentations are contemplated. For example, a segmentation of PPG data into high / low values may take place as well as a segmentation of PPG data by high / medium / low values, a segmentation of PPG data derivatives and / or a segmentation of features extracted from PPG data. In some embodiments, multiple data types (e.g., hierarchies of original PPG data, transformations / derivatives, and extracted features) may each be segmented as part of block 108.
[0041] At step 110, the process 100 can process the fdtered / pre-processed / segmented PPG data (and / or features thereof) via a second (or subsequent) stage of the ML model to generate feature data corresponding to points in time during the temporal period. For example, one or more sets of data partitions may be provided as input channels to the feature network stage. In some examples, the second stage of the ML model can extract features from the input data in the form of one or multiple scalar(s) or feature vector(s), with or without sequential order. In further examples, contrastive features can also be formed by calculating and using differences between the feature vectors. For example, the second stage of the ML model may involve use of a convolutional neural network to extract features from the input data. In further examples, additional synthesis feature vectors can be formed by learning or specifying a transformation, such as a weighted sum, that takes one or multiple extracted feature vectors as input, and output one or more additional feature vector(s). In some examples, the second stage of the ML model can be a Siamese CNN, or a network that receives an input from batching all segments and / or masked signals that have previously been obtained. However, other ML methods may also be used, such as principal component analysis, regressions, etc.
[0042] Optionally, at block I l l a further feature extraction stage may be performed by process 100. In this stage, process 100 may take the output of the feature network as to a given set of partitions and combine (e.g., multiply, add, subtract, align or concatenate) with output of the feature network as to another given set of partitions, and extract features therefrom.
[0043] At step 112, the process 100 can process the feature data via a third (or subsequent) stage of the ML model to compare, calculate, synthesize, or learn from the feature data to assess whether a change in blood pressure has occurred of a given significance. Thus, in some embodiments, a third stage of the ML model may include an output layer. In some examples, the comparison can be performed using a non-sequential model such as a fully- connected or convolutional neural network, or a sequential model such as a recurrent neural network or a transformer. In some examples, the change in blood pressure can be a drop / decrease in blood pressure and / or an elevation / increase in blood pressure.
[0044] At step 114, the process 100 can output a determination corresponding to whether a change in blood pressure of a given significance has occurred, and / or a quantification of the degree of change. In some examples, a blood pressure change of a given significance can be indicative of a health emergency or other health events related to semantic changes in blood pressure. For example, if the process 100 determines that a change in blood pressure of a given significance has occurred, an alert may be triggered to a patient and / or a medical professional.
[0045] In yet further embodiments, an absolute value or direct measurement of a BP may also be utilized to give additional information to a user, such as actual BP values, average BP values, and variability of BP values. For example, a cuff-based measurement of BP may be utilized as a baseline value, from which a running BP value can be calculated according to degrees of change determined at a regular periodicity. This may be accomplished by storing a baseline BP value from a cuff (or other sensor) that directly measures BP in a historically and clinically-trusted manner, and then incrementing or decrementing that value according to the degree of change detected over a continuous sequence of intervals. In some cases, the running BP value may be periodically replaced with an updated measurement from the cuff (or other) sensor.
[0046] In yet further embodiments, the actual BP value may be used to inform or give relative weight to the assessment of BP change and the extent to which an alert may be generated. For example, if an actual BP value is relatively low, and a 5% change is detected, an alert may not be necessary. In contrast, if an actual BP value is relativelyhigh, and a 5% change occurs an alert may be warranted. In another example, where a quantification of BP change is not calculated, but rather simply a thresholding is performed, the actual BP value may be used to weight the threshold accordingly.
[0047] By way of clarification, it is noted that the process 100 does not necessarily require an absolute value or calibration from a cuff-based (or other) BP monitor in order to provide clinically-relevant BP characteristic information. As noted above, acute change in BP (regardless of absolute value of the starting BP, ending BP, or difference between them) can be reliably determined and is, alone, clinically relevant. Thus, in embodiments contemplated herein, use of a directly-measured or absolute value of BP can allow for additional types of outputs generated by process 100 and offered to users, as well as more specific tailoring of some calculation methods.Example Hardware Systems
[0048] Certain techniques and advantages described herein can be achieved via a variety of different hardware configurations. For example, software instructions that operate on PPG waveforms, or PPG-like data, from a sensor could operate on a processor of the same device as the sensor, a locally connected device, or a remote resource. Thus, FIG. 2 below provide general examples of possible configurations of hardware implementing aspects of the disclosure.
[0049] FIG. 2 shows a block diagram illustrating an example of a system 200 for detecting clinically relevant BP occurrences, from a PPG sensing device.
[0050] In some examples, a computing device 206 can obtain waveform data from a sensor 224 or 228 (such as a PPG sensor or an optical sensor) or other connected device via a communication network 204. In other examples, the computing device 206 may obtain waveform data from an onboard PPG sensor 212. As depicted, the sensors 212, 224, and 228 comprise an optical sensor. As will be understood from the description herein, the sensors 212, 224, and 228 may be a standalone sensor, or may be a variety of types of sensors. For example, sensors 212, 224, and 228 may be or comprise a PPG sensor.
[0051] The computing device 206 itself, can be a remote computation resource like a server of an electronic medical record system, hospital or clinic system, or cloud resource associated with an app. In other embodiments, computing device 206 may be a mobile device and / or a wearable device (e.g., device 206 may be incorporated within sensors 224 or 228, or a mobile device connected to the sensors such as via a Bluetooth connection).In each of these examples, the computing device 206 can include a processor 208. In some embodiments, the processor 208 can be any suitable hardware processor or combination of processors, such as a central processing unit (CPU), a graphics processing unit (GPU), an application specific integrated circuit (ASIC), a field-programmable gate array (FPGA), a digital signal processor (DSP), a microcontroller (MCU), cloud resource, etc. In some examples, the computing device 206 may comprise a general purpose CPU (e.g., to manage external communications, user interface, data management, etc.) as well as a special-purpose processing unit such as an ASIC or custom GPU. Such custom unit may be configured (e.g., through its input / output channels and transistor layout) to perform one or more of the stages of the multi-stage ML model in order to allow for faster processing (e.g., to keep up with a real time incrementing / decrementing of the BP signal).
[0052] The computing device 206 can further include, or be connected to, a memory 210.The memory 210 can include or comprise any suitable storage device(s) that can be used to store PPG-related data used by process 100 (e.g., PPG waveform data, masked data, partition data, etc. in a PPG data storage 216), additional user or environmental data 220 (e.g., absolute values of BP, temperature or heartrate signals, user characteristics that might influence alert sensitivity, etc.), and instructions that can be used, for example, by the processor 208 to perform a user interface, alert system, data transmission, etc. The memory may be a memory that is “onboard” the same device as the sensor 212 that detects the PPG data, or may be a memory of a separate device connected to the computing device 206.
[0053] Additionally, memory 210 may also store separate software routines (e.g., trained models) and functions associated with methods for processing PPG data of sensors 212, 224, and / or 228, such as set forth in FIG. 1 and elsewhere within this disclosure. For example, the multi-stage ML models 218 described herein may be stored in memory 210 to be run on the processor 208 or a specialty processor (such as a GPU) that achieves greater efficiency in processing the PPG data through segmentation, mask learning, and other operations, as described herein. In some embodiments, the multi-stage ML model may be a hardware or virtual processing resource (e.g., a GPU) for efficient performance of some or all of process 100, described above. For example, multi-stage ML model 218 may be a custom GPU that performs the multi-stage ML model of FIG. 1. The memory 210 can include any suitable volatile memory, non-volatile memory, storage, or any suitable combination thereof. For example, memory 210 can include random access memory (RAM), read-only memory (ROM), electronically-erasable programmable read-only memory (EEPROM), one or more flash drives, one or more hard disks, one or more solid state drives, one or more optical drives, etc.
[0054] In further examples, computing device 206 can receive or transmit information (e.g., receiving PPG data from sensors 224 or 228, transmitting instructions to sensors 224 or 228, or transmitting PPG waveforms or masked PPG data to remote devices, etc.) and / or any other suitable system over a communication network 204 through use of an onboard communications system 214. In some examples, the communication network 204 can be any suitable communication network or combination of communication networks. For example, the communication network 204 can include a Wi-Fi network (which can include one or more wireless routers, one or more switches, etc.), a peer-to-peer network (e.g., a Bluetooth network), a cellular network (e.g., a 3G network, a 4G network, a 5G network, etc., complying with any suitable standard, such as CDMA, GSM, LTE, LTE Advanced, NR, etc.), a wired network, etc. In one embodiment, communication network 204 can be a local area network, a wide area network, a public network (e.g., the Internet), a private or semi-private network (e.g., a corporate or university intranet), any other suitable type of network, or any suitable combination of networks. Communications links shown in FIG. 2 can each be any suitable communications link or combination of communications links, such as wired links, fiber optic links, Wi-Fi links, Bluetooth links, cellular links, etc.
[0055] In further examples, computing device 206 can further include one or more input(s) and / or one or more output(s) that permit a user to interact with the software running on the device, such as through a touchscreen, keyboard, display, etc. In one embodiment, the output can be any suitable output devices, such as a screen, a computer monitor, a touchscreen, a television, an infotainment screen, a speaker, an earphone, a mobile phone, a watch etc. to display the report. In further embodiments, the user interface 222 can deliver the report through any suitable media, such as via sound, alarm, or notifications, played or displayed by the output device on the computing device 206 itself, or on other peripheral devices (e.g. a mobile phone or a watch) wired to or wirelessly connected to device 206. In further embodiments, and / or the input(s) can include any suitable input devices (e.g., a keyboard, a mouse, a touchscreen, a microphone, etc.).
[0056] In block 202, various examples of physical hardware implementations are shown for circumstances in which the system 200 may entail acquisition of PPG data from a user. In some embodiments, a wearable device 224 (such as a smartwatch) may acquire the PPG data via an onboard PPG sensor. In other embodiments, a cuff-based BP monitor226 may also be utilized, such as a wireless cuff that periodically measures an absolute BP value. In yet further embodiments, a custom device 228 may be utilized which incorporates a PPG sensor into a cuff-based BP measurement device. Such a custom device 228 may be utilized for at-risk individuals, in clinical / hospital / ER settings where intensive and accurate monitoring is warranted, etc.Example Mask Generation Process
[0057] FIG. 3 is a flow diagram illustrating an example mask generation process 300. In some examples, the process 300 may achieve some or all steps of process 100, such as steps 108-112, or 106 to 114, etc. As described below, a particular implementation can omit some or all illustrated features / steps, may be implemented in some embodiments in a different order, and may not require some illustrated features to implement all embodiments. In some examples, an apparatus (e.g., computing device, processor with memory, etc.) can be used to perform example process 300. However, it should be appreciated that any suitable apparatus or means for carrying out the operations or features described below may perform process 300.
[0058] At step 302, the process 300 can provide PPG data (or derivatives and / or extracted features thereof) to a mask generation network to extract features and determine characteristics of change in BP states, and to generate at least one mask M based on such features / characteristics. In some examples, the extracted features may be global features. The characteristics may be associated with changing between a base-level BP and an elevated or dropped BP. In some examples, the base-level BP is a static BP level measured at a certain time instance or period. In some examples, the base-level BP is determined dynamically for detecting certain amount or type of BP change at certain time instance or period. For example, the base-level BP may be defined as the lowest or highest BP level within a 40-s period of interest (or other period of interest that may be suitable for measuring one or more BP cycles), for detecting the maximum BP elevation or drop within the period. In other examples, the characteristics may be indicative of other types of physiological state changes. In some examples, the process 300 may use information from other sources, such as from other physiological signals (e.g., ECGs), from information or features learned or extracted from PPG or other physiological signals, or from other information, such as a subject’s demographic information (e.g., age, gender, height, weight, body mass index (BMI), etc.) to generate at least one mask.
[0059] In one embodiment, the feature extraction may be part of a self-contrastive masking process. A SCM process may produce a set of weights (e.g., emphasizing high / low values above / below threshholds) by finding and conducting pairwise temporal comparisons within the input PPG signal.
[0060] At step 304, the process 300 can generate a first mask from weighting or segmenting the PPG temporal data. In some examples, the generated mask may have one or more assigned weights corresponding to the specific values of the PPG data.
[0061] At step 306, the process 300 can generate two or more mutually constrained masks that weight or segment the PPG temporal data. In other examples, at least one additional mask may be generated, such that each additional mask is constrained by a corresponding mask (a first mask, a second mask, a third mask, etc.). As described below, two views of the input signal can be considered by forming one pair of contrastive masks, while learning more masks / views from the signal may further extend the model’s capability in identifying changes from the input signal. In some embodiments, the additional mask can be generated as an inverse of the first mask (e.g., where the first mask up-weights values, the second mask would correspondingly down-weight values, and vice versa).
[0062] At step 308, the process 300 can generate multiple masked copies of the PPG data (or derivatives and / or extracted features), including a contrastive data set. In some examples, the masked copies are yielded by modulating an input of the PPG data. For example, the masks generated at step 306 may be applied to the PPG data to acquire masked copies of the data by performing element- wise multiplication. The masked copies may be created by multiplying the PPG values by the corresponding mask weights. In some examples, the contrastive data set may include an element-wise difference of the values of the masked copies of the PPG data, such that it may retain temporal information of the PPG data. In other embodiments, the masks and masked copies may be generated by process 300 as a single step (in other words, a contrastive data set may not be generated separately from the masks themselves).
[0063] At step 310, the process 300 can extract features from each masked copy of the PPG data and / or the contrastive difference data set. In some examples, the extracted features may be in the form of one or more feature vectors. In some examples, the extracted features may be related to BP states.
[0064] At step 312, the process 300 can process features via an output network to determine data concerning a change in BP. For example, the output network may be trained on features related to attributes of interest of the data (e.g., base-level andelevated / dropped BPs), and the contrastive difference may allow increased / decreased BPs to be described.Example Embodiments and Experiments
[0065] The inventors performed certain experiments using the foregoing process, as described about with respect to process 100 of FIG. 1 and process 300 of FIG. 3. The following descriptions provides examples and data from those experiments. Accordingly, the following description is directed to non-limiting examples.
[0066] Referring now to FIG. 4, a block diagram is shown to illustrate the inventors’ overall validation efforts, as further described in detail below.
[0067] As shown, the validation work begain with obtaining PPG interval data: PulseDB was considered as the primary source of such data. PulseDB is the largest cleaned dataset to date, with 5,245,454 10-s segments of lead-II ECG, fingertip PPG (with both versions of non-normalized and normalized amplitudes), and arterial BP (ABP) signals. These are sampled at 125 Hz, and retrieved from 5,361 subjects in the MIMIC-III waveform database matched subset and the VitalDB database. The inclusion of subject identification information in PulseDB allows for testing the generalization ability of the model to new subjects, by preventing overlapped subjects in the training and the testing sets. Furthermore, the inclusion of data from MIMIC-III and VitalDB databases in PulseDB, enables one test the generalization ability of the model across domains.
[0068] From PulseDB, 10 -s PPG segments were retrieved with non-normalized amplitudes, as well as their corresponding ABP signals. The ground-truth SBP value (referred to here as SBPRef) for each 10-s PPG segment, was obtained by calculating the beat-averaged SBP from the segment’s corresponding ABP signal. The beat-averaged SBPs are used here to reflect consistent changes in baseline SBP levels, eliminating the influence of short-term beat-to-beat BP fluctuations.
[0069] Without loss of generality, the problem on hand was set as detecting SBP changes (elevation or drop) of over 10 mmHg within a 40-s interval. This setting is chosen as an example of clinical emergency scenarios that involve acute changes in baseline BP levels, such as the onset of AD in patients with SCI. However, the model can also be trained for detecting larger changes in either SBP or DBP over longer or shorter intervals.
[0070] From PulseDB, 40 -s temporal consecutive segments were formed by concatenating successive 10 -s segments marked by consecutive SegmentID labels, included in PulseDB. After creating the 40-s intervals, the PPG signal as well as itsderivatives were min-max normalized between 0 and 1 for each 10 -s segment, to facilitate mask interpretability. Two datasets, each consisting of balanced training, validation and testing sets, were created for two study cases. One dataset was used for training and testing the ABP-Net to detect SBP elevations above lOmmHg, and another was used to train and test the ABP-Net to detect SBP drops exceeding lOmmHg. The details of the process used to generate these datasets from PulseDB are described in below.
[0071] For the study case of detecting over-threshold elevations in SBP, the ground-truth maximum SBP elevation within each 40-s interval, denoted here as ASBPRise,Ref, was calculated using the beat-averaged reference SBPs of each 10-s segment within the interval from:ASBPRise Ref— max[SBPRef 2— SBPRef l, SBPRef 3— SBPRef l,SBPRef,4—SBPRef ltSBPRef 3— SBPRef 2, (i)SBPRef,4—$BPRef2, SBPRef4— SBPRef 3], where SBPRef, i, SBPRef, 2, SBPRef, 3, SBPRef, 4 denote the beat-averaged reference SBP values for the first, second, third, and and fourth 10-s segments of the 40-s interval.
[0072] For the study case of detecting over- threshold drops in SBP, the ground- truth maximum SBP drop within each 40 -s interval, denoted here as A SBPDroP,Ref, was calculated using:ASBPDrop Ref— max[SBPRef l— SBPRef 2, SBPRef l— SBPRef 3,SBPRef,i—SBPRef 4, SBPRef 2— SBPRef 3, (2)SBPRef,2—SBPRef4, SBPRef 3— SBPRef4].
[0073] To assess the generalization ability of the example model to new subjects, for each study case, 80%, 10% and 10% of all the retrieved PPG intervals of 40-s duration were randomly selected to form the training, validation, and testing sets, respectively, with no subject overlap among the sets, to avoid data leakage. Tables 1 and 2 summarize the statistical information of the generated training, validation, and testing sets for the overthreshold SBP-elevation detection and SBP-drop detection study cases, respectively. As can be seen, in each table, the training, validation and testing sets are similar in age, gender, and ground- truth ASBPRise,Ref / ASBPDrop,Ref distributions. FIG. 5 visualizes the distribution of the ground-truth ASBPRise,Ref and ASBPDroP,Ref labels in each dataset.
[0074] Table 1: Statistical information of the training, validation, and testing sets generated from PulseDB for the SBP-elevation detection study case.
[0075] Table 2: Statistical information of the training, validation, and testing sets generated in this study from PulseDB for the SBP-drop detection study case.
[0076] Furthermore, to showcase the cross-domain generalization ability of the example model, the inclusiveness of PulseDB was used, having data from both the MIMIC-III and the VitalDB databases. Domain shift is one of the causes of performance degradation in majority of machine learning-based methods that deal with physiological signals. From the dataset used for the study case of detecting over-threshold SBP elevation, separatetraining, validation, and testing sets were created from MIMIC-III and VitalDB. Using these sets, one can examine how the model functions when trained solely on MIMIC-III data but tested on VitalDB data, and vice versa. Table 3 summarizes the statistical information of the generated training, validation, and testing sets used for cross-domain generalization evaluation of the example ABP-Net.
[0077] Table 3: Statistical information of the training, validation, and testing sets generated for cross-domain generalization evaluation of ABP-Net.
[0078] Example Self-contrastive Masking (SCM) Model: The example SCM model used in the inventors’ validation experiments (as shown in FIG. 4) is now described,which forms a portion of the example A BP-Net, discussed in more detail later. Comprising a modified Siamese network architecture, the example SCM model is designed to produce outputs by finding and conducting pairwise temporal comparisons within the input signal. FIG. 6 (a) depicts the high-level architecture of SCM, in comparison to a basic end-to-end deep learning architecture shown in FIG. 6 (b).
[0079] Let S G RCXLrepresents the C-channel physiological input with L samples. One can consider the input signal to include two temporal sections that correspond to two different states (e.g., in one case, base-level SBP vs. elevated SBP) depicting the process of physiological change (e.g., in one case, the elevation / increase in SBP). Thus, the masks can be thought of as gradient-optimized segmentation masks.
[0080] From the input S, one learns a mask generation network to produce a mask M, M — [mi m2•••mL], o < m < 1, in which m1, m2, ••• , mLare the weights corresponding to each sample of the input. In some examples, the weights may be generated using a mask generation network that is trained on generating weights based on a PPG input.Next, the mask M, learned from the input S, is applied to S itself to yield the mask- modulated version SM, by calculating the element- wise multiplication asSM= S ® M
[0081] Here, M is expected to retain those temporal sections in the input that correspond to one of the two states (e.g., elevated SBP) by giving them weights close to 1, and attenuate the amplitude of the other temporal sections by assigning them small weights.
[0082] Meanwhile, M' — 1 — M — [1 — m1;1 — m2,— mL] is the complementary mask derived from M , that would contrastively retain temporal sections that are attenuated in SM, while attenuating the temporal sections that are retained in SM. That is, while SM— S ® M emphasizes the temporal sections of the input corresponding to one state, SM, — S ® M' emphasizes the temporal sections in the input corresponding to the other state.
[0083] Next, Sj j and S]^p are used as inputs to a shared feature extraction network, to extract comparable features, ZMand ZM,, that are related to the two states (e.g., here, base-level and elevated SBPs). Finally, the two feature vectors ZMand ZM„ as well as their contrastive difference ZM— ZM, , are used together as inputs to the final output network.
[0084] Similarly, when the model is trained to detect the drop / decrease in SBP, the two states will be trained to relate to base-level and dropped SBPs, and the contrastive difference formed between ZMand ZM, would describe the decrease in SBP.
[0085] In summary, the example SCM model can automatically perform temporal comparisons within the input signals, through applying pairs of complementary masks learned from the input via deep learning models. The example SCM model innovatively eliminates the necessity of manually creating input pairs for comparisons, which is generally required by comparison-oriented networks such as the Siamese.
[0086] Example A BP-Net Model: FIG. 7 displays the detailed layer-wise implementation of the example A BP-Net, which leverages the SCM architecture introduced in FIG. 6 (a) to detect changes in SBP (elevations or or drops) over a given value (here 10 mmHg) during intervals of specific duration (here 40 s).
[0087] The model receives a 4-channel, 40-s interval of the PPG signal as well as its first, second and third derivatives as its input S G R4X5000. The derivatives of PPG are considered here since prior studies have shown that some BP-related features are only present in the higher-order derivatives of the PPG signal.
[0088] The mask generation network shown in FIG. 7 (a) utilizes residual blocks to extract global features from the input, followed by a long-short term memory (LSTM) network to model the dependencies and transitions from the base-level SBP state to the elevated SBP state. The mask generation network produces a mask kernel with L — 12 from the input PPG signal, which is up-sampled to the full mask M with L — 5000 through the nearest neighbor method. Generating the mask by up-sampling a shorter mask kernel helps to improve computational efficiency, facilitate continuity of PPG intervals retained or attenuated by the mask, and simplify the learning process.
[0089] Meanwhile, the feature extraction network in FIG. 7 (b) is constructed using a combination of ResNet and the squeeze-and-excitation (SE) block, namely ResSENet, to extract comparable features from the two contrastively-masked signals. SE is a channel-wise self-attention mechanism that fuses global information to emphasize channels with high relevance to the estimation target, as shown in FIG. 7 (d).
[0090] Finally, a two-layer fully-connected neural network taking the concatenation of ZM, ZM„ and ZM— ZM, as input, forms the output network shown in FIG. 7 (c).
[0091] Detecting Changes in SBP via Classification or Regression: Using the ABP- Net model depicted in FIG. 7, two approaches are considered for the output network to detect SBP changes (elevations or drops), denoted here as ASBP during the 40-s interval: 1) binary classification, in which it was decided whether the ASBP is over a given threshold (here 10 mmHg), and 2) regression, in which the actual value of ASBP was estimated. Moreover, to enable comparisons between the results of the two cases, binary labels estimated by the regressor as l(xn> lOmmHg) are considered, to evaluate the classification performance of the ASBP results obtained from the regressor.
[0092] In the first approach (classification), a ABP-Net classifier is trained using the binary cross entropy (BCE) losswhere cr(-) is the sigmoid activation function, xnis the nth logit produced by the output network, yn— l(ASBPRef n> lOmmHg) is the target binary label generated from ASBPRefof the nth 40-s interval corresponding to xn, and N is the batch size.
[0093] The classification performance of the model is evaluated from the perspective of accuracy (ACC) and Fl score, calculated asTP + TNArr — _TP + FP + TN + FN' (5)2 x Precision x RecallF-. Score - — - — - - - - — ,Precision + RecallTP TP where Precision — - Recall — - and TP, FP, TN, FN are the counts of truepositive, false positive, true negative, and false negative predictions made by the model on the testing set, respectively. Each label is predicted by the classifier as l(xn> 0).
[0094] In the second approach (regression), a ABP-Net regressor is trained using the mean squared error (MSE) lossin which xnis the nth estimation made by the output network, ASBPRef nis ASBPRefcorresponding to xn, and N is the batch size.
[0095] The regression performance of the model is evaluated using the R-Squared score(R2), defined asas well as the mean error (ME) and the standard deviation of error (SDE), calculated asandSDE = , (8)respectively. Meanwhile, the linearity between the estimated and reference ASBP values is evaluated using the Pearson’s correlation coefficient (R), as
[0096] In (6)-(9), x and ASBPRise Refare the mean of model-estimated ASBPRiseand ASBPRise Refvalues in the testing set, respectively, and N is the size of the testing set. In both approaches (classification and regression), the models are trained on the training set using the Adam optimizer, with learning rate — le — 4, batch size — 64, and 10 epochs as early-stop tolerance of non-improving loss on the validation set after the first 10 epochs. After training, the weights at the end of the epoch that yields the lowest loss on the validation set, are used to retrieve the performances of the model on the testing set.
[0097] Comparison With Existing PPG-based BP-estimation Methods: To compare the performance of the example ABP-Net in detecting changes (elevations or drop) in SBP above a given threshold using PPG, one can compare ASBP estimations made directly from the example ABP-Net, to the results derived from three PPG-based BP-estimation methods. Specifically, the BP-estimation models are trained to estimate the beat- averaged SBP for each 10-s segment within the 40-s intervals. In the elevation study case, ASBPRise for each 40-s interval is calculated using (1), while in the drop study case, ASBPnrop for each 40-s interval is calculated using (2). This process will be consistent with the way that ASBPRef labels were generated.
[0098] The following three PPG-based BP-estimation models are considered for comparison. These three models have been implemented and adapted to take the 4- channel PPG and its three derivatives as input, consistent with what is used as input to the example ABP-Net.
[0099] PPG2BP-Net is an end-to-end BP-estimation model that leverages the Siamese network architecture to improve the accuracy of BP estimation via one -point calibration. It has achieved state-of-the-art accuracy in estimating SBP and DBP values on leave-out testing subjects, by utilizing both a target PPG segment (to estimate BP from) and a reference PPG segment (with known reference BP), as inputs to a Siamese network. Since the details of the layers in PPG2BP-Net were not reported, the ResSENet was adapted and used in the example model (FIG. 7 (b)) to implement the PPG2BP-Net. The first 10- s segment from the first available 40-s interval for each subject was used as the reference segment for the one-point calibration.
[0100] CNN-LSTM has been used in cuff-less BP-estimation studies, showing a good BP-estimation performance when tested on randomly-sampled data, with (potentially) overlapped subjects between the training and testing sets. In this model, the CNN is used to characterize the input physiological signal as a sequence of feature vectors, while the LSTM models the sequential occurrence and variations of cardiovascular activities, encoded in the feature vectors that are closely related to BP. Here, the network architecture was adapted for SBP estimation.
[0101] U-Net is a deep learning architecture for image segmentation, that utilizes skip connection between the deep and shallow feature maps at multiple levels, to enable propagation of high-resolution context information from the initial layers to the output layers. Recently, 1-dimensional form of U-Net have been adapted to estimate ABP signal from PPG. These methods have achieved good accuracy in both ABP reconstruction and SBP estimation, on randomly-sampled testing data. The beat-averaged SBP values were then calculated from the reconstructed ABP signal as the estimated SBP values, and ASBP estimations were then derived from the estimated SBP values, for comparison with the example model.
[0102] Ablation Study: To further validate the effectiveness of the example ABP-Net, an ablation model was formed to compare with the example model, by removing the mask generation network, and re-configuring a non-contrastive model using general end-to-end deep learning architecture, as shown in FIG. 6 (b). For a fair comparison, the samearchitectures was used as shown in FIG. 7 (b) and (c) to implement the feature extraction network and the output network in FIG. 6 (b).
[0103] Results - Performance of ABP-Net: Generalization Across Individuals: Table 4 summarizes the performance results of the example ABP-Net models when tested on data from subjects unseen during training. Two study cases are considered: one for detecting elevations in SBP above a given threshold (ASBPRise > 10 mmHg), and another for detecting drops in SBP above a given threshold ( SBPnrop > 10 mmHg). For each study case, results for both classification and regression tasks are reported. Additionally, binary classification results indicating whether the change in SBP exceeds the given threshold are provided for the regression task.
[0104] Overall, the results for the classification and regression metrics in Table 4 in both study cases of detecting above-threshold elevation / drop in SBP, suggest the models’ capability for inter-subject generalization. The best results are obtained for the ABP-Net classifier model, achieving the highest ACC and Fi score of 0.7597 and 0.7507 , respectively, for the SBP elevation study case. Similarly, for the SBP drop study case, the ABP-Net classifier also achieves the highest ACC and Fi score of 0.7319 and 0.7334. These results demonstrate universal usability of the example ABP-Net in detecting SBP changes (elevation or drop).
[0105] Performance of ABP-Net: Comparison with Direct BP-estimation Methods: Table 4 compares the performance of ABP-Net with the considered PPG-based BP- estimation models (PPG2BP-Net, CNN-LSTM, and U-Net) in detecting above-threshold changes in SBP.
[0106] For each direct BP-estimation model, first the value of SBP is estimated for the 10-s segments, and then the maximum changes in SBP are obtained using (1) in the elevation study case or (2) in the drop study case. Classification results are then obtained by applying the 10 mmHg threshold. The performances of these models in estimating SBP values are summarized in Table 5, with PPG2BP-Net demonstrating the best performance among the three models. Their overall poor performance further confirms the generalizability issue of PPG-based direct BP-estimation models.
[0107] Table 4: Performance summary of the example ABP-Net classifier and regressor, PPG-based direct BP-estimation methods, and the ablation models for detecting changes in SBP above a given threshold. For the elevation study case (ASBPRise > 10 mmHg) N = 23,684, and for the drop study case (ASBPnrop > 10 mmHg) N = 25,966. All models weretrained and tested with the full (MIMIC+VitalDB) training, validation, and testing sets, with no subject overlap between testing and training sets. ACC: classification accuracy; R: Pearson’s correlation coefficient; R2: R-Squared score; ME: mean error; SDE: standard deviation of error. Classification performances are derived for regression models by applying 10 mmHg threshold to ASBP estimations. The best achieved classification and regression results are shown in bold for each study case.
[0108] To investigate this further, FIG. 8 (a) shows the regression plot for SBP estimations of PPG2BP-Net. As seen, high SBP values are underestimated, and low SBP values are overestimated by the model. This explains for the large negative bias, lack of fit, and lack of accuracy for ASBPRise regression and classification results derived from the PPG2BP-Net (FIG. 8 (b)), compared to the direct ASBPRise estimations made by the example ABP-Net regressor (FIG. 8 (c)). Overall, the poor performance of direct BP- estimation models for ASBPRise estimation confirms the necessity of taking alternative approaches in developing dedicated models for monitoring changes in BP. Results in Table 4 confirm that the example ABP-Net models perform significantly better than thedirect BP-estimation methods for detecting over-threshold changes in SBP, both in classification and regression tasks.
[0109] Table 5: Performance summary of the PPG-based direct BP-estimation methods for estimatig SBP values. All models were trained and tested with the full (MIMIC+VitalDB) training, validation, and testing sets (N=68,064), with no subject overlap between testing and training sets. R: Pearson’s correlation coefficient; R2: R- Squared score; ME: mean error; SDE: standard deviation of error.
[0110] FIG. 8 shows: (a) Regression plot of the SBP estimations from PPG2BP-Net. High SBP values are underestimated, and low SBP values are overestimated, (b) ASBPRISC estimations derived from SBP estimations in (a). Large ASBPs are underestimated due to evaluating differences between underestimated high SBP and overestimated low SBP, leading to numerous false negative estimations, (c) ASBPaise estimated directly from the example ABP-Net regressor.
[0111] FIG. 9 summarizes the receiver operating characteristic (ROC) curves, and the precision-recall trade-off curves, plotted for the example ABP-Net classifier and regressor models and the three direct BP-estimation models, from the elevation study case. As seen, compared to the three PPG-based BP-estimation models, the example ABP-Net classifier and regressor show the largest area-under-curve (AUC) in both plots, demonstrating their superior performance in identifying over-threshold elevated SBP values. It can also be seen that the ABP-Net regressor offers estimations with very similar ROC curve, and precision-recall trade-off characteristics, compared to the ABP-Net classifier. These results suggest the versatile usability of the example ABP-Net model, in both classifying and regressing tasks.
[0112] FIG. 9 shows a comparison of the classification performance of the example ABP- Net model (as a classifier and a regressor), three PPG-based direct BP-estimation models (PPG2BP-Net, CNN-LSTM, U-Net), and non-contrastive ablation model (as a classifierand a regressor) , in identifying intervals of 40-s duration with ASBPRise > 10 mmHg, (a): Receiver operating characteristic (ROC) curves, (b): Precision-recall trade-off curves.
[0113] Performance of ABP-Net: Comparison With Ablation Models: Table 4 and FIG. 9 also summarize the results from the ablation classifier and regressor that utilized the general non-contrastive architecture (FIG. 6 (b)). The models were trained on the full training set and tested on the full testing set. As seen, when removing the contrastive masking mechanism from the example ABP-Net model to form the ablation model, a major performance degradation is observed. These results further validate the effectiveness of the example SCM architecture in modeling PPG changes associated with BP changes .
[0114] Performance of A BP-Net: Generalization Across Domains: Table 6 summarizes the performance of ABP-Net, as a classifier and a regressor, in determining ASBPRise > 10 mmHg. Results are reported for when the models are trained using only one subset (MIMIC or VitalDB), and tested on one subset (MIMIC or VitalDB). As discussed earlier, there is no overlap between subjects in the training and testing sets, even when the models are trained and tested on the same subset.
[0115] Table 6: Performance summary of the example ABP-Net classifier and regressor for detecting ASBPRise >10 mmHg (elevation study case) and assessing its cross-domain generatlization capability. The models were trained on one subset, either MIMIC (training set: N=152,346) or VitalDB (training set: N=50,608), and subsequently tested on either subset: MIMIC (testing set: N= 17,060) or VitalDB (testing set: N=6,624), with no subject overlap between the training and testing sets. ACC: classification accuracy; R: Pearson’s correlation coefficient; R2: R-Squared score; ME: mean error; SDE: standard deviation of error. Classification performances are derived for regression models by applying 10 mmHg threshold to ASBP estimations. Cross-domain generalization results from testing sets sourcing differently from the training set are underscored.
[0116] To evaluate the domain generalization capability of the ABP-Net, the performance results of the models trained on one subset (VitalDB or MIMIC) was observed and tested on another. From Table 6, one can see that the ABP-Net classifier trained on VitalDB and tested on MIMIC, achieves ACC and Fi of 0.6897 and 0.6427 , respectively. Comparably, when this model is trained on MIMIC and tested on VitalDB, it achieves ACC and Fi of 0.7215 and 0.7079, respectively. For the ABP-Net regressor, the model trained on VitalDB and tested on MIMIC exhibits R2of 0.1824, while the model trained on MIMIC and tested on VitalDB achieves R2of 0.2478. Although the R-squared scores are low, one can see moderate correlation (R> 0.5) between the estimated and groundtruth ASBP across domains. For the cross-domain generalization cases (underscored in Table 6), results suggest that models trained on MIMIC outperform those trained on VitalDB. The three times larger MIMIC training set (compared to VitalDB training set) likely contributes to this difference, emphasizing the importance of dataset size for improved performance across domains. As expected, when the models are trained and tested with data from the same domain (not underscored in Table 6), the results are improved. Overall, the results demonstrate the successful results of employing ABP-Net, especially when used as a classifier, for cross-domain generalization.
[0117] Interpretability of Masks Generated by ABP-Net: FIG. 10 displays an example of 40-s interval of PPG along with the reference SBPRef values for each 10-s segment of the signal, the generated mask M and its complementary version M', as well as the first channel of mask-modulated version of the input signal, SMand SM,, from the ABP-Net classifier for detecting over-threshold SBP elevations. Very similar results were also observed for the A BP-Net regressor. In the displayed example, the ground-truth maximum SBP elevation is over 10 mmHg (SBPRef, 3-SBPRef,i=23.7 mmHg), making this interval a positive case of elevated SBP.
[0118] From FIG. 10 (b), one can see that the generated mask M has retained the 3rd and 4th segments of the interval when SBPRef is elevated, while the generated complementary mask M' has retained the 1st and 2nd segments which have lower SBPRef. The model then applies the generated two masks to the input, to generate mask-modulated signals, SM(FIG. 10 (c)) and SM, (FIG. 10 (d)), with specific portions retained or attenuated depending on the masks.
[0119] FIG. 10 illustrates examples of masks as well as mask-modulated signals generated by the example SCM model for identifying over-threshold elevations in SBP. (a): An example of 40-s interval of PPG as input to the model (first channel of S). Each 10-s segments in the 40-s interval is marked with a box, with its corresponding SBPRefvalue noted above each box. Segments with highest and lowest SBPRefvalues are marked as blue and red, respectively, (b): Mask M and its complementary mask M', generated from S by the mask generation network in the model, (c) and (d): The first channel of SMand SM,, the mask-modulated signals, that are used as inputs to the feature extraction network in the model.
[0120] FIG. 11 shows a visualization of synthesized masks for detecting (a) ASBPRise, and (b) ASBPnrop. Masks are averaged from samples in the testing set with maximum SBP (a) or minimum SBP (b) occurring in the 1st, 2nd, 3rd, and 4th 10-s segment of the input signal.
[0121] FIG. 11 (a) displays four plots representing the average of the masks generated by the ABP-Net classifier for the 40-s intervals in the testing set. Here, the ABP-Net is trained for identifying SBP elevation. Each plot is obtained by averaging the generated masks, grouped based on which of the four 10-s segments contains the maximum reference SBP. The observed increasing amplitude of the averaged masks towards later segments suggests a comparison between early and late parts of the 40-s interval to detect SBP elevation. This is expected since higher SBP levels must occur after lower SBP levels for an elevated SBP. Interestingly, it can be seen that the averaged masks peak at samples 1-1250, 1250-2500, 2500-3750, and 3750-5000, corresponding to the first, second, third, and fourth segments of the input data, respectively. This suggests that the mask amplitudes are closely related to the occurrence of the maximum SBP in the interval. Similar observations are seen for the case when the model is trained to detect overthreshold SBP drop, as seen in FIG. 11 (b). It can be concluded that the masks generatedby ABP-Net are able to provide human-interpretable visualizations that support the expected behavior of the model, when determining over-threshold BP changes from PPG.
[0122] Discussion: To date, development of practical PPG-based BP-estimation models has remained challenging, due to the limited inter-subject and cross-domain generalization capabilities of existing solutions. Moreover, variables, such as individuals’ demographics and physiological properties, that can alter the PPG-BP relationship, are subject-dependent and may also change dynamically over time. This leads to subjectspecific and time-varying PPG-BP relationships, limiting generalization when testing models on unseen subjects. While existing solutions have attempted to address this problem through subject-specific calibration or transfer learning, these approaches, require additional BP measurements from alternative devices as references, for new subjects, thereby, limiting their practicality.
[0123] The example ABP-Net approach has explored tackling inter-subject and crossdomain generalization of PPG-based BP-estimation models, by alternatively focusing on evaluating the “changes” in BP over a continuous interval using end-to-end deep learning methods. PulseDB was used, with detailed subject identification information for reliable validation of both inter-subject and cross-domain generalization of the example models. The focus was shifted from measuring absolute BP, to identifying intra-subject, shortterm and rapid BP changes. These changes are more likely associated with immediate physiological responses or events that may be less affected by inter-subject physiological differences, thereby, aiding in improving the generalization ability of the model. The model was trained for a challenging task of identifying a very specific type of change (i.e., the maximum elevation / drop) in BP from only the PPG signal, without accessing the absolute SBP values corresponding to each segment during supervised training.
[0124] To model BP changes efficiently, the example ABP-Net employs the novel SCM, which spontaneously learns to form and compare two contrastive views of the input PPG signal via mutual-exclusive masks, aligning with the heuristic intuition of making comparisons for identifying changes. The example ABP-Net was used both as a classifier (to identify SBP changes over 10 mmHg during 40 -s intervals) and a regressor (to estimated ASBP). The ASBP estimations were converted from the ABP-Net regressor into binary labels by thresholding the estimated ASBP values, to enable comparisons with the ABP-Net classifier. Moreover, the effectiveness of the example model was verified in evaluating BP changes, by forming extensive comparisons with the state-of-the-art andwidely-discussed PPG-based BP-estimation methods that have also been included in other large-scale benchmark studies focusing on model generalization.
[0125] The specific A BP-Net and the SCM deep learning architectures used in the foregoing experiments show that, more generally, the systems and methods described herein offer several advantages including the following:
[0126] Generalization Ability- As seen in Tables 4 and 6, the example ABP-Net offered promising performance in identifying abrupt SBP elevations from only PPG, even in the presence of inter-subject and cross-domain shifts. Additionally, from Table 4, the example ABP-Net outperformed the three PPG-based direct BP-estimation methods, in both estimating ASBP and the classification task. These results underline the limitations of PPG-based direct BP-estimation methods, particularly when dealing with distinct subject groups in the training and testing sets. Furthermore, the ablation models based on naive end-to-end deep learning architecture demonstrated the efficiency of the inclusion of the example SCM architecture in ABP-Net for ASBP estimations. Overall, these results highlight the ABP-Net’ s adaptability to address inter-subject and cross-domain shifts effectively.
[0127] Interpretability- In FIGs. 10 and 11 , the masks generated by the example ABP- Net model offer human interpretability, allowing them to visually explain the estimations made by the model. In the example SCM-based model, masks directly modulate the inputs to the feature extraction network during inference, providing visualizations closely aligned with the model’s predictions — unlike indirect visualizations seen in methods like gradient-based class activation mapping. As such, ABP-Net and SCM variants can enhance outcome reliability. For example, noisy intervals identified by the mask could prompt improvements in signal processing or sensor placement for more reliable estimations in the future.
[0128] Broader Applicability- Traditionally, BP has been widely assessed from a static perspective (e.g., measuring the resting or averaged BP for clinical diagnosis of hypertension). For the example ABP-Net method, the focus was on tracking the changes in SBP above a given threshold during intervals of specified duration. As the example ABP-Net requires only one PPG sensor to evaluate BP changes, the model can be implemented on an unobtrusive wearable device, making it applicable for various clinical purposes. While in the foregoing experiments, detecting at least 10 mmHg changes in SBP over 40 s was considered, it is recognized that the methods and systems disclosedherein can be expanded to identify larger changes in either DBP or SBP over longer or shorter intervals, provided that sufficient balanced data is available for training. Thus, the systems and methods herein can be used in real-time patient monitoring, early warning systems, and personalized healthcare interventions.
[0129] Dataset Generation from PulseDB:
[0130] Each 10-s segment in PulseDB is labeled with CaselD, which specifies the particular record from which, the segment is originated, and a SegmentID, which indicates whether the signal in the segment is consectuvie to signals in other segments obtained from the same record. Additionally, there is a SegSBP label that marks the ground-truth beat-averaged reference SBP value (SBPRef) calculated from the ABP signal within the sement. The continuous 40-s interval of PPG signal to be used as input to the example model is thus obtained by searching for quartets of four 10-s segments with the same CaselD and consecutive SegmentID for each subject in the PulseDB dataset. These segments are then concatenated sequentially to form the 40-s input singals for the model. The procedures of creating dataset of 40-s PPG intervals for this study from PulseDB are summarized in FIG. 12.
[0131] Alternative Contemplated Methods for Acute SBP Elevation Detection:
[0132] Referring now to FIG. 13, an example of an alternative process 1300 is shown for determining acute changes in SBP. In some examples, process 1300 may be a modification or alternative to process 300 of FIG. 3 and the methods utilized in the associated Examples section. Thus, process 1300 may perform some or all of the steps of process 100 in FIG. 1, such as steps 108-112, or 106-114.
[0133] FIG. 13 is a flow diagram illustrating an example process 1300 for generating a likelihood of a significant change in BP. As described below, a particular implementation can omit some or all illustrated features / steps, may be implemented in some embodiments in a different order, and may not require some illustrated features to implement all embodiments. In some examples, an apparatus (e.g., computing device, processor with memory, etc.) can be used to perform example process 1300. As referenced herein, process 1300 may represent a “self-contrastive masking” approach to data supplementation for more accurate detection of BP characteristics like acute changes.
[0134] At step 1302, process 1300 can generate a transformation(s) of PPG data obtained for a given patient / user, such as first to third order derivatives for the PPG data . . In other words, using PPG waveform data (whether continuous or discretely sampled), a first,second, and / or third order derivative may be computed for a given set of points in time during an interval of the PPG data.
[0135] Optionally, at step 1303, rather than (or in addition to) generating such derivatives, an initial feature extraction step may be performed on the PPG data and / or the transformations, as described above.
[0136] At step 1304, process 1300 can segment the PPG data (and / or the transformations and extracted features thereof) into sequential partitions of a given temporal duration, such as 40s, 30s, 20s, 10s, 5s, etc. For example, the sequential partitions may be a specified number of consecutive segments of PPG signals. In some examples, the sequential partitions may be useful in generalizing data to estimate the differences between resting and intervened blood pressure.
[0137] Optionally, at step 1305, additional data transformations and / or feature extractions may be performed on the partitions.
[0138] At step 1306, process 1300 can batch filter and pre-process PPG data segments / partitions (and / or derivatives and features) to serve as inputs to a deep learning model such as a feature extraction network that extracts features relevant to a change in BP value from the inputs.
[0139] At step 1308, process 1300 can assess changes in the features in a sequential manner using a neural network. For example, features relevant to a relative or absolute average BP value during each sequential partition may be determined, then the values can be compared to one another to determine whether a change occurred from one partition to another, or from a first partition to a subsequent partition. Thus, a likelihood that a significant change in BP occurred during the temporal period can be generated by comparison among the lowest and highest relative BP value feature sets from among the set of partitions.
[0140] FIG. 14 shows a more detailed example implementation of the process 1300, as used in various experiments performed by the inventors. As shown in FIG. 14, the process takes four consecutive segments of PPG signals and their first to third order derivatives as inputs, and produces an output indcating the likelihood of having elevation greater than the considered threshold in SBP. Weight sharing is efficiently implemented by batching the four segments to creat a batched input for the ResNet module. This ensures that the same weights are used to eextract features from each of the four segments. To capture changes between features extracted from the four segments sequentially, a one-layer single-directional LSTM is employed for contrastive modeling. The final hidden state ofthe LSTM serves as a compressed feature vector that consolidates information from the entire process of BP changes, and is utilized to assess the likelihood of a significant rise in SBP occurring within the 40-s interval.
[0141] In the foregoing specification, implementations of the disclosure have been described with reference to specific example implementations thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of implementations of the disclosure as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.
Claims
CLAIMSWHAT IS CLAIMED IS:
1. A method for detecting changes in blood pressure, the method comprising: obtaining photoplethysmography (PPG) data acquired from a subject; determining a temporal period of PPG data to be analyzed; filtering and pre-processing the temporal period of PPG data; providing the filtered and pre-processed temporal period of PPG data to a trained, multistage machine learning model, to: perform a segmentation stage to associate PPG data into a plurality of partitions of the filtered and pre-processed temporal period of PPG data, based on a plurality of PPG data characteristics; process the plurality of partitions via a feature network stage to generate a plurality of feature data corresponding to points in time during the temporal period; and process the plurality of feature data via a decision stage to compare feature data from a plurality of times during the temporal period to assess whether a change in blood pressure of a given significance has occurred; and outputting a determination corresponding to whether the change in blood pressure of the given significance has occurred.
2. The method of claim 1, further comprising: providing PPG data to a mask generation network to extract a first plurality of features; determining, via the mask generation network, a plurality of characteristics of changes from a plurality of blood pressure states; generating a first mask that segments the temporal period of PPG data; generating at least one additional mask that segments the temporal period of PPG data based on different criteria than the first mask; generating a plurality of masked copies of PPG data, extracting a second plurality of features from each of the plurality of masked copies ofPPG data; and processing the first plurality of features and the second plurality of features via an output network to determine blood pressure change data.
3. The method of claim 1, further comprising transmitting an alert indicating whether the change in blood pressure of the given significance has occurred.
4. The method of claim 3, wherein the alert comprises at least one of: a binary value, a change indication value, or a relative change value.
5. The method of claim 1, further comprising partitioning the temporal period of PPG data into a plurality of temporal subsets.
6. The method of claim 3, wherein the alert is displayed on a user device.
7. The method of claim 1, further comprising: generating a plurality of gradient-optimized segmentation-masked datasets unique to the temporal period.
8. The method of claim 7, wherein the plurality of gradient-based segmentation- masked datasets comprises a first gradient-optimized segmentation mask comprising a sequence of values that weight a set of first values of the temporal period of PPG data and a second gradient-optimized segmentation mask that comprises a sequence of values that weight a set of second values of the temporal period of PPG data, the first values and second values being constrained by each other.
9. The method of claim 8, wherein the first gradient-optimized segmentation mask is configured to weight PPG data corresponding to a highest range of blood pressure readings.
10. The method of claim 9, wherein the second gradient-optimized segmentation mask is configured to weight PPG data corresponding to a lowest range of blood pressure readings.
11. The method of claim 1, wherein pre-processing comprises: generating a plurality of derivatives, including a first derivative, a second derivative, and a third derivative corresponding to each of the partitions, wherein the plurality of derivatives include information concerning at least one blood pressure feature; and providing the plurality of derivatives to the multi-stage machine learning model.
12. The method of claim 1, wherein the temporal period of PPG data is segmented into a group comprising four 10 second subsets.
13. The method of claim 1, wherein the multi-stage machine learning model comprises a convolutional neural network and an LSTM network that are trained to, incooperation with one another, generate gradient-optimized segmentation masks to weight the PPG data so as to determine highest values and lowest values of the PPG data.
14. The method of claim 1, further comprising determining a regression performance to estimate a change in a plurality of systolic blood pressure (SBP) values, and to determine a series of performance metrics associated with the determination corresponding to whether the blood pressure change of the given significance has occurred, wherein the regression performances are defined as:
15. The method of claim 1, further comprising determining a classification performance to estimate a change in a plurality of systolic blood pressure (SBP) values, and to determine a series of performance metrics associated with the determination corresponding to whether the blood pressure change of the given significance has occurred, wherein the classification performances are defined as:TP + TNAff=_TP + FP + TN + FN2 x Precision x RecallFi Score = — - - - - - —Precision + RecallTPPrecision = — — — — TP + FPTPRecall = — — — — TP + FN16. The method of claim 1, wherein obtaining PPG data acquired from the subject is performed automatically and continuously based on output of a wearable device worn by thesubject, and further wherein the plurality of partitions includes temporal subsets comprising 40 second overlapping windows.
17. A system for detecting changes in blood pressure, the system comprising: an input channel connected to receive data from a photoplethysmography (PPG) sensor worn by a subject; a processor; and a memory having a set of software instructions stored therein that, when executed by the processor, cause the processor to: continuously obtain PPG data for the subject via the input channel; define an analysis window of the PPG data; pre-process the PPG data to obtain multi-variate PPG data for the analysis window; extract feature information from the multi-variate PPG data of the analysis window; provide a plurality of temporal subsets of the PPG data of the analysis window to a multi-stage machine learning model; process the temporal subsets of the PPG data via a feature network of the multistage machine learning model to generate feature data corresponding to points in time during the analysis window; process an output of the feature network via a decision network of the machine learning model to compare feature data from the analysis window to assess whether a blood pressure change of a given significance has occurred; and output a determination corresponding to whether the blood pressure change of the given significance has occurred.
18. The system of claim 17, wherein the software instructions further cause the processor to: generate a plurality of masked PPG datasets unique to the analysis window, according to at least one of: a characteristic of PPG data or a characteristic of a transformation of the PPG data.
19. The system of claim 17, wherein the analysis window of the PPG data is a 40 second window, and wherein the 40 second window is subdivided into 10 second segments.
20. The system of claim 17, wherein the blood pressure change is an elevation in at least one blood pressure metric.
21. The system of claim 20, wherein the at least one blood pressure metric is: a systolic blood pressure (SBP), a diastolic blood pressure (DBP), a mean arterial pressure (MAP), an arterial blood pressure, a beat-to-beat blood pressure, or a time-averaged blood pressure.
22. The system of claim 17, wherein the blood pressure change is a drop in at least one blood pressure metric.
23. The system of claim 22, wherein the at least one blood pressure metric is: a systolic blood pressure (SBP), a diastolic blood pressure (DBP), a mean arterial pressure (MAP), an arterial blood pressure, a beat-to-beat blood pressure, or a time-averaged blood pressure.
24. The system of claim 17, wherein the software instructions further cause the processor to obtain a baseline value of a blood pressure metric measured by a direct pressure monitor from a user’s arm, and to use the baseline value to determine an ongoing value for the blood pressure metric, without relying on the baseline value to determine an output of the multistage machine learning model.
25. The system of claim 24, wherein the direct pressure monitor is integrated into a wearable device with the PPG sensor.
26. The system of claim 25, wherein the instructions further cause the processor to output both an absolute value of a blood pressure metric as well as a change detection of the blood pressure metric, based on determining changes in the blood pressure metric independent of a direct pressure measurement, and more frequently than determining an absolute value of the blood pressure metric via direct pressure measurement.
27. The method of claim 1 wherein preprocessing includes extracting features using a neural network.
28. The method of claim 2, wherein the first mask and the at least one additional mask are mutually constrained.
29. The method of claim 2, wherein the at least one additional mask is inversely complementary to the first mask.
Citation Information
Patent Citations
Non-invasive blood pressure measurement system
US20220330842A1
Methods and Apparatuses for Assessment and Management of Hemodynamic Status
US20230148876A1
Computer-based platforms and systems configured for cuff-less blood pressure estimation from photoplethysmography via visibility graph and transfer learning and methods of use thereof
US20230148879A1