首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >通信约束下机器人视觉任务中的点云剔除

通信约束下机器人视觉任务中的点云剔除

作者头像
3D视觉工坊
发布2023-03-02 15:35:06
发布2023-03-02 15:35:06
8500
举报
一、引言

许多机器人使用视觉感知来解释周围环境。经济实惠的 RGB-D 传感器的开发引起了机器人界的兴趣,尤其是在 3D 点云处理领域。RGB-D 传感器能够同时捕获彩色和深度图像。该传感器以高帧速率运行,可以产生超过 10 MB/s 的数据,从而可以解决机器人网络中的潜在瓶颈问题。

机器人视觉任务,例如检测、分割和分类对象,本质上是数据和处理密集型的。小型机器人平台通常没有执行这些任务的机载资源。然而,通过使用远程计算基础设施,可以卸载数据和计算,从而扩展独立机器人的能力。

云计算是一种模型,它支持对共享的可配置计算资源池(例如网络、服务器、存储、应用程序和服务)进行无处不在、方便的按需网络访问,这些资源可以通过最少的管理工作快速配置和发布服务提供商 [1]。最近,机器人领域开始利用云计算资源。云机器人利用云计算和大数据的进步,并具有开发新一代机器人应用程序的潜力。

在这项工作中,我们提出了两种算法,允许智能节流客户端(机器人)和服务器(云)之间的 RGB-D 数据,用于对象分类和跟踪。客户端利用点云帧中的冗余信息来减少传输的数据量。服务器分析接收到的数据,并通过采用自适应阈值设置来调整客户端的传输速率。客户端和服务器共同维护网络的可用性,同时执行手头的视觉任务。

二、客户端点云剔除
1、场景熵

离散随机变量 的香农熵定义为:

其中 ,在云基础架构中,由于有限的带宽和网络延迟,会遇到重大困难。在这些通信限制下,我们在传输之前选择性地剔除点云数据。这种剔除是通过测量连续点云帧的场景熵来完成的。

为了定义场景熵,机器人当前视点提供的点云中体素的密度被用作概率分布。因此,场景熵定义为:

其中 是场景中体素的总数,是体素 的密度, 是所有体素的总密度。这里 表示第 个体素相对于机器人观察场景 的密度,当所有体素具有相同的密度时获得最大熵。

体素密度用作熵计算的度量,因为它提供了检测整体信息内容变化的直接方法。例如,场景中机器人和/或物体的移动导致熵的相应变化。相反,静态场景不会导致熵发生变化。我们感兴趣的是传输具有显着熵差异的连续帧,同时丢弃具有相似熵值的帧。

2、机器人熵计算

我们利用机器人的机载资源对来自 RGB-D 传感器的传入点云帧进行过滤。这种过滤包括移除范围异常值,以及平面模型的估计和提取,以便将场景简化为被分类的对象。八叉树结构用于下采样和存储每个过滤后的点云帧。令 表示当前帧的八叉树,令 为包含 3D 点数据的 的叶(体素),其中 d 是叶的密度。 中所有叶子的密度 是在熵之前计算的。我们遍历 的叶子并累积帧的总熵(算法 1)。

在算法1 中,for 循环是通过对熵变量使用归约子句并行计算的。这导致每片叶子计算的显著加速。在计算出熵之后,与当前设置的阈值进行比较。如果熵值低于阈值,则丢弃该帧。否则,帧的八叉树被压缩 [10] 并发送到远程服务器。在下一节中,我们将解释服务器如何确定熵阈值。

三、服务器端传输节流
1、对象分类和跟踪

对于服务器从客户端接收到的每个过滤后的点云帧,我们使用尺度不变协方差描述符来逐帧分类和跟踪对象。服务器处理的点云帧为每个点提供九种不同的特征。该特征向量表示为:

特征向量的由特定点的笛卡尔坐标 、颜色通道值 和表面法线的坐标组成。

从每个点的特征向量 ,可以计算出一个对象的协方差 :

其中 是对象中的点数, 是点在对象列表中的索引, 是特征向量的平均值。

这些协方差矩阵表征对象并形成对其执行分类的描述符。分类过程在协方差 和 之间的对数欧氏距离 上使用具有径向基函数 的支持向量机 (SVM) [11]。距离定义为协方差矩阵对数之差的 Frobenius 范数:

