Distinguishing a genuine foul from a simulated dive in football remains one of the sport's most contested fine-grained recognition problems, especially when such decisions have to be from a single broadcast view without multi-view camera angle. We introduce a balanced 600-clip single-view Foul/Dive dataset and show that contact-aware sampling concentrating the model's attention around the moment of physical contact rather than treating all frames equally yields substantially improved recognition of this contact- specific problem. The proposed approach achieves 86.0% accuracy and macro-F1 0.860 on the held-out test split, a 12 percentage- point gain over contact-unaware alternatives that grows further on unseen data. We also evaluate each pipeline component against human annotations, establishing where and why the system suc- ceeds and fails. The result is a documented dataset, a reproducible single-view pipeline, and a grounded evaluation framework for fine-grained contact-event recognition in broadcast football footage. The dataset and code are available at https://github.com/hossain- tamim/contact-aware-dive.
Figures & tables
k
Signal xf(k)
wk
1
vf : holder–opponent approach velocity
0.22
2
ℓf : leg-region IoU between two closest players
0.18
3
ϕf : fall onset (drop in height/width ratio)
0.15
4
∣Δϕf∣ : ratio velocity
0.12
5
inverse holder–opponent distance (proximity)
0.10
6
body-IoU between holder and nearest opponent
0.08
Table 1. The ten per-frame signals comprising Eq. 1 and their weights. The first four (dominant) signals carry 0.67 of the total weight; the remaining six carry 0.33 .
Figure 1. Per-frame saliency signals on a representative Foul (left) and Dive (right) clip. Plotted: vf , ℓf , ∣Δϕf∣ , and the smoothed combined score s~f (bold). Shaded region: the T=16 -frame window centred on f⋆ .
Figure 2. Adaptive vs. fixed-centre crop on a representative contact frame. Left: both regions on the full frame (green: adaptive, cyan: centre). Middle/right: the resulting 224×224 crops.
Table 2. Validation-set ablation ( 100 clips, 50 Foul / 50 Dive), seed 42 , identical hyper-parameters across runs. Used for model selection (early stopping and best-epoch checkpointing). Test-set numbers — with per-class precision, recall, and F 1 for all four samplers — are reported separately in Table 3 .
Sampler
Acc
F1 Dive
P Dive
R Dive
F1 Foul
P Foul
R Foul
Macro-F 1
Uniform
74.0%
0.745
0.731
0.760
0.735
0.750
0.720
0.740
Random
75.0%
0.713
0.838
0.620
0.779
0.698
0.880
0.746
Random Window
79.0%
0.769
0.854
0.700
0.807
0.746
0.880
0.788
Contact-Aware (prop.)
86.0%
0.863
0.846
0.880
0.857
0.875
0.840
0.860
Table 3. Test-set per-class precision, recall, and F 1 across the four samplers, seed 42 , on the held-out 100 -clip test split ( 50 Dive / 50 Foul). Best macro-F 1 in bold. These are the final results; the validation accuracies in Table 2 were used only for model selection.
Figure 5. Test-set accuracy and per-class F 1 across the four samplers (seed 42 , n=100 ).
Clip ID
Class
fgt⋆
fpred⋆
TE
In win.
Foul-1
Foul
73
91
18
✓
Foul-2
Foul
69
60
9
✓
Foul-3
Foul
66
48
18
✓
Foul-4
Foul
76
84
8
✓
Foul-5
Foul
66
78
12
✓
Foul-6
Foul
75
93
18
✓
Table 4. Frame-selector evaluation on 20 hand-annotated clips ( 10 Foul, 10 Dive). Frame indices are absolute clip-frame indices. TE is in frames at 25 fps. “In window” indicates whether the human-annotated frame lies inside the model’s 16 -frame window centred at fpred⋆ (i.e. inside [fpred⋆−27,fpred⋆+18] ).
Subset
Mean TE
Median TE
Max TE
All clips ( n=20 )
10.8
11.0
24
Foul clips ( n=10 )
15.6
18.0
24
Dive clips ( n=10 )
6.1
4.5
18
Table 5. Summary statistics across the 20 annotated clips, split by class. Median is more representative than mean here because the distribution is bimodal — Dive clips concentrate at low TE while Foul clips spread across the contact event.
Subset
Clips
Pairs
Mean ±σ IoU
All clips
20
60
0.965±0.062
Clips with any disagreement
13
39
0.946±0.071
All-pair disagreement (strict)
7
21
0.934±0.065
Table 6. Inter-annotator IoU on the 20 -clip adaptive-crop evaluation set, three subsets. Pairs refers to all three pairwise combinations per clip. The third row is the strictest estimate because it excludes clips where annotators produced identical coordinates.
Quantity
Value
Mean model-vs-random people IoU
0.369±0.207
Median model-vs-random people IoU
0.312
Maximum model-vs-random people IoU
0.793
Minimum model-vs-random people IoU
0.112
Alignment band counts ( n=20 ):
High ( IoU≥0.7 )
3
Table 7. Adaptive-crop evaluation summary. Model crop vs averaged random people box across 20 clips. Per-annotator IoUs are nearly identical (mean 0.369 , 0.366 , 0.365 for the three annotators respectively), consistent with the high inter-annotator agreement reported in Table 6 .
Figure 6. Adaptive-crop qualitative cases at the human-annotated contact frame. Green solid: averaged author box (element-wise mean of three independent annotations); red dashed: predicted crop from the adaptive crop module.
Figure 7. Test-set confusion matrix of the contact-aware sampler (seed 42 , 100 held-out clips). Macro-F 1=0.860 .
Figure 8. Validation accuracy (left) and loss (right) for all four samplers, seed 42 .
Figure 9. Frame indices selected by uniform (top) and contact-aware (bottom) on the same Dive clip ( F≈125 ).
Sampler
Seed 42
Seed 7
Seed 123
Mean ±σ
Cont.-Aware (prop.)
95.0
96.0†
92.0
94.3±2.1
Uniform
88.0
88.0
83.0
86.3±2.9
Per-seed gap (CA − Uniform):
{7,8,9}
Paired t -test:
t=13.9 , p=0.005
Table 8. Seed-stability check for the proposed sampler and its strongest baseline: best validation accuracy under three seeds. The primary experimental result (Table 2 ) uses seed 42 ; the additional seeds {7,123} verify that the seed- 42 ranking is robust. † Training interrupted at epoch 8 before early stopping triggered; the value is the best validation accuracy at the saved checkpoint (epoch 7 ).