SweepLoc 基于旋转摄像头的自动化视频定位

SweepLoc 基于旋转摄像头的自动化视频定位

这是中山大学数据科学与计算机学院智能与多媒体实验室近期的一篇论文,被CCF A类会议Ubicomp接收并在大会上做oral报告。论文链接如下:

Mingkuan Li, Ning Liu, Qun Niu, Chang Liu, S.-H. Gary Chan, and Chengying Gao. 2018. SweepLoc: Automatic Video-based Indoor Localization by Camera Sweeping.Proc. ACM Interact. Mob. Wearable Ubiquitous Technol.2, 3, Article 120 (September 2018), 25 pages. DOI: doi.org/10.1145/3264930


室内定位的背景介绍

室内基于位置的服务(Indoor location-based services),是一项具有重要的社会和经济价值的工作,常见的应用场景包括室内定位与导航、行李跟随和停车场反向寻车等等(图1)。此外,室内基于位置的服务还可以用来监控室内行人流量,对于拥塞避免,具有重要的指导价值。基于位置服务的质量,基于定位的精度。因此,实现精准的室内定位,具有重要的意义。现有方法通过Wi-Fi、蓝牙、超宽带等等信号定位。这些方法需要部署和维护大量的设备,并且容易受到遮挡、多径效应的影响,导致信号波动,降低定位精度。

图1 室内定位常见的应用场景

图1 室内定位常见的应用场景。(a)室内导航;(b)行李跟随;(c)停车场反向寻车。(图片来自网络)


在现实环境中(如超市、商场等),存在大量视觉上显眼的目标,如店铺招牌,墙壁上的画等等。这些目标蕴含丰富的纹理信息和位置信息,与周围其它目标具有显著的区别,可以用来区分位置。这些视觉上显眼的目标被成为视觉地标(visual landmark,图2)。相对于电磁信号,基于视觉地标的定位无需部署额外的硬件设备,而且在室内环境下更加稳定,因此,研究人员开始考虑基于视觉地标的定位算法。

图2 室内场景的视觉地标(以店铺招牌为例)

已有基于视觉地标的定位方法让用户选择多个地标,拍照定位。这种方法操作负责,且容易出错。基于此,本文提出使用视频定位,实现自动、精确的定位。这样,用户无需选择地标,也无需手动确认,有利于提高定位自动程度。基于较高的自动化程度。进一步的,这种自动的视频定位的方法甚至可以应用于机器人等无人干预的平台。


但是,使用视频定位,存在以下三个挑战:1)视频帧数据量大,处理时间长;2)由于运动误差、传感器噪声等,视频内的自动地标识别可能存在误差;3)定位易受设备方向传感器噪声的干扰。针对以上挑战,本文提出了三个贡献:1)基于兴趣区域跟踪的快速关键帧检测(论文第4节);2)基于场景一致性的自动地标过滤策略,过滤识别错误的地标(论文第5节);3)鲁棒的定位算法(论文第6节)。基于以上贡献,论文本文提出SweepLoc定位系统,实现快速、自动和精确的定位。系统的流程图如图3所示。

图3 SweepLoc系统流程图


基于兴趣区域(Region of Interest)的高效关键帧选择

为实现精确定位,本文需要从视频中选择关键帧,在这些帧里,地标区域在照片的中间(以实现后续基于方向传感器的定位)。为实现自动的地标识别,本文使用Faster R-CNN处理视频帧,得到其中的地标区域和对应的置信度(图4)。

图4 Faster R-CNN自动发现视频帧中地标的流程图


但是,如果对每一帧都使用Faster R-CNN则非常耗时。给定一个输入视频视频(180帧,分辨率为800x600),Faster R-CNN处理一帧的时间为0.2s,那么处理整个视频的时间为36s。针对于此,本文提出了detect-and-track的策略,使用Faster R-CNN在第一帧中检测候选的兴趣区域(Region of Interest,包含可能的地标区域),然后在后续帧中用高效的Kernelized Correlation Filter (KCF)来跟踪这些区域,直到它们移出视野范围(流程如图5所示)。这样,就可以高效得到每一个ROI对应的序列。接着,本文选择ROI在视野中间的帧作为关键帧,保存对应的方向传感器读数。基于ROI序列,通过加权的方法判断对应的地标。(详细请参考论文第4节)

图5 高效的关键帧选择流程


基于场景一致性的自动地标过滤

基于ROI的识别结果,可以得到视频中地标的序列。但是,由于相机噪声,运动模糊,基于ROI识别的地标区域可能错误,进一步影响后续的定位。因此,本文考虑结合场景一致性,即地标之间的位置相对关系(可以从地图中得到),过滤识别错误的地标。简单的思想如图6所示。


图6 基于场景一致性过滤的图示


假设用户站在位置P,周围的地标为q1, q7,当用户逆时针旋转相机,假设得到的真实地标序列是1,7,6,5。但是,由于误差,可能错误的识别到序列1,7,3,5,其中3是识别错误的。结合实际地图,7和5之间不可能是3,因此可以考虑将识别出的3过滤,替换为地标6。数学上,我们将该地标过滤建模为隐马尔科夫问题。建模细节请参考论文第5节。


