首页> 中国专利> 室内定位、室内导航的方法、装置、电子设备及存储介质

室内定位、室内导航的方法、装置、电子设备及存储介质

摘要

本申请实施例公开了一种室内定位、室内导航的方法、装置、电子设备及存储介质,属于定位技术领域。在该方法中,移动设备确定自身的使用状态之后,能够根据确定的使用状态,选择对应的位置识别网络来确定位置变化量。也即是,在不同的使用状态下,选择不同的位置识别网络来确定位置变化量,不需要用户保持固定的移动设备的握持姿态,鲁棒性较强,而且定位精度还能够得到保证。另外,移动设备通过IMU传感器即可实现室内定位,减少了对外部系统的依赖性,以及减少了部署和维护成本。

著录项

  • 公开/公告号CN114061579A

    专利类型发明专利

  • 公开/公告日2022-02-18

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN202010754482.5

  • 申请日2020-07-30

  • 分类号G01C21/20(2006.01);G06N3/04(2006.01);G06N3/08(2006.01);

  • 代理机构北京三高永信知识产权代理有限责任公司 11138;

  • 代理人颜晶

  • 地址 518129 广东省深圳市龙岗区坂田华为总部办公楼

  • 入库时间 2023-06-19 15:49:21

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-03-08

    实质审查的生效 IPC(主分类):G01C21/20 专利申请号:2020107544825 申请日:20200730

    实质审查的生效

说明书

技术领域

本申请实施例涉及定位技术领域,特别涉及一种室内定位、室内导航的方法、装置、电子设备及存储介质。

背景技术

室内定位是指在室内环境中实现位置定位。由于室内环境中无法使用卫星定位,因此如何能够准确地实现室内定位成为目前亟待解决的问题。

相关技术提出了一种基于行人导航(pedestrian dead reckoning,PDR)技术的室内定位方法,PDR技术主要是通过移动设备内置的惯性测量单元(inertial measurementunit,IMU)来确定用户在室内的位置变化量。具体地,移动设备在初始化时通过标定确定一个步长增益,后续在室内定位时,通过内置的IMU确定加速度信号和角速度信号,对加速度信号进行脚步检测,通过脚步检测的结果和标定得到的步长增益,确定当前行走的步长,同时,对角速度信号进行处理,确定当前行走的方向。之后,通过当前行走的步长和方向,确定当前的位置。

然而,上述方法需要用户保持固定的移动设备的握持姿态,比如,移动设备平端胸前,移动设备的顶部朝向前方,即将移动设备的朝向和用户的朝向对齐,用移动设备的朝向代表用户的行走方向,从而保证室内定位的精度。但是,实际使用中,移动设备的朝向和用户的朝向很难对齐,从而就会很难保证室内定位的精度。

发明内容

本申请实施例提供了一种室内定位、室内导航的方法、装置、电子设备及存储介质,可以解决相关技术中移动设备的朝向和用户的朝向很难对齐,从而很难保证室内定位精度的问题。所述技术方案如下:

第一方面,提供了一种室内定位方法,在该方法中,移动设备通过IMU传感器确定第一IMU信号,将第一IMU信号作为状态识别网络的输入,确定移动设备的使用状态。根据第一对应关系确定移动设备的使用状态所对应的位置识别网络,通过该位置识别网络确定位置变化量,根据该位置变化量确定当前所处的室内位置。

通常情况下,IMU传感器包括加速度计、陀螺仪、磁力计等等,在本申请实施例中,以IMU传感器包括加速度计和陀螺仪为例进行说明。其中,加速度计用于采集加速度信号,陀螺仪用于采集角速度信号。

移动设备的使用状态是指用户使用移动设备的状态,比如,放于口袋、通话、握持自然摇摆、端举、背包等状态。

由于移动设备确定自身的使用状态之后,能够根据确定的使用状态,选择对应的位置识别网络来确定位置变化量。也即是,在不同的使用状态下,选择不同的位置识别网络来确定位置变化量,不需要用户保持固定的移动设备的握持姿态,鲁棒性较强,而且定位精度还能够得到保证。另外,移动设备通过IMU传感器即可实现室内定位,减少了对外部系统的依赖性,以及减少了部署和维护成本。

移动设备将第一IMU信号作为状态识别网络的输入,确定移动设备的使用状态的实现方式包括多种,接下来对其中的两种实现方式进行介绍。

第一种实现方式,按照脚步检测的方式,对第一IMU信号进行划分,得到多个信号片段,该多个信号片段中的每个信号片段包括一次脚步的IMU信号。将该多个信号片段中的每个信号片段作为状态识别网络的输入,确定该多个信号片段中每个信号片段对应的一次脚步时移动设备的使用状态。

也即是,在第一种实现方式中,移动设备将第一IMU信号进行分帧,分帧后的每个信号片段包括一次脚步的IMU信号。之后,对于每一次的脚步,通过状态识别网络确定移动设备的使用状态。

状态识别网络用于对用户使用移动设备的状态进行识别,该状态识别网络的输入是划分后的信号片段,输出是移动设备的使用状态的识别结果。在本申请实施例中,状态识别网络使用神经网络与深度学习的方式确定得到,接下来对状态识别网络的确定过程进行介绍。

作为一种示例,移动设备获取多个样本信号片段以及该多个样本信号片段中每个样本信号片段对应的使用状态。以该多个样本信号片段作为初始状态识别网络的输入,以该多个样本信号片段中每个样本信号片段对应的使用状态作为初始状态识别网络的输出,对初始状态识别网络进行训练,得到状态识别网络。

由于不同的情况下,移动设备的使用状态不同,为了提高状态识别网络的适用性,该多个样本信号片段对应的使用状态也不同。这样,在通过多个样本信号片段以及该多个样本信号片段中每个样本信号片段对应的使用状态对初始状态识别网络进行训练之后,通过状态识别网络识别出的使用状态的成功率较高。

第二种实现方式,将第一IMU信号作为状态识别网络的输入,确定移动设备在多个时间窗口的使用状态,该多个时间窗口用于划分第一IMU信号。

也即是,在第二种实现方式中,移动设备通过状态识别网络,按照多个时间窗口将第一IMU信号进行划分,并确定移动设备在每个时间窗口的使用状态。与第一种实现方式不同的是,该状态识别网络不仅用于对用户使用移动设备的状态进行识别,还用于按照多个时间窗口对第一IMU信号进行划分。也即是,第二种实现方式中,状态识别网络集成有IMU信号划分的功能和使用状态识别的功能。

由于第二种实现方式中状态识别网络的输入与第一种实现方式中状态识别网络的输入不同,因此,第二种实现方式中状态识别网络的确定过程与第一种实现方式中状态识别网络的确定过程也不同。接下来,对第二种实现方式中状态识别网络的确定过程进行介绍。

作为一种示例,移动设备获取多个样本IMU信号以及该多个样本IMU信号中每个样本IMU信号在多个时间窗口的使用状态。以该多个样本IMU信号作为初始状态识别网络的输入,以该多个样本IMU信号中每个样本IMU信号在多个时间窗口的使用状态作为初始状态识别网络的输出,对初始状态识别网络进行训练,得到状态识别网络。

由于不同的情况下,移动设备的使用状态不同,为了提高状态识别网络的适用性,该多个样本IMU信号在多个时间窗口的使用状态也不同。这样,在通过多个样本IMU信号以及该多个样本IMU信号中每个样本IMU信号在多个时间窗口的使用状态对初始状态识别网络进行训练之后,通过状态识别网络识别出的使用状态的成功率较高。

由于用户与移动设备的相对位置的动态变化对定位精度会产生很大影响,因此,本申请实施例通过状态识别网络来识别移动设备的使用状态。而且,对于上述两种实现方式,状态识别网络通过神经网络和深度学习的方法确定得到,通过这种方法能够提升状态识别的鲁棒性和准确度。

可选地,本申请实施例提供的室内定位方法是在用户步行的情况下实现的,所以,移动设备将第一IMU信号作为状态识别网络的输入,确定移动设备的使用状态之前,还需要确定当前是否处于步行状态。也即是,将第一IMU信号作为行为识别网络的输入,确定当前的用户行为状态,如果确定的用户行为状态为步行状态,则执行将第一IMU信号作为状态识别网络的输入,确定移动设备的使用状态的步骤。

行为识别网络用于确定用户的行为状态,比如,开车、步行、爬楼梯等状态。行为识别网络的输入是IMU信号,行为识别网络的输出是用户行为状态的识别结果。接下来对行为识别网络的确定过程进行介绍。

作为一种示例,移动设备获取多个样本IMU信号以及该多个样本IMU信号对应的用户行为状态。以该多个样本IMU信号作为初始行为识别网络的输入,以该多个样本IMU信号对应的用户行为状态作为初始行为识别网络的输出,对该初始行为识别网络进行训练,得到行为识别网络。

由于不同的情况下,用户的行为状态可能不同,为了提高行为识别网络的适用性,该多个样本IMU信号对应的用户行为状态不同。这样,在通过该多个样本IMU信号以及该多个样本IMU信号对应的用户行为状态训练得到行为识别网络之后,通过行为识别网络识别出的用户行为状态的成功率较高。

在上述第一种实现方式下,移动设备根据第一对应关系确定自身的使用状态对应的位置识别网络,通过该位置识别网络确定位置变化量,包括:从该多个信号片段中选择一个信号片段作为参考信号片段,对参考信号片段执行以下操作,直至对该多个信号片段中的每个信号片段均已执行以下操作为止:对参考信号片段进行特征提取,得到参考信号片段对应的特征向量。根据第一对应关系确定参考信号片段对应的一次脚步时移动设备的使用状态所对应的位置识别网络,将确定的位置识别网络作为参考位置识别网络。将参考信号片段对应的特征向量作为参考位置识别网络的输入,确定参考信号片段对应的一次脚步的位置变化量。

由于一个信号片段包括一次脚步的IMU信号,以多个信号片段中的参考信号片段为例,移动设备确定参考信号片段对应的特征向量之后,通过参考位置识别网络确定参考信号片段对应的一次脚步的位置变化量。这样,在确定出每一次脚步的位置变化量之后,即可确定移动设备在室内的位置,操作比较简单,而且不依赖外部系统。

当然,移动设备按照上述第一种实现方式确定移动设备在每一次脚步时的使用状态之后,还能够通过其他的方式来确定每一步的位置变化量。

在第一种实现方式中,位置识别网络用于确定每一次脚步的位置变化量,位置识别网络的输入是划分后的信号片段对应的特征向量,输出是相应信号片段对应的一次脚步的位置变化量。该位置变化量包括步长的变化量和朝向的变化量。接下来对位置识别网络的确定过程进行介绍。

作为一种示例,从第一对应关系包括的位置识别网络中选择一个位置识别网络作为第一位置识别网络,通过如下操作训练得到第一位置识别网络,直至训练得到第一对应关系包括的每个位置识别网络为止:获取多个样本特征向量以及该多个样本特征向量中每个样本特征向量对应的位置变化量,该多个样本特征向量是指使用状态为第一状态的移动设备获取的IMU信号片段对应的特征向量,第一状态是指第一位置识别网络对应的使用状态。以该多个样本特征向量作为初始位置识别网络的输入,以该多个样本特征向量中每个样本特征向量对应的位置变化量作为初始位置识别网络的输出,对初始位置识别网络进行训练,得到第一位置识别网络。

由于不同的使用状态对应不同的位置识别网络,也就是说,一种位置识别网络只能确定对应的一种使用状态下的位置变化量,因此,为了提高位置识别网络的识别准确度,该多个样本特征向量为同一使用状态下获取的IMU信号片段对应的特征向量。

在上述第二种实现方式下,移动设备根据第一对应关系确定自身的使用状态所对应的位置识别网络,通过该位置识别网络确定位置变化量,包括:从多个时间窗口中选择一个时间窗口作为参考时间窗口,对参考时间窗口执行以下操作,直至对该多个时间窗口中的每个时间窗口均已执行以下操作为止:根据第一对应关系确定移动设备在参考时间窗口的使用状态所对应的位置识别网络,将确定的位置识别网络作为参考位置识别网络。将第一IMU信号中处于参考时间窗口内的信号片段作为参考位置识别网络的输入,确定参考时间窗口对应的位置变化量。

通过脚步检测的方式,对IMU信号按照脚步进行划分,从而确定每一次脚步的位置变化量只是一种实现方式,移动设备也可以按照时间窗口来划分IMU信号,从而确定每个时间窗口对应的位置变化量,从而确定移动设备当前所处的室内位置。

当然,移动设备按照上述第二种实现方式确定移动设备在每个时间窗口的使用状态之后,还能够通过其他的方式来确定每个时间窗口的位置变化量。

在第二种实现方式中,位置识别网络用于确定每个时间窗口的位置变化量,位置识别网络的输入是第一IMU信号中处于一个时间窗口内的信号片段,输出是相应时间窗口的位置变化量。该位置变化量包括步长的变化量和朝向的变化量。接下来对位置识别网络的确定过程进行介绍。

