Making Every Event Count: Event Camera Subsampling Methods
May 30, 2025 Β· View on GitHub
Official codebase for the CVPR 2025 workshop paper:
Making Every Event Count: Balancing Data Efficiency and Accuracy in Event Camera Subsampling
Hesam Araghi, Jan van Gemert, Nergis Tomen
Delft University of Technology
Paper PDF | Project Page
π Overview
Event cameras offer high temporal resolution and power efficiency, but their high event rates can overload processing systems. We explore six hardware-friendly event subsampling methods and assess their impact on event-based video classification.
π Key Contributions
- π Systematic evaluation of 6 causal, hardware-friendly subsampling methods.
- π§ Proposal of a causal density-based subsampling technique to test the hypothesis that dense regions contain more information.
- π Analysis of accuracyβefficiency trade-offs across three benchmark datasets.
π Subsampling Methods
| Type | Description |
|---|---|
| Spatial | Keep every n-th row and m-th column |
| Temporal | Keep the events in every t-th time interval |
| Random | Keep each event with probability p |
| Event Count 1 | Spatially subsample based on event counts within fixed-size windows |
| Corner-based 2 | Keep the events in the corners using the Harris corner detector |
| Causal Density-based | Causally filter and keep events more in spatiotemporally dense regions |
π§ Illustration: Event Subsampling Methods
Visualization of six different subsampling methods applied to the same input from an event camera. All variants retain approximately the same number of events.
π Datasets
We evaluate our methods on:
- N-Caltech101: Object classification with camera motion.
- DVS-Gesture: Human gesture recognition with real motion.
- N-Cars: Binary classification (car vs. background) in urban driving.
ποΈ Setup with uv
uv is a fast Python package manager and virtual environment tool.
1. Install uv
If you don't have uv, install it with:
curl -Ls https://astral.sh/uv/install.sh | sh
Or follow the instructions at uv's GitHub.
2. Create and activate a virtual environment
uv venv .venv
source .venv/bin/activate
3. Install dependencies
uv pip install -r requirements.txt
4. Run the train script
python train.py --cfg_path path/to/config.yaml
π Citation
If you use this code or find our work helpful, please cite:
@inproceedings{araghi2025EvSubsampling,
title={Making Every Event Count: Balancing Data Efficiency and Accuracy in Event Camera Subsampling},
author={Araghi, Hesam and van Gemert, Jan and Tomen, Nergis},
booktitle={CVPR Workshop},
year={2025}
}
π¬ Contact
For questions, feedback, or collaborations, feel free to reach out via:
- π§ Email: h.araghi@tudelft.nl
- π Issues: Open an issue
We welcome contributions and discussions from the community!