HAIL 高度自动化的拍照自动定位

HAIL 高度自动化的拍照自动定位

本文被ACM Transactions on Sensor Networks(中国计算机学会推荐B类期刊)接收。论文信息如下:

Qun Niu, Mingkuan Li, Suining He, Chengying Gao, S.-H. Gary Chan, and Xiaonan Luo. 2019. Resourceefficient and Automated Image-based Indoor Localization. ACM Trans. Sen. Netw. 15, 2, Article 19 (February 2019), 31 pages. doi.org/10.1145/3284555


基于视觉的室内定位近期受到广泛的关注,主要是因为视觉定位无需部署额外的设备。现有视觉定位方法,由于其运算要求大,或者存储需求高,通常部署在服务端。这种部署方式会导致一些列问题,比如多用户情况下资源占用高、产生网络传输延迟、需要持续不断的网络连接和隐私安全等等问题。此外,由于视觉匹配存在误差,一些方法还要求用户手动确认匹配结果,这比较不方便,而且也不适合无人值守的移动终端。因此,本文提出了一种资源集约的,在移动终端上可运行的视觉定位系统,Hightly Automated Image-based Indoor Localization (HAIL) ,以实现快速,准确和自动化的定位。


但是,在资源受限的移动终端上进行视觉定位具有较大的挑战。比如,在一个实验场地中,我们有84个地标(论中选择店铺招牌区域为地标),每个地标抽取800个SURF特征,占用480KB的空间。为了保证匹配准确性,我们从不同角度给每个地标拍摄7张照片。那么全部特征的存储占用为: 480x7x84=316MB,对存储的占用非常巨大。第二,考虑到地标匹配误差,现有方法要求用户在候选的地标列表里手动确认争取的地标。这对于普通用户来说并不方便。第三,由于传感器误差,特别是手机罗盘,基于三角定位的结果可能存在较大的误差。


基于以上挑战,本文提出了三个贡献,分别是:一、离线的特征选择算法(论文第3节),只选择和保存最优价值的特征;二、自动的地标选择(论文第4节),根据特征匹配情况,自动确认匹配的地标;三、结合有噪声的传感器读数准确定位(论文第4节)。基于以上贡献,我们提出了能在移动终端上部署,不依赖于后端服务器的HAIL定位APP。该系统分为离线和在线两个阶段,离线阶段包括照片数据采集,特征选择和特征数据库的构造;在线阶段就是定位,这部分完全在移动终端上进行,无需与服务端进行数据交互。系统的流程如图1所示。


图1 HAIL系统流程图


离线的特征选择

如前文所说,如果将训练照片所有的特征存入数据库中,存储的消耗对于移动终端难以接受。但是,如果直接减少地标的特征数量,则容易降低地标识别的精度。因此,本文考虑一种特征选择方法,选择最有用的特征,既不降低地标识别的精度,同时降低存储的消耗。


本文特征选择的思路如下:地标照片的高区分度特征,应该在同一类地标中广泛存在,而在不同地标中几乎不存在。基于这种考虑,论文设计了如下地标选择算法。给定 M 个地标,每个地标有 N 张训练照片。令 i_{mn} (1\leq m \leq M, 1\leq n \leq N) 为第 m 个地标的第 n 张训练照片。假设HAIL为每张照片选择 H 个特征,为每个地标选择 Q 个特征。地标选择过程如下。(为便于说明,以下以3个地标,每个地标3张训练照片,每张训练照片有3个特征)


首先,我们将训练照片两两比对,找到匹配的特征对。假设在图像i_mn的第h个特征,其有一个匹配的特征列表。我们用g_h^l表示第l个元素。其存储的数据形式如图2所示。


图2 特征匹配的数据存储形式


接下来,我们以下图为例,说明这个特征选择的过程。对于第1个地标的第1张训练照片 i_{11} ,提取的第1个特征为 f_1 。我们将每个特征的匹配到的特征所述的地标变化记录在右下的表格中。对于 i_{11} 的特征 f_1 ,匹配列表中的第一个元素 g_{11} 为1.


图3 特征选择的示意图


基于我们的假设,对于地标 m 中一张训练照片的第 h 个特征,其得到的投票分数为:

v_h=\sum_{l=1}^{L} u(m,g_h^l),

其中, u(c,d) 作为一个函数,定义为

u(c,d) = \begin{cases} 1 & \text{if } c = d \\ -1 & \text{otherwise} \end{cases}

对于匹配的特征,如果属于同一类,则产生正的分数;反正产生负的分数。最后,我们队每一个地标的所有特征排序,选择投票数最多的Q个特征(区分度最高的特征)。基于这样的投票,我们通过贪心的方法,选择投票数最多的特征为区分度高的特征,就可以得到特征数据库。



自动的地标确认

由于传感器误差、运动模糊和室内强光干扰,照片匹配的结果并不是完全正确的 。但是,通过用户手动确认的方法非常繁琐。因此,本文考虑根据地标匹配的结果,自动的识别真正的地标。以下给出几种情况下,查询照片与数据库中所有地标匹配的特征分布。其中,第二行为查询照片,第三行为匹配的特征分布。第三行的横轴为地标变化,纵轴是查询照片与该地标匹配的特征数量。用红色圈高亮真实的地标。可以总结出以下规律,当匹配结果可信度高时,与目标地标的匹配特征数量远远高于其它地标的匹配特征数量,匹配结果分布非常不均匀;当存在拍摄距离远和运动模糊情况时,匹配结果可信度降低,匹配数量分布则较为均匀。基于该观察,我们认为当匹配的特征数量分布非常不均匀时,匹配特征数量最多的地标,即为目标地标;反之,匹配特征数量最多的地标可能不是目标地标。

图4 几种情况下查询照片与地标匹配的特征分布情况

论文通过kurtosis指标评估这种分布,其定义如下:

\mu_s=\frac{E[(t_{sm}-\bar{t}_s)^4]}{(E[(t_{sm}-\bar{t}_s)^2])^2},

同时,由于不同场地差异,kurtosis的指标可能也有不同。为了避免设置阈值,我们通过二元logistic regression训练,以自动确定是否采信排名第一的匹配地标。如果kurtosis的值足够大,则自动选择排名第一的地标;反之,则依据匹配成功的照片,选择周围的地标作为候选集,通过传感器读数筛选可能的地标。

P(Y_s=1|\mu_s)=\frac{\exp(w\mu_s+b)}{1+\exp(w\mu_s+b)},

P(Y_s=0|\mu_s)=\frac{1}{1+\exp(w\mu_s+b)},


准确的视觉定位

判断拍摄的地标后,即可进行室内定位了。我们知道,基于拍摄照片时照片的朝向(基于罗盘传感器读数得到),或者拍摄两张照片之间的旋转角度(基于陀螺仪得到)的定位精度受到角度读数的制约。由于移动终端的成本约束,这些传感器的精度并不高。因此,直接使用传感器读数进行定位,可能产生较大的定位误差。针对于此,本文同时考虑罗盘传感器读数和陀螺仪,共同定位以降低误差。

针对于此,基于有噪声的朝向,我们首先引入区域约束。即基于识别的地标和有噪声的朝向,我们可以将用户确定在一个扇形范围内(虚线包括的区域)。扇形的中心为地标(黑色实心圆圈),其圆心角为罗盘朝向加上一定的误差。用户所在区域的示意图如图所示。结合室内电子地图,我们可以将用户的位置缩小到红色实线确定的区域内,约束定位误差。

图5 基于地图约束的定位示意图


进一步的,用户的实际位置,观测到指定地标,反推得到的方向传感器读数和陀螺仪读数应该和实际读数差异较小。基于以上考虑,论文的损失函数定义如下:

\begin{aligned} \text{cost}(\mathbf{x}) & = (1-\lambda)\sqrt{\sum_{s=1}^S {\left(\theta_s^{\mathbf{x}} - \theta_s\right)^2}} + & \lambda\sqrt{\sum_{s=1}^{S-1} {\left(\alpha_s^{\mathbf{x}} - \alpha_s\right)^2}}, \end{aligned}

该损失函数为罗盘朝向的差异和陀螺仪差异的加权之和。其约束包括用户在一个多边形的区域内:

\mathbf{A} \mathbf{x}\geq \mathbf{b},

通常情况下,用户不会选择相距特别远的地标。基于这种观察,论文引入了地标之间的约束(用户不会选择太分散的地标组合),以下计算地标之间的距离

\Psi=\sum_{\forall i,j \in [1,S], i \neq j} \frac{K(\boldsymbol{\gamma_i}, \boldsymbol{\gamma_j})}{2},

类似的,用户也不会选择离自己太远的地标,因此地标与用户之间的距离定义为

\Phi(\mathbf{x})=\sum_{s=1}^S K(\mathbf{x},\boldsymbol{\gamma_{s}}),

基于距离约束,我们有

\Psi \leq \tau_\psi, \quad \Phi(\mathbf{x}) \leq \tau_\phi,

总结来说,论文的优化目标和约束如下

\begin{aligned} & \underset{\mathbf{x}}{\text{arg min}} & & \text{cost}(\mathbf{x}), \\ & \text{subject to} & & \mathbf{a_i}\in \mathbf{A}, \\ &&& \Psi \leq \tau_\psi, \\ &&& \Phi(\mathbf{x}) \leq \tau_\phi. \\ \end{aligned}


实验

我们在两个不同的场地进行了测试,其中一个是紧凑布局的美食广场,另一个是宽阔的购物商场。实验中,选择店铺招牌为地标。对比方法为Sextant[1]和MoVIPS[2]


图6 实验的两个场地:狭窄的美食广场和宽阔的购物广场


这里比较了两个场地,通过特征选择得到的匹配精度。可以看出,通过特征选择,可以明显提升地标匹配的精度。

图7 两个场地中地标匹配的精度


这里给出了平均的定位误差。基于特征选择和地图约束的定位,本文的定位误差也有明显的降低。(更多实验结果,请参考即将公开的论文)


图8 两个场地中定位CDF



参考文献

[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.

编辑于 2019-02-24

文章被以下专栏收录