One of my notable off-hours pursuits is long-distance trail running. To wit, two weekends ago I successfully completed my first ultramarathon, the Tahoe Rim Trail 50K (which ended up being ~33.6 miles). For grins, here I am at around mile 24, courtesy of the official race photographer:
Gorgeous scenery, eh? My buddy Steve from San Diego, a fellow ultra-fanatic, drove all the way up to Truckee to 'crew' me for the race, among other things pacing me for the last seven miles' descent to the finish line. The day before the race, while we were preparing to do a short day hike to keep my legs loose, Steve mentioned that he was curious to see how his body was responding to the ~9,000' gain from his usual sea-level elevation. And I became curious when he proceeded to whip out his Android-based smartphone and place his fingertip on its back-side camera lens, with the finger also extending over the companion LED flash next to the optics-plus-image sensor combo.
As it turns out, Steve was using a free pulse rate-monitoring program called Instant Heart Rate from a company called Azumio. Instant Heart Rate is available for Android in both free and $0.99 paid 'Pro' versions, along with a gratis 'classic' variant for less feature-capable older handsets. From what I can tell, the 'Pro' version also records a history of past measurements; both it and the free variants support social media results 'sharing' capabilities via Twitter, Facebook, email, etc. Azumio also sells a $0.99 version through the iTunes Store for latest-generation Apple iOS-based devices such as the iPhone 3GS and iPhone 4, fourth-generation iPod touch, and iPad 2.
How does Instant Heart Rate work? Here's what the developer's website obliquely says:
It works by tracking color changes in the light that passes through your finger.
The Android Market site page gives a bit more information:
It uses your phone's built-in camera to track color changes on the fingertip that are directly linked to your pulse. This is the same technique that medical pulse oximeters use.
And at this point, we turn to Wikipedia (brace yourself for potentially obscure medical lingo; head to the linked Wikipedia page for additional-information terminology resources):
A blood-oxygen monitor displays the percentage of arterial hemoglobin in the oxyhemoglobin configuration. Acceptable normal ranges are from 95 to 100 percent, although values down to 90% are common. For a patient breathing room air, at not far above sea level, an estimate of arterial pO2 can be made from the blood-oxygen monitor SpO2 reading.
A pulse oximeter is a particularly convenient noninvasive measurement instrument. Typically it has a pair of small light-emitting diodes (LEDs) facing a photodiode through a translucent part of the patient's body, usually a fingertip or an earlobe. One LED is red, with wavelength of 660 nm, and the other is infrared, 905, 910, or 940 nm. Absorption at these wavelengths differs significantly between oxyhemoglobin and its deoxygenated form; therefore, the oxy/deoxyhemoglobin ratio can be calculated from the ratio of the absorption of the red and infrared light. The absorbance of oxyhemoglobin and deoxyhemoglobin is the same (isosbestic point) for the wavelengths of 590 and 805 nm; earlier oximeters used these wavelengths for correction for hemoglobin concentration.
The monitored signal bounces in time with the heart beat because the arterial blood vessels expand and contract with each heartbeat. By examining only the varying part of the absorption spectrum (essentially, subtracting minimum absorption from peak absorption), a monitor can ignore other tissues or nail polish, (though black nail polish tends to distort readings) and discern only the absorption caused by arterial blood. Thus, detecting a pulse is essential to the operation of a pulse oximeter and it will not function if there is none.
For the moment, at least, Instant Heart Rate focuses only on pulse rate, not on oxygen saturation (which would also be useful information for fitness enthusiasts):
The method we use only allows for detection O2 saturation changes not an absolute O2 saturation.
However, it's not strictly necessary for you to use the program only with a phone containing built-in LED illumination; older flash-less camera phones are also potential candidates:
NOTE: Works best on devices with flash. On other devices it has to be used with good lighting.
And how well does it work? Very well, judging from both my and Steve's experiences, along with the bulk of the other user feedback you'll find on both the Android Market and iTunes Store sites. Instant Heart Rate is accurate to within a beat (or few) compared to blood pressure monitors (which also include pulse rate capabilities) and other measurement methods I benchmarked it against. And it calculates results in less than ten seconds, which can't be beat (bad pun intended).
The developer claims that the program has been downloaded more than 8 million times to date. And no doubt reflective of this success, the Wall Street Journal reports this morning that Azumio has just secured $2.5 million in series A funding from investors such as Founders Fund, Accel Partners and Felicis Ventures. Embedded vision is clearly, as Instant Heart Rate exemplifies, expanding in an aggressive manner beyond its traditional foundations into high volume mainstream consumer markets.