---
license: cc-by-4.0
---

# InFlux

We present Intrinsics in Flux (InFlux), a real-world benchmark that provides per-frame ground truth intrinsics annotations for videos with dynamic intrinsics. Compared to prior benchmarks, InFlux captures a wider range of intrinsic variations and scene diversity, featuring **657K+** annotated frames from **720** high-resolution indoor and outdoor videos with dynamic camera intrinsics. This release is organized as two partitions: the original **`influx/`** benchmark (386 videos) and the extended **`influx_pp_real/`** collection (334 videos).

For more information about this dataset, please visit our website: https://influx.cs.princeton.edu/. Please find data download and submission instructions in the [official repository](https://github.com/princeton-vl/InFlux/tree/main).

### Dataset Partitions

| | **influx** (v1) | **influx_pp_real** (v2) |
|---|---|---|
| Videos | 386 | 334 |
| Total frames | 143,513 | 514,135 |
| Val videos / frames | 70 / 21,546 | 50 / 77,449 |
| Test videos / frames | 316 / 121,967 | 284 / 436,686 |
| Scene categories | 58 | 64 |
| Avg frames/video | ~372 | ~1,539 |

**`influx/`** — Original InFlux benchmark:
- 386 videos across 58 scene categories (campus, lab, outdoor/urban: `equad_*`, `lab_*`, `palmer_*`, `battlefield_*`, etc.)
- Shorter clips (~372 frames/video avg)
- 70 val/316 test

**`influx_pp_real/`** — Extended real-world collection:
- 334 videos across 64 scene categories (urban walks, sports, indoor activities, scans: `jcity`, `nyc`, `tennis`, `tabletop`, `night_walk`, etc.)
- Longer clips (~1,539 frames/video avg)
- 50 val/284 test

### Dataset Structure

```
InFlux-Real/
├── influx/
│   ├── videos/                          # 386 .mp4 files
│   ├── video_frame_count_and_split_v1.json
│   └── gt_validation_dict_v1.json
└── influx_pp_real/
    ├── videos/                          # 334 .mp4 files
    ├── video_frame_count_and_split_v2.json
    └── gt_validation_dict_v2.json
```

- **Dynamic Intrinsics Videos (`.mp4`)**  
  Videos with dynamic intrinsics, moving objects, and camera motion.  

- **Frame Counts and Split (`video_frame_count_and_split.json`)**  
  Maps each video to its number of frames and whether it belongs to the validation or test split.  

- **Validation Ground Truth (`gt_validation_dict.json`)**  
  Maps validation video frames to ground truth intrinsics values.

### Viewing `.mp4` Files

The `.mp4` files in this dataset require VLC media viewer to play locally. Please download VLC [here](https://www.videolan.org/).

### JSON File Structures

#### `video_frame_count_and_split_v1.json` / `video_frame_count_and_split_v2.json`

```json
{
    "bike_shot11": {
        "frame_count": 338,
        "split": "val"
    }
}
```

- `frame_count` – Number of frames in the video.

- `split` – Denotes which split the video belongs in. The value will either be "val" or "test".

#### `gt_validation_dict_v1.json` / `gt_validation_dict_v2.json`

```json
{
    "bike_shot11": {
        "0": {
            "intrinsics_gt": {
                "fx": ..., "fy": ..., "cx": ..., "cy": ...,
                "k1": ..., "k2": ..., "p1": ..., "p2": ...
            },
            "intrinsics_gt_extrapolated": { ... },
            "lens_metadata": {
                "focal_length_mm": ...,
                "focus_distance_m": ...
            }
        },
        "1": { ... },
        ...
    }
}
```

**Per-frame keys:**
- `intrinsics_gt` – Ground truth intrinsics from look-up table (LUT) interpolation.
    - `fx, fy, cx, cy, k1, k2, p1, p2` denote the intrinsics parameters as specified by the rad-tan Brown-Conrady distortion model.

- `intrinsics_gt_extrapolated` – The same as `intrinsics_gt`, but also provides extrapolated intrinsics if lens metadata is outside of LUT bounds. It contains the same fields as `intrinsics_gt`.

- `lens_metadata` – Raw physical lens parameters `focal_length_mm`, `focus_distance_m`
