Counting completed wingbeats requires identifying individual cycles, including during frequency changes and pauses; estimating a dominant frequency alone is insufficient. Camera motion further mixes target and background brightness changes in event observations. We present a controlled MuJoCo benchmark that separates motion training from event-only image translation compensation. The acquisition contains 324 streams from 24 independent scenes, three flapping geometries, two distances (1.5 and 3.0 m), and static, moderate-motion and stronger-motion views. Fifteen scenes are used for fitting, three for validation and six for held-out testing. A fixed causal temporal convolutional network is evaluated in a matched 2 x 2 ablation with three initialization seeds and compared with ridge, Fourier, autocorrelation and an adapted EEPPR baseline. Under moderate motion, paired motion training reduces count mean absolute error from 31.130 to 3.185 cycles at 1.5 m and from 42.019 to 5.444 at 3.0 m. Adding the tested compensation increases these errors to 4.630 and 10.185, respectively. A Fourier baseline achieves 0.944 cycles at 1.5 m under moderate motion, showing that the neural model is not uniformly best. We report exact-count accuracy and temporally matched cycle F1 alongside count error. These findings support motion-aware training in this small synthetic benchmark, while exposing limits of simple event-background stabilization. They do not establish real-sensor performance, aerodynamic flight, or generalization to unseen vehicle types.
Figures & tables
Figure 1: Controlled event-only counting protocol. Solid arrows denote inference information flow; the lower branch supplies labels for fitting and scoring only. The 2×2 ablation changes motion training and event-background compensation while holding the temporal CNN, initialization pairing and update budget fixed. No simulator state or RGB enters the inference branch.
Method
Static
Moderate motion
Stronger motion
MAE
Ex.
F1
MAE
Ex.
F1
MAE
Ex.
F1
Lagged ridge
2.056
55.56
96.07
11.611
33.33
86.13
22.389
22.22
73.95
FFT + count
3.778
33.33
96.02
0.944
33.33
96.73
14.222
11.11
80.60
ACF + count
12.222
16.67
87.24
7.222
16.67
89.14
16.000
0.00
80.06
EEPPR adapted
9.667
0.00
89.03
13.889
0.00
79.59
29.222
0.00
58.16
A0C0
0.241
77.78
99.71
31.130
33.33
69.25
37.593
18.52
59.17
Table 1: Near (1.5 m) held-out results in the primary interval (0.5,T] . MAE is in cycles (lower is better); exact-count accuracy (Ex.) and event F1 are percentages (higher is better). Each classical row aggregates 18 streams per view; each CNN row aggregates the same 18 streams over three seeds (54 predictions). The independent sample remains six scenes. A denotes motion training and C denotes event-only compensation.
Method
Static
Moderate motion
Stronger motion
MAE
Ex.
F1
MAE
Ex.
F1
MAE
Ex.
F1
Lagged ridge
4.944
38.89
92.79
18.611
22.22
79.28
38.667
5.56
58.51
FFT + count
3.611
38.89
95.79
7.056
22.22
89.56
32.333
11.11
60.67
ACF + count
11.722
11.11
85.73
12.833
11.11
80.66
34.444
0.00
54.49
EEPPR adapted
13.444
0.00
84.73
33.556
0.00
51.02
45.444
0.00
27.02
A0C0
7.537
62.96
92.37
42.019
16.67
53.46
46.741
11.11
38.05
Table 2: Far (3.0 m) held-out results in the primary interval (0.5,T] . MAE is in cycles (lower is better); exact-count accuracy (Ex.) and event F1 are percentages (higher is better). Each classical row aggregates 18 streams per view; each CNN row aggregates the same 18 streams over three seeds (54 predictions). The independent sample remains six scenes. A denotes motion training and C denotes event-only compensation.
Condition
Comparison
MAE difference
95% interval
Near / moderate
A1C0 − A0C0
-27.944
[-51.056, -7.204]
Near / moderate
A1C1 − A1C0
1.444
[0.037, 3.852]
Near / strong
A1C0 − A0C0
-30.704
[-49.722, -10.481]
Near / strong
A1C1 − A1C0
3.926
[1.148, 6.870]
Far / moderate
A1C0 − A0C0
-36.574
[-61.456, -13.519]
Far / moderate
A1C1 − A1C0
4.741
[1.056, 8.944]
Table 3: Scene-paired differences in count MAE. Negative values favor the first named pipeline. Percentile 95% intervals use 5,000 resamples of six scenes; targets and seeds are averaged within each scene before resampling.
FFT + count
EEPPR adapted
A1C0
Condition
Primary
Post-2 s
Primary
Post-2 s
Primary
Post-2 s
Near / static
3.778
3.056
9.667
6.556
0.278
0.333
Near / moderate
0.944
0.889
13.889
10.056
3.185
3.148
Near / strong
14.222
12.167
29.222
24.833
6.889
6.352
Far / static
3.611
2.389
13.444
9.667
0.796
0.778
Far / moderate
7.056
5.944
33.556
28.500
5.444
5.426
Table 4: Startup sensitivity: primary (0.5,T] versus secondary (2,T] count MAE, with continuous decoder state and unchanged selected models. The secondary interval was fixed before test prediction but after validation.
Condition
Background
FFT + count
A0C0
A1C0
A1C1
Near / moderate
plain
1.111
0.778
0.630
0.630
Near / moderate
textured
0.778
61.481
5.741
8.630
Near / strong
plain
13.889
4.815
0.370
0.370
Near / strong
textured
14.556
70.370
13.407
21.259
Far / moderate
plain
10.000
8.815
2.259
2.000
Far / moderate
textured
4.111
75.222
8.630
18.370
Table 5: Descriptive background subgroups: count MAE under camera motion. Each background contains only three independent test scenes. CNN errors average the three seeds.
Appendix figures & tables1 asset
Supplementary material from the paper’s appendix.
Appendix
Distance
Target
A0C0
A1C0
A0C1
A1C1
Near
rlflapping
20, 15, 20
10, 20, 15
10, 15, 15
20, 20, 10
Near
flappy_v2
10, 5, 15
15, 15, 20
20, 10, 10
10, 20, 10
Near
bird_sim
5, 5, 5
20, 20, 20
10, 5, 5
20, 20, 10
Far
rlflapping
5, 5, 5
20, 15, 10
5, 5, 5
20, 20, 20
Far
flappy_v2
20, 5, 20
20, 20, 15
20, 10, 20
20, 20, 20
Far
bird_sim
0, 10, 5
20, 20, 20
0, 15, 5
20, 20, 20
Appendix
Table 6: Selected epochs for all 72 CNN runs (seed order 0, 1, 2).