ICL-NUIM数据集是一个RGBD数据集,数据格式和TUM数据集是“兼容”(类似)的,可以用于评估RGBD slam,此外,该数据集还提供了三维环境的真值,因此可以用于对RGBD三维重建结果进行评估,本文主要讲述如何对ICL-NUIM数据集使用CloudCompare这个软件,将三维重建的结果和提供的真值进行比较评估,最终生成一个类似下面这样的热图:

 


CloudCompare安装

CloudComparez=这个软件是一个跨平台的软件,windows,mac,linux都可以使用,官网下载地址如下:http://www.cloudcompare.org/

如果你的系统是Ubuntu16.04,那么恭喜你,安装非常简单,只需要输入:

snap install cloudcompare

其他版本的Ubuntu或者linux发行版见官网教程。


使用CloudCompare评估

我们这里主要是对我们重建的三维的点云进行评估,我的程序里面生成的重建点云是.ply格式的,ICL-NUIM提供的真值则是.obj格式的(真值是.ply格式的也可以),我们下面具体讲一下如何将自己生成的估计点云和真值进行对齐,计算他们之间的距离然后生成热图。

注:这个过程我是在https://www.doc.ic.ac.uk/~ahanda/VaFRIC/living_room.html这个网页里跟着学习的,基本本文的内容和该视频里的一样,但是如果原视频是来自youtube的,所以你懂的。

1、首先将ground truth的obj文件加载进来,然后把自己生成的ply文件加载进来,如下图:

 

这里会发现真值的外表面的mesh都是黑色的,这个和上面视频里面现实的就不一样,视频里包括我使用meshlab打开都是灰色的,但是我这里打开都是纯黑色的(不知道能不能修改,但是没有影响)。

如上图,这里的living-room.obj是提供的真值,下面的room0.klg.ply则是我估计的三维点云模型。

 

2、(可选)将输入的图像做一个变换,如果是ICL-NUIM数据集就要做这个变换,首先转中左边的估计的ply文件,然后选择edit-apply transformation,弹出下面的界面,我们把第二行的1前面加一个负号,然后点ok:

 之所以做这个变换是因为生成的估计的点云文件和真值之间是镜像对称的,所以我这里必须先做这个变换,这个操作非必须。

3、对齐

然后就是进行对齐操作,因为对其我们只需要使用真值的vertices顶点,所以我们先把所有的mesh取消显示(就是把obj的所有的mesh前面的钩钩取消掉),只保留最后的vertices,最后如下:

 

 此时,真值的obj里面就只剩下了vertices,变成了下面的样子:

然后按住ctrl,选中两个文件(注意是obj里面的vertices和你的ply文件)如下图:

 

之后点击下面的“红圈”的按钮,这个按钮表示align two cloud by picking up(at least 4) equivalent point pairs,也就是至少使用4对点来将两个点云进行对齐:

点击按钮之后出现,表示要选择一个被对齐的实体,这里我们选择room0-Cloud,因为vertices是真值,我们要把room0-Cloud对齐到vertices上:

点击OK之后会出现:

 

我们就开始在两个点云上面选点了,这里我们至少要选择四组点才行,也就是“红色”和“黄色”部分各自至少选四个点,并且序号相同的点必须是一一对应的,选完点之后,点击align,然后就会发现两个点云几乎就重合了,然后点击右下角那个钩子确定。

 

4、计算距离,生成热图

 然后再选中这两个:

然后点击下面画“红圈”的图标:

出现下面的页面,把 signed distances取消,点击compute,ok即可:

然后这个一开始的热图的结果就会显示出来了,并且可以在下面的properties里面调整显示的颜色,以及把右边的柱装图显示出来,只要选中visible即可:

 其他

如果想将页面的视图进行保存,可以选择display页面的render to file,保存成bmp图片。如果想不显示3d框的话,只需要不选中任何一个选项,3d框就会消失,此时就可以执行保存图片的操作。

 

 

如果想修改一下背景颜色,可以点击左边的工具栏的第一个电脑图标:最好还是把背景色化成黑色的:

注意把下面的display gradient background取消掉:

以上就是本文的全部内容, 如果对你有帮助的话,请给我的文章点个赞,谢谢!!!

 

 

Logo

更多推荐