作为一种示例,从第一对应关系包括的位置识别网络中选择一个位置识别网络作为第一位置识别网络,通过如下操作训练得到第一位置识别网络,直至训练得到第一对应关系包括的每个位置识别网络为止:获取多个样本信号片段以及该多个样本信号片段中每个样本信号片段对应的位置变化量,该多个样本信号片段是指使用状态为第一状态的移动设备获取的IMU信号片段,第一状态是指第一位置识别网络对应的使用状态。以该多个样本信号片段作为初始位置识别网络的输入,以该多个样本信号片段中每个样本信号片段对应的位置变化量作为初始位置识别网络的输出,对初始位置识别网络进行训练,得到第一位置识别网络。

由于不同的使用状态对应不同的位置识别网络,也就是说,一种位置识别网络只能确定对应的一种使用状态下的位置变化量,因此,为了提高位置识别网络的识别准确度,该多个样本信号片段为同一使用状态下获取的IMU信号片段。

其中,移动设备根据确定的位置变化量确定当前所处的室内位置的实现过程为:移动设备获取第一位置信息,第一位置信息是指移动设备的起始位置的位置信息。然后,将第一位置信息与确定的位置变化量相加,即可得到移动设备当前所处的室内位置。

由于位置变化量包括步长的变化量和朝向的变化量,第一位置信息包括位置和朝向,因此,在第一位置信息包括的位置的基础上,增加本次确定的步长的变化量,得到移动设备当前所处的位置,在第一位置信息包括的朝向的基础上,增加本次确定的朝向的变化量,得到移动设备当前所处的朝向,这样,即可准确确定移动设备当前所处的室内位置。

本申请实施例提供的室内定位方法能够应用于多种场景,比如,室内导航。接下来对这种场景进行介绍。

第一种情况,移动设备还获取第二位置信息,第二位置信息是指移动设备所要到达的目的位置的位置信息,根据第一位置信息和第二位置信息,确定从起始位置到目的位置的导航路径。在导航界面中显示该导航路径以及移动设备当前所处的室内位置,以进行室内导航。

在这种情况下,移动设备可以获取移动设备所处的室内场所的地图,根据第一位置信息和第二位置信息,按照该室内场所的地图,计算从起始位置到目的位置的导航路径。

该室内停车场的地图可以是事先针对该室内停车场绘制的地图,也可以为云端服务器对多个用户行走轨迹进行轨迹融合后生成的轨迹地图。对于后者,移动设备需要获取移动设备进入室内场所之前最后一次获取的室外定位信息,然后根据该室外定位信息,从云端服务器中能够获取到该室内场所的轨迹地图。

在第一种情况为室内停车场找车的场景,这样,第二位置信息为目标车辆在室内停车场的停车位置。移动设备获取第二位置信息之前,还需要确定第二位置。也即是,确定第三位置信息,第三位置信息是指停车位置在本地坐标系下的位置信息,根据第三位置信息,确定用户行走轨迹;当获取到室外定位信息时,根据室外定位信息在用户行走轨迹上对应的位置信息,以及第三位置信息,确定第二位置信息。

在一些实施例中,移动设备通过IMU传感器确定第二IMU信号。将第二IMU信号作为行为识别网络的输入,确定当前的用户行为状态。如果确定的用户行为状态为开车状态,则返回通过IMU传感器确定第二IMU信号的步骤,直至确定的用户行为状态为步行状态时,确定用户当前已经停好目标车辆,也即是,当前捕捉到用户的停车事件,此时,通过上述室内定位方法确定的位置信息即为停车位置的位置信息。

移动设备在存储停车位置的位置信息之后,在找车的过程中,移动设备能够获取当前位置在世界坐标系下的位置信息,进而能够确定出一条导航路径。也即是,根据第一位置信息和第二位置信息,能够确定出一条导航路径。进而在导航界面中显示导航路径,从而便于用户按照导航界面上显示的信息,在室内停车场寻找目标车辆,解决了无法在室内场所获取卫星信号进而无法定位的难点。而且,本申请实施例提供的方法只需要在移动设备的架构层完成,不依赖于外部的硬件,成本较低。

当用户进入该室内场所且对该室内场所的布局不是很清楚的情况下,或者无法获取该室内场所的地图,没有或者无法接入该室内场所的定位系统,这种场景下,用户想要再走出该室内场所可能有一定的难度,或者说可能会迷路,进而会花费比较长的时间,所以,在这种场景下,移动设根据第一位置信息和第二位置信息,确定从起始位置到目的位置的导航路径,包括:从存储的一个或多个用户行走轨迹中,选择包括第一位置信息和第二位置信息的目标用户行走轨迹;将目标用户行走轨迹确定为从起始位置到目的位置的导航路径。

在上述这种场景下,第二位置信息为用户进入该室内场所时所走的入口的位置信息。移动设备从存储的一个或多个用户行走轨迹中,选择包括第一位置信息和第二位置信息的目标用户行走轨迹之前,还包括:判断当前时刻是否能够获取到室外定位信息;如果当前时刻获取不到室外定位信息且上一时刻能够获取到室外定位信息,则通过IMU传感器确定第三IMU信号;将第三IMU信号作为行为识别网络的输入,确定当前的用户行为状态;如果确定的用户行为状态为步行状态,则确定当前正在进入所述室内场所,记录并存储用户在室内场所内的行走轨迹。

由于室内环境中无法获取到卫星信号,进而无法获取到室外定位信息,因此,在本申请实施例中,移动设备能够判断当前时刻是否能够获取到室外定位信息,如果当前时刻获取不到室外定位信息且上一时刻能够获取到室外定位信息,那么可以确定用户当前可能处于室内场所。为了进一步验证,移动设备还能够通过IMU传感器确定第三IMU信号,将第三IMU信号作为行为识别网络的输入,确定当前的用户行为状态,如果确定的用户行为状态为步行状态,那么可以确定当前正在进入室内场所。

第二种情况,移动设备获取移动设备进入室内场所之前最后一次获取的室外定位信息,根据该室外定位信息,从云端服务器获取室内场所的轨迹地图,该室内场所的轨迹地图是云端服务器对多个用户行走轨迹进行轨迹融合后生成的,在导航界面中显示移动设备当前所处的室内位置和室内场所的轨迹地图,以进行室内导航。

云端服务器通过将多个用户行走轨迹进行轨迹融合后生成该室内场所的轨迹地图,也即是,通过众包用户行走轨迹的方式来收集室内场所的地图路径信息,能够降低该室内场所的轨迹地图的建图成本。另外,后续在其他用户进入该室内场所时,移动设备从云端服务器获取该室内场所的轨迹地图,从而根据该室内场所的轨迹地图进行导航。

在一些实施例中,用户可能会确定一个目的位置,这样,移动设备在导航界面中显示移动设备当前所处的室内位置和该室内场所的轨迹地图之后,还包括:获取世界坐标系下的目的地位置信息,根据移动设备当前所处的室内位置和目的位置的位置信息,通过该室内场所的轨迹地图确定导航路径。在导航界面中显示该导航路径,以进行导航。也即是,移动设备通过该室内场所的轨迹地图确定哪些路径能够行走,哪些路径不能行走,从而按照该轨迹地图确定一条导航路径,用户按照该导航路径可以行走至目的位置。

基于上述描述,该室内场所的轨迹地图是云端服务器对多个用户轨迹地图进行轨迹融合后生成的,而在本次导航的过程中,用户可能会发现其他可行的路径。所以,移动设备根据获取的室外定位信息,通过上述的室内定位方法确定移动设备当前所处的室内位置之后,还包括:根据移动设备当前所处的室内位置,确定当前的用户行走轨迹,向云端服务器发送当前的用户行走轨迹,以使云端服务器对该室内场所的轨迹地图进行更新,这样能够保证该室内场所的轨迹地图的实时更新,降低了轨迹地图的维护成本。

可选地,该室内场所的轨迹地图上还标注有关键地标信息,该关键地标信息用于指示该室内场所内的关键地标。比如,该室内场所内的关键地标为入口、出口、扶梯、直梯等。这样,在导航界面中显示该轨迹地图之后,用户还能够及时获知该室内场所的关键地标。

对于在该室内场所的轨迹地图上标注有关键地标信息的情况,移动设备根据自身当前所处的室内位置,确定当前的用户行走轨迹之后,还包括:确定当前的用户行走轨迹上的每个轨迹点对应的室外定位信号的变化情况和室内高程的变化情况。向云端服务器发送当前的用户行走轨迹上的每个轨迹点的室外定位信号的变化情况和室内高程的变化情况,以使云端服务器对该室内场所的轨迹地图上的关键地标信息进行更新。

第二方面,提供了一种室内导航方法,在该方法中,云端服务器接收移动设备获取的室外定位信息,获取该室外定位信息对应的室内场所的轨迹地图,该室内场所的轨迹地图是云端服务器对多个用户行走轨迹进行轨迹融合后生成的。云端服务器向移动设备发送该室内场所的轨迹地图,以使移动设备根据该室内场所的轨迹地图在该室内场所进行导航。

云端服务器通过将多个用户行走轨迹进行轨迹融合后生成该室内场所的轨迹地图,也即是,通过众包用户行走轨迹的方式来收集室内场所的地图路径信息,能够降低该室内场所的轨迹地图的建图成本。另外,后续在其他用户进入该室内场所时,移动设备从云端服务器获取该室内场所的轨迹地图,从而根据该室内场所的轨迹地图进行导航。

在移动设备通过从云端服务器中获取的轨迹地图导航的过程中,用户可能会发现其他可行的路径。所以,云端服务器向移动设备发送该室内场所的轨迹地图之后,还包括:接收移动设备发送的当前在该室内场所内的用户行走轨迹,根据移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹,生成轨迹热图,根据轨迹热图,重新生成该室内场所的轨迹地图,以实现该轨迹地图的更新。这样能够保证该室内场所的轨迹地图的实时更新,降低了轨迹地图的维护成本。

可选地,该室内场所的轨迹地图上还标注有关键地标信息,该关键地标信息用于指示该室内场所内的关键地标。比如,该室内场所内的关键地标为入口、出口、扶梯、直梯等。所以,云端服务器向移动设备发送该室内场所的轨迹地图之后,还包括:接收移动设备发送的当前在该室内场所内的用户行走轨迹上的每个轨迹点的室外定位信号的变化情况和室内高程的变化情况,这样,云端服务器根据移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹,生成轨迹热图之后,还能够在该轨迹热图上标注每个轨迹点的室外定位信号的变化情况和室内高程的变化情况。

其中,室外定位信号的变化情况是指移动设备在当前这个轨迹点上是否能够检测到室外定位信号。如果当前这个轨迹点上不能检测到室外定位信号,而上一轨迹点上能够检测到室外定位信号,表明当前正在从室外进入室内,也即是,当前这个轨迹点处可能为该室内场所的入口。相反,如果当前这个轨迹点上能够检测到室外定位信号,而上一轨迹点上不能检测到室外定位信号,表明当前正在从室内走出室外,也即是,当前这个轨迹点处可能为该室内场所的出口。

室内高程的变化情况是指移动设备在当前这个轨迹点上是否存在高程的变化。如果移动设备在当前这个轨迹点上存在高程的变化,那么,当前这个轨迹点处可能为扶梯或者直梯。具体地,如果当前这个轨迹点上存在高程的变化,且接下来连续的多个轨迹点上也存在高程的变化,那么,表明当前这个轨迹点处可能为扶梯。如果当前这个轨迹点上存在高程的变化,且接下来连续的多个轨迹点上不存在高程的变化,那么,表明当前这个轨迹点处可能为直梯。

由于用户行走轨迹是由多个轨迹点构成的,且用户轨迹上的每个轨迹点是同一坐标系的,所以,云端服务器将移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹绘制在一张图上,这张图上包括多个轨迹点,且每个轨迹点还对应一个热度值,该热度值用于指示包括该轨迹点的用户轨迹的数量,这张图称为轨迹热图。这样,云端服务器按照轨迹热图中每个轨迹点对应的热度值,从轨迹热图包括的多个轨迹点中,选择多个候选轨迹点,按照该多个候选轨迹点,重新生成该室内场所的轨迹地图,并按照该多个候选轨迹点处的室外定位信号的变化情况和室内高程的变化情况,在该轨迹地图上标注关键地标信息。

第三方面,提供了一种室内定位装置,所述室内定位装置具有实现上述第一方面中室内定位方法行为的功能。所述室内定位装置包括至少一个模块,该至少一个模块用于实现上述第一方面所提供的室内定位方法。

第四方面,提供了一种室内导航装置,所述室内导航装置具有实现上述第二方面中室内导航方法行为的功能。所述室内导航装置包括至少一个模块,该至少一个模块用于实现上述第二方面所提供的室内导航方法。

第五方面,提供了一种电子设备,具体为移动设备,所述移动设备包括处理器和存储器,所述存储器用于存储执行上述第一方面所提供的室内定位方法的程序,以及存储用于实现上述第一方面所提供的室内定位方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。

第六方面,提供了一种电子设备,具体为云端服务器,所述云端服务器包括处理器和存储器,所述存储器用于存储执行上述第二方面所提供的室内导航方法的程序,以及存储用于实现上述第二方面所提供的室内导航方法所涉及的数据。所述处理器被配置为用于执行所述存储器中存储的程序。所述存储设备的操作装置还可以包括通信总线,该通信总线用于该处理器与存储器之间建立连接。

