Measurement of pulse rate of a
person using his video
By Sahil Shah
•Literature Review: From literature we know that approaches have
been found to extract human pulse information from the video of a
•One of the methods is using the mean values of the R,G,B streams
from a specific region of interest of the face and plotting them over time
from the video.
•Analysis using Matlab.
1. Object tracking: We use the standard object tracking
implementation in MIRA to detect the face. The ROIs are stated in the
configuration file of the Pulse Detector unit as sub regions of the face.
We select the largest detected object as the face and subsequently
select the closest object to the last detection as the face.
• Breaks when first detection is wrong (generally when face takes
smaller area in the image)
• ‘jumping’ detections.
2. Active Appearance Model (AAM): We use the active
appearance model algorithm to recognize faces based on multiple
features. It returns triangles that define different features on the face.
We configure the AAM face detector to return some pre selected
triangles as ROIs
• More robust to small movements
• Exact ROIs
• No generalized model for all kinds of faces
•Average R,G and B pixel values of the regions of interest from the face
for each timestamp
•Interpolation to get RGB values for the timestamps for which we get
images (since detections come little later)
•Sampling rate can be changed and is not required to be same as that
of images because interpolation can also be used to get intensity
values for any timestamp
•Interpolation also helps to maintain equal intervals between frames
and increase accuracy
rn = r/(r+g+b)
gn = g/(r+g+b)
bn = b/(r+g+b)
•Independent Component Analysis
•Hann Window: Reduces resolution but works better when S/R is low.
•Bayes Filtering: Kernel with +/-1 bin change (+/- 3 bpm for a window
of 200 frames at 10Hz).
•Fast Fourier Transform: Discrete Fourier transforms of the processed
signals to get their power spectrum
•Band-pass filter: Band-pass filter (0.75 to 1.5) to get the frequency
spectrum for the range in which the human pulse can lie.
•Peak Detection: Detects maximum power frequency
•The Pulse Detector can be configured with the help of various
Number of frames
Virtual Sampling Frequency
Regions of Interest
•We evaluated the Pulse Detector Unit on the following factors
Motion vs Stationary
AAM vs Object Tracking
Near vs Far (Resolution)
Jumping detections vs. Non jumping detection
ICA vs No ICA
•The analysis and testing was done in Matlab while the entire
implementation is in C++ using the Middleware for Robotic Applications
Which algorithm is the most promising for usage?
• The Object Tracking algorithm is giving better results currently.
• The AAM tends to lose the detections on increasing movement.
• But a better trained AAM will be more robust because it is more
accurate and gives the exact ROI thus effect of small noise
What is the maximum distance of people in the image from where
robust pulse extraction is possible?
• For stationary images taken using the Kinect sensor we got good
results even for face size 107x107 pixels from a 640x480 image.
• This was around 80 cm from the camera.
To what degree the people can move in the image without losing
• A well trained AAM would almost nullify the noise effects, currently
face tracking however is not so robust to higher noise (>10 pixels)
specially when the person is farther from the camera.
What is the minimum duration of a video sequence to allow pulse
• 20 second blocks of video are sufficient for pulse rate extraction.
We take 20 second sliding window continuously for as long as the
video is captured.
 Remote plethysmographic imaging using ambient light. Verkruysse,
W. and Svaasand, L.O. and Nelson, J.S., Optics express, nr. 26, vol.
16, pp. 21434-21445, Optical Society of America, 2008
 Eulerian video magnification for revealing subtle changes in the
world. Wu, H.Y. and Rubinstein, M. and Shih, E. and Guttag, J. and
Durand, F. and Freeman, W., ACM Transactions on Graphics (TOG), nr.
4, vol. 31, pp. 65, ACM, 2012
 Non-contact, automated cardiac pulse measurements using video
imaging and blind source separation. Poh, M.Z. and McDuff, D.J. and
Picard, R.W., Optics Express, nr. 10, vol. 18, pp. 10762-10774, Optical
Society of America, 2010