协方差描述符也用于逐帧跟踪对象。在对当前帧中的对象簇进行分割和提取之后,我们遍历对象并将它们与前一帧中的相应簇进行匹配。具体来说,对于当前帧中的给定对象 ,我们从前一帧中选择对象 ,使得协方差矩阵之间的距离最小:

与使用其他跟踪方法相比,使用协方差描述符进行对象跟踪可以节省计算量。由于对象的协方差矩阵已经在前一帧中进行了分类计算,因此很容易在当前帧中调用它们进行匹配。此外,每个对象的协方差矩阵可以紧凑地存储在内存中,使描述符成为跟踪对象的理想选择。

2、 熵阈值设置

对于识别常见物体的机器人视觉任务,我们允许服务器限制客户端对 RGB-D 数据的传输。服务器利用滑动窗口的方法,通过调整熵阈值来确认客户端接收到的点云帧。当前帧中对象的正确分类会导致服务器增加熵阈值。当前帧中对象的错误标记会导致服务器降低客户端的熵阈值。

在算法2中,令 代表服务器接收到的第 帧 3D点云数据。对于每一帧,我们计算提取的对象簇 的协方差描述符。然后根据计算的描述符从 SVM 模型中获得簇 的预测标签。接下来,簇 与 中的簇匹配,具有最小对数欧氏距离。最后,如果当前帧和前一帧之间存在标签不匹配,则熵阈值减小 ,如果标签匹配且当前熵阈值小于最大阈值,则熵阈值增加 。

传感器噪声和聚类分割不佳的结果会导致对象标记的错误分类。通过降低熵阈值,我们允许客户端传输更多帧,并期望额外的帧会降低整体错误分类率。当系统处于最佳状态时(即当前帧中没有错误分类的对象),我们可以通过增加熵阈值来降低客户端的发送速率,从而减少机器人网络中的数据包流量。

四、实验结果

在实验中,我们使用 Microvision 机器人对标记为 A、B 和 C 的三组对象进行了对象分类。组 A 由盒子、咖啡罐和鞋子组成。套装 B 由咖啡罐、热水器、纸卷和梭子组成。集合 C 由所有六件物品组成:盒子、咖啡罐、热水器、纸卷、鞋子和梭子。

在表中,我们展示了执行点云剔除的结果。对于每个对象集,该表显示了从客户端传输到服务器的点云帧与捕获的帧总数的比率、不传输相似帧数据所节省的数据量以及分类的准确性。准确度的衡量标准是每个对象簇正确分类的帧数除以捕获的帧总数。通过协同工作,客户端和服务器能够将对象集 A 通过网络发送的帧数减少 45.1%,对象集 B 减少 40.6%。对象集 C,由彼此靠近放置的所有对象组成 由于物体之间有很多遮挡,从机器人传输到服务器的帧数减少了 22.6%。通过点云剔除,每组对象的分类性能保持一致(与不执行剔除相比),同时减少了传输的帧总数。

总结与展望

客户端(机器人)在连接到云环境中的服务器时,可以理想地利用数据资源进行处理。服务器的角色也可以用来为客户端的动作提供指导。分类和跟踪对象既是数据密集型又是计算密集型机器人视觉任务。它可以压倒机器人的机载资源并使网络紧张。我们提出了一种新颖的框架,可以通过减少从客户端传输到服务器的点云帧的数量来自主防止网络饱和。

当机器人围绕一个目标集移动时,实验结果表明机器人没有必要传输每个点云帧;分类性能是通过传输帧的一个子集来维持的。这项工作展示了使用移动机器人在云计算环境中执行实时视觉任务的能力。

未来的工作包括开发更强大的分割方案。通过改进对象簇的分割,我们可以提高分类性能并进一步降低 RGB-D 数据传输速率。对象簇的提取仍然是该领域的一个重要且困难的问题。合并其他信息指标(例如互信息)是我们未来工作的一部分。

最后,我们有兴趣将云计算的思想应用于异构机器人团队中的视觉任务。在分布式机器人中心,我们目前正致力于开发利用云计算基础设施的机器人算法。我们相信云机器人领域将为小型和低成本机器人在越来越多的应用中的利用开辟新的途径。

本文仅做学术分享,如有侵权,请联系删除!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-02-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 3D视觉工坊 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、引言
  • 二、客户端点云剔除
    • 1、场景熵
    • 2、机器人熵计算
  • 三、服务器端传输节流
    • 1、对象分类和跟踪
    • 2、 熵阈值设置
  • 四、实验结果
  • 总结与展望
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档