掌桥专利:专业的专利平台
掌桥专利
首页

一种楼层识别方法、装置及计算机可读存储介质

文献发布时间:2023-06-19 19:30:30


一种楼层识别方法、装置及计算机可读存储介质

技术领域

本发明涉及计算机技术领域,尤其涉及一种楼层识别方法、装置及计算机可读存储介质。

背景技术

随着智能终端及定位服务技术的技术发展,出行及地图相关服务等对终端用户的定位识别要求越来越高,为提升对用户的服务体验,需要精确获取建筑物室内用户所在楼层。

然而,建筑物室内楼层识别因GPS信号弱、气压计算高度易受气流波动干扰等原因,经常存在识别不准的情况。同时,地图中对部分建筑物存在地图作业人员无法进入采集导致的楼层信息缺失等问题。

因此,如何自动计算并识别楼层数量及所处楼层成为一种重要的研究方向。

发明内容

本发明提供了一种楼层识别方法、装置及计算机可读存储介质,用于解决现有技术中建筑物室内楼层识别不准的问题。

本发明中的一种楼层识别方法,所述方法包括:

获取建筑物在预设范围内的原始数据;所述原始数据至少包括:气压数据以及参数信息;所述参数信息表征采集所述气压数据时的参数;

对所述原始数据进行分类并获取楼层信息;

基于所述楼层信息获得地图气压统计数据;

基于实时数据、地图气压统计数据进行楼层识别。

可选的,所述预设范围包括:所述建筑物的第一几何范围,以及建筑外的第二几何范围。

可选的,所述楼层信息包括:

楼层数量信息、地面楼层信息;其中,所述地面楼层信息为连接建筑物外的地面所在的楼层。

可选的,对所述原始数据进行分类并获取楼层信息包括:

对所述原始数据进行数据聚类,获取第一聚类结果;所述第一聚类结果中包括多组聚类簇;

对多组所述聚类簇分别进行水平面拟合,计算每组所述聚类簇的水平面拟合误差;

剔除所述第一聚类结果中大于第一水平面拟合误差的聚类簇,得到第二聚类结果;

根据所述第二聚类结果获取楼层数量信息;

根据所述原始数据获取地面楼层信息。

可选的,所述方法还包括:

合并第二聚类结果中小于第二水平面拟合误差的聚类簇,得到第三聚类结果;所述第三聚类结果为楼层数量信息。

可选的,所述方法还包括:

计算第二聚类结果中各个聚类簇的拟合水平面气压值;

对各拟合水平面气压值从大到小依序排序;

计算每两个相邻拟合水平面气压值之间的差值,并校验该差值是否在设定数值区间内;

若不在,则进行聚类结果异常提示并重新聚类。

可选的,所述地图气压统计数据包括:

建筑物身份标识、楼层数量,以及各个楼层对应的气压统计信息;其中,气压统计信息包括该楼层对应的聚类簇的气压变化值域范围、均值、值域内的气压数值分布概率中至少一种。

本发明还包括一种楼层识别装置,包括:

采集单元,用于获取建筑物在预设范围内的原始数据;所述原始数据至少包括:气压数据以及参数信息;所述参数信息表征采集所述气压数据时的参数;

分类单元,用于对所述原始数据进行分类并获取楼层信息;

生成单元,用于基于所述楼层信息获得地图气压统计数据;

识别单元,用于基于实时数据、地图气压统计数据进行楼层识别。

可选的,所述分类单元包括:

第一聚类模块,用于对所述原始数据进行数据聚类,获取第一聚类结果;所述第一聚类结果中包括多组聚类簇;

计算模块,用于对多组所述聚类簇分别进行水平面拟合,计算每组所述聚类簇的水平面拟合误差;

第二聚类模块,用于剔除所述第一聚类结果中大于第一水平面拟合误差的聚类簇,得到第二聚类结果;

第一获取模块,用于根据所述第二聚类结果获取楼层数量信息;

第二获取模块,用于根据所述原始数据获取地面楼层信息。

本发明还包括一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任意一项所述的用于楼层识别方法的步骤。

本发明的方法能够计算并识别楼层数量及所处楼层,不易受到建筑物室内原因影响,可以精准获取取建筑物室内用户所在楼层。

附图说明

图1是本发明实施例中的楼层识别方法的流程图;

图2是本发明实施例中的楼层识别方法流程图;

图3是本发明实施例中的气压数据聚类结果示意图;

图4是本发明实施例中的楼层识别过程示意图;

图5是本发明实施例中的地图气压统计数据的表达结构示意图;

图6是本发明实施例中的楼层识别装置结构图。

具体实施方式

下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。

实施例一

图1是本发明实施例一中的一种楼层识别方法的流程图,具体包括如下步骤:

