介绍
Kitware一直在与谷歌探戈项目团队帮助他们创建软件仪表盘C现金并使用跟踪算法性能MIDAS公司谷歌将该项目描述为“试图创造一种不同于其他任何移动设备的移动设备,一种共享我们空间感和运动感的移动设备。它以与我们相同的方式理解和感知世界。”
作为Kitware工作的一部分,我们很幸运地收到了两个用于测试的Project Tango开发工具包。这些开发套件本质上是手机,提供先进的三维感知功能,用于生成环境的彩色点云。收到设备后,在办公室里四处走动,查看设备上的深度图和点云,并进行了大量自拍,我们很高兴能在我们最喜欢的科学可视化工具中查看数据ParaView视图.
这篇文章描述了如何从Project Tango开发工具包中获取数据,并使用ParaView将其可视化,而无需编写一行代码。如果您有幸获得演示设备,您将学习如何在ParaView中下载和查看数据。对于其他人,我们提供了示例数据的链接,您可以下载并试用。
我们计划发布一系列后续帖子,涵盖使用ParaView对Tango数据进行更高级的交互和分析,VTK公司过滤器,以及点云库(PCL)过滤器。敬请期待。
使用Tango扩展安装ParaView
为了方便处理Tango数据,我们在标准的ParaView安装程序中添加了一些额外的功能。这些包括ParaView PCL插件和一些额外的Tango特定过滤器。您可以使用以下链接下载预先构建的二进制文件。安装应用程序后,您应该能够启动ParaView。
Mac上的注意事项:您可以通过将ParaView拖动到“应用程序”文件夹链接,将其安装到“应用程序”文件夹中。您也可以通过CTRL-单击并选择“打开”直接运行ParaView。
也可以将这些额外的好东西与已安装的ParaView版本一起使用,或者从源代码构建所有内容。现在我们假设您使用的是预先构建的二进制文件。
捕获数据
使用Tango Mapper收集数据
您可以使用手机上预装的Tango Mapper应用程序从Project Tango开发工具包收集3D数据。我们在Tango Mapper屏幕左上角的Report Failure模式菜单选项中运行应用程序。选择[Superframes 4MP],然后四处走动并将相机指向有趣的场景。完成后,选择后退箭头。这将把数据保存在设备上的/data/data/com.motorola.atap.tangomapper中。
将数据从手机传输到计算机
您需要一个可从Android SDK运行的adb可执行文件。一旦你有了它,你就可以通过USB 3.0连接器将开发套件连接到你的电脑上。然后,您应该能够使用adb pull复制您感兴趣的数据目录。您还可以使用adb shell为cd和ls等Unix命令查找数据。
下面是获取目录中数据集的示例adb拉2014年3月28日_114300:
$adb pull/data/data/com.motola.atap.tangomapper/files/2014Mar28_114300
拉入:正在生成文件列表…
拉入:/data/data/com.motorola.atap.tangomapper/files/2014Mar28_114300/superframes/m0008948.pgm->/超帧/m0008948.pgm
拉入:/data/data/com.motorola.atap.tangomapper/files/2014Mar28_114300/superframes/m0008947.pgm->/超帧/m0008947.pgm
….
此时,您应该已经掌握了收集的所有数据,您应该准备好使用ParaView查看!
下载示例数据
如果您无法使用设备,可以在此处下载测试数据:
解压缩后,会有一个名为探戈_20140401(或 2014Apr10_133430_skateboard(如果使用较小的数据集)。此文件夹包含我们使用上述过程收集的原始数据。
使用ParaView可视化探戈数据
要在ParaView中查看Tango数据,请启动ParaView,创建源过滤器并设置其参数,应用过滤器加载数据,最后制作视图动画。
创建探戈源过滤器
从来源菜单,选择探戈源。这将创建一个源过滤器,用于读取Tango数据。GUI左下方列出了过滤器的参数。设置号码簿数据目录的参数(例如,/Volumes/Macintosh HD/Users/davisb/Downloads/tango_20140401)。如果使用文件打开对话框,则应选择数据目录中的任何文件(例如,/Volumes/Macintosh HD/Users/davisb/Downloads/tango_2014041/states.txt)。您现在可以忽略其他参数;默认设置很好。
加载数据
现在单击应用按钮加载数据。一两秒钟后,您将看到点云数据的第一帧。您可以使用鼠标与场景交互(例如,单击并拖动将旋转场景,CTRL-单击并拖动–或右键单击并拖动-将缩放)。
设置视图动画
现在启动动画以查看所有记录的点云帧。从查看菜单,打开动画视图。现在您可以使用动画工具栏在GUI顶部播放帧。这个结束时间的字段动画视图显示了可用帧的总数。目前,只有具有高分辨率RGB图像的帧可用。
探戈源选项的详细介绍
探戈源过滤器包含几个您可能需要调查的选项。
- 号码簿–源数据位置。如果使用“…”文件浏览器按钮,则需要选择文件而不是目录;选择源数据目录中的任何文件,例如states.txt文件。
- 应用姿势–如果为true,则将重建的姿势信息应用于点云。如果为false,云将显示在深度摄影机的坐标系中。
- 静态–加载数据时忽略时间信息。
- 上采样深度–默认情况下,高分辨率图像被降采样到深度缓冲区的分辨率。使用此选项,深度缓冲区将进行上采样。使用上采样深度缓冲区时,动画播放的性能较慢。
- 跨步–非零值通过从每个Stride点中选择一个来对输入数据进行降采样。将“步幅”设置为1将加载所有数据。
- 时间偏移量–当动画视图在给定时间请求数据时,请提供该时间的数据加上此偏移量,以便同时对来自多个源的不同视图进行动画处理。
可视化摄影机的路径
除了从深度摄影机导入点云之外,ParaView的探戈插件还提供了一种可视化摄影机随时间变化的运动的方法。首先,创建一个探戈路径通过选择源探戈之路来自来源菜单。此源将生成完整的传感器路径作为一条线。您将在管道浏览器中看到新的源过滤器。选择新过滤器,设置号码簿到数据目录(与探戈来源),然后单击应用。要按时间为传感器路径着色,请使用着色 下拉菜单。
还可以使用探戈相机注释过滤器。首先,单击探戈来源中的筛选器管道浏览器确保选中;这将确保新过滤器与探戈来源作为其输入。接下来,选择探戈相机注释过滤器来自过滤器->字母顺序菜单。新过滤器将出现在管道浏览器作为探戈来源过滤器。此筛选器的默认设置很好,因此单击应用。现在您应该看到当前相机位置表示为框架.如果您开始动画传感器帧将随点云数据及时更新。