ElKornacio/pulse-java
Android-based implementation of Eulerian Video Magnification for vital signs monitoring
pulse
Android-based implementation of Eulerian Video Magnification for vital signs monitoring
http://p.chambino.com/dissertation
Eulerian Video Magnification is a recently presented method capable of
revealing temporal variations in videos that are impossible to see with
the naked eye. Using this method, it is possible to visualize the flow of
blood as it fills the face. From its result, a person’s heart rate is possible
to be extracted.
This research work was developed at Fraunhofer Portugal and its goal is to
test the feasibility of the implementation of the Eulerian Video Magnification
method on smartphones by developing an Android application for monitoring
vital signs based on the Eulerian Video Magnification method.
There has been some successful effort on the assessment of vital signs,
such as, heart rate, and breathing rate, in a contact-free way using a
webcamera and even a smartphone. However, since the Eulerian Video
Magnification method was recently proposed, its implementation has not been
tested in smartphones yet.Thus, the Eulerian Video Magnification method
performance for color amplification was optimized in order to execute on an
Android device at a reasonable speed.
The Android application implemented includes features, such as, detection
of a person’s cardiac pulse, dealing with artifacts’ motion, and real-time
display of the magnified blood flow. Then, the application measurements were
evaluated through tests with several individuals and compared to the ones
detected by the ViTrox application and to the readings of a sphygmomanometer.
Setup
Download, build and install opencv-2.4.4.
Install the opencv_java library if it was not installed by make install.
Install opencv-2.4.4.jar to Maven repository using:
mvn install:install-file -Dfile=opencv-244.jar -DgroupId=org.opencv -DartifactId=opencv -Dpackaging=jar -Dversion=2.4.4
Create a Maven user's settings.xml
file with something like:
<?xml version="1.0" encoding="UTF-8"?>
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<profiles>
<profile>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<opencv-lib.path>/usr/local/lib</opencv-lib.path>
</properties>
</profile>
</profiles>
</settings>