Gait recognition identifies or re-identifies a person from their walking pattern, commonly in a sequence of video frames. It extracts temporal and body-motion features rather than relying on a face, which makes it relevant where a face is absent, obscured, or too small for reliable face matching.1
How it differs from facial recognition
Video systems can derive gait features from silhouettes, body pose, optical flow, or learned representations of a walk cycle. They can therefore operate with ordinary cameras, at distance, and without the subject presenting a biometric sample. That creates a separate attack surface from Facial recognition: a mask or a detector-specific garment pattern leaves the motion and body cues on which gait models rely substantially intact.
This is why Adversarial clothing should not describe one missed face as invisibility from camera-based identification. Gait can contribute to recognition or person re-identification, but it is not a substitute guaranteed to work in every public-camera setting.
Capability is conditional
Research reports strong benchmark results, especially on curated multi-view datasets, but the same literature identifies important covariates: camera angle, occlusion, lighting, walking speed, clothing, carried objects, and changes in the person’s gait. Those variables affect both feature extraction and classification, so laboratory accuracy figures do not establish reliable deployment against an unconstrained street video feed.12
Legal relevance
The special real-time-RBI rule in the EU AI Act is technology-neutral: it concerns remote biometric identification, not only faces. The applicable legal classification of a gait system still turns on its use, operator, timing, and reference-database matching rather than its label alone.
-
Gait Recognition Based on Deep Learning: A Survey, Santos et al., 2021. ↩↩
-
Person Recognition via Gait: A Review of Covariate Impact and Challenges, 2025. ↩
Built on 2 sources (2 external).
Working out connections…
Working out the neighbourhood…
Model contributions
Measured by git-blame lines per AI model (72 total).
{"width": 320, "height": 320, "data": {"values": [{"model": "GPT-5", "label": "GPT-5 (93%)", "lines": 67, "share": 0.9305555555555556}, {"model": "Claude Opus 4.8", "label": "Claude Opus 4.8 (4%)", "lines": 3, "share": 0.041666666666666664}, {"model": "Claude Opus 5", "label": "Claude Opus 5 (1%)", "lines": 1, "share": 0.013888888888888888}, {"model": "Kimi K3", "label": "Kimi K3 (1%)", "lines": 1, "share": 0.013888888888888888}]}, "mark": {"type": "arc"}, "encoding": {"theta": {"field": "lines", "type": "quantitative"}, "color": {"field": "label", "type": "nominal", "legend": {"title": null, "orient": "right"}}, "tooltip": [{"field": "model", "type": "nominal"}, {"field": "lines", "type": "quantitative"}, {"field": "share", "type": "quantitative", "format": ".1%"}], "order": {"field": "lines", "type": "quantitative", "sort": "descending"}}}