基于有噪声的方向传感器定位算法

基于识别的地标和罗盘读书,就可以基于三角定位得到用户的位置了(图7a中唯一的交点)。但是,由于方向传感器容易受到周围磁场的干扰,导致方向存在误差,产生多个可能的位置。

图7 三角定位示意图。(a)方向传感器没有误差的理想情况;(b)实际有误差的情况


针对于此,本文对方向传感器的噪声建模如下:

\theta_n = \hat{\theta}_n + \epsilon_n,

其中 \theta_n 是方向传感器读数, \hat{\theta}_n 是真实方向, \epsilon_n 是噪声项。

基于其中两个地标,可以得到用户的位置为:

\mathbf{x}_{ij} = \mathbf{Loc}\left(\mathbf{z}_i, \theta_i, \mathbf{z}_j, \theta_j\right),

其中, \mathbf{x}_{ij} 表示基于地标 i 和地标 j 估计的用户位置, \mathbf{z}_i, \mathbf{z}_j 分别表示地标i 和地标 j的位置,而 \theta_i, \theta_j 分别表示拍照时方向传感器的读数。

图8 基于地标i,j估计用户的位置


从视频中可以识别多个地标,基于任意一组地标,即可判断用户的位置(图9)。为降低误差影响,本文考虑用户的位置是在这些交点确定的平均位置:

\hat{\mathbf{x}} = \frac{1}{Y}\sum\nolimits_{i=1}^{N - 1}{\sum\nolimits_{j = i + 1}^{N}{\omega_{i, j} \mathbf{x}_{ij}}},

其中, Y 是归一化项,计算方法为:

Y = \sum_{i = 1}^{N-1}{\sum_{j = i + 1}^{N}{\omega_{ij}}}

地标i 和地标 j 推断的位置的权值\omega_{ij} 计算方法为:

\omega_{ij} = \left\{ \begin{array}{cl} 1 \bigg/ \left|\mathbf{z}_i - \mathbf{z}_j\right|^2 & \mbox{ in the line-of-sight} \\ 0 & \mbox{otherwise} \\ \end{array}\right..

论文的思路为,罗盘的误差较小,因此实际上加权的位置应该和交点位置较为接近。因此,论文的优化思路为改权值和方向传感器误差,逐步使得加权位置到交点的位置距离之和降低。因此,目标函数为:

J\left(\mathbf{E}\right) = \sum\nolimits_{i=1}^{N - 1}{\sum\nolimits_{j = i + 1}^{N}{\left|\mathbf{x}_{ij} - \mathbf{\hat{x}}\right|^2}} + \alpha \sum\nolimits_{i = 1}^{N}{\epsilon_i^2},

图9 基于多个地标定位示意图


通过遗传算法优化同时估计方向传感器噪声和用户位置。更加详细的建模过程和计算复杂度分析,请参考论文第6节。

实验结果

论文在两个室内场地进行了测试,场地的地图如图10所示。一个是店铺密集的美食广场(图10a),另一个是较为空旷的高端商场(图10b)。其中,红色五星表示选择的地标位置。

图10 定位的测试场地


论文评估了不同方法的定位误差。可以看出,无论在密集的美食超市或者是稀疏的高端商场,论文的定位精度由于现有的方法Sextant [1]和MoVIPS [2]。通过加入定位优化,SweepLoc的定位精度也有所提升。(图11和图12)


图11 美食广场的定位结果


图12 商场的定位结果


此外,论文还分析了不同地标数量对于定位误差的影响(图13)。可以看出,随着地标数量的增加,定位误差逐渐下降。

图13 定位误差与地标数量的影响


更多实验结果,请参考论文第7节。

总结

针对已有视觉定位方法操作复杂,定位精度易受传感器误差影响的问题,本文提出基于视频的自动化精确定位方法。该方法通过利用Faster R-CNN实现自动的地标发现,利用场地一致性过滤识别错误的地标,通过优化的方法降低传感器误差对定位结果的影响。大量实验表明,本文的方法可以有效提升定位精度,降低操作复杂度。由于算法的自动化程度,它也可以应用于机器人,无人机等自动平台。


参考文献

[1] R. Gao, Y. Tian, F. Ye, G. Luo, K. Bian, Y. Wang, T. Wang, and X. Li. 2016. Sextant: Towards ubiquitous indoor localization service by photo-taking of the environment. IEEE Trans. Mob. Comput. 15, 2 (Feb 2016), 460–474.

[2] M. Werner, M. Kessel, and C. Marouane. 2011. Indoor positioning using smartphone camera. In Proc. of IEEE IPIN. 1–6.

编辑于 2018-12-28

文章被以下专栏收录

    随着移动互联网的发展,室内基于位置的服务如火如荼。但是,现有方法存在定位精度难以满足需求,易受环境变化干扰,部署或者维护困难,用户操作复杂的问题,导致现有定位方法难以广泛应用。本专栏依托中山大学数据科学与计算机学院智能与多媒体实验室室内定位团队,及时分享最新的研究成果和信息,促进领域内的交流与进步。