CN113609097A - 指纹库的生成方法、装置、计算机设备和存储介质 - Google Patents

指纹库的生成方法、装置、计算机设备和存储介质 Download PDF

Info

Publication number
CN113609097A
CN113609097A CN202110815735.XA CN202110815735A CN113609097A CN 113609097 A CN113609097 A CN 113609097A CN 202110815735 A CN202110815735 A CN 202110815735A CN 113609097 A CN113609097 A CN 113609097A
Authority
CN
China
Prior art keywords
fingerprint
fingerprint data
real
data
model
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110815735.XA
Other languages
English (en)
Other versions
CN113609097B (zh
Inventor
袁昊
吴梓祺
杨欣捷
张琛
万化
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Pudong Development Bank Co Ltd
Original Assignee
Shanghai Pudong Development Bank Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Pudong Development Bank Co Ltd filed Critical Shanghai Pudong Development Bank Co Ltd
Priority to CN202110815735.XA priority Critical patent/CN113609097B/zh
Priority claimed from CN202110815735.XA external-priority patent/CN113609097B/zh
Publication of CN113609097A publication Critical patent/CN113609097A/zh
Application granted granted Critical
Publication of CN113609097B publication Critical patent/CN113609097B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Computational Linguistics (AREA)
  • Biomedical Technology (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Biophysics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本申请涉及一种指纹库的生成方法、装置、计算机设备和存储介质。所述方法包括:通过针对于目标区域,获取第一真实指纹数据;检测目标区域,得到多个定位坐标,将多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与多个定位坐标分别对应的虚拟指纹数据,虚拟指纹数据为在该定位坐标的UWB信号的预测信号飞行时间,深度指纹生成模型是通过目标区域内的第一真实指纹数据、以及第二真实指纹数据训练得到的;根据真实指纹数据以及虚拟指纹数据,可以生成高密度的指纹库,解决由于高密度指纹股的部署效率较低以及部署过程较为繁琐的问题,平衡了系统的部署成本以及定位性能,保证应用上述指纹库的定位系统的鲁棒性。

Description

指纹库的生成方法、装置、计算机设备和存储介质
技术领域
本申请涉及无线通信技术领域,特别是涉及一种指纹库的生成方法、装置、计算机设备和存储介质。
背景技术
在大面积的室内场景中,用户会存在实时定位以及实时导航的需求,又由于室内场景被多层楼板遮挡,用户无法使用基于全球定位系统(Global Positioning System,GPS)信号的地图软件准确识别位置,因此使用除GPS信号外的其他信号实现指纹库的生成的方法也随之出现。
相关技术中,通常通过超宽带(Ultra Wide Band,UWB)信号以及信号飞行时间构建指纹库,根据指纹库实现室内短距离内的厘米级定位,即基于指纹的定位系统实现室内场景的定位。但是,由于基于指纹的定位系统性能依赖于指纹库密度,指纹库密度越高,定位精度越高,而指纹库密度越高,整体定位系统的部署成本也会越高,因此,如何维持指纹库的部署成本与定位精度的平衡迫在眉睫。
发明内容
基于此,有必要针对上述技术问题,提供一种能够以低部署成本实现高定位精度的指纹库的生成方法、装置、计算机设备和存储介质。
一种指纹库的生成方法,所述方法包括:
在目标区域中采集真实指纹数据,所述真实指纹数据包括带有预设采样点的位置坐标的第一真实指纹数据和不带有位置坐标的第二真实指纹数据;
在所述目标区域中确定多个定位坐标,将所述多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与所述多个定位坐标分别对应的虚拟指纹数据,所述深度指纹生成模型是通过所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标以及所述第二真实指纹数据训练得到的;
根据所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标、所述多个定位坐标以及所述多个定位坐标分别对应的虚拟指纹数据,构建指纹库。
在其中一个实施例中,所述深度指纹生成模型包括位置确定子模型以及指纹重建子模型;
所述方法还包括:
通过所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标,对所述位置确定子模型以及所述指纹重建子模型分别进行预训练,得到预训练完成的所述位置确定子模型以及所述指纹重建子模型;
根据所述预训练完成的所述位置确定子模型以及所述指纹重建子模型,得到初始深度指纹生成模型;
通过所述目标区域内第一真实指纹数据、所述第一真实指纹数据对应的位置坐标以及第二真实指纹数据,联合训练所述初始深度指纹生成模型,得到训练完成的所述深度指纹生成模型。
在其中一个实施例中,所述通过所述目标区域内第一真实指纹数据、所述第一真实指纹数据对应的位置坐标,对所述位置确定子模型进行预训练,包括:
将所述第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标;
根据所述第一预测位置坐标以及所述第一真实指纹数据对应的位置坐标,计算第一损失函数;
根据所述第一损失函数更新所述待训练的位置确定子模型的网络参数,并返回执行所述将所述第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标的步骤,直到所述第一损失函数满足预设训练完成条件,得到预训练完成的位置确定子模型。
在其中一个实施例中,所述指纹重建子模型包括位置压缩模型以及指纹预测模型;
所述通过所述目标区域内第一真实指纹数据,对所述指纹重建子模型进行预训练,包括:
将所述第一真实指纹数据以及所述第一真实指纹数据对应的位置坐标输入至所述位置压缩模型,得到位置坐标与指纹数据的第一对应关系;
将所述第一对应关系以及所述第一真实指纹数据对应的位置坐标输入至所述指纹预测模型,得到预测指纹数据;
根据所述第一真实指纹数据以及预测指纹数据,计算第二损失函数;
根据所述第一损失函数更新所述位置压缩模型以及所述指纹预测模型的网络参数,并返回执行所述将所述第一真实指纹数据以及所述第一真实指纹数据对应的位置坐标输入至所述位置压缩模型,得到位置坐标与指纹数据的第一对应关系的步骤,直到所述第二损失函数满足预设训练完成条件,得到预训练完成的指纹重建子模型。
在其中一个实施例中,所述通过所述目标区域内第一真实指纹数据以及第二真实指纹数据,联合训练所述初始深度指纹生成模型,得到训练完成的所述深度指纹生成模型,包括:
将所述第二真实指纹数据输入至位置确定子模型,得到第二预测位置坐标;
将所述第一真实指纹数据对应的位置坐标、第一真实指纹数据、第二真实指纹数据以及第二预测位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第二对应关系;
将所述第二对应关系、所述第一真实指纹数据对应的位置坐标以及第二预测位置坐标输入至指纹预测模型,得到所述第一真实指纹数据对应的位置坐标对应的预测指纹数据,以及所述第二预测位置坐标对应的预测指纹数据;
通过第二预测位置坐标、第二对应关系、所述第一真实指纹数据对应的位置坐标对应的预测指纹数据以及所述第二预测位置对应的预测指纹数据,计算第三损失函数;
根据所述第三损失函数更新所述深度指纹生成模型的网络参数,并返回执行所述将所述第一真实指纹数据对应的位置坐标输入至位置确定子模型,得到第二预测位置坐标的步骤,直到所述第三损失函数满足预设训练完成条件,得到训练完成的深度指纹生成模型。
在其中一个实施例中,所述方法还包括:响应于用户定位请求,获取所述待定位的指纹数据;根据所述待定位的指纹数据,在所述指纹库中提取多个符合预设相似条件的指纹数据;对符合所述预设相似条件的指纹数据中的定位坐标进行均值处理,得到待定位的指纹数据的估计位置坐标。
在其中一个实施例中,所述在所述目标区域中确定多个定位坐标,将所述多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与所述多个定位坐标分别对应的虚拟指纹数据,包括,根据所述预先训练的深度指纹生成模型,获取定位坐标对应的多个初始虚拟指纹数据;对多个所述虚拟指纹数据进行均值处理,得到所述定位坐标对应的虚拟指纹数据。
一种指纹库的生成装置,所述装置包括:
采集模块,用于在目标区域中采集真实指纹数据,所述真实指纹数据包括带有预设采样点的位置坐标的第一真实指纹数据和不带有位置坐标的第二真实指纹数据;
虚拟指纹数据确定模块,用于在所述目标区域中确定多个定位坐标,将所述多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与所述多个定位坐标分别对应的虚拟指纹数据,所述深度指纹生成模型是通过所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标以及上述第二真实指纹数据训练得到的;
指纹库构建模块,用于根据所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标、所述多个定位坐标以及所述多个定位坐标分别对应的虚拟指纹数据,构建指纹库。
在一个实施例中,深度指纹生成模型包括位置确定子模型以及指纹重建子模型;所述装置还包括:预训练模块,用于通过第一真实指纹数据、第一真实指纹数据对应的位置坐标,对位置确定子模型以及指纹重建子模型分别进行预训练,得到预训练完成的位置确定子模型以及指纹重建子模型;联合训练模块,用于根据预训练完成的位置确定子模型以及指纹重建子模型,得到初始深度指纹生成模型;得到模块,用于通过第一真实指纹数据、第一真实指纹数据对应的位置坐标以及第二真实指纹数据,联合训练初始深度指纹生成模型,得到训练完成的深度指纹生成模型。
在一个实施例中,所述预训练模块,具体用于:将第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标;根据第一预测位置坐标以及第一真实指纹数据对应的位置坐标,计算第一损失函数;根据第一损失函数更新待训练的位置确定子模型的网络参数,并返回执行将第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标的步骤,直到第一损失函数满足预设训练完成条件,得到预训练完成的位置确定子模型。
在一个实施例中,所述预训练模块,具体用于:通过第一真实指纹数据,对指纹重建子模型进行预训练,包括:将第一真实指纹数据以及第一真实指纹数据对应的位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第一对应关系;将第一对应关系以及第一真实指纹数据对应的位置坐标输入至指纹预测模型,得到预测指纹数据;根据第一真实指纹数据以及预测指纹数据,计算第二损失函数;根据第一损失函数更新位置压缩模型以及指纹预测模型的网络参数,并返回执行将第一真实指纹数据以及第一真实指纹数据对应的位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第一对应关系的步骤,直到第二损失函数满足预设训练完成条件,得到预训练完成的指纹重建子模型。
在一个实施例中,所述联合训练模块,具体用于:将第二真实指纹数据输入至位置确定子模型,得到第二预测位置坐标;将第一真实指纹数据对应的位置坐标、第一真实指纹数据、第二真实指纹数据以及第二预测位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第二对应关系;将第二对应关系、第一真实指纹数据对应的位置坐标以及第二预测位置坐标输入至指纹预测模型,得到第一真实指纹数据对应的位置坐标对应的预测指纹数据,以及第二预测位置坐标对应的预测指纹数据;通过第二预测位置坐标、第二对应关系、第一真实指纹数据对应的位置坐标对应的预测指纹数据以及第二预测位置对应的预测指纹数据,计算第三损失函数;根据第三损失函数更新深度指纹生成模型的网络参数,并返回执行将第一真实指纹数据对应的位置坐标输入至位置确定子模型,得到第二预测位置坐标的步骤,直到第三损失函数满足预设训练完成条件,得到训练完成的深度指纹生成模型。
在一个实施例中,指纹库的生成装置还包括定位模块,用于根据待定位的指纹数据,在指纹库中提取多个符合预设相似条件的指纹数据;对符合预设相似条件的指纹数据中的定位坐标进行均值处理,得到待定位的指纹数据的估计位置坐标。
在一个实施例中,得到模块具体用于,根据预先训练的深度指纹生成模型,获取定位坐标对应的多个初始虚拟指纹数据;对多个虚拟指纹数据进行均值处理,得到定位坐标对应的虚拟指纹数据。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
在目标区域中采集真实指纹数据,所述真实指纹数据包括带有预设采样点的位置坐标的第一真实指纹数据和不带有位置坐标的第二真实指纹数据;
在所述目标区域中确定多个定位坐标,将所述多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与所述多个定位坐标分别对应的虚拟指纹数据,所述深度指纹生成模型是通过所述目标区域内的第一真实指纹数据、所述第一真实指纹数据对应的位置坐标以及第二真实指纹数据训练得到的;
根据所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标、所述多个定位坐标以及所述多个定位坐标分别对应的虚拟指纹数据,构建指纹库。
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
在目标区域中采集真实指纹数据,所述真实指纹数据包括带有预设采样点的位置坐标的第一真实指纹数据和不带有位置坐标的第二真实指纹数据;
在所述目标区域中确定多个定位坐标,将所述多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与所述多个定位坐标分别对应的虚拟指纹数据,所述深度指纹生成模型是通过所述目标区域内的第一真实指纹数据、所述第一真实指纹数据对应的位置坐标以及第二真实指纹数据训练得到的;
根据所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标、所述多个定位坐标以及所述多个定位坐标分别对应的虚拟指纹数据,构建指纹库。
上述指纹库的生成方法、装置、计算机设备和存储介质,通过针对于目标区域,获取第一真实指纹数据;检测目标区域,得到多个定位坐标,将多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与多个定位坐标分别对应的虚拟指纹数据,虚拟指纹数据为在该定位坐标的UWB信号的预测信号飞行时间,深度指纹生成模型是通过目标区域内的第一真实指纹数据、以及第二真实指纹数据训练得到的;根据真实指纹数据以及虚拟指纹数据,可以生成高密度的指纹库,解决由于高密度指纹股的部署效率较低以及部署过程较为繁琐的问题,平衡了系统的部署成本以及定位性能,保证应用上述指纹库的定位系统的鲁棒性。
附图说明
图1为一个实施例中指纹库的生成方法的流程示意图;
图2为一个实施例中指纹库的生成方法中深度指纹生成模型具体训练步骤的流程示意图;
图3为一个实施例中指纹库的生成方法中位置确定子模型模型训练步骤的流程示意图;
图4为一个实施例中指纹库的生成方法中指纹更新子模型模型训练步骤的流程示意图;
图5为一个实施例中指纹库的生成方法中深度指纹生成模型联合训练步骤的流程示意图;
图6为一个实施例中指纹库的生成方法中定位步骤的流程示意图;
图7为一个实施例中指纹库的生成方法中虚拟指纹生成步骤的流程示意图;
图8为一个实施例中指纹库的生成方法中基于深度生成模型的UWB室内定位系统的结构示意图;
图9为一个实施例中指纹库的生成方法中场景指纹库采样点分布图;
图10为一个实施例中指纹库的生成方法中场景测试点分布图;
图11为一个实施例中指纹库的生成方法中基于深度指纹生成模型生成的虚拟指纹与实际指纹的对比图;
图12为一个实施例中指纹库的生成方法中基于深度指纹生成模型生成的另一个虚拟指纹与实际指纹的对比图;
图13为一个实施例中指纹库的生成方法中SPDBloc定位系统与实用型UWB定位系统的累积分布误差(Cumulative Distribution Function,CDF)对比图;
图14为一个实施例中指纹库的生成方法中SPDBloc定位系统与实用型UWB定位系统误差均值对比图;
图15为一个实施例中指纹库的生成装置的结构框图;
图16为一个实施例中计算机设备的内部结构图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
相关技术中,基于稠密指纹库(采样点间隔≤2m)的UWB定位系统精度较高,平均定位误差稳定在0.82m以下,但其指纹数据采集成本过高,不适用于大规模部署。基于稀疏指纹库(采样点间隔≥5m)的UWB定位系统精度较低,误差最大达17m以上,不符合UWB信号高精度定位的性能预期。因此,基于指纹库的定位系统性能主要依赖于指纹库密度,指纹库密度越高,定位精度越高。然而,基于稠密指纹库的UWB定位系统虽然能达到非常高精度的定位性能,但相比于稀疏指纹库,数据采集成本高达10~100倍,严重增加系统部署的整体成本。
为同时满足低成本、高精度的要求,本发明提出了基于深度指纹生成模型的指纹库的生成方法,预计基于深度指纹生成模型的UWB室内定位系统SPDBloc。目的是通过采样密度较低的指纹库,结合系统用户在实际应用时采集到的无位置信息的指纹数据,构建高密度的指纹库。也就是说,本实施例所述的方法结合本系统用户日常采集的无标签指纹数据,构建更高密度的虚拟指纹库,与稀疏真实指纹库一并构建混合指纹库,补充指纹库密度。在保证数据采集时间成本维持不变的前提下,提升UWB室内定位系统在真实大规模场景中的整体定位性能,提升定位准确度。
在一个实施例中,如图1所示,提供了一种指纹库的生成方法,本实施例以该方法应用于指纹库生成设备进行举例说明,可以理解的是,该方法也可以应用于终端,也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
步骤101,在目标区域中采集真实指纹数据,真实指纹数据包括带有预设采样点的位置坐标的第一真实指纹数据和不带有位置坐标的第二真实指纹数据。
其中,目标区域为待定位区域,在实际应用场景中,待定位区域可以为商场、图书馆等室内面积较大的区域;真实指纹数据为实地采集到的超宽带(Ultra Wide Band,UWB)信号的信号飞行时间(Time of Flight,TOF)。
具体地,指纹库生成设备可以在目标区域进行实地勘测,采集真实指纹数据。采集带有预设采样点的位置坐标的第一真实指纹数据的过程可以包括:指纹库生成设备在待定位区域内预先设置多个采样点,采集该采样点的位置坐标,继而在该采样点的位置坐标上通过UWB标签向多个基站发送UWB信号,继而获得此采样位置上的信号飞行时间。采集不带有位置坐标的第二真实指纹数据的过程可以包括:指纹库生成设备可以在设置有UWB标签后,在待定位区域内随意移动,每移动一次,可以通过UWB标签向多个基站分别发送UWB信号,继而获得此位置上的信号飞行时间,即不带有位置坐标的第二真实指纹数据。
具体地,在待定位区域,每个位置上的指纹数据可以表示为:
x=(tof1,tof2,…,tofN),
其中,N表示AP(待定位区域内的基站)的总个数,tofn表示第n个AP的TOF均值。
y为每个位置的物理坐标,可表示为:
y=(y1,y2),
其中,y1表示指定位置的横坐标,y2为纵坐标。
具体地,上述采集真实指纹数据时,均可以在采样位置上向待定位区域内的多个基站分别多次发送UWB信号,继而对获得到的信号飞行时间进行均值处理,将平均值作为该位置上的信号飞行时间数据。
步骤102,在目标区域中确定多个定位坐标,将多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与多个定位坐标分别对应的虚拟指纹数据,深度指纹生成模型是通过第一真实指纹数据、第一真实指纹数据对应的位置坐标以及第二真实指纹数据训练得到的。
其中,定位坐标可以是根据用户需求确定的多个指定坐标。
具体地,指纹库生成设备可以通过预设扫描算法或者是预设检测算法,对待定位区域进行扫描或者是检测后,确定待定位区域内的多个指定坐标点。继而,指纹库生成设备将得到的多个指定坐标分别输入至预先训练完成的深度指纹生成模型,获得深度指纹模型输出的各个指定坐标对应的虚拟指纹数据。
步骤103,根据第一真实指纹数据、第一真实指纹数据对应的位置坐标、多个定位坐标以及多个定位坐标分别对应的虚拟指纹数据,构建指纹库。
具体地,指纹库中包括多个坐标以及多个坐标对应的指纹数据,坐标与指纹数据一一对应。指纹库生成设备通过实地勘测到的预设采样点的位置坐标以及其上的第一真实指纹数据、多个指定定位坐标及其对应的虚拟指纹数据,构建生成高密度的指纹库;也就是说,指纹库生成设备根据真实指纹数据以及生成的虚拟指纹数据构建生成指纹库。
上述指纹库的生成方法中,通过针对于目标区域,获取第一真实指纹数据;检测目标区域,得到多个定位坐标,将多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与多个定位坐标分别对应的虚拟指纹数据,虚拟指纹数据为在该定位坐标的UWB信号的预测信号飞行时间,深度指纹生成模型是通过目标区域内的第一真实指纹数据、以及第二真实指纹数据训练得到的;根据真实指纹数据以及虚拟指纹数据,可以生成高密度的指纹库,解决由于高密度指纹股的部署效率较低以及部署过程较为繁琐的问题,平衡了系统的部署成本以及定位性能,保证应用上述指纹库的定位系统的鲁棒性。也就是说,本实施例所提供的方法通过少量参考点以及多名用户提供的众包数据相结合的方法生成大量虚拟指纹数据,可以在大型室内场景中广泛部署,并降低构建指纹库所需的人力成本以及时间成本,同时可以提高区域定位精度,与高成本的稠密指纹库定位系统的定位精度较为接近。
在一个实施例中,深度指纹生成模型包括位置确定子模型以及指纹重建子模型;
如图2所示,上述指纹库的生成方法还包括:
步骤201,通过目标区域内第一真实指纹数据、第一真实指纹数据对应的位置坐标,对位置确定子模型以及指纹重建子模型分别进行预训练,得到预训练完成的位置确定子模型以及指纹重建子模型。
其中,深度指纹生成模型为半监督深度生成(Semi-Supervised ConditionalVariational AutoEncoder,Semi-Supervised CVAE)模型,上述半监督深度生成模型包括位置确定子模型以及指纹重建子模型。位置确定子模型是回归器,用于根据采样点的指纹数据确定该位置的位置坐标;指纹重建子模型是条件变分自编码器(ConditionalVariational AutoEncoder,CVAE)模型,用于用户指纹数据的重构。CVAE模型包括编码器以及解码器。
具体地,指纹库生成设备通过在待定位区域内采集到的预设采样点位置坐标,以及在此位置点上实际采集的真实指纹数据,对位置确定子模型(回归器)以及指纹重建子模型(CVAE模型)分别进行预先训练,得到预先训练完成的位置确定子模型以及指纹重建子模型。
步骤202,根据预训练完成的位置确定子模型以及指纹重建子模型,得到初始深度指纹生成模型。
具体地,根据预训练完成的位置确定子模型的网络参数以及指纹重建子模型的网络参数,得到深度指纹生成模型的初始网络参数,继而根据深度指纹生成模型的初始网络参数构建得到初始的深度指纹生成模型。
步骤203,通过目标区域内第一真实指纹数据、第一真实指纹数据对应的位置坐标以及第二真实指纹数据,联合训练初始深度指纹生成模型,得到训练完成的深度指纹生成模型。
本实施例中,由于第一真实指纹数据以及第一真实指纹数据对应的定位坐标的可信度较高,通过预先对深度指纹生成模型中的位置确定子模型以及指纹重建子模型进行预训练,继而结合可信度交较低的数据对深度指纹生成模型进行联合训练,可以提高训练完成后的模型的可信度,提高后续训练模型过程中的收敛速度,学习效率更高。
在一个实施例中,如图3所示,上述步骤201,通过目标区域内第一真实指纹数据、第一真实指纹数据对应的位置坐标,对位置确定子模型进行预训练,包括:
步骤301,将第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标。
具体地,指纹库生成设备将采集到的第一真实指纹数据xl以及第一真实指纹数据带有的预设采样点的位置坐标数据yl一并输入至待训练的位置确定子模型(回归器)中,得到第一真实指纹数据xl的第一预测位置坐标
Figure BDA0003169982310000121
步骤302,根据第一预测位置坐标以及第一真实指纹数据对应的位置坐标,计算第一损失函数。
具体地,位置确定子模型的实际实现结构可以是深度神经网络(Deep NeuralNetworks,DNN)结构,根据预测位置坐标与样本位置坐标之间的差值计算损失函数。
步骤303,根据第一损失函数更新待训练的位置确定子模型的网络参数,并返回执行将第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标的步骤,直到第一损失函数满足预设训练完成条件,得到预训练完成的位置确定子模型。
具体地,预设训练完成条件可以是训练数据的迭代系数已经达到目标次数,例如目标次数可以是100次;预设训练完成条件还可以是损失函数已经收敛。当指纹生成设备通过计算出的第一损失函数确定此时模型的预训练已经完成后,得到预训练完成的位置确定子模型。
本实施例中,由于第一真实指纹数据以及第一真实指纹数据对应的定位坐标的可信度较高,通过预先对深度指纹生成模型中的位置确定子模型进行预训练,可以提高训练生成的模型的可信度,提高后续训练模型过程中的收敛速度,学习效率更高。
在一个实施例中,指纹重建子模型包括位置压缩模型以及指纹预测模型;
具体地,位置压缩模型的实际实现结构可以是编码器,指纹预测模型的实际实现结构可以是解码器。上述编码器用于确定位置坐标值与指纹数据之间的对应关系,解码器用于根据上述编码器确定的位置坐标与指纹数据之间的对应关系以及扫描得到的位置坐标,输出该位置的预测指纹数据。
如图4所示,上述步骤201,通过目标区域内第一真实指纹数据,对指纹重建子模型进行预训练,包括:
步骤401,将第一真实指纹数据以及第一真实指纹数据对应的位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第一对应关系。
具体地,训练设备将在待定位区域内采集到的第一真实指纹数据以及第一真实指纹数据对应的位置坐标输入至编码器,此时,编码器会对指纹数据以及位置坐标进行位置压缩,得到输入数据的概率分布。也就是说,编码器对输入的第一真实指纹数据xl以及第一真实指纹数据带有的预设采样点的位置坐标数据yl分别进行编码处理,得到潜在变量z的均值和方差
Figure BDA0003169982310000131
通过采样得到潜在变量zl。潜在变量zl表示位置坐标与指纹数据的第一对应关系。
步骤402,将第一对应关系以及第一真实指纹数据对应的位置坐标输入至指纹预测模型,得到预测指纹数据。
具体地,训练设备将编码得到的第一对应关系zl以及第一真实指纹数据对应的位置坐标yl再一并输入至解码器,解码器会对输入的数据进行解码处理,也就是针对于输入数据对指纹数据进行重建,得到第一真实指纹数据xl对应的位置坐标yl对应的预测指纹数据
Figure BDA0003169982310000132
步骤403,根据第一真实指纹数据以及预测指纹数据,计算第二损失函数。
具体地,训练设备可以根据第一真实指纹数据以及解码器输出的预测指纹数据之间的差值,计算得到第二损失函数。
在一实施例中,指纹更新子模型是CVAE模型,为了使CVAE模型适用于一维UWB TOF数据(信号飞行时间数据)的生成场景,将CVAE模型的网络结构配置为深度神经网络(DeepNeural Networks,DNN)结构,CVAE模型包括编码器和解码器。
指纹库生成设备中的编码器(位置压缩模型)对输入的数据x和位置y进行压缩,得到输入数据的概率分布,再对概率分布进行采样,得到潜在变量Z。由于室内多径效应,同一位置上相同基站的UWB TOF数据在一段时间内会有波动。因此,潜在变量Z可以看成使数据波动的因素。在重构或生成指纹的过程中,由于计算出潜在变量Z,可以体现UWB数据的波动性。
SPDBloc中的解码器重建指定位置y上的UWB TOF指纹x。对于给定的位置y,解码器根据分布pθ(x|z,y)生成x。其中,z是潜在变量,θ为深度指纹生成模型的初始网络参数或者更新后的网络参数,初始网络参数根据先验分布概率pθ(z|y)得到。由于需要生成多个指定位置上的UWB TOF数据,使z独立于y,即pθ(z|y)=pθ(z)[40]
当设置有随机梯度变分贝叶斯框架,此时,CVAE模型的网络参数可以被快速估计,根据随机梯度变分贝叶斯框架中,后验分布概率可以被近似为qφ(z|x,y),并且可以使用高容量模型,使得qφ(z|x,y)与pθ(z|x,y)更加匹配。在随机梯度变分贝叶斯框架下,使用qφ(z|x,y)来计算pθ(z|x,y)更加容易。因此,SPDBloc将qφ(z|x,y)作为编码器的概率分布函数。
通过下述公式计算CVAE模型的损失函数:
Figure BDA0003169982310000141
其中,DKL是KL散度,
Figure BDA0003169982310000142
为期望。
通过下述公式计算KL散度:
Figure BDA0003169982310000143
其中,I表示单位矩阵,μ表示均值,σ表示方差。
由于重参数化技巧可以允许误差通过高斯分布的潜在变量z进行反向传播,利用随机梯度下降法可以有效的训练深度指纹生成模型,并应用于大面积的室内定位场景中,因此,可以通过下述公式确定指纹更新模型的损失函数,即第二损失函数:
Figure BDA0003169982310000144
其中,M表示第一真实指纹数据的数量,pθ(x|z(i),y)表示指纹数据与位置坐标的分布函数。
步骤404,根据第二损失函数更新位置压缩模型以及指纹预测模型的网络参数,并返回执行将第一真实指纹数据以及第一真实指纹数据对应的位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第一对应关系的步骤,直到第二损失函数满足预设训练完成条件,得到预训练完成的指纹重建子模型。
具体地,预设训练完成条件可以是训练数据的迭代系数已经达到目标次数,例如目标次数可以是100次;预设训练完成条件还可以是损失函数已经收敛。当指纹生成设备通过计算出的第一损失函数确定此时预训练已经完成后,得到预训练完成的位置确定子模型。
本实施例中,由于第一真实指纹数据以及第一真实指纹数据对应的定位坐标的可信度较高,通过预先对指纹重建子模型进行预训练,可以提高生成的模型的可信度,提高后续训练模型过程中的收敛速度,学习效率更高。
在一个实施例中,如图5所示,步骤203,通过目标区域内第一真实指纹数据以及第二真实指纹数据,联合训练初始深度指纹生成模型,得到训练完成的深度指纹生成模型,包括:
步骤501,将第二真实指纹数据输入至位置确定子模型,得到第二预测位置坐标。
具体地,第二真实指纹数据xu为指纹库生成设备在待定位区域内随意移动后,得到的待定位区域内的指纹数据,将第二真实指纹数据xu输入至预训练完成后的位置确定子模型(回归器),得到第二真实指纹数据对应的第二预测位置坐标
Figure BDA0003169982310000151
步骤502,将第一真实指纹数据对应的位置坐标、第一真实指纹数据、第二真实指纹数据以及第二预测位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第二对应关系。
具体地,训练设备将xu
Figure BDA0003169982310000152
xl、yl一并输入至位置压缩模型,xl、yl可以称之为带标签数据集,xu
Figure BDA0003169982310000153
可以称之为无标签数据集,其中,指纹数据是特征,位置坐标是标签。位置压缩模型(编码器)将特征xl和标签yl编码为潜在变量z的均值和方差
Figure BDA0003169982310000154
通过采样得到潜在变量zl;位置压缩模型(编码器)将特征xu和预测位置坐标
Figure BDA0003169982310000155
编码为均值
Figure BDA0003169982310000156
和方差
Figure BDA0003169982310000157
通过采样得到潜在变量zu。也就是说,第二对应关系包括带标签数据集中的指纹数据与位置坐标的对应关系,以及不带标签数据集中指纹数据与位置坐标的对应关系,即第二对应关系包括潜在变量zl以及潜在变量zu
步骤503,将第二对应关系、第一真实指纹数据对应的位置坐标以及第二预测位置坐标输入至指纹预测模型,得到第一真实指纹数据对应的位置坐标对应的预测指纹数据,以及第二预测位置坐标对应的预测指纹数据。
具体地,指纹预测模型为解码器,用于根据输入的潜在变量以及位置坐标预测位置坐标对应的指纹数据。也就是说,针对于带标签数据集,解码器将潜在变量zl和标签yl解码为
Figure BDA0003169982310000161
针对于不带有标签数据集,解码器将潜在变量zu和预测结果
Figure BDA0003169982310000162
解码为
Figure BDA0003169982310000163
具体地,第一真实指纹数据xl对应的位置坐标yl对应的预测指纹数据是
Figure BDA0003169982310000164
第二预测位置坐标
Figure BDA0003169982310000165
对应的预测指纹数据是
Figure BDA0003169982310000166
步骤504,通过第二预测位置坐标、第二对应关系、第一真实指纹数据对应的位置坐标对应的预测指纹数据以及第二预测位置对应的预测指纹数据,计算第三损失函数。
具体地,第三损失函数包括针对于带标签数据集的损失函数Ll,以及针对于不带有标签数据集的损失函数Lu
具体地,当训练样本数据为带有位置信息的指纹数据时,即训练样本数据为指纹数据以及指纹数据对应的位置坐标数据,此时,深度指纹生成模型(半监督CVAE模型)中包括位置确定子模型(回归器)、位置压缩模型(编码器)以及指纹预测模型(解码器)。训练过程为:通过带标签数据对回归器进行训练,将指纹数据的特征xl输入至回归器,回归器输出指纹数据的特征对应的预测位置坐标
Figure BDA0003169982310000167
编码器将指纹数据的特征(第一真实指纹数据)xl和标签(位置坐标)yl编码为潜在变量z的均值和方差
Figure BDA0003169982310000168
即形成潜在空间,并在潜在空间内采样得到潜在变量zl。解码器将潜在变量zl和位置坐标的标签yl解码为预测指纹数据
Figure BDA0003169982310000169
因此,通过下述公式计算针对于带标签数据集的损失函数Ll
Ll=LCV,l+αLREG,l
其中,α是用于调整回归器损失的系数,可以根据实际应用场景确定,例如可以根据历史数据库确定取值为0.05。LREG,l表示位置压缩模型以及指纹预测模型的损失函数,LCV,l表示位置确定子模型的损失函数。
具体地,如果训练样本数据为不带有位置信息的指纹数据,即训练样本数据为无标签数据集,指纹库生成设备需要将不带有位置信息的指纹数据xu输入至回归器中,得到预测位置坐标
Figure BDA0003169982310000171
继而,指纹库生成设备将不带有位置信息的指纹数据xu以及预测位置坐标的标签
Figure BDA0003169982310000172
输入至编码器以及解码器中,编码器将不带有位置信息的指纹数据特征xu和位置坐标的预测结果
Figure BDA0003169982310000173
编码为均值
Figure BDA0003169982310000174
和方差
Figure BDA0003169982310000175
通过采样得到潜在变量zu。解码器将潜在变量zu和位置坐标的预测结果
Figure BDA0003169982310000176
解码为
Figure BDA0003169982310000177
又由于没有真实的位置坐标数据,因此针对于无标签数据集,损失函数即为编码器以及解码器的损失函数,通过下述公式计算:
Lu=LCV,u
也就是说,通过下述公式计算第三损失函数Lsum
Lsum=Ll+Lu
通过下述公式计算带标签数据集的损失函数Ll
Ll=LCV,l+αLREG,l
通过下述公式计算不带有标签数据集的损失函数Lu
Lu=LCV,u
步骤505,根据第三损失函数更新深度指纹生成模型的网络参数,并返回执行将第一真实指纹数据对应的位置坐标输入至位置确定子模型,得到第二预测位置坐标的步骤,直到第三损失函数满足预设训练完成条件,得到训练完成的深度指纹生成模型。
具体地,指纹库生成设备通过自适应矩估计(adaptive moment estimation,Adam)优化器以及真实指纹数据对半监督CVAE模型进行训练,得到训练完成的深度指纹生成模型。其中,深度指纹生成模型训练的权重初始值可以在-0.05到0.05之间均匀分布。模型训练时,训练样本数据可以被划分为多个小批量,分次传给模型。训练集被遍历一次后,就完成一个周期。每个周期完成后,根据验证集的损失大小判断并保存最佳权重。完成指定的训练周期数后或者是损失函数已经收敛或者已经达到预设训练完成阈值时,训练结束,载入训练过程中保存的最佳权重作为最终深度指纹生成模型的权重。
本实施例中,通过带有位置坐标的真实指纹数据以及不带有位置坐标的真实指纹数据,对深度指纹生成模型(半监督CVAE生成模型)进行联合训练,可以使深度指纹生成模型有效利用不带有位置坐标的指纹数据信息,在不带有位置坐标的指纹数据被分到正确位置时,就能为不带有位置坐标的指纹数据做位置坐标信息的补充,从而更好的训练深度指纹生成模型,达到更好的训练效果,更好的表征待定位区域的指纹数据。
在一个实施例中,如图6所示,上述指纹库的生成方法还包括:
步骤601,响应于用户定位请求,获取待定位的指纹数据。
具体地,用户定位请求可以是用户终端、用户服务器以及其他终端设备发送的。当指纹库的生成设备接收到用户终端的用户定位请求后,响应于上述用户定位请求,获取待定位的指纹数据。例如,用户可以佩戴UWB标签在待定位区域内获取不带有位置坐标的真实指纹数据(UWB TOF数据),UWB标签用于向待定位区域内的多个天线基站发送UWB信号,再根据UWB信号的返回时间计算出真实指纹数据。
步骤602,根据待定位的指纹数据,在指纹库中提取多个符合预设相似条件的指纹数据。
步骤603,对符合预设相似条件的指纹数据中的定位坐标进行均值处理,得到待定位的指纹数据的估计位置坐标。
具体地,预设相似条件可以是指纹库中的指纹数据与待定位的指纹数据的差值小于预设阈值等等。指纹库生成设备通过加权K最近邻(K-NearestNeighbor,KNN)算法,在真实指纹数据与虚拟指纹数据混合生成的指纹库中提取前k个与待定位的指纹数据相似的指纹库数据,继而将前k个最相似的指纹数据对应的物理位置坐标进行加权平均处理,得到最终的估计位置。
在一个实施例中,如图7所示,步骤103,在目标区域中确定多个定位坐标,将多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与多个定位坐标分别对应的虚拟指纹数据,包括,
步骤701,根据预先训练的深度指纹生成模型,获取定位坐标对应的多个初始虚拟指纹数据。
具体地,在目标区域内确定多个指定的定位坐标可以是通过扫描算法或者是检测算法确定的。例如,可以将其中的解码器作为指纹数据生成器,用于生成待定位区域内多个指定坐标的虚拟指纹数据。训练过程中解码器的分布为N(μz,Σz),表示的是N个样本的均值
Figure BDA0003169982310000191
和方差
Figure BDA0003169982310000192
之间的关系,而指纹数据生成器中为标准正态分布N(0,I)。其中,I是单位矩阵。针对于指定定位坐标y,可以在一段时间内向指纹数据生成器多次输入位置y,生成多个虚拟指纹,例如可以是Nv个虚拟指纹。
步骤702,对多个虚拟指纹数据进行均值处理,得到定位坐标对应的虚拟指纹数据。
通过下述公式计算得到定位坐标y对应的虚拟指纹数据VFP:
Figure BDA0003169982310000193
本实施例中的指纹库生成设备通过在指定位置上多次向待定位区域内的基站发送UWB信号,进而进行均值处理得到指定位置上的虚拟指纹数据,与真实指纹数据相结合后,生成待定位区域的指纹库,在低成本的前提下保证了虚拟指纹的生成精度,进而提高定位系统的定位精度。
应该理解的是,虽然图1-7的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1-7中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
以下,结合一具体示意图8,详细描述定位系统SPDBloc的具体实施过程,其中包括,训练模块、虚拟指纹生成模块以及在线定位模块。
训练模块的实施过程如下:具体地,带有标签的指纹为带有位置坐标的真实指纹数据,不带有标签的指纹为不带有位置坐标的真实指纹数据,深度指纹生成模型实际为半监督CVAE生成模型,其包括回归器、编码器以及解码器。在训练阶段,少量带标签指纹xl和大量无标签指纹xu被输入到回归器中,分别得到对应的标签数据
Figure BDA0003169982310000201
Figure BDA0003169982310000202
其中,由于带标签指纹xl本身带有位置坐标信息yl,因此回归器的输出
Figure BDA0003169982310000203
没有用于后续阶段的模型训练。
Figure BDA0003169982310000204
则被认为是无标签指纹xu的位置坐标信息,与真实指纹的数据xl及位置信息yl共同输入到编码器中,得到一个服从高斯分布的潜在空间,通过对分布N(μzz)采样得到潜在变量zl以及zu;再将潜在变量zl、zu以及相对应的yl
Figure BDA0003169982310000205
重建位置坐标上的指纹数据
Figure BDA0003169982310000206
Figure BDA0003169982310000207
可选的,在实际应用场景中,本发明实施例中少量带标签数据可以是50组,大量无标签数据可以是1132组,少量带标签指纹数据与大量无标签指数数据的比例约为1:23。
具体地,深度指纹生成模型(半监督CVAE模型)包括回归器、编码器、解码器,上述结构的实际实现结构均可以是DNN结构,对半监督CVAE模型进行训练时,分为预训练与联合训练。初始化方法均为均匀分布初始化,学习率可以设置为0.002。其中,联合训练阶段的训练数据的批量大小为一个批量中带标签数据的数据量(batchsizeL)。一个批量中无标签数据量(batchsizeU)通过无标签与带标签数据的数据量的比例来确定。即:
Figure BDA0003169982310000208
其中,NL、NU分别为带标签数据量与无标签数据量。DNN结构的初始结构参数可以是如下表1所示:
表1
Figure BDA0003169982310000209
具体地,预训练与联合训练的参数如下表2所示:
表2
Figure BDA0003169982310000211
具体地,半监督CVAE的模型的算法流程可以包括:处理器获取指定数据集,数据集包括带标签指纹数据以及无标签指纹数据。处理器将2/3的带标签数据和2/3的无标签数据划为训练集,其余的被划为验证集;构建初始半监督CVAE模型,其中,包括回归器以及CVAE模型。在预训练阶段,处理器通过Adadelta优化器、Adam优化器分别对回归器以及CVAE模型进行训练;在联合训练阶段,处理器通过Adam优化器对半监督CVAE进行训练,得到训练完成的深度指纹生成模型。
其中,模型训练过程的权重初始化可以在-0.05到0.05之间均匀分布。模型训练时,训练集被划分为多个小批量,分次传给模型。训练集被遍历一次后,就完成一个周期。每个周期完成后,根据验证集的损失大小判断并保存最佳权重。完成指定的训练周期数后,训练结束,载入训练过程中保存的最佳权重作为最终的权重。
虚拟指纹生成模块的执行过程如下:处理器通过指纹生成器,即半监督CVAE模型在指定的位置上生成若干次虚拟指纹,取平均值得到该指定位置上的虚拟指纹数据。SPDBloc使用训练好的解码器作为生成器,生成待定位区域内指定位置的UWB TOF虚拟指纹。与解码器不同的是,解码器的分布为N(μzz),而生成器的分布为标准正态分布N(0,I)。其中,I是单位矩阵。
对于指定位置y,SPDBloc利用生成器在位置y生成Nv个虚拟指纹,取平均得到y位置上的虚拟指纹VFP,即:
Figure BDA0003169982310000221
SPDBloc将生成的虚拟指纹和真实指纹相结合,构建高密度的UWB TOF指纹库。
在线定位模块的执行过程如下:处理器读入真实指纹与生成指纹混合的指纹库;继而接收客户端发送的UWBTOF数据样本;继而调用预先配置已经训练完成的集成定位模型,得到定位结果;
具体地,处理器将用户终端携带UWB标签收集到的UWB TOF数据传输到在线定位模块,得到估计位置后将结果反馈给用户终端。用户终端佩戴UWB标签获取UWB TOF数据,并将数据输入在线定位模块,基于指纹和基于模型的方法同时解算、融合、生成估计位置。其中,基于指纹的定位算法使用加权KNN算法,计算测试数据与指纹库中各数据集合的空间距离,选择前K个最相似指纹库数据所在物理位置取加权平均,得到估计位置。基于模型的定位算法提前确定各UWBAP空间中的分布,获取标签与各AP的TOF。本发明使用泰勒级数展开式去近似地代替非线性回归模型,通过多次迭代修正回归系数,使其不断逼近非线性回归模型的最佳回归系数,最后选择其中残差平方和最小的推算点的坐标作为定位位置的近似解,提高了定位系统的定位精度。
以下结合一具体实施例,描述本发明所述的方法的验证过程。实际应用场景可以是如图9以及图10的办公楼室内场景。其中,如图9所示,为预设采样点的位置分布,即为带有位置坐标的真实指纹数据的采集点,黑色实心点为参考点,每个点的采集时长为10s,频率为1Hz,在场景中均匀分布,且在水平方向上每两个参考点间的距离为5m。黑色实心点为测试点,不与参考点相交,每个点的采集时长为3s,频率为1Hz,在场景中均匀分布,水平方向上每两个测试点间的间隔为1m。无标签数据由用户系统运营期间在场景中随意行走进行采集,采集的频率为1Hz。详细信息可以是如下表3所示:
表3
场景 场景面积(m<sup>2</sup>) AP个数 参考点个数 虚拟指纹个数
办公楼 1500 16 50 255
为验证SPDBloc模型的性能,本发明将SPDBloc与其他室内定位算法进行对比,用于对比的方法为基于模型的定位方法和基于稠密、稀疏指纹库的指纹定位方法,从平均定位误差和误差累积分布等2个角度对SPDBloc模型性能进行评价。同时,由于真实指纹间隔很大、比较稀疏,与虚拟指纹的比例很小,在定位过程中虚拟指纹的重要性大于真实指纹。所以,SPDBloc模型的虚拟指纹生成精度直接决定系统定位精度。本发明直观地对SPDBloc模型UWB TOF数据生成的虚拟指纹真实性进行可视化分析。SPDBloc系统在同处于低成本的前提下,生成高密度指纹库解决基于稀疏指纹定位方法定位精度较差的问题,从而提升UWB定位系统整体性能。
具体地,如图11以及图12所示,可以在实际应用场景中采集两个UWB AP,根据AP在各个位置上TOF数值,绘制模型生成虚拟指纹与原始指纹的可视化对比图。其中“真实指纹”表示场景各处AP的TOF的真实分布,“虚拟指纹”为本发明使用深度指纹生成模型生成的虚拟指纹。可以观察到,本发明生成的虚拟指纹与真实指纹在空间上的分布接近。这是由于半监督CVAE能够有效利用无标签数据信息,在无标签数据被分到正确位置时,就能为带标签数据做补充,从而更好的训练半监督CVAE生成模型。
综上,半监督CVAE可以有效利用无标签数据,更好地学习UWB TOF在空间中的概率分布,模型生成的虚拟指纹与真实指纹较为相似。
具体地,如图13所示,在定位精度性能评价中,使用低成本的基于模型定位系统和基于稀疏(5m间隔)指纹定位系统进行对照实验。在办公楼的场景中,从左至右第一条线为基于本发明实施例所提供的方法确定的指纹库的SPDBloc系统(定位系统),从左至右第二条线为基于模型的方法的累计误差,从左至右第三条线为5m间隔指纹(稀疏指纹)的定位系统。SPDBloc系统90%累计定位误差为1.59m,比基于模型定位低18%,比稀疏指纹定位低52.5%。因此,本发明实施例中所提供的SPDBloc可以有效解决拖尾问题,保证定位系统的鲁棒性。
具体地,如图14所示,为本发明提供的SPDBloc与实用型UWB定位系统误差均值对比图,例如在平均定位误差方面,SPDBloc系统的定位误差为0.78m,小于模型定位系统1.07m,远小于稀疏指纹定位系统1.77m,与稠密指纹定位系统[0.48m,0.82m]的性能相似。
基于上述验证过程可得,本发明实施例所提供的定位系统(SPDBloc系统)可以有效利用用户日常采集的无标签众包数据,生成高密度的虚拟、真实融合指纹库,集成基于指纹和基于模型的定位方法得到集成定位系统。整体上相比于稠密指纹库节省了84%的系统部署时间成本。同时,与仅基于稀疏指纹库的定位系统相比,在不增加任何成本的情况下,定位性能上升56%,在成本较低的前提下,大幅度的提高定位系统的定位精度。
在一个实施例中,如图15所示,提供了一种指纹库的生成装置,包括:采集模块801、虚拟指纹数据确定模块802和指纹库构建模块803,其中:
采集模块801,用于在目标区域中采集真实指纹数据,真实指纹数据包括带有预设采样点的位置坐标的第一真实指纹数据和不带有位置坐标的第二真实指纹数据;
虚拟指纹数据确定模块802,用于在目标区域中确定多个定位坐标,将多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与多个定位坐标分别对应的虚拟指纹数据,深度指纹生成模型是通过第一真实指纹数据、第一真实指纹数据对应的位置坐标以及第二真实指纹数据训练得到的;
指纹库构建模块803,用于根据第一真实指纹数据、第一真实指纹数据对应的位置坐标、多个定位坐标以及多个定位坐标分别对应的虚拟指纹数据,构建指纹库。
在一个实施例中,深度指纹生成模型包括位置确定子模型以及指纹重建子模型;所述装置还包括:预训练模块,用于通过第一真实指纹数据、第一真实指纹数据对应的位置坐标,对位置确定子模型以及指纹重建子模型分别进行预训练,得到预训练完成的位置确定子模型以及指纹重建子模型;联合训练模块,用于根据预训练完成的位置确定子模型以及指纹重建子模型,得到初始深度指纹生成模型;得到模块,用于通过第一真实指纹数据、第一真实指纹数据对应的位置坐标以及第二真实指纹数据,联合训练初始深度指纹生成模型,得到训练完成的深度指纹生成模型。
在一个实施例中,所述预训练模块,具体用于:将第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标;根据第一预测位置坐标以及第一真实指纹数据对应的位置坐标,计算第一损失函数;根据第一损失函数更新待训练的位置确定子模型的网络参数,并返回执行将第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标的步骤,直到第一损失函数满足预设训练完成条件,得到预训练完成的位置确定子模型。
在一个实施例中,所述预训练模块,具体用于:通过目标区域内第一真实指纹数据,对指纹重建子模型进行预训练,包括:将第一真实指纹数据以及第一真实指纹数据对应的位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第一对应关系;将第一对应关系以及第一真实指纹数据对应的位置坐标输入至指纹预测模型,得到预测指纹数据;根据第一真实指纹数据以及预测指纹数据,计算第二损失函数;根据第一损失函数更新位置压缩模型以及指纹预测模型的网络参数,并返回执行将第一真实指纹数据以及第一真实指纹数据对应的位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第一对应关系的步骤,直到第二损失函数满足预设训练完成条件,得到预训练完成的指纹重建子模型。
在一个实施例中,所述联合训练模块,具体用于:将第二真实指纹数据输入至位置确定子模型,得到第二预测位置坐标;将第一真实指纹数据对应的位置坐标、第一真实指纹数据、第二真实指纹数据以及第二预测位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第二对应关系;将第二对应关系、第一真实指纹数据对应的位置坐标以及第二预测位置坐标输入至指纹预测模型,得到第一真实指纹数据对应的位置坐标对应的预测指纹数据,以及第二预测位置坐标对应的预测指纹数据;通过第二预测位置坐标、第二对应关系、第一真实指纹数据对应的位置坐标对应的预测指纹数据以及第二预测位置对应的预测指纹数据,计算第三损失函数;根据第三损失函数更新深度指纹生成模型的网络参数,并返回执行将第一真实指纹数据对应的位置坐标输入至位置确定子模型,得到第二预测位置坐标的步骤,直到第三损失函数满足预设训练完成条件,得到训练完成的深度指纹生成模型。
在一个实施例中,指纹库的生成装置还包括定位模块,用于根据待定位的指纹数据,在指纹库中提取多个符合预设相似条件的指纹数据;对符合预设相似条件的指纹数据中的定位坐标进行均值处理,得到待定位的指纹数据的估计位置坐标。
在一个实施例中,指纹库构建模块803具体用于,根据预先训练的深度指纹生成模型,获取定位坐标对应的多个初始虚拟指纹数据;对多个虚拟指纹数据进行均值处理,得到定位坐标对应的虚拟指纹数据。
关于指纹库的生成装置的具体限定可以参见上文中对于指纹库的生成方法的限定,在此不再赘述。上述指纹库的生成装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图16所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种指纹库的生成方法。
本领域技术人员可以理解,图16中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(Read-Only Memory,ROM)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(Random Access Memory,RAM)或外部高速缓冲存储器。作为说明而非局限,RAM可以是多种形式,比如静态随机存取存储器(Static Random Access Memory,SRAM)或动态随机存取存储器(Dynamic Random Access Memory,DRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (10)

1.一种指纹库的生成方法,其特征在于,所述方法包括:
在目标区域中采集真实指纹数据,所述真实指纹数据包括带有预设采样点的位置坐标的第一真实指纹数据和不带有位置坐标的第二真实指纹数据;
在所述目标区域中确定多个定位坐标,将所述多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与所述多个定位坐标分别对应的虚拟指纹数据,所述深度指纹生成模型是通过所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标以及所述第二真实指纹数据训练得到的;
根据所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标、所述多个定位坐标以及所述多个定位坐标分别对应的虚拟指纹数据,构建指纹库。
2.根据权利要求1所述的方法,其特征在于,所述深度指纹生成模型包括位置确定子模型以及指纹重建子模型;
所述方法还包括:
通过所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标,对所述位置确定子模型以及所述指纹重建子模型分别进行预训练,得到预训练完成的所述位置确定子模型以及所述指纹重建子模型;
根据所述预训练完成的所述位置确定子模型以及所述指纹重建子模型,得到初始深度指纹生成模型;
通过所述目标区域内第一真实指纹数据、所述第一真实指纹数据对应的位置坐标以及第二真实指纹数据,联合训练所述初始深度指纹生成模型,得到训练完成的所述深度指纹生成模型。
3.根据权利要求2所述的方法,其特征在于,所述通过所述目标区域内第一真实指纹数据、所述第一真实指纹数据对应的位置坐标,对所述位置确定子模型进行预训练,包括:
将所述第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标;
根据所述第一预测位置坐标以及所述第一真实指纹数据对应的位置坐标,计算第一损失函数;
根据所述第一损失函数更新所述待训练的位置确定子模型的网络参数,并返回执行所述将所述第一真实指纹数据输入至待训练的位置确定子模型,得到第一预测位置坐标的步骤,直到所述第一损失函数满足预设训练完成条件,得到预训练完成的位置确定子模型。
4.根据权利要求3所述的方法,其特征在于,所述指纹重建子模型包括位置压缩模型以及指纹预测模型;
所述通过所述目标区域内第一真实指纹数据,对所述指纹重建子模型进行预训练,包括:
将所述第一真实指纹数据以及所述第一真实指纹数据对应的位置坐标输入至所述位置压缩模型,得到位置坐标与指纹数据的第一对应关系;
将所述第一对应关系以及所述第一真实指纹数据对应的位置坐标输入至所述指纹预测模型,得到预测指纹数据;
根据所述第一真实指纹数据以及预测指纹数据,计算第二损失函数;
根据所述第一损失函数更新所述位置压缩模型以及所述指纹预测模型的网络参数,并返回执行所述将所述第一真实指纹数据以及所述第一真实指纹数据对应的位置坐标输入至所述位置压缩模型,得到位置坐标与指纹数据的第一对应关系的步骤,直到所述第二损失函数满足预设训练完成条件,得到预训练完成的指纹重建子模型。
5.根据权利要求3所述的方法,其特征在于,所述通过所述目标区域内第一真实指纹数据以及第二真实指纹数据,联合训练所述初始深度指纹生成模型,得到训练完成的所述深度指纹生成模型,包括:
将所述第二真实指纹数据输入至位置确定子模型,得到第二预测位置坐标;
将所述第一真实指纹数据对应的位置坐标、第一真实指纹数据、第二真实指纹数据以及第二预测位置坐标输入至位置压缩模型,得到位置坐标与指纹数据的第二对应关系;
将所述第二对应关系、所述第一真实指纹数据对应的位置坐标以及第二预测位置坐标输入至指纹预测模型,得到所述第一真实指纹数据对应的位置坐标对应的预测指纹数据,以及所述第二预测位置坐标对应的预测指纹数据;
通过第二预测位置坐标、第二对应关系、所述第一真实指纹数据对应的位置坐标对应的预测指纹数据以及所述第二预测位置对应的预测指纹数据,计算第三损失函数;
根据所述第三损失函数更新所述深度指纹生成模型的网络参数,并返回执行所述将所述第一真实指纹数据对应的位置坐标输入至位置确定子模型,得到第二预测位置坐标的步骤,直到所述第三损失函数满足预设训练完成条件,得到训练完成的深度指纹生成模型。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
响应于用户定位请求,获取待定位的指纹数据;
根据所述待定位的指纹数据,在所述指纹库中提取多个符合预设相似条件的指纹数据;
对符合所述预设相似条件的指纹数据中的定位坐标进行均值处理,得到待定位的指纹数据的估计位置坐标。
7.根据权利要求1所述的方法,其特征在于,所述在所述目标区域中确定多个定位坐标,将所述多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与所述多个定位坐标分别对应的虚拟指纹数据,包括,
根据所述预先训练的深度指纹生成模型,获取定位坐标对应的多个初始虚拟指纹数据;
对多个所述虚拟指纹数据进行均值处理,得到所述定位坐标对应的虚拟指纹数据。
8.一种指纹库的生成装置,其特征在于,所述装置包括:
采集模块,用于在目标区域中采集真实指纹数据,所述真实指纹数据包括带有预设采样点的位置坐标的第一真实指纹数据和不带有位置坐标的第二真实指纹数据;
虚拟指纹数据确定模块,用于在所述目标区域中确定多个定位坐标,将所述多个定位坐标分别输入至预先训练的深度指纹生成模型,得到与所述多个定位坐标分别对应的虚拟指纹数据,所述深度指纹生成模型是通过所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标以及所述第二真实指纹数据训练得到的;
指纹库构建模块,用于根据所述第一真实指纹数据、所述第一真实指纹数据对应的位置坐标、所述多个定位坐标以及所述多个定位坐标分别对应的虚拟指纹数据,构建指纹库。
9.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至7中任一项所述的方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至7中任一项所述的方法的步骤。
CN202110815735.XA 2021-07-19 指纹库的生成方法、装置、计算机设备和存储介质 Active CN113609097B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110815735.XA CN113609097B (zh) 2021-07-19 指纹库的生成方法、装置、计算机设备和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110815735.XA CN113609097B (zh) 2021-07-19 指纹库的生成方法、装置、计算机设备和存储介质

Publications (2)

Publication Number Publication Date
CN113609097A true CN113609097A (zh) 2021-11-05
CN113609097B CN113609097B (zh) 2024-06-07

Family

ID=

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116482608A (zh) * 2023-06-21 2023-07-25 中国电信股份有限公司 信息库构建方法、装置、计算机设备、存储介质及产品
CN117042125A (zh) * 2023-10-09 2023-11-10 北京九栖科技有限责任公司 一种基于图变分自编码器的基站位置校准方法及系统

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130018826A1 (en) * 2011-07-15 2013-01-17 Microsoft Corporation Location determination using generalized fingerprinting
US20140171118A1 (en) * 2012-12-14 2014-06-19 Apple Inc. Location fingerprinting
CN105205114A (zh) * 2015-09-06 2015-12-30 重庆邮电大学 一种基于图像处理的Wi-Fi定位指纹数据库构建方法
CN106686547A (zh) * 2016-12-23 2017-05-17 南京邮电大学 一种基于区域划分和网络拓扑的室内指纹定位改进方法
US20170177620A1 (en) * 2015-12-17 2017-06-22 Alibaba Group Holding Limited Constructing fingerprint database and positioning based on fingerprint database
CN110557716A (zh) * 2019-09-03 2019-12-10 华南师范大学 一种基于对数正态模型的室内定位方法
US20210097387A1 (en) * 2019-09-26 2021-04-01 Naver Corporation Semi-Supervised Variational Autoencoder for Indoor Localization
CN113074721A (zh) * 2021-03-25 2021-07-06 中国科学院空天信息创新研究院 一种基于磁矩量法的地磁指纹构建方法

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130018826A1 (en) * 2011-07-15 2013-01-17 Microsoft Corporation Location determination using generalized fingerprinting
US20140171118A1 (en) * 2012-12-14 2014-06-19 Apple Inc. Location fingerprinting
CN105205114A (zh) * 2015-09-06 2015-12-30 重庆邮电大学 一种基于图像处理的Wi-Fi定位指纹数据库构建方法
US20170177620A1 (en) * 2015-12-17 2017-06-22 Alibaba Group Holding Limited Constructing fingerprint database and positioning based on fingerprint database
CN106686547A (zh) * 2016-12-23 2017-05-17 南京邮电大学 一种基于区域划分和网络拓扑的室内指纹定位改进方法
CN110557716A (zh) * 2019-09-03 2019-12-10 华南师范大学 一种基于对数正态模型的室内定位方法
US20210097387A1 (en) * 2019-09-26 2021-04-01 Naver Corporation Semi-Supervised Variational Autoencoder for Indoor Localization
CN113074721A (zh) * 2021-03-25 2021-07-06 中国科学院空天信息创新研究院 一种基于磁矩量法的地磁指纹构建方法

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116482608A (zh) * 2023-06-21 2023-07-25 中国电信股份有限公司 信息库构建方法、装置、计算机设备、存储介质及产品
CN116482608B (zh) * 2023-06-21 2023-09-29 中国电信股份有限公司 信息库构建方法、装置、计算机设备、存储介质及产品
CN117042125A (zh) * 2023-10-09 2023-11-10 北京九栖科技有限责任公司 一种基于图变分自编码器的基站位置校准方法及系统
CN117042125B (zh) * 2023-10-09 2023-12-15 北京九栖科技有限责任公司 一种基于图变分自编码器的基站位置校准方法及系统

Similar Documents

Publication Publication Date Title
Song et al. A novel convolutional neural network based indoor localization framework with WiFi fingerprinting
CN108304882B (zh) 一种图像分类方法、装置及服务器、用户终端、存储介质
CN110223324B (zh) 一种基于鲁棒特征表示的孪生匹配网络的目标跟踪方法
CN111160108B (zh) 一种无锚点的人脸检测方法及系统
KR102143108B1 (ko) 차선 인식 모델링 방법, 장치, 저장 매체 및 기기, 및 인식 방법, 장치, 저장 매체 및 기기
CN111523414A (zh) 人脸识别方法、装置、计算机设备和存储介质
JP7263216B2 (ja) ワッサースタイン距離を使用する物体形状回帰
CN107703480B (zh) 基于机器学习的混合核函数室内定位方法
EP3798918A1 (en) Using semi-supervised variational autoencoder for wi-fi-based indoor localization
CN110942012A (zh) 图像特征提取方法、行人重识别方法、装置和计算机设备
JP2011521355A (ja) 勾配ヒストグラムを用いた指紋表現
CN114449452B (zh) 一种基于CNN-RNN的Wi-Fi室内定位方法
CN109756842B (zh) 基于注意力机制的无线室内定位方法及系统
CN115170934A (zh) 一种图像分割方法、系统、设备及存储介质
Liu et al. Large-scale deep learning framework on FPGA for fingerprint-based indoor localization
CN111047088A (zh) 预测图像获取方法、装置、计算机设备和存储介质
CN109991591B (zh) 基于深度学习的定位方法、装置、计算机设备及存储介质
Chaves-Villota et al. DeepREM: Deep-Learning-Based Radio Environment Map Estimation from Sparse Measurements
US20200271769A1 (en) Method for evaluating positioning parameters and system
CN112469116A (zh) 定位方法、装置、电子设备和计算机可读存储介质
CN113609097B (zh) 指纹库的生成方法、装置、计算机设备和存储介质
CN109887012B (zh) 一种结合自适应搜索点集的点云配准方法
CN113609097A (zh) 指纹库的生成方法、装置、计算机设备和存储介质
CN111249106A (zh) 老年康复机器人的训练控制方法、康复机器人及系统
CN113723006B (zh) 一种基于ls-svm的单台站地球变化磁场建模预测方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant