Multi-data Scene Flow Challenge

Multi-data Scene Flow Challenge

One method, five LiDAR datasets: Argoverse 2, nuScenes, Waymo, TruckScenes and Aeva.

Start with OpenSceneFlow, KTH RPL's open-source codebase: data processing, training, evaluation and pre-trained models for all five datasets, and one command to write the submission zip.

GitHub Pre-trained models Challenge data

Overview

Predict scene flow for every test scene with one method and one configuration: a single checkpoint for learned models, or the same hyper-parameters for optimization-based methods. Scene IDs are anonymized, so a method is never told which dataset a scene comes from.

1. Download the data

Download challenge_public from Hugging Face (about 150 GB):

huggingface-cli download kin-zhang/multidata-sf-challenge --repo-type dataset --local-dir ./challenge_data
FieldShapeDescription
lidar(N, 4)Point cloud: x, y, z, intensity. Use xyz for flow.
ground_mask(N,)Boolean; ground points are excluded from evaluation.
pose(4, 4)Ego-vehicle pose in the world frame (SE3).

2. Generate predictions

With OpenSceneFlow, any supported model writes the submission directly:

python eval.py checkpoint=/path/to/model.ckpt data_mode=test \
  dataset_path=/path/to/challenge_public leaderboard_version=3 save_res=True

With your own implementation, predict the per-point 3D flow for every (scene_id, timestamp) in index_eval.pkl, in ego-motion-removed (relative) form:

# final_absolute_flow = pred_flow + pose_flow  -> submit pred_flow, NOT the absolute flow
save_pred_flow = (final_flow - pose_flow).cpu().numpy()   # shape (N, 3)

Save each frame as an Apache Feather file with columns flow_tx_m, flow_ty_m, flow_tz_m. The file name is the exact integer timestamp from index_eval.pkl, and the number of rows equals the number of points in lidar (ground points included; they are masked on the server).

import pandas as pd
from pathlib import Path

out_dir = Path("submission") / scene_id
out_dir.mkdir(parents=True, exist_ok=True)
pd.DataFrame({"flow_tx_m": flow[:, 0], "flow_ty_m": flow[:, 1], "flow_tz_m": flow[:, 2]}) \
  .to_feather(out_dir / f"{timestamp}.feather")

Zip the contents of submission/ so the scene folders are at the top level of the zip:

submission.zip
└── {scene_id}/
    ├── {timestamp_0}.feather
    └── ...

cd submission && zip -r -0 ../submission.zip .

3. Upload

Register your team, confirm your e-mail and wait for an organizer to approve the account. Then upload on the Submit page in your browser, or from a terminal with an API key from your profile. The terminal uploader needs only bash and curl and resumes interrupted uploads:

curl -O https://sceneflow.kth-rpl.se/download/sceneflow_submit.sh
export SCENEFLOW_API_KEY=YOUR_API_KEY
bash sceneflow_submit.sh submission.zip --method-name "MyMethod" --training-data multi \
  --project-url "https://github.com/user/repo" --notes "training data, backbone, ..." --wait
# optional: --long-range (also evaluate 35-70 m), --unsupervised, --private; see --help

The uploader checks the zip layout locally before sending anything. After the upload the server validates the file names against the evaluation index and evaluates the submission; results usually appear within 10 minutes. Track the status under My submissions.

Evaluation

Submissions are scored with Dynamic Bucket-Normalized EPE (Khatri et al., ECCV 2024), the metric of the previous AV2 scene flow challenges. It is class-aware and speed-normalized, so slow pedestrians and fast vehicles count fairly. The classic three-way EPE (FD / FS / BS) is reported as well.

RangeDescription
0–35 mNear range, same as previous challenges; every entry is evaluated here
35–70 mLong range, following the range-wise evaluation of SSF; optional

Distances are Chebyshev distances in XY (max(|x|, |y|)). For each range and dataset we report mean Static, mean Dynamic, Threeway EPE and per-class EPE for BACKGROUND, CAR, OTHER_VEHICLES, PEDESTRIAN and WHEELED_VRU.

Ranking (lower is better): Overview 0–70 m (default; mean of both ranges), 0–35 m (every entry) and 35–70 m, all by mean Dynamic averaged over the five datasets. Evaluating 35–70 m is your choice when you submit (--long-range) and can be changed later; entries without it are listed below the Overview and 35–70 m rankings instead of being compared, and their 35–70 m numbers stay private.

Ground-truth flow is derived from 3D box tracks with rigid-body assignment. Ground points are excluded, and only frames with at least 10,000 non-ground points and valid flow labels are evaluated. The mapping from anonymous scene IDs to datasets is kept private on the server.

Rules

Citing

If you take part in the challenge or use its results, please cite the OpenSceneFlow works and the evaluation metric:

@inproceedings{zhang2024deflow,
  author={Zhang, Qingwen and Yang, Yi and Fang, Heng and Geng, Ruoyu and Jensfelt, Patric},
  booktitle={2024 IEEE International Conference on Robotics and Automation (ICRA)},
  title={{DeFlow}: Decoder of Scene Flow Network in Autonomous Driving},
  year={2024},
  pages={2105-2111},
  doi={10.1109/ICRA57147.2024.10610278}
}
@inproceedings{zhang2024seflow,
  author={Zhang, Qingwen and Yang, Yi and Li, Peizheng and Andersson, Olov and Jensfelt, Patric},
  title={{SeFlow}: A Self-Supervised Scene Flow Method in Autonomous Driving},
  booktitle={European Conference on Computer Vision (ECCV)},
  year={2024},
  pages={353–369},
  organization={Springer},
  doi={10.1007/978-3-031-73232-4_20},
}
@inproceedings{zhang2025deltaflow,
  title={{DeltaFlow}: An Efficient Multi-frame Scene Flow Estimation Method},
  author={Zhang, Qingwen and Zhu, Xiaomeng and Zhang, Yushan and Cai, Yixi and Andersson, Olov and Jensfelt, Patric},
  booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems},
  year={2025},
  url={https://openreview.net/forum?id=T9qNDtvAJX}
}
@article{zhang2025himo,
  title={{HiMo}: High-Speed Objects Motion Compensation in Point Cloud},
  author={Zhang, Qingwen and Khoche, Ajinkya and Yang, Yi and Ling, Li and Mansouri, Sina Sharif and Andersson, Olov and Jensfelt, Patric},
  journal={IEEE Transactions on Robotics},
  year={2025},
  volume={41},
  pages={5896-5911},
  doi={10.1109/TRO.2025.3619042}
}
@inproceedings{zhang2026teflow,
  title = {{TeFlow}: Enabling Multi-frame Supervision for Self-Supervised Feed-forward Scene Flow Estimation},
  author = {Zhang, Qingwen and Jiang, Chenhan and Zhu, Xiaomeng and Miao, Yunqi and Zhang, Yushan and Andersson, Olov and Jensfelt, Patric},
  year = {2026},
  booktitle = {Proceedings of the IEEE/CVF conference on computer vision and pattern recognition},
  pages = {3667-3676},
}
@article{zhang2026synflow,
  title={{SynFlow}: Scaling Up LiDAR Scene Flow Estimation with Synthetic Data},
  author={Zhang, Qingwen and Zhu, Xiaomeng and Jiang, Chenhan and Jensfelt, Patric},
  journal={arXiv preprint arXiv:2604.09411},
  year={2026}
}
@inproceedings{khoche2025ssf,
  title={{SSF}: Sparse Long-Range Scene Flow for Autonomous Driving},
  author={Khoche, Ajinkya and Zhang, Qingwen and Sanchez, Laura Pereira and Asefaw, Aron and Mansouri, Sina Sharif and Jensfelt, Patric},
  booktitle={2025 IEEE International Conference on Robotics and Automation (ICRA)},
  year={2025},
  pages={6394-6400},
  doi={10.1109/ICRA55743.2025.11128770}
}
@inproceedings{khatri2024trackflow,
  author    = {Khatri, Ishan and Vedder, Kyle and Peri, Neehar and Ramanan, Deva and Hays, James},
  title     = {I Can't Believe It's Not Scene Flow!},
  booktitle = {European Conference on Computer Vision (ECCV)},
  year      = {2024}
}
Other methods in OpenSceneFlow (collaborators)
@article{li2025uniflow,
  title={{UniFlow}: Towards Zero-Shot LiDAR Scene Flow for Autonomous Vehicles via Cross-Domain Generalization},
  author={Li, Siyi and Zhang, Qingwen and Khatri, Ishan and Vedder, Kyle and Ramanan, Deva and Peri, Neehar},
  journal={arXiv preprint arXiv:2511.18254},
  year={2025}
}
@article{khoche2026dogflow,
  author={Khoche, Ajinkya and Zhang, Qingwen and Cai, Yixi and Mansouri, Sina Sharif and Jensfelt, Patric},
  journal = {IEEE Robotics and Automation Letters},
  title = {{DoGFlow}: Self-Supervised LiDAR Scene Flow via Cross-Modal Doppler Guidance},
  year = {2026},
  volume = {11},
  number = {3},
  pages = {3836-3843},
  doi = {10.1109/LRA.2026.3662592},
}
@article{kim2025flow4d,
  author={Kim, Jaeyeul and Woo, Jungwan and Shin, Ukcheol and Oh, Jean and Im, Sunghoon},
  journal={IEEE Robotics and Automation Letters},
  title={Flow4D: Leveraging 4D Voxel Network for LiDAR Scene Flow Estimation},
  year={2025},
  volume={10},
  number={4},
  pages={3462-3469},
  doi={10.1109/LRA.2025.3542327}
}
@inproceedings{lin2025voteflow,
  title={VoteFlow: Enforcing Local Rigidity in Self-Supervised Scene Flow},
  author={Lin, Yancong and Wang, Shiming and Nan, Liangliang and Kooij, Julian and Caesar, Holger},
  booktitle={CVPR},
  year={2025},
}