第七方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的室内定位方法。

第八方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第二方面所述的室内导航方法。

第九方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的室内定位方法。

第十方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第二方面所述的室内导航方法。

上述第三方面至第十方面所获得的技术效果与上述方法中对应的技术手段获得的技术效果近似,在这里不再赘述。

本申请实施例提供的技术方案至少带来以下有益效果:

移动设备确定自身的使用状态之后,能够根据确定的使用状态,选择对应的位置识别网络来确定位置变化量。也即是,在不同的使用状态下,选择不同的位置识别网络来确定位置变化量,不需要用户保持固定的移动设备的握持姿态,鲁棒性较强,而且定位精度还能够得到保证。另外,移动设备通过IMU传感器即可实现室内定位,减少了对外部系统的依赖性,以及减少了部署和维护成本。

附图说明

图1是本申请实施例提供的一种移动设备的内部架构图;

图2是本申请实施例提供的一种室内定位方法的流程图;

图3是本申请实施例提供的一种加速度信号的示意图;

图4是本申请实施例提供的一种状态识别网络的结构示意图;

图5是本申请实施例提供的一种位置识别网络的结构示意图;

图6是本申请实施例提供的另一种位置识别网络的结构示意图;

图7是本申请实施例提供的一种实现室内定位方法的架构图;

图8是本申请实施例提供的另一种实现室内定位方法的架构图;

图9是本申请实施例提供的一种在室内停车场找车的方法流程图;

图10是本申请实施例提供的一种导航界面的示意图;

图11是本申请实施例提供的另一种导航界面的示意图;

图12是本申请实施例提供的一种室内导航的方法流程图;

图13是本申请实施例提供的一种在室内场所的用户行走轨迹的示意图;

图14是本申请实施例提供的另一种室内导航的方法流程图;

图15是本申请实施例提供的一种生成轨迹热图的示意图;

图16是本申请实施例提供的一种室内定位装置的结构示意图;

图17是本申请实施例提供的一种室内导航装置的结构示意图;

图18是本申请实施例提供的一种计算机设备的结构示意图;

图19为本申请实施例提供的一种终端示意图;

图20为本申请实施例提供的一种终端的结构示意图。

具体实施方式

为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。

由于室内环境中无法获取到卫星信号,也就无法使用卫星定位。而相关技术提出的室内定位方法需要移动设备的朝向和用户的朝向对齐,但是实际使用中,移动设备的朝向和用户的朝向很难对齐,从而就很难保证室内定位的精度。基于此,本申请实施例提供了一种室内定位方法,该室内定位方法应用于移动设备中,该移动设备为智能手机、智能手表、手环、智能眼镜、增强现实眼镜等等。

在实际使用中,本申请实施例提供的室内定位方法在架构层能够作为定位基础服务的一个模块部署在移动设备中。请参考图1,移动设备包括应用层、架构层和硬件层,应用层用于运行各种能够实现定位或者导航的应用程序,架构层包括PDR定位模块和室外定位模块,且PDR模块和室外模块均能够为上层应用程序提供定位服务接口。其中,PDR定位模块用于实现本申请实施例提供的室内定位方法,室外定位模块为现有的定位模块,包括全球导航卫星系统(global navigation satellite system,GNSS)定位模块或者LBS定位模块。硬件层包括IMU传感器,IMU传感器包括加速度计、陀螺仪、磁力计等等。

图2是本申请实施例提供的一种室内定位方法的流程图,请参考图2,该室内定位方法包括如下几个步骤。

步骤201:移动设备通过IMU传感器确定第一IMU信号。

通常情况下,IMU传感器包括加速度计、陀螺仪、磁力计等等,在本申请实施例中,以IMU传感器包括加速度计和陀螺仪为例进行说明。其中,加速度计用于采集加速度信号,陀螺仪用于采集角速度信号。在IMU传感器包括加速度计和陀螺仪的情况下,加速度计采集的加速度信号和陀螺仪采集的角速度信号都称为IMU信号。为了便于与后续实施例中的IMU信号进行区分,此处的IMU信号称为第一IMU信号。

步骤202:移动设备根据第一IMU信号确定移动设备的使用状态。

移动设备的使用状态是指用户使用移动设备的状态,比如,放于口袋、通话、握持自然摇摆、端举、背包等状态。移动设备根据第一IMU信号确定移动设备的使用状态的实现方式包括多种,接下来对其中的两种实现方式进行介绍。

第一种实现方式,按照脚步检测的方式,对第一IMU信号进行划分,得到多个信号片段,该多个信号片段中的每个信号片段包括一次脚步的IMU信号。将该多个信号片段中的每个信号片段作为状态识别网络的输入,确定该多个信号片段中每个信号片段对应的一次脚步时移动设备的使用状态。

也即是,在第一种实现方式中,移动设备将第一IMU信号进行分帧,分帧后的每个信号片段包括一次脚步的IMU信号。之后,对于每一次的脚步,通过状态识别网络确定移动设备的使用状态。

其中,脚步检测是指通过检测第一IMU信号的相邻两个波峰,来识别用户行走的脚步。如图3所示的加速度信号,横轴为时间,纵轴为加速度的幅度值,对于幅度值大于幅度阈值的波峰来说,将相邻两个波峰之间的信号片段作为一次脚步的加速度信号。这样,不仅能够按照脚步来划分加速度信号,还能够通过幅度阈值剔除噪声信号的影响。对于角速度信号来说,也能够按照加速度信号类似的方式进行划分。

移动设备通过脚步检测的方式,将第一IMU信号划分为多个信号片段之后,根据每个信号片段,确定用户每行走一次脚步时移动设备的使用状态。以该多个信号片段中的参考信号片段为例,移动设备将参考信号片段作为状态识别网络的输入,通过状态识别网络输出参考信号片段对应的一次脚步时移动设备的使用状态。其中,参考信号片段为该多个信号片段中的一个信号片段,对于该多个信号片段中的其他信号片段,也能够按照参考信号片段的类似方式确定对应的一次脚步时移动设备的使用状态。

状态识别网络用于对用户使用移动设备的状态进行识别,该状态识别网络的输入是划分后的信号片段,输出是移动设备的使用状态的识别结果。在本申请实施例中,状态识别网络使用神经网络与深度学习的方式确定得到,接下来对状态识别网络的确定过程进行介绍。

作为一种示例,移动设备获取多个样本信号片段以及该多个样本信号片段中每个样本信号片段对应的使用状态。以该多个样本信号片段作为初始状态识别网络的输入,以该多个样本信号片段中每个样本信号片段对应的使用状态作为初始状态识别网络的输出,对初始状态识别网络进行训练,得到状态识别网络。

由于不同的情况下,移动设备的使用状态不同,为了提高状态识别网络的适用性,该多个样本信号片段对应的使用状态也不同。这样,在通过多个样本信号片段以及该多个样本信号片段中每个样本信号片段对应的使用状态对初始状态识别网络进行训练之后,通过状态识别网络识别出的使用状态的成功率较高。

在本申请实施例中,状态识别网络的结构包括多种,这里将列举一种状态识别网络的结构。如图4所示,该状态识别网络包括卷积层C1、卷积层C2、池化层P1、平化层F1、稠密层D1和稠密层D2。对于图4所示的状态识别网络,一个信号片段经过两个卷积层、一个池化层、一个平化层、两个稠密层,输出移动设备的使用状态的识别结果。

第二种实现方式,将第一IMU信号作为状态识别网络的输入,确定移动设备在多个时间窗口的使用状态,该多个时间窗口用于划分第一IMU信号。

也即是,在第二种实现方式中,移动设备通过状态识别网络,按照多个时间窗口将第一IMU信号进行划分,并确定移动设备在每个时间窗口的使用状态。与第一种实现方式不同的是,该状态识别网络不仅用于对用户使用移动设备的状态进行识别,还用于按照多个时间窗口对第一IMU信号进行划分。也即是,第二种实现方式中,状态识别网络集成有IMU信号划分的功能和使用状态识别的功能。

其中,该多个时间窗口的大小相等。每个时间窗口的大小按照需求进行设置。作为一种示例,时间窗口的大小按照第一IMU信号的采样频率来确定。比如,第一IMU信号的采样频率为200HZ,也就是说,一秒钟采集200个点,时间窗口的大小可以设置为0.5秒。

由于第二种实现方式中状态识别网络的输入与第一种实现方式中状态识别网络的输入不同,因此,第二种实现方式中状态识别网络的确定过程与第一种实现方式中状态识别网络的确定过程也不同。接下来,对第二种实现方式中状态识别网络的确定过程进行介绍。

作为一种示例,移动设备获取多个样本IMU信号以及该多个样本IMU信号中每个样本IMU信号在多个时间窗口的使用状态。以该多个样本IMU信号作为初始状态识别网络的输入,以该多个样本IMU信号中每个样本IMU信号在多个时间窗口的使用状态作为初始状态识别网络的输出,对初始状态识别网络进行训练,得到状态识别网络。

由于不同的情况下,移动设备的使用状态不同,为了提高状态识别网络的适用性,该多个样本IMU信号在多个时间窗口的使用状态也不同。这样,在通过多个样本IMU信号以及该多个样本IMU信号中每个样本IMU信号在多个时间窗口的使用状态对初始状态识别网络进行训练之后,通过状态识别网络识别出的使用状态的成功率较高。

由于用户与移动设备的相对位置的动态变化对定位精度会产生很大影响,因此,本申请实施例增加了移动设备的使用状态的识别过程,也即是,通过状态识别网络来识别移动设备的使用状态,通过神经网络和深度学习的方法来提升状态识别的鲁棒性和准确度。

可选地,本申请实施例提供的室内定位方法是在用户步行的情况下实现的,所以,移动设备将第一IMU信号作为状态识别网络的输入,确定移动设备的使用状态之前,还需要确定当前是否处于步行状态。也即是,将第一IMU信号作为行为识别网络的输入,确定当前的用户行为状态,如果确定的用户行为状态为步行状态,则执行将第一IMU信号作为状态识别网络的输入,确定移动设备的使用状态的步骤。

行为识别网络用于确定用户的行为状态,比如,开车、步行、爬楼梯等状态。行为识别网络的输入是IMU信号,行为识别网络的输出是用户行为状态的识别结果。接下来对行为识别网络的确定过程进行介绍。

作为一种示例,移动设备获取多个样本IMU信号以及该多个样本IMU信号对应的用户行为状态。以该多个样本IMU信号作为初始行为识别网络的输入,以该多个样本IMU信号对应的用户行为状态作为初始行为识别网络的输出,对该初始行为识别网络进行训练,得到行为识别网络。

由于不同的情况下,用户的行为状态可能不同,为了提高行为识别网络的适用性,该多个样本IMU信号对应的用户行为状态不同。这样,在通过该多个样本IMU信号以及该多个样本IMU信号对应的用户行为状态训练得到行为识别网络之后,通过行为识别网络识别出的用户行为状态的成功率较高。

步骤203:移动设备根据第一对应关系确定移动设备的使用状态所对应的位置识别网络,通过该位置识别网络确定位置变化量。

在步骤202中介绍了两种确定移动设备的使用状态的实现方式,接下来也将分为两种实现方式,对步骤203的实现过程进行介绍。

第一种实现方式,从该多个信号片段中选择一个信号片段作为参考信号片段,对参考信号片段执行以下操作,直至对该多个信号片段中的每个信号片段均已执行以下操作为止:对参考信号片段进行特征提取,得到参考信号片段对应的特征向量。根据第一对应关系确定参考信号片段对应的一次脚步时移动设备的使用状态所对应的位置识别网络,将确定的位置识别网络作为参考位置识别网络。将参考信号片段对应的特征向量作为参考位置识别网络的输入,确定参考信号片段对应的一次脚步的位置变化量。

与步骤202中的第一种实现方式对应,移动设备在划分得到多个信号片段之后,对于该多个信号片段中的参考信号片段,移动设备对参考信号片段进行特征提取,得到参考信号片段对应的特征向量。由于不同的使用状态对应不同的位置识别网络,且第一对应关系中存储有不同使用状态对应的位置识别网络,因此,移动设备按照参考信号片段对应的一次脚步时移动设备的使用状态,从第一对应关系中选择对应的位置识别网络作为参考位置识别网络。将参考信号片段对应的特征向量作为参考位置识别网络的输入,确定参考信号片段对应的一次脚步的位置变化量。

其中,移动设备对参考信号片段进行特征提取,得到参考信号片段对应的特征向量的实现过程为:移动设备对参考信号片段进行降采样处理,根据降采样处理后的参考信号片段进行特征运算,得到参考信号片段对应的特征向量。

特征运算包括但不限于信号的均值、方差、标准差等运算。如果移动设备根据降采样处理后的参考信号片段进行N个维度的特征运算,那么,参考信号片段对应的特征向量也包括N个维度的元素。比如,移动设备根据降采样处理后的参考信号片段进行均值、方差和标准差这三个维度的运算,那么,参考信号片段对应的特征向量也包括均值、方差和标准差这三个维度的元素。

