-
Notifications
You must be signed in to change notification settings - Fork 40
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Some question about test result #23
Comments
Hi @zjulabwjt, thank you for your questions. I'll address each of your concerns separately. Regarding your first question, you can check Jingwen's reply here #11. Feel free to reach out if you cannot address this issue following those steps. Regarding your second question:
|
Hi @HengyiWang ,thank you for your quick and detailed reply and advice. I have also some questions about the difference global BA in your code and local BA in other neural field SLAM. As metioned in your main paper,the global BA select 5% ray in global keyframe set.But local BA only select less than 10 keyframs in slid window.In my opinion,global BA can get more global consistency but less effience.Your Strategy in global BA (select 5% ray) aim to more global consistency result for tracking but decrease render perference? if local BA will increase render performance because select more rays in near view? Thanks for your reply and help! |
Hi @zjulabwjt, thank you for your questions. Regarding the 5% pixels mentioned in the paper, it serves as a keyframe management strategy to optimize CPU memory usage by storing 5% pixels of each keyframe in the CPU. The key idea is that neural implicit SLAM doesn't require storing frame-level information for all pixels, and keeping 5% of keyframe pixels in CPU is often sufficient for the reconstruction. However, you can still increase the percentage up to 100% and performance will usually get better. This keyframe management strategy is independent of global BA. As for local BA, it can definitely help with rendering performance as it samples more rays from unexplored areas. However, performing local BA usually requires you to freeze the decoder. Otherwise, you may have a catastrophic forgetting issue. Check out our project page for a comparison with concurrent works (ESLAM) and more discussions about global/local BA at #19. Feel free to ask if you have any further questions. Your support is highly appreciated, and if you find our work helpful for your research, we'd be thrilled if you could star this repository ;) |
Thanks for your quick reply!I am highly appreciated and I have stared your excellent work! |
Hi,@HengyiWang I am sorry to bother you again.Actually,I also have some questions about code. 1、I found in scannet scene mesh performance is bad.I found in scannet scene_0059_00 the hash size is only 12,the small size of hash just for less memory burden or the hash size setting already reach bottleneck of performance? 2、I remove the one blob encode and only hash encode in scannet scene_0000,scene_0059,scene_0106,scene_0169,and I found almost no difference in mesh result.In my option,one blob might fill the code and smooth surface but might lose the geometry detail. 3、Lastly,I have a silly question.How to run marching cubes by masking out points that are outside of the camera frustum you mentioned above?If it is convenient for you,Can you share me this part of the code. Thank you in advance for your reply! |
Hi @zjulabwjt, thanks for your question.
|
Hi,@HengyiWang thank you again for your patient reply! |
Hi @zjulabwjt, thanks for sharing the results, now I see what you mean. The rendering result might be affected by the following factors:
I have added one more function of current frame mapping in the latest commit. The decoder is frozen to ensure the local mapping will not ruin the optimisation of the decoder, which might be helpful for your concern and can also potentially address the concerns raised by @supremeccccc #19. You can try some of the following things:
|
Thanks for your reply,And I will try your advice.Thanks for your excellent work and help again. |
Hi,@HengyiWang.I try to closed track_render,and use gt_pose mapping and not optimize pose,but meet some problems. |
|
Yes, the poses are obtained by BundleFusion, it is not strictly gt pose. For example, take a look at the gt mesh of scene0000, you can see lots of misaligned areas, which are caused by inaccurate pose obtained by BundleFusion. |
Thanks for your reply!So the gt_pose is in inaccurate,the pose evaluation with est_pose whether is not have reference value.Why neural slam paper use the not strictly gt pose for evaluation? |
Because you will only get the 100% gt poses in a synthetic dataset. |
hi, @HengyiWang ,I have some quesutions about how to eval runtime and params? |
Thanks for your great work!I run your code in some dataset,and have some question.
1.About FPS mentioned in your main paper.I run your code in A40 Server,in replica dataset,about 2000 frames.The time
consume about 20 min in your deault set(tracking iter 10,mapping iter 20).How to understand FPS mentioned in your paper?
2.I found in Real world dataset,the mesh result is bad,such as in Scannet and tum_rbd datasets.I found tracking and mapping
iter is not enough,because the psnr is low.Can you give me some advice to improve the performance in real datasets?Add iters
or higher voxel resolution but reduce efficience?
Thanks for your reply!
The text was updated successfully, but these errors were encountered: