# Bat Event Flow Eval

> Evaluates the accuracy and robustness of event-based optical flow estimation models. It probes the model's ability to predict dense 2D motion fields from sparse, asynchronous event streams, handling varying temporal resolutions and occlusions. Use when the user wants to benchmark on DSEC-Flow, MVSEC, or asks about evaluating this task. Reports EPE.

- Skill: `qhjqhj00/bat-event-flow-eval` (Agent Skill)
- Install (CLI): `npx skillmds add qhjqhj00/bat-event-flow-eval`
- Raw SKILL.md: https://api.skillmd.com/api/skills/qhjqhj00/bat-event-flow-eval/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: qhjqhj00 (https://skillmd.com/u/qhjqhj00)
- Updated: 2026-09-08
- Page: https://skillmd.com/skills/qhjqhj00/bat-event-flow-eval

---


# bat-event-flow-eval

> BAT: Learning Event-based Optical Flow with Bidirectional Adaptive Temporal Correlation — Gangwei Xu et al. (2025) (arXiv:2503.03256, 2025)

## What this evaluates

Evaluates the accuracy and robustness of event-based optical flow estimation models. It probes the model's ability to predict dense 2D motion fields from sparse, asynchronous event streams, handling varying temporal resolutions and occlusions.

## Datasets

- **DSEC-Flow** — total 8586; splits: train (8170), test (416)
- **MVSEC** — total ?; splits: train (-1), test (-1)

## Metrics

- `EPE` **(primary)** — range: other
  - Mean Euclidean distance between predicted and ground truth flow vectors per pixel.
- `1PE` — range: percent
  - Percentage of ground truth pixels where the end-point error exceeds 1 pixel.
- `%Out` — range: percent
  - Percentage of ground truth pixels where EPE exceeds 3% or 5% of the ground truth flow magnitude.

## Input / output format

**Input**: Spatiotemporal event streams between two timestamps, typically formatted as event tensors (e.g., B time bins of polarity images) or raw event lists.

**Output**: Dense 2D optical flow field (u, v vectors) for every pixel in the target frame.

## Scoring recipe

```python
def evaluate(pred_flow, gt_flow):
    epe = np.mean(np.linalg.norm(pred_flow - gt_flow, axis=-1))
    npe_1 = 100 * np.mean(np.linalg.norm(pred_flow - gt_flow, axis=-1) > 1.0)
    mag_gt = np.linalg.norm(gt_flow, axis=-1)
    out_3 = 100 * np.mean(epe > 0.03 * mag_gt)
    out_5 = 100 * np.mean(epe > 0.05 * mag_gt)
    return {'EPE': epe, '1PE': npe_1, '%Out_3%': out_3, '%Out_5%': out_5}
```

## Common pitfalls

- MVSEC evaluation splits are fixed to outdoor_day2 (train) and outdoor_day1 (test); using other sequences breaks comparability.
- NPE metrics (1PE, 2PE, 3PE) measure the percentage of pixels where the Euclidean flow error exceeds a pixel threshold, not the angular error or component-wise error.

## Evidence (verbatim from paper)

> The end-point error (EPE) is the primary metric used to evaluate the accuracy of optical flow predictions for both DSEC-Flow and MVSEC. Additionally, we report the percentage of ground truth pixels with an optical flow magnitude error greater than N (NPE), where N is either 1, 2, or 3, as well as the Angular Error (AE) for DSEC-Flow. For MVSEC, we report the percentage of ground truth pixels with EPE exceeding 3 and 5% of the flow magnitude (%Out).

## Citation

```bibtex
@misc{xu2025bat,
  title={BAT: Learning Event-based Optical Flow with Bidirectional Adaptive Temporal Correlation},
  author={Gangwei Xu et al. (2025)},
  year={2025},
  note={arXiv:2503.03256}
}
```

- arXiv: 2503.03256

