HAPACT: A Benchmark For Human-Centric Physical Impact Localization in Movies
Organizations: Graduate School of Metaverse, KAIST, South Korea · Department of AX, KAIST College of AI, South Korea · Graduate School of Culture Technology, KAIST, South Korea · Department of Artificial Intelligence, Korea University, South Korea
Abstract
Physical reasoning about humans in videos has largely focused on everyday interactions, where contact, pressure, pose, and motion support embodied perception and contact-aware applications. Still, short and forceful properties like impact events remain relatively underexplored, despite their relevance to broader understanding of how abrupt physical events affect the human body. To fill this gap, we introduce human-centric impact localization, a new task that localizes target physical impacts temporally within a video and spatially on the human body. We further present HAPACT, a HumAn-centric imPACT dataset and benchmark built from movie clips, containing over 2.8K video-query pairs with more than 20K fine-grained human-annotated frames. We built HAPACT around viewer-grounded annotation, text-conditioned localization, and supervision at frame-level temporal and SMPL-X-based spatial granularity. To demonstrate the effectiveness of our benchmark, we conduct extensive evaluations of existing methods, employing video moment retrieval models for temporal localization and human-scene contact models for spatial localization. For the spatial task, we propose a text-conditioned baseline by reformulating localization as query-guided body-region selection. Benchmark results show that physical impact localization remains challenging for existing methods, motivating HAPACT as a dedicated benchmark to support physical impact reasoning in videos.
Figures & tables
| Dataset | Domain | Scale | #Text Queries | Avg. #M / Query | Avg. M Length | Physical Cue | Body Rep. |
| Image/video body-level physical datasets | |||||||
| PROX [ 24 ] | Indoor scenes | 100,000 frames | ✗ | ✗ | ✗ | Scene contact | SMPL-X |
| BEHAVE [ 5 ] | Natural scenes | 15,200 frames | ✗ | ✗ | ✗ | Object contact | SMPL-H |
| RICH [ 27 ] | Natural scenes | 577,000 frames | ✗ | ✗ | ✗ | Scene contact | SMPL-X |
| HOT [ 11 ] | In-the-wild | 15,082 images | ✗ | ✗ | ✗ | Object/scene contact | 2D regions |
| DAMON [ 64 ] | In-the-wild | 5,522 images | ✗ | ✗ | ✗ | Object/scene contact | SMPL |
| Method | mAP | mR@k | ||||||||
| Setting | [email protected] | [email protected] | G-mAP | @1_tgt | @2_tgt | @3+tgt | @1 | @2 | @3 | |
| Random | 4.14 | 2.31 | 7.16 | 7.30 | 6.73 | 5.50 | 4.11 | 6.55 | 7.91 | |
| Moment-DETR [ 37 ] NeurIPS ’21 | ZS | 8.05 | 5.77 | 10.04 | 11.69 | 7.07 | 5.56 | 6.93 | 5.88 | 7.29 |
| FT | 18.16 | 13.63 | 20.39 | 21.94 | 19.11 | 12.92 | 15.57 | 16.61 | 16.59 | |
| QD-DETR [ 47 ] CVPR ’23 | ZS | 9.55 | 6.00 | 11.98 | 13.57 | 9.50 | 7.81 | 8.22 | 8.12 | 8.53 |
| FT | 21.27 | 16.17 | 22.06 | 23.91 | 19.98 | 15.39 | 16.86 | 18.67 | 19.69 | |
| Method | mAP | mR@k | |||||||
| [email protected] | [email protected] | G-mAP | @1_tgt | @2_tgt | @3+tgt | @1 | @2 | @3 | |
| VMR-specific Models | |||||||||
| VTimeLLM [ 25 ] | 1.04 | 1.15 | 1.92 | 2.69 | 0.82 | 0.26 | 2.22 | 0.00 | 0.00 |
| TRACE [ 22 ] | 4.21 | 4.16 | 4.76 | 5.18 | 3.67 | 3.25 | 4.80 | 6.25 | 7.50 |
| Grounded-Video-LLM [ 65 ] | 7.97 | 10.62 | 10.06 | 11.72 | 8.44 | 1.37 | 13.30 | 0.00 | 0.00 |
| UniTime [ 40 ] | 7.93 | 9.01 | 12.41 | 16.42 | 6.72 | 1.95 | 15.06 | 0.00 | 0.00 |
| Method | Setting | F1 | Precision | Recall | geo. (cm) | F1 Scores per Body-part | ||||||
| Head | Arms | Torso | Hips | Legs | Hands | Feet | ||||||
| BSTRO [ 27 ] | ZS | 6.13 | 10.69 | 5.68 | 81.53 | 0.00 | 2.75 | 0.00 | 0.35 | 0.01 | 14.82 | 16.61 |
| FT | 5.72 | 11.20 | 5.93 | 51.35 | 1.65 | 3.72 | 7.44 | 13.40 | 4.30 | 7.18 | 3.66 | |
| DECO [ 64 ] | ZS | 8.28 | 9.87 | 11.84 | 83.84 | 0.00 | 0.25 | 1.45 | 4.21 | 1.26 | 12.87 | 28.86 |
| FT | 5.41 | 68.16 | 6.18 | 50.34 | 1.46 | 4.78 | 8.79 | 10.80 | 0.85 | 6.77 | 0.20 | |
| GraphiContact [ 41 ] | ZS | 7.88 | 8.85 | 10.23 | 87.42 | 0.09 | 0.28 | 1.34 | 8.52 | 1.84 | 0.63 | 29.34 |
Appendix figures & tables25 assets
Supplementary material from the paper’s appendix.
Appendix
| Prompt for Query-Clip Candidate Generation |
| Identify segments where a person experiences a physical impact. Consider only sudden and salient physical forces affecting the subject. Exclude light contact, minor bumps, distant events, off-screen events, or events that are not physically relevant to the affected subject. |
| Answer in the format “[MM:SS - MM:SS] Description of the impact”. If there are multiple events, return multiple lines. If none, answer “None”. |
| Prompt for Human-Targeted Impact Filtering |
| Determine whether the described impact physically involves a human. Count as True if a human is the recipient of the impact, causes the impact through direct physical action, or is directly affected by the resulting physical force. Do not count cases where a human only observes, hears, or is merely near the impact without being physically affected. |
| Answer with only “True” or “False”. |
| Instructions for Temporal Impact Annotation |
| You are given a movie clip and an impact description. Your task is to mark the start and end frames of the physical impact described in the video. Review the impact description and identify when the impact is applied to the person. Mark only the impact timing itself, excluding the approach before the impact and the aftermath after the impact. If the described impact occurs multiple times, mark each occurrence separately. If the queried impact is not visible or cannot be reliably inferred, leave the comment and skip. |
| Instructions for Spatial On-body Impact Annotation |
| You are given a movie clip, an impact description, and the temporal interval(s) for the impact. Carefully review the clip, the impact description, and the provided interval(s). For every frame within the interval(s), identify which part of the human body is affected by the impact and mark the affected region using the web-based annotation tool. All frames inside the provided interval(s) must be annotated. For human-human impacts, use the grammatical subject of the impact description as the target person, and annotate only the body region of that subject. If the impact is not perceived on the subject in a frame, or if the affected body region cannot be inferred, briefly explain the reason in the comment and remove that frame from the interval. |
| Total | Train | Test | Val | |
| Video Clip Statistics | ||||
| Number of Movies | 212 | 148 | 32 | 32 |
| Number of Clips | 2,884 | 2,019 | 433 | 432 |
| Mean Clip Duration | 6.49s | 6.49s | 6.44s | 6.55s |
| Query Statistics | ||||
| Total Word Count | 32,039 | 22,395 | 4,920 | 4,724 |
| Moments per Query | Total | Train | Test | Val |
| 1 | 1,900 | 1,355 | 272 | 273 |
| 2 | 753 | 507 | 119 | 127 |
| 3+ | 231 | 157 | 42 | 32 |
| Total | 2,884 | 2,019 | 433 | 432 |
| Model | Prompt |
| VTimeLLM | This is a video with {num_frames} frames: <video> During which frames can we see the impact event “{query}” happening in the video? If the event occurs multiple separate times, return all intervals, not just the most salient one. Localize only the applied moment of impact, not the approach or aftermath. Return all intervals in chronological order. Answer only in the format: From s1 to e1; From s2 to e2. |
| TRACE | <video> Localize a series of moments in the video where the impact on a person’s body described by “{query}” is physically applied, and output the start and end timestamps for each matching moment. The query may match multiple separate impact moments in the same video. Return all matching intervals, not just the most salient one. Localize only the applied moment of impact, not the approach or aftermath. |
| Grounded-Video-LLM | <video> <grounding> Give you a textual query: “{query}”. The described content may occur multiple times in the video, where a physical impact is applied to a person’s body. When do all the described impact moments occur in the video? Localize only the moment when the impact is physically applied to the person, not the approach or aftermath. Please return all start and end timestamps in chronological order. |
| UniTime | This is a sequence interleaved with timestamps and frames. Your task is to identify the temporal window(s) (start and end timestamps) when the physical impact on a person’s body described by the given query is applied. The query may match multiple separate impact moments in the video. Localize only the applied moment of impact, not the approach or aftermath. Query: {query} Answer: |
| TimeLens | You are given a video with multiple frames. The numbers before each video frame indicate its sampling timestamp (in seconds). Please find the physical impact on a person’s body described by the sentence “{query}”, determining its starting and ending times. The query may match multiple separate impact moments in the same video. Localize only the moment of impact, not the approach or aftermath. The format should be: “The event happens in <start time 1> - <end time 1> seconds; <start time 2> - <end time 2> seconds; …”. |
| Qwen3-VL / InternVL-3.5 | Identify one or more time intervals in this video where the impact on a person’s body described by “{query}” is physically applied. The query may match multiple separate impact moments in the same video. Return all matching intervals, not just the most salient one. Localize only the moment when the impact is applied to the person, not the approach or aftermath. Return only the list of relevant intervals in seconds as [[start_1, end_1], ..., [start_n, end_n]] , for example [[1.040, 1.375], [4.833, 5.125], [7.208, 7.417]] . If there is only one interval, return it as a nested list [[start, end]] . Do not return any explanation or extra text. |
| Prompt for Query-Guided Region Selection |
| You are observing a movie frame. The impact query is “{query}”. Select all body regions physically affected by the impact in this frame. |
| The possible body regions are: head, neck, chest, back, left upper arm, left forearm, left hand, right upper arm, right forearm, right hand, butt, hip, left thigh, left calf, left foot, right thigh, right calf, right foot. |
| Answer with only the selected body-region labels, separated by commas. |
| Answer Format |
| The affected body regions are {list of body-region labels}. |
| Method | Sample Int. | mAP | mR@k | |||||||
| [email protected] | [email protected] | G-mAP | @1_tgt | @2_tgt | @3+tgt | @1 | @2 | @3 | ||
| Moment-DETR | 2.0s | 15.65 | 12.70 | 16.54 | 17.44 | 16.66 | 6.99 | 13.67 | 14.91 | 12.87 |
| 1.0s | 10.29 | 9.93 | 11.89 | 13.07 | 11.31 | 8.98 | 11.96 | 10.54 | 6.51 | |
| 0.5s | 11.12 | 12.01 | 11.40 | 12.10 | 11.27 | 8.01 | 12.75 | 11.03 | 8.99 | |
| 0.1s ∗ | 16.98 | 13.86 | 18.65 | 19.82 | 17.30 | 12.22 | 14.60 | 16.00 | 19.38 | |
| 0.05s ∗ | 16.25 | 12.24 | 17.70 | 17.19 | 20.11 | 13.25 | 13.63 | 18.85 | 18.14 | |
| Method | Setting | mAP | mR@k | |||||||
| [email protected] | [email protected] | G-mAP | @1_tgt | @2_tgt | @3+tgt | @1 | @2 | @3 | ||
| Moment-DETR | Zero-shot | 8.05 | 5.77 | 10.04 | 11.69 | 7.07 | 5.56 | 6.93 | 5.88 | 7.29 |
| HAPACT | 16.25 | 12.24 | 17.70 | 17.19 | 20.11 | 13.25 | 13.63 | 18.85 | 18.14 | |
| Fine-tune | 18.16 | 13.63 | 20.39 | 21.94 | 19.11 | 12.92 | 15.57 | 16.61 | 16.59 | |
| QD-DETR | Zero-shot | 9.55 | 6.00 | 11.98 | 13.57 | 9.50 | 7.81 | 8.22 | 8.12 | 8.53 |
| HAPACT | 20.06 | 16.63 | 21.36 | 22.36 | 21.01 | 12.83 | 18.20 | 20.67 | 18.29 | |
| Method | Modality | F1 | Precision | Recall | geo. (cm) | F1 Scores per Body-part | ||||||
| Head | Arms | Torso | Hips | Legs | Hands | Feet | ||||||
| Cosmos-Reason2-8B | T | 15.98 | 14.03 | 39.36 | 37.84 | 20.90 | 13.90 | 19.68 | 24.35 | 7.66 | 12.29 | 8.13 |
| I | 16.46 | 14.48 | 36.02 | 39.65 | 19.83 | 15.99 | 19.26 | 26.47 | 10.76 | 17.79 | 7.60 | |
| T + I | 18.59 | 16.17 | 44.11 | 33.31 | 21.21 | 15.92 | 20.01 | 29.95 | 12.59 | 17.87 | 8.71 | |
| (a) Impact Duration | (b) Moment Count | ||||
| [email protected] (%) | [email protected] (%) | ||||
| Method | Long (7+f, ref.) | Middle (3–6f) | Short (1–2f) | Single (1, ref.) | Multiple (2+) |
| Sim-DETR | 40.22 | 24.71 (-38.6%) | 10.17 (-74.7%) | 26.58 | 24.23 (-8.8%) |
| UniTime | 27.31 | 1.04 (-96.2%) | 0.00 (-100.0%) | 16.42 | 5.90 (-64.1%) |
| Qwen3-VL-8B | 46.92 | 26.81 (-42.9%) | 3.22 (-93.1%) | 28.31 | 15.04 (-46.9%) |
| GPT-5.4 | 51.32 1.38 | 44.60 1.76 (-13.1%) | 25.72 1.85 (-49.9%) | 53.90 1.38 | 23.58 0.39 (-56.3%) |
| Method | Setting | F1 (%) | Precision (%) | Recall (%) | geo. (cm) |
| DECO | Zero-shot | 8.28 | 9.87 | 11.84 | 83.84 |
| HAPACT | 5.05 | 68.92 | 6.05 | 55.75 | |
| Fine-tune | 5.41 | 68.16 | 6.18 | 50.34 | |
| GraphiContact | Zero-shot | 7.88 | 8.85 | 10.23 | 87.42 |
| HAPACT | 7.74 | 8.71 | 10.10 | 88.11 | |
| Fine-tune | 7.34 | 30.12 | 14.18 | 50.02 |
| Training Set | Region-level F1 (%) | Disparity | |||
| Mean Region | Head/Torso | Limb | Region Gap | Across-Region SD | |
| Original (HAPACT) | 36.57 | 49.54 | 30.09 | 19.45 | 12.63 |
| Random Down-Sampling | 37.25 | 50.37 | 30.68 | 19.69 | 13.54 |
| Region-Balanced Down-Sampling | 38.04 | 49.05 | 32.54 | 16.51 | 11.51 |
Physical Reasoning in Video
Physical reasoning in video studies how models infer, predict, and generate motion and interactions consistent with physical laws.
See all 74 papers