- The dumbest fall detector we could write scores 1.0 recall on our fixed 360-event synthetic set. The whole rule is peak velocity over 2.0 m/s OR centroid under 0.45 m. Same recall as our full cascade. It is still useless: confounder specificity 0.167. 🧵
- Sensitivity was never the bottleneck. Alarm fatigue is the documented deployment killer in senior living. A panel that fires on the ceiling fan gets muted by the night shift, and a muted system detects nothing at all.
- Every confounder in that set is generated to overlap a real fall on a single feature, which is why the naive rule is fooled. In the seeded shift, Cam 5 (Room 203 in the record): a hard sit peaks at 2.92 m/s, a fall's velocity. Naive: ALERT. Vigil: SUPPRESS, P(fall) 0.004.
- The separation is in where the body stops. That centroid settles at 0.46 m, seat height, with no broadband impact. The Cam 7 towel bend dips to 0.60 m and carries impact energy 0.07 against a 0.50 threshold. Neither one ever reaches floor level.
- Cam 1 (Room 214 in the audit record) is a ceiling fan at 5.0 m/s peak velocity, which the naive rule alerts on. It is suppressed because that room's clutter map masks the fixed Doppler voxel at (1.5, 1.5, 2.45 m). Per-room calibration is the integration work.
- We put confirmation in deterministic code outside every model. Four conditions must hold in one 8-second window: standing above 1.2 m across its opening fifth, a drop over 0.6 m with peak velocity over 1.8 m/s, a 3-frame sustained impact over 0.50, the centroid under 0.30 m.
- Only then does the gate check breathing and the model's P(fall) against a fixed 0.70 floor the model does not set. A model can never manufacture an alert on its own. Every suppression is logged with the deciding feature value, because a state surveyor asks about those.
- The classifier's fusion weights were fit on this demo's own scenario generators, the same ones producing the 360 events. Read the 1.0 as a claim about the cascade's logic, not about a facility.
- Projected false alarms on that set: 0.0 per room per day for the cascade, 25.0 for the naive rule, assuming 30 benign triggers per room per day. A real pilot targets under 2 after shadow-mode calibration. That is the number we would hold ourselves to.
- On the seeded synthetic night shift the engine alerted once (Cam 3, a bathroom long-lie, 0.99 confidence, 4.8 s on the floor) and suppressed ten. The second real fall it did not claim: two targets in the room, outside V1 coverage, so it routed to a human at low confidence.
- Two versions of the same test. If you run sensors in a facility, pull last week's alerts and mark which were real. If you ship detection, score your model on negatives built to overlap the positive class. #SafetyCriticalAI #AlarmFatigue #FallDetection #SeniorLiving
- Watch the shift replay: every event scored, the naive baseline's verdict beside the cascade's, every suppression carrying its reason. https://veriprajna.com/demos/smart-facility-fall-detection
Published on X · September 8, 2026
On social media
See this post on its original platform
In our archive