在一些实施例中,移动设备按照每个位置识别网络对应的使用状态存储该多个位置识别网络,也即是,存储第一对应关系,这样,在确定出参考信号片段对应的一次脚步时移动设备的使用状态之后,能够从第一对应关系中确定对应的位置识别网络。

在第一种实现方式中,位置识别网络用于确定每一次脚步的位置变化量,位置识别网络的输入是划分后的信号片段对应的特征向量,输出是相应信号片段对应的一次脚步的位置变化量。该位置变化量包括步长的变化量和朝向的变化量。接下来对位置识别网络的确定过程进行介绍。

作为一种示例,从第一对应关系包括的位置识别网络中选择一个位置识别网络作为第一位置识别网络,通过如下操作训练得到第一位置识别网络,直至训练得到第一对应关系包括的每个位置识别网络为止:获取多个样本特征向量以及该多个样本特征向量中每个样本特征向量对应的位置变化量,该多个样本特征向量是指使用状态为第一状态的移动设备获取的IMU信号片段对应的特征向量,第一状态是指第一位置识别网络对应的使用状态。以该多个样本特征向量作为初始位置识别网络的输入,以该多个样本特征向量中每个样本特征向量对应的位置变化量作为初始位置识别网络的输出,对初始位置识别网络进行训练,得到第一位置识别网络。

由于不同的使用状态对应不同的位置识别网络,也就是说,一种位置识别网络只能确定对应的一种使用状态下的位置变化量,因此,为了提高位置识别网络的识别准确度,该多个样本特征向量为同一使用状态下获取的IMU信号片段对应的特征向量。

需要说明的是,该多个位置识别网络的结构相同或者不同,且每个位置识别网络的结构包括多种。比如,对于握持自然摇摆状态的位置识别网络,接下来将列举两种结构。如图5所示,握持自然摇摆状态的位置识别网络包括卷积层C1、卷积层C2、平化层F1、稠密层D1和稠密层D2。如图6所示,握持自然摇摆状态的位置识别网络包括深度残差网络R18和稠密层D1。当一个信号片段对应的一次脚步时移动设备的使用状态为握持自然摇摆状态时,对于图5所示的位置识别网络,这个信号片段对应的特征向量经过两个卷积层、一个平化层、两个稠密层,输出这个信号片段对应的一次脚步时的位置变化量。对于图6所示的位置识别网络,这个信号片段对应的特征向量经过深度残差网络和一个稠密层,输出这个信号片段对应的一次脚步时的位置变化量。

当然,移动设备按照步骤202的第一种实现方式确定移动设备在每一次脚步时的使用状态之后,还能够通过其他的方式来确定每一步的位置变化量,不局限于步骤203中的第一种实现方式。

第二种实现方式,从多个时间窗口中选择一个时间窗口作为参考时间窗口,对参考时间窗口执行以下操作,直至对该多个时间窗口中的每个时间窗口均已执行以下操作为止:根据第一对应关系确定移动设备在参考时间窗口的使用状态所对应的位置识别网络,将确定的位置识别网络作为参考位置识别网络。将第一IMU信号中处于参考时间窗口内的信号片段作为参考位置识别网络的输入,确定参考时间窗口对应的位置变化量。

与步骤202中的第二种实现方式对应,由于不同的使用状态对应不同的位置识别网络,且第一对应关系中存储有不同使用状态对应的位置识别网络,因此,对于该多个时间窗口中的参考时间窗口,移动设备确定自身在参考时间窗口的使用状态之后,根据移动设备在参考时间窗口的使用状态,从第一对应关系中选择对应的位置识别网络作为参考位置识别网络。将第一IMU信号中处于参考时间窗口内的信号片段作为参考位置识别网络的输入,确定参考时间窗口对应的位置变化量。

在一些实施例中,移动设备按照每个位置识别网络对应的使用状态存储该多个位置识别网络,也即是,存储第一对应关系,这样,在确定出移动设备在参考时间窗口的使用状态之后,能够从第一对应关系中确定对应的位置识别网络。

在第二种实现方式中,位置识别网络用于确定每个时间窗口的位置变化量,位置识别网络的输入是第一IMU信号中处于一个时间窗口内的信号片段,输出是相应时间窗口的位置变化量。该位置变化量包括步长的变化量和朝向的变化量。接下来对位置识别网络的确定过程进行介绍。

作为一种示例,从第一对应关系包括的位置识别网络中选择一个位置识别网络作为第一位置识别网络,通过如下操作训练得到第一位置识别网络,直至训练得到第一对应关系包括的每个位置识别网络为止:获取多个样本信号片段以及该多个样本信号片段中每个样本信号片段对应的位置变化量,该多个样本信号片段是指使用状态为第一状态的移动设备获取的IMU信号片段,第一状态是指第一位置识别网络对应的使用状态。以该多个样本信号片段作为初始位置识别网络的输入,以该多个样本信号片段中每个样本信号片段对应的位置变化量作为初始位置识别网络的输出,对初始位置识别网络进行训练,得到第一位置识别网络。

由于不同的使用状态对应不同的位置识别网络,也就是说,一种位置识别网络只能确定对应的一种使用状态下的位置变化量,因此,为了提高位置识别网络的识别准确度,该多个样本信号片段为同一使用状态下获取的IMU信号片段。

当然,移动设备按照步骤202的第二种实现方式确定移动设备在每个时间窗口的使用状态之后,还能够通过其他的方式来确定每个时间窗口的位置变化量,不局限于步骤203中的第二种实现方式。

结合上述步骤202-203的描述可知,移动设备能够采用两种方式确定位置变化量,也即是,移动设备包括两种架构来实现本申请实施例提供的室内定位方法。其中一种架构参考图7所示,在移动设备通过IMU传感器确定出第一IMU信号之后,通过脚步检测模块划分出多个信号片段之后,一方面通过特征提取模块确定每个信号片段的特征向量,另一方面通过状态识别模块确定每个信号片段对应的一次脚步时移动设备的使用状态。接下来,通过PDR位置识别模块选择位置识别网络,并通过选择的位置识别网络确定每个信号片段对应的一次脚步时的位置变化量。

另一种架构参考图8所示,在移动设备通过IMU传感器确定出第一IMU信号之后,一方面通过状态识别模块确定移动设备在多个时间窗口中每个时间窗口的使用状态,另一方面结合状态识别模块的输出和第一IMU信号,通过PDR位置识别模块选择位置识别网络,并通过选择的位置识别网络确定每个时间窗口的位置变化量。

步骤204:移动设备根据确定的位置变化量确定当前所处的室内位置。

在本申请实施例中,移动设备获取第一位置信息,第一位置信息是指移动设备的起始位置的位置信息。然后,将第一位置信息与确定的位置变化量相加,即可得到移动设备当前所处的室内位置。

由于位置变化量包括步长的变化量和朝向的变化量,第一位置信息包括位置和朝向,因此,在第一位置信息包括的位置的基础上,增加本次确定的步长的变化量,得到移动设备当前所处的位置,在第一位置信息包括的朝向的基础上,增加本次确定的朝向的变化量,得到移动设备当前所处的朝向,这样,即可准确确定移动设备当前所处的室内位置。

需要说明的是,如果上述第一IMU信号是移动设备处于室内场所检测到的首个IMU信号,那么,移动设备直接将当前所处的室内位置作为室内场所内的起始位置。如果上述第一IMU信号是移动设备处于室内场所检测到的第二个IMU信号,那么移动设备可以获取到第一位置信息,然后在第一位置信息的基础上增加本次确定的位置变化量,即可得到移动设备当前所处的室内位置。如果上述第一IMU信号是移动设备处于室内场所检测到的第二个IMU信号之后的一个IMU信号,那么移动设备可以获取在检测到第一IMU信号之前最近一次确定的室内位置,在这个室内位置的基础上增加本次确定的位置变化量,即可得到移动设备当前所处的室内位置。

如果移动设备的起始位置为世界坐标系下的位置信息,那么,上述步骤确定的移动设备当前所处的室内位置也是世界坐标系下的位置信息。如果移动设备的起始位置不是世界坐标系下的位置信息,那么,上述步骤确定的移动设备当前所处的室内位置就不是世界坐标系下的位置信息,而是本地坐标系下的位置,也即是,上述步骤确定的移动设备当前所处的室内位置并未与世界坐标系对齐。

其中,本地坐标系为移动设备以自身包括的某个点为原点,以自身定义的三个方向为三个坐标轴来定义的坐标系。比如,以移动设备的左上角为原点,以移动设备的长边、短边、高度三个方向为三个坐标轴建立的坐标系。

按照上述方法,移动设备能够确定自身的位置变化量,进而确定移动设备在每个时刻所处的室内位置。这样,通过移动设备在每个时刻所处的室内位置,能够绘制出连续的用户行走轨迹。其中,该用户行走轨迹为本地坐标系下的行走轨迹,或者为世界坐标系下的行走轨迹。

综上所述,移动设备确定自身的使用状态之后,能够根据确定的使用状态,选择对应的位置识别网络来确定位置变化量。也即是,在不同的使用状态下,选择不同的位置识别网络来确定位置变化量,不需要用户保持固定的移动设备的握持姿态,鲁棒性较强,而且定位精度还能够得到保证。另外,移动设备通过内置的IMU传感器即可实现室内定位,减少了对外部系统的依赖性,以及减少了部署和维护成本。

本申请实施例提供的室内定位方法能够应用于多种场景,比如,室内停车场的停车找车、室内导航等等。接下来将分为三个实施例,对其中的三种应用场景进行详细描述。

图9是本申请实施例提供的一种在室内停车场找车的方法流程图,请参考图9,该方法包括如下几个步骤。

步骤901:移动设备获取第一位置信息和第二位置信息,第一位置信息是指移动设备的起始位置的位置信息,第二位置信息是指目标车辆在室内停车场内的停车位置的位置信息。

在室内停车场找车的场景下,目标车辆在室内停车场内的停车位置即为移动设备所要到达的目的位置,也即是,第二位置信息为移动设备所要到达的目的位置的位置信息。

在本申请实施例中,第一位置信息可以为本地坐标系下的位置信息,也可以为世界坐标系下的位置信息。当第一位置信息为世界坐标系下的位置信息时,第一位置信息能够通过多种实现方式获取。作为一种示例,第一位置信息为用户进入室内停车场之前最后一次获取的室外定位信息。比如,用户在室内停车场的地面入口处获取的室外定位信息。作为另一种示例,第一位置信息为用户进入室内停车场之后,通过扫描室内停车场内粘贴的图形码获取,也即是,室内停车场内粘贴有图形码,该图形码中包括当前位置在世界坐标系下的位置信息,移动设备通过扫描该图形码能够获取到第一位置信息。当然,该图形码不一定粘贴于室内停车场内,可选地,该图形码也能够粘贴于室内停车场之外,比如,室内停车场的地面入口处。

通常情况下,在停车场停车需要缴费,所以,对于上述第二种示例,移动设备通过扫描该图形码能够显示缴费页面,当用户通过缴费页面缴费完成后,移动设备能够显示导航页面,该导航页面中显示有第二位置信息。当然,通过扫描图形码进行缴费,从而显示导航页面只是一种实现方式,实际应用中,还有其他的实现方式。

其中,室外定位信息包括GPS位置信息或者LBS位置信息等,图形码包括二维码、条形码等等,本申请实施例对此不做限定。

由于第二位置信息是指目标车辆在室内停车场内的停车位置的位置信息,这样,就需要在目标车辆停到室内停车场之后,移动设备能够获取并存储第二位置信息。其中,第二位置信息可以为本地坐标系下的位置信息,也可以为世界坐标系下的位置信息。当第二位置信息为世界坐标系下的位置信息时,移动设备能够通过多种方式获取第二位置信息,比如,停车位上粘贴有图形码,该图形码中包括停车位在世界坐标系下的位置信息,由于目标车辆停在停车位上,那么,停车位在世界坐标系下的位置信息可以认为是目标车辆在室内停车场内的停车位置在世界坐标系下的位置信息。这样,移动设备通过扫描停车位上粘贴的图形码即可获取第二位置信息。当然,移动设备还能够通过其他的方式获取第二位置信息,比如,通过上述室内定位方法获取第二位置信息,此处对此方式不做展开描述,将在后文进行详细阐述。

在一些实施例中,该室内停车场内停有用户的一个车辆,移动设备存储停车位置的位置信息,并按照停车位置的位置信息找到车辆之后,可能会清除停车位置的位置信息,也可能不清除停车位置的位置信息,继续存储。这样,在一种情况下,移动设备中只存储一个停车位置的位置信息。在另一种情况下,移动设备中会存储多个停车位置的位置信息,这样,移动设备在存储停车位置的位置信息时,还需要存储对应的停车时间。对于第一种情况,直接将移动设备存储的一个停车位置的位置信息确定为第二位置信息。对于第二种情况,移动设备将存储的多个停车位置的位置信息中,与第一位置信息之间的距离最近且停车时间与当前时间最近的一个位置信息确定为第二位置信息。

