众所周知,传感器在配合使用时效果最佳。对于同步定位与地图构建 (SLAM) 来说更是如此。SLAM 在 AR/VR 领域扮演着重要的角色,可以根据用户的姿势调整场景,避免无人机或机器人这样的应用在使用过程中的碰撞,用途广泛。SLAM市场预计到2023年将增长至4.65亿美元,年复合增长率为36%,为大多数开发者提供了绝佳机遇。
在手机上将 SLAM 应用于室内导航可能会在规模庞大的基础平台市场中占据主导地位。GPS 不能在室内工作,基于信标的导航只能在具有信标基础设施的区域工作。而 SLAM 则可以在任何提供室内地图的地方工作,符合大多数楼宇自控管理系统的低成本期望。将该区域的场景与用户在该区域行走时的姿势和运动融合到了一起,使得在此处应用 SLAM 成为了应用传感器融合的绝佳示例。
开箱即用的方案
我将首先描述如何在我们的 CEVA SensPro Sensor Hub DSP 硬件的基础上,结合我们的 SLAM 和 MotionEngine 软件模块,集成并测试这个解决方案,以调节和管理运动输入。我们需要一个摄像头和惯性测量传感器,一个 CPU 和 DSP 。我们将 CPU 用来承载MotionEngine 和 SLAM 框架,并用 DSP 来执行 SLAM 算法来减轻任务负担。
为了更简单的解释,我将首先从 OrbSLAM 算法开始,这是一种广泛使用的执行开放源代码的算法。它将执行三个主要功能。跟踪做(视觉的)逐帧注册,并在当前地图上定位新的帧。构图将点添加到地图,并通过创建和求解一组复杂的线性方程进行局部优化。循环闭合通过在返回到曾经到达过的点上进行修正来进行全局优化。这是通过求解一组大型线性方程式来实现的。
其中一些功能可以非常有效地运行在CPU内核的主机应用程序内,同时还有你的应用程序所特有的控制和管理功能。某些功能必须在 DSP 处理器中运行才实用或获得竞争优势。例如,跟踪在可能在CPU 中管理 1 帧/秒 (fps),其中特征提取占算法运行时间的 40%。相比之下,DSP 实现可管理 30帧/秒 (fps),这种分辨率对于视频和 IMU 之间的细粒度关联非常重要。
这种优势的原因很容易理解。DSP 实现提供了非常高的并行处理能力,提供定点数/浮点数支持,这在跟踪和求解线性方程中至关重要。此外,还有一个特殊指令集来加速特征提取。主机和 DSP 之间的简单链接可以将 DSP 看作加速器,从而将密集型计算分流到 SensPro。
视觉融合 IMU
我们提供了两个关键组件:使用 CEVA-SLAM SDK 产品的视觉SLAM 和 CEVA MotionEngine 软件,该软件可以非常精确地处理六个自由度中的三个自由度的IMU输入。IMU 和视频信息的融合取决于迭代算法,该算法通常是根据应用要求定制的。最后一步将视觉数据与运动数据联系起来,以生成精确的定位和映射估计值。 CEVA 提供成熟的视觉SLAM 和 IMU MotionEngine软件作为开发融合算法的坚实基础。构成这样的算法密集型功能将在DSP上运行最快,比如我们的SensPro2平台。
测试原型
构建原型平台后,将如何去测试?有多个 SLAM 数据集可用。Kitti 就是其中一个,EuroC 是另一个。在下面的例子中,我展示了 OpenCV 的实现与我们的 CEVA-SLAM SDK 实现的精度比较。您会想对您的产品做类似的分析。
融合您自己的方法
正如我前面提到的,构建 SLAM 平台有许多方法。也许您不想从 OrbSLAM 开始,或者您想融合自研的算法或是差异化的算法。SensPro Sensor Hub DSP 均可支持。
原文标题:CEVA凭借SensPro Sensor Hub DSP协助客户有效实现传感器融合
文章出处:【微信公众号:CEVA】欢迎添加关注!文章转载请注明出处。
审核编辑:汤梓红
全部0条评论
快来发表一下你的评论吧 !