Presented originally as a smart baby monitor that can estimate heart rate and respond to a low heart rate / no heart rate scenarios by providing audio, tactile(vibration), and visual stimulus to infant as well as alerting parents.
C++ & Qt application to perform euclidean video magnification (color magnification for heart rate estimation) on one Raspberry Pi and send video feed to another Pi.
Note: Requires building Qt from source with sctp enabled (eg.
configure ... -sctp
).
- Requires package(debian):
libsctp1-dev
, after configure check theconfig.summary
in the build folder forSCTP........yes
- SCTP (stream controlled transmission protocol) is not available on Windows
One Raspberry Pi (server) acts as a camera and performs euclidean video magnification to estimate heart rate. The results are sent (sctp) to the other Raspberry Pi (client) which displays the video along with the heart rate estimation.
- PySide implementation?
- Pros:
- ring buffer already verified
- I am more comfortable with python
- Cons:
- Major refactoring
- generating PySide6 bindings after build Qt with sctp appear to link QSctp[Server|Socket] classes
- Pros:
- separate image capture and server's frame buffer maintenance from algorithm implementation
- add additional algorithms for
- breathing rate detection (eulerian motion magnification -- laplacian spatial decomposition)
- movement (Optical Flow)
- Hardware, from the ground up
- move from raspberry pi to STM32 mcu (openMV -- H7)
- move from openMV to STM32 Nucleo/discovery board and purchased image sensor (AR0134CS) -- Image sensor I really want (OV2312).
- ecg and breath sensing with traditional methods (use to verify algorithm)
- Find manufacturer for prototype run.