HN Companion◀︎ back | HN Companion home | new | best | ask | show | jobs
Show HN: A weird thing that detects your pulse from the browser video (pulsefeedback.io)
115 points by kilroy123 1 month ago | 40 comments


I feel like the primary use case for such a technology is manipulating and profiling people over video chat, maybe even autonomously. Hiring managers, HR, landlords, and police are obvious customers.

The response I anticipate will be "But this will help doctors over telehealth and stuff!" - Please see https://calebhearth.com/dont-get-distracted


This tech (detecting pulse from regular video) has been around almost 20 years now, and this doesn't seemed to have happened yet.

You see this type of thing in spy movies, but I'm not sure it's that useful in real life. You're basically taking one piece of data a polygraph uses, but without the most important component (skin conductance). Polygraph accuracy isn't that great to begin with. You can profile and manipulate people more effectively based on their reactions and behaviour, and their pulse will be much harder to interpret.


Heart rate is very correlated with health. So at the very least they can (illegally?) filter out unhealthy candidates.

It's probably not great for this. Resting heart rate is correlated with fitness, but candidates can be nervous during interviews which can drastically change their heart rate. You'd probably be able to make better guesses about their health through looking at them (do they look sickly or overweight?) and interviewing them.

It's also not a specific enough signal for the types of health conditions that require taking time off work. Assuming they could get an accurate resting heart rate, most of the time it'll just indicate whether the candidate does a lot of exercise.


You are talking about healthy and borderline. I am talking about unhealthy. If someone has heart rate of say 150 they are far more likely to have other issues.

If someone has heart rate of 150 during an interview, it's most likely anxiety.

I don't think this tech has actually been used in practice for that long, if at all. It was only first demonstrated in 2012 at SIGGRAPH.

Can you cite any commercially available uses of such tech?


I don't know any commercial uses of such tech today. I'm not saying they don't exist. I just don't know of them.

I had said I don't think it's very useful for "manipulating and profiling people over video chat", so I wouldn't really expect there to be a commercial product for that. Probably it's used in fitness or heart rate monitoring apps for people that don't have a fitness tracker device and prefer not to manually count their pulse.

Here is the tech demonstrated in 2007: https://pubmed.ncbi.nlm.nih.gov/17074525/

The core algorithm is really simple. You find a patch of skin. Take the average color of the pixels in that patch. The color will become more reddish each pulse. Do an FFT and take the strongest peak in the plausible heart rate range. You could prototype this in a few hundred lines of python.

If this were useful for police or hiring managers, someone could have use the tech to make an app for them within the past 19 years.

Of course, companies have a history of trying to market a lot of BS metrics (e.g. graphology, MBTI) to hiring managers, so I wouldn't be that surprised to see a company claim they can predict employee success using pulse. Whether it works is another story.


> You could prototype this in a few hundred lines of python.

You mean Claude can one-shot this.



Liveness detection of what appears to be a person in video, but is a photo, a skulpture, or some other attempt to falsely identify to an identity system as another.

I don't it's ever been practical to ship in a product? You need ~20 seconds of data to stabilise the reading, and any large motion ruins it - even though Microsoft Research demonstrated a Kinect could detect heartrate in a lab setting, it wasn't viable to ship in a fitness game.

I'd expect the primary use case to be liveness detection, to validate that the person the facial recognition identifies is not a photo, a sculpture, person wearing facial prosthetics, or a mask. I've coding such software for that exact purpose.

Can you explain how https://calebhearth.com/dont-get-distracted applies to the potential response you described? I don't get it.

They will weaponize it.

Well, I work at a telehealth company and yes, we do want to use this, so...

I would prefer some kind of privacy statement or even some kind of explanation about what is going on before I just randomly turn my webcam on. This might be great and I’m proud of you for launching but I don’t do things like that. Heck, videos can make a person’s heart race - I had my first attack at 39 and that’s a hell of a lot of risk.

I haven't dug deeper due to time availability, but for the same sake of privacy, I've found:

1. `/api/event` endpoint mentioned in the `/stats/script.js` file;

2. There's `/parties/lobby/main/telemetry` in a minified JavaScript chunk asset;

3. There's VitalLens mentioned, and there's an error string in the same asset: "A valid API key or proxy URL is required to use VitalLens. If you signed up recently, please try again in a minute to allow your API key to become active. Otherwise, head to https://www.rouast.com/api to get a free API key."


This is really kind of you - I appreciate this. Thank you for taking that time!

It’s not very accurate. Maybe because of the camera fidelity. It was about 10bpm lower than actual for me. Seems to operate off of subtle motions caused by pulse. It was even worse at detecting breathing.

Yeah, I couldn't be bothered getting my accurate chest strap out, but my watch (which is generally very close to the strap) was anywhere from 10-20 off what it was reporting. This is sitting down, 30min after a run.

It showed my BPM at nearly half of what it really was

It failed to detect me at all.

Same here.

You as reader might also be interested in this: https://hbenbel.github.io/blog/evm/

May be related: Explanation of motion and color amplification in video by Steve Mould https://youtube.com/watch?v=rEoc0YoALt0

He even shows pulse detection (around 8:30).


Love the attempt, but after giving it a good image and letting it run for a while it's totally off. I measure my heartbeat at 100 bpm and it's reading around 50. I see some cool looking UI stuff but the actual measurement isn't accurate.

I made my own heart rate app (using gemini at first and then Claude for lots of further edits). https://xosh.org/heart-rate/ https://github.com/SMUsamaShah/heart-rate it's all offline. UI needs more work but me and my wife are the only users therefore it doesn't matter that much.

At one point I added the same EVM based heart rate detection but that requires sitting very still. I use it on my phone mainly therefore the common finger method is easiest one to use.


This is interesting (and the UI looks very nice), but it's defaulting to my Mate 20 Pro's front-facing camera FWIW.

It registered in the low 40s for me, while my watch was saying 72-75. I guess YMMV

Could be interesting, but allowing the webcam crashes my browser.Repeatedly

macOS 15.7.1 (24G231) Brave 1.87.186 (Official Build) (arm64) Chromium: 145.0.7632.45


In the minified source code, we may see, it uses:

``` try { const l=await navigator.mediaDevices.getUserMedia({audio:!1,video:{facingMode:"user"}}); /* ... */ } catch { this.showError("Could not access webcam. Please check permissions.") } ```

There are alternatives to verify mediaDevices support as https://addpipe.com/getusermedia-examples/


But even a missing check shouldn’t be able to crash the browser.

Firefox throws a "this tab is slowing down your browser" warning, but it doesn't crash. Chromium works for me, though.

How does it work? Is it https://people.csail.mit.edu/mrub/evm/? I see the FAQ about VitalLens, but I couldn't find technical details.

It's super cool. Thanks for sharing. I want to build a biofeedback app for meditation and this looks like a good platform to use.


I found more details at https://www.rouast.com/blog/articles/vitallens-take-a-vital-... and https://arxiv.org/pdf/2312.06892.

It's still vague beyond saying they trained an AI: "VitalLens is trained on the PROSIT and Vital Videos Africa dataset...The time-synchronized sensor array used for PROSIT consists of a video camera, electrocardiogram (ECG), pulse oximetry, blood pressure monitor, and an ambient light sensor. "


Please consider checking out comments: https://news.ycombinator.com/item?id=47293662

What do you mean? Eulerian-Video-Magnification could be (and probably is) the underlying algorithm in the VitalLens API.

There's a version of this built into the Google Fit application for Android.

Worked for me on Android. Love the simplicity.