CUHK-AIM-Group / EndoGaussian

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

AttributeError: 'CameraInfo' object has no attribute 'FoVx' #13

Closed MMM-Mercury closed 8 months ago

MMM-Mercury commented 8 months ago

Dear devs, I've followed as mentioned in the readme, but when I use "python train.py -s data/endonerf/cutting --port 6017 --expname endonerf/cutting --configs arguments/endonerf/cutting.py " to train scenes "cutting_tissues_twice", the training progress report an error:

Traceback (most recent call last): File "train.py", line 357, in args.save_iterations, args.checkpoint_iterations, args.start_checkpoint, args.debug_from, args.expname, args.extra_mark) File "train.py", line 245, in training gaussians, scene, "coarse", tb_writer, opt.coarse_iterations,timer) File "train.py", line 110, in scene_reconstruction render_pkg = render(viewpoint_cam, gaussians, pipe, background, stage=stage) File "/home/EndoGaussian/gaussian_renderer/init.py", line 34, in render tanfovx = math.tan(viewpoint_camera.FoVx * 0.5) AttributeError: 'CameraInfo' object has no attribute 'FoVx'

I wonder why this kind of error happen and how to fix it? Thanks for your reply.

yifliu3 commented 8 months ago

Hi,

Thanks for your attention. I think the problem may come from several reasons:

  1. The data path -s is not correctly identified. In scene/init.py, we write to make the program automatically identify the dataset. The code can identify the dataset as EndoNeRF if poses_bounds.py exists in the data path, and can identify the dataset as SCARED if point_cloud.obj exists, and then activate the corresponding dataloader. I doubt that you've activated the wrong data loader like colmap, if a sparse folder exists, the code will activate this data loader, which is not what we expected. To avoid this problem, I have changed the scene_init.py identifying rule. You can use the latest version to have a try.

  2. Another potential reason is that you are using the old version code. If so, you can clone the latest repo.

Hope this can solve your problem.

MMM-Mercury commented 8 months ago

That's really helpful! Thanks for your reply!