在另一些实施例中,该室内停车场内也可能停有用户的多个车辆,所以,移动设备在存储停车位置的位置信息时,还需要存储停车时间和车辆标识。这样,不管移动设备在找到车辆之后是否清除停车位置的位置信息,在移动设备获取第二位置信息时,都需要确定目标车辆的车辆标识,然后将存储的停车位置的位置信息中,停车时间与当前时间最近且对应的车辆标识与目标车辆的车辆标识相同的一个位置信息确定为第二位置信息。

步骤902:移动设备根据第一位置信息和第二位置信息,确定从起始位置到停车位置的导航路径。

移动设备根据第一位置信息和第二位置信息,确定从起始位置到停车位置的导航路径的方法包括多种。作为一种示例,移动设备获取移动设备所处的室内停车场的地图,根据第一位置信息和第二位置信息,按照该室内停车场的地图,计算从起始位置到停车位置的导航路径。

其中,该室内停车场的地图可以为本地坐标系下的地图,这样,在第一位置信息和第二位置信息为本地坐标下的位置信息的情况下,移动设备直接按照该室内停车场的地图,计算从起始位置到停车位置的导航路径,但是,在第一位置信息和第二位置信息为世界坐标下的位置信息的情况下,移动设备需要将第一位置信息和第二位置信息转换为本地坐标系下的位置信息,然后按照该室内停车场的地图,计算从起始位置到停车位置的导航路径。

当然,该室内停车场的地图也可以为世界坐标系下的地图,这样,在第一位置信息和第二位置信息为本地坐标下的位置信息的情况下,移动设备需要将第一位置信息和第二位置信息转换为世界坐标系下的位置信息,然后按照该室内停车场的地图,计算从起始位置到停车位置的导航路径。但是,在第一位置信息和第二位置信息为世界坐标下的位置信息的情况下,移动设备直接按照该室内停车场的地图,计算从起始位置到停车位置的导航路径。

其中,本地坐标系下的位置信息与世界坐标系下的位置信息的转换方式可以参考相关技术,本申请实施例对此不做详细阐述。另外,该室内停车场的地图可以是事先针对该室内停车场绘制的地图,也可以为云端服务器对多个用户行走轨迹进行轨迹融合后生成的轨迹地图,对于后者,后文有详细阐述,此处不做展开说明。

步骤903:移动设备根据第一位置信息,通过上述室内定位方法确定移动设备当前所处的室内位置。

由于第一位置信息可以为本地坐标系下的位置信息,也可以为世界坐标系下的位置信息,所以,移动设备通过上述实施例提供的室内定位方法确定移动设备的位置变化量,进而以第一位置信息对应的位置为参考点,在第一位置信息的基础上增加该位置变化量,得到移动设备当前所处的室内位置可以为本地坐标系下的位置信息,也可以为世界坐标系下的位置信息。

步骤904:移动设备在导航界面中显示该导航路径以及移动设备当前所处的室内位置,以在室内停车场寻找目标车辆。

移动设备通过突出显示的方式,在导航界面中显示该导航路径。示例地,通过加粗并带有颜色的线条,在导航界面中显示该导航路径。

其中,移动设备在导航界面中显示该导航路径时,还能够对第一位置信息对应的位置和第二位置信息对应的位置进行标记。也即是,在导航界面中标记起始位置和停车位置,或者说,在导航界面中标记导航起点和导航终点。

比如,如图10所示的导航界面,C点是指移动设备的起始位置,P点是指停车位置,C点到P点之间的虚线是指确定的导航路径,S点是指移动设备当前所处的室内位置。这样,通过显示的这些信息能够对用户在该室内停车场寻找目标车辆进行导航。

可选地,用户通过导航界面中显示的导航路径在室内停车场寻找目标车辆时,可能会偏离该导航路径,此时,该导航路径可能对用户来说作用不大。对于这种情况,移动设备还需要判断移动设备在世界坐标系下的实时位置是否偏离该导航路径。如果没有偏离,那么继续显示该导航路径。如果已经偏离,那么移动设备需要按照当前所处的室内位置和第二位置信息,重新确定一条导航路径,然后在导航界面中显示重新确定的导航路径。这样,通过实时检测用户的位置是否偏离导航路径,从而确定是否需要更新导航路径,便于用户在室内停车场寻找目标车辆,也能够提高寻找目标车辆的效率。

其中,判断移动设备当前所处的室内位置是否偏离导航路径的方式包括多种,示例地,移动设备确定自身当前所处的室内位置与该导航路径之间的最短距离,如果该最短距离大于距离阈值,那么确定移动设备在世界坐标系下的实时位置已经偏离该导航路径,否则,确定移动设备在世界坐标系下的实时位置没有偏离该导航路径。

可选地,在移动设备通过导航界面显示上述信息,以帮助用户在室内停车场寻找目标车辆的过程中,移动设备还能够判断自身当前所处的室内位置是否已经抵达停车位置。如果没有抵达,那么移动设备继续通过导航界面显示上述信息。如果已经抵达,那么移动设备结束导航流程。或者,移动设备在接收到结束找车的指令时,结束导航流程。

至此,已完成在室内停车场找车的过程。但是,基于上述描述,第二位置信息是指目标车辆在室内停车场内的停车位置的位置信息,而且,第二位置信息能够按照上述实施例提供的室内定位方法确定得到。接下来,通过下述的步骤(1)-(3),对移动设备基于上述室内定位方法在室内停车场停车后确定第二位置信息的方法进行介绍。

(1)、移动设备确定第三位置信息,第三位置信息是指停车位置在本地坐标系下的位置信息。

在一些实施例中,移动设备通过IMU传感器确定第二IMU信号。将第二IMU信号作为行为识别网络的输入,确定当前的用户行为状态。如果确定的用户行为状态为开车状态,则返回通过IMU传感器确定第二IMU信号的步骤,直至确定的用户行为状态为步行状态时,确定用户当前已经停好目标车辆,也即是,当前捕捉到用户的停车事件,此时,通过上述室内定位方法确定的位置信息即为停车位置的位置信息。

由于停车事件发生在室内环境中,无法获取到室外定位信息,也即是,在停车过程中未涉及世界坐标系下的位置信息,所以,此处确定的停车位置的位置信息是指停车位置在本地坐标系下的位置信息。

对于上述这个实施例,室内停车场停车找车应用在移动设备开机以后就开始运行。通过定时查询的方式,通过移动设备的IMU传感器保持数据的读取和分析。因为整个流程运行在移动设备的后台,IMU信号的获取过程不需要用户开启室内停车场停车找车应用,也即是,不需要用户主动参与交互来标记停车位置,操作比较便捷,而且即便用户忘记标记停车位置,也不会出现无法找车的情况。

在另一些实施例中,用户可以在室内停车场停好目标车辆之后,打开室内停车场停车找车应用,这样,移动设备确定当前捕捉到用户的停车事件,此时,通过上述室内定位方法确定的位置信息即为停车位置的位置信息。

当然,移动设备还能够通过其他的方式捕捉到用户的停车事件,进而确定第三位置信息。

(2)、移动设备根据第三位置信息,确定用户行走轨迹。

基于上述室内定位方法的描述,在用户步行的过程中,移动设备会实时更新自身所处的室内位置,进而绘制用户行走轨迹。对于本申请实施例来说,在移动设备确定出第三位置信息之后,将第三位置信息作为起点,在后续更新自身所处的室内位置的同时,确定用户行走轨迹。其中,该用户行走轨迹也是本地坐标系下的,并未与世界坐标系对齐。

(3)、当获取到室外定位信息时,根据该室外定位信息在该用户行走轨迹上对应的位置信息,以及第三位置信息,确定第二位置信息。

由于室内停车场获取不到室外定位信息,所以上述第三位置信息和用户行走轨迹均为本地坐标系下的信息。但是,当移动设备能够获取到室外定位信息时,由于室外定位信息是世界坐标系下的位置信息,该室外定位信息在该用户行走轨迹上还对应有一个本地坐标系下的位置信息。所以,按照这个室外定位信息、该室外定位信息在该用户行走轨迹上对应的位置信息,以及第三位置信息,能够反推出停车位置在世界坐标系下的位置信息,也即是第二位置信息。

比如,如图11所示,P

综上所述,移动设备在存储停车位置的位置信息之后,在找车的过程中,移动设备能够获取起始位置的位置信息,进而能够确定出一条导航路径。也即是,根据第一位置信息和第二位置信息,能够确定出一条导航路径。进而在导航界面中显示导航路径,从而便于用户按照导航界面上显示的信息,在室内停车场寻找目标车辆,解决了无法在室内场所获取卫星信号进而无法定位的难点。而且,本申请实施例提供的方法只需要在移动设备的架构层完成,不依赖于外部的硬件,成本较低。

图12是本申请实施例提供的一种在室内场所导航的方法流程图,请参考图12,该方法包括如下几个步骤。

步骤1201:移动设备获取第一位置信息和第二位置信息,第一位置信息是指移动设备的起始位置的位置信息,第二位置信息是指移动设备所要到达的目的位置的位置信息。

当用户进入该室内场所且对该室内场所的布局不是很清楚的情况下,或者无法获取该室内场所的地图,没有或者无法接入该室内场所的定位系统,这种场景下,用户想要再走出该室内场所可能有一定的难度,或者说可能会迷路,进而会花费比较长的时间,所以,为了确保用户能够走出该室内场所,需要在该室内场所内进行导航。

在室内场所导航的场景下,该室内场所可以为室内停车场,也可以是其他场所,比如,商场、写字楼等等,本申请实施例对室内场所不做限制。

在用户想要走出该室内场所时,可以将用户当前所处的位置作为移动设备的起始位置,也即是,将用户当前所处的位置的位置信息作为第一位置信息,将用户进入该室内场所时所走的入口作为移动设备所要到达的目的位置。也即是,将用户进入该室内场所时所走的入口的位置信息作为第二位置信息。

在本申请实施例中,第一位置信息可以为用户进入该室内场所后,移动设备通过上述室内定位方法确定得到,第一位置信息可以为本地坐标系下的位置信息,也可以为世界坐标系下的位置信息。第二位置信息可以为用户进入该室内场所时,移动设备获取的位置信息,第二位置信息也可以为本地坐标系下的位置信息或者世界坐标系下的位置信息。

步骤1202:移动设备从存储的一个或多个用户行走轨迹中,选择包括第一位置信息和第二位置信息的目标用户行走轨迹,将目标用户行走轨迹确定为从起始位置到目的位置的导航路径。

基于上述室内定位方法的实施例可知,用户在室内场所行走的过程中,移动设备不仅确定当前所处的室内位置,还能够确定用户行走轨迹。这样,在用户每次进入该室内场所之后,移动设备都会确定一个用户行走轨迹。所以,移动设备会存储一个或多个用户行走轨迹。

在本申请实施例中,目标用户行走轨迹是指移动设备存储的用户行走轨迹中,包括第一位置信息和第二位置信息的用户行走轨迹,而且,用户本次在该室内场所行走的轨迹可能会包括第一位置信息和第二位置信息,用户历史在该室内场所行走的轨迹也可能会包括第一位置信息和第二位置信息。也就是说,移动设备存储的用户行走轨迹中,包括第一位置信息和第二位置信息的用户行走轨迹可能不止一个,所以,移动设备可以将用户本次在该室内场所行走的轨迹确定为目标用户行走轨迹,也可以将历史在该室内场所行走的轨迹确定为目标用户行走轨迹。接下来对这两种情况分别说明。

在第一种实现方式中,目标用户行走轨迹是指用户本次在该室内场所行走的轨迹。也即是,在用户本次在该室内场所行走时,移动设备确定并存储该用户在该室内场所行走的轨迹,这样,在用户想要走出该室内场所时,移动设备能够获取到用户本次在该室内场所行走的轨迹,即目标用户行走轨迹。

需要说明的是,用户每走出一个室内场所之后,移动设备可能会清除本次在该室内场所行走的轨迹,也可能不清除本次在该室内场所行走的轨迹,继续存储。这样,在用户想要走出该室内场所时,在一种情况下,移动设备中只存储一个用户行走轨迹,即本次在该室内场所行走的轨迹,在另一种情况下,移动设备中会存储多个用户行走轨迹,该多个用户行走轨迹可能为用户在不同时间在同一室内场所行走的轨迹,也可能为用户在不同时间在不同室内场所行走的轨迹。这样,移动设备在存储用户行走轨迹时,还需要存储对应的进入时间,即进入室内场所的时间。对于第一种情况,直接将移动设备存储的一个用户行走轨迹确定为用户本次在该室内场所行走的轨迹。对于第二种情况,移动设备将存储的多个用户行走轨迹中,对应的进入时间与当前时间最近的一个用户行走轨迹确定为用户本次在该室内场所行走的轨迹。

对于上述第一种实现方式来说,目标用户行走轨迹为本地坐标系下的行走轨迹,或者为世界坐标系下的行走轨迹。

比如,如图13所示的室内场所的示意图,点A为用户进入该室内场所的起点,通过对移动设备的实时位置的更新,能够得到一条用户行走轨迹B。也即是,用户行走轨迹B为本次在该室内场所行走的轨迹。

在移动设备确定用户本次在该室内场所行走的轨迹之前,需要确定当前是否正在进入该室内场所。作为一种示例,移动设备判断当前时刻是否能够获取到室外定位信息。如果当前时刻获取不到室外定位信息且上一时刻能够获取到室外定位信息,则通过IMU传感器确定第三IMU信号。将第三IMU信号作为行为识别网络的输入,确定当前的用户行为状态。如果确定的用户行为状态为步行状态,则确定当前正在进入该室内场所。

也即是,通过室外定位信息的变化情况,来确定当前是否正在进入该室内场所。当然,移动设备还能够通过其他的方式来确定,本申请实施例对此不再一一列举。

在第二种实现方式中,该用户行走轨迹是指用户历史进入该室内场所且包括第一位置信息和第二位置信息的行走轨迹。也即是,在用户历史在该室内场所行走时,移动设备确定并存储该用户历史在该室内场所行走的轨迹,且该行走轨迹上包括第一位置信息和第二位置信息。这样,在用户想要走出该室内场所时,移动设备能够获取到该历史行走轨迹。

对于上述第二种实现方式来说,用户每走出一个室内场所之后,移动设备不清除本次在该室内场所行走的轨迹,继续存储。这样,在用户想要走出该室内场所时,移动设备内存储有多个历史行走轨迹。此时,移动设备判断存储的多个历史行走轨迹中是否存在包括第一位置信息和第二位置信息的历史行走轨迹,如果包括,那么移动设备将包括第一位置信息和第二位置信息的历史行走轨迹确定为目标用户行走轨迹。

需要说明的是,对于步骤1201,可以在移动设备接收到导航指令时执行,当然,也可以通过其他的方式来触发执行,本申请实施例对此不做限定。

另外,在某些场景下,移动设备可能获取不到第二位置信息,此时,移动设备可以从存储的一个或多个用户行走轨迹中,确定包括第一位置信息的目标用户行走轨迹。也就是说,只要用户在该室内场所行走过,那么该用户行走轨迹上必然就会存在用户进入该室内场所时所走的入口的位置信息,这种情况下,目标用户行走轨迹只需要包括第一位置信息即可,用户按照目标用户行走轨迹照样可以走出该室内场所。

步骤1203:移动设备根据第一位置信息,通过上述室内定位方法确定移动设备当前所处的室内位置。

由于第一位置信息可能为本地坐标系下的位置信息,也可能为世界坐标系下的位置信息,因此,通过第一位置信息确定的移动设备当前所处的室内位置可能为本地坐标下下的位置,也可能为世界坐标系下的位置。

步骤1204:移动设备在导航界面显示该导航路径以及移动设备当前所处的室内位置,以在该室内场所进行导航。

移动设备通过突出显示的方式,在导航界面中显示该导航路径。示例地,通过加粗并带有颜色的线条,在导航界面中显示该导航路径。

其中,移动设备在导航界面中显示该导航路径时,还能够在导航界面中标记导航起点和导航终点。其中,导航起点即为当前位置,导航终点即为用户进入该室内场所的入口。

基于上述描述,目标用户行走轨迹可能为本地坐标系下的行走轨迹,也可能为世界坐标系下的行走轨迹。也即是,导航路径可能为本地坐标系下的路径,也可能为世界坐标系下的路径。当导航路径为本地坐标系下的路径时,移动设备在导航界面中显示该导航路径以及移动设备在本地坐标系下的实时位置,从而对用户走出该室内场所进行导航。当导航路径为世界坐标系下的路径时,移动设备在导航界面显示该导航路径和移动设备在世界坐标系下的实时位置,以对用户走出该室内场所进行导航。

可选地,在移动设备通过导航界面显示上述信息,以帮助用户走出该室内场所的过程中,移动设备还能够判断自身的实时位置是否已经抵达导航路径的终点。如果没有抵达,那么移动设备继续通过导航界面显示上述信息。如果已经抵达,那么移动设备结束导航流程。或者,移动设备在接收到结束导航的指令时,结束导航流程。

基于上述步骤1201-步骤1204的描述可知,在一种情况下,移动设备无需获知世界坐标系下的用户行走轨迹和移动设备的实时位置,只需要记录本地坐标系下的用户行走轨迹以及移动设备的实时位置,即可对用户走出该室内场所进行导航。在另一种情况下,移动设备需要获知世界坐标系下的用户行走轨迹和移动设备的实时位置,进而对用户走出该室内场所进行导航。

对于第二种情况,移动设备不仅能够对用户走出该室内场所进行导航,还能够根据世界坐标系下的实时位置,获取室内场所的一些门票信息、打折优惠信息等。也即是,通过世界坐标系下的实时位置,确定当前所处的室内场所的标识,进而按照当前室内场所的标识,获取该室内场所的一些门票信息、打折优惠信息等等。

需要说明的是,对于诸如博物馆等室内场所,这些室内场所内并没有不同的门店,所以,对于该室内场所的门票信息、打折优惠信息等,移动设备根据进入该室内场所之前最后一次获取到的室外定位信息来获取,或者,根据该室内场所内移动设备在世界坐标系下的任一实时位置来获取。但是,对于诸如商场等室内场所,这些室内场所内包括多个不同的门店,不同的门店可能对应不同的门票信息、打折优惠等,所以,移动设备可以根据进入该室内场所之前最后一次获取到的室外定位信息来获取,也可以根据该室内场所内移动设备在世界坐标系下的任一实时位置来获取。但是,根据该室内场所内移动设备在世界坐标系下的任一实时位置来获取当前这个位置的门店的门票信息、打折优惠等信息,更具有针对性,且对用户来说帮助可能更大。

综上所述,当用户想要走出一个室内场所,但是又对这个室内场所的布局不是很清楚的情况下,很容易迷路,从而会花费比较长的时间。所以,本申请实施例提供了一种在室内场所导航的方法,也即是,在用户想要走出一个室内场所时,移动设备获取目标用户行走轨迹,从而在导航界面中显示该目标用户行走轨迹以及移动设备的实时位置,从而对用户走出该室内场所进行导航,不至于让用户迷路。

图14是本申请实施例提供的一种在室内场所导航的方法流程图,请参考图14,该方法包括如下几个步骤。

步骤1401:移动设备获取进入室内场所之前最后一次获取的室外定位信息。

步骤1402:移动设备根据该室外定位信息,从云端服务器获取该室内场所的轨迹地图,该室内场所的轨迹地图是云端服务器对多个用户行走轨迹进行轨迹融合后生成的。

云端服务器对于不同的室内场所存储有不同的轨迹地图,而进入室内场所之前最后一次获取的室外定位信息能够代表该室内场所的位置,所以,移动设备能够根据进入室内场所之前最后一次获取的室外定位信息,从云端服务器获取该室内场所的轨迹地图。具体地,移动设备将该室外定位信息发送给云端服务器,云端服务器根据该室外定位信息,获取该室内场所的轨迹地图,并向移动设备发送给室内场所的轨迹地图。

在一些实施例中,云端服务器存储有室内场所的位置范围与轨迹地图的映射关系。当移动设备获取到该室外定位信息之后,移动设备将该室外定位信息发送给云端服务器。云端服务器按照存储的室内场所的位置范围,确定与该室外定位信息距离最近的一个室内场所,然后将确定的这个室内场所的轨迹地图发送给移动设备。

需要说明的是,该室内场所的轨迹地图可以为本地坐标系下的地图,也可以为世界坐标系下的地图。由于该室内场所的轨迹地图为云端服务器对多个用户行走轨迹进行轨迹融合后生成的,所以,如果该室内场所的轨迹地图为本地坐标系下的地图,那么就需要该多个用户行走轨迹均为本地坐标系下的行走轨迹,且采集该多个用户行走轨迹的移动设备的本地坐标系相同,这样才能进行轨迹融合。如果该室内场所的轨迹地图为世界坐标系下的地图,那么就需要该多个用户行走轨迹均为世界坐标系下的行走轨迹。

步骤1403:移动设备获取第一位置信息,并根据第一位置信息,通过上述的室内定位方法确定移动设备当前所处的室内位置。

在本申请实施例中,第一位置信息可以为本地坐标系下的位置信息,也可以为世界坐标系下的位置信息。这样,移动设备根据第一位置信息,通过上述的室内定位方法确定的移动设备当前所处的室内位置可以为本地坐标系下的位置信息,也可以为世界坐标系下的位置信息。当第一位置信息为本地坐标系下的位置信息时,第一位置信息可以是通过上述的室内定位方法确定的起始位置的位置信息。当第一位置信息为世界坐标系下的位置信息时,第一位置信息可以为步骤1401中获取的室外定位信息。

由于室外定位信息是世界坐标系下的位置信息,所以,移动设备以该室外定位信息对应的位置为参考点,通过上述实施例提供的室内定位方法确定移动设备的位置变化量,进而在该室外定位信息的基础上增加该位置变化量,得到移动设备在世界坐标系下的实时位置。

步骤1404:移动设备在导航界面中显示移动设备当前所处的室内位置和该室内场所的轨迹地图,以进行室内导航。

在一些实施例中,由于该轨迹地图中包括该室内场所内能够行走的路径,移动设备当前所处的室内位置能够代表用户当前所处的室内位置,所以,移动设备在导航界面中显示该移动设备当前所处的室内位置和该室内场所的轨迹地图之后,用户不仅能够看到自身当前所处的位置,还能够看到周围可行的路径,这样,用户按照该轨迹地图,在该室内场所行走,进而实现在该室内场所内进行导航。

在另一些实施例中,用户可能会确定一个目的位置,这样,移动设备在导航界面中显示移动设备当前所处的室内位置和该室内场所的轨迹地图之后,还包括:获取目的位置的位置信息,根据移动设备当前所处的室内位置和目的位置的位置信息,通过该室内场所的轨迹地图确定导航路径。在导航界面中显示该导航路径,以进行导航。也即是,移动设备通过该室内场所的轨迹地图确定哪些路径能够行走,哪些路径不能行走,从而按照该轨迹地图确定一条导航路径,用户按照该导航路径可以行走至目的位置。

其中,移动设备按照该轨迹地图确定导航路径的方式包括多种,比如,通过距离最短方式确定导航路径,本申请实施例对此不做限定。另外,在该室内场所的轨迹地图和移动设备当前所处的室内位置均为本地坐标系下的信息时,移动设备获取的目的位置的位置信息也需要为本地坐标系下的信息,或者需要将世界坐标系下的目的位置的位置信息转换为本地坐标系下的目的位置的位置信息。在该室内场所的轨迹地图和移动设备当前所处的室内位置均为世界坐标系下的信息时,移动设备获取的目的位置的位置信息也需要为世界坐标系下的信息,或者需要将本地坐标系下的目的位置的位置信息转换为世界坐标系下的目的位置的位置信息。

可选地,该室内场所的轨迹地图上还标注有关键地标信息,该关键地标信息用于指示该室内场所内的关键地标。比如,该室内场所内的关键地标为入口、出口、扶梯、直梯等。这样,在导航界面中显示该轨迹地图之后,用户还能够及时获知该室内场所的关键地标。

至此,已完成通过该室内场所的轨迹地图进行导航的过程。但是,基于上述描述,该室内场所的轨迹地图是云端服务器对多个用户轨迹地图进行轨迹融合后生成的,而在本次导航的过程中,用户可能会发现其他可行的路径。所以,移动设备能够确定本次导航过程中的用户行走轨迹,然后将该用户行走轨迹发送给云端服务器,由云端服务器对该室内场所的轨迹地图进行更新,这样能够保证该室内场所的轨迹地图的实时更新,降低了轨迹地图的维护成本。

基于上述描述,轨迹地图中可能标注有关键地标信息,也可能没有标注关键地标信息。因此,接下来将分为两种情况进行介绍。

第一种情况、在轨迹地图没有标注关键地标信息的情况下,移动设备通过上述步骤1403确定移动设备当前所处的室内位置之后,根据移动设备当前所处的室内位置,确定当前的用户行走轨迹。之后,移动设备向云端服务器发送当前的用户行走轨迹。这样,云端服务器接收移动设备发送的当前在该室内场所内的用户行走轨迹,根据移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹,生成轨迹热图。根据该轨迹热图,重新生成该室内场所的轨迹地图,以实现轨迹地图的更新。

移动设备根据自身当前所处的室内位置,确定当前的用户行走轨迹的方式参考上述实施例中的描述,此处不再赘述。

由于用户行走轨迹是由多个轨迹点构成的,且用户轨迹上的每个轨迹点是处于同一坐标系的,所以,云端服务器将移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹绘制在一张图上,这张图上包括多个轨迹点,且每个轨迹点还对应一个热度值,该热度值用于指示包括该轨迹点的用户轨迹的数量,这张图称为轨迹热图。这样,云端服务器按照轨迹热图中每个轨迹点对应的热度值,从轨迹热图包括的多个轨迹点中,选择多个候选轨迹点,按照该多个候选轨迹点,重新生成该室内场所的轨迹地图。

