Skip to content
vLAR-groupPublic

Latest commit

 

History

72 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PhysInOne: Visual Physics Learning and Reasoning in One Suite

CVPR 2026

arXiv Project Page Dataset All PhysInOne repositories: 1,280,414 historical downloads (snapshot Oct 1, 2026) License

Important

Looking for the data? Start on Hugging Face. All dataset downloads, download tools, and usage guides are available there: Rendered Data · 3D Assets · Leaderboard Evaluation Data. This GitHub repository hosts the code and baseline implementations.

PhysInOne Teaser

Overview

We present PhysInOne, the largest dataset addressing the critical scarcity of physically-grounded training data for AI systems.

Scale and Diversity

  • 2 million videos generated from 153,810 dynamic 3D scenes
  • Covers 71 fundamental physical phenomena in everyday environments, spanning four major domains: Mechanics, Optics, Fluid Dynamics, Magnetism
  • Includes 2,231 common objects tailored to daily physical interactions
  • Enriched with 623 materials across five categories: plastic, metal, wood, stone, and fabric
  • Features 528 diverse 3D backgrounds to ensure realism and environmental variety

Scene Characteristics

  • Each scene involves 1–3 physical phenomena, reflecting real-world activities
  • Supports complex multi-object interactions, with increasing scene complexity
  • Average number of objects per scene: 3.9 (single-physics), 6.3 (double-physics), 7.8 (triple-physics)
  • Each scene is captured from 13 viewpoints: 12 static cameras and 1 moving camera

Rich Annotations

  • 3D geometry
  • Semantic labels
  • Object motion and dynamics
  • Physical properties
  • Natural-language scene descriptions

Supported Applications

  • Physics-aware video generation
  • Short- and long-term future frame prediction
  • Physical property estimation
  • Motion transfer
  • And more...

🚀 Release Timetable

Component Progress Status Notes
Rendered Data - Train ██████████ 100%(122988/122988) Released Last updated: Aug 21
Rendered Data - Val ░░░░░░░░░░ 1%(103/15411) In progress
3D Assets ██████████ 100% Released 14,847 Val scenes, 120,660 Train scenes, and Train/Val resource libraries
Leaderboard Evaluation Inputs ██████████ 100% Released All public task inputs released; ground truth excluded
Baseline code ███████▌░░ 75% In progress Task-specific implementations; see Baselines below
Data processing ██████████ 100% Released Camera placement, UE rendering, EXR conversion, and point-cloud generation

Links

Resource Link
📄 Paper arXiv
🌐 Project Page vlar-group.github.io/PhysInOne
🤗 Dataset Hugging Face
🎞️ Rendered Data Scene selection and download guide
🧊 3D Assets Asset download and project setup guide
🏆 Leaderboard Data Evaluation input download guide
🛠️ Data Processing Camera, rendering, and post-processing usage guide

📦 Dataset Repositories & Downloads

Due to the large scale of PhysInOne, the rendered data and annotations are split across 16 Hugging Face repositories. Each entry shows the shard size, release status, live all-time downloads, live downloads in the last 30 days, and its repository link.

Combined snapshot (Oct 1, 2026): P01–P16 have 1,233,150 all-time downloads and 408,806 downloads in the last 30 days. Including the main repository, the per-repository sums are 1,280,414 and 442,702.

Main repository · PhysInOne total downloads PhysInOne 30d downloads
huggingface.co/datasets/vLAR/PhysInOne
PhysInOneP01 · 4.52 TB · ✅ Complete · PhysInOneP01 total downloads PhysInOneP01 30d downloads
huggingface.co/datasets/PhysInOneP01/PhysInOneP01
PhysInOneP02 · 7.09 TB · ✅ Complete · PhysInOneP02 total downloads PhysInOneP02 30d downloads
huggingface.co/datasets/PhysInOneP02/PhysInOneP02
PhysInOneP03 · 7.59 TB · ✅ Complete · PhysInOneP03 total downloads PhysInOneP03 30d downloads
huggingface.co/datasets/PhysInOneP03/PhysInOneP03
PhysInOneP04 · 7.58 TB · ✅ Complete · PhysInOneP04 total downloads PhysInOneP04 30d downloads
huggingface.co/datasets/PhysInOneP04/PhysInOneP04
PhysInOneP05 · 7.16 TB · ✅ Complete · PhysInOneP05 total downloads PhysInOneP05 30d downloads
huggingface.co/datasets/PhysInOneP05/PhysInOneP05
PhysInOneP06 · 7.19 TB · ✅ Complete · PhysInOneP06 total downloads PhysInOneP06 30d downloads
huggingface.co/datasets/PhysInOneP06/PhysInOneP06
PhysInOneP07 · 7.21 TB · ✅ Complete · PhysInOneP07 total downloads PhysInOneP07 30d downloads
huggingface.co/datasets/PhysInOneP07/PhysInOneP07
PhysInOneP08 · 7.21 TB · ✅ Complete · PhysInOneP08 total downloads PhysInOneP08 30d downloads
huggingface.co/datasets/PhysInOneP08/PhysInOneP08
PhysInOneP09 · 7.20 TB · ✅ Complete · PhysInOneP09 total downloads PhysInOneP09 30d downloads
huggingface.co/datasets/PhysInOneP09/PhysInOneP09
PhysInOneP10 · 7.25 TB · ✅ Complete · PhysInOneP10 total downloads PhysInOneP10 30d downloads
huggingface.co/datasets/PhysInOneP10/PhysInOneP10
PhysInOneP11 · 7.48 TB · ✅ Complete · PhysInOneP11 total downloads PhysInOneP11 30d downloads
huggingface.co/datasets/PhysInOneP11/PhysInOneP11
PhysInOneP12 · 6.68 TB · ✅ Complete · PhysInOneP12 total downloads PhysInOneP12 30d downloads
huggingface.co/datasets/PhysInOneP12/PhysInOneP12
PhysInOneP13 · 6.66 TB · ✅ Complete · PhysInOneP13 total downloads PhysInOneP13 30d downloads
huggingface.co/datasets/PhysInOneP13/PhysInOneP13
PhysInOneP14 · 6.72 TB · ✅ Complete · PhysInOneP14 total downloads PhysInOneP14 30d downloads
huggingface.co/datasets/PhysInOneP14/PhysInOneP14
PhysInOneP15 · 7.93 TB · ✅ Complete · PhysInOneP15 total downloads PhysInOneP15 30d downloads
huggingface.co/datasets/PhysInOneP15/PhysInOneP15
PhysInOneP16 · 1.57 TB · ✅ Complete · PhysInOneP16 total downloads PhysInOneP16 30d downloads
huggingface.co/datasets/PhysInOneP16/PhysInOneP16

