yihua7 / SC-GS

[CVPR 2024] Code for SC-GS: Sparse-Controlled Gaussian Splatting for Editable Dynamic Scenes
https://yihua7.github.io/SC-GS-web/
MIT License
427 stars 21 forks source link

Self-captured videos: #37

Open SmileXUZ opened 1 month ago

SmileXUZ commented 1 month ago

Hi,@yihua7 ,Thank you for your excellent work. I am trying to run a program with my own video, but I encountered difficulties in data processing. According to the instructions in the readme, I installed MIVOS and placed phone_catch.py, interactive_invoke.py, and colmap2nerf.py in the installation path of MIVOS. Then I ran phone_catch.py, and the output is shown in the figure 运行结果

I'm confused because after running phone_catch.py, the resulting transforms.json file only contains camera parameters for two photos. How can I obtain camera parameters for every photo so that I can run my data in SCGS?

yihua7 commented 1 month ago

Hi, Could you show the frames of your video? The problem should be that your video is hard for camera calibration using COLMAP and only two images are estimated with camera parameters. Maybe you can place a chess board in the scene you captured just like the hand case in our teaser image. Too many textureless objects (e.g. walls and floors) and transients may cause the problem.

SmileXUZ commented 1 month ago

Hi,@yihua7 ,Thanks for your reply. According to your suggestion, I tested two more sets of data. The first set is the video in which the human body dynamic target moves forward in the recording scene, as shown below, 数据1 and the camera parameters of only two photos can be obtained after the photos are extracted. Another set of data is to record a video of a dynamic target swinging its arm in place, as shown below, 数据2 in which case the camera parameters of all the photos can be resolved. I'm a little confused, Is it that colmap is not good at extracting moving dynamic targets?

SmileXUZ commented 1 month ago

Hi,@yihua7 ,I tried to train a dynamic 3D model with my own data, but it went wrong. First of all, my data set looks like this:

image

Then run the command: python train_gui.py --source_path data/examplexz --model_path outputs/examplexz --deform_type node --node_num 512 --hyper_dim 8 --init_isotropic_gs_with_all_colmap_pcl --eval --gt_alpha_mask_as_scene_mask --local_frame --W 720 --H 1280 --random_bg_color --white_background --gui But the operation went wrong, as shown below:

image

I don't know whether the format of my data set is wrong or the input run command is wrong, can you give me some advice?

yihua7 commented 1 month ago

Hi,

Sorry for the late reply. You can use the function readColmapSceneInfo instead of readNerfSyntheticInfo.

Looking forward to the feedback :)