YunxuanMao / ngel_slam

62 stars 8 forks source link

Hoping author to confirm if the code can actually run #6

Closed shibing15 closed 2 months ago

shibing15 commented 2 months ago

First and foremost, I greatly appreciate the author's work. However, I would like the runnability of the open-source code to be confirmed. I have personally fixed the following bugs, which, in my opinion, should not have been present in runnable code. Therefore, I kindly ask the author to verify the quality of the code.

  1. src/keyframeManager.py line 88 self.self.new_volume_flag = ssnerf.shared_new_volume_flag
  2. No keymanager defined in calss NGEL_SLAM

Even if I fix the above bugs, this code still cannot run successfully. So I hope the author can confirm the operability of the code. Thanks!

YunxuanMao commented 2 months ago

Sorry, I cannot confirm the code directly because the code I used in the paper is connected between two different computers (ORB-SLAM3 on my PC which does not have gpu and ngel on the server that cannot install ros) through socket server but the released code is a one-device version with ROS. The errors in the code are all about the connection between ORB and NGEL. The only thing I can do is fix the bugs with your feedback.

ShilangChen1011 commented 2 months ago

First and foremost, I greatly appreciate the author's work. However, I would like the runnability of the open-source code to be confirmed. I have personally fixed the following bugs, which, in my opinion, should not have been present in runnable code. Therefore, I kindly ask the author to verify the quality of the code.

  1. src/keyframeManager.py line 88 self.self.new_volume_flag = ssnerf.shared_new_volume_flag
  2. No keymanager defined in calss NGEL_SLAM

Even if I fix the above bugs, this code still cannot run successfully. So I hope the author can confirm the operability of the code. Thanks!

Thank you for the author's work. I fully agree with @shibing15 viewpoint. I have also encountered similar issues and have resolved them. It seems to work well with the Replica dataset, but I still face many problems when using the TUM-RGBD dataset.

ShilangChen1011 commented 2 months ago

Sorry, I cannot confirm the code directly because the code I used in the paper is connected between two different computers (ORB-SLAM3 on my PC which does not have gpu and ngel on the server that cannot install ros) through socket server but the released code is a one-device version with ROS. The errors in the code are all about the connection between ORB and NGEL. The only thing I can do is fix the bugs with your feedback.

Thank you for your work and timely response. If you are running the project using two machines in collaboration, could you please share the code for the two-machine setup as well? It would be helpful if the installation and configuration documentation could be more detailed. We have similar requirements and conditions to run the project on two machines.

shibing15 commented 2 months ago

Sorry, I cannot confirm the code directly because the code I used in the paper is connected between two different computers (ORB-SLAM3 on my PC which does not have gpu and ngel on the server that cannot install ros) through socket server but the released code is a one-device version with ROS. The errors in the code are all about the connection between ORB and NGEL. The only thing I can do is fix the bugs with your feedback.

Thanks for your timely response. With your help, many bugs have been fixed. Currently, I have encountered the following problem in ngel_slam.py run(), which seems to be caused by the input of tracking() local_mapping() global_mapping() not being serializable. image

YunxuanMao commented 2 months ago

Sorry, I cannot confirm the code directly because the code I used in the paper is connected between two different computers (ORB-SLAM3 on my PC which does not have gpu and ngel on the server that cannot install ros) through socket server but the released code is a one-device version with ROS. The errors in the code are all about the connection between ORB and NGEL. The only thing I can do is fix the bugs with your feedback.

Thank you for your work and timely response. If you are running the project using two machines in collaboration, could you please share the code for the two-machine setup as well? It would be helpful if the installation and configuration documentation could be more detailed. We have similar requirements and conditions for running the project on two machines.

Hi! I release the 'NGEL with JSON frame infos' version code. You can simply save the keyframe information in a folder and then use them for mapping. This code enables you to reuse the keyframe information from ORB. For real-time usage between two devices, you can simply write a socket server and transfer the JSON file in time after saving it. Because I haven't run the code for about one year, if there are any problems, you are welcome to raise an issue.

