티스토리 뷰

728x90
반응형

 

여기 깃허브에서

https://github.com/hustvl/4DGaussians?utm_source=chatgpt.com


https://colab.research.google.com/drive/1wz0D5Y9egAlcxXy8YO9UmpQ9oH51R7OW?usp=sharing

 

4DGaussians.ipynb

Colaboratory notebook

colab.research.google.com

이거 코드 돌리라고 되어있는데

1. 사본을 만든다

2.하나씩 실행한다

>>>> 런타임 어쩌고 오류 재시작 자꾸한다.

코드 수정

# 🌀 클린 런타임 (이미 import된 패키지 초기화)
%reset -f
# 📂 4DGS 레포지토리 클론
%cd /content
!git clone https://github.com/Tasmay-Tibrewal/4DGaussians
%cd 4DGaussians
!git submodule update --init --recursive


#####여기가 자꾸 오류 (아래)

!python -m venv /content/myenv
!source /content/myenv/bin/activate
# 필요한 패키지만 설치
!/content/myenv/bin/pip install torch torchvision numpy pandas matplotlib


###여기까지 (시간이 별로안걸린다.. 이미설치가 되있나봄)


###그리고 내 드라이브랑 연결해야함 나는 myImages 라는 폴더를 만들어서 이미지 시퀀스 넣어놨음
from google.colab import drive
drive.mount('/content/drive')

 

*다음 문제는 myImages에 transforms.json 파일이있어야한데 !!!! 

>>> 카메라 정보, 카메라 위치정보 json 파일.. 이걸 만들어야함. 


 

  • 목표: 미드저니 생성 영상을 4DGaussians로 학습하기
  • 문제: 4DGaussians에는 카메라 포즈 정보(JSON 파일)가 필요한데 없음
  • 해결책: 영상에서 카메라 정보를 역추적하기로 결정

COLMAP이 하는 일:

COLMAP = "이 사진들이 실제로 어떤 위치에서 촬영되었는지 역추적하는 도구"

1. 카메라 포즈 추정

  • 각 이미지가 어디서 촬영되었는지 (위치: x, y, z)
  • 각 이미지가 어느 방향을 보고 있는지 (회전: roll, pitch, yaw)

2. 3D 포인트 클라우드 생성

  • 여러 이미지에서 공통으로 보이는 특징점들의 3D 위치
  • 대략적인 장면의 3D 구조

3. 카메라 내부 파라미터 추정

  • 초점거리, 렌즈 왜곡 등

해보자..

1. 데이터 준비

  • 미드저니 영상을 프레임별로 분할 → /Users/-------/imgtest/01 경로에 저장
  • 총 124개의 이미지 프레임 생성

2. COLMAP으로 카메라 포즈 추정

/imgtest/01/sparse 아웃풋 폴더만들으래

한줄한줄 실행 ㄱ

특징점 추출 단계

매칭 단계

재구성 단계

# 특징정
colmap feature_extractor --database_path database.db --image_path . --ImageReader.single_camera 1
#매칭
colmap exhaustive_matcher --database_path database.db  
#재구성
colmap mapper --database_path database.db --image_path . --output_path sparse/

결과: ✅ 성공적 - 124개 프레임 모두 등록,  Elapsed time: 38.128 [minutes]

 

  • ✅ COLMAP 성공적 재구성 결과 (sparse/0/ 폴더)
  • ✅ 카메라 포즈 데이터 (바이너리 형태)

>>>이걸 이제 json파일로 만들어야한데...

 

3. NeRF 형식으로 변환 시도

  • transforms.json 파일 생성을 위해 colmap2nerf.py 다운로드 시도
#macOS에는 wget이 기본으로 없습니다. curl을 사용
curl -o colmap2nerf.py https://raw.githubusercontent.com/NVlabs/instant-ngp/master/scripts/colmap2nerf.py

# transforms.json 생성
python colmap2nerf.py --colmap_matcher exhaustive --run_colmap --aabb_scale 16

뭐가 다운받아진다.

colmap2nerf.py 파일이 생김

images 폴더에 이미지 넣어있어야한데 ㅡㅡ.. 

이미지 넣어둠. 뭐자 잘안되서 자꾸 코드만 돌아감..........

다시 특징점 추출..부터..

만들어졌다면

대충이런 문그뜸

writing transforms.json

-->

다시 처음부터...

 

4DGaussians.ipynb

Colaboratory notebook

colab.research.google.com

>>> 이제 Google Colab에서 4DGaussians를 실행할 준비

Colab에서 필요한 준비사항:

4DGaussians는 PyTorch 1.13.1에서 개발됨

diff_gaussian_rasterization, simple_knn 빌드 실패

CUDA 버전과 PyTorch 버전 미스매치

2. 데이터 업로드:

# 로컬에서 준비한 파일들을 Colab으로 업로드

from google.colab import drive
drive.mount('/content/drive')

3. 데이터 폴더 구조 만들기:

# 4DGaussians가 요구하는 폴더 구조
!mkdir -p /content/4DGaussians/data/custom/mydata