在一些实施例中,云端服务器从该轨迹热图包括的多个轨迹点中,选择热度值大于热度阈值的多个轨迹点作为候选轨迹点。当然,云端服务器还可以通过其他的方式,从该轨迹热图包括的多个轨迹点中选择候选轨迹点。当云端服务器选择出候选轨迹点之后,将各个候选轨迹点进行连接,形成该室内场所的轨迹地图。

需要说明的是,云端服务器存储有室内场所的位置范围与用户行走轨迹的映射关系。在移动设备向云端服务器发送当前在该室内场所内的用户行走轨迹时,还需要向云端服务器发送移动设备进入该室内场所之前最后一次获取的室外定位信息。这样,云端服务器能够按照存储的室内场所的位置范围,确定与该室外定位信息距离最近的一个室内场所,然后获取这个室内场所对应的用户行走轨迹,进而与移动设备当前发送的用户行走轨迹进行轨迹融合,来重新生成该室内场所的轨迹地图。

比如,如图15所示,云端服务器根据移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹,生成的轨迹热图如图15的左图,之后,云端服务器根据轨迹热图生成的该室内场所的轨迹地图如图15的右图。

第二种情况、在轨迹地图上标注有关键地标信息的情况下,移动设备通过上述步骤1403确定移动设备当前所处的室内位置之后,根据移动设备当前所处的室内位置,确定当前的用户行走轨迹。之后,移动设备确定当前的用户行走轨迹上的每个轨迹点对应的室外定位信号的变化情况和室内高程的变化情况,并向云端服务器发送当前的用户行走轨迹以及当前的用户行走轨迹上的每个轨迹点的室外定位信号的变化情况和室内高程的变化情况。这样,云端服务器接收移动设备发送的当前在该室内场所内的用户行走轨迹以及用户行走轨迹上的每个轨迹点的室外定位信号的变化情况和室内高程的变化情况。根据移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹,生成轨迹热图,并在该轨迹热图上标注每个轨迹点的室外定位信号的变化情况和室内高程的变化情况。根据标注有每个轨迹点的室外定位信号的变化情况和室内高程的变化情况的轨迹热图,重新生成该室内场所的轨迹地图,以实现轨迹地图的更新。

其中,室外定位信号的变化情况是指移动设备在当前这个轨迹点上是否能够检测到室外定位信号。如果当前这个轨迹点上不能检测到室外定位信号,而上一轨迹点上能够检测到室外定位信号,表明当前正在从室外进入室内,也即是,当前这个轨迹点处可能为该室内场所的入口。相反,如果当前这个轨迹点上能够检测到室外定位信号,而上一轨迹点上不能检测到室外定位信号,表明当前正在从室内走出室外,也即是,当前这个轨迹点处可能为该室内场所的出口。

室内高程的变化情况是指移动设备在当前这个轨迹点上是否存在高程的变化。如果移动设备在当前这个轨迹点上存在高程的变化,那么,当前这个轨迹点处可能为扶梯或者直梯。具体地,如果当前这个轨迹点上存在高程的变化,且接下来连续的多个轨迹点上也存在高程的变化,那么,表明当前这个轨迹点处可能为扶梯。如果当前这个轨迹点上存在高程的变化,且接下来连续的多个轨迹点上不存在高程的变化,那么,表明当前这个轨迹点处可能为直梯。

其中,移动设备确定当前的用户行走轨迹上的每个轨迹点对应的室内高程的变化情况的方式包括多种。作为一种示例,在移动设备包括气压计的情况下,移动设备通过气压计检测到的气压的变化来确定是否存在高程的变化。也即是,当气压计在当前轨迹点上检测到的气压小于在上一轨迹点检测到的气压时,确定当前这个轨迹点上存在高程的变化,否则,确定当前这个轨迹点上不存在高程的变化。作为另一种示例,通过行为识别网络来确定是否存在高程的变化。也即是,将当前轨迹点的IMU信号作为行为识别网络的输入,确定当前这个轨迹点上是否存在高程的变化。

由于用户行走轨迹是由多个轨迹点构成的,且用户轨迹上的每个轨迹点处于同一坐标系,所以,云端服务器将移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹绘制在一张图上,这张图上包括多个轨迹点,且每个轨迹点还对应一个热度值,该热度值用于指示包括该轨迹点的用户轨迹的数量,这张图称为轨迹热图。这样,云端服务器按照轨迹热图中每个轨迹点对应的热度值,从轨迹热图包括的多个轨迹点中,选择多个候选轨迹点,按照该多个候选轨迹点,重新生成该室内场所的轨迹地图,并按照该多个候选轨迹点处的室外定位信号的变化情况和室内高程的变化情况,在该轨迹地图上标注关键地标信息。

在一些实施例中,云端服务器从该轨迹热图包括的多个轨迹点中,选择热度值大于热度阈值的多个轨迹点作为候选轨迹点。当然,云端服务器还可以通过其他的方式,从该轨迹热图包括的多个轨迹点中选择候选轨迹点。当云端服务器选择出候选轨迹点之后,将各个候选轨迹点进行连接,形成该室内场所的轨迹地图。

需要说明的是,云端服务器存储有室内场所的位置范围与用户行走轨迹的映射关系,且该映射关系中的用户行走轨迹上的每个轨迹点还对应有室外定位信号的变化情况和室内高程的变化情况。在移动设备向云端服务器发送当前在该室内场所内的用户行走轨迹时,还需要向云端服务器发送移动设备进入该室内场所之前最后一次获取的室外定位信息。这样,云端服务器能够按照存储的室内场所的位置范围,确定与该室外定位信息距离最近的一个室内场所,然后获取这个室内场所对应的用户行走轨迹,进而与移动设备当前发送的用户行走轨迹进行轨迹融合,来重新生成该室内场所的轨迹地图。之后,按照每个用户轨迹上的轨迹点对应的室外定位信号的变化情况和室内高程的变化情况,在该轨迹地图上标注关键地标信息。

综上所述,云端服务器通过将多个用户行走轨迹进行轨迹融合后生成该室内场所的轨迹地图,也即是,通过众包用户行走轨迹的方式来收集室内场所的地图路径信息,能够降低该室内场所的轨迹地图的建图成本。另外,后续在其他用户进入该室内场所时,移动设备从云端服务器获取该室内场所的轨迹地图,从而根据该室内场所的轨迹地图进行导航的过程中,还能够确定本次的用户行走轨迹,进而由云端服务器对该室内场所的路径变化进行实时更新,降低了轨迹地图的维护成本。

图16是本申请实施例提供的一种室内定位装置的结构示意图。该室内定位装置可以由软件、硬件或者两者的结合实现成为移动设备的部分或者全部,请参考图16,该室内定位装置包括:

第一确定模块1601,用于执行上述图2实施例中的步骤201的操作;

第二确定模块1602,用于执行上述图2实施例中的步骤202的操作;

第三确定模块1603,用于执行上述图2实施例中的步骤203的操作;

第四确定模块1604,用于执行上述图2实施例中的步骤204的操作。

可选地,第二确定模块1602具体用于:

按照脚步检测的方式,对第一IMU信号进行划分,得到多个信号片段,该多个信号片段中的每个信号片段包括一次脚步的IMU信号;

将该多个信号片段中的每个信号片段作为状态识别网络的输入,确定该多个信号片段中每个信号片段对应的一次脚步时移动设备的使用状态。

可选地,第三确定模块1603具体用于:

从多个信号片段中选择一个信号片段作为参考信号片段,对参考信号片段执行以下操作,直至对多个信号片段中的每个信号片段均已执行以下操作为止:

对参考信号片段进行特征提取,得到参考信号片段对应的特征向量;

根据第一对应关系确定参考信号片段对应的一次脚步时移动设备的使用状态所对应的位置识别网络,将确定的位置识别网络作为参考位置识别网络;

将参考信号片段对应的特征向量作为参考位置识别网络的输入,确定参考信号片段对应的一次脚步的位置变化量。

可选地,该装置还包括:

第一获取模块,用于获取多个样本信号片段以及多个样本信号片段中每个样本信号片段对应的使用状态;

第一训练模块,用于以多个样本信号片段作为初始状态识别网络的输入,以多个样本信号片段中每个样本信号片段对应的使用状态作为初始状态识别网络的输出,对初始状态识别网络进行训练,得到状态识别网络。

可选地,该装置还包括第二训练模块,第二训练模块具体用于:

从第一对应关系包括的位置识别网络中选择一个位置识别网络作为第一位置识别网络,通过如下操作训练得到第一位置识别网络,直至训练得到第一对应关系包括的每个位置识别网络为止:

获取多个样本特征向量以及多个样本特征向量中每个样本特征向量对应的位置变化量,多个样本特征向量是指使用状态为第一状态的移动设备获取的IMU信号片段对应的特征向量,第一状态是指第一位置识别网络对应的使用状态;

以多个样本特征向量作为初始位置识别网络的输入,以多个样本特征向量中每个样本特征向量对应的位置变化量作为初始位置识别网络的输出,对初始位置识别网络进行训练,得到第一位置识别网络。

可选地,第二确定模块1602具体用于:

将第一IMU信号作为状态识别网络的输入,确定移动设备在多个时间窗口的使用状态,该多个时间窗口用于划分第一IMU信号。

可选地,第三确定模块1603具体用于:

从多个时间窗口中选择一个时间窗口作为参考时间窗口,对参考时间窗口执行以下操作,直至对多个时间窗口中的每个时间窗口均已执行以下操作为止:

根据第一对应关系确定移动设备在参考时间窗口的使用状态所对应的位置识别网络,将确定的位置识别网络作为参考位置识别网络;

将第一IMU信号中处于参考时间窗口内的信号片段作为参考位置识别网络的输入,确定参考时间窗口对应的位置变化量。

可选地,该装置还包括:

第二获取模块,用于获取多个样本IMU信号以及多个样本IMU信号中每个样本IMU信号在多个时间窗口的使用状态;

第三训练模块,用于以多个样本IMU信号作为初始状态识别网络的输入,以多个样本IMU信号中每个样本IMU信号在多个时间窗口的使用状态作为初始状态识别网络的输出,对初始状态识别网络进行训练,得到状态识别网络。

可选地,该装置还包括第四训练模块,第四训练模块具体用于:

从第一对应关系包括的位置识别网络中选择一个位置识别网络作为第一位置识别网络,通过如下操作训练得到第一位置识别网络,直至训练得到第一对应关系包括的每个位置识别网络为止:

获取多个样本信号片段以及多个样本信号片段中每个样本信号片段对应的位置变化量,多个样本信号片段是指使用状态为第一状态的移动设备获取的IMU信号片段,第一状态是指第一位置识别网络对应的使用状态;

以多个样本信号片段作为初始位置识别网络的输入,以多个样本信号片段中每个样本信号片段对应的位置变化量作为初始位置识别网络的输出,对初始位置识别网络进行训练,得到第一位置识别网络。

可选地,该装置还包括:

第五确定模块,用于将第一IMU信号作为行为识别网络的输入,确定当前的用户行为状态;

触发模块,用于如果确定的用户行为状态为步行状态,则触发第一确定模块执行将第一IMU信号作为状态识别网络的输入,确定移动设备的使用状态的操作。

可选地,第四确定模块1604包括:

第三获取模块,用于获取第一位置信息,第一位置信息是指移动设备的起始位置的位置信息;

叠加模块,用于将第一位置信息与位置变化量相加,得到移动设备当前所处的室内位置。

可选地,该装置还包括:

第四获取模块,用于获取第二位置信息,第二位置信息是指移动设备所要到达的目的位置的位置信息;

第六确定模块,用于根据第一位置信息和第二位置信息,确定从起始位置到目的位置的导航路径;

第一显示模块,用于在导航界面中显示导航路径以及移动设备当前所处的室内位置,以进行室内导航。

可选地,该装置还包括:

第五获取模块,用于获取移动设备进入室内场所之前最后一次获取的室外定位信息;

第六获取模块,用于根据室外定位信息,从云端服务器获取室内场所的轨迹地图,室内场所的轨迹地图是云端服务器对多个用户行走轨迹进行轨迹融合后生成的;

第二显示模块,用于在导航界面中显示移动设备当前所处的室内位置和室内场所的轨迹地图,以进行室内导航。

可选地,该装置还包括:

第七确定模块,用于根据移动设备所处的室内位置,确定当前的用户行走轨迹;

第一发送模块,用于向云端服务器发送当前的用户行走轨迹,以使云端服务器对室内场所的轨迹地图进行更新。

可选地,该室内场所的轨迹地图上还标注有关键地标信息,关键地标信息用于指示室内场所内的关键地标;

该装置还包括:

第八确定模块,用于确定当前的用户行走轨迹上的每个轨迹点对应的室外定位信号的变化情况和室内高程的变化情况;

第二发送模块,用于向云端服务器发送当前的用户行走轨迹上的每个轨迹点的室外定位信号的变化情况和室内高程的变化情况,以使云端服务器对室内场所的轨迹地图上的关键地标信息进行更新。

