vLAR/PhysInOne
PhysInOne: Visual Physics Learning and Reasoning in One Suite vLAR Group | The Hong Kong Polytechnic University | Syai Singapore | Meta CVPR 2026 ๐งญ Navigation ๐ Summary ๐ Release Timetable ๐ฆ Repositories & Downloads ๐ Data Splits ๐งฑ 3D Assets ๐ ๏ธ Data Processing ๐ Leaderboard Evaluation Data ๐๏ธ Rendered Data 1. Download Scripts 2. Install Dependenciesโฆ See the full description on the dataset page: https://huggingface.co/datasets/vLAR/PhysInOne.
<style> .physinone-card { line-height: 1.4; } .physinone-card p { margin-top: 0.35em; margin-bottom: 0.35em; } .physinone-card ul, .physinone-card ol { margin-top: 0.25em; margin-bottom: 0.45em; padding-left: 1.35em; } .physinone-card li { margin-top: 0.12em; margin-bottom: 0.12em; } .physinone-card li p { margin-top: 0.1em; margin-bottom: 0.1em; } .physinone-card h2 { font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em; } .physinone-card h3 { font-size: 1.35em; margin-top: 0.55em; margin-bottom: 0.18em; line-height: 1.2; } .physinone-card h4 { font-size: 1.12em; margin-top: 0.45em; margin-bottom: 0.12em; line-height: 1.18; margin-left: 0; } .physinone-card h5 { font-size: 1.02em; margin-top: 0.45em; margin-bottom: 0.12em; line-height: 1.16; font-weight: 700; } .physinone-card pre { margin-top: 0.1em; } .physinone-card p + pre { margin-top: 0.05em; } .physinone-card table { margin-top: 0.35em; margin-bottom: 0.55em; } .physinone-card table th, .physinone-card table td { padding-top: 0.28em; padding-bottom: 0.28em; }
.physinone-repo-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 8px; margin: 12px 0 8px; } .physinone-repo-card { display: flex; flex-direction: column; min-width: 0; box-sizing: border-box; padding: 9px 10px; overflow: hidden; border: 1px solid rgba(148, 163, 184, 0.28); border-radius: 9px; background: linear-gradient(145deg, rgba(148, 163, 184, 0.07), rgba(148, 163, 184, 0.025)); } .physinone-repo-card-main { grid-column: 1 / -1; background: linear-gradient(135deg, rgba(253, 224, 71, 0.14), rgba(249, 115, 22, 0.055)); border-color: rgba(234, 179, 8, 0.30); } .physinone-repo-card-header, .physinone-repo-card-bottom { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; gap: 5px 7px; } .physinone-repo-card-header { justify-content: space-between; flex-wrap: nowrap; } .physinone-repo-card-header > strong { overflow: hidden; font-size: 13px; line-height: 1.2; text-overflow: ellipsis; white-space: nowrap; } .physinone-repo-card-tags { display: inline-flex; flex: 0 0 auto; align-items: center; margin-left: auto; gap: 3px; } .physinone-repo-split, .physinone-repo-status { padding: 1px 4px; font-size: 7.5px; font-weight: 700; line-height: 1.5; text-transform: uppercase; border-radius: 999px; white-space: nowrap; } .physinone-repo-split { color: #1d4ed8; background: rgba(59, 130, 246, 0.10); border: 1px solid rgba(59, 130, 246, 0.18); } .physinone-repo-status { color: #15803d; background: rgba(34, 197, 94, 0.11); border: 1px solid rgba(34, 197, 94, 0.18); } .physinone-repo-card-main .physinone-repo-status { color: #a16207; background: rgba(234, 179, 8, 0.12); border-color: rgba(234, 179, 8, 0.22); } .physinone-repo-card-bottom { margin-top: 6px; } .physinone-repo-size { flex: 0 0 auto; color: #d32f2f; font-size: 12px; line-height: 18px; white-space: nowrap; } .physinone-repo-downloads { display: flex; flex-wrap: wrap; align-items: center; min-width: 0; margin-left: auto; gap: 4px; } .physinone-repo-downloads a { display: inline-flex; max-width: 100%; } .physinone-repo-downloads img { display: block; max-width: 100%; height: 18px; } .physinone-repo-link { display: inline-flex; flex: 0 0 auto; align-items: center; margin-left: 0; padding: 1px 4px; font-size: 8.5px; font-weight: 700; line-height: 1.35; text-decoration: none; white-space: nowrap; background: rgba(59, 130, 246, 0.08); border: 1px solid rgba(59, 130, 246, 0.15); border-radius: 6px; }
@media (max-width: 900px) { .physinone-card { display: block !important; } .physinone-card aside { width: auto !important; min-width: 0 !important; max-width: none !important; position: static !important; margin-bottom: 20px; box-sizing: border-box; } .physinone-card main { width: 100% !important; min-width: 0 !important; box-sizing: border-box; } .physinone-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .physinone-summary-grid { grid-template-columns: 1fr !important; } }
</style>
<h1 align="center" style="font-size: 42px;">PhysInOne: Visual Physics Learning and Reasoning in One Suite</h1>
<p align="center"> vLAR Group | The Hong Kong Polytechnic University | Syai Singapore | Meta </p>
<p align="center"> <strong>CVPR 2026</strong> </p>
<p align="center"> <a href="https://vlar-group.github.io/PhysInOne.html"> <img src="https://img.shields.io/badge/Project-Page-purple"> </a> <a href="https://arxiv.org/abs/2604.09415"> <img src="https://img.shields.io/badge/Paper-ArXiv-red"> </a> <a href="https://github.com/vLAR-group/PhysInOne"> <img src="https://img.shields.io/badge/Code-GitHub-black"> </a> <a href="https://huggingface.co/datasets/vLAR/PhysInOne"> <img src="https://img.shields.io/badge/Dataset-HuggingFace-yellow"> </a> <a href="https://huggingface.co/datasets/vLAR/PhysInOne"> <img src="https://img.shields.io/badge/All%20repo%20downloads-1%2C280%2C414-FFD21E?logo=huggingface" alt="All PhysInOne repositories: 1,280,414 historical downloads (snapshot Oct 1, 2026)"> </a> <a href="https://huggingface.co/datasets/vLAR/PhysInOne/tree/main/Leaderboard"> <img src="https://img.shields.io/badge/Leaderboard-Data_Released-brightgreen"> </a> </p>
<div class="physinone-card" style="display: flex; flex-wrap: wrap; align-items: flex-start; gap: 20px;">
<aside class="physinone-sidebar" style="flex: 0 1 250px; width: 250px; max-width: 100%; box-sizing: border-box; position: sticky; top: 16px; padding: 16px; border: 1px solid rgba(148, 163, 184, 0.28); border-radius: 12px; background: rgba(148, 163, 184, 0.12); font-size: 13.5px; line-height: 1.55;"> <strong>๐งญ Navigation</strong><br><br> <a href="#summary">๐ Summary</a><br> <a href="#release-timetable">๐ Release Timetable</a><br> <a href="#dataset-repositories">๐ฆ Repositories & Downloads</a><br> <a href="#data-splits">๐ Data Splits</a><br> <a href="#three-d-assets">๐งฑ 3D Assets</a><br> <a href="#data-processing">๐ ๏ธ Data Processing</a><br> <a href="#leaderboard-evaluation-data">๐ Leaderboard Evaluation Data</a><br> <a href="#rendered-data">๐๏ธ Rendered Data</a><br> <a href="#download-scripts">1. Download Scripts</a><br> <a href="#install-dependencies">2. Install Dependencies</a><br> <a href="#filter-cases">3. Filter Cases</a><br> <a href="#filter-by-split">3.1 Split</a><br> <a href="#filter-by-split-and-activity">3.2 Split + Activity</a><br> <a href="#filter-by-phenomenon">3.3 Phenomenon</a><br> <a href="#random-sampling">3.4 Random Sampling</a><br> <a href="#download-selected-cases">4. Download Cases</a><br> <a href="#dataset-structure">๐ฆ Dataset Structure</a><br> <a href="#annotation-details">๐ Annotation Details</a><br> โข <a href="#depth">Depth</a><br> โข <a href="#segmentation">Segmentation</a><br> โข <a href="#captions">Captions</a><br> โข <a href="#trajectories">Trajectories</a><br> โฆ <a href="#trajectory-json-file-structure">JSON file structure</a><br> โฆ <a href="#trajectory-actor-level-pose-storage">Actor-level pose storage</a><br> โฆ <a href="#trajectory-pose-entry-format">Pose entry format</a><br> โข <a href="#cameras">Cameras</a><br> โฆ <a href="#camera-json-structure">Camera JSON structure</a><br> โฆ <a href="#dynamic-camera-behavior">Dynamic camera behavior</a><br> โข <a href="#point-clouds">Point Clouds</a><br> <a href="#data-fields">๐งฉ Data Fields</a><br> โข <a href="#physical-phenomena">Physical Phenomena</a><br> <a href="#license">๐ License</a><br> <a href="#citation">๐ Citation</a><br> <a href="#contact">๐ฎ Contact</a><br> </aside>
<main class="physinone-main" style="flex: 1 1 500px; min-width: min(100%, 500px); line-height: 1.38; font-size: 15px;">
<h2 id="summary" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ Summary</h2> <div style="margin-left: 24px; text-align: justify;">
<strong>PhysInOne</strong> is a large-scale synthetic dataset for visual physics learning and reasoning, containing <strong>153,810 dynamic 3D scenes</strong> and <strong>2 million annotated videos</strong> across <strong>71 physical phenomena</strong> in mechanics, optics, fluid dynamics, and magnetism. Each scene features complex multi-object and multi-physics interactions with rich annotations, including RGB videos, depth maps, object masks, 3D trajectories, camera poses, object meshes, material properties, and textual descriptions. The dataset supports research on physics-aware video generation, future frame prediction, physical property estimation, motion transfer, physical reasoning, and world models.
<div class="physinone-summary-grid" style="display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 18px 0;">
<div style="padding: 12px; border: 1px solid rgba(148, 163, 184, 0.28); border-radius: 10px; background: rgba(148, 163, 184, 0.12);"> <strong>153,810</strong><br> <span style="font-size: 13px;">Dynamic 3D scenes</span> </div>
<div style="padding: 12px; border: 1px solid rgba(148, 163, 184, 0.28); border-radius: 10px; background: rgba(148, 163, 184, 0.12);"> <strong>2M</strong><br> <span style="font-size: 13px;">Annotated videos</span> </div>
<div style="padding: 12px; border: 1px solid rgba(148, 163, 184, 0.28); border-radius: 10px; background: rgba(148, 163, 184, 0.12);"> <strong>71</strong><br> <span style="font-size: 13px;">Physical phenomena</span> </div>
<div style="padding: 12px; border: 1px solid rgba(148, 163, 184, 0.28); border-radius: 10px; background: rgba(148, 163, 184, 0.12);"> <strong>4</strong><br> <span style="font-size: 13px;">Physics domains</span> </div>
</div>
</div>
<h2 id="release-timetable" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ Release Timetable</h2> <div style="margin-left: 24px;">
<h3 id="dataset-repositories" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2;">๐ฆ Dataset Repositories & Downloads</h3>
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.
<div class="physinone-repo-grid">
<div class="physinone-repo-card physinone-repo-card-main"> <div class="physinone-repo-card-header"><strong>Main repository</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-status">Main</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/vLAR/PhysInOne" aria-label="Open main repository">Open โ</a></div> <div class="physinone-repo-card-bottom"><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/vLAR/PhysInOne"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FvLAR%2FPhysInOne%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOne total downloads"></a> <a href="https://huggingface.co/datasets/vLAR/PhysInOne"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FvLAR%2FPhysInOne%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOne 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP01</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 01/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP01/PhysInOneP01" aria-label="Open PhysInOneP01">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">4.52 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP01/PhysInOneP01"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP01%2FPhysInOneP01%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP01 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP01/PhysInOneP01"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP01%2FPhysInOneP01%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP01 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP02</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 02/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP02/PhysInOneP02" aria-label="Open PhysInOneP02">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.09 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP02/PhysInOneP02"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP02%2FPhysInOneP02%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP02 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP02/PhysInOneP02"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP02%2FPhysInOneP02%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP02 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP03</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 03/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP03/PhysInOneP03" aria-label="Open PhysInOneP03">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.59 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP03/PhysInOneP03"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP03%2FPhysInOneP03%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP03 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP03/PhysInOneP03"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP03%2FPhysInOneP03%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP03 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP04</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 04/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP04/PhysInOneP04" aria-label="Open PhysInOneP04">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.58 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP04/PhysInOneP04"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP04%2FPhysInOneP04%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP04 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP04/PhysInOneP04"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP04%2FPhysInOneP04%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP04 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP05</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 05/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP05/PhysInOneP05" aria-label="Open PhysInOneP05">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.16 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP05/PhysInOneP05"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP05%2FPhysInOneP05%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP05 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP05/PhysInOneP05"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP05%2FPhysInOneP05%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP05 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP06</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 06/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP06/PhysInOneP06" aria-label="Open PhysInOneP06">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.19 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP06/PhysInOneP06"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP06%2FPhysInOneP06%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP06 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP06/PhysInOneP06"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP06%2FPhysInOneP06%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP06 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP07</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 07/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP07/PhysInOneP07" aria-label="Open PhysInOneP07">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.21 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP07/PhysInOneP07"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP07%2FPhysInOneP07%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP07 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP07/PhysInOneP07"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP07%2FPhysInOneP07%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP07 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP08</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 08/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP08/PhysInOneP08" aria-label="Open PhysInOneP08">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.21 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP08/PhysInOneP08"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP08%2FPhysInOneP08%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP08 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP08/PhysInOneP08"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP08%2FPhysInOneP08%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP08 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP09</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 09/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP09/PhysInOneP09" aria-label="Open PhysInOneP09">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.20 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP09/PhysInOneP09"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP09%2FPhysInOneP09%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP09 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP09/PhysInOneP09"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP09%2FPhysInOneP09%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP09 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP10</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 10/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP10/PhysInOneP10" aria-label="Open PhysInOneP10">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.25 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP10/PhysInOneP10"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP10%2FPhysInOneP10%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP10 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP10/PhysInOneP10"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP10%2FPhysInOneP10%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP10 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP11</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 11/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP11/PhysInOneP11" aria-label="Open PhysInOneP11">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.48 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP11/PhysInOneP11"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP11%2FPhysInOneP11%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP11 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP11/PhysInOneP11"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP11%2FPhysInOneP11%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP11 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP12</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 12/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP12/PhysInOneP12" aria-label="Open PhysInOneP12">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">6.68 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP12/PhysInOneP12"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP12%2FPhysInOneP12%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP12 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP12/PhysInOneP12"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP12%2FPhysInOneP12%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP12 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP13</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 13/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP13/PhysInOneP13" aria-label="Open PhysInOneP13">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">6.66 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP13/PhysInOneP13"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP13%2FPhysInOneP13%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP13 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP13/PhysInOneP13"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP13%2FPhysInOneP13%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP13 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP14</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 14/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP14/PhysInOneP14" aria-label="Open PhysInOneP14">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">6.72 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP14/PhysInOneP14"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP14%2FPhysInOneP14%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP14 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP14/PhysInOneP14"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP14%2FPhysInOneP14%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP14 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP15</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 15/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP15/PhysInOneP15" aria-label="Open PhysInOneP15">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">7.93 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP15/PhysInOneP15"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP15%2FPhysInOneP15%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP15 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP15/PhysInOneP15"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP15%2FPhysInOneP15%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP15 30d downloads"></a></div></div> </div>
<div class="physinone-repo-card"> <div class="physinone-repo-card-header"><strong>PhysInOneP16</strong><span class="physinone-repo-card-tags"><span class="physinone-repo-split">Train ยท 16/16</span><span class="physinone-repo-status">Complete</span></span><a class="physinone-repo-link" href="https://huggingface.co/datasets/PhysInOneP16/PhysInOneP16" aria-label="Open PhysInOneP16">Open โ</a></div> <div class="physinone-repo-card-bottom"><strong class="physinone-repo-size">1.57 TB</strong><div class="physinone-repo-downloads"><a href="https://huggingface.co/datasets/PhysInOneP16/PhysInOneP16"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP16%2FPhysInOneP16%3Fexpand%3DdownloadsAllTime&query=%24.downloadsAllTime&label=total&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP16 total downloads"></a> <a href="https://huggingface.co/datasets/PhysInOneP16/PhysInOneP16"><img src="https://img.shields.io/badge/dynamic/json?url=https%3A%2F%2Fhuggingface.co%2Fapi%2Fdatasets%2FPhysInOneP16%2FPhysInOneP16%3Fexpand%3Ddownloads&query=%24.downloads&label=30d&logo=huggingface&color=FFD21E&cacheSeconds=3600" alt="PhysInOneP16 30d downloads"></a></div></div> </div>
</div>
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.
For large-scale rendered-data downloading and filtering, please refer to the Rendered Data section below.
</div>
<h2 id="data-splits" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ Data Splits</h2> <div style="margin-left: 24px; text-align: justify;">
PhysInOne is divided into <strong>Train, Val, and Test</strong> splits, containing 122,988, 15,411, and 15,411 scenes, respectively. The three splits are generated with <strong>completely distinct 3D meshes and backgrounds</strong>, ensuring that no scene or visual content is shared across splits. This separation provides a robust benchmark for evaluating generalization and physical reasoning.
</div>
<h2 id="three-d-assets" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐งฑ 3D Assets</h2> <div style="margin-left: 24px; text-align: justify;">
The planned public 3D asset release is now <strong>100% complete</strong>. It contains shared Unreal Engine 5.5.4 project files, Scene and Trajectory resources for <strong>14,847 validation scenes and 120,660 training scenes</strong>, six validation resource archives, and seven training resource archives. The maintained download contains <strong>4,585 files</strong>, including <strong>285 ZIP archives</strong>, totaling approximately <strong>139.67 GiB</strong>. The 273 validation origins reserved for the Motion Transfer test set are intentionally excluded to prevent evaluation leakage.
The Scene and Trajectory archives remain separate. Their ZIP members begin with <code>Train/</code> or <code>Val/</code>; extracting each archive into its current parent produces <code>Content/PhysInOne/Scenes/{Train,Val}/</code> and <code>Content/PhysInOne/Trajectories/{Train,Val}/</code> without collisions.
The Train Scene and Trajectory series each span batches <code>0000โ0120</code>; the Val series each span batches <code>0000โ0014</code>. The final Train batch contains 660 scenes, and the final Val batch contains 847 scenes.
- Browse the `PhysicBenchmark` project
- Download and setup guide
- Automated downloader
- Exact current release list
Install <strong>Unreal Engine 5.5.4</strong>. Windows is recommended for the simplest setup; Linux is also supported with additional platform configuration. The dependency-free GitHub downloader retrieves and assembles the complete release, safely extracts all 285 ZIP files into their correct parent directories, preserves the Unreal Engine package hierarchy, supports interrupted-run recovery, and records detailed logs.
git clone https://github.com/vLAR-group/PhysInOne.git
cd PhysInOne
python scripts/download_data.py --task 3d-assets --output-dir ./PhysInOne_dataAfter download and extraction, open:
PhysInOne_data/assets/PhysicBenchmark/PhysInOne.uprojectDo not rename or flatten directories such as Content/PhysInOne/, Content/__ExternalActors__/, or Content/__ExternalObjects__/; Unreal Engine asset references depend on the exact project-relative structure. See the full setup guide for manual extraction paths, disk-space guidance, resume behavior, and troubleshooting.
</div>
<h2 id="data-processing" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ ๏ธ Data Processing</h2> <div style="margin-left: 24px; text-align: justify;">
The public data-processing toolkit is released as ordinary source files rather than a ZIP archive. It covers static-camera placement, moving-camera and Level Sequence generation, unattended Unreal Engine rendering, EXR conversion, and multi-view point-cloud generation.
- Browse the source code
- Quick-start README
- Complete camera and rendering guide
- Movie Render Queue configuration assets
The source directory contains the camera tools, Windows headless-render launcher, post-processing modules, dependency list, examples, and illustrated documentation. Install the post-processing dependencies with:
python -m pip install -r requirements-render.txtThe ten supplied Unreal configuration assets must remain under PhysicBenchmark/Content/PhysInOne/Scripts/, which Unreal Engine exposes as /Game/PhysInOne/Scripts/. The rendering configuration refers to that virtual path directly. The tools require no Hugging Face account or access token.
</div>
<h2 id="leaderboard-evaluation-data" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ Leaderboard Evaluation Data</h2> <div style="margin-left: 24px; text-align: justify;">
All user-facing evaluation inputs required for the four PhysInOne Leaderboard tasks have been released. Ground-truth targets remain private and are not included in the public release. Exact task-specific file lists and a resumable Python downloader allow users to download one task, multiple tasks, or individual scenes without scanning unrelated dataset shards.
Clone the GitHub repository once. The public downloader uses only the Python standard library and reads its maintained manifests locally:
git clone https://github.com/vLAR-group/PhysInOne.git
cd PhysInOneInteractive downloads show one live progress bar with file count, transferred and estimated total size, current speed, and ETA. Redirected output uses periodic plain-text snapshots, while full per-file details remain in _download_logs/.
Each row is a complete command that can be copied directly. The remote Leaderboard folder names remain unchanged, while the downloader creates space-free local task directories.
Downloads are resumable, and every run records successes and failures for review. No Hugging Face account, access token, or Python package installation is required.
See the complete GitHub download guide, download script, and bundled manifests. The Hugging Face utility guide documents the same dependency-free interface.
</div>
<h2 id="rendered-data" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐๏ธ Rendered Data</h2>
<h3 id="download-scripts" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 24px;">1. Download Scripts</h3>
<div style="margin-left: 40px; text-align: justify;">
Please download the `Utils` folder from the main dataset repository. Its public scripts mirror the GitHub scripts/ tree:
Utils/
|-- metadata/
| |-- repo_assignment.txt
| +-- repo_map.json
|-- 3d_assets_lists/
|-- leaderboard_lists/
|-- 3D_ASSETS_DOWNLOAD.md
|-- LEADERBOARD_DOWNLOAD.md
+-- scripts/
|-- download_data.py
|-- download_selected.py
|-- filter_cases.py
+-- download_lists/
|-- video_generation.txt
|-- future_prediction.txt
|-- physical_properties_estimation.txt
|-- motion_transfer.txt
|-- 3d_assets.txt
|-- repo_assignment.txt
+-- repo_map.jsonRun the following commands from inside the downloaded Utils/ folder:
cd "Utils"PhysInOne is distributed across multiple Hugging Face dataset repositories because of its large scale. We provide utilities for selecting and downloading full-dataset cases and Leaderboard evaluation data:
download_data.py: downloads all four Leaderboard tasks and assembles the currently released Unreal Engine project subset.filter_cases.py: exports selected full-dataset cases to JSON.download_selected.py: downloads selected scene ZIPs from the corresponding public shards.download_lists/: contains the exact manifests used by all three scripts.
</div>
<h3 id="install-dependencies" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 24px;">2. Requirements</h3>
<div style="margin-left: 40px;">
Python 3.9 or newer is recommended. The download utilities use only the Python standard library and anonymous HTTPS requests; no package installation or authentication is required.
</div>
<h3 id="filter-cases" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 24px;">3. Filter Cases</h3>
<div style="margin-left: 40px; text-align: justify;">
Export a JSON file containing case information matching your filter criteria, for use in subsequent download scripts. The filter_cases.py script supports selection by:
- Split:
train,val,test - Activity complexity:
single,double,triple - Physical phenomenon abbreviation:
MovingHitsFixed,FrictionStop,LiquidTension, ...,GranularFall - Number of cases: globally sample
numcases after filtering
The following examples show common filtering workflows.
</div>
<h4 id="filter-by-split" style="font-size: 1.12em; margin-top: 0.55em; margin-bottom: 0.14em; line-height: 1.18; margin-left: 48px;">3.1 Filter by split</h4>
<div style="margin-left: 64px;">
python scripts/filter_cases.py \
--split train \
--output selected_cases.json</div>
<h4 id="filter-by-split-and-activity" style="font-size: 1.12em; margin-top: 0.55em; margin-bottom: 0.14em; line-height: 1.18; margin-left: 48px;">3.2 Filter by split and activity complexity</h4>
<div style="margin-left: 64px;">
python scripts/filter_cases.py \
--split train \
--activity_type double \
--output selected_cases.json</div>
<h4 id="filter-by-phenomenon" style="font-size: 1.12em; margin-top: 0.55em; margin-bottom: 0.14em; line-height: 1.18; margin-left: 48px;">3.3 Filter by physical phenomenon abbreviation</h4>
<div style="margin-left: 64px; text-align: justify;">
By default, phenomenon matching uses contains mode. For example, the following command selects all double-physics cases that contain FrictionStop(For all physical phenomena and their abbreviations, please refer to theย Data Fieldsย section below.):
python scripts/filter_cases.py \
--split train \
--activity_type double \
--phenomena FrictionStop \
--match_mode contains \
--output selected_cases.jsonFor exact matching, use --match_mode exact. Order does not matter. For example, this command selects cases whose phenomenon set is exactly {AccelConcaveSpin, AccelSurfaceSpin}:
python scripts/filter_cases.py \
--split train \
--activity_type double \
--phenomena AccelConcaveSpin AccelSurfaceSpin \
--match_mode exact \
--output selected_cases.json</div>
<h4 id="random-sampling" style="font-size: 1.12em; margin-top: 0.55em; margin-bottom: 0.14em; line-height: 1.18; margin-left: 48px;">3.4 Randomly sample a fixed number of cases</h4>
<div style="margin-left: 64px; text-align: justify;">
--num is the global number of cases sampled after filtering (This is because the number of cases meeting the filtering criteria may be much larger than the number you need.). The default random seed is 42.
python scripts/filter_cases.py \
--split train \
--activity_type double \
--phenomena FrictionStop \
--num 3000 \
--seed 42 \
--output selected_cases.json</div>
<h3 id="download-selected-cases" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 24px;">4. Download Selected Cases</h3>
<div style="margin-left: 40px; text-align: justify;">
Each selected case is downloaded as a zip file from the corresponding Hugging Face shard repository.
python scripts/download_selected.py \
--selection selected_cases.json \
--output_dir ./PhysInOneBy default, downloaded zip files are saved into a flat output folder. To preserve shard/split/activity structure:
python scripts/download_selected.py \
--selection selected_cases.json \
--output_dir ./PhysInOne \
--keep_shard_structureThe preserved structure is:
PhysInOne/
physinone_part1/
Train/
DoublePhysics/
AccelConcaveSpin_AccelSurfaceSpin__bg070__K5ER39_trajectory.zip</div>
<h2 id="dataset-structure" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ฆ Dataset Structure</h2> <div style="margin-left: 24px;">
AccelConcaveSpin__bg010__m3Zrtz_trajectory/
โโโ AccelConcaveSpin__bg010__m3Zrtz_trajectory.json
โโโ blender_CineCamera_0.json
โโโ blender_CineCamera_1.json
โโโ blender_CineCamera_2.json
โโโ blender_CineCamera_3.json
โโโ blender_CineCamera_5.json
โโโ blender_CineCamera_6.json
โโโ blender_CineCamera_7.json
โโโ blender_CineCamera_8.json
โโโ blender_CineCamera_9.json
โโโ blender_CineCamera_10.json
โโโ blender_CineCamera_11.json
โโโ blender_CineCamera_12.json
โโโ blender_CineCamera_Moving.json
โโโ cameras.ply
โโโ caption.txt
โโโ points3d.ply
โโโ recorder_stats.json
โโโ static_camera_list.txt
โโโ CineCamera_0/
โ โโโ depth/ (0000.npz ~ 0089.npz, 90 files)
โ โโโ rgb/ (0000.jpg ~ 0089.jpg, 90 files)
โ โโโ seg/ (0000.npz ~ 0089.npz, 90 files)
โโโ CineCamera_1/
โ ...
โโโ CineCamera_2/
โ ...
โโโ CineCamera_3/
โ ...
โโโ CineCamera_5/
โ ...
โโโ CineCamera_6/
โ ...
โโโ CineCamera_7/
โ ...
โโโ CineCamera_8/
โ ...
โโโ CineCamera_9/
โ ...
โโโ CineCamera_10/
โ ...
โโโ CineCamera_11/
โ ...
โโโ CineCamera_12/
โ ...
โโโ CineCamera_Moving/
โโโ depth/ (0000.npz ~ 0089.npz, 90 files)
โโโ rgb/ (0000.jpg ~ 0089.jpg, 90 files)
โโโ seg/ (0000.npz ~ 0089.npz, 90 files)</div>
<h2 id="annotation-details" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ Annotation Details</h2> <div style="margin-left: 24px; text-align: justify;">
PhysInOne provides synchronized visual and physical annotations for each dynamic 3D scene.
<h3 id="depth" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 0;"><span style="display: inline-block; width: 1.08em;">โข</span>Depth</h3> <div style="margin-left: 16px;">
Depth maps are provided in .npz format and are expressed in meters.
</div>
<h3 id="segmentation" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 0;"><span style="display: inline-block; width: 1.08em;">โข</span>Segmentation</h3> <div style="margin-left: 16px;">
Segmentation masks encode background, static foreground objects, and dynamic foreground objects.
Expected encoding:
</div>
<h3 id="captions" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 0;"><span style="display: inline-block; width: 1.08em;">โข</span>Captions</h3> <div style="margin-left: 16px;">
Each scene includes a caption.txt file containing an English paragraph that describes the visual elements and the physical activity.
</div>
<h3 id="trajectories" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 0;"><span style="display: inline-block; width: 1.08em;">โข</span>Trajectories</h3> <div style="margin-left: 16px;">
Each sequence includes a JSON file with the same name as the sequence. This file records the per-frame poses of selected dynamic objects, including their rotations and translations in the world coordinate system.
<details> <summary id="trajectory-json-file-structure"><strong>JSON file structure</strong></summary>
The JSON file contains two main parts:
sequence_info: basic information about the sequence, such as the total number of frames and the frame rate (fps).actors: pose and metadata for dynamic objects, including object category, asset index path, actor type, and transformation data.
</details>
<details> <summary id="trajectory-actor-level-pose-storage"><strong>Actor-level pose storage</strong></summary>
For each actor, the storage format depends on its actor_type:
- If
actor_typeissolid, the object is treated as a single rigid body. Its per-frame pose is stored in the actor-leveltransform_datafield, while thecomponentsfield is empty. - If
actor_typeisinteractable, the object is represented by multiple components. The actor-leveltransform_datafield is empty, and the per-component poses are stored undercomponents[component_name].transform_data.
</details>
<details> <summary id="trajectory-pose-entry-format"><strong>Pose entry format in <code>transform_data</code></strong></summary>
Each entry in transform_data describes the pose of the object or component at a specific frame:
frame: frame index in the sequencetime_seconds: timestamp of the frame in secondstransform: object or component transformation, including:location: 3D positionrotation: rotation quaternionscale: 3D scale
</details>
</div>
<h3 id="cameras" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 0;"><span style="display: inline-block; width: 1.08em;">โข</span>Cameras</h3> <div style="margin-left: 16px;">
Each scene includes multiple camera viewpoints to support 3D perception, reconstruction, and physics-based visual reasoning tasks.
- Taichi-based MPM simulations (elastic solids, plasticine, granular substances, some Newtonian and Non-Newtonian fluids): 15 static cameras + 1 dynamic camera
- Other scenes: 12 static cameras + 1 dynamic camera
Note: Camera IDs are not fixed across cases. The camera index mapping for each case is stored in static_camera_list.txt under that case directory.
<details> <summary id="camera-json-structure"><strong>Camera JSON structure</strong></summary>
Per camera:
frames: list of per-frame 4ร4 camera-to-world (C2W) transformation matrices in Blender coordinate systemcamera_angle_x: horizontal field of view (FOV) in radians, can be used to compute intrinsic focal lengthimg_w,img_h: image width and height in pixelstrajectory_name: name of the camera trajectorytotal_frames,fps: number of frames and frames per second
</details>
<details> <summary id="dynamic-camera-behavior"><strong>Dynamic camera behavior</strong></summary>
- The dynamic camera moves along a path randomly sampled on a hemisphere surrounding the center of the main objects, providing diverse viewpoints.
- JSON frame indices correspond directly to video frame indices.
</details>
</div>
<h3 id="point-clouds" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 0;"><span style="display: inline-block; width: 1.08em;">โข</span>Point Clouds</h3> <div style="margin-left: 16px;">
Each scene should include points.ply.
The initial point cloud was obtained by back-projecting the pixels from each camera view in the first frame based on depth, followed by randomly sampling 100,000 points from the resulting data.
</div>
</div>
<h2 id="data-fields" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐งฉ Data Fields</h2> <div style="margin-left: 24px;">
<h3 id="physical-phenomena" style="font-size: 1.35em; margin-top: 0.75em; margin-bottom: 0.22em; line-height: 1.2; margin-left: 0;"><span style="display: inline-block; width: 1.08em;">โข</span>Physical Phenomenon and Abbreviations</h3> <div style="margin-left: 16px; text-align: justify;">
<details> <summary>Click to expand full abbreviation table</summary>
</details>
Example: MovingHitsStationaryWindDeflectMotionBalloonFloat_bg140_TZlWl1
- The first three components correspond to specific physical phenomenon abbreviations (see table above).
bg140indicates that the scene uses background number 140.- The last six-character string (
TZlWl1) is a unique hash code generated for this scene to guarantee uniqueness.
This naming convention allows users to quickly parse scene metadata and link it to the corresponding physical phenomena, background, and unique identifier.
</div>
</div>
<h2 id="license" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ License</h2>
<div style="margin-left: 24px; text-align: justify;">
All 3D assets and materials included in PhysInOne have been sourced from publicly available platforms and verified to carry licenses compatible with non-commercial use. These include:
- SketchFab: assets under various licenses, verified that AI-related usage is allowed.
- Fab: assets under CC BY or Unreal Engine Standard License, explicitly permitting AI-related usage.
- BlenderKit: distributed under Royalty-Free (RF) license.
- ShareTextures: textures under CC0 license.
In total, assets comply with licenses including CC BY-NC, CC BY-SA, CC BY-NC-SA, CC0, CC BY, and RF, ensuring all files can be legally used for building a non-commercial dataset. Users must adhere to the original licenses for any redistribution or derivative work.
</div>
<h2 id="citation" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ Citation</h2>
<div style="margin-left: 24px; text-align: justify;">
If you use PhysInOne in your research, please cite:
@misc{zhou2026physinonevisualphysicslearning,
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},
eprint={2604.09415},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2604.09415},
}</div>
<h2 id="contact" style="margin-left: 0; font-size: 1.9em; line-height: 1.22; margin-top: 1.2em; margin-bottom: 0.5em;">๐ฎ Contact</h2>
<div style="margin-left: 24px; text-align: justify;">
For questions about the dataset, please contact:
- {siyuan.zhou, hejun.wang, hu123.cheng, jinxi.li}@connect.polyu.hk, bo.yang@polyu.edu.hk
</div>
</main> </div>