S100:获取建筑物在预设范围内的原始数据;所述原始数据至少包括:气压数据以及参数信息;所述参数信息表征采集所述气压数据时的参数。

具体的,所述参数信息可以包括:采集所述气压数据时的时间信息、位置信息、设备型号信息等。其中位置信息还可以包括位置坐标信息、GPS信号强度、定位方式等信息。

示例性地,一组原始数据包括的内容可以为:采集时间,气压数值,位置坐标、GPS信号强度、定位方式、设备型号。其中位置坐标可以为经纬度坐标;GPS信号强度可以通过GPS定位模块获取;定位方式可以包括GPS定位、wifi定位、基站定位、融合定位等多种方式。GPS信号强度和定位方式两部分内容可以用于判断识别采集点是否位于建筑内部或建筑物边缘与外部,从而用于辅助识别建筑物地面楼层。

所述建筑物的预设范围为建筑内部及外部一定范围的地理区域,用于划分建筑物对应的原始数据并对建筑物进行楼层信息识别。

S200:对所述原始数据进行分类并获取楼层信息。具体的,通过聚类算法对所述原始数据进行分类以获得多组聚类簇,分类后的每一聚类簇可以表征不同的楼层,最终得到的聚类簇的数量即为楼层的数量,

示例性地,如果地图中存在已知建筑物楼层信息,例如:楼层数量、地上楼层和地下楼层类型信息等,可采用指定聚类总数的聚类方法,如kmeans方法等;如果地图中不存在建筑物楼层信息,可采用DBSCAN等无需指定聚类簇目标数量的聚类算法。聚类后的结果示意如图2所示。

进一步地,示例性地,若地图中存在楼层信息且从楼层信息中可以区分地面楼层,则将第三聚类结果按照地图中的楼层总数量和地面楼层进行匹配对应即可。

S300:基于所述楼层信息获得地图气压统计数据。当获得地图气压统计数据后,就可以根据地图气压统计数据作为训练后的模型,根据实时采集的原始数据对楼层进行识别。示例性地,通过统计方式获取地图气压统计数据,并将地图气压统计数据进行存储以便后续识别时使用。

S400:基于实时数据、地图气压统计数据进行楼层识别。其中,实时数据为实时采集的原始数据。

示例性地,设定采集实时数据的滑动时间窗口,如设定采样周期为T,窗口内的采样点为N;对该N个采样点的气压值进行平面性检查,如计算N个采样点的最大值与最小值差值D、N个采样点的方差S;情况一,若D和S均小于设定阈值,则认为平面性较好,计算该N个点落入地图气压统计数据中哪个楼层气压统计范围从而确定当前所在楼层;情况二,若D和S大于设定阈值,则认为平面性较差,当前可能处于楼梯运动状态或存在干扰,则继续采样并更新窗口内的采样点,更新后继续进行平面性检查以及后续的步骤。

通过本发明上述实施例所述的方法,先对已知的原始数据进行学习,基于学习结果再对实时数据进行楼层识别,即通过楼层信息得到地图气压统计数据后,对实时数据进行平面性检查,并在地图气压统计数据中找到相应的楼层以进行楼层识别。

进一步地,可以自动划分建筑物的预设范围。以地图中建筑物的第一几何范围为基础,扩展出可包含建筑外一定范围的第二几何范围,各建筑物的第二几何范围不相交。

示例性地,可以根据原始数据的位置信息,将落入各建筑物第二几何范围的数据进行分组,各组数据即分别与各个建筑物对应。

进一步地,地图气压统计数据中可以包括:建筑物身份标识、楼层信息以及楼层气压统计信息。其中,每个建筑物具有唯一的身份标识,即建筑物POIID,将POIID作为索引值,可以通过POIID索引到该建筑物下的所有楼层的地图气压统计数据;每个POIID下还可存储建筑物楼层信息,包括楼层总数、地上楼层数、地下楼层数等。气压统计信息包括该楼层对应的聚类簇的气压变化值域范围、均值、值域内的气压数值分布概率至少其中的一种。

进一步地,示例性地,计算N个采样点落入楼层气压统计信息的范围的方法可以为,首先在地图中存储的地图气压统计信息中,对应查找与采集设备型号、当前采集时间最为匹配的楼层气压统计信息。其次,计算采集的N个采样点所落入某个楼层气压统计范围的采样点数为Nm,其中落入高置信度区间的采样点数为Np,判断Nm大于设定阈值或Np大于设定阈值则可判定该N个采样点处于该楼层。

进一步地,计算该N个点落入地图气压统计数据中哪个楼层气压统计范围从而确定当前所在楼层后,对N个采样点落入置信度区间进行置信度判断。示例性地,如该N个采样点中,落入高置信度区间的点数多于落于低置信度区间的点数,则判断为高置信度;或判断该N个采样点的测量均值所落入的高、低置信度区间从而确定所属该楼层的置信度气压。

