aicctv
Find a file
유창욱 e81ea8961c refactor(edge): DRY displacement helper into geometry.track_displacement (FIX 6)
_displacement (mean per-keypoint delta between the last two track frames,
normalized by bbox height) was duplicated verbatim in
edge/detectors/fall.py and edge/detectors/immobility.py.

Move it to edge/geometry.py as track_displacement(track) and have both
detectors call the shared helper instead of their own private copy.
Pure refactor — behavior is identical (byte-identical formula), no
config or public API changes.

Tests: tests/test_geometry.py adds direct coverage for the new public
helper (fewer-than-two-frames default, and the normalized-by-height
calculation). Existing fall/immobility tests are unchanged and stay green,
confirming behavior parity.
2026-07-11 22:21:27 +09:00
docs feat(edge): hardware adapter stubs + Pi bring-up/benchmark doc 2026-07-11 21:54:24 +09:00
edge refactor(edge): DRY displacement helper into geometry.track_displacement (FIX 6) 2026-07-11 22:21:27 +09:00
tests refactor(edge): DRY displacement helper into geometry.track_displacement (FIX 6) 2026-07-11 22:21:27 +09:00
.gitignore docs: workplace safety AI CCTV design spec v2.0 + P1-A edge core plan 2026-07-11 20:08:01 +09:00
pyproject.toml feat(edge): data models (Keypoint, BBox, Person) + COCO indices 2026-07-11 20:13:00 +09:00