본문으로 건너뛰기

© 2026 Molayo

GH Trending릴리즈2026. 05. 28. 20:08

hustvl/4DGaussians

요약

CVPR 2024에 채택된 4DGaussians는 동적 장면을 효율적으로 렌더링하기 위한 새로운 Gaussian Splatting 기법을 제안합니다. 기존 방식보다 훈련 시간을 대폭 단축하면서도 고품질의 4D 렌더링 성능을 유지합니다.

핵심 포인트

  • CVPR 2024 채택 연구
  • 동적 장면을 위한 4D Gaussian Splatting 구현
  • 훈련 시간 대폭 단축 (D-NeRF 기준 20분에서 8분으로)
  • 합성 및 실제 동적 장면 데이터셋 지원

Guanjun Wu 1*, Taoran Yi 2*,
Jiemin Fang 3‡, Lingxi Xie 3 ,

Xiaopeng Zhang 3 , Wei Wei 1 ,Wenyu Liu 2 , Qi Tian 3 , Xinggang Wang 2‡✉

1 HUST 컴퓨터과학대학 (School of CS), 2 HUST EIC 대학 (School of EIC), 3 Huawei Inc.

  • 동등한 기여 (Equal Contributions). $\ddagger$ 프로젝트 리드 (Project Lead).

✉ 교신 저자 (Corresponding Author).

block

새로운 Colab 데모: (Tasmay-Tibrewal에게 감사드립니다)

이전 Colab 데모: (camenduru에게 감사드립니다.)

가벼운 Gaussian 구현 (Light Gaussian implementation): 이 링크 (pablodawson에게 감사드립니다)

2024.6.25: 코드를 정리하고 파라미터(parameters)에 대한 설명을 추가했습니다.

2024.3.25: hypernerf 및 dynerf 데이터셋에 대한 가이드를 업데이트했습니다.

2024.03.04: 논문에 대응하도록 Neu3D 데이터셋의 하이퍼파라미터 (hyperparameters)를 변경했습니다.

2024.02.28: SIBR 뷰어 (viewer) 가이드를 업데이트했습니다.

2024.02.27: CVPR 2024에 채택되었습니다. 디버깅을 위한 일부 로깅 (logging) 설정을 삭제하였으며, 수정된 훈련 시간은 D-NeRF 데이터셋에서 8분 (이전 20분), HyperNeRF 데이터셋에서 30분 (이전 1시간)입니다. 렌더링 (rendering) 품질에는 영향을 미치지 않습니다.

관련 패키지를 설치하려면 3D-GS를 따르십시오.

git clone https://github.com/hustvl/4DGaussians
cd 4DGaussians
git submodule update --init --recursive
...

저희 환경에서는 pytorch=1.13.1+cu116을 사용합니다.

합성 장면 (synthetic scenes)의 경우:
D-NeRF에서 제공하는 데이터셋을 사용합니다. dropbox에서 데이터셋을 다운로드할 수 있습니다.

실제 동적 장면 (real dynamic scenes)의 경우:
HyperNeRF에서 제공하는 데이터셋을 사용합니다. Hypernerf 데이터셋에서 장면을 다운로드하여 Nerfies 형식으로 구성할 수 있습니다.

한편, Plenoptic 데이터셋은 공식 웹사이트에서 다운로드할 수 있습니다. 메모리를 절약하려면 각 비디오의 프레임 (frames)을 추출한 다음 데이터셋을 다음과 같이 구성해야 합니다.

├── data
│ | dnerf
│ ├── mutant
...

다중 뷰 장면 (multipleviews scenes)의 경우:
자신만의 다중 뷰 장면 데이터셋을 훈련하려면 데이터셋을 다음과 같이 구성할 수 있습니다:

├── data
| | multipleview
│ | (사용자의 데이터셋 이름)
...

그 후, multipleviewprogress.sh를 사용할 수 있습니다.

우리는 포즈 (poses) 및 포인트 클라우드 (pointcloud)의 관련 데이터를 생성할 수 있는 도구를 제공합니다. 다음과 같이 사용할 수 있습니다:

bash multipleviewprogress.sh (사용자의 데이터셋 이름)

multipleviewprogress.sh를 실행한 후, 데이터 폴더가 다음과 같이 구성되어 있는지 확인해야 합니다:

├── data
| | multipleview
│ | (사용자의 데이터셋 이름)
...