Download badges query the official Hugging Face API and update automatically. Counts are repository-level download events, not deduplicated users; accessing multiple shards can produce one event in each shard.

🎞️ Rendered Data

Released Train rendered archives are distributed across the 16 repositories listed above; released Val archives are hosted in the main repository. Dependency-free public tools can filter scenes by split, interaction type, and physical phenomenon, then download the selected archives with resume support and per-file logs.

🧊 3D Assets

The complete public Unreal Engine 5.5.4 asset release includes the project files and Scene/Trajectory resources for 14,847 validation scenes and 120,660 training scenes. See the dedicated guide for download commands, archive layout, extraction, and project setup.

🏆 Leaderboard Evaluation Data

All user-facing evaluation inputs for the four PhysInOne Leaderboard tasks are publicly available; ground-truth targets remain private. See the dedicated guide for task contents, copyable download commands, manifests, output layout, and resume instructions.

🛠️ Data Processing

The public toolkit covers static and moving camera generation, Level Sequence creation, unattended Unreal Engine rendering, EXR conversion, and multi-view point-cloud generation. The guides describe the Unreal Engine 5.5.4 setup, required project assets, commands, outputs, and safety behavior.

💻 Code

PMF Metric

The PMF (Physical Motion Fidelity) evaluates video similarity in the frequency domain using 3D FFT-based energy distributions. It is designed for physics-aware video generation, future prediction, and motion transfer tasks in the PhysInOne benchmark.

Install via pip (Recommended)

# Step 1: Install PyTorch first (choose your variant)
# CPU only:
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cpu
# CUDA 12.6:
pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126

# Step 2: Install pmf from this repo
pip install git+https://github.com/vLAR-group/PhysInOne.git#subdirectory=pmf

Demo

#!/usr/bin/env python
"""Test PMF metric with random tensors."""

import torch
from pmf import compute_pmf

def main():
    torch.manual_seed(42)
    B, T, C, H, W = 1, 81, 3, 128, 128
    video_pred = torch.randn(B, T, C, H, W)
    video_gt = torch.randn(B, T, C, H, W)

    score = compute_pmf(video_pred, video_gt, device='cpu') 
    # If you want to use gpu, set device='cuda'
    # score = compute_pmf(video_pred, video_gt, device='cuda') 
    if isinstance(score, torch.Tensor):
        score = score.item()
        
    print(f"PMF similarity score: {score:.4f}")

if __name__ == "__main__":
    main()

Baselines

Baseline implementations are organized by task under baselines/:

Refer to each task or model's README for environment setup, checkpoint requirements, training (where supported), and inference or evaluation instructions. Available implementations and supported workflows vary by task. Public evaluation inputs and download instructions are available on Hugging Face; benchmark ground-truth targets remain private.

📅 Update Schedule: This section is actively being updated throughout Oct. and Nov.

Citation

If you find this work useful, please cite:

@article{zhou2026physinone,
         title={PhysInOne: Visual Physics Learning and Reasoning in One Suite}, 
         author={Siyuan Zhou and Hejun Wang and Hu Cheng and Jinxi Li and Dongsheng Wang and Junwei Jiang and Yixiao Jin and Jiayue Huang and Shiwei Mao and Shangjia Liu and Yafei Yang and Hongkang Song and Shenxing Wei and Zihui Zhang and Peng Huang and Shijie Liu and Zhengli Hao and Hao Li and Yitian Li and Wenqi Zhou and Zhihan Zhao and Zongqi He and Hongtao Wen and Shouwang Huang and Peng Yun and Bowen Cheng and Pok Kazaf Fu and Wai Kit Lai and Jiahao Chen and Kaiyuan Wang and Zhixuan Sun and Ziqi Li and Haochen Hu and Di Zhang and Chun Ho Yuen and Bing Wang and Zhihua Wang and Chuhang Zou and Bo Yang},
         year={2026},
         journal={CVPR} 
}

License

This project is licensed under the CC BY-NC-SA 4.0 license.

Acknowledgements

We would like to express our sincere gratitude to all contributors who participated in human evaluations and data collection efforts.