0. about
- 저번 세팅에서 이제 환경 설정 다 하고 viewer에서 왔다갔다만 해봤음
- 이제 내가 데이터셋 만들어서 학습해보고 연구할만한 맛있는 발견 시작하면 되겠지? 하와이 고?
1. 나의 데이터셋 촬영해보기
- 뷰어 보려고 사전학습된 14GB 모델 다운 받는데 너무 오래 걸려서 그 동안 내가 촬영했음
- 일단 챌린징하게 만들어 보려고 했다
- 털 많은 피카츄 있어 high-frequency의 scene 포함
- 박스 뒤에 리모컨은 거의 등장 안함. (occulusion). 이 리모컨도 형태를 잘 잡을 수 있을까?
- 거울과 그림자. 3DGS가 NeRF에 비해 반사를 잘 표현 못한다고 어디서 들은거 같고, 아무도 다들 거울로는 실험을 안하길래 ㅎㅎ
- 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을 따로 다운 받아야 하는 거였다 ㄷㄷ
동영상에서 frame sampling 할 때는 motion blur 때문에 일괄적으로 몇 프레임 단위로 뽑기보다, 모든 frame 을 뽑은 뒤 일정 단위에서 Laplacian Variance 등을 기준으로 선명한 image 를 고르는 것이 좋습니다.
cf. https://github.com/SharkWipf/nerf_dataset_preprocessing_helper