Paper · 2026-06-18 · cs.CV
EventVLA: Event-Driven Visual Evidence Memory for Long-Horizon Vision-Language-Action Policies
EventVLA gives a VLA policy fixed visual anchors (first frame plus frames 15 and 30 steps back) and a Keyframe Evidence Memory head that predicts, for each future action step, whether that frame will be task-critical, then stores those frames. Reported: 67.8% on RMBench, 75.2% on the new RoboTwin-MeM benchmark (18.0% with anchors only), 78.8% on four real bimanual tasks. All author-reported.
Vision-language-action modelImitation learningRobot simulation for learningrobot-manipulationmemoryvision-language-actionkeyframe-selection
arXivPDFCodeMarkdown14 min read
AI-compiled by claude-haiku-5-5 on 2026-10-18, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
Robot policies that only look at the current camera image forget things that go out of view. If a robot lifts a cover to see a block's colour and then puts the cover back, the colour is gone from the picture. Many earlier fixes keep a running log of past images, but the log fills up with near-identical frames, or they squeeze the history into a short summary that loses detail.
EventVLA keeps two kinds of memory. The first is a fixed set of reference frames: the very first image, which shows the layout, and a few recent frames, which show motion. The second is a learned "notebook" that the policy writes to on purpose. Alongside its action prediction, the policy guesses which of the next steps will show something worth remembering, and when a guess is confident enough, it saves that frame. Only a handful of such frames are kept, and the oldest is dropped when the notebook is full.
The idea is that the policy decides when to remember, instead of storing everything or nothing. The authors also built a simulation benchmark where the answer to a task depends on something seen only briefly in the middle of the episode.
TL;DR
EventVLA is an end-to-end VLA policy built on a Qwen3-VL-4B backbone in simulation (π0.5 on the real robot). Besides fixed visual anchors, a small head predicts keyframe probabilities over the 50-step action chunk, and frames above a threshold are written into a bounded FIFO buffer. The authors report 67.8% on RMBench, 75.2% on their RoboTwin-MeM benchmark, and 78.8% on four real bimanual tasks, all author-reported. Use it when a task hinges on a briefly visible cue, and check the Paper vs code section before reproducing the numbers, because the released code differs in several hyperparameters.
Problem
Standard VLA policies map the current observation and instruction to an action and assume the task-relevant state stays visible §1. When a cue appears only briefly, for example under an opaque cover, a fixed history window misses it, and dense memory buffers fill with redundant frames §1 §2. Recurrent or compressed memories lose fine visual detail §1. The paper asks when and what visual evidence a VLA should keep, without exhausting compute §1.
The authors also argue that existing memory benchmarks can be solved with static anchors alone (RMBench) or test broader memory skills (RoboMME) §2. The new benchmark is meant to isolate transient, mid-episode evidence §4.
Method
Memory structure. The policy is a_t = π(o_t, M_{t-1}, l), where the
memory is M_t = A_t ∪ E_t eq. 1 §3.1. The anchors are the initial frame
o_0 plus a sliding window of recent frames o_{t-K} … o_{t-1} eq. 2 §3.1.
The sim configuration uses the frames at offsets −30 and −15 in addition to
o_0 app. B.3 tab. 6 tab. 7. The real-robot configuration uses o_0
with offsets −60, −40 and −20 tab. 8. The paper calls the anchors
rule-based, and the code keeps them as fixed frame offsets [code:
EventVLA/examples/RoboTwin-Mem/train_files/eventvla_robotwin_mem.yaml#L138-L143].
Keyframe Evidence Memory (KEM). A lightweight head reads the final hidden states of the action-query tokens for the H-step chunk and outputs one sigmoid probability per future step §3.2 eq. 3. The default foresight horizon is H_k = H = 50 §3.2. In the released code the head is a LayerNorm, a linear layer, GELU and a linear layer to one logit [code: EventVLA/eventvla/model/framework/EventVLA.py#L299-L304].
Writing events. At step t, a predicted step i ≥ 1 whose probability reaches τ_commit = 0.55 causes the raw image at t+i to be committed to the event buffer E_t §3.2 app. B.3. The buffer has capacity N_max = 5 and drops its oldest entry when full §3.2 app. B.3. At each step, the model input is the concatenation of anchors, buffer entries and the current frame, in that order eq. 4 §3.2.
Training. The total loss is an action loss plus λ times a keyframe loss
eq. 5 §3.3. The keyframe loss is a sequence-averaged binary cross-entropy
against soft targets app. A.1 eq. 6. Each target is a raised cosine of the
step distance to the nearest ground-truth keyframe: y = 0.5 (1 + cos(π d / R))
for d ≤ R, and 0 otherwise app. A.1. The radius R is not given in the text.
During training, each sample writes ground-truth keyframes with probability α
and its own thresholded predictions otherwise. α decays linearly from 1 to 0
over training app. A.1 §3.3.
Keyframe labels. The paper labels training demonstrations offline with Qwen3-VL-235B-A22B-Instruct-FP8 served by vLLM, using 2 to 3 hand-annotated demonstrations per task as in-context examples and 128 uniformly sampled frames per episode, for example app. A.3. The labeling prompt is given in the appendix app. A.3.
Inference. The paper converts the probability vector into write events by local-peak selection (non-maximum suppression, radius w) followed by a cooldown of C steps app. A.2 eq. 8. Pseudocode below follows that description. The released code differs, see Paper vs code.
# One training step of the KEM policy [§3.2] [§3.3] [eq. 1]-[eq. 5]
# Input: frames o_0 .. o_t (main camera), instruction l,
# ground-truth keyframe steps of the episode, event buffer
# Output: scalar training loss
def training_step(frames, t, instruction, gt_keyframes, buffer):
# Visual anchors: first frame plus two earlier frames (sim) [eq. 2]
# [app. B.3]; the code pads or clips when t < 30 (not checked)
anchors = [frames[0], frames[t - 30], frames[t - 15]]
# Event buffer: newest N_max = 5 stored keyframe images, FIFO [§3.2]
memory = buffer[-5:]
# Hidden states of the action-query tokens, one per future step [§3.2]
hidden = vla_backbone(anchors, frames[t], memory, instruction)
# Keyframe logits for the H = 50 future steps [eq. 3]
logits = keyframe_head(hidden) # (H,)
# Soft target: raised cosine around each ground-truth keyframe [app. A.1]
targets = soft_targets(t, gt_keyframes, radius=R) # (H,)
# Sequence-averaged BCE; the released code weights positives by 7.0
# [app. A.1] [code: EventVLA/eventvla/model/framework/EventVLA.py#L1543-L1552]
keyframe_loss = weighted_bce(logits, targets, pos_weight=7.0)
# Action loss; the released code uses L1 regression [eq. 5]
# [code: EventVLA/eventvla/model/framework/EventVLA.py#L1247]
action_loss = l1(predict_actions(hidden), actions_gt)
# Joint objective with balancing weight lambda [eq. 5]
return action_loss + lam * keyframe_loss# Write-event selection at inference, as the paper describes it
# [app. A.2] [eq. 8]
# Input: probs with probs[i] = p_t^i for i in 1..H (probs[0] unused)
# t: current step; last_write: step of the last stored keyframe
# (None before the first write)
# Output: list of steps at which to store the current image
def select_writes(probs, t, last_write, tau, nms_w, cooldown):
# Candidates: at or above tau and maximal within +-nms_w [eq. 8]
candidates = []
for i in range(1, H + 1):
# NMS neighbourhood, clipped to the chunk [eq. 8]
low = max(1, i - nms_w)
high = min(H, i + nms_w)
local_max = max(probs[low:high + 1])
if probs[i] >= tau and probs[i] == local_max:
candidates.append(i)
# Accept in order; a write needs a gap larger than cooldown [app. A.2]
writes = []
for i in candidates:
if last_write is None or t + i - last_write > cooldown:
writes.append(t + i)
last_write = t + i
return writesHyperparameters
Sim values come from the RoboTwin-MeM and RMBench tables. The real-robot column comes from the real-robot table. "Not stated" means the paper does not give a value. Values the released code uses differently are flagged in Paper vs code.
| Name | Value | Where | Notes |
|---|---|---|---|
| VLM backbone | Qwen3-VL-4B-Instruct | app. B.3 tab. 6 tab. 7 | Sim only. Real robot uses π0.5 (PaliGemma) tab. 8 |
| Action model | Optimized Fine-Tuning (OFT), action dim 14 | tab. 6 tab. 7 | Real robot: action dim 32 tab. 8 |
| Input resolution | 224 × 224 | app. B.3 tab. 6 | Real robot also 224 × 224 tab. 8 |
| Action horizon H | 50 | app. B.3 tab. 6 tab. 7 tab. 8 | |
| Keyframe foresight H_k | 50 (default) | §3.2 tab. 10 | H_k = 1 scores below the reactive selector (28.2 vs 28.9) tab. 10 |
| Optimizer | AdamW | tab. 6 tab. 7 tab. 8 | Real: β = (0.9, 0.95), ε = 1e-8, weight decay 0.01 tab. 8 |
| Training steps (sim) | 80,000 | tab. 6 tab. 7 | Launch script uses 100,000 run_eventvla_train.sh |
| Training steps (real) | 60,000 | tab. 8 | Real-robot code not released |
| Learning rate, VLM (sim) | 1e-5 | app. B.3 tab. 6 tab. 7 | |
| Learning rate, KEM and action head (sim) | 1e-4 | app. B.3 tab. 7 | |
| Learning rate (real) | 5e-5 for VLM and new heads; cosine decay to 5e-6; 2,000 warm-up steps | tab. 8 | |
| Batch size (sim) | 4 per device, 1 gradient accumulation step | tab. 6 tab. 7 | |
| Global batch (real) | 32, bfloat16 | tab. 8 | |
| Commit threshold τ_commit | 0.55 | app. B.3 tab. 7 tab. 8 | |
| Event buffer capacity N_max | 5 | app. B.3 tab. 7 tab. 8 | Released YAML default is 4; launch script passes 5 eventvla_robotwin_mem.yaml |
| NMS radius w | 8 steps | app. B.3 | Released config uses 20 eventvla_robotwin_mem.yaml |
| Cooldown C | 10 steps | app. B.3 tab. 7 tab. 8 | Released config uses 20 eventvla_robotwin_mem.yaml |
| Keyframe loss weight λ | 0.1 | tab. 7 tab. 8 | Released sim config uses 1.0 eventvla_robotwin_mem.yaml |
| Positive-class weight in BCE | not stated | — | Released code uses 7.0 run_eventvla_train.sh |
| Soft-target radius R | not stated | app. A.1 | Released code uses 8 datasets.py |
| Teacher-forcing α | linear 1.0 → 0.0 over training | app. A.1 §3.3 | Released code: 10,000 steps at 1.0, then linear over 30,000 steps run_eventvla_train.sh |
| Warm-up (sim) | not stated | — | Released YAML: 5,000 steps eventvla_robotwin_mem.yaml |
| Memory camera (sim) | not stated | — | Released code stores the main camera only (cam_high, head or main; wrist excluded) run_eventvla_train.sh |
Results
Author-reported throughout. Averages are over the tasks in each table.
RMBench, 9 tasks tab. 1 tab. 9. The streamlined EventVLA variant uses visual anchors only. The table averages are as printed.
| Method | Observe & pick up | Rearrange | Put back | Swap | Swap T | Battery | Ranking | Cover | Press button | Average |
|---|---|---|---|---|---|---|---|---|---|---|
| DP | 1% | 0% | 0% | 11% | 20% | 10% | 10% | 0% | 0% | 5.8% |
| ACT | 1% | 29% | 0% | 2% | 2% | 19% | 0% | 0% | 0% | 5.9% |
| π0.5 | 9% | 13% | 11% | 24% | 15% | 16% | 6% | 0% | 0% | 10.4% |
| X-VLA | 9% | 13% | 18% | 16% | 3% | 26% | 1% | 2% | 0% | 9.8% |
| QwenOFT | 0% | 0% | 0% | 0% | 0% | 14% | 37% | 0% | 0% | 5.6% |
| MemER | 7% | 17% | 0% | 14% | 7% | 27% | 0% | 6% | 0% | 8.7% |
| Mem-0 | 4% | 89% | 90% | 67% | 14% | 28% | 18% | 68% | 0% | 42.0% |
| MemoryVLA (OpenVLA) | 0% | 22% | 50% | 17% | 9% | 25% | 12% | 40% | 0% | 19.4% |
| MemoryVLA (QwenOFT) | 2% | 53% | 81% | 76% | 9% | 33% | 53% | 69% | 0% | 41.7% |
| EventVLA (w/o initial) | 10% | 64% | 63% | 16% | 8% | 39% | 87% | 15% | 2% | 33.7% |
| EventVLA (w/o short-term) | 15% | 34% | 20% | 18% | 94% | 16% | 14% | 4% | 0% | 23.8% |
| EventVLA (visual anchors only) | 21% | 96% | 95% | 96% | 87% | 35% | 81% | 97% | 3% | 67.8% |
RoboTwin-MeM, 8 tasks tab. 2. The n-value is the number of intermediate keyframes each task requires §4 tab. 5. Columns are grouped by n.
| Method | Rearrange Blocks Hard (n=1) | Put Back Block Hard (n=2) | Pick Objects in Order (n=3) | Pick the Unhidden Block (n=3) | Cover Blocks Hard (n=4) | Find Seal and Seal Stamp (n=4) | Reproduce Route (n=4) | Press Button Keyframe (n=5) | Average |
|---|---|---|---|---|---|---|---|---|---|
| π0.5 | 20% | 19% | 1% | 14% | 0% | 8% | 0% | 0% | 7.8% |
| QwenOFT | 3% | 26% | 0% | 0% | 0% | 0% | 0% | 1% | 3.8% |
| MemER | 32% | 4% | 12% | 2% | 0% | 26% | 3% | 5% | 10.5% |
| Mem-0 | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0% | 0.0% |
| MemoryVLA (OpenVLA) | 12% | 0% | 0% | 1% | 0% | 10% | 2% | 14% | 4.9% |
| MemoryVLA (QwenOFT) | 39% | 0% | 1% | 9% | 1% | 11% | 0% | 25% | 10.8% |
| EventVLA (VA only) | 62% | 13% | 5% | 20% | 0% | 26% | 0% | 18% | 18.0% |
| EventVLA (VA + KEM) | 62% | 93% | 90% | 54% | 94% | 63% | 98% | 48% | 75.2% |
| Ablation: implicit memory bank | 51% | 9% | 16% | 37% | 1% | 68% | 2% | 15% | 24.9% |
| Ablation: hard labels | 59% | 77% | 28% | 62% | 85% | 36% | 6% | 37% | 48.8% |
| Ablation: w/o NMS | 62% | 93% | 49% | 36% | 10% | 35% | 97% | 45% | 53.4% |
| Ablation: N_max = 2 | 51% | 35% | 28% | 33% | 39% | 53% | 0% | 17% | 32.0% |
RoboTwin 2.0, Markovian tasks tab. 3. Success rates, Easy and Hard splits. The paper says the memory mechanism does not hurt reactive control.
| Task | π0 | π0.5 | X-VLA | QwenFast | QwenOFT | EventVLA |
|---|---|---|---|---|---|---|
| Easy | 65.9% | 82.7% | 72.8% | 72.5% | 80.0% | 83.8% |
| Hard | 58.4% | 76.8% | 72.8% | 83.2% | 78.0% | 81.6% |
Controlled comparison of memory strategies tab. 4. Same backbone and memory budget. Real results are averaged over task configurations and seeds.
| Method | Foresight | RMBench | RoboTwin-MeM | RoboMME | Real |
|---|---|---|---|---|---|
| Random | no | — | 10.1 | — | 1.3 |
| Periodic | no | — | 34.2 | — | 37.1 |
| Visual-change | no | — | 44.6 | — | 22.6 |
| Reactive selector | no | — | 28.9 | — | 30.4 |
| VA only | no | 67.8 | 18.0 | 16.4 | 25.0 |
| KEM only | yes | 30.3 | 50.7 | 28.3 | 53.6 |
| VA + KEM | yes | 66.7 | 75.2 | 32.1 | 78.8 |
| Oracle keyframes | oracle | 67.4 | 76.3 | 40.5 | 81.8 |
Foresight horizon and annotation source tab. 10.
| Analysis | Setting | RoboTwin-MeM | Real |
|---|---|---|---|
| Foresight | Reactive (H_k = 0) | 28.9 | 30.4 |
| Foresight | H_k = 1 | 28.2 | 31.1 |
| Foresight | H_k = 15 | 36.8 | 42.9 |
| Foresight | H_k = 30 | 45.4 | 50.1 |
| Foresight | H_k = 50 | 75.2 | 78.8 |
| Annotation | Simulator GT / human | 76.3 | 77.7 |
| Annotation | Qwen3-VL | 75.2 | 78.8 |
Real-world bimanual robot, ARX ACONE, 20 trials per task §5.3 fig. 4. Per-task numbers are in the text; the π0.5 range is also from the text.
| Task | EventVLA | Source |
|---|---|---|
| Find Block Easy | 90% | §5.3 |
| Pick-X-Times | 90% | §5.3 |
| Find Block Hard | 60% | §5.3 |
| Pick in Order | 75% | §5.3 |
| Average | 78.8% | §5.3 |
| π0.5 (reactive), all four tasks | 0% to 10% | §5.3 |
| MemER, average | 32.3% | tab. 11 |
| π_MEM, average | 37.5% | tab. 11 |
Inference cost, A100, batch size 1 tab. 11 §5.3:
| Method | Real success | Latency (s per chunk) | GPU memory |
|---|---|---|---|
| MemER | 32.3% | 1.43 | about 24 GB |
| π_MEM | 37.5% | 1.08 | about 24 GB |
| EventVLA | 78.8% | 0.42 | about 7 GB |
Paper vs code
Official code: https://github.com/InternRobotics/EventVLA, cloned at commit
a4e02f741f78ab01eb76f6a0bc6685f72f60ed24. The abstract links it. The
organisation is the Shanghai AI Laboratory's research group, and the paper's
affiliations include Shanghai AI Laboratory. The repository holds two code
trees, EventVLA/ (training and serving) and RoboTwin-Mem/ (benchmark and
data tools). The root has no LICENSE file. EventVLA/LICENSE is MIT (copyright
StarVLA Team), and RoboTwin-Mem/LICENSE is MIT.
Discrepancies, each with both sides:
- Keyframe loss weight. The sim table lists λ = 0.1 tab. 7, and the
real-robot text sets λ = 0.1 app. B.3. The released sim config and launch
script use
keyframe_loss_weight: 1.0[code: EventVLA/examples/RoboTwin-Mem/train_files/eventvla_robotwin_mem.yaml#L56] run_eventvla_train.sh. - BCE positive weight. The paper's keyframe loss is an unweighted
sequence-averaged BCE eq. 6. The code uses
pos_weight = 7.0[code: EventVLA/eventvla/model/framework/EventVLA.py#L1543-L1552] [code: EventVLA/examples/RoboTwin-Mem/train_files/run_eventvla_train.sh#L68]. - Inference write rule. The paper specifies non-maximum suppression with
radius w = 8 and cooldown C = 10 app. A.2 eq. 8 app. B.3. The
released YAML sets both to 20 [code:
EventVLA/examples/RoboTwin-Mem/train_files/eventvla_robotwin_mem.yaml#L64-L65].
The released eval client turns the model-side filter off [code:
EventVLA/examples/RoboTwin-Mem/eval_files/model2robotwin_mem_interface.py#L216]
and uses a single candidate per chunk, the argmax over future steps, if it
reaches the threshold 0.55 [code:
EventVLA/examples/RoboTwin-Mem/eval_files/model2robotwin_mem_interface.py#L675-L700].
It rejects a candidate within a 20-step window of the last committed
keyframe [code:
EventVLA/examples/RoboTwin-Mem/eval_files/model2robotwin_mem_interface.py#L212-L215]
EventVLA.py. The NMS
code path runs only when
enable_keyframe_inference_event_filteris set EventVLA.py. - Teacher-forcing schedule. The paper says α decays linearly "over the training duration" app. A.1 §3.3. The released run holds α = 1 for 10,000 steps and then decays linearly over 30,000 steps [code: EventVLA/examples/RoboTwin-Mem/train_files/run_eventvla_train.sh#L77-L78] EventVLA.py.
- Training steps. The sim table says 80,000 steps tab. 6 tab. 7. The launch script passes 100,000 [code: EventVLA/examples/RoboTwin-Mem/train_files/run_eventvla_train.sh#L103]. The YAML says 80,000 [code: EventVLA/examples/RoboTwin-Mem/train_files/eventvla_robotwin_mem.yaml#L147].
- Buffer size. The YAML default is 4 [code: EventVLA/examples/RoboTwin-Mem/train_files/eventvla_robotwin_mem.yaml#L54], but the launch script sets 5 [code: EventVLA/examples/RoboTwin-Mem/train_files/run_eventvla_train.sh#L19], which matches the paper app. B.3.
- Action loss. The paper writes a generic "regression or flow-matching" action loss eq. 5 app. A.1. The code uses L1 regression on predicted actions EventVLA.py.
- Stored camera. The paper does not say which camera is stored. The released code stores only the main camera (cam_high, head or main), and excludes the wrist cameras [code: EventVLA/examples/RoboTwin-Mem/train_files/run_eventvla_train.sh#L96-L97].
- Real-robot code is not released. The repository's to-do list has
"Real-world inference and evaluation code" and "Real-world fine-tuned model"
unchecked README.md. A
Pi05MEMclass exists [code: EventVLA/eventvla/model/framework/Pi05MEM.py#L32-L33], but no real-robot training or evaluation config was found. The real-robot numbers cannot be reproduced from this repository. - Keyframe labeling is not released. I found no script that calls
Qwen3-VL to label keyframes.
extract_task_keyframes.pyreads akeyframe_stepsfield from episode metadata rather than computing it [code: RoboTwin-Mem/script/extract_task_keyframes.py#L132]. Where that metadata comes from was not checked.
Checked and consistent: the sim anchor offsets (−30 and −15 frames) and the commit threshold (0.55) match between paper and code.
Pitfalls
- Citation numbering. Equation numbers here follow LaTeX source order, because the compiled PDF was not available. Equations eq. 6 and eq. 8 are the appendix keyframe loss and NMS rule, and the joint loss appears again in the appendix. Table numbers follow the same order. Check against the compiled PDF before quoting a number.
- The RMBench result does not test KEM. The 67.8% headline on RMBench is the anchors-only variant tab. 1 tab. 9. With KEM added, RMBench drops to 66.7% tab. 4. The KEM gains are on RoboTwin-MeM and the real robot.
- Headline gain is not defined. The abstract's "+40%" average improvement does not appear in any table. Computed here from the printed tables, not stated by the authors: RMBench 67.8 vs Mem-0 42.0 (+25.8 points); RoboTwin-MeM 75.2 vs MemoryVLA (QwenOFT) 10.8 (+64.4); real 78.8 vs π_MEM 37.5 (+41.3).
- Anchors at the start of an episode. The sim config reads frames at t−30 and t−15 eventvla_robotwin_mem.yaml. The paper does not say what fills these slots before step 30. I did not verify the code's padding behaviour.
- Write delay. The eval client commits a planned write only when its step is reached model2robotwin_mem_interface.py and replans after the commit. The paper does not describe this delay. An implementation that writes at prediction time will behave differently.
- Event-count ranges. The benchmark table gives Press Button Keyframe a range of [2, 5] and Find Seal and Seal Stamp a range of [1, 4] tab. 5. The results table files them under n = 5 and n = 4. The paper does not explain the mapping.
- Buffer overflow. Long episodes (over 1,500 steps for some tasks app. A.3) fill the 5-slot FIFO quickly. The Limitations section says early evidence is evicted §6. Plan a larger buffer if the task has many events.
- Labeling accuracy. The paper reports an average temporal error under 10 steps in simulation and within 50 steps on real data app. A.3. These are the authors' figures. The labeler's code and prompt-level reproducibility are not released.
- Cross-task transfer is untested. The authors list unseen objects, distractors and cross-task transfer as unexplored §6.
- Compute. Training uses 8 GPUs [code: EventVLA/examples/RoboTwin-Mem/train_files/run_eventvla_train.sh#L58]. Inference is reported at about 7 GB on an A100 tab. 11.
Lineage
- Builds on: the QwenOFT backbone from the StarVLA code base [code: EventVLA/eventvla/model/framework/EventVLA.py] (the paper cites [starvla]; no arXiv id is available in this wiki's sources). Also builds on the Qwen3-VL-4B backbone app. B.3.
- Compared against: Diffusion Policy, ACT, π0.5, X-VLA, QwenOFT tab. 1; MemER, Mem-0, MemoryVLA (OpenVLA and QwenOFT variants) tab. 1; π_MEM §5.3. The paper also reproduces Periodic, Random, Visual-change and Reactive frame-selection baselines tab. 4.
- Differs from MemER: the paper says its contribution is foresight-based, end-to-end keyframe prediction rather than keyframe retrieval §2.
- Superseded by: not known from wiki content.
Source and license
Adapted from “EventVLA: Event-Driven Visual Evidence Memory for Long-Horizon Vision-Language-Action Policies” by Ganlin Yang, Zhangzheng Tu, Yuqiang Yang, Sitong Mao, Junyi Dong, Tianxing Chen, Jiaqi Peng, Jing Xiong, Jiafei Cao, Jifeng Dai, Wengang Zhou, Yao Mu, Tai Wang (arXiv:2606.20092), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors. Code citations refer to https://github.com/InternRobotics/EventVLA at commit a4e02f741f78 (MIT). Any quoted code is shown under that license.