Bucketed Scene Flow Evaluation

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},
}

Installation

pip install bucketed-scene-flow-eval

Setup

Follow our Getting Started for setup instructions.

Demo

We provide a demo script which shows off the various features of the API.

Argoverse 2:

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

Argoverse 2 MultiCam

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/

Argoverse 2 LiDAR

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>

Argoverse 2 Flow

Waymo Open:

python scripts/demo.py --dataset WaymoOpenSceneFlow --root_dir /efs/waymo_open_processed_flow/validation/

Evaluating AV2 flow submissions

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

Documentation

See docs/ for more documentation .