3DGS own dataset 학습하기

우병주·2024년 7월 28일
0

0. about

  • 저번 세팅에서 이제 환경 설정 다 하고 viewer에서 왔다갔다만 해봤음
  • 이제 내가 데이터셋 만들어서 학습해보고 연구할만한 맛있는 발견 시작하면 되겠지? 하와이 고?

1. 나의 데이터셋 촬영해보기

  • 뷰어 보려고 사전학습된 14GB 모델 다운 받는데 너무 오래 걸려서 그 동안 내가 촬영했음
  • 일단 챌린징하게 만들어 보려고 했다
  1. 털 많은 피카츄 있어 high-frequency의 scene 포함
  2. 박스 뒤에 리모컨은 거의 등장 안함. (occulusion). 이 리모컨도 형태를 잘 잡을 수 있을까?
  3. 거울과 그림자. 3DGS가 NeRF에 비해 반사를 잘 표현 못한다고 어디서 들은거 같고, 아무도 다들 거울로는 실험을 안하길래 ㅎㅎ
  4. 1분 가량의 영상 - 천천히 충분히 사진을 많이 찍어서 나중에 샘플링 적당히 해서 few-shot setting이 가능하지 않을까 싶었다.
  • 촬영 정보
    • 촬영기기: Apple iPhone 14 Plus
    • 세부정보: 26mm f 1.5
    • 화소: 1080p : 1920 x 1080
    • 프레임 수: 30 fps x 64 seconds = 1920
    • 파일명: jaundae.mov

2. 데이터셋 준비하기

  • 갓준영님께 물어보고 알아낸 방법을 토대로 해보겠다!
  • 우선, github에 있는 convert.py는 영상 자체를 변환해주지 않고, 내가 영상을 일일이 파싱한 다음에 적당한 폴더에 넣고 쓰는 거임
  • 그래서 일단 준영좌처럼 ffmpeg부터 해보자
sudo apt update && sudo apt upgrade
sudo apt install ffmpeg
ffmpeg -version
  • 와! 쉽다!그럼 촬영한걸 쪼개보자
ffmpeg -ss 00:00:0 -i ./jaundae.mp4 -r 5 -f image2 %04d.jpg
mkdir jaundae_dataset/input
mv ./*.jpg ./jaundae_dataset/input
  • 우선 넉넉하게 사진 준비하려고 초당 5장을 뽑아, 총 323장을 마련했다 ㅎㅎ
  • 헉 convert가 동작 안하는데, colmap을 따로 다운 받아야 하는 거였다 ㄷㄷ

1개의 댓글

comment-user-thumbnail
2024년 8월 1일

동영상에서 frame sampling 할 때는 motion blur 때문에 일괄적으로 몇 프레임 단위로 뽑기보다, 모든 frame 을 뽑은 뒤 일정 단위에서 Laplacian Variance 등을 기준으로 선명한 image 를 고르는 것이 좋습니다.
cf. https://github.com/SharkWipf/nerf_dataset_preprocessing_helper

답글 달기

관련 채용 정보