ROKIT-Healthcare / InFusionSurf

Official implementation of InFusionSurf, a novel approach to enhance the fidelity of neural radiance field (NeRF) frameworks for 3D surface reconstruction using RGB-D video frames.
MIT License
34 stars 5 forks source link

Problem with Scannet dataset #3

Closed wbqnb666 closed 1 year ago

wbqnb666 commented 1 year ago

Thanks for your answer last time, since then I have downloaded the scannet dataset and tested it, but the reconstruction is very poor.I directly used the camera pose provided by scannet, and modified the pose using T0 and T1 as suggested by you. image The other parameters are provided in the code. The dataset is scene00_00.Do I need to reuse bundlefusion to calculate poses or is there any step I am missing.

shlee472 commented 1 year ago

Hello. You can use ScanNet provided camera pose. You don't need to reuse BundleFusion.

There's nothing special I did besides of coordinates transformation.

One thing you could check is that you should use intrinsic_depth.txt file for focal length rather than intrinsic_color.txt.

It should make no problem with default configuration. snapshot00

wbqnb666 commented 1 year ago

I still can't find the problem, so I will take a screenshot of these three files and the pose processing of the code for you to see. Is there something wrong with my pose file? Thank you very much! image image image image

shlee472 commented 1 year ago

It seems that you are transforming coordiantes system in live. I rather prepared camera pose in offline before running optimize.py

But I'm not thinking your camera pose files, focal.txt (I used it as 578.1602475 which is average of fx, fy but it can be neglectable) and code are wrong.

For the reference, I attach trainval_poses.txt I used for the scene0000_00. You can compare it with your value. trainval_poses.txt

I hope it helps you.

wbqnb666 commented 1 year ago

After comparing mine and the files you provided, I found that my poses were completely different except the first one was the same as yours. In addition, I observed that I had more than 5000 poses in total, while there were only more than 1000 in your files. Is there something wrong with my dataset. trainval_poses.txt 0

shlee472 commented 1 year ago

I apologize for the unclear in the attachment. I took 1 frame for every 4 frames in the trainval_poses.txt according to trainskip configuration.

Eventually I found a problem in your poses file. Your poses.txt is not sorted in file name order.

For example, if you use os.listdir("original_pose_directory"), you would get list like ["0.txt", "1.txt", "10.txt", "100.txt", ..., "2.txt"] instead of ["0.txt", "1.txt", "2.txt" ...].

You should sort first to match image frames with camera poses properly.

wbqnb666 commented 1 year ago

Oh, it's my problem. There is something wrong with the sequencing of the pose file with my pose merge code. I'm very sorry for the delay, thanks again!