Seungjun Lee Β·
Gim Hee Lee
Department of Computer Science, National University of Singapore
Code | Paper | Project Page | Hugging Face
Our SEAL is the first Semantic-aware Segment Any Events model.
Table of Contents
- [2026/01/26] SEAL is accepted to ICLR 2026 π₯. The code will be released before April.
- [2026/03/31] Code for SEAL and instance segmentation benchmarks are released ππ»! Interactive demo is coming soon.
- [2026/04/01] Interactive demo of SEAL is released ππ»! Enter the box, points and text, and interact with events stream by yourself!
- Release the code of SEAL
- Release the benchmarks for instance segmentation
- Release the interactive demo.
- Release the code of SEAL++
- Release the benchmarks for part segmentation
The main dependencies of the project are the following:
python: 3.8
cuda: 11.8You can set up a conda environment as follows:
conda create -n seal python=3.8
conda activate seal
pip install torch==2.4.1+cu118 torchvision==0.19.1+cu118 torchaudio==2.4.1+cu118 --extra-index-url https://download.pytorch.org/whl/cu118
pip install -r requirements.txt
pip install git+https://github.com/openai/CLIP.git
cd pointnet2
pip install . --force-reinstall --no-deps
cd ..
# For demo
pip install gradio
The training datasets, benchmarks and pretrained weights are available here. You can easily download all the preprocessed data by running:
python download_data.py
python download_checkpoints.py
Once you run the above command, the downloaded files should be located to designated path. Refer to the file structure below:
cache
βββ eventsam.pth <- pretrained weights of events backbone
βββ seal.pt <- pretrained weights of seal
βββ sam_vit_b_01ec64.pth
...
dataset
βββ data
β βββ ddd17 <- DDD17 dataset
β β βββ dir0 <- Driving scene
β β β βββ imgs <- RGB images
β β β βββ mhsg <- MHSG guidance
β β β βββ recons_image <- E2VID-reconstructed frames
β β β βββ segmentation_masks <- Semantic maps
β β β βββ voxel_image <- Events frame
β β βββ dir1
β β βββ ...
β βββ DSEC <- DSEC dataset
β βββtest <- Test scene
β β βββ zurich_city_13_a
β β β βββ instance_gt <- Ground-truth instance masks
β β β βββ recons_image <- E2VID-reconstructed frames
β β β βββ rgb_image <- RGB images
β β β βββ semantic_gt <- Semantic maps
β β β βββ voxel_image <- Events frame
β β βββ ...
β βββ train
β βββ ...
βββ metadata
βββddd17_eval.txt <- Evaluation lists of DDD17-Instance
βββdsec11_eval.txt <- Evaluation lists of DSEC11-Instance
βββdsec19_eval.txt <- Evaluation lists of DSEC19-Instance
βββtrain.txt <- Training list
Training consists of two stages. We conduct the training in RTX A6000 Ada GPU.
You need to train events backbone by following the EventSAM. Enter the path to store the checkpoints in here of event_encoder/train_eventsam.py.
python event_encoder/train_eventsam.py
Or, you may directly use the pretrained weights we provide in cache/eventsam.pth. In that case, skip Stage 1 and run Stage 2 directly.
python event_encoder/train_seal.py --config-path=../configs/train --config-name=seal.yaml
The model weight and log will be stored in checkpoints and log folder, respectively. We also provide our training log in train.log.
We provide pretrained weights at cache/seal.pt. By running the commands below, the code will evaluate SEAL using the provided weights. To use your own weights, simply append general.checkpoint={YOUR_PATH} to the end of the command.
In the commands below, specify the dataset name: DDD17, DSEC11, or DSEC19 in {DATASET}.
python event_encoder/test_seal.py --config-path=../configs/eval/{DATASET} --config-name=seal.yaml
python event_encoder/test_seal.py --config-path=../configs/eval/{DATASET} --config-name=seal.yaml dataset.test.prompt=point
Try our interactive demo! If you click the thumbnail below, you can watch our demo video.
Our demo supports:
- Segment / classify instances with box prompts
- Segment / classify instances with point prompts
- Retrieve the masks based on the open-vocabulary queries. In this case, pre-defined box prompts are provided as candidates following Sec. B.5 of main paper.
Run the command and try by yourself!
python gradio_seal.py --config configs/eval/DSEC19/seal.yaml --checkpoint cache/seal.pt --data-root dataset/data/DSEC/test --server-port 7860
Our work is inspired a lot from the following works. We sincerely appreciate to their great contributions!
If you find our code or paper useful, please cite
@article{lee2026segment,
title={Segment Any Events with Language},
author={Lee, Seungjun and Lee, Gim Hee},
journal={arXiv preprint arXiv:2601.23159},
year={2026}
}