The present invention is directed to systems and methods for continuously estimating cardiac pulse rate from multi-channel source video data captured of a patient being monitored for cardiac function.
A normal heart rate for healthy adults, during rest can range from 60 to 100 beats per minute (bpm) but can drop to 40 bpm during sleep and go as high as 240 bpm during vigorous exercise. One commonly used maximum heart rate formula is: Max HR=220 minus Age. Clearly, for infants and premature babies, their heart rates are quite high. Our previous patent application: “Systems And Methods For Non-Contact Heart Rate Sensing”, U.S. patent application Ser. No. 13/247,575, by Mestha et al., disclosed a method for analyzing a video to determine a subject's heart rate. For large patient populations and various living conditions, this heart rate algorithm may have to step through 40 bpm to an ultimate maximum of 240 bpm in at least one beat per minute intervals. While sweeping through 1 bpm steps, there is a single frequency (very close to the true pulse) for which the error is very close to zero.
Accordingly, what is needed in this art is a computationally efficient system and method for estimating a subject's cardiac pulse rate from multi-channel source video data that can be used in a continuous monitoring mode with a high degree of measurement accuracy.
The following U.S. patents, U.S. patent applications, and Publications are incorporated herein in their entirety by reference.
“Estimating Cardiac Pulse Recovery From Multi-Channel Source Data Via Constrained Source Separation”, U.S. patent application Ser. No. 13/247,683, by Mestha et al.
“Systems And Methods For Non-Contact Heart Rate Sensing”, U.S. patent application Ser. No. 13/247,575, by Mestha et al.
“Filtering Source Video Data Via Independent Component Selection”, U.S. patent application Ser. No. 13/281,975, by Mestha et al.
“Removing Environment Factors From Signals Generated From Video Images Captured For Biomedical Measurements”, U.S. patent application Ser. No. 13/401,207, by Mestha et al.
“Web-based system and method for video analysis”, U.S. patent application Ser. No. 13/417,979, by Piratla et al.
“Deriving Arterial Pulse Transit Time From A Source Video Image”, U.S. patent application Ser. No. 13/401,286, by Mestha.
“Approach and Applications of Constrained ICA”, Wei Lu and Jagath C. Rajapakse, IEEE Transactions On Neural Networks, Vol. 16, No. 1, pp. 203-212, (January 2005).
“Independent Component Analysis”, Aapo Hyvärinen, Juha Karhunen, and Erkki Oja, Wiley-Interscience, 1st Ed. (2001), ISBN-13: 978-0471405405.
“Independent Component Analysis: Principles and Practice”, Stephen Roberts (Editor), Richard Everson (Editor), Cambridge University Press; 1st Ed. (2001), ISBN-13: 978-0521792981.
What is disclosed is a computationally efficient system and method for estimating a subject's cardiac pulse rate from multi-channel source video data that can be used in a continuous monitoring mode with a high degree of measurement accuracy. The system and methods disclosed herein find their uses in a variety of diverse applications such as, for instance, in telemedicine, emergency rooms, cardiac intensive care units, neonatal intensive care units (NICUs), including military and security applications.
One embodiment of the present method for continuous cardiac pulse estimation from video images captured of a subject of interest being monitored for cardiac function in a remote sensing environment, involves the following. A time-series signal is received which is being actively acquired. The time-series signal is continuously segmented using a sliding window such that each position of the window defines overlapping successive signal segments for processing. On a first iteration, constrained source separation (cICA) is performed using a seed reference signal to obtain first estimated source signal as output. A frequency of this first estimated source signal is subject's estimated cardiac pulse rate for this first time-series signal segment. In a manner more fully disclosed herein, on successive iterations the time-series signal is continuously processed by repeatedly: (1) conditioning the estimated source signal obtained on a previous iteration to produce a next reference signal; (2) repeatedly performing, using this reference signal, a constrained source separation on this next time-series signal segment to obtain a next estimated source signal. Upon the occurrence of a convergence, a frequency at which this next estimated source signal converged is determined to be the subject's estimated cardiac pulse rate for this next time-series signal segment. Otherwise, the reference signal is updated for a next iteration. Convergence of the constrained source separation is defined as being either the error between the time-series signal segment and the reference signal used is less than a threshold value, or a defined number of iterations having occurred. Upon convergence, the sliding window is shifted to define a next segment of the time-series signal. The method repeats for each time-series signal segment on a continuous basis or until a termination criteria has been met. In such a manner, the subject's cardiac pulse rate is estimated on a continuous monitoring basis in a computationally efficient manner.
Many features and advantages of the above-described method will become readily apparent from the following detailed description and accompanying drawings.
The foregoing and other features and advantages of the subject matter disclosed herein will be made apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:
What is disclosed is a computationally efficient system and method for estimating a subject's cardiac pulse rate from multi-channel source video data that can be used in a continuous monitoring mode with a high degree of measurement accuracy.
A “subject of interest”, as used herein, refers to a human having a cardiac function. One example subject of interest is shown and discussed with respect to patient 205 of
A “video” is a time-varying sequence of images captured using a video camera capable of acquiring video data over multiple data acquisition channels. The video may also contain other components such as, audio, time reference signals, noise, and the like.
A “time-series signal” refers to a time varying signal generated from images of the captured video. The time-series signal generated from the captured video images can be RGB signals, IR signals, a combination of RGB and IR signals, multi-spectral signals, or hyperspectral signals. Time-series signals may be generated in real-time from a streaming video as in the case of continuous patient monitoring.
“Receiving a time-series signal” is intended to be widely construed and means to retrieve, receive, capture with a video capture device, or otherwise obtain a time-series signal for processing in accordance with the teachings hereof. In various embodiments, the time-series signal is retrieved from a remote device such as a computer workstation over a wired or wireless network or obtained on a continuous basis from a video stream.
A “sliding window” refers to a window of size win_size which identifies successive segments of a time-series signal for processing in accordance with the teachings hereof. The window has a size which can be different for one or more time-series signal segments. The window size can also be based on a performance characteristic of the blind source separation method used for constrained source separation.
A “seed reference signal” is a reference signal used to perform constrained source separation on a particular time-series signal segment. On each iteration of running constrained source separation, an estimated output signal is generated. If, as determined by a measure of closeness, the estimated output signal produced on the current iteration is not within a threshold level then the seed reference signal is updated to obtain an updated reference signal. In a manner as more fully described herein, the updated reference signal is used on a next iteration of constrained source separation performed on the current time-series signal segment to obtain another estimated source signal. On each iteration, a closeness measure is determined and, in response to the measure of closeness not being within a pre-defined threshold, the reference signal is again updated and constrained source separation is performed yet again. The process repeats until the estimated source signal is within a threshold limit or a pre-determined number of iterations have occurred. It should be appreciated that, on the first iteration, the seed reference signal is used for cICA processing of the current time-series signal segment, with the reference signal being updated for each successive iteration of cICA processing until a termination criteria is reached.
“Updating the reference signal” means changing at least one aspect of the reference signal. The reference signal may be updated by, for example, changing a frequency of the signal, or by changing an amplitude or phase of the signal. The reference signal may be updated by altering a waveform of the signal. The waveform can be, for example, a sine wave, a square wave, a user defined shape such as that obtained from an ECG signal, or a cardiac pulse waveform derived from apriori knowledge of the subject's cardiac history.
“Conditioning the signal” means processing the estimated source signal to remove artifacts. Artifacts include undesirable periodic signals, background noise and other unwanted environmental factors. As disclosed herein, the conditioned signal becomes the seed reference signal used for to perform constrained source separation on the next time-series signal segment defined by the sliding window.
“Cardiac function” refers to the function of the heart and, to a large extent, to the cardio-vascular system. In most species, the heart comprises muscle which repeatedly contracts to pump blood throughout the vascular network. Cardiac function can be impacted by a variety factors including age, stress, disease, overall health, and the like. Cardiac function can also be affected by environmental conditions such as altitude and pressure.
A “cardiac pulse” is a pressure wave that is generated by the subject's heart (in systole) as the heart pushes a volume of blood into the arterial pathway. Arterial movement, as a result of this pressure wave, can be sensed by tactile and electronic methods. A frequency of the cardiac pulse is the pulse rate measured over time, typically recorded in beats per minute (bpm). A resting adult human has a cardiac pulse rate of about 72 bpm. The frequency range of the human cardiac pulse is between about 50 bpm to 240 bmp. Each species have their own “normal” heart rate and thus their own cardiac pulse frequency range. Heart rate is proportional to the cardiac output, i.e., the volume of blood the heart can pump expressed in L/min (˜5 L/min in an adult human). Cardio Output is often defined as: CO=SV·HR, where SV is stroke volume and HR is heart rate (in bpm). Stroke volume can be affected by valvular dysfunction and ventricular geometric form.
“Blind Source Separation” is a technique for the recovery of unobserved signals from a mixed set of observed signals without any prior information being known about how the signals were mixed. Typically, the observed signals are acquired as output from sensors where each sensor receives or otherwise detects a different proportion of mixture of source signals. Blind source separation is a method for separating the source signals. One form of blind source separation is independent component analysis.
“Independent Component Analysis” (ICA) is a decomposition technique used for uncovering independent source signal components from a set of observations that are composed of linear mixtures of underlying sources, i.e., independent components of the observed data. These independent components (ICs), also called sources or factors, can be found by ICA methods. ICA is superficially related to principal component analysis. ICA is a powerful technique which is often capable of identifying underlying sources when classic methods have failed. Data analyzed by ICA can originate from many different kinds of applications including source signals comprising time-series signals. In practice, the ordering of the ICs is quite important to separate non-stationary signals or signals of interest with significant statistical characteristics. Constraints can be placed on this technique.
“Constrained source separation” is an independent component analysis method for separating time-series signals into additive sub-components using a reference signal as a constraint. Not all constraints can be used for constrained independent component analysis (cICA) because some constraints infringe classical ICA equivariant properties. Constraints that define or restrict the properties of the independent components should not infringe the independence criteria. Additional conditions can be incorporated using, for example, sparse decomposition of signals or fourth-order cumulants into the contrast function, to help locate the global optimum separating the components.
cICA is essentially a constraint minimization problem, i.e., minimize function C(y) subject to constraints: g(y:W)≦0 and/or h(y:W)=0, where C(y) is a contrast function, and where constraints:
g(y:W)=[g1(y:W),g2(y:W), . . . ,gv(y:W)]T
and
h(y:W)=[h1(y:W),h2(y:W), . . . ,h(y:W)]T
define vectors of u (inequality) and v (equality), respectively. Statistical properties (e.g., consistency, asymptotic variance, robustness) of cICA depend on the choice of the contrast function C(y) and the constraints in the objective function.
More formally, let the time-varying observed signal be: x=(x1, x2, . . . , xn)T, where x is a linear mixture of ICs ci of signal c=(c1, c2, . . . , cm)T. Therefore, x=Ac where matrix A (of size n×m) represents the linearly mixed channels observing x. Demixing matrix W recovers components c1, c2, . . . , cm of signal x which, in turn, produces signal y=Wx, given by: y=(y1, y2, . . . , ym)T, with minimal knowledge of A and c. Reference signal r=(r1, r2, . . . , rl)T carries traces of information of desired signal c and need not be exact to the original sources. A measure of closeness is estimated between signal yi and reference signal ri by the norm ε(yi,ri). The components of output signal y are mutually independent and correspond to/original sources mixed in observed signal x. The matrix A is an m×m square matrix when there are m number of observed signals and m number of sources. Demixing matrix W is l×m (l<m). The minimum norm ε(yi,ri) of all outputs y indicates that signal yi is closest to reference signal ri. If this component is closest to the reference signal then ε(yi*,ri)<ε(yio,ri), where yi=yi* is the output signal producing the desired IC closest to ri, and yio is the next closest output signal. cICA recovers the closest IC if the closeness measure and threshold are properly selected. Success depends on the selection of threshold parameter ξi:ε(yi*,ri)−ξi≦0. None of the other m−1 sources will correspond to reference signal ri if ξi is in the scalar range of [ε(yi*,ri),ε(yio,ri)].
The interested reader is respectfully directed to the following incorporated texts: “Independent Component Analysis”, ISBN-13: 978-0471405405, “Independent Component Analysis: Principles and Practice”, ISBN-13: 978-0521792981, and “Approach and Applications of Constrained ICA”, Wei Lu and Jagath C. Rajapakse, IEEE Transactions On Neural Networks, Vol. 16, No. 1, pp. 203-212, (January 2005).
Reference is now being made to
Examination room 200 has an example image capturing system 202 being operated by technician 203 standing at the bedside 204 of subject of interest 205 shown resting his head on a pillow while most of his body is partially covered by sheet 207. Camera system 202 is rotatably fixed to support arm 208 such that the camera's field of view 209 can be directed by nurse 203 onto an area of exposed skin of a chest area 206 of patient 205 for continuous monitoring of cardiac function. Support arm 208 is on a set of wheels so that the image capture system can be moved from bed to bed and room to room. Although patient 205 is shown in a prone position lying in a bed, it should be appreciated that images of the subject of interest being monitored for cardiac function can be captured while the subject is positioned in other supporting devices such as, for example, a chair or wheelchair, standing up, including walking or moving. The embodiment of
Reference is now being made to
Received time-series signal 300 is provided to sliding window module 304 which defines a sliding window of size win_size and, on each iteration, uses that sliding window to identify overlapping segments of the time-series signal for processing. The received time-series signal is generated from video images captured of a subject of interest being monitored for cardiac function in accordance herewith. On a first iteration, sliding window module 304 defines a first time-series segment 305 for processing. With each successive iteration, sliding window module 304 identifies a successive time-series signal segment 305 for processing. Between successive iterations, the overlap in data frames is significant enough to ensure consistency in signal recovery estimation. Reference signal generator 308 generates, on a first iteration, a seed reference signal 309 which has a frequency range that approximates a frequency range of the subject's cardiac pulse. On successive iterations, the reference signal generator conditions signal 316 to obtain a next reference signal for use in the next iteration. On each iteration, updated reference signal 309 is provided to cICA algorithm 306 which produces a next estimated source signal 307. Each of the produced estimated source signals 307 are provided to storage device 303. On each iteration, reference signal 309 is provided to comparator 310 wherein it is compared against the produced estimated source signal 307 such that a difference 311 therebetween can be determined. Closeness test module 312 determines whether the difference 311 between reference signal 309 and estimated source signal 307 are with a pre-defined threshold (or if a pre-determined number of iterations have occurred). If it is determined that closeness has not occurred then signal 313 is sent to reference signal generator 308 to update reference signal 309 by changing the reference signal frequency, amplitude, phase, and/or waveform. The updated reference signal is then again provided to cICA 306 which, on this iteration, produces a next estimated source signal 307. The next estimated source signal 307 produced by cICA 306 is again compared to reference signal 309 and a difference 311 therebetween determined. New difference 311 is provided to closeness tester 312 which again determines whether closeness has occurred to within a pre-defined threshold level (or if a pre-determined number of iterations have occurred). If closeness has not occurred then the process repeats. One of ordinary skill will recognize the iterative nature of the signal processing system of
Although the block diagram of
Reference is now being made to the flow diagram of
At step 402, receive a time-series signal generated from video images captured of a subject of interest intended to be monitored for cardiac function. The received time-series signal can be RGB signals, IR signals, RGB and IR signals, multi-spectral signals, or hyperspectral signals.
At step 404, overlay the time-series signal with a sliding window of size win_size to define a first time-series signal segment for processing.
At step 406, generate a seed reference signal which has a frequency range which approximates a frequency range of the subject's cardiac pulse. The reference signal can be received from a remote device over a network or retrieved from a memory, storage device, or obtained from a database of reference signals.
At step 408, perform constrained source separation on the time-series signal segment using a reference signal. Each iteration of the constrained source separation method produces an estimated source signal.
At step 410, compare the estimated source signal to the reference signal (used in step 408) to determine an amount of a difference therebetween. This difference is the error between the estimated source signal produced as a result of having performed step 408, and the reference signal.
Reference is now being made to the flow diagram of
At step 512, a determination is made whether the difference (of step 410) is within a pre-determined threshold value. If not then processing continues with respect to step 514 wherein a determination is made whether a pre-defined number of iterations have occurred. If not then processing continues with respect to step 516 wherein the reference signal is updated. As discussed, the reference signal may be updated by changing any a frequency, an amplitude, a phase, shape and a waveform of the reference signal. Changing the waveform may comprise changing any of: a sine wave, a square wave, a user-defined shape obtained from an ECG signal, and/or a cardiac pulse waveform derived from the subject. Upon having updated the reference signal in step 516, processing repeats with respect to node B wherein, at step 408. constrained source separation is again performed on the current time-series signal segment using the updated reference signal. Constrained source separation produces a next estimated source signal which, at step 410, is compared to the updated reference signal to determine an amount of an error therebetween. If, at step 512, the difference is not less than a pre-defined threshold and, at step 412, a pre-determined number of iterations have not yet occurred then, at step 516, the reference signal is again updated.
Processing repeats in such a manner until the occurrence of either the difference (of step 512) is less than the pre-defined threshold or a pre-determined number of iterations have occurred (of step 514). If, at step 512, the difference produced as a result of the comparison of step 410 is less than the pre-defined threshold then processing continues with respect to node C. If, at step 514, the pre-defined number of iterations has occurred then processing continues also with respect to node C.
Reference is now being made to the flow diagram of
At step 618, the frequency at which a minimum error was achieved (between the estimated source signal and the reference signal of step 410) is determined for the current time-series signal segment being processed. This frequency is determined to be the subject's estimated cardiac pulse rate for the current time-series segment (of step 404).
At step 620, the result (of step 618) is communicated to a display device. The results may be further processed for a determination as to whether the subject's estimated cardiac pulse rate is within acceptable limits. If not then a signal can be generated to notify, for example, the patient's cardiac physician or a nurse.
At step 622, a determination is made whether more time-series signal segments remain to be processed. If not then, in this embodiment, further processing stops. Otherwise, processing continues with respect to step 624.
At step 624, condition the estimated source signal with the minimum error (of step 618) to produce a next reference signal to be used by the constrained source separation algorithm to processed the next time-series signal segment.
At step 626, shift the sliding window such that it defines a next successive time-series signal for processing. Each successive shifting of the sliding window at least partially overlapping the previous time-series signal segment. The overlap in data frames is preferably significant enough to ensure consistency in signal recovery estimation. This will depend, to a large extent, on the time-series signals being processed and may be determined by trial and error or based upon past experience in processing such signals. Once a next time-series signal segment has been identified, processing repeats with respect to node B wherein constrained source separation is performed on this signal segment using the next reference signal (of step 624). Processing continues in such a manner until, at step 622, it is determined that no more time-series signal segments remain to be processed, and further processing stops.
It should be appreciated that the flow diagrams hereof are illustrative. One or more of the operative steps illustrated in any of the flow diagrams may be performed in a differing order. Other operations, for example, may be added, modified, enhanced, condensed, integrated, or consolidated with the steps thereof. Such variations are intended to fall within the scope of the appended claims. All or portions of the flow diagrams may be implemented partially or fully in hardware in conjunction with machine executable instructions.
Reference is now being made to
Video frames are spatially averaged over all pixels per frame to obtain RGB time varying signals or raw traces. Batches are created by sliding a window of length 30 seconds with 96.67% overlap between consecutive batches which means using only 1 second of new frames and retaining 29 seconds of frames from previous batch. However, the window length and the overlap length are resizable depending on rate of change of patient's pulse rate.
Reference is now being made to
In block 801, the video stream is captured and provided to video pre-processing block 802 wherein regions of interest of the subject being monitored are identified or otherwise selected. In block 803, parameters are extracted from the video such as video length, frame speed, and the like. In block 804, the user enters various parameters such as window size, threshold level, max number of iterations, and the like. In block 805, the number of batches n is computed based upon the length of the time-series signal and the size of the user-defined window. Batch counter i is initialized to 1. On the first iteration, a determination is made (in decision block 806) whether batches remain to be processed. If so then, in block 807, the current batch is pre-processed which includes continuous time band pass filtering (with an adjustable bandwidth depending on patient's pulse rate), whitening and normalizing. The pre-processed R,G,B signals associated with the time-series signal segment defined by the current window. The batch counter is incremented. In block 808, constrained source separation is performed on the time-series signal segment using, on a first iteration, the seed reference signal 812. A result of having performed constrained source separation is output signal y(i) corresponding to batch(i). Constrained source separation is performed on processed signals with the PPG signal measured from a Biopac system (or a square wave generated by incorporating prior knowledge about the patient's pulse rate) is used as reference Ref0 to batch #1. cICA is based on constrained optimization using Newton-like learning to separate underlying source which is not identical but close to the reference signal (to within a measure of closeness). The output signal 809 resembles a PPG signal and pulse rate, and is computed by taking the Fast Fourier Transform (FFT) of this signal. On successive iterations, each output signal 809 corresponding to the previous batch is used by Conditional Learning Block 810 to learn the next reference signal 811 for the next batch such that pulse signals can be extracted for the next successive batch. If the pulse rate generated from the current batch exceeds the pulse rate generated from the previous batch (as measured by a pre-defined threshold value such as, for example, 13 bpm) the current estimated pulse rate is rejected and the previous pulse rate is retained in order to avoid an undesired jump in pulse rate caused by certain artifacts. This loop continues until all batches are processed and a continuous pulse rate achieved for the subject over time.
Reference is now being made to
The embodiment of
Any of the modules and processing units of
In order to illustrate the effect of continuous pulse monitoring, video recordings were produced using a standard RGB digital camera at 30 frames per second (fps) with pixel resolution of 1280×720 and saved in AVI format. Each video was of length two minutes and was captured on infants in a neonatal ICU environment. A custom algorithm was used to detect a region of interest (ROI) comprising human skin in video frames,
An example of monitoring pulse rate of an infant on a continuous basis is shown in
Reference is now being made to
In
It will be appreciated that the above-disclosed and other features and functions, or alternatives thereof, may be desirably combined into many other different systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may become apparent and/or subsequently made by those skilled in the art which are also intended to be encompassed by the following claims. Accordingly, the embodiments set forth above are considered to be illustrative and not limiting. Various changes to the above-described embodiments may be made without departing from the spirit and scope of the invention. The teachings hereof can be implemented in hardware or software using any known or later developed systems, structures, devices, and/or software by those skilled in the applicable art without undue experimentation from the functional description provided herein with a general knowledge of the relevant arts. Moreover, the methods hereof can be implemented as a routine embedded on a personal computer or as a resource residing on a server or workstation, such as a routine embedded in a plug-in, a driver, or the like. The methods provided herein can also be implemented by physical incorporation into an image processing or color management system. Furthermore, the teachings hereof may be partially or fully implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer, workstation, server, network, or other hardware platforms. One or more of the capabilities hereof can be emulated in a virtual environment as provided by an operating system, specialized programs or leverage off-the-shelf computer graphics software such as that in Windows, Java, or from a server or hardware accelerator or other image processing devices.
One or more aspects of the methods described herein are intended to be incorporated in an article of manufacture, including one or more computer program products, having computer usable or machine readable media. The article of manufacture may be included on at least one storage device readable by a machine architecture embodying executable program instructions capable of performing the methodology described herein. The article of manufacture may be included as part of an operating system, a plug-in, or may be shipped, sold, leased, or otherwise provided separately either alone or as part of an add-on, update, upgrade, or product suite. It will be appreciated that various of the above-disclosed and other features and functions, or alternatives thereof, may be combined into other systems or applications. Various presently unforeseen or unanticipated alternatives, modifications, variations, or improvements therein may become apparent and/or subsequently made by those skilled in the art which are also intended to be encompassed by the following claims. Accordingly, the embodiments set forth above are considered to be illustrative and not limiting. Various changes to the above-described embodiments may be made without departing from the spirit and scope of the invention. The teachings of any printed publications including patents and patent applications, are each separately hereby incorporated by reference in their entirety.