Skip to content

princeton-vl/InFlux

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

InFlux and InFlux++: Real and Synthetic Data for Estimating Dynamic Camera Intrinsics

Website · Getting Started · InFlux++ Paper · InFlux Paper · InFlux-Real · InFlux-Synth · Leaderboard

InFlux++ overview

Overview

The InFlux project provides a unified real-world benchmark, synthetic training data, and a live evaluation leaderboard for estimating camera intrinsics in videos with dynamic camera intrinsics.

InFlux [NeurIPS 2025] established the first real-world benchmark with per-frame ground truth camera intrinsics for real-world videos with dynamic intrinsics. It comprises 143K+ annotated frames from 386 high-resolution videos.

InFlux++ [ECCV 2026] builds on InFlux through two new components. InFlux++ Real extends the real-world benchmark with 514K+ newly captured frames from 334 high-resolution videos, substantially broadening the diversity of scenes, subject motion, and camera trajectories. InFlux++ Synth introduces a procedurally generated synthetic dataset with 441K+ annotated frames from 1,841 videos for training dynamic camera intrinsics prediction models. Every synthetic video includes per-frame ground truth camera intrinsics and camera pose, and a subset additionally includes depth and surface normals.

Main Contributions

Work Main contributions Public releases
InFlux
  • Introduced the first real-world benchmark with per-frame ground truth camera intrinsics for videos with dynamic intrinsics
  • Extended Kalibr to improve calibration accuracy and robustness
InFlux++
  • Introduced InFlux++ Real, expanding the diversity of real-world scenes, subject motion, and camera trajectories
  • Introduced InFlux++ Synth, which contains synthetic training videos with per-frame ground truth intrinsics, camera pose, and additional annotations

Publications and Citation

If you find our real-world benchmark, synthetic training data, or code useful, please cite the corresponding paper. If you use the complete InFlux-Real release or report results on both the influx/ and influx_pp_real/ benchmark partitions, please cite both InFlux and InFlux++.

Erich Liang · Caleb Kha-Uong* · Chinmaya Saran* · Sreemanti Dey* · David W. Liu · Junhan Ouyang · Benjamin Zhou · Jia Deng

* Equal contribution

European Conference on Computer Vision (ECCV), 2026

@misc{liang2026influxrealsyntheticdata,
    title = {InFlux++: Real and Synthetic Data for Estimating Dynamic Camera Intrinsics},
    author = {Erich Liang and Caleb Kha-Uong and Chinmaya Saran and Sreemanti Dey and David W. Liu and Junhan Ouyang and Benjamin Zhou and Jia Deng},
    year = {2026},
    eprint = {2607.05389},
    archivePrefix = {arXiv},
    primaryClass = {cs.CV},
    url = {https://arxiv.org/abs/2607.05389}
}

Erich Liang · Roma Bhattacharjee* · Sreemanti Dey* · Rafael Moschopoulos · Caitlin Wang · Michel Liao · Grace Tan · Andrew Wang · Karhan Kayan · Stamatis Alexandropoulos · Jia Deng

* Equal contribution

Neural Information Processing Systems, Datasets and Benchmarks Track (NeurIPS), 2025

InFlux benchmark overview

@inproceedings{liang2025influx,
    author = {Liang, Erich and Bhattacharjee, Roma and Dey, Sreemanti and Moschopoulos, Rafael and Wang, Caitlin and Liao, Michel and Tan, Grace and Wang, Andrew and Kayan, Karhan and Alexandropoulos, Stamatis and Deng, Jia},
    booktitle = {Advances in Neural Information Processing Systems},
    editor = {D. Belgrave and C. Zhang and H. Lin and R. Pascanu and P. Koniusz and M. Ghassemi and N. Chen},
    pages = {},
    publisher = {Curran Associates, Inc.},
    title = {InFlux: A Benchmark for Self-Calibration of Dynamic Intrinsics of Video Cameras},
    url = {https://proceedings.neurips.cc/paper_files/paper/2025/file/8a8eca190088852067b4e8cc1b907122-Paper-Datasets_and_Benchmarks_Track.pdf},
    volume = {38},
    year = {2025}
}

Getting Started

Basic Installation

We recommend creating a dedicated Conda environment named influx with Python 3.11:

conda create --name influx python=3.11
conda activate influx

From the repository root, install the dependencies:

conda install -c conda-forge ffmpeg
pip install -e .

The base installation provides the Python dependencies and command-line utilities for:

  • Downloading and extracting InFlux-Real
  • Downloading and extracting selected InFlux-Synth partitions and modalities
  • Generating, uploading, and managing benchmark submissions

The InFlux-Synth data loader, Kalibr extension, and InFlux utility scripts have separate setup and usage instructions below.

For shared installation details and an index of the available tools and downloads, see Installation and Data Downloads.

Download InFlux-Real

We provide utility scripts and instructions here to download InFlux-Real and optionally decode its videos into per-frame .tiff images.

InFlux-Real is the unified real-world benchmark release for the project. It combines:

  • influx/, the original InFlux benchmark
  • influx_pp_real/, InFlux++ Real, a real-world benchmark extension of InFlux

Ground truth camera intrinsics are released for the validation splits. Ground truth for the test splits is withheld for evaluation through the submission server.

For benchmark statistics, file structure, and the ground truth annotation schema, see the InFlux-Real dataset card.

Related links: Submit and Evaluate Results · Live Leaderboard

Download InFlux-Synth

We provide utility scripts and instructions here to download selected InFlux-Synth partitions and modalities and optionally extract them.

InFlux-Synth houses the synthetic dataset introduced as InFlux++ Synth and is intended primarily for training and finetuning dynamic camera intrinsics prediction models. Every video includes per-frame ground truth camera intrinsics and camera pose. A subset of videos additionally includes depth and surface normals.

For dataset statistics, file structure, and details about ground truth modalities and formats, see the InFlux-Synth dataset card.

Related link: InFlux-Synth Data Loader

Submit and Evaluate Results

We provide submission utilities and instructions here for generating submission templates, validating and uploading predictions, and managing how evaluated results appear on the InFlux leaderboard.

Submissions may target the original InFlux test split, the InFlux++ Real test split, or both real-world benchmark test splits. Evaluation results are returned by email.

Results are private by default. After evaluation, the submitter can publish a result to the live InFlux leaderboard.

Users can also hide a published result or update its public display name, publication, and code links.

Related link: Live Leaderboard

Use the InFlux-Synth Data Loader

The InFlux++ work includes an InFlux-Synth data loader for loading RGB frames with their corresponding camera intrinsics, camera pose, and lens metadata.

Setup and usage instructions are available here.

The data loader also supports applying lens distortion to the released undistorted RGB images, as well as other forms of data augmentation that may be useful during training.

Use the Kalibr Extension

The original InFlux work includes an extension to Kalibr for more accurate and robust camera calibration on the real-world benchmark.

Setup and usage instructions are available here.

The release contains the modified Kalibr source used by the InFlux calibration pipeline.

Use the InFlux Utility Scripts

The original InFlux release includes utility scripts used to develop the real-world benchmark and its calibration lookup tables.

Setup instructions and an index of the component-specific documentation are available here.

Contact

For questions about the data, code, real-world benchmark, or evaluation server, contact:

influxbenchmark@gmail.com

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages