This repo provides the official implementation of Bucket Normalized EPE, as described in our paper I Can't Believe It's Not Scene Flow!
This repo provides:
- A speed and class aware evaluation protocol called Bucket Normalized EPE. See our paper for more details.
- A standardized interface for working with Scene Flow datasets.
- Evaulation infrastructure for the Argoverse 2 2024 Scene Flow Challenge.
Currently supported datasets:
- Argoverse 2 (Human Labeled and NSFP Pseudolabeled)
- Waymo Open (LiDAR only)
- NuScenes (LiDAR only, beta)
If you use this repository as part of a publication, please cite:
@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!}},
journal = {European Conference on Computer Vision (ECCV)},
year = {2024},
pdf = {https://arxiv.org/abs/2403.04739},
website={http://vedder.io/trackflow.html},
}
pip install bucketed-scene-flow-eval
Follow our Getting Started for setup instructions.
We provide a demo script which shows off the various features of the API.
To render the lidar and multiple camera views of an Argoverse 2 sequence in 3D, run:
python scripts/demo_3d.py --dataset Argoverse2CausalSceneFlow --root_dir /efs/argoverse2/val/ --with_rgb --sequence_length 4
To render RGB frames with lidar imposed on top, run:
python scripts/demo_rgb.py --dataset Argoverse2SceneFlow --mode project_lidar --reduction_factor 16 --root_dir /efs/argoverse2/val --sequence_length 150 --save_dir /efs/av2_camera_render/
To render the flow field of an Argoverse 2 sequence, run:
python scripts/demo_rgb.py --dataset Argoverse2SceneFlow --mode project_flow --reduction_factor 16 --root_dir /efs/argoverse2/val --sequence_length 150 --save_dir /efs/av2_camera_render/ --flow_dir <path to method flow output>
python scripts/demo.py --dataset WaymoOpenSceneFlow --root_dir /efs/waymo_open_processed_flow/validation/
To evaluate an AV2 Scene Flow challenge entry named ./submission_val.zip
against validation dataset masks /efs/argoverse2/val_official_masks.zip
, run
python scripts/av2_eval.py /efs/argoverse2/val /efs/argoverse2/val_official_masks.zip ./submission_val.zip
See docs/
for more documentation .