ThermoPulse - Remote human metric monitoring with Webcam and FLIRcam
Team: Chris Rieger, Rory Charlton (LinkedIn). This project was completed in a timeframe of approximately 4 weekends. The aim of this project was to provide a wireless solution for remotely sensing and tracking crowds extracting useful data (i.e. subject temperature, heart rate, age and gender) and presenting it in a useful way. The device acts as a node with a web interface whereby streams of both cameras are displayed.
The core features of the device are:
- Face Recognition and Tracking (Multi Face Support)
- Temperature Tracking and Tagging (using FLIRcam)
- Heart Rate Detection (Photoplethysmology)
- Age and Gender Estimation (using ProjectOxford API)
- Realtime augmented-reality-style Overlays
- Web Interface
FLIR Dev Kit - 80*60 pixel IR camera (14bit resolution, 50mK sensitivity)
Standard ‘Off-the-Shelf’ 720p webcam
Raspberry Pi 2 (Quad Core 1Ghz, 1gb RAM)
A custom laser cut jig to align the cameras appropriately was needed. 4 spring loaded screw terminals are used to make small changes in camera angle. Whilst paralax cannot be completed eliminated, it showed fairly good results.
Heart Rate Detection
Based off GitHub Project (by NASA Glen Research Centre)
Data collection using regular webcam. Intensity fluctuations in green channel analysed. Frequency spectrum peaks correspond to heart rate. Requires: At least 15 seconds of data. Good lighting conditions. Minimal head movement.
Code for this project is largely based off existing code projects. The code for this project is made available below. We cannot provide support for this code as it was written in a codejam-like environment. However, it may be useful for some developers.
The below demo videos (<30 seconds each) highlight the key features of the device.