티스토리 뷰
여기 깃허브에서
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)
...
<실패의 연속 ...>
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 스플래팅 해보자!!
개념부터 :
언리얼도 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
(이거는 그냥 4DGS 플레이어임)
mac OS 7월부터 설치 가능 !
4DGS가져와서 플레이하래..
예시 Odyssei
포켓몬 고 만든 회사.
스마트폰에서 찍은 사진 -> 가우시안 스플래팅으로 실시간으로 바꿔줌
이들이 만든 게임
Scaniverse -> Niantic이 인수
https://nianticlabs.com/?hl=de
Niantic Labs
우리는 Pokémon GO와 같은 최고의 히트 작품을 포함해, 사람들이 세계를 탐험하도록 장려하는 실제 세계와 AR 게임, 그리고 앱을 구축합니다. 지금 Niantic을 만나보세요!
nianticlabs.com
'Unreal5' 카테고리의 다른 글
[언리얼]쉐이더 _ 커스텀뎁스 (0) | 2023.02.15 |
---|---|
[언리얼] 기본 _ 폴리지 최적화 문제 .. (0) | 2023.02.15 |
언리얼 5 다운_ 퀵셀 내장 (0) | 2022.05.03 |
- Total
- Today
- Yesterday
- 후디니
- DeepLeaning
- Python
- 라즈베리파이
- sequelize
- runwayai
- MQTT
- opencv
- node.js
- krea
- docker
- CNC
- google ai studio
- Midjourney
- ai film
- colab
- Express
- VR
- MCP
- 4dgs
- Arduino
- 4d guassian splatting
- Unity
- three.js
- RNN
- AI
- Java
- 유니티
- TouchDesigner
- houdini
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |