6 ms·
I don't think pulsing skin (due to blood flow) is visible from a webcam though.
by Chrupiter 9mo ago
I don't think pulsing skin (due to blood flow) is visible from a webcam though.
- moralestapia 9mo agoYou can do it with infrared and webcams see some of it, but I'm not sure if they're sensitive enough for that.
- javawizard 9mo agoPlenty of sources suggest it is: https://github.com/giladoved/webcam-heart-rate-monitor https://github.com/giladoved/webcam-heart-rate-monitor https://medium.com/dev-genius/remote-heart-rate-detection-using-webcam-and-50-lines-of-code-2326f6431149 https://medium.com/dev-genius/remote-heart-rate-detection-us... The Reddit comments on that second one have examples of people doing it with low quality webcams: https://www.reddit.com/r/programming/comments/llnv93/remote_heart_rate_detection_using_webcam_and_50/ https://www.reddit.com/r/programming/comments/llnv93/remote_... It's honestly amazing that this is doable.
- zamadatix 9mo agoMy dumb ass sat there for a good bit looking at the example in the first link thinking "How does a 30-60 Hz webcam have enough samples per cycle to know it's 77 BPM?". Then it finally clicked in my head beats per minute are indeed not to be conflated with beats per second... :). Non-paywalled version of the second link https://archive.is/NeBzJ https://archive.is/NeBzJ
- deleted 9mo ago[deleted]
- jpablo 9mo agoYou will be surprised of The Unreasonable Effectiveness of opencv.calcOpticalFlowPyrLK
- lanstin 9mo agoWhich is a special case of mathematics.
- hedgehog 9mo agoIt is, I've done it live on a laptop and via the front camera of a phone. I actually wrote this thing twice, once in Swift a few years back, and then again in Python more recently because I wanted to remember the details of how to do it. Since a few people seem surprised this is feasible maybe it's worth posting the code somewhere.
- rcxdude 9mo agoIt is, but there's a lot of noise on top of it (in fact, the noise is kind of necessary to avoid it being 'flattened out' and disappearing). The fact that it covers a lot pixels and is relatively low bandwidth is what allows for this kind of magic trick.
- slow_typist 9mo agoThe frequency resolution must be pretty bad though. You need 1 minute of samples for a resolution of 1/60 Hz. Hopefully the heartrate is staying constant during that minute.
- vaenaes 9mo ago[dead]
- hahahahhaah 9mo agoI have seen apps that use the principle for HRV. Finger pushed on phone cam.
- 3eb7988a1663 9mo agoMIT was able to reconstruct voice by filming a bag of chips on a 60FPS camera. I would hesitate to say how much information can leak through. https://news.mit.edu/2014/algorithm-recovers-speech-from-vibrations-0804 https://news.mit.edu/2014/algorithm-recovers-speech-from-vib...
- hinkley 9mo agoI befriended the guy in high school who built a Tesla coil. For his next trick he was building a laser to read sound off of plate glass. The decoder was basically an AM radio. Which high school me found slightly disappointing.
- bcrl 9mo agoI basically asked my math and physics teachers in high school what the Fourier transform was, but none of them knew how to answer my questions (which were about digital signal processing -- modems were important things to us back in the early '90s). If I had to do it over again, I would have audited the local university's electrical engineering and math courses in evenings. The first time MIT ran 6002x online back in 2012, the course finally answered a lot of those questions when touching upon filters and bandwidth.
- hedgehog 9mo agoYeah I wish I had known about or had access to that stuff when I was a kid. To really learn and internalize ideas like negative frequency early would have been quite fun.
- zipy124 9mo agoIt totally is. Look for motion-magnification in the literature for the start of the field, and then remote PPG for more recent work.
- neckro23 9mo agoSure it is. Smart watches even do it using the simplest possible “camera” (an LED).