-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
There is a gap in metrics between the trained and pretrained models. #3
Comments
Thanks for verification. This is because the last iteration was not automatically added to |
Thanks for your reply ! |
Thank you very much for the update. I updated the code and re-trained and found that the gap didn't get a good improvement, and there is a general 0.4 to 1.1 drop in PSNR per scene compared to the pre-trained results.The performance degradation seems to be outside the margin of error. In the scenarios cut_roasted_beef, cook_spinach, the drop is more pronounced
|
In my opinion, a general 1 drop in PSNR is unusual. When I reproduced it, I got slightly better results in the coffee martini scene. The PSNR generally increased from step 30,000 to step 40,000. Also, while the seed does have an effect, cases where it causes a change of more than 0.5 in PSNR were very rare. Have you used
|
I have added the argument |
I attach the results of my training here.There are some scene where the psnr drop is small, but generally did not reach the pretrain model.
|
I checked further and found my input.ply file, I found some discrepancies between the number of points in my initialised point cloud and the number of points in the pre-training model, for example in the coffee_martini scenario, the number of points in my input.ply is 4945, while the number of points in the pre-training model is 5498. do you think that the this initialisation gap will lead to a gap in the final result? |
I appreciate the detailed check. I agree with your observations. In my experiments, I used a sparse point cloud, which might have left some parts of the point cloud uninitialized. In the case of the coffee martini scene, most of the PSNR loss occurred in areas where the point cloud wasn’t well-initialized. This corresponds to the background area in the attached image. I believe this issue shares similarities with random initialization in Gaussian Splatting, which could lead to a performance gap. To address the initialization issue, the point cloud needs to be densified. COLMAP supports densification using MVS. 4DGaussians also uses this approach, and it may be helpful to refer to the 4DGaussians for more information. I will revise the preprocessing to ensure stable training. |
Thank you very much for your reply. I have tried several trains, and I found that the current training seems to be rather unstable, the difference between the best case and the worst case PSNR will be close to 1. But only very few results can be close to the results of the pre-trained model.
Waiting for your update. |
I think this issue is also related to random initialization because some "dead Gaussians" are not entirely pruned. As far as I know, with around 30MB, there is a difference of approximately 25,000 Dynamic Gaussians, and I believe that splitting is also incorrectly handled due to improper initialization. I expect that a well-initialized point cloud could help mitigate this phenomenon. |
I checked the dynamic_point_cloud.ply of the pre-trained model and my trained model and found some unusual differences, in my dynamic point cloud my
|
Yes, I also got 28.03 PSNR in coffee martini scene with 40K iteration training, 28.16 with 30K iteration. |
This result was generated by reducing keyframe values during code cleaning. I intentionally increased the values to mitigate issues arising when loading files. The final timestamp does not affect performance, as it is not actually used in rendering. I will continue to track this issue. |
also want to ask if anyone has reproduced the 33.2 PSNR for cook_spinach scene? the best i could get is only a little more than 32. In my rendering result, there are obvious artifact for the hand region where high dynamics is indicated. most other 4DGS works also did a bad work on this region yet ex4dgs seems more worse in such region. |
I got the same result as yours |
I tried to train on the n3d dataset, and although the render results are very good, the metrics are a bit off compared to the trained model, for example in the coffee_martini scene my average psnr is only 28.13 while the trained model reaches 28.73, and there are similar losses of performance in the other scenes.
Two results are attached here, the first is the trained coffee-martini and the second is my trained coffee-martini.
I used the default settings for training and I'm thinking about what is not set right, can you help me?
The text was updated successfully, but these errors were encountered: