Jianghanxiao/PhysTwin
[ICCV 2025] PhysTwin: Physics-Informed Reconstruction and Simulation of Deformable Objects from Videos
PhysTwin – 비디오로부터 변형 가능한 객체의 물리 정보 기반 재구성 및 시뮬레이션
개요
- 부드러운 또는 변형 가능한 객체(천, 로프, 인형 등)의 RGB-D 비디오를 입력받아 시뮬레이션 및 상호작용이 가능한 물리 기반 모델인 디지털 트윈을 구축하는 오픈 소스 연구 프레임워크입니다.
- 시각적 단서와 미분 가능한 spring-mass 시뮬레이터를 결합하여 트윈을 학습하므로, 복구된 모델은 물리적 제약 조건(힘, 재질 강성, 충돌)을 준수합니다.
- 구축된 트윈은 대화형 플레이그라운드에서 탐색하거나, 시각화하거나, 로봇 계획, RL 또는 XR/VR 시뮬레이션과 같은 다운스트림 태스크에 사용할 수 있습니다.
주요 기능
| 기능 | 제공 내용 |
|---|---|
| Reconstruction | 원본 RGB-D 녹화 영상을 물리 정보 기반의 변형 가능한 객체 모델(the “PhysTwin”)로 변환합니다. |
| Interactive simulation | Gradio 기반 웹 UI 또는 로컬 창을 통해 실시간으로 트윈과 상호작용합니다 (키보드 또는 원격 제어). |
| Analysis tools | 추론된 힘, 재질 파라미터 및 다중 객체 충돌을 시각화합니다. |
| Optimization pipelines | 2단계 학습: 빠른 zero-order (CMA-ES) 단계에 이어 Nvidia Warp를 사용한 first-order gradient-based 단계로 신속한 수렴을 지원합니다 (RTX 4090에서 간단한 사례의 경우 약 5분 소요). |
| Extensibility | Model-Predictive Path Integral (MPPI) 계획, 배치 시뮬레이션 (Boba), 로봇-물리 통합 (Real2Sim-Eval)을 위한 예제 코드가 포함되어 있습니다. |
설치 방법
- 이 저장소는 Linux, Windows, Docker 및 특별히 RTX 5090에 최적화된 환경을 지원합니다. 일반적인 Linux 흐름은 다음과 같습니다:
conda create -n phystwin python=3.10 conda activate phystwin bash ./env_install/env_install.sh # 핵심 의존성 설치 bash ./env_install/download_pretrained_models.sh - 대화형 플레이그라운드만 원하는 경우 선택적 구성 요소(Trellis, Grounding-SAM-2, RealSense, SDXL)를 건너뛸 수 있습니다.
- Docker 사용자는
./docker_scripts/build.sh로 빌드하고 컨테이너 내부에서 플레이그라운드를 실행할 수 있습니다.
데이터 및 사전 학습된 자산
- 전처리된 데이터셋과 모델 체크포인트는 Hugging Face에 호스팅됩니다. zip 파일(
data.zip,experiments_optimization.zip,experiments.zip,gaussian_output.zip, 선택 사항인additional_data.zip)을 다운로드하여 저장소 루트에 압축을 해제하십시오. - 데이터에는 다중 뷰 RGB-D 녹화 영상, 캘리브레이션 파일, 그리고 여러 데모 객체(로프, 천, "sloth" 인형 등)에 대한 즉시 실행 가능한 최적화 결과가 포함되어 있습니다.
일반적인 워크플로우
- 원본 비디오 처리 (자체 녹화 영상이 있는 경우):
python script_process_data.py python export_gaussian_data.py # 첫 번째 프레임의 외형 준비 - 트윈 최적화 / 학습:
# Zero-order (빠르고 거친 단계) python script_optimize.py # First-order (정밀화 단계) python script_train.py - 추론 / 렌더링 실행:
python script_inference.py bash gs_run.sh # Gaussian-splatting 렌더링 - 대화형 플레이그라운드 탐색:
python interactive_playground.py --case_name double_lift_cloth_3 --n_ctrl_parts 2--inv_ctrl를 추가하여 제어 방향을 반전시킵니다.- 헤드리스 서버 웹 접속을 위해
gradio_playground브랜치를 사용하십시오.
- 분석 (힘, 재질, 다중 객체 충돌)을 제공된 시각화 스크립트를 사용하여 수행합니다. 예::
python visualize_force.py --case_name single_push_rope_1 python visualize_material.py --case_name double_lift_cloth_1
데모 하이라이트
- Boba (배치 시뮬레이터)는 RTX 4090에서 3,300 FPS 이상으로 실행될 수 있어, 몇 분 만에 RL 정책 학습을 강화합니다.
- Deform360 데이터셋은 41개의 카메라와 촉각 그리퍼를 통해 캡처한 1,980개의 상호작용 시퀀스를 포함한 198개의 일상적인 객체를 제공합니다.
- 실시간 대화형 플레이그라운드는 "sloth" 사례의 경우 RTX 4090에서 약 37 FPS로 실행됩니다.
사용 대상
- 로봇 공학 또는 VR/AR을 위한 소프트 바디 월드 모델을 구축하는 연구자.
- 변형 가능한 항목의 실제 비디오를 시뮬레이션 가능한 자산으로 변환하는 파이프라인이 필요한 개발자.
- 물리 인지형 비디오 이해, 미분 가능한 시뮬레이션, 또는 데이터 기반 소프트 바디 제어에 관심이 있는 모든 사람.
인용 연구에서 PhysTwin을 사용한다면, 관련 ICCV 2025 논문(arXiv 2503.17973)을 인용하십시오. README에는 PhysTwin을 기반으로 구축된 다운스트림 연구들도 나열되어 있습니다.
위의 모든 상세 내용은 저장소의 README에서 직접 가져온 것이며, 외부의 가설은 추가되지 않았습니다.
관련
- 프로젝트
- 프로젝트
- 프로젝트
- 프로젝트