Spaces:
Running
on
Zero
Running
on
Zero
| <html> | |
| <head> | |
| <meta charset="utf-8"> | |
| <!-- Meta tags for social media banners, these should be filled in appropriatly as they are your "business card" --> | |
| <!-- Replace the content tag with appropriate information --> | |
| <meta name="description" content="DESCRIPTION META TAG"> | |
| <meta property="og:title" content="SOCIAL MEDIA TITLE TAG" /> | |
| <meta property="og:description" content="SOCIAL MEDIA DESCRIPTION TAG TAG" /> | |
| <meta property="og:url" content="https://cwchenwang.github.io/physctrl" /> | |
| <!-- Path to banner image, should be in the path listed below. Optimal dimenssions are 1200X630--> | |
| <meta property="og:image" content="static/image/your_banner_image.png" /> | |
| <meta property="og:image:width" content="1200" /> | |
| <meta property="og:image:height" content="630" /> | |
| <!-- Keywords for your paper to be indexed by--> | |
| <meta name="keywords" content="Video Model, Physics"> | |
| <meta name="viewport" content="width=device-width, initial-scale=1"> | |
| <title>PhysCtrl</title> | |
| <link rel="icon" type="image/x-icon" href="static/images/favicon.ico"> | |
| <link href="https://fonts.googleapis.com/css?family=Google+Sans|Noto+Sans|Castoro" rel="stylesheet"> | |
| <link rel="stylesheet" href="static/css/bulma.min.css"> | |
| <link rel="stylesheet" href="static/css/bulma-carousel.min.css"> | |
| <link rel="stylesheet" href="static/css/bulma-slider.min.css"> | |
| <link rel="stylesheet" href="static/css/fontawesome.all.min.css"> | |
| <link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/jpswalsh/academicons@1/css/academicons.min.css"> | |
| <link rel="stylesheet" href="static/css/index.css"> | |
| <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script> | |
| <script src="https://documentcloud.adobe.com/view-sdk/main.js"></script> | |
| <script defer src="static/js/fontawesome.all.min.js"></script> | |
| <script src="static/js/bulma-carousel.min.js"></script> | |
| <script src="static/js/bulma-slider.min.js"></script> | |
| <script src="static/js/index.js"></script> | |
| </head> | |
| <body> | |
| <section class="hero"> | |
| <div class="hero-body"> | |
| <div class="container is-max-desktop"> | |
| <div class="columns is-centered" style="margin-bottom: 0em"> | |
| <div class="column is-max-desktop has-text-centered"> | |
| <h1 class="title is-2 publication-title" style="margin-bottom:0rem"> | |
| <strong>PhysCtrl: Generative Physics for Controllable and Physics-Grounded Video Generation </strong> | |
| </h1> | |
| </div> | |
| </div> | |
| <div class="columns is-centered"> | |
| <div class="column is-four-fifths has-text-centered"> | |
| <div class="is-size-5 publication-authors"> | |
| <span class="author-block"> | |
| <a href="https://cwchenwang.github.io/">Chen Wang</a><sup>1*</sup></span> | |
| <span class="author-block"> | |
| <a href="https://czzzzh.github.io/">Chuhao Chen</a><sup>1*</sup> | |
| </span> | |
| <span class="author-block"> | |
| <a href="https://yh2371.github.io/">Yiming Huang</a> | |
| <sup>1</sup> | |
| </span> | |
| <span class="author-block"> | |
| <a href="https://frank-zy-dou.github.io/">Zhiyang Dou</a><sup>1,2</sup> | |
| </span> | |
| <span class="author-block"> | |
| <a href="https://liuyuan-pal.github.io/">Yuan Liu</a><sup>3</sup> | |
| </span> | |
| <span class="author-block"> | |
| <a href="http://jiataogu.me/">Jiatao Gu</a><sup>1</sup> | |
| </span> | |
| <span class="author-block"> | |
| <a href="https://lingjie0206.github.io/">Lingjie Liu</a><sup>1</sup> | |
| </span> | |
| </div> | |
| <div class="is-size-5 publication-authors"> | |
| <span class="author-block"><sup>1</sup>University of Pennsylvania</span> | |
| | |
| <span class="author-block"><sup>2</sup>HKU</span> | |
| | |
| <span class="author-block"><sup>3</sup>HKUST</span> | |
| <br> | |
| <span class="author-block">(*: equal contribution)</span> | |
| <br> | |
| </div> | |
| <br> | |
| <div class="columns is-centered" style="margin-bottom: 0em"> | |
| <div class="column is-max-desktop has-text-centered"> | |
| <h1 class="title is-4 publication-title" style="margin-bottom:0rem"> | |
| <strong>NeurIPS, 2025</strong> | |
| </h1> | |
| </div> | |
| </div> | |
| <div class="column has-text-centered"> | |
| <div class="publication-links"> | |
| <span class="link-block"> | |
| <a href="https://arxiv.org/abs/2509.20358" target="_blank" | |
| class="external-link button is-normal is-rounded is-dark"> | |
| <span class="icon"> | |
| <i class="fas fa-file-pdf"></i> | |
| </span> | |
| <span>Paper</span> | |
| </a> | |
| </span> | |
| <span class="link-block"> | |
| <a href="TODO: demo" target="_blank" class="external-link button is-normal is-rounded is-dark"> | |
| <span class="icon"> | |
| <i class="fas fa-images"></i> | |
| </span> | |
| <span>Demo (Coming)</span> | |
| </a> | |
| </span> | |
| <span class="link-block"> | |
| <a href="https://github.com/cwchenwang/physctrl" | |
| class="external-link button is-normal is-rounded is-dark"> | |
| <span class="icon"> | |
| <i class="fab fa-github"></i> | |
| </span> | |
| <span>Code</span> | |
| </a> | |
| </span> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="hero is-small" style="margin-top: -5em;"> | |
| <div class="hero-body"> | |
| <div class="container"> | |
| <div id="results-carousel" class="carousel results-carousel"> | |
| <div class="item"> | |
| <video poster="" autoplay muted loop playsinline height="80%"> | |
| <source src="static/videos/spot_cat.mp4" type="video/mp4"> | |
| </video> | |
| </div> | |
| <div class="item"> | |
| <video poster="" autoplay muted loop playsinline height="100%"> | |
| <source src="static/videos/earphone_cat.mp4" type="video/mp4"> | |
| </video> | |
| </div> | |
| <div class="item"> | |
| <video poster="" autoplay muted loop playsinline height="100%"> | |
| <source src="static/videos/giraffe_cat.mp4" type="video/mp4"> | |
| </video> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| <h2 class="subtitle has-text-centered" style="margin-top: -1em; margin-bottom: 1em;"> | |
| PhysCtrl achieves controllable and physics-grounded video generation from an initial force. | |
| </h2> | |
| </section> | |
| <!-- Paper abstract --> | |
| <section class="section hero is-light"> | |
| <div class="container is-max-desktop"> | |
| <div class="columns is-centered has-text-centered"> | |
| <div class="column is-four-fifths"> | |
| <h2 class="title is-3">Abstract</h2> | |
| <div class="content has-text-justified"> | |
| <p> | |
| Existing video generation models excel at producing photo-realistic videos from text or images, but often | |
| lack physical plausibility and 3D controllability. To overcome these limitations, we introduce PhysCtrl, a | |
| novel framework for physics-grounded image-to-video generation with physical parameters and force control. | |
| At its core is a generative physics network that learns the distribution of physical dynamics across four | |
| materials (elastic, sand, plasticine, and rigid) via a diffusion model conditioned on physics parameters | |
| and applied forces. We represent physical dynamics as 3D point trajectories and train on a large-scale | |
| synthetic dataset of 550K animations generated by physics simulators. We enhance the diffusion model with | |
| a novel spatiotemporal attention block that emulates particle interactions and incorporates physics-based | |
| constraints during training to enforce physical plausibility. Experiments show that PhysCtrl generates | |
| realistic, physics-grounded motion trajectories which, when used to drive image-to-video models, yield | |
| high-fidelity, controllable videos that outperform existing methods in both visual quality and physical | |
| plausibility. | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!-- End paper abstract --> | |
| <section class="hero teaser" style="padding-top: 2em;"> | |
| <div class="container is-max-desktop"> | |
| <div class="columns is-centered has-text-centered"> | |
| <div class="column"> | |
| <h2 class="title is-3">Pipeline</h2> | |
| <img src="static/images/pipeline.png" alt="Teaser image" class="teaser-image"> | |
| <div class="content has-text-justified"> | |
| <p> | |
| Given a single image, we lift the object in that image into 3D points. We train a diffusion-based | |
| trajectory | |
| generation model conditioned on physics parameters and external force for motion generation, which are | |
| then | |
| used as strong physics-grounded guidance for image-to-video generation. | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="hero teaser" style="padding-top: 2em;"> | |
| <div class="container is-max-desktop"> | |
| <div class="columns is-centered has-text-centered"> | |
| <div class="column"> | |
| <h2 class="title is-4">Force Control</h2> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="./static/videos/f16.mp4" type="video/mp4"> | |
| </video> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="./static/videos/hat.mp4" type="video/mp4"> | |
| </video> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="hero teaser" style="padding-top: 2em;"> | |
| <div class="container is-max-desktop"> | |
| <div class="columns is-centered has-text-centered"> | |
| <div class="column"> | |
| <h2 class="title is-4">Material Control</h2> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="./static/videos/giraffeX.mp4" type="video/mp4"> | |
| </video> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="./static/videos/cat.mp4" type="video/mp4"> | |
| </video> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <section class="hero teaser" style="padding-top: 2em;"> | |
| <div class="container is-max-desktop"> | |
| <div class="columns is-centered"> | |
| <div class="column"> | |
| <h2 class="title is-4 has-text-centered">Comparison</h2> | |
| <div class="comparison-question"> | |
| <div class="comparison-question-header"> | |
| <img src="static/imgs/earphone.png" class="comparison-question-image"> | |
| <div class="comparison-question-description"> | |
| A pair of wireless headphones rests on a white table before lifting into the air, as if there is an | |
| invisble force applied to its handle. | |
| </div> | |
| </div> | |
| <div class="comparison-options"> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/objctrl/earphone.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">ObjCtrl</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/draganything/earphone.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">DragAnything</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/cogvideo/earphone.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">CogVideo</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/wan/earphone.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">Wan2.2</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/ours/earphone.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">Ours</div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="comparison-question"> | |
| <div class="comparison-question-header"> | |
| <img src="static/imgs/nailong.png" class="comparison-question-image"> | |
| <div class="comparison-question-description"> | |
| A yellow plasticine dinasour toy free falls to the ground due to gravity. It has no deformation before | |
| it touches the ground. After it touches the ground, it deforms. | |
| </div> | |
| </div> | |
| <div class="comparison-options"> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/objctrl/nailong.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">ObjCtrl</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/draganything/nailong.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">DragAnything</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/cogvideo/nailong.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">CogVideo</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/wan/nailong.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">Wan2.2</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/ours/nailong.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">Ours</div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="comparison-question"> | |
| <div class="comparison-question-header"> | |
| <img src="static/imgs/penguin.png" class="comparison-question-image"> | |
| <div class="comparison-question-description"> | |
| the penguin is fully lifted upwards and float into the air with a natural motion, as if there is a force | |
| applied onto its left wing. No webbed feet, realistic claws and flippers. | |
| </div> | |
| </div> | |
| <div class="comparison-options"> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/objctrl/penguin.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">ObjCtrl</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/draganything/penguin.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">DragAnything</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/cogvideo/penguin.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">CogVideo</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/wan/penguin.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">Wan2.2</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/ours/penguin.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">Ours</div> | |
| </div> | |
| </div> | |
| </div> | |
| <div class="comparison-question"> | |
| <div class="comparison-question-header"> | |
| <img src="static/imgs/tube.png" class="comparison-question-image"> | |
| <div class="comparison-question-description"> | |
| A black cylindrical pipe lies on a wooden surface before rising and bending at a sharp angle. The | |
| transformation is smooth and fluid, as if an invisible upward force is applied in the middle of the | |
| pipe. | |
| </div> | |
| </div> | |
| <div class="comparison-options"> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/objctrl/tube.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">ObjCtrl</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/draganything/tube.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">DragAnything</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/cogvideo/tube.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">CogVideo</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/wan/tube.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">Wan2.2</div> | |
| </div> | |
| <div class="comparison-option"> | |
| <video preload="auto" autoplay muted loop playsinline> | |
| <source src="static/videos/ours/tube.mp4" type="video/mp4"> | |
| </video> | |
| <div class="comparison-option-number">Ours</div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </section> | |
| <!--BibTex citation --> | |
| <section class="section" id="BibTeX"> | |
| <div class="container is-max-desktop content"> | |
| <h2 class="title">BibTeX</h2> | |
| <pre><code> | |
| @inproceedings{physctrl2025, | |
| Author = {Chen Wang* and Chuhao Chen* and Yiming Huang and Zhiyang Dou and Yuan Liu and Jiatao Gu and Lingjie Liu}, | |
| Title = {PhysCtrl: Generative Physics for Controllable and Physics-Grounded Video Generation}, | |
| Year = {2025}, | |
| booktitle={NeurIPS}, | |
| } | |
| </code></pre> | |
| </div> | |
| </section> | |
| <!--End BibTex citation --> | |
| <!--BibTex citation --> | |
| <section class="section" id="clustrmap"> | |
| <div class="container is-max-desktop content" style="max-width: 15%"> | |
| <script type="text/javascript" id="mapmyvisitors" | |
| src="//mapmyvisitors.com/map.js?d=H_yWH88OfciAK0oL6NoySoCvT-dlKgbrOSMCSe3a0ms&cl=ffffff&w=a"></script> | |
| </div> | |
| </section> | |
| <footer class="footer"> | |
| <div class="container"> | |
| <div class="columns is-centered"> | |
| <div class="column is-8"> | |
| <div class="content"> | |
| <p> | |
| This page was built using the <a href="https://github.com/eliahuhorwitz/Academic-project-page-template" | |
| target="_blank">Academic Project Page Template</a> which was adopted from the <a | |
| href="https://nerfies.github.io" target="_blank">Nerfies</a> project page. | |
| You are free to borrow the source code of this website, we just ask that you link back to this page in the | |
| footer. <br> This website is licensed under a <a rel="license" | |
| href="http://creativecommons.org/licenses/by-sa/4.0/" target="_blank">Creative | |
| Commons Attribution-ShareAlike 4.0 International License</a>. | |
| </p> | |
| </div> | |
| </div> | |
| </div> | |
| </div> | |
| </footer> | |
| <!-- Statcounter tracking code --> | |
| <!-- You can add a tracker to track page visits by creating an account at statcounter.com --> | |
| <!-- End of Statcounter Code --> | |
| </body> | |
| </html> |