# 파일들 복사
!cp -r /path/to/내경로
!cp transforms.json /content/내경로

4. Config 파일 생성:

직접 만드신 config 파일은 /content/4DGaussians/arguments/dnerf 폴더에 넣으시면 됩니다. 그런 다음 train.py 및 render.py 명령에서 --configs arguments/dnerf/ 뒤에 파일 이름을 지정하여 사용하실 수 있습니다

# arguments/custom/mydata.py 생성
config_content = '''
ModelParams = dict(
    sh_degree = 3,
    source_path = "",
    model_path = "",
    images = "images",
    resolution = -1,
    white_background = False,
    data_device = "cuda",
    eval = False,
)

OptimizationParams = dict(
    iterations = 14000,
    position_lr_init = 0.00016,
    position_lr_final = 0.0000016,
    position_lr_delay_mult = 0.01,
    position_lr_max_steps = 14000,
    deformation_lr_init = 0.00016,
    deformation_lr_final = 0.000016,
    deformation_lr_delay_mult = 0.01,
    grid_lr_init = 0.016,
    grid_lr_final = 0.0016,
    feature_lr = 0.0025,
    opacity_lr = 0.05,
    scaling_lr = 0.005,
    rotation_lr = 0.001,
    percent_dense = 0.01,
    lambda_dssim = 0.2,
    lambda_plane_tv = 0.0001,
    lambda_time_tv = 0.01,
    lambda_plane_tv_proposal_net = 0.0001,
    lambda_time_tv_proposal_net = 0.01,
    densification_interval = 100,
    opacity_reset_interval = 3000,
    densify_from_iter = 500,
    densify_until_iter = 15_000,
    densify_grad_threshold = 0.0002,
    random_background = False,
)
'''

with open('/content/4DGaussians/arguments/custom/mydata.py', 'w') as f:
    f.write(config_content)

...

<실패의 연속 ...>

 


https://youtu.be/zJEOr4SlSYg

1. 이거는 3D 스플레팅임 !! 영상을 기반으로 3d 공간 만들어줌 : 단 윈도우기반

3DGS Windows Local Training Tool: : XV3DTools, used to train the Gaussian Splatting ply model given an mp4 video

tool download link: https://github.com/xverse-engine/XV3D...

*Guassian Splatting is a recently developed 3D reconstruction technique for reconstructing 3D scenes from multiple photos.

윈도우에서만 작동함. 

나는 mac 이라 탈락. 

비디오를 기반으로 공간을 3d/ ply 파일로 재구성해주는듯. 좋아보임..


2. 4D 스플래팅 해보자!!

개념부터 :

https://youtu.be/JsdWaF9bJiU

 

https://youtu.be/mz2tv5jGntg

언리얼도 4DGS플레이어임 window만 지원

 


1. 4DG 만들기 1번방법

https://arxiv.org/abs/2310.08528

 

4D Gaussian Splatting for Real-Time Dynamic Scene Rendering

Representing and rendering dynamic scenes has been an important but challenging task. Especially, to accurately model complex motions, high efficiency is usually hard to guarantee. To achieve real-time dynamic scene rendering while also enjoying high train

arxiv.org

https://github.com/hustvl/4DGaussians?utm_source=chatgpt.com

 

GitHub - hustvl/4DGaussians: [CVPR 2024] 4D Gaussian Splatting for Real-Time Dynamic Scene Rendering

[CVPR 2024] 4D Gaussian Splatting for Real-Time Dynamic Scene Rendering - hustvl/4DGaussians

github.com

 

 

2. 4DG 만들기 2번방법

https://github.com/JonathonLuiten/Dynamic3DGaussians?utm_source=chatgpt.com

 

GitHub - JonathonLuiten/Dynamic3DGaussians

Contribute to JonathonLuiten/Dynamic3DGaussians development by creating an account on GitHub.

github.com

 

 


https://store.gracia.ai/

(이거는 그냥 4DGS 플레이어임)

mac OS 7월부터 설치 가능 ! 

4DGS가져와서 플레이하래.. 


예시 Odyssei

포켓몬 고 만든 회사.

 스마트폰에서 찍은 사진 -> 가우시안 스플래팅으로 실시간으로 바꿔줌

이들이 만든 게임

Scaniverse -> Niantic이 인수

https://nianticlabs.com/?hl=de

 

Niantic Labs

우리는 Pokémon GO와 같은 최고의 히트 작품을 포함해, 사람들이 세계를 탐험하도록 장려하는 실제 세계와 AR 게임, 그리고 앱을 구축합니다. 지금 Niantic을 만나보세요!

nianticlabs.com

 

 

 

728x90
반응형

'Unreal5' 카테고리의 다른 글

[언리얼]쉐이더 _ 커스텀뎁스  (0) 2023.02.15
[언리얼] 기본 _ 폴리지 최적화 문제 ..  (0) 2023.02.15
언리얼 5 다운_ 퀵셀 내장  (0) 2022.05.03
250x250
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/07   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함
반응형