VDO-SLAM预处理过程中Mask-RCNN输出结果生成与格式问题

背景:尝试在其他KITTI数据集上运行VDO-SLAM

VDO-SLAM呈现了一种鲁棒的动态目标感知SLAM系统,该系统利用语义信息,可以在不具有目标形状或运动模型先验信息的条件下,对场景中的刚性物体进行运动估计。在数据预处理模块,需要对图像进行Mask-RCNN实例分割,作者的要求如下:

img

我是第一次使用Mask-RCNN,想问问熟手们,如何对demo.ipynb进行合适的修改,从而实现输出图片大小相同的,背景像素位标记为0,其他每一个实例像素位分别标记为1,2.....的.txt文件。我目前只能得出results列表中的masks,里面是false和true,而且不是二维的。请问针对这个问题该如何处理,就像是VDO-SLAM作者给出的demo-kitti文件夹处理的结果那样,满足数据组织形式

img

此外不知道有没有对VDO SLAM算法感兴趣的朋友,想问下实例分割txt文件里每个物体的标注是否需要全局统一。换句话说,我只能逐个处理序列的每一帧,这就可能导致第一帧的物体A和B分别标注为1,2,背景为0;下一帧A和B标注为2,1,背景仍为0。这是系统允许的吗?如何解决这个问题?能否将您复现成功时使用的mask-rcnn和pwc-net预处理模块的代码提供参考。

望采纳!!!点击回答右侧采纳即可!!

对于你想实现的需求,我可以提供一些思路,帮助你完成对demo.ipynb的修改。

首先,在运行Mask R-CNN模型之后,你可以使用检测到的类别和掩模(masks)来处理图像。

具体来说,在检测到每一个实例后,你可以循环该实例的掩码,将每一个像素的值标记为相应的实例类别值(1, 2, 3...)。并且在掩码中找不到相应的类别时将该像素标记为0(背景像素)

然后,你可以使用处理好的图像,将其转换成文本文件。

可以考虑使用numpy.savetxt来存储文本文件。

为了使图片大小相同,你可以在读取图片之前使用某种图像处理技术(如OpenCV)来对图片进行resize。

总之,这个任务虽然不是非常困难,但需要对模型的输出结果进行适当的处理。希望我的回答能帮助你完成这个任务。

VDO-SLAM 是一种基于视觉的三维重建技术,在预处理过程中可能会使用 Mask-RCNN 来提取图像中的物体轮廓。具体来说,Mask-RCNN 会输出每个检测到的物体的边界框和对应的分割掩码。这些输出结果可能会被保存为图像或者数组格式,并在后续的 VDO-SLAM 处理中使用。