Contactless vital signs monitoring of a human or animal subject
The system addresses the challenge of monitoring vital signs in moving subjects by using an ANN to correct errors in FMCW radar estimates and integrate electro-optical sensors, achieving accurate and adaptable contactless monitoring.
Patent Information
- Application Number
- GB2024008763
- Authority / Receiving Office
- GB · GB
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-06-18
- Publication Date
- 2025-12-31
AI Technical Summary
Existing vital sign monitoring technologies using frequency-modulated continuous-wave (FMCW) radar require subjects to remain still, making it impractical for monitoring freely moving individuals.
A system and method utilizing a hybrid approach with an artificial neural network (ANN) to process wave energy signals, correct errors in vital sign estimates, and integrate electro-optical sensors for precise range determination, enabling contactless monitoring of vital signs in moving subjects.
The system provides accurate vital sign monitoring with reduced training data requirements, adaptability to various subjects, and improved accuracy by learning error correction, allowing for contactless monitoring of freely moving individuals.
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
FIELD OF THE INVENTION This invention relates to a system and method for contactless vital signs monitoring of a human or animal subject. BACKGROUND TO THE INVENTION Vital sign, such as heart rate, monitoring using frequency-modulated continuous-wave (FMCW) radar works off a single basic principle. Cardiac and respiratory activity cause very small movements of the skin. These fine displacements can be encoded into the phase of successive radar chirps. Displacements in the skin caused by cardiac and respiratory activity are not limited to humans but can be found in any animal, including dogs. However, vital sign estimation with FMCW radar has one caveat which is that it requires the subject to remain exceptionally still which may not be possible when trying to measure the heart rate of awake subjects. It is not always practicable for a subject of interest to remain perfectly still during vital sign estimation. Further, there may be scenarios where vital signs of a freely moving subject may be required to be monitored. There is accordingly scope for improvement. The preceding discussion of the background to the invention is intended only to facilitate an understanding of the present invention. It should be appreciated that the discussion is not an acknowledgment or admission that any of the material referred to was part of the common general knowledge in the art as at the priority date of the application. SUMMARY OF THE INVENTION In accordance with an aspect of the invention there is provided a computer-implemented method for contactless vital signs monitoring of a human or animal subject, the method comprising: transmitting wave energy towards a subject and receiving a signal including backscattered wave energy reflected off the subject; processing the signal to determine an estimated vital sign value; processing the signal using an artificial neural network (ANN) to determine an estimated error value, wherein the ANN is configured to determine the estimated error value for the estimated vital sign value based on the signal; and, using the estimated vital sign value and the estimated error value to determine an adjusted vital sign value and outputting the adjusted vital sign value. The wave energy may be electromagnetic wave energy. The wave energy may be continuous frequency modulated electromagnetic wave energy. The wave energy may be transmitted, and the signal may be received via a wave energy transceiver, which may be a radiofrequency electromagnetic wave energy transceiver. The signal may be in the form of a transceiver data cube including values for each of a plurality of range bins, channels and chirps. Processing the signal to determine the estimated vital sign value may include extracting phase samples from a range bin of interest. Extracting the phase sample may include, for the range bin of interest, concatenating frames along chirps to generate a concatenated frameset including frames from a plurality of chirps; performing DC offset compensation on the concatenated frameset to obtain in-phase and quadrature (IQ) samples; summing the concatenated frameset along channels thereof to generate a chirp vector including sections corresponding to each of the plurality of chirps; and, generating sample arguments based on the chirp vector and unwrapping the sample arguments to determine the phase sample in the form of a phase vector including sections corresponding to each of the plurality of chirps. Processing the signal to determine the estimated vital sign value may include processing the signal to remove clutter, including subtracting a mean data cube obtained from an empty scene from a raw data cube to generate the transceiver data cube. Processing the signal to determine the estimated vital sign value may include applying successive fast Fourier transforms (FFTs) to the transceiver data cube to generate an amplitude-range-Doppler (ARD) map. Processing the signal to determine the estimated vital sign value may include processing the ARD map using a constant false alarm rate (CFAR) algorithm to detect objects of interest in the ARD map. Processing the signal to determine the estimated vital sign value may include determining the range bin of interest. The method may include receiving a depth image and a colour image from an electro-optical sensor apparatus. The depth image may be a stereo infrared depth image. The electro-optical sensor apparatus may include visible light and infrared light sensors. Determining the range bin of interest may include processing the images to determine a range bin value corresponding to the range bin of interest. Processing the images may include: isolating pixels in the colour image which correspond to the subject using an object detection algorithm; aligning the depth image and the colour image and using the isolated pixels of the colour image to mask corresponding pixels in the depth image; determining a centroid of the masked pixels to locate a part of the subject of interest; and, determining a range value corresponding to range to the part of the subject of interest. Determining the range bin of interest may include using the range value to the part of the subject of interest to identify the range bin of interest. Processing the signal using the ANN to generate the estimated error value may include inputting into the ANN a phase input generated from the phase vector. The method may include, in a training phase, configuring the ANN to include an LSTM layer. The method may include, in the training phase, configuring the ANN to include an LSTM layer passed through one or more fully connected layers. The method may include, in the training phase, configuring the ANN to include an LSTM layer having 32 hidden LSTM units. The method may include, in the training phase, configuring the ANN to include an LSTM layer passed through 4 fully connected layers. The method may include, in the training phase, configuring the ANN to include an LSTM layer passed through 4 fully connected layers with sizes 64, 32, 16 and 1. The method may include, in the training phase: compiling training data including phase samples labelled with the corresponding error values; using the compiled training data to train the ANN; and, outputting the ANN. Using the compiled training data to train the ANN may include: feeding samples from a training set obtained from the training data into the ANN to propagate the samples through the ANN and compute predicted outputs based on current weights and biases; and, comparing the computed predicted outputs against the corresponding error values representing true outputs to quantify a difference between the predicted and true outputs; and, updating weights and biases based on the difference between the predicted and true outputs. Compiling the training data may include: simultaneously obtaining a series of phase samples and a series of truth vital sign values from a subject; generating estimated vital sign values from the phase samples to output estimated vital sign values corresponding to the truth vital sign values; determining error values by comparing each estimated vital sign value to its corresponding truth vital sign value to generate an error data set including error values corresponding to each of the estimated vital sign values; and, labelling the phase samples with the corresponding error values and outputting a labelled data set including the series of phase samples and for each phase sample its corresponding error value. The phase input may include phase samples collected over a predetermined (10 second) window of time. The phase input may include overlapping windows of phase samples. The overlapping windows may overlap by 50%. The phase input may include phase samples obtained from a plurality of range bins of interest. In accordance with an aspect of the invention there is provided a system for contactless vital signs monitoring of a human or animal subject, the system comprising: a wave energy transceiver for transmitting wave energy towards a subject and receiving a signal including backscattered wave energy reflected off the subject; a processor and a memory configured to provide computer program instructions to the processor to execute functions of components; a signal processing component for processing the signal to determine an estimated vital sign value; an artificial neural network (ANN) configured to determine an estimated error value for the estimated vital sign value based on the signal; and, a vital sign value determining and outputting component for using the estimated vital sign value and the estimated error value to determine an adjusted vital sign value and outputting the adjusted vital sign value. The wave energy may be electromagnetic wave energy. The wave energy may be continuous frequency modulated electromagnetic wave energy. The transceiver may be an electromagnetic wave energy transceiver. The signal may be in the form of a transceiver data cube including values for each of a plurality of range bins, channels and chirps. The signal processing component may include a phase sample extracting component for extracting phase samples from a range bin of interest. The phase sample extracting component may be configured, for the range bin of interest, to concatenate frames along chirps to generate a concatenated frameset including frames from a plurality of chirps; perform DC offset compensation on the concatenated frameset to obtain in-phase and quadrature (IQ) samples; sum the concatenated frameset along channels thereof to generate a chirp vector including sections corresponding to each of the plurality of chirps; and, generate sample arguments based on the chirp vector and unwrap the sample arguments to determine the phase sample in the form of a phase vector including sections corresponding to each of the plurality of chirps. The signal processing component may be configured to process the signal to remove clutter, including subtracting a mean data cube obtained from an empty scene from a raw data cube received from the transceiver to generate the transceiver data cube. The signal processing component may be configured to apply successive Fast Fourier transforms (FFTs) to the transceiver data cube to generate an amplitude-range-Doppler (ARD) map. The signal processing component may be configured to process the ARD map using a constant false alarm rate (CFAR) algorithm to detect objects of interest in the ARD map. The signal processing component may be configured to determine the range bin of interest. The system may include an electro-optical sensor apparatus configured to generate a depth image and a colour image of the subject. The system may include an image processing component configured to receive the depth image and the colour image from the electro-optical sensor apparatus. The electro-optical sensor apparatus may include visible light and infrared light sensors. The depth image may be a stereo infrared depth image. The image processing component may be configured to process the images to determine the range bin value corresponding to the range bin of interest. The image processing component may be configured to: isolate pixels in the colour image which correspond to the subject using an object detection algorithm; align the depth image and the colour image and use the isolated pixels of the colour image to mask corresponding pixels in the depth image; determine a centroid of the masked pixels to locate a part of the subject of interest; and, determine a range value corresponding to range to the part of the subject of interest. The signal processing component may be configured to use the range value to identify the range bin of interest. The ANN may be configured to generate the estimated error value based on a phase input generated from the phase vector. The ANN may be a deep neural network. The ANN may include a recurrent neural network (RNN). The ANN may include a long-shortterm memory (LSTM) neural network. The ANN may include an LSTM layer including 32 hidden LSTM units passed through 4 fully connected layers with sizes 64, 32, 16 and 1. The phase input may include phase samples collected over a predetermined (10 second) window of time. The phase input may include overlapping windows of phase samples. The overlapping windows may overlap by 50%. The phase input may include phase samples obtained from a plurality of range bins of interest. In accordance with a further aspect of the invention there is provided a computer program product for contactless vital signs monitoring of a human or animal subject comprising a computer-readable medium having stored computer-readable program code for performing the steps of: transmitting wave energy towards a subject and receiving a signal including backscattered wave energy reflected off the subject; processing the signal to determine an estimated vital sign value; processing the signal using an artificial neural network (ANN) to determine an estimated error value, wherein the ANN is configured to determine the estimated error value for the estimated vital sign value based on the signal; and, using the estimated vital sign value and the estimated error value to determine an adjusted vital sign value and outputting the adjusted vital sign value. Further features provide for the computer-readable medium to be a non-transitory computer-readable medium and for the computer-readable program code to be executable by a processing circuit. Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings. BRIEF DESCRIPTION OF THE DRAWINGS In the drawings: Figure 1 is a schematic diagram which illustrates an exemplary system for contactless vital signs monitoring of a human or animal subject according to aspects of the present disclosure; Figure 2 is a schematic diagram which illustrates signal processing operations that may be performed by a signal processing component according to aspects of the present disclosure; Figure 3 is a schematic diagram which illustrates an example artificial neural network according to aspects of the present disclosure; Figure 4 is a schematic diagram which illustrates an example long short-term memory unit according to aspects of the present disclosure; Figure 5A is a flow diagram which illustrates an example method for contactless vital signs monitoring of a human or animal subject according to aspects of the present disclosure; Figure 5B is a flow diagram which illustrates example signal pre-processing steps; Figure 5C is a flow diagram which illustrates example operations that may be performed when processing a signal to determine an estimated vital sign value according to aspects of the present disclosure; Figure 6 is a flow diagram which illustrates an example method for determining a range bin of interest using one or more images received from an electro-optical sensor apparatus according to aspects of the present disclosure; Figure 7A is a flow diagram which illustrates an example method for training an ANN to determine an estimated error value for an estimated vital sign value based on a signal according to aspects of the present disclosure; Figure 7B is a flow diagram which illustrates an example method for compiling training data according to aspects of the present disclosure; Figure 8A is a schematic diagram which illustrates example hardware and software components of an example implementation of a system for contactless vital signs monitoring of a human or animal subject according to aspects of the present disclosure; Figure 8B is a schematic diagram which illustrates an example implementation of a system and method for contactless vital signs monitoring of a human or animal subject according to aspects of the present disclosure; Figure 9A is an example depth image obtained from an electro-optical sensor apparatus according to aspects of the present disclosure; Figure 9B is an example colour image obtained from an electro-optical sensor apparatus according to aspects of the present disclosure; Figure 9C is an example colour image on which instance segmentation has been implemented to isolate the pixels corresponding to a subject; Figure 9D is an example output obtained by using pixels belonging to the subject identified in Figure 9C to mask corresponding pixels in the depth image of Figure 9A; Figure 10 is a graph in which a predicted response is plotted against a true response for vital sign values obtained according to aspects of the present disclosure; and, Figure 11 illustrates an example of a computing device in which various aspects of the disclosure may be implemented. DETAILED DESCRIPTION WITH REFERENCE TO THE DRAWINGS A system and method for contactless vital signs monitoring of a human or animal subject are provided. In the system and method described herein, a hybrid approach is implemented in which a machine learning model, such as an artificial neural network, is trained to learn errors associated with wave energy-based techniques for vital sign monitoring and then deployed to correct for errors contained in a wave energy-based estimate of a vital sign. Training the model to learn errors may reduce the amount of training data required as compared to techniques which train the model to estimate the vital sign itself. In other words, when training data is limited, an implementation in which the model is trained to learn the errors (as described herein), and not to estimate the vital sign value, may outperform an implementation in which a model which is trained to estimate the vital sign value. The system and method described herein may therefore be more readily adaptable to different types of subjects. This is because sufficient accuracy for a model for a given subject can be obtained with less training data, lowering time and financial resources required to train models for a wide range of applications and / or subjects. Figure 1 is a schematic diagram which illustrates an exemplary system (100) for contactless vital signs monitoring of a human or animal subject according to aspects of the present disclosure. The system may include a wave energy transceiver (102) configured to transmit wave energy towards a subject (104) and to receive a signal including backscattered wave energy reflected off the subject. The wave energy may be electromagnetic wave energy. The wave energy may be continuous modulated frequency electromagnetic wave energy. The transceiver may be an electromagnetic wave transceiver. The wave energy transceiver (102) may be configured to transmit a series of chirps, each being a wave (such as an electromagnetic wave) the frequency of which is ramped up over a period of time. The frequency may be ramped up linearly. The chirps may be FMCW chirps and the transceiver may be an FMCW radar transceiver. The series of chirps may be configured based on parameters, such as one or more of: a number of samples, a sample rate, a sweep rate, a starting frequency, a number of chirps, an idle time, a ramp time, and a frame period. An exemplary set of parameters may include: a number of samples of between 80 and 110, or more specifically 90 and 100, or more specifically between 94 and 96; a sample rate of between 2,000 and 2,400 kilo samples per second, or more specifically between 2,100 and 2,300 kilo samples per second, or more specifically 2200 kilo samples per second; a sweep rate of between 50 and 90 MHz per microsecond, or more specifically between 60 and 80 MHz per microsecond, or more specifically 70 MHz per microsecond; a starting frequency of between 60 and 90 GHz, or more specifically between 70 and 80 GHz, or more specifically 77 GHz, a number of chirps of between 20 and 50, or more specifically between 30 and 40, or more specifically 32, an idle time of between 80 and 120 microseconds, or more specifically between 90 and 110 microseconds, or more specifically 100 microseconds, a ramp time of between 40 and 70 microseconds, or more specifically between 50 and 60 microseconds, or more specifically 57.14 microseconds, and a frame period of between 5 and 25 milliseconds, or more specifically between 10 and 20 milliseconds, or more specifically 15.3 milliseconds. Configuring the series of chirps based on these example parameters may include configuring the transceiver based on the parameters. In the illustrated example, the system includes a range estimating function in the form of an electro-optical sensor apparatus (106) and an image processing component (112). In other examples, other forms of range estimating functions may be provided. The electro-optical sensor apparatus (106) may be configured to generate one or both of a depth image and a colour image of the subject. The electro-optical sensor apparatus may include one or both of: one or more visible light and one or more infrared light sensors. The depth image may be a stereo infrared depth image. The subject (104) may be spaced apart from the wave energy transceiver and the electro-optical sensor apparatus by a distance (105). In other words, the distance between the wave energy transceiver and the subject may be substantially the same as the distance between the electro-optical sensor apparatus and the subject. The system may include a computing device (107) having a processor (108) for executing the functions of components described below, which may be provided by hardware or by software units executing on the computing device (107). The software units may be stored in a memory component (110) and instructions may be provided to the processor (108) to carry out the functionality of the described components. In some cases, for example in a cloud computing implementation, software units arranged to manage and / or process data on behalf of the computing device (107) may be provided remotely. As mentioned, in the illustrated example the system includes an image processing component (112) configured to receive the depth image and the colour image from the electro-optical sensor apparatus (106). The image processing component may be configured to process the images to determine a range value (such as a range bin identifier or a range bin of interest) corresponding to the distance (105) between the electro-optical sensor apparatus and the subject. The image processing component may for example be configured to: isolate pixels in the colour image which correspond to the subject using an object detection algorithm (such as YOLO v8 instance segmentation); align the depth image and the colour image and use the isolated pixels of the colour image to mask corresponding pixels in the depth image; determine a centroid of the masked pixels to locate a part of the subject of interest; and, determine, in the depth image, a range value corresponding to a range to the part of the subject of interest. The system may include a signal processing component (114) configured to process the signal to determine an estimated vital sign value. The signal processing component may be configured to use the range to the part of the subject of interest to identify the range bin of interest. For example, the signal processing component may be configured to determine the estimated vital sign value based on the range value (or the range bin of interest) determined by the image processing component or via another mechanism. The signal processing component may for example include a phase sample extracting component (114A) configured to extract phase samples from a range bin of interest (or phase samples from range bins of interest). Referring now to Figure 2, in some examples the signal processing component (114) may be configured to receive a signal in the form of a raw (i.e. unprocessed) transceiver data cube (202) from the wave energy transducer or from one or more intermediate components (such as an analogue-to-digital converter (ADC)). The transceiver data cube may include values for each of a plurality of range bins (208), channels and chirps. That is, each of the three dimensions of the transceiver data cube may correspond to: a plurality of range bins (a range axis), a plurality of channels (a channel axis), and a plurality of chirps (a chirp axis). The signal processing component may be configured to process the signal to remove (203) clutter. This may for example including subtracting, from the raw transceiver data cube (202), a mean data cube (204) corresponding to or obtained from an empty scene to generate a transceiver data cube (206). The signal processing component may be configured to apply successive (one or more) fast Fourier transforms (FFTs) to the transceiver data cube to generate an amplitude-range-Doppler (ARD) map. This may include applying FFTs along the range axis, chirp axis and / or channel axis. For example, generating the ARD map may include applying an FFT along the range axis (a “range FFT”) and then an FFT along the chirp axis (a “Doppler FFT”) to output the ARD map. The signal processing component may be configured to process the ARD map using a constant false alarm rate (CFAR) algorithm to detect objects of interest in the ARD map. The phase sample extracting component (114A) may be configured, for the range bin of interest, to: concatenate (210) frames along chirps (i.e. along the chirp dimension) to generate a concatenated frameset (212) including frames from a plurality of chirps; perform DC offset compensation (214) on the concatenated frameset to obtain in-phase and quadrature (IQ) samples by subtracting, from the concatenated frameset, a DC component (e.g. being channel mean IQ); sum (216) the resultant DC offset compensated concatenated frameset along channels thereof to generate a chirp vector (218) including sections or samples (220) corresponding to each of the plurality of chirps; and, get or generate (222) sample arguments based on the chirp vector and unwrap the sample arguments to generate a phase vector (224) including the phase samples (in this case being unwrapped sample arguments) corresponding to each of the plurality of chirps. The phase vector may include hundreds of phase samples and may correspond to a predetermined window of time. In one example the phase vector includes between 250 and 400 samples and the predetermined window of time is between 5 and 20 seconds. In one example, the phase vector includes about 300 (e.g., 310) samples and the predetermined window of time is 10 seconds. The phase vector may be provided as a phase input for input into an artificial neural network (ANN). The phase vector may be usable in determining the estimated vital sign value. Returning now to Figure 1, the signal processing component may include an estimated vital sign value determining component (114B). The estimated vital sign value determining component may be configured to processes the phase vector (224) to generate the estimated vital sign value. In one example, the estimated vital sign value determining component determines the estimated vital sign value from the phase vector by inputting the phase vector into an algorithm, such as the peak counting algorithm. In another example, the estimated vital sign value determining component determines the estimated vital sign value from the phase vector by generating a normalised power spectral density (PSD) spectrogram from the phase vector and normalising columns of the spectrogram to the frequency with the highest signal strength, which is assumed to be the vital sign of interest. The signal processing component may be configured to generate phase inputs from the phase vector generated by the phase sample extracting component. The signal processing component may for example include a phase input generating component (114C) configured to use phase vectors to generate a phase input. In one example, the phase input generating component may be configured to generate the phase input in the form of an expanded phase vector including a series of phase vectors where each phase vector is for a period of time which overlaps by an overlap factor with the preceding phase vector. The phase input generating component (114C) may be configured to generate the phase input for input into the ANN. The overlap factor may be percentage-based. For example, the overlap factor may be between 30 and 70%. In one example, the overlap factor is 50%. The phase input may therefore include phase samples collected over a predetermined (e.g., 10 second) window of time, where samples in each of the windows overlap by a predetermined overlap factor (such as 50%). The system may include an ANN (117) configured to determine an estimated error value for the estimated vital sign value based on the signal. The system may include a vital sign value determining and outputting component (118) for using the estimated vital sign value and the estimated error value to determine an adjusted vital sign value and for outputting the adjusted vital sign value. The system may include an output interface (120), for example in the form of a display or the like, via which the vital sign value determining and outputting component (118) can output the estimated vital sign value to an end-user. The system may include a storage component (122) configured to store the estimated vital sign value, for example in the memory component (110) and / or in a remote storage location. In some examples, and referring now to Figure 3, the ANN may be a deep neural network. The ANN may for example include or be in the form of a recurrent neural network (RNN). In the example illustrated in Figure 2, the ANN may include a long-shortterm memory (LSTM) layer or neural network (150) and a series of fully connected layers (152). The LSTM layer may include one or more LSTM units (160). The output of the LSTM layer may be fed into the series of fully connected layers (152). In one example, the ANN may include an LSTM layer including 32 hidden LSTM units passed through four fully connected layers with sizes 64, 32, 16 and 1 (in order). The ANN may be configured to receive a phase input as input and to output an estimated error value for use in determining a vital sign value for output and / or storage. An example LSTM unit is illustrated in Figure 4. Each LSTM unit (160) may include one or more of: an input vector (162); a previous output vector (163); a previous cell output activation vector (164); one or more activation functions (166, 167, 168, 172, 173); one or more mathematical operators (169, 170, 171, 174); an output vector (176, 178); and, a cell output activation vector (177). An LSTM network may include multiple LSTM units in sequence, where the output of one LSTM unit may feed into another LSTM network. The previous output vector (163) may be the output vector (176) of a previous LSTM network. Similarly, the previous cell output activation vector (164) may be the cell output activation vector (177) of a previous LSTM unit. The output vector (176) may be provided to a following LSTM unit. Additionally or alternatively, the output vector (178) may be sent to a user or system that requires the output vector (178). For example, referring briefly to Figure 3, the output vector (178) from each LSTM unit (160) may be fed to other LSTM units (160) or to one or more nodes (180) at an input layer of the fully connected layers (152). The cell output activation vector (177) may be provided to a following LSTM unit. The number of activation functions may vary depending on the specific configuration of the LSTM network. The activation functions may include sigmoid or hyperbolic activation functions (166, 167, 173) or hyperbolic tangent activation functions (168, 172). The mathematical operators may include a Hadamard product (element-wise product) (169, 171, 174) ora matrix addition operator (170). The ANN may be configured to generate the estimated error value based on a phase input generated from the phase vector. As mentioned, in one example, the phase input may include phase samples collected over a predetermined (10 second) window of time. In one example, the phase input may include overlapping windows of phase samples. The overlapping windows may for example overlap by 50%. The phase input may include phase samples obtained from a plurality of range bins of interest. The system (100) described above may implement a method for contactless vital signs monitoring of a human or animal subject. Exemplary methods for contactless vital signs monitoring of a human or animal subject are illustrated in the flow diagrams of Figures 5A to 5C. The methods may be conducted by a computing device (107). The method may include transmitting (302) wave energy towards a subject (104) and receiving (304) a signal including backscattered wave energy reflected off the subject. The wave energy may be electromagnetic wave energy. The wave energy may be continuous frequency modulated electromagnetic wave energy. The wave energy may be transmitted and the signal may be received via a wave energy transceiver, which may be a radiofrequency electromagnetic wave energy transceiver. Transmitting the wave energy towards the subject may include transmitting a series of chirps towards the subject. The signal may be in the form of a transceiver data cube including values for each of a plurality of range bins, channels and chirps. Transmitting the wave energy towards the subject may include controlling the wave energy transceiver to transmit the wave energy towards the subject. Receiving the signal may include receiving the signal from the transceiver, in some cases via one or more intermediate components, such as an ADC. The method may include processing (306) the signal to determine an estimated vital sign value. Processing the signal to determine the estimated vital sign value may include extracting (307) phase samples from one or more range bins of interest. Processing the signal to determine the estimated vital sign value may include determining the range bin of interest. Processing the signal to determine the estimated vital sign value include various pre-processing operations. For example, and referring now to Figure 5B, processing the signal to determine the estimated vital sign value may include processing (308) the signal to remove clutter. This may include subtracting, from a raw transceiver data cube received from the wave energy transducer or from one or more intermediate components, a mean data cube, corresponding to or obtained from an empty scene, to generate the transceiver data cube (or a “pre-processed transceiver data cube”). Processing the signal to determine the estimated vital sign value may include applying (310) successive FFTs to the transceiver data cube (being the pre-processed transceiver data cube) to generate an ARD map. Processing the signal to determine the estimated vital sign value may include processing (312) the ARD map using a constant false alarm rate (CFAR) algorithm to detect objects of interest in the ARD map. As mentioned, processing the signal to determine the estimated vital sign value may include extracting (307) phase samples from one or more range bins of interest. The phase samples may include values for each of a series of channels and for each of a series of chirps (e.g. the phase samples may be in the form of a two-dimensional matrix). Extracting the phase samples may include, and referring now to Figure 5C, for the one or more range bins of interest, concatenating (316) frames along chirps to generate a concatenated frameset including frames from a plurality of chirps; performing (318) DC offset compensation on the concatenated frameset to obtain in-phase and quadrature (IQ) samples; summing the DC offset compensated concatenated frameset along channels thereof to generate (320) a chirp vector including sections or samples corresponding to each of the plurality of chirps; and, generating (322) sample arguments based on the chirp vector and unwrapping (324) the sample arguments to generate a phase vector including the phase samples (in this case being unwrapped sample arguments) corresponding to each of the plurality of chirps. Returning to Figure 5A, the method may include processing (330) the signal using an ANN configured to determine an estimated error value for the estimated vital sign value based on the signal. Processing the signal using the ANN to generate the estimated error value may include inputting a phase input generated from the phase vector into the ANN. The phase input may include phase samples collected over a predetermined (10 second) window of time. The phase input may include overlapping windows of phase samples. The overlapping windows may overlap by 50%. The phase input may include phase samples obtained from a plurality of range bins of interest. The ANN may be a deep neural network. The ANN may include an RNN. In one example, the ANN includes an LSTM neural network. The ANN may for example include an LSTM layer including 32 hidden LSTM units passed through 4 fully connected layers with sizes 64,32,16 and 1. The method may include using (332) the estimated vital sign value and the estimated error value to determine an adjusted vital sign value and outputting (334) the adjusted vital sign value. This may for example include subtracting the estimated error value from the estimated vital sign value to generate the adjusted vital sign value. As mentioned above, processing the signal to determine the estimated vital sign value may include determining the range bin of interest In some examples, determining the range bin of interest includes using one or more images received from an electro-optical sensor apparatus. Figure 6 is a flow diagram which illustrates an example method for determining a range bin of interest using one or more images received from an electro-optical sensor apparatus. The method may be conducted by a computing device (107). The method may include receiving (350) a depth image and a colour image from an electro-optical sensor apparatus (106). The depth image may be a stereo infrared depth image. Determining the range bin of interest may include processing the images to determine the range bin value corresponding to the range bin of interest. Processing the images may include: isolating (352) pixels in the colour image which correspond to the subject using an object detection algorithm; aligning (354) the depth image and the colour image and using the isolated pixels of the colour image to mask (356) corresponding pixels in the depth image; determining (358) a centroid of the masked pixels to locate a part of the subject of interest; and, determining (360) a range value corresponding to range to the part of the subject of interest. Determining the range bin of interest may include using (362) the range value to the part of the subject of interest to identify the range bin of interest. As mentioned, the ANN (117) may be configured to determine an estimated error value for the estimated vital sign value based on the signal. Configuring the ANN to determine an estimated error value for the estimated vital sign value based on the signal may include training the ANN to determine an estimated error value for the estimated vital sign value based on the signal. Figures 7A and 7B are flow diagrams which illustrate an example method for training the ANN to determine an estimated error value for the estimated vital sign value based on the signal according to aspects of the present disclosure. Referring initially to Figure 7A, the method may include compiling (400) training data including a phase vector including a series of phase samples and error values for one or more of (or for each of) the phase samples. This may include compiling training data including phase samples labelled with the corresponding error values. Turning to Figure 7B, compiling the training data may include simultaneously obtaining (432) a series of phase samples and a series of truth vital sign values from a subject. Each of the samples may be timestamped or otherwise arranged such that samples obtained at the same point in time are associated with each other. In other words, the series of phase samples may be obtained from a subject at the same time as the truth vital sign values are obtained such that the two data series contain information about the same subject take from the same, successive points in time. The truth vital sign values may be obtained from a contact-based vital sign monitoring apparatus. The phase samples may be obtained using a wave energy transceiver, for example using the methods described above with reference to Figures 5A to 5C. Compiling the training data may include generating (434) estimated vital sign values from the phase samples to output estimated vital sign values corresponding to the truth vital sign values. For example, there may be an estimated vital sign value for each of the truth vital sign values. Each of the estimated vital sign values may be linked to a corresponding truth vital sign value, or vice versa, by virtue of a timestamp or another mechanism (e.g. by virtue of position in a data structure, such as by being in the same row of a table or a matrix, or the like). The estimated vital sign values may be obtained as described above with reference to Figures 5A to 5C. Compiling the training data may include determining (436) the error values by comparing each estimated vital sign value to its corresponding truth vital sign value to generate an error data set including error values corresponding to each of the estimated vital sign values. The error data set may thus include a series of error values for each of the estimated vital sign values. Each error value may be linked to its corresponding vital sign value and / or its corresponding phase sample by virtue of a corresponding timestamp or another mechanism. Compiling the training data may include labelling (438) the phase samples with the corresponding error values. This may for example include outputting a labelled data set including the series of phase samples and for each phase sample its corresponding error value. Compiling the training data may include repeating operations (432) to (438) described above for a number of different subjects to output a training data set including a labelled data set for each of the plurality of subjects. In this manner, the training data set is built up from observations obtained from multiple subjects with diverse characteristics. In some examples, the training data set is built up with subjects of: different ages; different sexes; and (in the case of animal subjects) different breeds. The training data set may be built up from awake subjects with limited to no physical constraint (e.g., in the case of dogs, a slack leash). In some examples, the training data set may be built up from awake subjects who are told to remain still (e.g., “sit” and “stay” in the case of dogs). Returning to Figure 7A, the method may include preprocessing (402) the training data set to convert it into a format for the ANN and outputting a pre-processed data set. This may include normalization, encoding categorical variables, handling missing values, etc. The method may include splitting (404) the pre-processed data set into training, validation and / or or test data sets. The training data set is used for training the ANN, while the validation data set is used for evaluating the ANN’S performance during training and tuning hyperparameters. For example, 80 % of the data may be used fortraining; 10 % may be used for validation and 10 % of the data may be kept separate for testing the network. The method may include defining (406) the architecture of the ANN, including the number of layers, neurons per layer, activation functions, etc. This may include configuring the ANN to include an LSTM layer. Defining the architecture may include configuring the ANN to include an LSTM layer passed through one or more fully connected layers. Defining the architecture may include configuring the ANN to include an LSTM layer having 32 hidden LSTM units. Defining the architecture may include configuring the ANN to include an LSTM layer passed through 4 fully connected layers. Defining the architecture may include configuring the ANN to include an LSTM layer passed through 4 fully connected layers with sizes 64, 32, 16 and 1. In some examples, defining the architecture includes defining an ANN which includes an LSTM layer including 32 hidden LSTM units passed through 4 fully connected layers with sizes 64, 32, 16 and 1. The method may include initializing (408) weights and biases of the ANN with small random values to break symmetry and avoid training the ANN towards a local minima in the solution space. The method may include feeding (410) samples from the training set obtained from the training data into the ANN to propagate the samples through the ANN and compute predicted outputs based on current weights and biases. The samples, being the phase samples, propagate through the ANN, and the predicted outputs are computed based on the current weights and biases. The method may include comparing (412) the computed predicted outputs against the corresponding error values representing true outputs to quantify a difference between the predicted and true outputs. Comparing the computed outputs against the true labels (targets, being the corresponding error values) may include using a loss function, such as cross-entropy loss for classification or mean squared error for regression, to quantify the difference between the predicted and true outputs. The method may include updating weights and biases based on the difference between the predicted and true outputs. This may include computing (414) gradients of the loss function with respect to the weights and biases using a backpropagation algorithm. This may entail propagating the errors backward through the layers of the ANN. Updating the weights and biases may include updating (416) weights and biases using an optimization algorithm (such as stochastic gradient descent (SGD) or Adam), which adjusts the weights and biases in the direction that minimizes the loss function. Operations (410) to (416) may be repeated (418) for multiple iterations (epochs) over the entire training set or mini-batches of the training set to gradually adjust the weights and biases to minimize the loss. The method may include periodically evaluating the ANN’S performance on the validation set. If the validation loss stops improving for a certain number of epochs, early stopping may be applied to prevent overfitting. The method may include outputting (420) the trained ANN which is configured to determine an estimated error value for an estimated vital sign value based on the signal including a series of phase samples. Experimental implementation Referring now to Figures 8A and 8B, in an experimental implementation of the system and method described herein was validated on dogs The vital sign of interest was heart rate. In terms of hardware (602), the experimental implementation utilised a contact-based vital sign monitoring apparatus in the form of a heart rate belt (such as a Polar™ H10™ heart rate belt) to capture ground truth data in the form of truth vital sign values from a subject (in the experiment being a dog). A wave energy transceiver (102) was implemented using a Texas Instruments™ (Tl) AWR1843Boost system which was coupled to a Tl DCA1000EVM for raw ADC data capture. An electro-optical sensor apparatus (106) was implemented using an Intel™ Real-Sense™ stereo camera as an additional means of range-bin selection as the camera is capable of producing depth measurements as well as colour images. In terms of software (604), Robot Operating System 2 (ROS2) (606) was used to create interfaces between the measurement devices (including the transceiver and the apparatus) and a host computing device for device control and to achieve timestamped synchronised data capture. Each measurement device had its own dedicated ROS2 nodal network. The electro-optical sensor apparatus uses a manufacturer-provided driver (608) which provided access to the colour and depth image data as well as extrinsic camera properties required to align the two images. The wave energy transceiver used a back-end ROS2 server node (610) implemented to handle the control and configuration of the transceiver while another node was written to listen for any incoming ADC data packets. Front-end client nodes that could be called by a Command Line Interface (CLI) were written to interact with the server node to do three tasks including: configuration, start recording and stop recording. A ROS2 driver was also written for the contactbased vital sign monitoring apparatus to connect over a wireless communication link (such as Bluetooth) and record the vital sign (being heart rate) data. An enhanced Communication Abstraction Layer (eCAL), a type of Data Distribution Service (DDS), was used to handle the storage of all the desired ROS2 messages. eCAL stored serialised data (stored as bytes), requiring the data to be deserialised in post. Deserialisation includes constructing an original ROS2 message from the byte data. The transceiver data was received as chunks of interleaved byte data. A sorting algorithm was developed to create a transceiver data cube so that the transceiver data could be processed. Once the data was properly deserialised and sorted it could be processed to determine an estimated vital sign value. The ROS2 nodes output colour images (612), depth images (614) and transceiver data cubes (616) for tracking (618) and vital sign estimation. Tracking (618) may be implemented to determine the range bin(s) (620) relevant to a part of the subject (such as the chest in the case of the vital sign of interest being heart rate). The range bin(s) are required for the phase measurement process because the algorithm needs to know which slice of range bins from which to select In-Phase and Quadrature (IQ) samples. In one example implementation, a transceiver-only pipeline is implemented using FMCW techniques (622) to determine the subject position (or the range bins of interest). This includes applying successive FFTs to the transceiver data cube to generate an ARD map. This is followed by the application of a CFAR algorithm to pull detection from the ARD map. In the case of subjects being dogs having a handler, detections from both the dog and its handler could be returned from the CFAR algorithm. In another example implementation, stereo camera tracking (624) may be implemented using the electro-optical sensor apparatus and the depth and colour images it produces to determine the subject position (or the range bins of interest). The electro-optical sensor may for example use two Infra-Red (IR) cameras to generate a depth image using the disparity between the two images, as shown in Figure 9A. This setup can be used to track each part of the subject in 3D space using the known extrinsic properties of the camera. Furthermore, the electro-optical sensor apparatus may further include a Red-Green-Blue (RGB) camera which outputs a colour image of the same scene, as shown in Figure 9B. A pre-trained network such as YOLO v8 may be used to implement instance segmentation to isolate the pixels in the colour image corresponding to the subject, as shown in Figure 9C. A transform may be used to align the depth and colour images and the list of pixels belonging to the subject may be used to mask the corresponding pixels in the depth image, as shown in Figure 9D. The centroid of the subject pixels (also shown in Figure 9D) can then be found to locate the part of the subject of interest (being the chest) and its range bin (3.46 m in the example in Figure 9D). The vital sign process (626) may include a phase measurement process (628) as described in the foregoing. The phase measurement process picks up after the first two steps of the ARD process described above. Clutter removal may not be required but can be retained for efficiency as the range FFT is required. The phase measurement process may therefore include, as described in the foregoing: 1) Range FFT; 2) Range Bin Selection; 3) Chirp Concatenation; 4) IQ DC Offset Compensation; 5) Channel Summation; and, 6) Phase Argument and Unwrapping. Once the phase-time signal has been created it can be filtered to try isolate the heart rate signal contained within. The phase-time signal (or just the “phase signal”) may be filtered using SciPy’s sosFiltFilt function which takes in the unfiltered signal and a Second Order Sections (SOS) implementation of a desired filter and runs the filter over the signal forwards and backwards. This doubles the order of the filter and eliminates any phase shift caused by the filter. An Infinite Impulse Response (HR) Butterworth filter was used due to its flat pass band. This prevented any distortion of the heart rate signal. Vital signs analysis (630) is conducted to determine a vital sign value, in this example implementation being a heart rate of the subject. Four different techniques were trailed in the example implementation, including: peak counting (632), spectrogram analysis (634), an LSTM neural network (636) and a hybrid LSTM network approach using both peak counting and the LSTM neural network. In the peak counting method, peaks were found by finding the local maxima within the filtered phase signal. The index of each peak was used to locate the time value of where the peak occurred. Taking the difference between each time value yielded the time between peaks which effectively is the Inter-Beat Interval (IBI), Tibi, used to calculate heart rate. The heart rate is calculated using the following equation and is then passed through a moving average filter: 60 f ____ J Heart rp ' ibi In the normalised PSD spectrogram approach, power spectral density (PSD) spectrograms are performed on time series data by repeatedly selecting data using a sliding window and performing FFTs on the overlapping selected data. Each FFT forms a single column on the spectrogram image. Columns are concatenated together to form a 2D image with frequency on the Y axis and time on X axis. The magnitude of the coefficients of each FFT are squared and scaled to get the PSD. This forms a visual representation of how the frequency components change over time. The columns of the spectrogram are then normalised to the frequency with the highest signal strength which is assumed to be the heart rate. In the LSTM neural network approach, data fed into the network comprised fixed length blocks of 10 seconds of unwrapped and filtered phase data (using the filters discussed previously). The data was created by separating the phase using a sliding window. The labels for each observation were calculated using the mean vital sign value obtained from the contact-based sensor apparatus (being the Polar H10 heart rate belt) within the window. The subject phase data was split into training, test and validation datasets. 80 % of the data was used for training; 10 % was used for validation and 10 % of the data was kept separate for testing the network. The training model with the lowest validation score was used to create the predictions from the test dataset. In the hybrid approach, illustrated in Figure 8B, filtered phase vectors or waveforms (650) were used as network training inputs (652) and as network inputs (654) for vital sign estimation. The phase vectors were processed using a peak counting algorithm (656) to output peak counting vital sign values (estimated vital sign values) (658). Peak counting error values (660) were determined by comparing outputs of the peak counting algorithm to corresponding outputs of a contact-based vital sign monitoring apparatus (662) and were used as network labels (664) for training (666) the LSTM neural network (668). The trained LSTM neural network (670) received the filtered phase vectors as input and output a peak counting vital signs error (672). The peak counting vital signs error are subtracted (674) from the peak counting vital signs value to determine an adjusted vital signs value, in this example being a measured heart rate (676). The hybrid approach may therefore entail training an LSTM neural network to output the error of the peak counting algorithm. The predicted error can then be added onto the value of the peak counting algorithm in an attempt to correct the final value created by the algorithm. Experimental results The above-described experimental implementation was used to obtain vital sign values from subjects being dogs. In the experimental implementation, only dogs were tested. The experimental results were obtained from five different breeds (mostly mixed) of different ages and sexes. Dogs were awake, on a leash and told to stay still but no other constraints were imposed. In the experiment, each dog was placed in front of the transceiver-apparatus (radar-camera) assembly with the contact-based vital signs monitoring apparatus (Polar H10) strapped around the chest. A handler was told to stay behind the dog so that the handler could be filtered during the range bin selection process. Recordings were done in 30 s sessions with the dog remaining as still as possible during the recording. Four different dogs were separately recorded at several ranges and angles. The results from the experimentation comparing each of the four different methodologies described above are recorded in the following table, from which it is event that the hybrid approach was best performing: Metrics Peak counting Spectrogram LSTM Network Hybrid approach Accuracy [%] 78.2+ / - 11.0 73.2 +1- 12.4 84.7+ / - 13.1 88.2 + / - 7.55 RMSE [bpm] 23.4 30.7 19.6 13.9 Pearson Coefficient 0.010 0.020 0.45 0.76 Results from the hybrid approach are further illustrated in Figure 10. From the results, it is apparent that conventional methods such as peak counting and spectrogram frequency analysis boast a fairly high accuracy, above 70 %. However, the Root Mean Square Error (RMSE) shows a different perspective. These methodologies produce very high errors, well over 20 bpm. This is confirmed by the Pearson Coefficient for these methods which show no correlation with the data. This shows that the data generated was biased in a way that made accuracy a poor metric. This highlights the importance of choosing suitable performance metrics. While the traditional Digital Signals Processing (DSP) approaches did not seem to produce meaningful results, some promise was shown using the LSTM Network with slight improvements in RMSE and the Correlation Coefficient. However, the hybrid approach shows a much higher correlation and accuracy and much lower RMSE. In this experimental implementation, a system and pipeline were designed to measure the heart rate of canines remotely after being validated on humans. Awake and active canines caused too much RMB for traditional DSP methods to measure heart rate accurately. While the results seem to point to a high accuracy the Pearson Coefficient shows no correlation between the ground truth and calculated results, highlighting the importance of good performance metric choice. Using an LSTM network yielded better results but were still not entirely satisfactory. A hybrid LSTM approach provided greatly improved results. A system and method for contactless vital signs monitoring of a human or animal subject are described. In some examples, a hybrid machine learning- (ML-) enhanced radar and optical system for non-contact vital signs monitoring in animals is provided. The system and method described herein provide a non-contact system for accurately monitoring vital signs, such as heart rates, in animals using an integration of radar technology, depth cameras, and a hybrid Long Short-Term Memory (LSTM) network. The system and method described herein are configured to remotely measure the heart rate of conscious (non-sedated) animals without the need for physical contact, significantly reducing stress and potential harm to the subjects. By leveraging the precision of radar signals and depth imagery combined with the analytical power of hybrid LSTM networks, the described system and method can accurately track and analyse the heart rates of animals, even in the presence of slight movement or other environmental factors that typically challenge traditional monitoring methods. The system and method described herein may find application in a non-invasive tool to monitor patient vitals, improving diagnostic and treatment outcomes. In livestock management, the system and method described herein may enable continuous health monitoring without disrupting the animals' natural behaviours, enhancing welfare and productivity. Wildlife conservation efforts can benefit from the described system and method by allowing stress-free monitoring of endangered species in their natural habitats. The system and method described herein are configured for the non-contact measurement of heart rates in animals, integrating radar technology, depth cameras, and a hybrid LSTM (Long Short-Term Memory) network. This system and method are configured to capture and analyse the physiological signals of animals without the need for physical contact, thereby minimizing stress and potential harm to the subjects. The system's operation is based on a multi-modal approach that combines the strengths of radar sensing for detecting minute body movements associated with heartbeat, depth imaging for spatial context and movement tracking, and advanced machine learning techniques for signal processing and heart rate estimation. One example implementation of the system employs a Texas Instruments AWR1843Boost radar sensor, capable of capturing high-resolution data on minute movements, such as those caused by an animal's heartbeat. The radar operates by emitting electromagnetic waves that reflect off the subject. The reflected signals, which contain information about the movement and distance of the animal, are then captured by the radar sensor. This technology allows for the detection of heartbeats even through fur, feathers, or scales, making it suitable for a wide range of animal species. In one example implementation of the system an Intel RealSense stereo depth camera is used in conjunction to provide spatial context to the radar signals. It captures three-dimensional video data, enabling the system to track the position and movement of the animal in real time. The depth camera helps differentiate between the animal's general body movements and the specific, subtle movements associated with the heartbeat, facilitating more accurate heart rate measurements. One example implementation of the system implements a hybrid LSTM Network, a type of recurrent neural network configured to analyse time-series data. This network processes the radar data, learning to predict the errors in a conventional radar processing method (spectrogram or peak counting) to compensate for motion artefacts. The LSTM's ability to remember and integrate information over time makes it well-suited for distinguishing the rhythmic patterns of heartbeats from other bodily movements. In use, the experimental system operates by first positioning the radar sensor and depth camera in the vicinity of the animal, ensuring a clear line of sight without the need for physical restraint or contact. The radar sensor continuously emits and receives electromagnetic waves, while the depth camera captures the spatial context. The radar data is fed into the hybrid LSTM network in real time. The LSTM network processes the data, extracting and providing the heart rate signal error from the background of general body movements and environmental noise. The overall output from the experimental implementation is a combination of the heart rate signal error and the heart rate estimate, resulting in a highly accurate measurement of the animal's heart rate, displayed to the user through a graphical interface. The use of a hybrid LSTM network as described herein may permit continuous improvement and adaptation of the system to new datasets and conditions. This adaptability makes the system suitable for a wide range of animal species, sizes, and fur types. This approach leverages the temporal sequence learning capability of LSTM networks to distinguish subtle heartbeats from other bodily movements, a task that is significantly challenging and has not been directly addressed in existing technologies. The described system and method may maintain high accuracy across a wide range of individual animals, fur densities, and environmental conditions. Traditional methods, especially those relying on visual or thermal imaging, can struggle with variability in subjects' appearance or ambient conditions. Figure 11 illustrates an example of a computing device (900) in which various aspects of the disclosure may be implemented. The computing device (900) may be embodied as any form of data processing device including a personal computing device (e.g. laptop or desktop computer), a server computer (which may be self-contained, physically distributed over a number of locations), a client computer, or a communication device, such as a mobile phone (e.g. cellular telephone), satellite phone, tablet computer, personal digital assistant or the like. Different embodiments of the computing device may dictate the inclusion or exclusion of various components or subsystems described below. The computing device (900) may be suitable for storing and executing computer program code. The various participants and elements in the previously described system diagrams may use any suitable number of subsystems or components of the computing device (900) to facilitate the functions described herein. The computing device (900) may include subsystems or components interconnected via a communication infrastructure (905) (for example, a communications bus, a network, etc.). The computing device (900) may include one or more processors (910) and at least one memory component in the form of computer-readable media. The one or more processors (910) may include one or more of: CPUs, graphical processing units (GPUs), microprocessors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs) and the like. In some configurations, a number of processors may be provided and may be arranged to carry out calculations simultaneously. In some implementations various subsystems or components of the computing device (900) may be distributed over a number of physical locations (e.g. in a distributed, cluster or cloud-based computing configuration) and appropriate software units may be arranged to manage and / or process data on behalf of remote devices. The memory components may include system memory (915), which may include read only memory (ROM) and random access memory (RAM). A basic input / output system (BIOS) may be stored in ROM. System software may be stored in the system memory (915) including operating system software. The memory components may also include secondary memory (920). The secondary memory (920) may include a fixed disk (921), such as a hard disk drive, and, optionally, one or more storage interfaces (922) for interfacing with storage components (923), such as removable storage components (e.g. magnetic tape, optical disk, flash memory drive, external hard drive, removable memory chip, etc.), network attached storage components (e.g. NAS drives), remote storage components (e.g. cloud-based storage) or the like. The computing device (900) may include an external communications interface (930) for operation of the computing device (900) in a networked environment enabling transfer of data between multiple computing devices (900) and / or the Internet. Data transferred via the external communications interface (930) may be in the form of signals, which may be electronic, electromagnetic, optical, radio, or other types of signal. The external communications interface (930) may enable communication of data between the computing device (900) and other computing devices including servers and external storage facilities. Web services may be accessible by and / or from the computing device (900) via the communications interface (930). The external communications interface (930) may be configured for connection to wireless communication channels (e.g., a cellular telephone network, wireless local area network (e.g. using Wi-Fi™), satellite-phone network, Satellite Internet Network, etc.) and may include an associated wireless transfer element, such as an antenna and associated circuitry. The computer-readable media in the form of the various memory components may provide storage of computer-executable instructions, data structures, program modules, software units and other data. A computer program product may be provided by a computer-readable medium having stored computer-readable program code executable by the central processor (910). A computer program product may be provided by a non-transient or non-transitory computer-readable medium, or may be provided via a signal or other transient or transitory means via the communications interface (930). Interconnection via the communication infrastructure (905) allows the one or more processors (910) to communicate with each subsystem or component and to control the execution of instructions from the memory components, as well as the exchange of information between subsystems or components. Peripherals (such as printers, scanners, cameras, or the like) and input / output (I / O) devices (such as a mouse, touchpad, keyboard, microphone, touch-sensitive display, input buttons, speakers and the like) may couple to or be integrally formed with the computing device (900) either directly or via an I / O controller (935). One or more displays (945) (which may be touch-sensitive displays) may be coupled to or integrally formed with the computing device (900) via a display or video adapter (940). The foregoing description has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure. Any of the steps, operations, components or processes described herein may be performed or implemented with one or more hardware or software units, alone or in combination with other devices. Components or devices configured or arranged to perform described functions or operations may be so arranged or configured through computer-implemented instructions which implement or carry out the described functions, algorithms, or methods. The computer-implemented instructions may be provided by hardware or software units. In one embodiment, a software unit is implemented with a computer program product comprising a non-transient or non-transitory computer-readable medium containing computer program code, which can be executed by a processor for performing any or all of the steps, operations, or processes described. Software units or functions described in this application may be implemented as computer program code using any suitable computer language such as, for example, Java™, C++, or Perl™ using, for example, conventional or object-oriented techniques. The computer program code may be stored as a series of instructions, or commands on a non-transitory computer-readable medium, such as a random access memory (RAM), a read-only memory (ROM), a magnetic medium such as a hard-drive, or an optical medium such as a CD-ROM. Any such computer-readable medium may also reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network. Flowchart illustrations and block diagrams of methods, systems, and computer program products according to embodiments are used herein. Each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, may provide functions which may be implemented by computer readable program instructions. In some alternative implementations, the functions identified by the blocks may take place in a different order to that shown in the flowchart illustrations. Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations, such as accompanying flow diagrams, are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. The described operations may be embodied in software, firmware, hardware, or any combinations thereof. The language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention set forth in any accompanying claims. Finally, throughout the specification and any accompanying claims, unless the context requires otherwise, the word ‘comprise’ or variations such as ‘comprises’ or ‘comprising’ will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers.
Claims
1. A computer-implemented method for contactless vital signs monitoring of a human or animal subject, the method comprising:transmitting wave energy towards a subject and receiving a signal including backscattered wave energy reflected off the subject;processing the signal to determine an estimated vital sign value;processing the signal using an artificial neural network (ANN) to determine an estimated error value, wherein the ANN is configured to determine the estimated error value for the estimated vital sign value based on the signal; and,using the estimated vital sign value and the estimated error value to determine an adjusted vital sign value and outputting the adjusted vital sign value.
2. The method as claimed in claim 1, wherein the wave energy is electromagnetic wave energy, wherein the wave energy is continuous frequency modulated electromagnetic wave energy, wherein the wave energy is transmitted and the signal is received via a wave energy transceiver, and wherein the wave energy transceiver is a radiofrequency electromagnetic wave energy transceiver.
3. The method as claimed in claim 1 or claim 2, wherein the signal is in the form of a transceiver data cube including values for each of a plurality of range bins, channels and chirps, and wherein processing the signal to determine the estimated vital sign value includes extracting phase samples from a range bin of interest.
4. The method as claimed in any one of the preceding claims, wherein processing the signal to determine the estimated vital sign value includes determining a range bin of interest.
5. The method as claimed in claim 4, including receiving a depth image and a colour image from an electro-optical sensor apparatus, and wherein determining the range bin of interest includes processing the images to determine a range bin value corresponding to the range bin of interest.
6. The method as claimed in any one of the preceding claims, wherein processing the signal using the ANN to generate the estimated error value includes inputting a phase input into the ANN.
7. The method as claimed in claim 6, wherein the phase input includes phase samplescollected over a predetermined window of time.
8. The method as claimed in claim 7, wherein the phase input includes overlapping windows of phase samples.
9. The method as claimed in any one of the preceding claims, including, in a training phase, configuring the ANN to include a long short-term memory (LSTM) layer.
10. The method as claimed in claim 9, including, in the training phase, configuring the ANN to include an LSTM layer passed through one or more fully connected layers.
11. The method as claimed in any one of the preceding claims, including, in a training phase: compiling training data including phase samples labelled with the corresponding error values;using the compiled training data to train the ANN; and, outputting the ANN.
12. The method as claimed in claim 11, wherein using the compiled training data to train the ANN includes:feeding samples from a training set obtained from the training data into the ANN to propagate the samples through the ANN and compute predicted outputs based on current weights and biases; and,comparing the computed predicted outputs against the corresponding error values representing true outputs to quantify a difference between the predicted and true outputs; and, updating weights and biases based on the difference between the predicted and true outputs.
13. The method as claimed in claim 11 or claim 12, wherein compiling the training data includes:simultaneously obtaining a series of phase samples and a series of truth vital sign values from a subject;generating estimated vital sign values from the phase samples to output estimated vital sign values corresponding to the truth vital sign values;determining error values by comparing each estimated vital sign value to its corresponding truth vital sign value to generate an error data set including error values corresponding to each of the estimated vital sign values; and,labelling the phase samples with the corresponding error values and outputting a labelleddata set including the series of phase samples and for each phase sample its corresponding error value.
14. A system for contactless vital signs monitoring of a human or animal subject, the system comprising:a wave energy transceiver for transmitting wave energy towards a subject and receiving a signal including backscattered wave energy reflected off the subject;a processor and a memory configured to provide computer program instructions to the processor to execute functions of components;a signal processing component for processing the signal to determine an estimated vital sign value;an artificial neural network (ANN) configured to determine an estimated error value for the estimated vital sign value based on the signal; and,a vital sign value determining and outputting component for using the estimated vital sign value and the estimated error value to determine an adjusted vital sign value and outputting the adjusted vital sign value.
15. A computer program product for contactless vital signs monitoring of a human or animal subject comprising a computer-readable medium having stored computer-readable program code for performing the steps of:transmitting wave energy towards a subject and receiving a signal including backscattered wave energy reflected off the subject;processing the signal to determine an estimated vital sign value;processing the signal using an artificial neural network (ANN) to determine an estimated error value, wherein the ANN is configured to determine the estimated error value for the estimated vital sign value based on the signal; and,using the estimated vital sign value and the estimated error value to determine an adjusted vital sign value and outputting the adjusted vital sign value.
Citation Information
Patent Citations
Heart rate determination method, device and equipment and readable storage medium
CN110840401A
Life detection method based on neural network
CN113126050A
Method, apparatus, and system for wireless vital monitoring using high frequency signals
US20230081472A1