YunxuanMao commented 2 months ago

Sorry, I cannot confirm the code directly because the code I used in the paper is connected between two different computers (ORB-SLAM3 on my PC which does not have gpu and ngel on the server that cannot install ros) through socket server but the released code is a one-device version with ROS. The errors in the code are all about the connection between ORB and NGEL. The only thing I can do is fix the bugs with your feedback.

Thanks for your timely response. With your help, many bugs have been fixed. Currently, I have encountered the following problem in ngel_slam.py run(), which seems to be caused by the input of tracking() local_mapping() global_mapping() not being serializable. image

Sorry, I don't know what caused the problem. I have never met the problem before. Check if you can use the new JSON version code I just released.

shibing15 commented 2 months ago

Sorry, I cannot confirm the code directly because the code I used in the paper is connected between two different computers (ORB-SLAM3 on my PC which does not have gpu and ngel on the server that cannot install ros) through socket server but the released code is a one-device version with ROS. The errors in the code are all about the connection between ORB and NGEL. The only thing I can do is fix the bugs with your feedback.

Thanks for your timely response. With your help, many bugs have been fixed. Currently, I have encountered the following problem in ngel_slam.py run(), which seems to be caused by the input of tracking() local_mapping() global_mapping() not being serializable. image

Sorry, I don't know what caused the problem. I have never met the problem before. Check if you can use the new JSON version code I just released.

Follow your advice. It works! But another problem arises, specifically about the modified kaolin library. module 'kaolin.ops.spc' has no attribute 'unbatched_make_parents'. Both the original kaolin and the modified kaolin's kaolin.ops.spc do not have the unbatched_make_parents attribute. So I think it is a problem with the uploaded kaolin library. Thanks! image

YunxuanMao commented 2 months ago

Sorry, I cannot confirm the code directly because the code I used in the paper is connected between two different computers (ORB-SLAM3 on my PC which does not have gpu and ngel on the server that cannot install ros) through socket server but the released code is a one-device version with ROS. The errors in the code are all about the connection between ORB and NGEL. The only thing I can do is fix the bugs with your feedback.

Thanks for your timely response. With your help, many bugs have been fixed. Currently, I have encountered the following problem in ngel_slam.py run(), which seems to be caused by the input of tracking() local_mapping() global_mapping() not being serializable. image

Sorry, I don't know what caused the problem. I have never met the problem before. Check if you can use the new JSON version code I just released.

Follow your advice. It works! But another problem arises, specifically about the modified kaolin library. module 'kaolin.ops.spc' has no attribute 'unbatched_make_parents'. Both the original kaolin and the modified kaolin's kaolin.ops.spc do not have the unbatched_make_parents attribute. So I think it is a problem with the uploaded kaolin library. Thanks! image

Hi! I have updated the kaolin library. Try it now.

shibing15 commented 2 months ago

Sorry, I cannot confirm the code directly because the code I used in the paper is connected between two different computers (ORB-SLAM3 on my PC which does not have gpu and ngel on the server that cannot install ros) through socket server but the released code is a one-device version with ROS. The errors in the code are all about the connection between ORB and NGEL. The only thing I can do is fix the bugs with your feedback.

Thanks for your timely response. With your help, many bugs have been fixed. Currently, I have encountered the following problem in ngel_slam.py run(), which seems to be caused by the input of tracking() local_mapping() global_mapping() not being serializable. image

Sorry, I don't know what caused the problem. I have never met the problem before. Check if you can use the new JSON version code I just released.

Follow your advice. It works! But another problem arises, specifically about the modified kaolin library. module 'kaolin.ops.spc' has no attribute 'unbatched_make_parents'. Both the original kaolin and the modified kaolin's kaolin.ops.spc do not have the unbatched_make_parents attribute. So I think it is a problem with the uploaded kaolin library. Thanks! image

Hi! I have updated the kaolin library. Try it now.

Thanks!