MisEty / RTG-SLAM

RTG-SLAM: Real-time 3D Reconstruction at Scale Using Gaussian Splatting (ACM SIGGRAPH 2024)
https://gapszju.github.io/RTG-SLAM/
GNU General Public License v3.0
170 stars 12 forks source link

这行代码是否有误? #6

Closed zengliangjun closed 1 week ago

zengliangjun commented 1 week ago

diff --git a/SLAM/multiprocess/mapper.py b/SLAM/multiprocess/mapper.py index b376f66..ecd0295 100755 --- a/SLAM/multiprocess/mapper.py +++ b/SLAM/multiprocess/mapper.py @@ -863,7 +863,7 @@ class Mapping(object):

     stable_normal_check = self.stable_pointcloud.get_normal[intersect_stable_index]
     stable_xyz_check = self.stable_pointcloud.get_xyz[intersect_stable_index]

请教一下,这一行是否有误呀! 应该为 unstable_xyz

MisEty commented 1 week ago

不好意思没有看明白您的问题,可以具体描述一下您想要修改的是哪一行

zengliangjun commented 1 week ago

代码 SLAM/multiprocess/mapper.py

indices 对应是 unstable_xyz 的索引,在使用的时侯用的是 self.temp_pointcloud。 在 837 行 unstable_xyz 与 self.temp_pointcloud 己经不一样了。 所以我理解 866 行应该改为 unstable_xyz_check = unstable_xyz[indices] 才是正解的。

不知道这样理解对不对?

MisEty commented 1 week ago

在这个函数中,我们对temp_pointcloud进行筛选,temp_pointcloud是每帧新添加的高斯点,而此时这些点都是不透明的(参考add_empty_points),因此L837并不会筛选掉任何高斯,self.temp_pointcloud.get_xyzunstable_xyz相同,并不会出现您说的问题。 很抱歉我们在整理代码的过程中出现了错误导致了理解上的困难,感谢您的提醒,我们之后会修改这段代码使其不再产生歧义。