综上所述,移动设备确定自身的使用状态之后,能够根据确定的使用状态,选择对应的位置识别网络来确定位置变化量。也即是,在不同的使用状态下,选择不同的位置识别网络来确定位置变化量,不需要用户保持固定的移动设备的握持姿态,鲁棒性较强,而且定位精度还能够得到保证。另外,移动设备通过IMU传感器即可实现室内定位,减少了对外部系统的依赖性,以及减少了部署和维护成本。而且,移动设备根据第一位置信息和第二位置信息,能够确定出一条导航路径,进而在导航界面中显示导航路径,从而便于用户按照导航界面上显示的信息,在室内进行导航,解决了无法在室内场所获取卫星信号进而无法定位的难点。

再者,云端服务器通过将多个用户行走轨迹进行轨迹融合后生成该室内场所的轨迹地图,也即是,通过众包用户行走轨迹的方式来收集室内场所的地图路径信息,能够降低该室内场所的轨迹地图的建图成本。另外,后续在其他用户进入该室内场所时,移动设备从云端服务器获取该室内场所的轨迹地图,从而根据该室内场所的轨迹地图进行导航的过程中,还能够确定本次的用户行走轨迹,进而由云端服务器对该室内场所的路径变化进行实时更新,降低了轨迹地图的维护成本。

需要说明的是:上述实施例提供的室内定位装置在进行室内定位时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的室内定位装置与室内定位方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

图17是本申请实施例提供的一种室内导航装置的结构示意图。该室内导航装置可以由软件、硬件或者两者的结合实现成为云端服务器的部分或者全部,请参考图17,该室内导航装置包括:

第一接收模块1701,用于接收移动设备获取的室外定位信息;

获取模块1702,用于获取该室外定位信息对应的室内场所的轨迹地图,室内场所的轨迹地图是云端服务器对多个用户行走轨迹进行轨迹融合后生成的;

发送模块1703,用于向移动设备发送该室内场所的轨迹地图,以使移动设备根据该室内场所的轨迹地图在该室内场所进行导航。

可选地,该装置还包括:

第二接收模块,用于接收移动设备发送的当前在室内场所内的用户行走轨迹;

第一生成模块,用于根据移动设备发送的用户行走轨迹和当前存储的该室内场所内的用户行走轨迹,生成轨迹热图;

第二生成模块,用于根据轨迹热图,重新生成该室内场所的轨迹地图,以实现轨迹地图的更新。

可选地,该装置还包括:

第三接收模块,用于接收移动设备发送的当前在室内场所内的用户行走轨迹上的每个轨迹点的室外定位信号的变化情况和室内高程的变化情况;

标注模块,用于在所迹热图上标注每个轨迹点的室外定位信号的变化情况和室内高程的变化情况。

可选地,第二生成模块具体用于:

从轨迹热图包括的多个轨迹点中,选择多个候选轨迹点;

按照该多个候选轨迹点,重新生成该室内场所的轨迹地图;

按照该多个候选轨迹点的室外定位信号的变化情况和室内高程的变化情况,在轨迹地图上标注关键地标信息,该关键地标信息用于指示室内场所内的关键地标。

综上所述,云端服务器通过将多个用户行走轨迹进行轨迹融合后生成该室内场所的轨迹地图,也即是,通过众包用户行走轨迹的方式来收集室内场所的地图路径信息,能够降低该室内场所的轨迹地图的建图成本。另外,后续在其他用户进入该室内场所时,移动设备从云端服务器获取该室内场所的轨迹地图,从而根据该室内场所的轨迹地图进行导航的过程中,还能够确定本次的用户行走轨迹,进而由云端服务器对该室内场所的路径变化进行实时更新,降低了轨迹地图的维护成本。

需要说明的是:上述实施例提供的室内导航装置在在室内导航时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的室内导航装置与室内导航方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。

请参考图18,图18是根据本申请实施例示出的一种计算机设备的结构示意图,该计算机设备可以是上述实施例所示的移动设备,还可以是上述实施例所示的云端服务器。该计算机设备包括至少一个处理器1801、通信总线1802、存储器1803以及至少一个通信接口1804。

处理器1801可以是一个通用中央处理器(central processing unit,CPU)、网络处理器(network processor,NP)、微处理器、或者可以是一个或多个用于实现本申请方案的集成电路,例如,专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logic device,CPLD)、现场可编程逻辑门阵列(field-programmable gate array,FPGA)、通用阵列逻辑(generic array logic,GAL)或其任意组合。

通信总线1802用于在上述组件之间传送信息。通信总线1802可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

存储器1803可以是只读存储器(read-only memory,ROM),也可以是随机存取存储器(random access memory,RAM),也可以是电可擦可编程只读存储器(electricallyerasable programmable read-only Memory,EEPROM)、光盘(包括只读光盘(compact discread-only memory,CD-ROM)、压缩光盘、激光盘、数字通用光盘、蓝光光盘等)、磁盘存储介质或者其它磁存储设备,或者是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但不限于此。存储器1803可以是独立存在,并通过通信总线1802与处理器1801相连接。存储器1803也可以和处理器1801集成在一起。

通信接口1804使用任何收发器一类的装置,用于与其它设备或通信网络通信。通信接口1804包括有线通信接口,还可以包括无线通信接口。其中,有线通信接口例如可以为以太网接口。以太网接口可以是光接口、电接口或其组合。无线通信接口可以为无线局域网(wireless local area networks,WLAN)接口、蜂窝网络通信接口或其组合等。

在具体实现中,作为一种实施例,处理器1801可以包括一个或多个CPU,如图18中所示的CPU0和CPU1。

在具体实现中,作为一种实施例,计算机设备可以包括多个处理器,如图18中所示的处理器1801和处理器1805。这些处理器中的每一个可以是一个单核处理器,也可以是一个多核处理器。这里的处理器可以指一个或多个设备、电路、和/或用于处理数据(如计算机程序指令)的处理核。

在具体实现中,作为一种实施例,计算机设备还可以包括输出设备1806和输入设备1807。输出设备1806和处理器1801通信,可以以多种方式来显示信息。例如,输出设备1806可以是液晶显示器(liquid crystal display,LCD)、发光二级管(light emittingdiode,LED)显示设备、阴极射线管(cathode ray tube,CRT)显示设备或投影仪(projector)等。输入设备1807和处理器1801通信,可以以多种方式接收用户的输入。例如,输入设备1807可以是鼠标、键盘、触摸屏设备或传感设备等。

在一些实施例中,存储器1803用于存储执行本申请方案的程序代码1810,处理器1801可以执行存储器1803中存储的程序代码1810。该程序代码1810中可以包括一个或多个软件模块,该计算机设备可以通过处理器1801以及存储器1803中的程序代码1810,来实现上文实施例提供的方法。

本申请实施例中所述的移动设备可以为一种终端,请参阅图19,为本申请实施例中一种终端的示意图;

本申请的终端包括传感器单元1110、计算单元1120、存储单元1140和交互单元1130。

传感器单元1110,通常包括视觉传感器(如相机),用于获取场景的2D图像信息;惯性传感器(IMU),用于获取终端的运动信息,如线加速度、角速度等;深度传感器/激光传感器(可选),用于获取场景的深度信息;

计算单元1120,通常包括CPU、GPU、缓存、寄存器等,主要用于运行操作系统,并处理本申请所涉及的各算法模块,如SLAM系统、骨骼检测、人脸识别等;

存储单元1140,主要包括内存和外部存储,主要用于用户本地和临时数据的读写等;

交互单元1130,主要包括显示屏、触摸板、扬声器、麦克风等,主要用于和用户进行交互,获取用于输入,并实施呈现算法效果等。

为便于理解,下面将对本申请实施例提供的一种终端100的结构进行示例说明。参见图20,图20是本申请实施例提供的一种终端的结构示意图。

如图20所示,终端100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,惯性测量单元IMU传感器180N(图中未示出)等。

可以理解的是,本申请实施例示意的结构并不构成对终端100的具体限定。在本申请另一些实施例中,终端100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。

处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。处理器110可以执行计算机程序,以实现本申请实施例中任一种室内定位方法。或室内导航方法。

其中,控制器可以是终端100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。

处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。

在一些实施例中,处理器110可以包括一个或多个接口。接口可以包括集成电路(inter-integrated circuit,I1C)接口,集成电路内置音频(inter-integrated circuitsound,I1S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。

可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对终端100的结构限定。在本申请另一些实施例中,终端100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。

充电管理模块140用于从充电器接收充电输入。其中,充电器可以是无线充电器,也可以是有线充电器。在一些有线充电的实施例中,充电管理模块140可以通过USB接口130接收有线充电器的充电输入。

电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。

终端100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。

在一些可行的实施方式中,终端100可以使用无线通信功能和其他设备通信。例如,终端100可以和第二电子设备通信,终端100与第二电子设备建立投屏连接,终端100输出投屏数据至第二电子设备等。其中,终端100输出的投屏数据可以为音视频数据。

天线1和天线2用于发射和接收电磁波信号。终端100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。

移动通信模块150可以提供应用在终端100上的包括1G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线2转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。

调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。

无线通信模块160可以提供应用在终端100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线1接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。

在一些实施例中,终端100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得终端100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。

终端100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。

显示屏194用于显示图像,视频等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,终端100可以包括1个或N个显示屏194,N为大于1的正整数。

在一些可行的实施方式中,显示屏194可用于显示终端100的系统输出的各个界面。终端100输出的各个界面可参考后续实施例的相关描述。

终端100可以通过ISP,摄像头193,视频编解码器,GPU,显示屏194以及应用处理器等实现拍摄功能。

ISP用于处理摄像头193反馈的数据。例如,拍照时,打开快门,光线通过镜头被传递到摄像头感光元件上,光信号转换为电信号,摄像头感光元件将所述电信号传递给ISP处理,转化为肉眼可见的图像。ISP还可以对图像的噪点,亮度,肤色进行算法优化。ISP还可以对拍摄场景的曝光,色温等参数优化。在一些实施例中,ISP可以设置在摄像头193中。

摄像头193用于捕获静态图像或视频。物体通过镜头生成光学图像投射到感光元件。感光元件可以是电荷耦合器件(charge coupled device,CCD)或互补金属氧化物半导体(complementary metal-oxide-semiconductor,CMOS)光电晶体管。感光元件把光信号转换成电信号,之后将电信号传递给ISP转换成数字图像信号。ISP将数字图像信号输出到DSP加工处理。DSP将数字图像信号转换成标准的RGB,YUV等格式的图像信号。在一些实施例中,终端100可以包括1个或N个摄像头193,N为大于1的正整数。

数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。

视频编解码器用于对数字视频压缩或解压缩。终端100可以支持一种或多种视频编解码器。这样,终端100可以播放或录制多种编码格式的视频,例如:动态图像专家组(moving picture experts group,MPEG)1,MPEG1,MPEG3,MPEG4等。

NPU为神经网络(neural-network,NN)计算处理器,通过借鉴生物神经网络结构,例如借鉴人脑神经元之间传递模式,对输入信息快速处理,还可以不断的自学习。通过NPU可以实现终端100的智能认知等应用,例如:图像识别,人脸识别,语音识别,文本理解等。

外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展终端100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将音乐,视频等文件保存在外部存储卡中。

内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行终端100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,至少一个功能所需的应用程序(比如本申请实施例中的室内定位方法等)等。存储数据区可存储终端100使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。

终端100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。在一些可行的实施方式中,音频模块170可用于播放视频对应的声音。例如,显示屏194显示视频播放画面时,音频模块170输出视频播放的声音。

音频模块170用于将数字音频信息转换成模拟音频信号输出,也用于将模拟音频输入转换为数字音频信号。

扬声器170A,也称“喇叭”,用于将音频电信号转换为声音信号。

受话器170B,也称“听筒”,用于将音频电信号转换成声音信号。

麦克风170C,也称“话筒”,“传声器”,用于将声音信号转换为电信号。

耳机接口170D用于连接有线耳机。耳机接口170D可以是USB接口130,也可以是3.5mm的开放移动电子设备平台(open mobile terminal platform,OMTP)标准接口,美国蜂窝电信工业协会(cellular telecommunications industry association of the USA,CTIA)标准接口。

压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定终端100的运动姿态。气压传感器180C用于测量气压。

加速度传感器180E可检测终端100在各个方向上(包括三轴或六轴)加速度的大小。当终端100静止时可检测出重力的大小及方向。还可以用于识别终端姿态,应用于横竖屏切换,计步器等应用。

距离传感器180F,用于测量距离。

环境光传感器180L用于感知环境光亮度。

指纹传感器180H用于采集指纹。

温度传感器180J用于检测温度。

触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于终端100的表面,与显示屏194所处的位置不同。

按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。终端100可以接收按键输入,产生与终端100的用户设置以及功能控制有关的键信号输入。

马达191可以产生振动提示。

指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。

SIM卡接口195用于连接SIM卡。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如:同轴电缆、光纤、数据用户线(digital subscriber line,DSL))或无线(例如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(例如:软盘、硬盘、磁带)、光介质(例如:数字通用光盘(digital versatile disc,DVD))或半导体介质(例如:固态硬盘(solid state disk,SSD))等。值得注意的是,本申请提到的计算机可读存储介质可以为非易失性存储介质,换句话说,可以是非瞬时性存储介质。

应当理解的是,本文提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,例如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请实施例的技术方案,在本申请的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。

以上所述为本申请提供的实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号