dunbar12138 / DSNeRF

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

Generate colmap data #102

Closed massyzs closed 11 months ago

massyzs commented 11 months ago

I try to generate data like yours. But cannot. I only got 400-500 3D points in total instead of more than 2000. No matter by GUI or Command-Line mode. And it seems that you did not provide how to get the npy file from output.

massyzs commented 11 months ago

10 images will get me more than 2000 depth points. I strongly need an explanation on how to get 2000 depth points by two images.

massyzs commented 11 months ago

I even used the original resolution of two images. (40323024, yours is 1008756). The colmap output 900 3D points which is impossible to get 2000 depth information. I think you should clarify this problem as soon as possible. Or I think it's necessary to report this to the CVPR conference.

dunbar12138 commented 11 months ago

Hi, sorry for the confusion. We run COLMAP on images of the original resolution and downscale the cameras and depths when post-processing the data here and here.

Here is an example COLMAP run to get over 2000 keypoints on two views of the fern scene.

colmap feature_extractor --database_path database.db --image_path images  --SiftExtraction.max_image_size 4032 --SiftExtraction.max_num_features 32768 --SiftExtraction.estimate_affine_shape 1 --SiftExtraction.domain_size_pooling 1

colmap exhaustive_matcher --database_path database.db --SiftMatching.guided_matching 1 --SiftMatching.max_num_matches 65536

mkdir sparse

colmap mapper --database database.db --image_path images --output_path sparse --Mapper.ba_local_max_num_iterations 40 --Mapper.ba_local_max_refinements 3 --Mapper.ba_global_max_num_i
terations 100

Here is link to the COLMAP result I got with 2604 keypoints: https://drive.google.com/file/d/1YqozhVM63u9aN1r2ibW5Gqlm-i3iZad2/view?usp=sharing

Actually, I used to be able to get such many keypoints by using the default extreme quality setting of COLMAP, i.e., colmap automatic_reconstructor --image_path images --workspace_path ./ --sparse 1 --dense 0 --quality extreme. But colmap seems to have updated the settings. So now I have to specify the arguments for each stage. Actually, most of the settings are still the same as extreme quality here except that I increase the max number of features and image size. This setting might still not perfectly match what's in the dataset, but you can always further increase the max number of features and matches to get more keypoints.

Thanks for pointing this out. I'll update the document accordingly.

massyzs commented 11 months ago

Yes, thanks for the clarification. The imgs2poses.py file indeed indicates the wrong command which will make people doubt the experiment result. I will try the auto-one with "--quality extreme", and your step-by-step command.

massyzs commented 11 months ago

I've tried. Indeed the Colmap changed the default setting and your command could help to generate more than 2000 depth points. Thanks