zju3dv / EasyVolcap

[SIGGRAPH Asia 2023 (Technical Communications)] EasyVolcap: Accelerating Neural Volumetric Video Research
Other
576 stars 41 forks source link

Error when training 3DGS #32

Open brianneoberson opened 1 month ago

brianneoberson commented 1 month ago

Hello,

I am trying to test your dynamic 3DGS implementation on the example dataset actor1_4subseq you provide. I did all of the previous steps, including training Instant-NGP+T and getting the vhulls. But now when running `evc-train -c configs/exps/gaussiant/gaussiant${expname}.yaml` I get the following error:

RuntimeError: The expanded size of the tensor (262144) must match the existing size (705441) at non-singleton dimension 0.  Target sizes: [262144, 3].  Tensor sizes: [705441, 3]
*** The expanded size of the tensor (262144) must match the existing size (705441) at non-singleton dimension 0.  Target sizes: [262144, 3].  Tensor sizes: [705441, 3]
> {path/to/EasyVolcap/easyvolcap/utils/gaussian_utils.py(443)create_from_pcd()
    441         if colors is not None:
    442             SH = rgb2sh0(colors)
--> 443             features[:, :3, 0] = SH
    444         features[:, 3: 1:] = 0
    445 

Would you have an idea why this is happening?

dendenxu commented 1 month ago

Looks like we encountered a shape mismatch error when using the initial point cloud for initializing 3DGS. Could you share the prepared init point clouds files (.plys)? In the documented example, we use dense initialization for every frame instead of visual hulls, so there might be some bug in the visual hull code path.