PALMS: Plane-based Accessible Indoor Localization Using Mobile Smartphones
arxiv | 加州大学待开源 PALMS: 使用移动智能手机的基于平面的无障碍室内定位 【PALMS: Plane-based Accessible Indoor Localization Using Mobile Smartphones】
文章链接:[2410.15694] PALMS: Plane-based Accessible Indoor ...
项目主页:https://github.com/Head-inthe-Cloud/PALMS-Plane-ba...
一区top Science Robotics
PALMS:使用移动智能手机进行基于平面的无障碍室内定位
摘要:在本文中,我们介绍了 PALMS,这是一种适用于移动智能手机的创新型室内全球定位和重定位系统,该系统利用公开的平面图。与大多数需要持续视觉输入的基于视觉的方法不同,我们的系统采用动态定位形式,考虑单个瞬时观察和里程计数据。这项工作的核心贡献是引入了一种粒子滤波器初始化方法,该方法利用了定空空间(CES)约束以及主方向匹配。这种方法创建了设备位置的空间概率分布,显着提高了定位精度并减少了粒子滤波器收敛时间。我们的实验评估表明,PALMS 的性能优于采用统一初始化粒子过滤器的传统方法,为室内寻路提供了一种更高效、更方便的方法。通过消除预先环境指纹识别的需要,PALMS 提供了一种可扩展且实用的室内导航方法。
完整的代码和数据可以通过以下链接访问:https://github.com/Head-inthe-Cloud/PALMSIndoor-Localization/tree/main
索引术语—室内定位、全局定位、重定位、粒子滤波器、平面检测、 CES 限制,移动智能手机
I. 简介
室内寻路,即确定并沿着建筑物中的路径到达所需目的地的能力,是一个开放的研究领域,其应用包括旅行(例如,在机场中寻找登机口)、健康(例如,寻找医生办公室)和娱乐(例如探索博物馆)。对于盲人或视力低下的人来说,寻路尤其具有挑战性,因为这些人无法依靠视觉地标来确定方向,也无法轻松查阅该地点的地图。
有不同类型的智能手机应用程序可用于辅助寻路。有些(如 Google 地图和 Apple 地图)是通用定位和导航应用程序,可以使用来自 Wi-Fi 接入点或蓝牙低功耗 (BLE) 信标的无线电信号在室内工作(即使 GPS 信号不可用)。这需要事先进行指纹识别阶段,一般来说,该阶段涉及在建筑物中密集的空间位置网格上收集信号测量值(接收信号强度或 RSSI)。室内 Atlas 依靠“磁签名”进行地图绘制,并且还需要事先对环境进行指纹识别。 GoodMaps 是一款专为盲人用户设计的寻路应用程序。它使用从智能手机摄像头拍摄的图像来实现室内测绘,并使用计算机视觉技术将这些图像与前一阶段收集的视觉特征数据库进行匹配(可以称为视觉指纹识别)。
这些技术的缺点是定位仅在已进行指纹识别的环境中可用,这代表了可用建筑物的一小部分。尝试使用航位推算来定位和跟踪步行者的系统提供了一种更具可扩展性的方法,不需要指纹识别。例如,克拉布等人。 [1] 尝试使用 ARKit(一种用于视觉惯性里程计 (VIO) 的 iOS 框架)进行寻路。该系统的用户在行走时手持智能手机,以便相机可以清晰地看到环境。运动结构算法辅以惯性数据,可测量手机相对于固定参考系的速度和方向。通过对速度矢量随时间的积分,可以重建步行者的轨迹。不可避免的漂移(由于瞬时偏差和噪声)可以通过粒子滤波来补偿,粒子滤波使用建筑物的平面图来调节重建的轨迹(特别是通过阻止穿过墙壁的轨迹)。 Ren 等人也采取了类似的方法。 [2]、[3],但仅依靠惯性传感器,使用基于步进的行人航位推算 (PDR) 或基于机器学习的里程计 (RoNIN)。
航位推算里程计的一个主要问题是需要知道起始位置和方向,需要某种形式的初始定位。此外,由于零星的系统故障或累积漂移导致的跟踪不良,可能需要偶尔重新定位。在某些情况下,建筑物中位置已知的可识别视觉地标(例如出口标志)可用于初始定位或重新定位(在下文中,我们将在这两种情况下使用术语定位)。然而,这种类型的地图注释并不常见。
在这项工作中,我们只会考虑建筑物平面图形式的有关环境的先验信息。平面图通常是可用的,特别是公共场所的平面图,它们经常发布在网上。它们通常代表结构元素(例如墙壁),与家具或其他物体不同,它们预计会随着时间的推移保持稳定。基于平面图的定位非常可取,因为它消除了对环境指纹或详细地图注释的需要。此任务类似于当“您在这里”标记缺失时,建筑物的访客试图在张贴的地图中定位自己。例如,人们可以在平面图中搜索附近特征(如门、墙角、走廊大小)的存在及其空间关系(如地图所示)与所在位置的可见场景一致的位置。我们提出的PALMS(基于平面的无障碍室内定位使用移动智能手机)系统使用iPhone LiDAR获取的3D数据来检测可见墙壁几何形状的特定特征,然后将其与平面图中显示的墙壁结构进行匹配。
无论考虑何种方法,可以合理地预期,在具有自我重复结构元素的建筑物中(例如,具有均匀间隔的门的长走廊),对于每个位置,可能存在多个其他位置,从这些位置来看,视觉场景看起来相似。为了减轻这种模糊性,我们考虑了一种动态形式的本地化:用户从他们的位置拍摄环境图像(或者在我们的例子中为 3D 扫描);然后,他们开始沿着特定的路径(例如随机)向任何可用的方向行走。在一段(希望很短的)时间内,系统通过将初始数据收集的信息与来自传感器数据的航位推算里程计信息(由粒子滤波器调节)相结合来确定它们的位置和方向。直观上,虽然平面图中的多个位置可能与在给定位置记录的视觉数据一致,但如果从不正确的位置开始,相同的路径(来自航位推算)可能是不可行的(因为物理限制)。受[4]、[5]的启发,我们通过定义用户位置的先验空间概率分布来实现这种直觉,在我们的例子中,该概率分布是根据观察到的墙壁与平面图的局部特征的匹配程度得出的。然后,在用户行走时记录的传感器数据的驱动下,开始常规的粒子演化过程。撞击墙壁的粒子将从剩余粒子中重新采样,这通常会导致粒子快速合并成一个簇。跟踪粒子的分布直到声明收敛,此时假设用户的位置已被可靠地确定。
以下是这项工作的主要贡献:
• 我们提出了一种新颖的方法 (PALMS) 来评估使用配备 LiDAR 的 iPhone 在某个位置捕获并经过处理以提取平面墙壁的 3D 扫描在某个位置进行的概率。平面图中的某个位置,用于 LiDAR 参考系的 N 个可能方向之一(在我们的例子中,N = 4)。该概率是根据从激光雷达扫描中提取的墙壁补丁计算的,然后将其与平面图中标记的墙壁进行匹配。通过针对 LiDAR 参考系的每个可能方向的线性卷积,可以快速计算整个平面图(热图)中位置的概率分布。
• 我们提出了一种动态定位方法,该方法使用根据在 N 个所考虑的每个方向上计算的热图初始化的粒子滤波器
• 我们引入了一个 2 步标准,可用于声明“收敛”,即收敛后的时间点可以假设当前用户的位置已被正确识别。我们的实验数据表明,与均匀的初始概率分布相比,所提出的基于 PALMS 的初始化可减少收敛时间并提高收敛后的定位精度。特别是,PALMS 的平均 RMSE 比 Uniform 小 6.7 倍,而误差小于 1 米的位置比例被发现 PALMS 比 Uniform 高 4.9 倍。
二.相关工作
在室内、GPS 无法使用的环境中,基于智能手机的行人跟踪和定位系统最近受到了相当多的关注。许多研究人员提出了基于无线技术的接收信号强度指示器(RSSI)值来估计用户位置的方案,包括WiFi [4]、蓝牙低功耗(BLE)信标、射频识别(RFID)、超宽带( UWB)和磁场指纹识别 [3]。 W-RGB-D [4] 使用 WiFi 信号强度热图来初始化粒子滤波器,以便在模糊环境中快速收敛。我们遵循类似的粒子滤波器初始化方法,如第 III-B 节中所述。然而,RSSI 方法要求在使用前进行预先校准或“指纹识别”,这限制了这些方法的可扩展性。同样,图像检索方法 [6] 需要预先构建的图像数据库,而基于 3D 结构的方法 [7] 需要预先构建的 SfM 模型。与基于指纹的方法相比,一些先前的工作无需事先访问即可仅利用已知的平面图来执行室内定位。
在这些工作中,基于激光雷达的方法尤其引人注目。此类方法利用 3D 到 2D 点云匹配 [8]、几何特征匹配 [9],通常与粒子滤波器 [10] 或图优化 [11] 相结合。另一方面,基于图像的方法[1]、[7]、[12]-[20]旨在通过利用图像特征[13]、语义信息(门[12]、[ 14]、[15]、窗口 [15]、文本 [16] 和出口标志 [1])或场景几何形状(垂直线和垂直平面 [13])。 [17]从凸起的 2D 平面图中采样 3D 点,并与 RGB 重建的 3D 场景进行点云匹配。
虽然这些方法通常依赖于多个连续传感器测量的信息流,但一些方法试图通过仅考虑瞬时观察来解决室内定位问题[14]、[18]。最近,LaLaLoc [19] 和 LaLaLoc++ [20] 使用深度神经网络来查找全景图像的“嵌入”,以与平面图上二维位置的“嵌入”相匹配。正如大多数论文所指出的,当仅针对布局进行本地化时,无法完全消除布局相似性带来的歧义,因此很难使用单个观察进行定位。
在这项工作中,我们考虑了一种动态形式的无指纹定位,它利用公开的平面图、瞬时观察和由里程计数据更新的粒子过滤器(参见第 III 节)。
三.方法
A. 平面检测和主方向匹配
我们在 360° LiDAR 扫描中检测垂直平面斑块(墙壁),并使用基于 ARKit 的自定义 iOS 应用程序获取其 3-D 姿态。然后将这些面片投影到地平面上,形成一组二维线段(以公制单位)Lobs = {lobs,1, lobs,2, ..., lobs,n}。我们还将给定平面图中的墙壁表示为一组二维线段 Lfp = {lfp,1, lfp,2, ..., lfp,m},也以公制单位表示。
直观上,为了定位观察点(LiDAR 扫描的投影中心),我们可以尝试将 Lob 放置在 Lfp 上,同时调整 Lob 的方向和位置,就像放下一块拼图来寻找匹配一样。我们通过观察来限制方向集,在大多数建筑物中,仅观察到一组离散的墙壁方向。在我们的实验中,我们考虑了墙壁以 90° 相交的建筑物,导致任何墙壁都有 2 个可能的方向。请注意,我们的算法可以轻松扩展到更复杂的建筑物(例如,以 45° 倍数相交的墙壁)。
我们的第一个任务是确定角度 θ,以便通过将所有观察到的线段 Lob 旋转 θ,任何一个此类线段都与平面图中的一个或多个线段对齐。请注意,如果 θ 满足此属性,则 0 ≤ k < 3 的所有角度 θ+k·90° 也将满足它,因此需要考虑。我们通过首先找到观察到的线段以及平面图线段的两个正交主方向来确定 θ。 θ 被视为成对对齐两个域中发现的主方向的最小角度。
B. 热图创建
考虑观察到的线段 Lob,旋转 θ + k · 90°。我们的目标是对于平面图中的任何点定义该点代表观察点的可能性。理想情况下,在正确的位置和方向,观察到的线段和平面图线段应该重叠。通过将这些片段光栅化为位图并将它们逐像素相乘,我们获得了一个分数,该分数在归一化后定义了该位置的概率分布。测试多个位置类似于在光栅化平面图上计算卷积,其中卷积核(记录墙称为 RW)代表在 LiDAR 扫描中观察到的墙壁(见图 1))
图 1. PALMS 粒子滤波器初始化的pipeline。基于 ARKit 的应用程序(左上)在 360° LiDAR 扫描中检测垂直平面斑块(墙壁)。我们使用他们的 3-D 姿态通过主方向匹配、收缩或平滑创建 4 个卷积核。每个内核都会旋转以匹配可能的方向。然后,我们将栅格化平面图与每个内核进行卷积,以创建 4 个热图 H0∼3。我们从每个热图中提取前 1% 的位置,并随机采样 4 组粒子,每组有 p 个粒子从相应的方向共享相同的初始漂移。然后这些颗粒将被放置在一个颗粒过滤器中。彩色边缘和点表示不同的方向组。橙色代表正确的方向,绿色十字表示地面实况观察点。
虽然直观上很有吸引力,但这种简单的方法有两个主要缺点。首先,从激光雷达扫描中提取的平面图和墙壁的姿态都可能受到错误的影响。因此,即使当 Lob 以正确的观察点为中心时,观察到的线段也可能不会与平面图线段完全重叠。为了解决这个问题,我们使用高斯核平滑观察到的线段位图,这基本上“加宽”了线段以解决可能的定位错误。其次,该标准不利用可见性约束。假设观察到的线段与平面图线段匹配,并且另一个平面图线段位于正在检查的位置和该匹配线段之间(见图 2)。这种不匹配的平面图部分不会受到我们简单的“拟合优度”测量的影响,但它的存在在物理上是不可能的,因为它会遮挡匹配墙壁部分的视图。
图 2. 肯定是空的空间 (CES)。 CES 强制实施可见性限制,以消除物理上不可能的匹配。该图显示了两种场景:在匹配 1(右上)中,由于没有平面图段属于 CES(橙色),因此满足约束。在匹配 2(右下)中,多个线段与 CES(亮红色)相交,使其成为不太可行的匹配。
为了加强可见性约束,我们引入了肯定空白空间(CES)的概念(见图2),它表示根据从某个位置进行的观察,在平面图中不应发现墙壁的区域。具体来说,如果从某个位置观察墙壁(线段),则在该位置处观察到的线段所包围的三角形中不应找到其他平面图线段。所有可见线段的此类三角形的并集形成 CES 区域。通过将 CES 空间集中在平面图中的不同位置,我们可以找到哪些位置打破了可见性约束(因为它们包含 CES 区域内的墙壁)。这是通过定义第二个内核 (CES) 来实现的,CES 区域的值为 1,否则为 0,并将其与光栅化平面图进行卷积。为了解决可能的壁定位错误,我们首先稍微“缩小”(重新缩放)CES 内核,然后将两个内核合并为一个,等于 RW − α · CES,其中我们在实验中设置 α = 1。
在实践中,我们首先将观察到的线段 Lob 旋转角度 θ(第 III-A 节),并计算内核 RW −α·CES。光栅化平面图与该内核的卷积形成热图 H0。然后,我们将内核旋转 90° 的倍数来计算附加热图 H1、H2、H3。热图 Hk 表示观察点在平面图上的概率分布,假设 LiDAR 扫描的参考系与平面图参考系之间的角度为 θ + k · 90°。
C. 从热图初始化粒子过滤器
在我们的实验(第 IV 节)中,“地面实况”观察点 Pgt 始终出现在所有热图值前 1% 的位置中。因此,我们使用等于所有图中所有值的 99 个百分位的阈值,通过对它们进行二值化来简化所有热图(见图 1)。二值化热图 Hk 中标记为 1 的每个位置表示第 k 个方向的候选观察点。请注意,不同方向的热图中 1 的比例可能会有所不同。
我们使用这些二进制热图来初始化粒子滤波器,跟踪用户在传感器数据驱动下离开观察点时的运动。按照[2],每个粒子跟踪由位置和角度漂移形成的状态。过滤器的初始化如下。对于每个二进制热图,我们在热图等于 1 的区域内生成许多以均匀空间密度采样的粒子。然后,我们将所有生成的粒子放置在平面图上,其中从 Hk 热图生成的粒子被分配一个标签( k) 并给出初始方向漂移 θ+k·90°。在粒子过滤器更新期间,撞击墙壁的粒子将从剩余粒子(任何组)中重新采样,这通常会导致粒子快速合并成一个簇。请注意,当从带有标签 k 的粒子重新采样粒子时,重新采样的粒子保持相同的标签、位置(添加了噪声)和角度漂移(添加了噪声)。
D. 收敛标准
因此可以预期,粒子滤波器在一段时间后将收敛到正确的用户位置(全局定位问题[21])。例如,[1] 显示了定位误差小于 1 米所需时间的经验表征。然而,在实际场景中,系统无法访问该误差指标。因此,需要一个可测量的标准来可靠地声明“收敛”,从而使用户能够假设从该点开始就可以准确地跟踪他们的位置。我们提出了基于粒子分布的两步收敛标准。在步骤 1 中,我们检查一个标签是否主导当前粒子集(至少 80%),因为具有正确初始方向的粒子不太可能撞到墙上,并且更有可能生存。我们将此点标记为 t1。
在步骤 2 中,我们使用均值平移算法对具有主导方向的粒子进行聚类,并检查主导簇是否包含至少 50% 的这些粒子。在t2点,我们认为粒子滤波器完全收敛,算法输出主导簇的平均位置作为预测的用户位置Ppred(见图3)。与 [2] 一样,我们运行均值平移算法,在 t2 之后每 20 个时间步更新一次主导簇,以跟踪用户的位置。
四.实验
A. 数据收集
我们从 3 座建筑物中的 14 条路径(每 7 个起点 2 条)收集数据,平均长度为 147m。每个数据集包括起始位置处 LiDAR 检测到的垂直平面(使用 iPhone 14 Pro)以及沿路径记录的传感器数据。我们通过旋转手机 360° 来扫描周围环境,然后离开观察点,手持手机并将摄像头朝前,使用 iOS 的 ARKit 收集里程数据。我们使用此里程计数据和在正确位置和方向初始化的粒子滤波器来生成“地面实况”位置数据。
可以通过以下链接访问该数据集:https://github.com/Head-intheCloud/PALMS-Indoor-Localization/tree/main
B. 使用 PALMS 进行全局定位
在本实验中,我们评估使用 3-D 扫描数据进行 PALMS 初始化的优点。我们将其与没有此数据的两种方法进行比较。在第一种方法(均匀)中,粒子在整个平面图上均匀采样,随机初始角度漂移在 0° 到 360° 之间。第二种方法 (Uniform + Ori) 对粒子位置进行均匀采样,并为 k 组 (0 ≤ k < 3) 中的每组分配初始角度漂移 θ + k · 90°。 θ 是使用 Lfp 的主方向和前几个跟踪点计算的。对于 Uniform,收敛步骤 1 通过设置粒子分散度阈值来确定,而步骤 2 则监视 PALMS 等主导簇。所有三种方法均使用 2000 个粒子,并在每条路径上运行 100 次试验,并为每次试验随机重新初始化。
测量包括:宣布收敛之前的时间(以秒为单位)和距离(以米为单位);收敛后的 RMSE(以米为单位);以及距离地面真实值小于 1 米的预测位置(收敛后)的比例(%Error<1m)。结果在选项卡中。我(对所有试验进行平均)表明 PALMS 明显优于其他考虑的方法。特别是,PALMS 的平均 RMSE 比 Uniform 低 6.7 倍(比 Uniform + Ori 低 5.6 倍),而收敛后误差小于 1 米的位置比例高出 4.9 倍PALMS 高于 Uniform(比 Uniform + Ori 高 2.8 倍)。图 3 显示了三种情况在不同收敛阶段的粒子分布示例。
图 3. 初始化时、不同收敛阶段以及路径结束时不同实验设置下的粒子滤波器的可视化。红点:所有粒子的平均位置(t1之前),主导群体的平均位置(t1之后),主导簇的平均位置(t2之后)。绿色:地面真实路径和位置。所有三种设置共享相同的起点、跟踪数据、地面实况路径和粒子计数。不同方向组的粒子用不同的颜色表示。 t = x 显示以秒为单位的时间。我们可以看到,PALMS 在 t2 成功定位了用户并跟踪用户直到 tent,而其他方法则失败了。请注意,在某些情况下,第一阶段和第二阶段收敛同时发生。
V. 讨论和结论
我们提出了一种室内定位算法,使用 iPhone LiDAR 扫描来获取附近的墙壁几何形状,然后在平面图中查找与观察到的墙壁几何形状一致的位置,以获得可能的相机方向。该信息过滤掉了不太可能的位置,但由于自相似布局中的几何模糊性,无法精确定位用户。为了解决这个问题,我们为每个方向生成一个空间概率分布来初始化粒子滤波器,预计粒子滤波器会收敛到正确的位置。
我们表明,与均匀粒子初始化(即没有初始方向和激光雷达扫描提供的用户位置初始信息)相比,该策略减少了收敛时间,并显着提高了收敛后的精度。我们的方法的一个主要优点是它不需要事先对环境进行“指纹识别”,因为它只使用平面图来获取先验信息。它为航位推算跟踪算法(基于视觉或惯性数据)的关键瓶颈提供了解决方案,即初始用户位置和方向的确定。同时,还有许多限制需要考虑。我们的系统使用 iPhone LiDAR,在撰写本文时仅适用于“Pro”型号。此外,该传感器的最大范围为 5 米,这降低了其在开阔空间中的实用性。
在未来的工作中,我们将考虑直接从图像中提取平面墙壁模型,以便能够检测激光雷达范围之外的墙壁,尽管它可能不太准确。虽然基于热图的粒子初始化已被证明可以减少收敛时间,但该系统仍然需要用户在收敛之前行走一段时间(最多一分钟)。这可能被证明是不切实际的,我们将考虑结合其他模式等策略来减少未来工作中的收敛时间。最后,我们在这项工作中考虑的航位推算跟踪器基于用户步行时持有的 iPhone 记录的数据的视觉惯性里程计。我们将考虑将相同的策略应用于带有粒子滤波的纯惯性跟踪。在此配置中,用户可以使用手机进行激光雷达扫描,然后方便地将手机放回口袋中,并由手机的惯性传感器进行跟踪。
六.致谢
本出版物中报告的研究得到了美国国立卫生研究院国家眼科研究所的支持,奖项编号为 R01EY029260-01。内容完全由作者负责,并不一定代表美国国立卫生研究院的官方观点。