示例性地,可在每个季节下,分别存储各个设备型号下的气压统计数据;具体楼层气压统计信息中可存储每个季节下不同设备信号所采集的各个楼层的气压统计值,包括最大值、最小值、四分之一分位值、四分之三分位值、高置信度范围区间和低置信度范围区间等。

进一步地,在数据统计中,有时候仅通过最大值和最小值难以确认数据的分部情况,比如最大值很大,但是仅为个别点,其余点都集中在最小值附近。因此本发明具体实施例还统计四分之一分位值、四分之三分位值等用于进一步明确数据的分布情况,以便实时楼层识别算法的迭代优化中会利用该值进行某些计算,如置信度区间的计算等。

进一步地,对所述原始数据进行分类并获取楼层信息的步骤如图2所示,包括:

S201:对所述原始数据进行数据聚类,获取第一聚类结果;所述第一聚类结果中包括多组聚类簇。

S202:对第一聚类结果中多组聚类簇分别进行水平面拟合,计算每个聚类簇的水平面拟合误差。

示例性地,可以采用最小二乘法获得每个聚类簇的最优拟合气压,该最优拟合气压代表该聚类簇的水平面气压,从而计算每个聚类簇相对于该最优拟合气压的水平面拟合误差。

进一步地,示例性地,某聚类簇的最优拟合气压计算方法为,假设该聚类簇的气压数据按气压值从小到大排序后为(p

其中,p

S203:剔除第一聚类结果中大于第一水平面拟合误差的聚类簇,得到第二聚类结果。

示例性地,设定第一水平面拟合误差,将聚类簇的水平面拟合误差大于第一水平面拟合误差的聚类簇认为为干扰聚类簇进行排除,排除后所剩下的聚类簇即为第二聚类结果。较佳的,设置第二阈值和第三阈值,将p

S204:根据所述第二聚类结果获取楼层数量信息。通常情况下,第二聚类结果的数量即为楼层信息。

示例性地,所述方法还包括:计算第二聚类结果中各个聚类簇的拟合水平面气压值,对各拟合水平面气压值进行从大到小排序,计算每相邻两个数值之间的差值,校验该差值是否在设定的数值区间内,若不在则进行聚类结果异常提示,进行重新聚类。其中,该设定数值区间一般可根据常规楼层间距的米数范围折算成气压范围进行数值设定,如,若认为楼层高差最小2米、最大4米,则分别计算该建筑物所处海拔高度处2米高差和4米高差分别对应的气压差值即可。如图3所示的聚类簇3和聚类簇4即为该情况的示意图。

S205:根据所述原始数据获取地面楼层信息。具体的,根据原始数据中的位置坐标、GPS信号强度等信息,识别第二聚类结果中为地面楼层的聚类簇,即获取地面楼层信息。

示例性的,所述方法还包括:合并第二聚类结果中小于第二水平面拟合误差的聚类簇,得到第三聚类结果。其中,第三聚类结果中聚类簇数量即为楼层数量。在未知目标聚类簇数量的情况下,即楼层数量相关信息未知的情况下,可能存在将同一楼层数据聚类为多个聚类簇的情况,因此,可以计算每个聚类簇的拟合水平面气压值之间的差值,将差值小于设定阈值的聚类簇进行合并。一般地,实际为相同楼层下采集数据的多个聚类簇,其各个拟合水平面气压值比较接近,而不同楼层之间则差别较大,因此合并处理可以提升聚类准确度。

示例性地,从地图中获取建筑物的预设范围,在第三聚类结果的各个聚类簇中筛选GPS信号较强、定位方式有GPS参与、落在建筑物预设范围之外的原始数据,形成数据集d,如图4所示;对数据集d中的各聚类簇分别计算其数据位置点到距离其最近建筑物边缘的距离值,统计各聚类簇的距离值的统计值,如距离值的数量、距离值的均值。如某一聚类簇距离值的数量大于设定数量阈值且距离值的均值大于设定距离阈值,则可判定该聚类簇为地面楼层对应的聚类簇。

进一步地,示例性地,若计算中判断出存在多个地面楼层聚类簇,则以距离点数最多、距离均值最大的聚类簇作为默认的地面楼层聚类簇,同时将其他地面楼层聚类簇作为备选信息。距离点数越多,为真实地面楼层的可能性越大。一般建筑物内仅在建筑物边缘处能够获取到含GPS信号的位置信息,而真实地面楼层因外接建筑物外开阔空间,更容易采集到该类型数据点。距离均值越大,为真实地面楼层的可能性越大。非真实地面楼层采集到的点一般在建筑物边缘,真实地面楼层采集到的点可以距离建筑物较远。当计算中出现多个地面楼层聚类簇时,此处选择可能性最大的一个聚类簇作为地面楼层聚类簇。对于重庆等特殊山地建筑场景(一栋楼可以有多个地面楼层)的情况,可以以该方案选取的地面楼层作为默认参考楼层,其他地面楼层可以作为备选,便于终端其他应用自行根据应用场景需求匹配计算。

进一步地,地图气压统计数据的表达结构可如图5所示。包括:建筑物POIID,楼层信息以及楼层气压统计信息。楼层信息中可包含:楼层总数、地上楼层数、地下楼层数。示例性地,可以约定地上楼层可按正整数编号,地下楼层可按负整数编号;楼层气压统计信息可以按照时间段和设备型号的差异分别进行存储。

示例性地,气压统计数据可以为按照时间(季节、月份等)分别统计结果、按照设备型号的统计结果、综合所有条件的整体统计结果其中的至少一种或者组合。最终将地图气压统计数据存储在地图中。

实施例二

图6是本发明实施例二中的一种楼层识别装置的结构示意图。包括:

采集单元601,用于获取建筑物在预设范围内的原始数据;所述原始数据至少包括:气压数据以及参数信息;所述参数信息表征采集所述气压数据时的参数。具体的,可以通过智能终端或智能终端的外接设备上的气压采集模块、定位模块等输出的相关数据信息采集原始数据;再将采集得到的原始数据发送给分类单元。因此采集单元可具备处理器,进行数据包构建等;并具备通信接口,用于收发数据,可以为诸如以太网电缆等有线链路接口,也可以是无线链路(如蜂窝网络、wifi、蓝牙、车载短距通信等)。

分类单元602,用于对所述原始数据进行分类并获取楼层信息。其中,分类单元接收所述数据采集装置发送的原始数据。其具备处理器,进行数据包解码计算等;一般还具备通信接口,用于收发数据,可以为诸如以太网电缆等有线链路接口,也可以是无线链路(如蜂窝网络、wifi、蓝牙、车载短距通信等)。

生成单元603,用于基于所述楼层信息获得地图气压统计数据。一般具备处理器、存储器等器件,可以是单一的计算系统,也可以是具备分布式计算能力的集群计算系统等,还可以存储和读取地图数据。

识别单元604,用于基于实时数据、地图气压统计数据进行楼层识别。其中,用于根据接收的地图气压统计数据和实时采集的实时数据数据进行实时楼层判断。具体的,可以对用户进行所处楼层结果的提示,或按照应用需求进行存储和传输。

示例性地,在地下停车场停车后,车内智能设备的处理单元可以将所处地下楼层的结果提示用户,并且进行存储,通过通信方式传递给用户的移动智能设备,方便用户寻找停车位置。

具体的,还包括显示单元,用于显示所述用户所处的实时楼层信息以及用户存储的楼层信息,以提示用户。

本发明实施例二中的一种楼层识别装置中的分类单元包括:

第一聚类模块,用于对所述原始数据进行数据聚类,获取第一聚类结果;所述第一聚类结果中包括多组聚类簇;

计算模块,用于对多组所述聚类簇分别进行水平面拟合,计算每组所述聚类簇的水平面拟合误差;

第二聚类模块,用于剔除所述第一聚类结果中大于第一水平面拟合误差的聚类簇,得到第二聚类结果;

第一获取模块,用于根据所述第二聚类结果获取楼层数量信息;

第二获取模块,用于根据所述原始数据获取地面楼层信息。

本发明具体实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上具体实施例中任意一项所述的楼层识别方法的步骤。

应理解,在本文的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本文实施例的实施过程构成任何限定。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

前述对本发明的具体示例性实施方案的描述是为了说明和例证的目的。这些描述并非想将本发明限定为所公开的精确形式,并且很显然,根据上述教导,可以进行很多改变和变化。对示例性实施例进行选择和描述的目的在于解释本发明的特定原理及其实际应用,从而使得本领域的技术人员能够实现并利用本发明的各种不同的示例性实施方案以及各种不同的选择和改变。本发明的范围意在由权利要求书及其等同形式所限定。

相关技术
  • 一种车牌识别方法、装置、计算机装置及计算机可读存储介质
  • 一种多模式情绪识别方法、装置及计算机可读存储介质
  • 一种垃圾评论识别方法、装置及计算机可读存储介质
  • 一种构件识别方法、装置、设备及计算机可读存储介质
  • 一种目标识别方法、计算机装置及可读存储介质
  • 楼层识别方法、装置、系统及计算机可读存储介质
  • 楼宇的楼层识别方法、电子设备及计算机可读存储介质
技术分类

06120115930423