EDOPT uses an incrementally updated EROS event surface as observation and 13 local pose hypotheses of a known mesh as expectations, with two asynchronous threads for event-only 6-DoF tracking. It reports offline mean errors of 0.70 cm / 2.30° and online updates above 300 Hz. No object-specific training is required, but external initialization, a known model, and continuously visible event edges are needed.
Task: dynamic 6DoF tracking of a known rigid instance from a given initial pose
Inputs / output: event stream + known mesh + camera intrinsics → object pose in the camera frame after each update
2. One-sentence summary
EDOPT neither accumulates events into fixed frames nor trains an object-specific network. It continuously maintains EROS, a recent-event contour representation, while a separate asynchronous thread compares 13 local mesh-pose hypotheses. The paper reports 0.70 cm / 2.30° mean error in offline evaluation and an online pose-update rate above 300 Hz, demonstrating fast 6DoF tracking designed around the sensor’s asynchronous operation.
3. What problem does it address?
Conventional RGB / RGB-D trackers operate at fixed frame rates. Fast motion blurs edges, while inter-frame pose jumps enlarge the search region of local optimization. Event cameras asynchronously output pixel brightness changes with high temporal resolution and without conventional exposure blur, but event rates vary sharply with speed, texture, and illumination. Dividing events into fixed-duration or fixed-count pseudo-frames reintroduces latency or inconsistent motion scales.
EDOPT’s key choice is to decouple event reception from pose estimation:
Event thread: each arriving event decays old responses in a local neighborhood and sets the current pixel to 1, producing the latest EROS observation Ot.
Pose thread: construct 13 local hypotheses from positive / negative increments along six degrees of freedom plus no motion; project the mesh, extract model edges, and match them by dot product against the latest Ot.
Feedback: write the best axial increments back to the pose. A strong tracking prior avoids searching the whole of SE(3) at the next update.
Redrawn by this site from original Figure 2 and Eqs. (2)–(5); this is not an original paper figure. Copyright in the paper’s images belongs to the original authors; this redraw is for academic explanation. Source: EDOPT, ICRA 2024.
4. Results to remember
The paper compares against RGB-D-E on a new synthetic dragon sequence:
Offline mean position error: RGB-D-E 0.73 cm, EDOPT 0.70 cm;
Offline mean rotation error: RGB-D-E 2.44°, EDOPT 2.30°;
Online update rate in the authors’ reproduction: RGB-D-E 5 Hz, EDOPT above 300 Hz;
EDOPT uses events + mesh without object training; the baseline uses frames + depth + events and requires training.
These figures cannot simply be combined into “EDOPT achieves 0.70 cm / 2.30° at 300 Hz.” Errors come from the paper’s offline comparison, whereas 5 Hz / 300 Hz describe online implementation update rates under a different experimental setting.
Redrawn by this site from original Table I and the experimental description; offline accuracy and online speed are measured under different operating settings. Copyright in the paper’s tables belongs to the original authors; this redraw is for academic explanation. Source: EDOPT, ICRA 2024.
5. Strengths, limitations, and scope
Strengths:
Event-only, without object training, and a short inference pipeline;
Asynchronous event and pose updates, with computation rate independent of camera frame rate;
Interpretable mesh-projection matching, suited to known industrial parts or robot workspaces;
Public code, a five-object dataset, and calibration / GT resources, as recorded in the source notes.
Limitations:
It is a tracker, not a detector: the paper provides neither automatic initialization nor tracking-failure recovery;
Accurate mesh, camera intrinsics, and an externally supplied initial pose are required;
Event edges and mesh gradients are different measurements; reflections, illumination changes, occlusion, and model errors can break dot-product matching;
Fixed local pose increments impose a speed limit; larger increments or more hypotheses increase computational cost;
The five-object dataset is small, and real-camera experiments are mainly qualitative.
6. Quick assessment
EDOPT is worth reading for low-latency tracking of fast 6DoF motion after a known object has been acquired. It does not fully address discovering unknown categories in clutter, prolonged full occlusion, or global multimodal pose distributions. Its main lesson is to design the estimator around asynchronous event sensing rather than first forcing events into frames.
Available src/paper-notes/edopt-icra2024/deep.md
In-depth paper notes
Support reproduction, comparison, related-work writing, and identifying opportunities for further research.
Deep Reading Notes: EDOPT: Event-Camera 6-DoF Dynamic Object Pose Tracking
1. Positioning and key assessment
EDOPT is a model-based, event-native, instance-level local tracker. It assumes a known object mesh, camera intrinsics, and initial 6DoF pose, and performs neither object detection nor global relocalization. One thread maintains recent-event contours at the event arrival rate; another renders and compares local pose hypotheses as quickly as possible. A sudden event-rate increase therefore does not force the pose estimator to wait for a fixed event packet, and sparse events do not artificially extend an accumulation window.
The paper’s main contributions are:
Maintain the latest contour-matching observation with EROS (Exponentially decaying surface of recent events);
Calibrate increments along six SE(3) axes to approximately one pixel of projected change using the image Jacobian, yielding a compact set of 13 local hypotheses;
Run event updates and pose updates in asynchronous threads, making pose-output rate depend on fixed-size hypothesis matching rather than directly on event rate.
2. Problem definition and assumptions
The object state is a six-dimensional vector in the camera frame:
X=[x,y,z,α,β,γ]⊤,
The first three entries are translation and the last three rotation parameters. Given the triangular object mesh, camera calibration, and current state Xt, the goal is to continuously estimate the next state from the event stream
vi=(xi,yi,ti)
shown above. Polarity is not included in the paper’s main EROS matching formulation; the core observation is contour strength indicating where events occurred recently.
This relies on a strong prior: pose changes between updates must be small enough that the true state lies near the current state’s 13 local candidates. This enables a very high update rate while preventing global search from an arbitrary initial pose.
3. EROS: an observation surface updated on event arrival
EROS is an image-plane surface O(x,y)∈[0,1]. When a new event arrives at (xi,yi):
Select a local kernel centered at the event;
Multiply existing values within it by the decay factor 0.31/ko, where ko is the kernel size;
Set the event pixel to 1.
Unlike clearing an event image every 10 ms, EROS uses no fixed time window or fixed event count. Recent spatially continuous edges remain bright while old traces fade. The paper describes local per-event updates whose cost depends on event rate and kernel size; the authors’ implementation handles approximately ten million events/s.
An easily missed assumption is that decay is driven by subsequent neighborhood events, rather than a physical time constant. Texture density, speed, and local event rate therefore affect the apparent spatial recency. EROS suits fast contour tracking but is not a rigorous temporal probability model.
4. Constructing the model expectation from a mesh
Given a pose hypothesis, the algorithm projects the known mesh into the image:
Render the model using camera intrinsics and the candidate pose;
Extract gradient edges with a 3×3 Sobel operator;
Apply Gaussian smoothing of width B;
Subtract the smoothed result of width 2B, forming a Difference-of-Gaussians-like model expectation E.
Here E is a soft edge template of where the current mesh contours should appear, not an event-generation model with an explicit log-brightness threshold. The following criterion
i∗=argimax⟨Ei+,Ot⟩
selects the candidate most consistent with the latest event observation. If several axial candidates improve on the no-motion hypothesis, their increments can be combined; one update is therefore not strictly limited to motion along a single axis.
5. Constructing the 13 local pose hypotheses
The candidate set contains:
Positive increments along the six axes x,y,z,α,β,γ;
Negative increments along the same six axes;
A no-motion hypothesis ΔX=0;
for 13 states in total.
Increment scale matters as much as enumerating ± six axes. The image Jacobian sets each axial ΔX to at most approximately 1 pixel of change in model projection. Translation and rotation in different units thus map to comparable image scales; the no-motion candidate provides a baseline to avoid forced drift when observations do not support motion.
Small steps provide smooth local tracking and precision but impose a hard speed limit: if the true contour moves beyond candidate coverage between pose updates, the largest dot product may indicate the wrong direction. Increasing ΔX reduces granularity, while adding candidate levels increases rendering and matching cost.
Redrawn by this site from original Figure 2 and Eqs. (2)–(5); this is not an original paper figure. Copyright in the paper’s images belongs to the original authors; this redraw is for academic explanation. Source: EDOPT, ICRA 2024.
6. What enables the high update rate?
The system consists of two decoupled loops.
6.1 Event processing thread
Each event modifies only a local EROS kernel, with approximate complexity
O(reko),
where re is the event rate. This thread always maintains the latest observation Ot.
6.2 Pose update thread
Each pose iteration compares a fixed number y=13 of candidates, with approximate complexity
O(yhw),
where h,w are image dimensions. The pose thread reads the latest Ot directly when needed, without waiting for another frame or a full event packet.
Rendering is also optimized: local x/y/z/roll changes are approximated by affine warps; only pitch / yaw require full reprojection because of self-occlusion and projection nonlinearity. Pose-update workload is therefore relatively stable and output rate predictable; sudden event-density increases mainly burden the other thread’s EROS updates.
This defines “>300 Hz” precisely: the authors’ online state-update rate, rather than event-camera timestamp resolution or automatically the end-to-end frequency of a robot control loop.
7. Experimental design
7.1 Comparison with RGB-D-E
The authors generate a new synthetic event sequence for the dragon model, with ground truth at 120 Hz. Single-axis motion is approximately 20 cm/s or 28°/s; simultaneous multi-axis motion reaches approximately 1 m/s and 57°/s, with image-edge speed above approximately 200 pixel/s. A new sequence is needed because the original RGB-D-E dataset was unavailable and the comparison code could not be retrained for other objects.
Both methods run at approximately 60 Hz for the offline accuracy comparison. Table I reports:
Metric
RGB-D-E
EDOPT
mean position error
0.73 cm
0.70 cm
mean rotation error
2.44°
2.30°
Sensor inputs
frames + depth + events
events only
Training required
Yes
No
Mesh required
Yes
Yes
Automatic initialization / recovery
No / No
No / No
EDOPT is more consistent along x/y, but has greater variance in z and yaw. Under simultaneous multi-axis motion, median errors are similar while EDOPT has a wider error distribution. Slightly better means therefore do not establish greater stability for every degree of freedom or instant.
7.2 Online speed comparison
The paper states that the original RGB-D-E work reported approximately 33 ms per update, while the authors’ modified reproduction achieves only approximately 200 ms, or 5 Hz, on an Intel i7 2.60 GHz + GTX 1650 Ti. Large motion between updates causes online tracking failure; EDOPT exceeds 300 Hz, keeping local search effective.
The 5 Hz versus 300 Hz comparison therefore concerns the two implementations used by the authors, rather than a hardware-independent law of algorithmic complexity. The reproduced RGB-D-E speed should not be generalized into a limit for every implementation.
Redrawn by this site from original Table I and the experimental description. The 0.70 cm / 2.30° figures come from offline accuracy comparison; >300 Hz comes from online system-update experiments. They are not measured under the same operating setting. Copyright in the paper’s tables belongs to the original authors; this redraw is for academic explanation. Source: EDOPT, ICRA 2024.
7.3 Object shape and real cameras
The public dataset version recorded in the source notes contains five objects: dragon, jell-o, mustard, soup can, and spam, four from YCB. Each includes six independent axial motions and synchronized ground-truth poses. The paper reports median position errors below 1 cm and mean rotation errors below 6° for all objects, supporting applicability of local mesh-edge matching beyond dragon.
The real experiment uses a Metavision ATIS HVGA Gen3 (640×480) event camera and a scanned toy-car mesh, with a person freely moving the object by hand. Continuous online overlays demonstrate feasibility, but the experiment lacks quantitative ground truth as complete as the synthetic sequences and is not an equally rigorous benchmark.
8. Interpreting the results
Supported conclusions
With known mesh, good initialization, and sustained event edges, simple local geometric matching can achieve subcentimeter-scale mean position error;
An event-native asynchronous architecture can reach update rates difficult for conventional multimodal frame networks;
No object-specific training is required; changing objects mainly requires a mesh, calibration, and initial state.
Conclusions not directly supported
EDOPT does not solve detection, initialization, relocalization, or prolonged occlusion for event-camera 6D pose estimation;
Synthetic dragon accuracy of 0.70 cm / 2.30° cannot be assigned to the real ATIS experiment;
Slightly lower mean errors do not establish comprehensive superiority over RGB-D-E, especially with greater z/yaw variance and implementation-related speed factors;
300 Hz does not directly establish the sensor-to-actuator control-loop frequency.
9. Failure modes and limitations
Missing initialization and recovery: once the true state leaves the local candidate range, no global detector brings it back.
Occlusion: fewer visible model edges or interfering background events can weaken the dot-product peak or favor an incorrect direction.
Materials and illumination: reflections, flicker, and lighting changes generate events unrelated to geometric contours.
Model mismatch: projected mesh gradients and real events are different measurements; scan errors, nonrigid changes, or incorrect intrinsics introduce systematic bias.
Symmetry: when local edges look similar at multiple poses, one greedy state cannot represent a multimodal belief.
Static / low-texture conditions: very few events provide no new constraints; retaining the prior state cannot verify that it is still correct.
Speed limit from fixed increments: jumps beyond the local step corresponding to 1 pixel make matching unreliable.
10. Relation to common event-based pose approaches
EDOPT belongs to model-based render-and-compare methods rather than learned-feature or event-to-frame detection approaches:
It resembles classical edge-based tracking, replacing grayscale edges with EROS and a frame clock with two asynchronous pipelines.
11. Reproduction checklist
Record at least:
Consistency of event-camera intrinsics and mesh scale;
Whether event polarity is used and how noise filtering is configured;
EROS kernel size and local decay implementation;
Computation and units of the six Jacobian-based pose increments;
Axes using affine warps versus full rerendering;
Actual pose-thread update rate, event-thread load, and CPU/GPU models;
Initialization-error range and tracking-failure criteria;
Whether metrics use means / medians and per-frame / per-sequence / axial averaging;
Separate reporting of synthetic GT and real-camera experiments.
The source notes record a BSD-3-Clause official repository with core implementation entry points and Zenodo data containing events and pose annotations. Reproduction must account for dataset versions, camera calibration, and differences from the paper’s runtime environment.
12. Research directions
Promising extensions preserve EDOPT’s low-latency structure while adding probabilistic reasoning and recovery:
Run a coarse global detector at low frequency and trigger relocalization when tracking confidence drops;
Replace the single greedy state with symmetry-aware particles representing yaw / symmetric-pose multimodality;
Replace the raw dot product with a learned event-edge likelihood that filters background flicker and reflections;
Adapt ΔX to observation consistency, switching between large-step fast-motion search and fine low-speed updates;
When connecting to robot control, report full sensor–compute–network–actuator latency rather than only pose-loop Hz.
EDOPT supports a practical robotics insight: with an accurate model and initialization, a carefully designed asynchronous geometric estimator can deliver high-rate, interpretable tracking with little learning cost. A general 6D pose system still needs higher-level detection, confidence estimation, occlusion reasoning, and failure recovery.