dunbar12138 / DSNeRF

Code release for DS-NeRF (Depth-supervised Neural Radiance Fields)
https://www.cs.cmu.edu/~dsnerf/
MIT License
759 stars 129 forks source link

No depth is generated in load_colmap_depth.py #32

Open Tangshengku opened 2 years ago

Tangshengku commented 2 years ago

Hi, Thanks for your great work! But I've got some issues here: When I was loading ETH3D courtyard scene, pose bound file could be generated. I use image.bin, point3D.bin from the dataset. However, when I start to train, I found that there is no depth for this scene and the terminal printed zero for all photos. I didn't test on other scenes. Is there something wrong I've done? Shengkun Tang

dunbar12138 commented 2 years ago

Are you able to run imgs2poses.py on your dataset? This will automatically run COLMAP on your dataset to get the sufficient information.

Tangshengku commented 2 years ago

yes, the dataset provides image.txt, point3d.txt generated from colmap. I just load these files in imgs2pose.py and the bound_pose.npy could be generated. I notice in load_colmap, it compares the depth with the min of bds and the max of bds, and all depth values are filtered.

---Original--- From: @.> Date: Sat, Mar 5, 2022 02:14 AM To: @.>; Cc: "Shengkun @.**@.>; Subject: Re: [dunbar12138/DSNeRF] No depth is generated inload_colmap_depth.py (Issue #32)

Are you able to run imgs2poses.py on your dataset? This will automatically run COLMAP on your dataset to get the sufficient information.

— Reply to this email directly, view it on GitHub, or unsubscribe. You are receiving this because you authored the thread.Message ID: @.***>

Tangshengku commented 2 years ago

@dunbar12138 hi, I changed the code in load_llff.py, line 425:
if depth < bds_raw[id_im-1,0] sc or depth > bds_raw[id_im-1,1] sc: -----> if depth < bds_raw[id_im-1,1] sc or depth > bds_raw[id_im-1,0] sc: and there are depth generated. And finally, the model I trained from scratch could produce reasonable RGB map. I wonder what is the function of sc? Moreover, I noticed that the code assumes that all images should be in track. However, in large scale dataset such as ETH3D, some images are not in tracks. If you hope to fix this problem, I could help to make a PR when I am free. Thanks!

Shengkun Tang

gjgjgjfff commented 1 year ago

@dunbar12138 hi, I changed the code in load_llff.py, line 425: if depth < bds_raw[id_im-1,0] sc or depth > bds_raw[id_im-1,1] sc: -----> if depth < bds_raw[id_im-1,1] sc or depth > bds_raw[id_im-1,0] sc: and there are depth generated. And finally, the model I trained from scratch could produce reasonable RGB map. I wonder what is the function of sc? Moreover, I noticed that the code assumes that all images should be in track. However, in large scale dataset such as ETH3D, some images are not in tracks. If you hope to fix this problem, I could help to make a PR when I am free. Thanks!

Shengkun Tang

Hello, I also encountered the problem of no depth being generated. How did you solve it? Why should you change this? if depth < bds_raw[id_im-1,1] sc or depth > bds_raw[id_im-1,0] sc: