Monash DeepNeuron Pulse A DEEPNEURON PROJECT
THE PROJECT

One camera, three frozen models, and a number.

This page explains everything: what Pulse watches for, how the pipeline works, how we decide when to wake someone up, and where the whole thing currently stops being true.

01 · THE PROBLEM

A carer cannot be in the room twenty-four hours a day.

Bedridden patients in home and residential care are checked on a schedule. Between those checks, a patient who cannot reach a call button, whether from paralysis, sedation, dementia, or simple exhaustion, has no way to report pain. A patient in pain at 2am may wait until the morning round.

Pulse does not replace a carer. It tells a carer when to come. That is the whole ambition, and it is deliberately small: the gap we are trying to close is measured in minutes, not in staffing budgets. Forty-one seconds, not four hours.

02 · WHAT WE'RE BUILDING

Video in, a phone notification out.

One wide-angle camera, pointed at a bed from a bedside table. No wearables, no contact sensors, no microphone in the demo.

A push notification to one carer's phone: what was detected, how confident, and a still frame from the moment it fired.

A family carer or a night nurse covering several rooms. They set it down, point it at the bed, and otherwise ignore it.

03 · HOW IT WORKS

Two branches, because in bed and out of bed aren't the same problem.

If the patient is in bed, the body is under a blanket. The face is the only signal there is, so that branch reads facial expression: a CNN with a ResNet18 backbone extracts features from each aligned face crop, and an LSTM reads 30-frame windows of those features to predict a PSPI pain score from 0 to 16. If the patient is out of bed, the body is visible instead, so that branch reads posture: a pose model that maps the body to 17 COCO keypoints and tracks them frame to frame. The pipeline runs live, end to end: camera, face detection and alignment, the CNN and LSTM pain score, pose, posture and movement, the alert engine, and the carer dashboard. Fall detection is the one part that is still experimental: a prototype behind a Settings toggle that is off by default.

01 Camera frame RGB FRAME · 30 FPS → 02 Face found? SPLITS THE TWO BRANCHES
YES · IN BED 03 CNN TRAINED · RUNS LIVE → 04 LSTM TRAINED · RUNS LIVE → 05 Alert decision DONE · RUNS LIVE
NO · OUT OF BED 06 Patient detection (pose) 17 KEYPOINTS · RUNS LIVE
04 · DECIDING WHEN TO ALERT

Above threshold, and only above threshold, an alert goes out.

Below it, the room stays quiet. False alarms cost trust. A carer who is woken three times a night by a sneeze stops trusting the fourth alert, and the fourth alert is the one that matters. Everything about this decision is a trade.

Below are twenty illustrative confidence values, not measured ones. Seven are placed where a genuine-pain moment would sit. Move the threshold and watch what you gain and what you give up. In the working dashboard, the LSTM predicts a PSPI pain score from 0 to 16, and the thresholds are demo defaults set through a calibration step, not clinical thresholds.

THRESHOLD 0.65
0 0 / 7 0

05 · THE DEVICE

A concept, not a product. We should say that plainly.

Right now Pulse is software running on a laptop with a webcam. The camera cube is in progress, and it is where we're heading: a Raspberry Pi 5, a wide camera, and a round display, in about 8cm of warm plastic on a bedside table. Nothing clipped to the patient, no wires across the bed.

CAD STAGE · NOT YET BUILT

Camera Module 3 Wide, the only sensor the demo needs.

240 × 240 round LCD. It exists to hold the face.

I2S mic for audible distress, as a second opinion.

Room sensors for thermal, motion, distance and air quality. Planned, not built yet.

PULSE · 8 CM MUG · 9.5 CM PHONE · 14.7 CM
SHARED BASELINE: THE CUBE IS SHORTER THAN A COFFEE MUG
06 · THE DATA

We train on a physiotherapy clinic and aim at a bedroom.

Our models are trained on a published clinical pain-expression dataset: video of adult patients in a clinical setting, with pain intensity coded frame by frame. It is licensed for non-commercial research and teaching only, and we use it under those terms.

The domain gap is real and we are not going to talk around it. That footage is seated adults, lit clinically, facing the camera, in acute pain provoked on purpose. Our target is a person lying down, in a dark room, at an oblique angle, possibly in chronic pain. We align faces before the CNN and augment with rotation and angle jitter. That narrows the gap. It does not close it, and no result from our demo should be read as if it did.

A published clinical pain-expression dataset
Non-commercial · research and teaching
Face alignment, angle augmentation: partial, not sufficient
07 · WHAT IT ISN'T

A concept, not a product. We should say that plainly.

  • Not a certified medical device. It has no regulatory approval of any kind and is not intended for clinical use.
  • Not clinically validated. Our numbers come from a research dataset, not from patients in a bedroom.
  • Not a diagnosis. Pulse says a face looks like pain, at a confidence. A carer decides what that means.
  • Not a replacement for a carer, and never a reason to check on someone less often.
  • Not a reliable fall detector. Our fall detection is an unvalidated prototype, behind a Settings toggle that is off by default.
  • Not built yet. The camera cube is still in progress, so the working prototype doesn't run on it. We're not pretending otherwise.
08 · ROADMAP

Ten weeks, counted from when we actually started. We're eight of them in.

  1. Scope: falls, breathing, or pain

  2. Face detection and patient detection (17 keypoints) both working

  3. Dashboard prototype

  4. Dataset access came through; indexed 48,398 frames and checked labels against the paper

  5. CNN complete: 512-dimension feature vectors generated, class imbalance issue resolved

  6. Wiring the pieces together: frame storage for the CNN pipeline, webcam integration, LSTM development, patient detection refinement

  7. Integration: one live inference loop

  8. WE ARE HERE

    Showcase: live video in, alerts out

  9. Threshold tuning, latency, failure cases

  10. Write-up, handover, CAD refinement