{"active_scenarios": ["falldown_detected"], "analysis_config": {"flush_interval_seconds": 15.0, "include_event_records": true, "max_buffer_records": 32, "summary_interval_frames": 120, "summary_only": true}, "cctv_id": "26", "created_at": "2026-05-21T13:49:53", "instance_id": "8f366edc", "record_type": "session_start", "source_url": "file:///data/playlist/uploads/251027_fall_test_input_video/해상도편집/강진광주_넘어짐_헬멧미착용_샘플/강진광주_쓰러짐_헬멧미착용_샘플__fix_20251114_150454.mp4"}
{"cctv_id": "26", "created_at": "2026-05-21T13:50:07", "instance_id": "8f366edc", "payload": {"active_detection_counts": {"작업자": 2}, "analysis_flags": {"summary_due": true}, "frame_counters": {"assigned_from_manual_pool": 2, "fall_candidate_rejected_duplicate_base": 2, "fall_candidate_seen": 2, "reconciled_to_real": 2, "tracker_update_calls": 1, "unmatched_objects": 2}, "frame_idx": 120, "lifetime_counters": {"assigned_from_manual_pool": 57, "assigned_from_recent_track": 1, "fall_candidate_accepted_edge_entry": 7, "fall_candidate_accepted_prev_track": 12, "fall_candidate_rejected_duplicate_base": 70, "fall_candidate_seen": 89, "pseudo_created": 4, "pseudo_promoted_to_manual": 2, "pseudo_reused": 2, "real_match_assigned": 76, "reconciled_to_real": 57, "tracker_online_targets": 76, "tracker_removed_tracks": 8, "tracker_update_calls": 120, "unmatched_objects": 66}, "scenario_analysis": {"_execution": {"_resolved_scenarios": ["falldown_detected"], "falldown_detected": {"returned_event_count": 1, "status": "returned_events"}}}, "scene_metrics": {"작업자": {"bbox_area_ratio_median": 0.020288, "bbox_height_ratio_median": 0.185417, "bbox_height_ratio_p75": 0.6, "bbox_width_ratio_median": 0.103906, "frame_presence_count": 120, "label_counts": {"person": 123, "worker": 19}, "object_sample_count": 142}}, "scene_scale_metrics": {"sample_count": 142, "worker_height_ratio_median": 0.185417, "worker_small_worker_ratio": 0.0}, "scene_scale_profile": "near", "track_kind_counts": {"manual": 2, "pseudo": 0, "real": 0}}, "record_type": "tracking_summary"}
{"anchor_point": null, "cctv_id": "26", "created_at": "2026-05-21T13:50:07", "detail": {"candidate_count": 4, "candidate_state": "ground", "crouch_incident_active": false, "downward_motion_norm": 0.3870967741935484, "edge_entry_override_used": false, "fall_accept_reason": null, "fall_incident_active": true, "fall_recovery_emit_override_used": false, "features": {"bbox_h": 77.5, "bbox_h_over_w": 0.36384976525821594, "hip_ankle_x_ratio": 27.5, "left_knee_deg": 149.10830702846965, "max_knee_deg": 149.10830702846965, "min_knee_deg": 138.155527427923, "right_knee_deg": 138.155527427923, "torso_angle_deg": 99.51336520522433, "torso_vertical_ratio": 0.1967741935483871, "worker_center_y": 551.0, "ygap_norm": 0.0}, "from_fall_only": false, "ground_variant": "ground_side", "instant_state": "ground", "prev_stable_state": "ground", "recent_fall_suppressed": true, "recent_ground_exit_suppressed": false, "scores": {"crouch": 0.2570635226156456, "ground": 0.7972989434279757, "ground_front_back": 0.45942356058377387, "ground_side": 0.7972989434279757, "kneel": 0.4461693120322381, "standing": 0.21499322681338992}, "stable_state": "ground", "stable_state_dwell_seconds": 0.7002158164978027, "standing_seen_before": false, "track_kind": "manual", "track_stable_frames": 3}, "event_id": 1000002, "event_message": "쓰러짐 감지", "event_status": null, "event_type": "falldown_detected", "frame_idx": 120, "frame_time": "2026-05-21 13:50:06", "instance_id": "8f366edc", "last_assignment_source": "reconciled_to_real", "meta": {}, "persist_event": true, "record_type": "scenario_event", "scene_scale_profile": "near", "stable_frames": 3, "track_id": 1000002, "track_kind": "manual", "zone_id": null, "zone_name": null}
{"cctv_id": "26", "created_at": "2026-05-21T13:50:19", "instance_id": "8f366edc", "payload": {"active_detection_counts": {"작업자": 2}, "analysis_flags": {"summary_due": true}, "frame_counters": {"assigned_from_manual_pool": 2, "reconciled_to_real": 1, "tracker_update_calls": 1, "unmatched_objects": 2}, "frame_idx": 240, "lifetime_counters": {"assigned_from_manual_pool": 249, "assigned_from_recent_track": 2, "fall_candidate_accepted_edge_entry": 7, "fall_candidate_accepted_prev_track": 13, "fall_candidate_rejected_duplicate_base": 178, "fall_candidate_seen": 198, "pseudo_created": 8, "pseudo_promoted_to_manual": 4, "pseudo_reused": 5, "real_match_assigned": 98, "reconciled_to_real": 143, "tracker_online_targets": 98, "tracker_removed_tracks": 10, "tracker_update_calls": 240, "unmatched_objects": 268}, "scenario_analysis": {"_execution": {"_resolved_scenarios": ["falldown_detected"], "falldown_detected": {"returned_event_count": 0, "status": "returned_events"}}}, "scene_metrics": {"작업자": {"bbox_area_ratio_median": 0.038187, "bbox_height_ratio_median": 0.413542, "bbox_height_ratio_p75": 0.502778, "bbox_width_ratio_median": 0.121484, "frame_presence_count": 118, "label_counts": {"person": 222, "small_worker": 1, "worker": 1}, "object_sample_count": 224}}, "scene_scale_metrics": {"sample_count": 366, "worker_height_ratio_median": 0.245313, "worker_small_worker_ratio": 0.002732}, "scene_scale_profile": "near", "track_kind_counts": {"manual": 1, "pseudo": 0, "real": 1}}, "record_type": "tracking_summary"}
{"anchor_point": null, "cctv_id": "26", "created_at": "2026-05-21T13:50:23", "detail": {"candidate_count": 2, "candidate_state": "ground", "crouch_incident_active": false, "downward_motion_norm": 0.1935483870967742, "edge_entry_override_used": false, "fall_accept_reason": null, "fall_incident_active": true, "fall_recovery_emit_override_used": false, "features": {"bbox_h": 93.0, "bbox_h_over_w": 0.3875, "hip_ankle_x_ratio": 18.25, "left_knee_deg": 173.63944917651438, "max_knee_deg": 173.63944917651438, "min_knee_deg": 171.59515885875896, "right_knee_deg": 171.59515885875896, "torso_angle_deg": 77.56676481190436, "torso_vertical_ratio": 0.15053763440860216, "worker_center_y": 543.0, "ygap_norm": 0.13978494623655913}, "from_fall_only": false, "ground_variant": "ground_side", "instant_state": "ground", "prev_stable_state": "kneel", "recent_fall_suppressed": true, "recent_ground_exit_suppressed": false, "scores": {"crouch": 0.19120463709677418, "ground": 0.8207960165032477, "ground_front_back": 0.49422009435117953, "ground_side": 0.8207960165032477, "kneel": 0.4329637096774194, "standing": 0.24290198798171114}, "stable_state": "ground", "stable_state_dwell_seconds": 0.0, "standing_seen_before": true, "track_kind": "manual", "track_stable_frames": 52}, "event_id": 1000004, "event_message": "쓰러짐 감지", "event_status": null, "event_type": "falldown_detected", "frame_idx": 281, "frame_time": "2026-05-21 13:50:23", "instance_id": "8f366edc", "last_assignment_source": "reconciled_to_real", "meta": {}, "persist_event": true, "record_type": "scenario_event", "scene_scale_profile": "near", "stable_frames": 52, "track_id": 1000004, "track_kind": "manual", "zone_id": null, "zone_name": null}
{"cctv_id": "26", "created_at": "2026-05-21T13:50:31", "instance_id": "8f366edc", "payload": {"active_detection_counts": {"작업자": 2}, "analysis_flags": {"summary_due": true}, "frame_counters": {"assigned_from_manual_pool": 1, "fall_candidate_rejected_duplicate_base": 1, "fall_candidate_seen": 1, "real_match_assigned": 1, "reconciled_to_real": 1, "tracker_online_targets": 1, "tracker_update_calls": 1, "unmatched_objects": 1}, "frame_idx": 360, "lifetime_counters": {"assigned_from_manual_pool": 402, "assigned_from_recent_track": 2, "fall_candidate_accepted_edge_entry": 9, "fall_candidate_accepted_prev_track": 13, "fall_candidate_rejected_duplicate_base": 247, "fall_candidate_seen": 269, "pseudo_created": 11, "pseudo_promoted_to_manual": 5, "pseudo_reused": 7, "real_match_assigned": 118, "reconciled_to_real": 268, "tracker_online_targets": 118, "tracker_removed_tracks": 12, "tracker_update_calls": 360, "unmatched_objects": 427}, "scenario_analysis": {"_execution": {"_resolved_scenarios": ["falldown_detected"], "falldown_detected": {"returned_event_count": 0, "status": "returned_events"}}}, "scene_metrics": {"작업자": {"bbox_area_ratio_median": 0.031938, "bbox_height_ratio_median": 0.261806, "bbox_height_ratio_p75": 0.692361, "bbox_width_ratio_median": 0.145313, "frame_presence_count": 120, "label_counts": {"person": 177, "worker": 2}, "object_sample_count": 179}}, "scene_scale_metrics": {"sample_count": 545, "worker_height_ratio_median": 0.250694, "worker_small_worker_ratio": 0.001835}, "scene_scale_profile": "near", "track_kind_counts": {"manual": 1, "pseudo": 0, "real": 1}}, "record_type": "tracking_summary"}
{"anchor_point": null, "cctv_id": "26", "created_at": "2026-05-21T13:50:37", "detail": {"candidate_count": 2, "candidate_state": "ground", "crouch_incident_active": false, "downward_motion_norm": 0.267741935483871, "edge_entry_override_used": false, "fall_accept_reason": "prev_worker_match", "fall_incident_active": true, "fall_recovery_emit_override_used": false, "features": {"bbox_h": 155.0, "bbox_h_over_w": 0.6831955922865014, "hip_ankle_x_ratio": 1.5006729475100942, "left_knee_deg": 100.36738937820424, "max_knee_deg": 100.36738937820424, "min_knee_deg": 82.61538018161242, "right_knee_deg": 82.61538018161242, "torso_angle_deg": 24.83365092266986, "torso_vertical_ratio": 0.3629032258064516, "worker_center_y": 548.0, "ygap_norm": 0.3419354838709677}, "from_fall_only": true, "ground_variant": "ground_front_back", "instant_state": "ground", "prev_stable_state": "crouch", "recent_fall_suppressed": true, "recent_ground_exit_suppressed": false, "scores": {"crouch": 0.42085771668367894, "ground": 0.7948935993109968, "ground_front_back": 0.6857911702508563, "ground_side": 0.6558276872526616, "kneel": 0.41657154462241586, "standing": 0.1482254889305605}, "stable_state": "ground", "stable_state_dwell_seconds": 0.0, "standing_seen_before": true, "track_kind": "manual", "track_stable_frames": 26}, "event_id": 1000006, "event_message": "쓰러짐 감지", "event_status": null, "event_type": "falldown_detected", "frame_idx": 422, "frame_time": "2026-05-21 13:50:37", "instance_id": "8f366edc", "last_assignment_source": "reconciled_to_real", "meta": {}, "persist_event": true, "record_type": "scenario_event", "scene_scale_profile": "near", "stable_frames": 26, "track_id": 1000006, "track_kind": "manual", "zone_id": null, "zone_name": null}
{"anchor_point": null, "cctv_id": "26", "created_at": "2026-05-21T13:50:42", "detail": {"candidate_count": 5, "candidate_state": "ground", "crouch_incident_active": false, "downward_motion_norm": 0.0, "edge_entry_override_used": false, "fall_accept_reason": "prev_worker_match", "fall_incident_active": false, "fall_recovery_emit_override_used": true, "features": {"bbox_h": 138.5, "bbox_h_over_w": 0.7863733144073811, "hip_ankle_x_ratio": 0.789544235924933, "left_knee_deg": 65.37591109374013, "max_knee_deg": 84.30471077078165, "min_knee_deg": 65.37591109374013, "right_knee_deg": 84.30471077078165, "torso_angle_deg": 64.40362573785576, "torso_vertical_ratio": 0.1624548736462094, "worker_center_y": 524.0, "ygap_norm": 0.0}, "from_fall_only": true, "ground_variant": "ground_side", "instant_state": "ground", "prev_stable_state": "ground", "recent_fall_suppressed": false, "recent_ground_exit_suppressed": false, "scores": {"crouch": 0.32597950754495886, "ground": 0.7676546072760351, "ground_front_back": 0.6746256715455996, "ground_side": 0.7676546072760351, "kneel": 0.30597950754495884, "standing": 0.10903074634080026}, "stable_state": "ground", "stable_state_dwell_seconds": 0.30320310592651367, "standing_seen_before": false, "track_kind": "manual", "track_stable_frames": 7}, "event_id": 1000008, "event_message": "쓰러짐 감지", "event_status": null, "event_type": "falldown_detected", "frame_idx": 478, "frame_time": "2026-05-21 13:50:42", "instance_id": "8f366edc", "last_assignment_source": "reconciled_to_real", "meta": {}, "persist_event": true, "record_type": "scenario_event", "scene_scale_profile": "near", "stable_frames": 7, "track_id": 1000008, "track_kind": "manual", "zone_id": null, "zone_name": null}
{"cctv_id": "26", "created_at": "2026-05-21T13:50:43", "instance_id": "8f366edc", "payload": {"active_detection_counts": {"작업자": 3}, "analysis_flags": {"summary_due": true}, "frame_counters": {"assigned_from_manual_pool": 1, "fall_candidate_accepted_prev_track": 1, "fall_candidate_seen": 1, "pseudo_created": 1, "real_match_assigned": 1, "reconciled_to_real": 1, "tracker_online_targets": 1, "tracker_update_calls": 1, "unmatched_objects": 2}, "frame_idx": 480, "lifetime_counters": {"assigned_from_manual_pool": 489, "assigned_from_recent_track": 2, "fall_candidate_accepted_edge_entry": 9, "fall_candidate_accepted_prev_track": 56, "fall_candidate_rejected_duplicate_base": 269, "fall_candidate_seen": 334, "pseudo_created": 20, "pseudo_promoted_to_manual": 8, "pseudo_reused": 11, "real_match_assigned": 135, "reconciled_to_real": 358, "tracker_online_targets": 135, "tracker_removed_tracks": 13, "tracker_update_calls": 480, "unmatched_objects": 530}, "scenario_analysis": {"_execution": {"_resolved_scenarios": ["falldown_detected"], "falldown_detected": {"returned_event_count": 0, "status": "returned_events"}}}, "scene_metrics": {"작업자": {"bbox_area_ratio_median": 0.026898, "bbox_height_ratio_median": 0.196007, "bbox_height_ratio_p75": 0.438889, "bbox_width_ratio_median": 0.112598, "frame_presence_count": 101, "label_counts": {"person": 76, "small_worker": 1, "worker": 43}, "object_sample_count": 120}}, "scene_scale_metrics": {"sample_count": 665, "worker_height_ratio_median": 0.242708, "worker_small_worker_ratio": 0.003008}, "scene_scale_profile": "near", "track_kind_counts": {"manual": 1, "pseudo": 1, "real": 1}}, "record_type": "tracking_summary"}
{"cctv_id": "26", "created_at": "2026-05-21T13:50:55", "instance_id": "8f366edc", "payload": {"active_detection_counts": {"작업자": 2}, "analysis_flags": {"summary_due": true}, "frame_counters": {"assigned_from_manual_pool": 1, "real_match_assigned": 1, "reconciled_to_real": 1, "tracker_online_targets": 1, "tracker_update_calls": 1, "unmatched_objects": 1}, "frame_idx": 600, "lifetime_counters": {"assigned_from_manual_pool": 610, "assigned_from_recent_track": 3, "fall_candidate_accepted_edge_entry": 9, "fall_candidate_accepted_prev_track": 68, "fall_candidate_rejected_duplicate_base": 320, "fall_candidate_seen": 397, "pseudo_created": 28, "pseudo_promoted_to_manual": 13, "pseudo_reused": 17, "real_match_assigned": 266, "reconciled_to_real": 484, "tracker_online_targets": 266, "tracker_removed_tracks": 16, "tracker_update_calls": 600, "unmatched_objects": 671}, "scenario_analysis": {"_execution": {"_resolved_scenarios": ["falldown_detected"], "falldown_detected": {"returned_event_count": 0, "status": "returned_events"}}}, "scene_metrics": {"작업자": {"bbox_area_ratio_median": 0.037867, "bbox_height_ratio_median": 0.427951, "bbox_height_ratio_p75": 0.5, "bbox_width_ratio_median": 0.103809, "frame_presence_count": 120, "label_counts": {"person": 260, "worker": 12}, "object_sample_count": 272}}, "scene_scale_metrics": {"sample_count": 937, "worker_height_ratio_median": 0.310417, "worker_small_worker_ratio": 0.002134}, "scene_scale_profile": "near", "track_kind_counts": {"manual": 1, "pseudo": 0, "real": 1}}, "record_type": "tracking_summary"}
{"cctv_id": "26", "created_at": "2026-05-21T13:50:59", "instance_id": "8f366edc", "record_counts": {"scenario_event": 4, "tracking_summary": 5}, "record_type": "session_stop"}
