CUHK-AIM-Group / EndoGaussian

EndoGaussian: Real-time Gaussian Splatting for Dynamic Endoscopic Scene Reconstruction
https://yifliu3.github.io/EndoGaussian/
MIT License
100 stars 5 forks source link

Evaluation of fps performance on endonerf dataset #7

Closed HsiehTPE closed 6 months ago

HsiehTPE commented 6 months ago

Dear devs,

First, thanks to your papaer and codes! I have successfully tested the code on my server using the dataset EndoNeRF. But right now I have some questions about the rendering fps.

According to the paper, the fps can reach 195 on the endonerf dataset, which is amazing. I found that in

render.py

there is a line print("FPS:",(len(views)-1)*test_times/(time2-time1)), and I use this to get the rendering fps. But the highest fps result I can get is about 90 on the endonerf dataset.

So I wonder whether I use the right way to calculate the FPS, or just the gpu performance caused the difference?

Thanks for your reply!

yifliu3 commented 6 months ago

Hi,

Thanks for your attention. Some factors may influence the rendering speed.

  1. The training and rendering speed is partially related to the CPU and GPU used. In our experiment, we use a single GPU of RTX4090 and a single a single CPU of Intel(R) Xeon(R) Gold 5418Y. Different devices may result in different training times and rendering speeds.

  2. To evaluate the rendering speed, we use the video split instead of test split, as video split contains more images and the evaluation can be more accurate. To further make the rendering evaluation more accurate, we repeat the rendering of video split 50 times in the current version, and compute the average as the final result.

  3. A bug exists during the data loading in the previous version, where we used a data loader to load data and this brings extra CPU loading time. As we have many CPUs (96) on the workstation, the bug is not observed and the use of so many CPUs leads to a fast rendering speed, which is unfairly high.

After fixing the bug and using the video split repeating 50 times, we evaluate the rendering speed on one single GPU RTX4090 and one single CPU Intel(R) Xeon(R) Gold 5418Y. The average rendering speed on the pulling clip of ENDONERF dataset is around 168 FPS. we will evaluate other clips and update the paper later. image

The code has been updated.

HsiehTPE commented 6 months ago

Hi, thanks for your reply!

I have updated the latest code and tested again. I get the around 150 to 170 fps in average on the endonerf dataset.

Thanks for you reply again, Good day : )