The real-footage model was perfect at home and lost in the neighbour's house
We trained the same small model three ways and tested it in two homes. The one trained on real footage won at home and fell apart next door.
What we tried
We sell synthetic training data, and the obvious question about it is whether a model trained on it works on real cameras. This autumn we started training our own models to answer that with numbers instead of adjectives.
The first model answers one narrow question: is a person lying on the ground or floor, or are they sitting, kneeling, standing or walking? We do not score the falling motion itself, and lying in bed or on a sofa is out of scope. What we care about is reliably seeing that someone is down.
We took D-FINE Nano, a 3.7 M-parameter detector, and trained it three ways:
- Synthetic only: our Fall 1K set, 900 training images, 178 of them people sitting, kneeling, crouching or standing as look-alikes.
- Real only: 1,382 frames of CAUCAFall, a public dataset of staged falls filmed in one room with one camera, subjects 1 to 4 for training and subject 5 for validation.
- Mixed: both together.
Then we tested all three on real footage none of them had trained on. Test 1 is CAUCAFall subjects 6 to 10: new people, same room, same camera. Test 2 is GMDCSA-24, 160 clips from a different home with four other people.
The result
In the room it was trained in, the real-only model was perfect: AP 1.000, every lying frame found. In the other home, at a setting where 10% of non-fall clips may raise an alarm, it caught 24% of the fall clips.
The synthetic-only model had never seen a real frame. In the other home it caught 83% to 87% of fall clips across three training runs, 85% on average. The mixed model was perfect at home and caught 90% next door.
D-FINE Nano, tested in a home it never saw
Fall clips caught at a 10% clip false-alarm rate
Why that happens
The real training set is one room filmed by one camera. Every person who lies down does it on the same floor, under the same light, seen from the same angle. A model can do very well there by learning the room: where the floor is, what it looks like when it is covered by a body, what lying looks like from that one height. The perfect home score tells you it learned that room well. It does not tell you it learned what lying down is.
The synthetic set has no single room. People lie on the floor in many different scenes, seen from different camera positions, and the look-alikes sit, kneel and crouch in the same kinds of scenes. The only thing that consistently separates positives from negatives is the state of the person. The model has no shortcut, so it learns the state.
The mixed result shows the two do not compete. The synthetic images teach the state, and real footage from the target camera keeps the in-domain score where it was. That is the shape we expect a customer project to take: their own footage on top of our data.
What surprised us
YOLO's default recipe. We trained YOLO26n as a reference point (it is AGPL-licensed, so we would not ship it). With the default Ultralytics settings, trained on synthetic images, it scored 0.449 AP in the first home. Freezing its pretrained feature layers lifted that to 0.813. The default recipe lets 900 synthetic images overwrite what the model learned from real photos. D-FINE, trained with a 10x lower learning rate on those layers, kept them.
End-on lying. A person lying towards or away from the camera looks short, not long. At a 5% false-alarm rate, D-FINE Nano caught 54% to 64% of those frames across its three runs; the larger D-FINE Small caught 90% in its one run. This is the biggest gap we found, and it is the first thing round 2 goes after.
How much runs differ. Three D-FINE Nano runs, same data, same settings. At a strict 1% false-alarm setting they caught 52%, 75% and 84% of lying frames. One run could have told either story. We report the mean and the range, never the best run.
What we are not claiming
- Public spaces, night, distance or crowds. Both tests are staged, small and indoor, with few actors. We have not measured any of these.
- Fall detection. The model finds a person lying on the ground or floor. It does not watch the fall, and it does not cover beds or sofas.
- Production readiness, or any medical or patient-monitoring use. This is round 1 of a study.
- Speed. We measured latency while other jobs were training, so we do not report it.
The real-only and mixed numbers are single runs, and their perfect home scores are in-domain, so they overstate them. The second home is the fair test.
What happens next
Round 2 trains D-FINE Nano and Small again, with 400 targeted synthetic images added for the cases round 1 missed, such as end-on lying and people partly hidden by furniture. Control runs without them show what they add. The tests get harder too: a public-space slice from real car-park CCTV, and a count of false alarms per camera-hour on campus CCTV where nobody is lying down.
We have set the release bar in advance. Among other things, D-FINE Nano has to catch at least 80% of end-on lying at a 5% false-alarm rate on average, and the strict 1% setting may vary by no more than 15 points between runs (it is 32 today). If round 2 passes, the D-FINE Small and Nano weights go on Hugging Face under Apache-2.0 with the full scorecard. The public-space result gets reported whatever it says.
The full method, every result row and the training recipe are in the guide D-FINE vs RF-DETR vs YOLO on real footage. The short version for buyers is the case study, and the models page shows where each model stands.
Test data: CAUCAFall (Eraso, Muñoz, Muñoz and Pinto, CC BY 4.0) and GMDCSA-24 (Alam et al., MIT). Thanks to both teams for publishing them.
Common questions
Is this a fall detection model?
No. It answers a narrower question: is a person lying on the ground or floor, or sitting, kneeling, standing or walking? The falling motion itself is not scored, and lying in bed or on a sofa is out of scope. We use the fall clips in public fall datasets as positives because the person ends on the floor.
Would the real-footage model not just need more real data?
More real data from more places would help, but that is the data that is hard to get. Our real training footage came from one room and one camera. Adding our synthetic images to the same real footage kept the perfect in-domain score and lifted the other home from 24.1% to 89.9% of fall clips at a 10% clip false-alarm rate.
Can I download the model?
Not yet. The weights follow after round 2, which adds targeted training images and a public-space test. If round 2 passes our release bar, the D-FINE Small and Nano weights go on Hugging Face under Apache-2.0. The synthetic training set is available now.
Does it work at night or in public spaces?
We do not know yet, so we do not claim it. Both real tests are staged, small and indoor. Round 2 adds a public-space test from real car-park CCTV and a false-alarm count on campus CCTV where nobody is lying down.