Imaging The Pulse
Written by Mike James   
Saturday, 22 June 2013

Recently MIT CSAIL researchers invented a way to tune into the small changes in a video that are missed by human perception. Now the same team has a new way of seeing the human pulse by detecting the movements it induces in the head.

The idea is simple enough - point a camera at a person's face and detect the rhythmic movements caused by the regular flow of blood. The problem is difficult because the movements are so small. It isn't even entirely clear that would be possible to detect them without making a lot of effort to isolate the head from other influences. 

Ballistocardiography, for example, is used to measure the vibration caused by the heart pumping large quantities of blood through the whole body, but in most arrangements for making the measurement the subject has to lie down, keep still, hold their breath and it is still difficult to avoid noise that swamps the signal. In this case all that is necessary is to point a video camera at the subject. 

The algorithm is based on the use of some well known image processing techniques. First face recognition is used to locate the subjects face and then between 500 to 1000 points identifiable by easy to compute landmarks in the face - nose, lips etc. The eyes are not included in the sample because of the problem of blinking. Next a bandpass filter is applied which removes vibrations in outside of the range of a normal heart beat. Finally principle components analysis is used to find the directions of largest movements and the signal is projected onto this to provide a pulse rate and a measurement of pulse intervals. 

The video not only shows you the result of "magnifying" the head movement, but why the head moves at all:


In tests the method gave results that are within a few beats per minute as measured by an ECG. At the moment the system is a proof of concept, but it is clear that it could be used to replace wired heart rate monitors. 

More intriguingly, the team suggests that it might be possible to detect some of the heart problems that ballistocardiography and other more complex measurement techniques do. The technique has already proved that it can provide a measurement of the variability in the time of the pulse, which is an indicator of some types of heart problem - but it could do more. For example, by detecting an asymmetrical vibration it could suggest that a obstruction in the blood flow is located on one side. Similarly it might be possible to work out the volume of blood pumped and other diagnostic measures. 


Detecting Pulse from Head Motions in Video (Project page)

Related Articles

Computer Model Explains High Blood Pressure

Super Seeing Software Ready To Download       

Super Seeing - Eulerian Magnification       


To be informed about new articles on I Programmer, install the I Programmer Toolbar, subscribe to the RSS feed, follow us on, Twitter, FacebookGoogle+ or Linkedin,  or sign up for our weekly newsletter.


kotlin book



or email your comment to:



Access LLMs From IntelliJ With Devoxx Genie

Devoxx Genie is a fully Java-based LLM Code Assistant plugin for IntelliJ IDEA, designed to integrate with local and cloud LLM providers.

50 Years Of Rubik's Cube

The iconic 3D mechanical puzzle, Rubik's Cube, was invented in 1974 and celebrates its 50th anniversary this year. As well as being a popular puzzle that anyone can try to solve, it touches on some in [ ... ]

More News

Last Updated ( Saturday, 22 June 2013 )