Inspiration
Hospital waiting rooms are overwhelmed, so I built a safety net, a system that monitors patients while they are in the waiting room, ensuring the urgent emergencies get bumped to the front of the line.
What it does
Vigil turns standard camera feeds into heart rate monitors. Using computer vision and remote photoplethysmography (rPPG), it measures heart rate by analyzing small changes in skin color. When patients enter the frame, Vigil passively measures their pulse and feeds the data into the live EHR queue. If their vitals enter a critical zone, they are instantly flagged and bumped to top priority.
How we built it
Backend: Built with Python and FastAPI. I implemented a multi-camera pipeline with OpenCV and used InsightFace for facial embeddings to track people on-screen. I implemented a Spatiotemporal Convolutional Neural Network (SCNN) to extract the blood volume pulse (BVP) directly from moving facial crops. Frontend: A React dashboard communicating over WebSockets to stream video frames and live JSON data.
Challenges we ran into
Early on, the system would mix up data if two patients swapped spots. I fixed this by increasing the embedding strictness. Also, getting clean pulses in poor lighting required us to implement smoothing in the heart rate logic.
Accomplishments that we're proud of
Getting WebSockets to stream heavy JPEG frames alongside JSON data without straining the browser. I am also proud to have built a system that patients don't have to connect to a device, they just walk into the frame, and the monitoring begins automatically.
What we learned
I learned how sensitive biological signals are. Getting small color fluctuations from a live video feed taught me a lot about remote photoplethysmography (rPPG), embeddings, and how challenging camera compression and poor lighting can be for computer vision.
What's next for Vigil
Right now, it tracks heart rate, but the next step is to track respiratory rates like breathing cycles and blood oxygen levels using deeper video techniques. Long term, I imagine deploying Vigil into existing hospital security cameras, turning the entire hospital into a seamless, passive triage network. That can identify critical patients in waiting rooms.
Built With
- fastapi
- insightface
- javascript
- machine-learning
- opencv
- python
- react
- websockets
Log in or sign up for Devpost to join the conversation.