bouncingballs와 같은 합성 장면 (synthetic scenes)을 학습하려면 다음을 실행하세요:

python train.py -s data/dnerf/bouncingballs --port 6017 --expname "dnerf/bouncingballs" --configs arguments/dnerf/bouncingballs.py

cut_roasted_beef와 같은 DyNeRF 장면을 학습하려면 다음을 실행하세요:

# 첫째, 각 비디오의 프레임을 추출합니다.
python scripts/preprocess_dynerf.py --datadir data/dynerf/cut_roasted_beef
# 둘째, 입력 데이터로부터 포인트 클라우드 (point clouds)를 생성합니다.
...

virg/broom과 같은 HyperNeRF 장면을 학습하려면: COLMAP에 의해 미리 생성된 포인트 클라우드 (point clouds)가 여기에 제공됩니다. 이를 다운로드하여 해당 폴더에 넣기만 하면 앞의 두 단계를 건너뛸 수 있습니다. 또한, 명령어를 직접 실행할 수도 있습니다.

# 첫째, COLMAP을 사용하여 밀집 포인트 클라우드 (dense point clouds) 계산
bash colmap.sh data/hypernerf/virg/broom2 hypernerf
# 둘째, 첫 번째 단계에서 생성된 포인트 클라우드를 다운샘플링 (downsample) 합니다.
...

다중 뷰 (multipleviews) 장면을 학습하려면, "./arguments/mutipleview" 아래에 (사용자의 데이터셋 이름).py라는 이름의 설정 파일 (configuration file)을 작성해야 합니다. 그 후, 다음을 실행하세요:

python train.py -s data/multipleview/(사용자의 데이터셋 이름) --port 6017 --expname "multipleview/(사용자의 데이터셋 이름)" --configs arguments/multipleview/(사용자의 데이터셋 이름).py

사용자 정의 데이터셋 (custom datasets)의 경우, nerfstudio를 설치하고 그들의 COLMAP 파이프라인 (pipeline)을 따르십시오. 먼저 COLMAP을 설치해야 하며, 그 다음은 다음과 같습니다:

pip install nerfstudio
# colmap 파이프라인을 통한 카메라 포즈 (camera poses) 계산
ns-process-data images --data data/your-data --output-dir data/your-ns-data
...

설정 파일 (config files)을 통해 학습 설정 (training config)을 사용자 정의할 수 있습니다.

또한, 체크포인트 (checkpoint)를 사용하여 모델을 학습할 수 있습니다.

`python train.py -s data/dnerf/bouncingballs --port 6017 --expname

제 논문에는 채택되지 않았지만 유용할 수도 있는 몇 가지 코드들이 여기 있으니, 직접 시도해 보셔도 좋습니다.

다음과 같은 멋진 병행/관련 연구들도 함께 확인해 보시기 바랍니다 (이에 국한되지 않음).

이 프로젝트는 아직 개발 중입니다. 저희 코드베이스에 기여하기 위해 자유롭게 이슈(Issue)를 제기하거나 풀 리퀘스트(Pull Request)를 제출해 주세요.

저희의 일부 소스 코드는 3DGS, K-planes, HexPlane, TiNeuVox, Depth-Rasterization에서 가져왔습니다. 이 저자들의 훌륭한 연구에 진심으로 감사드립니다.

저희 코드의 수정과 논문 내용에 대한 논의를 도와주신 @zhouzhenghong-gt 님께 진심으로 감사의 마음을 전합니다.

뉴럴 복셀 그리드 (Neural Voxel Grids) 및 동적 장면 재구성 (Dynamic Scenes Reconstruction)에 관한 몇 가지 통찰은 TiNeuVox에서 비롯되었습니다. 만약 이 저장소/연구가 귀하의 연구에 도움이 된다면, 해당 논문들을 인용해 주시고 ⭐를 남겨주시면 감사하겠습니다.

@InProceedings{Wu_2024_CVPR,
author = {Wu, Guanjun and Yi, Taoran and Fang, Jiemin and Xie, Lingxi and Zhang, Xiaopeng and Wei, Wei and Liu, Wenyu and Tian, Qi and Wang, Xinggang},
title = {4D Gaussian Splatting for Real-Time Dynamic Scene Rendering},
...

AI 자동 생성 콘텐츠

본 콘텐츠는 GitHub Trending Jupyter Notebook (weekly)의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0