Built by Carina Medical

Carina Medical is a startup that spun out of multiple labs at the University of Virginia and the University of Kentucky. Our team is dedicated to transfer academic research into clinical products using the cutting edge AI technology to improve cancer treatment.

Learn more

What is Remote Vital Signs?

Remote vital signs is a smart ios application to monitor your heart rate, body temperature, and other physical conditions remotely. We use OpenCV face detection and rPPG algorithm to get your "body signals" without any physical contact, and provide you a safer and easier way to monitor your physical condition.


1.Measuring

We use opencv face detection to detect your face, and find specific points on your face to generate area that we want. Then we could extract your heart rate signal through the area we detected.


2.Report

After done the measurement we will generate a report table for you. Including your heart rate we just measured, the wave form we extracted, and the raw video we got for this measurement.


3.Profile

Although our app allows you to get your heart rate report and experience our main functions without an account or upload any other personal informations. However, we still heighly recommend you to register yourself in the profile page so we could have further analysis on your health history, and help us to make our application better.


Algorithm Details and Accuracy Analysis

What is rPPG

Remote photoplethysmography (rPPG) enables contactless monitoring of human cardiac activities by detecting the pulse-induced subtle color variations on human skin surface using a multiwavelength RGB camera. In recent years, several core rPPG methods have been proposed for extracting the pulse signal from a video including:

  • Blind source separation(BSS)
  • CHROM, which linearly combines the chrominance signals by assuming a standardized skin color to whitebalance the images
  • PBV, which uses the signature of blood volume changes in different wavelengths to explicitly distinguish the pulse-induced color changes from motion noise in RGB measurements
  • 2SR, which measures the temporal rotation of the spatial subspace of skin pixels for pulse extraction.
  • POS(Plane-Orthogonal-to-Skin)

POS Algorithm

POS algorithm is designed targeting certain applications and effects key point is defining two projection axes on the plane that can bound a most likely pulsatile pulsatile_region (red region in the left picture, Distribution of pulsatile strength on the plane orthogonal to 1, where the pulsatile strength is the absolute pulsatility value. The projection plane consists of 360 (discrete) projection axis z sampled with 1◦ difference, where the red/blue color denotes the regions with stronger/weaker pulsatile strength. We exemplify three projection axes on the plane: z1 = [−2, 1, 1], z2 = [1, −2, 1], and z3 = [1, 1, −2], which have the pulsatilities −0.64, 0.68, and −0.04 according to (31). We project a temporally normalized RGB signal Cn (t) = [Rn (t), Gn (t), Bn (t)], measured from the skin in a video, onto z1 , z2 , z3 and obtain S1 (t), S2 (t), S3 (t).).

There are 5 steps in POS algorithm:

  • spatial averaging
  • temporal normalization
  • projectioin
  • tuning
  • overlap-adding
Heart Rate Estimation

In the previous steps we got heart rate signal we want next step is to estimate heart rate from the signal. Peak detection. Using individual peaks, extracting more information such as HR variability from the inter-beat intervals is possible. To refine the signal for peak detection, the signal is usually interpolated using a cubic spline function. The peaks can then be easily identified using a moving window, as they are the maxima within the signal.

Accuracy Analysis

Since we estimate heart rate by videos taken by iphone's built-in front camera, there might be sever facts could infect the result including skin tone, luminance, movement, etc. Although we already use filter and projection methods to minimize these effects but we still cannot ignore them. To give users a better knowledge about our product's error range we did a large amount of tests by comparison with apple watch's ECG, and the final error range is +7 bpm. this result is tested in a room with bright and stable light source.

To Get Best Result

Make sure you have a stable light source at lease can see your face clearly on the screen. When start mearsuring try your best to hold still and make sure your could see your whole face on the screen.

The result of our measurement is only for reference, if you have any physical discomfort please follow your doctor's advice.


see privacy policy