Estimating propeller rates from a moving event camera requires separating blade rotation from the changing image geometry. Background activity mixes with blade events, while repeated blade appearances admit half- and double-rate ambiguities. We propose CoHelix, a recursive filter that estimates one shared homography and separate rotation states for four rigidly mounted, coplanar propellers. Each admitted event updates its assigned rotation state, and its accepted geometry measurements correct the shared homography used to interpret later events from every propeller. We report lock, the fraction of evaluated time for which an estimate remains within 2% of synchronized ground truth, because mean error alone does not show how long a tracker follows the true rate. With fixed-rate initialization, leave-one-recording-out evaluation on moving-camera data gives CoHelix 62.9% lock, compared with 39.8% for HelixTrack and 22.2% for EventPro. With other settings fixed, allowing four geometry contributors instead of one raises lock from 3.4% to 62.9%. On a private target-follower dataset with a different target quadcopter, CoHelix retains the measurement settings selected on moving-camera data and uses a fixed initial rate. It reaches 95.9% lock, compared with 56.2% for HelixTrack and 61.1% for EventPro.
Figures & tables
Figure 1: Coupled geometry and rotation estimation. The shared homography H maps the rotor plane to the image. The filter maps event ei by H−1 , assigns it to a propeller and applies spatial checks. An admitted event updates its assigned rotation state xk , and its accepted geometry measurements correct H for later events from every propeller. Each state x1,…,x4 contains phase, rate and acceleration and supplies its own shaft-rate estimate RPM1,…,RPM4 . Insets integrate 10 ms from the highest-motion 4 m recording; color denotes polarity. Green curves show equal rotor-plane rings and their different image projections under the same homography; grey lines join their centres.
HelixTrack [ 26 ]
CoHelix
Geometry
one map per propeller
one map for all propellers
Geometry update
batched Gauss–Newton
per-event Kalman
Rotation states
separate per propeller
separate per propeller
Table 1: Geometry and rotation updates. Both methods update phase per event. CoHelix also uses accumulated centre measurements and an ellipse-based drift observer.
Figure 2: Event streams and tracked propellers. Each panel integrates 10 ms of events; warm and cool colors show the two polarities. Columns begin about 0.5 s after the fixed evaluation cut of each recording and continue every 0.4 s. These times were chosen without examining tracker output. The first two rows show the highest camera-motion levels at 2 and 4 m. The third row shows the target–follower recording in which the camera travels farthest. Green circles are the propeller rings tracked by CoHelix, and grey lines connect their centres under the shared geometry. Sec. S4.2 gives the exact timestamps.
CoHelix
HelixTrack [ 26 ]
EventPro [ 4 ]
d
Mego
Tlock
%
MAE
cov%
Tlock
%
MAE
cov%
Tlock
%
MAE
cov%
2 m
1
94.6
82
43
100
93.6
81
47
100
51.2
45
1000
100
2
89.3
81
44
100
88.7
80
45
100
38.2
34
1348
100
3
90.3
81
56
100
75.2
68
33661
100
34.2
31
1256
99
5
53.4
46
1565
100
5.9
5
3825
92
6.5
6
2119
45
6
43.8
39
7653
100
2.7
2
4347
100
2.1
2
2330
31
Table 2: Timestamped Quadcopter with Egomotion benchmark : 12 recordings × 4 propellers, 1356.9 propeller-seconds. Every tuned setting was selected without the recording it scores. CoHelix and HelixTrack [ 26 ] start every propeller at 4750 shaft RPM. Every method is scored at every timestamp. % is the lock percentage (Eq. 3 ), Tlock is its duration in propeller-seconds, MAE is the mean absolute shaft-RPM error and cov % is coverage, the percentage of evaluation timestamps with an estimate. Higher is better except for MAE. Bold marks the best lock and error values in each row; coverage is descriptive. The damaged 2 m, Mego=4 recording is reported separately in Sec. S4.1 .
Method
Tlock
%
MAE
cov%
CoHelix
770.4
95.9
68.4
100.0
EventPro [ 4 ]
490.9
61.1
115.0
100.0
HelixTrack [ 26 ]
451.7
56.2
1767.1
98.0
Table 3: Private target–follower dataset : 3 recordings × 4 propellers, 803.6 propeller-seconds. CoHelix and HelixTrack [ 26 ] are initialized at 9500 shaft RPM. The CoHelix and EventPro [ 4 ] configurations were selected on the TQE recordings and applied unchanged. Lock is the percentage of evaluated propeller-time; Tlock is the corresponding duration. MAE is mean absolute shaft-RPM error; cov % is coverage, the percentage of evaluation timestamps with an estimate.
Figure 3: Shaft rate over time for one propeller in four recordings spanning the camera-motion range. Rows show CoHelix, HelixTrack [ 26 ] and EventPro [ 4 ] together with the same dashed ground-truth reference, filtered by a centred 55 ms median for display only; scoring uses the synchronized trace without filtering. The vertical axis ends at 1.25× the largest filtered reference rate, so larger estimates are clipped. Gaps in the EventPro row are samples for which that method does not report.
Comparison
Change [points]
95 % interval
four contributors vs. one
+59.6
[47.8,70.1]
per-event Kalman vs. selected Gauss–Newton window
+23.1
[3.7,43.5]
correlations retained vs. cleared
−2.1
[−13.8,6.8]
restricted vs. full homography
+3.9
[−6.5,13.4]
Table 4: Effects of four design choices on the 12 TQE recordings. Each row compares the two named versions under the same evaluation conditions. Change is the lock percentage of the first version minus that of the second; positive values favour the first. Intervals resample complete recordings. Sec. S6 gives the absolute results.
Measurement
Weight
Used
R1 helical phase-dynamics (phase)
I=max{10−3,κwring}
✓
R2 geometry helical-phase
λϕ=1
×
R3 radial (r−1) , symmetric window
λr=2.000
✓
R4 band barriers, gate-following
λband=4.000
✓
R5 polarity
λpol=0.500
✓
R6 propeller centre, two measurements per 2000 events
none
✓
Table S1 : Measurements considered in this study. A check mark indicates that the measurement is used in the reported configuration. The radial, annulus and polarity weights were selected together; rotating silhouette and signed crossing use separately selected weights. The propeller-centre update requires Neff≥50 and uses variance inflation ι=3.0 .
Parameter
Value
Role
Measurement weights in the fixed ablation configuration
λr (radial) / λband / λpol
2.000 / 4.000 / 0.500
weights of R3 / R4 / R5
λsc (signed crossing) / λsil (silhouette)
0.200 / 0.400
weights of R7e / R7c
λϕ (helical phase → geometry)
1.0 , measurement omitted
R2 not used
radial symmetric window / band gate-following
on / on
measurement support
bin , bout , τ (band)
0.3 , 1.3 , 0.05
softplus barriers
Table S2 : Fixed configuration used for the mechanism ablations. The primary benchmark instead selects the measurement weights inside each recording-level outer fold. Radii and annulus boundaries use propeller-local units; translations use pixels; h31 and h32 use inverse propeller-radius units; and angular rates use rad s -1 unless an internal limit is stated in blade-pass RPM. Reported rates use shaft RPM.
Dataset
Method
1 %
2 %
5 %
Moving camera
CoHelix
45.62
62.94
76.79
HelixTrack [ 26 ]
26.32
39.75
48.86
EventPro [ 4 ]
15.22
22.22
28.84
Target–follower
CoHelix
32.63
95.87
99.35
HelixTrack [ 26 ]
28.53
56.21
61.01
EventPro [ 4 ]
30.49
61.09
90.98
Table S3 : Lock percentage at three relative-error thresholds. No method is retuned between columns.
Evaluation recording
Crossing, silhouette
Radial, annulus, polarity
Tlock
Lock
MAE
Coverage
[s]
[%]
[RPM]
[%]
2 m, Mego=1
(.250,.250)
(2,8,.5)
94.565
82.3
42.5
99.9
2 m, Mego=2
(.250,.250)
(2,8,.5)
89.305
80.6
43.7
99.9
2 m, Mego=3
(.250,.250)
(0,4,.5)
90.335
81.4
55.6
99.9
2 m, Mego=5
(.250,.250)
(2,8,.5)
53.440
46.3
1565.3
99.8
2 m, Mego=6
(.200,.450)
(1,4,.25)
43.835
39.1
7652.8
99.9
Table S4 : Two-stage configuration selection with fixed-rate initialization. Each moving-camera row names the configuration selected without that recording. The target–follower rows use one configuration selected on all 12 moving-camera recordings. MAE is in shaft RPM. The damaged 2 m, Mego=4 stream is not an outer fold and is reported separately in Sec. S4.1 .
Crossing
Silhouette
Lock [%]
Δ [points]
off
off
76.0
0.0
on
off
77.0
+1.0
off
on
73.1
-2.8
on
on
82.3
+6.3
Table S5 : Fixed-configuration factorial for the signed-crossing and rotating-silhouette measurements on the 12 moving-camera and three target–follower recordings. The interaction is +8.2 percentage points. These values are not outer-fold scores.
Radial
Band
Polarity
Lock [%]
Δ [points]
off
off
off
65.5
-13.7
off
off
on
78.7
-0.6
off
on
off
67.2
-12.0
off
on
on
68.6
-10.6
on
off
off
72.8
-6.4
on
off
on
79.8
+0.6
Table S6 : Fixed-configuration factorial for the radial, annulus and polarity measurements on the 15 intact recordings. Deltas use (1,4,0.25) as the reference. These values are not outer-fold scores.
Training
Test
Crossing, silhouette
Weights (r,b,p)
MAE
MArE
Tlock
Lock
propeller
propellers
[RPM]
[%]
[s]
[%]
0
1, 2, 3
(0.20,0.30)
(0.25,2,0.30)
435.8
9.83
790.215
71.66
1
0, 2, 3
(0.20,0.30)
(0.50,2,0.25)
667.8
14.28
744.750
67.50
2
0, 1, 3
(0.125,0.35)
(0.25,1,0.40)
980.6
23.99
793.770
71.94
3
0, 1, 2
(0.20,0.30)
(0,4,0.40)
633.9
13.86
759.300
68.82
All four folds
679.5
15.49
3088.035
69.98
Table S7 : Complete propeller-wise four-fold result on the 13 moving-camera recordings. Each fold selects both configuration stages using one propeller identity and tests the other three, giving 39 test tracks per fold and 156 track-fold predictions in total. MAE is in shaft RPM, and coverage is 100 % in every fold. Lock normalizes the summed duration over these predictions; each physical propeller track appears in three test folds.
Dataset
Initialization
Tlock [s]
Lock [%]
MAE [RPM]
Moving camera
reference rate
857.9
63.2
834.5
fixed 4750 RPM
854.0
62.9
1383.1
Target–follower
reference rate
770.44
95.874
64.2
fixed 9500 RPM
770.40
95.869
68.4
Table S8 : Rate initialization for CoHelix. For each moving-camera recording, both rows use the configuration selected on the other 11 recordings and differ only in their initial rate. The target–follower rows use the configuration selected on all 12 moving-camera recordings. The fixed-rate rows are the reported setting; the reference-rate rows are a diagnostic comparison, not a main result. The fixed values are 4750 shaft RPM for moving camera and 9500 shaft RPM for target–follower.
Setting
Tlock
Lock %
MAE
Propellers contributing to shared geometry
one
45.5
3.4
10070
two
240.8
17.7
6954
three
680.5
50.2
1812
four
854.0
62.9
1383
Kalman and windowed Gauss–Newton geometry
Table S9 : Complete results for the controlled comparisons summarized in Table 4 . Each block has its own control, and only the named choice changes within that block. Tlock is in propeller-seconds, and MAE is in shaft RPM.
Recording
CoHelix
HelixTrack [ 26 ]
Speed ratio
2 m, Mego=1
.0210
.0237
.88
2 m, Mego=2
.0183
.0196
.93
2 m, Mego=3
.0195
.0176
1.11
2 m, Mego=5
.0241
.0122
1.98
2 m, Mego=6
.0215
.0138
1.56
2 m, Mego=7
.0268
.0107
2.50
Table S10 : End-to-end real-time factor for four rates. Higher is faster. Speed ratio is HelixTrack [ 26 ] wall time divided by CoHelix wall time, so values above one favour CoHelix. Each comparison uses one node, one CPU thread and two balanced repeats.
Annotation change
TQE lock [%]
Change [points]
Target lock [%]
Change [points]
Nominal
62.9
—
95.9
—
Centre displacement 1 %
66.4
+3.4 [−1.0,8.3]
95.9
+0.0 [−0.0,0.1]
Centre displacement 2 %
63.5
+0.6 [−4.8,6.5]
95.9
-0.0 [−0.1,0.1]
Centre displacement 5 %
61.0
-1.9 [−11.7,5.9]
88.4
-7.5 [−23.9,0.0]
Centre displacement 10 %
60.9
-2.0 [−7.4,3.0]
95.9
-0.0 [−0.1,0.1]
Radius multiplier 0.80
55.4
-7.6 [−17.2,0.4]
94.9
-1.0 [−1.9,−0.4]
Table S11 : Sensitivity to supplied ring calibration on 12 TQE and three target–follower recordings, with selected measurement settings fixed. Lock scores all four rates at 2 % relative tolerance on the complete 5 ms grid; missing estimates are unlocked. Centre displacements are fractions of the nominal mean ring radius. Scores average four direction realizations within each recording. Radius multipliers apply to all four supplied rings. Changes are percentage points from the nominal row; brackets give 95 % intervals from 100000 paired recording resamples, with time denominators recomputed in each draw. Both perturbations change the assumed fixed layout.
Slots/s
Lock [%]
Change [points]
Filled slots [%]
Max. count gap [%]
Single
Four
Single
Four
Mean
Individual
2000
1.2
2.9
+1.7 [0.3,3.5]
99.8
99.6
1.3
1.6
10000
1.1
1.4
+0.3 [−0.3,1.3]
93.6
83.7
34.7
39.1
100000
1.3
1.5
+0.2 [−0.4,1.1]
60.8
40.5
74.5
76.5
1000000
1.7
1.6
-0.1 [−1.0,1.1]
36.1
23.7
87.1
91.5
Table S12 : Contributor comparison under four equal geometry-event caps on all 12 TQE recordings, with the ellipse observer disabled. All four rate states enter the 2 % lock score; missing estimates are unlocked. Single averages the four single-contributor scores within each recording. Change is Four minus Single in percentage points, with 95 % intervals from 100000 paired recording resamples. Filled slots are selected events divided by scheduled opportunities. Count gaps are absolute selected-count differences divided by the larger count. Mean gives the maximum gap against the mean single count over recordings; Individual also maximizes over single masks. Equal caps do not imply equal realized measurements.
Slots/s
Contributor(s)
Lock [%]
Selected events [ 103 ]
Accepted rows [ 103 ]
2000
0
1.3
677.1
2166.8
2000
1
1.3
677.1
2000.0
2000
2
1.0
677.0
2115.2
2000
3
1.2
676.5
2176.8
2000
all four
2.9
675.4
2238.1
10000
0
0.9
3089.1
9359.1
Table S13 : Realized geometry input for each contributor condition in Table S12 . Single propellers use annotation indices 0 – 3 . Lock scores all four rates, including those that supply no geometry input. Selected events and accepted scalar geometry rows are totals over the 12 TQE recordings, in thousands. One selected event produces one or more scalar rows, and measurement rejection remains active. These counts exclude phase updates, which use every admitted event.
Safety-critical perception for unmanned aerial vehicles and rotating machinery requires microsecond-latency tracking of fast, periodic motion under egomotion and strong distractors. Frame-based and event-based trackers drift or break on propellers because periodic signatures violate their smooth-motion assumptions. We tackle this gap with HelixTrack, a fully event-driven method that jointly tracks propeller-like objects and estimates their rotations per minute (RPM). Incoming events are back-warped from the image plane into the rotor plane via a homography estimated on the fly. A Kalman Filter maintains instantaneous estimates of phase. Batched iterative updates refine the object pose by coupling phase residuals to geometry. To our knowledge, no public dataset targets joint tracking and RPM estimation of propeller-like objects. We therefore introduce the Timestamped Quadcopter with Egomotion (TQE) dataset with 13 high-resolution event sequences, containing 52 rotating objects in total, captured at distances of 2 m / 4 m, with increasing egomotion and microsecond RPM ground truth. On TQE, HelixTrack processes full-rate events (approx. 11.8x real time) faster than real time and microsecond latency. It consistently outperforms per-event and aggregation-based baselines adapted for RPM estimation.
Radim Spetlik, Michal Pliska, Vojtěch Vrba +1
Faculty of Electrical Engineering, Czech Technical University in Prague
Autonomous swarms of multi-Unmanned Aerial Vehicle (UAV) system requires an accurate and fast relative state estimation. Although monocular frame-based camera methods perform well in ideal conditions, they are slow, suffer scale ambiguity, and often struggle in visually challenging conditions. The advent of event cameras addresses these challenging tasks by providing low latency, high dynamic range, and microsecond-level temporal resolution. This paper proposes a framework for relative state estimation for quadrotors using event-based propeller sensing. The propellers in the event stream are tracked by detection to extract the region-of-interests. The event streams in these regions are processed in temporal chunks to estimate per-propeller frequencies. These frequency measurements drive a kinematic state estimation module as a thrust input, while camera-derived position measurements provide the update step. Additionally, we use geometric primitives derived from event streams to estimate the orientation of the quadrotor by fitting an ellipse over a propeller and backprojecting it to recover body-frame tilt-axis. The existing event-based approaches for quadrotor state estimation use the propeller frequency in simulated flight sequences. Our approach estimates the propeller frequency under 3% error on a test dataset of five real-world outdoor flight sequences, providing a method for decentralized relative localization for multi-robot systems using event camera.
Ravi Kumar Thakur, Luis Granados Segura, Jan Klivan +4
Department of Cybernetics, Faculty of Electrical Engineering, Czech Technical University in Prague, Karlovo Namesti 13, 121 35 Prague 2, Czechia
Event cameras provide high-temporal-resolution visual sensing that is well suited for observing fast-moving aerial objects; however, their use for drone trajectory prediction remains limited. This work introduces an event-only drone forecasting method that exploits propeller-induced motion cues. Propeller rotational speed are extracted directly from raw event data and fused within an RPM-aware Kalman filtering framework. Evaluations on the FRED dataset show that the proposed method outperforms learning-based approaches and vanilla kalman filter in terms of average distance error and final distance error at 0.4s and 0.8s forecasting horizons. The results demonstrate robust and accurate short- and medium-horizon trajectory forecasting without reliance on RGB imagery or training data.
Hari Prasanth S. M., Pejman Habibiroudkenar, Eerik Alamikkotervo +2
Department of Energy and Mechanical Engineering, Aalto University, 02150 Espoo, Finland