指纹库的更新方法、装置、计算机设备和存储介质与流程

专利2022-05-10  33



1.本技术涉及无线通信技术领域,特别是涉及一种指纹库的更新方法、装置、计算机设备和存储介质。


背景技术:

2.在大规模大面积的室内场景中,由于难以辨别方向,因此,用户会有实时定位以及实时导航的需求。但是由于楼板之间的遮挡,用户无法使用基于全球定位系统(global positioning system,gps)信号的地图软件准确识别位置,因此使用除gps信号外的其他信号实现室内定位的方法也随之出现。
3.相关技术中通常通过超宽带(ultra wide band,uwb)信号以及信号飞行时间构建指纹库,根据指纹库实现室内短距离内的厘米级定位。但是,随着时间变化,室内场景布局(物体摆设方式)可能会发生变化,uwb信号的反射、折射方式也随之发生改变,影响基站上接收天线的信号飞行时间,导致uwb信号对应的指纹库不可用,定位精度下降。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够适应时序变化、环境变化以及鲁棒性较好的指纹库的更新方法、装置、计算机设备和存储介质。
5.一种指纹库的更新方法,所述方法包括:
6.响应于针对于目标区域的指纹库更新指令,获取所述目标区域内的定位坐标;
7.将所述定位坐标输入预先训练的指纹更新模型,得到与所述定位坐标相对应的定位信号飞行时间;所述指纹更新模型是通过所述目标区域内的样本定位坐标、以及在所述目标区域有障碍物的情况下采集到的所述样本坐标对应的样本信号飞行时间训练得到的;
8.根据各所述定位坐标以及与各所述定位坐标相对应的定位信号飞行时间,更新所述指纹库。
9.在其中一个实施例中,所述方法还包括:针对于有障碍物的目标区域,构建训练集,所述训练集包括多个样本组,所述样本组包括所述样本坐标以及所述样本坐标对应的样本信号飞行时间;根据所述训练集中的多个样本组,训练所述指纹更新模型。
10.在其中一个实施例中,所述针对于有障碍物的目标区域,构建训练集,包括:获取所述有障碍物的目标区域内的多个样本点,所述样本点在所述目标区域内均匀分布;分别检测所述样本点的样本坐标以及与所述样本坐标对应的样本信号飞行时间;根据所述样本点的样本坐标以及与所述样本坐标相对应的样本信号飞行时间构建多个样本组;根据所述多个样本组,构建训练集。
11.在其中一个实施例中,通过以下过程获取所述样本坐标对应的样本信号飞行时间:基于所述样本坐标,将超宽带信号发送至单基站上多个接收天线;分别获取单基站上多个接收天线返回的信号飞行时间;计算多个接收天线返回的信号飞行时间的平均值,将所述平均值作为所述样本坐标对应的样本信号飞行时间。
12.在其中一个实施例中,所述根据所述训练集中的多个样本组,训练所述指纹更新模型,包括:将预设数量的所述样本坐标输入至待训练的指纹更新模型,得到预测信号飞行时间;根据所述预测信号飞行时间以及样本信号飞行时间,计算损失函数;根据所述损失函数更新所述待训练的指纹更新模型的网络参数,并返回执行所述针对于有障碍物的目标区域,构建训练集的步骤,直到所述损失函数满足预设训练完成条件,得到训练完成的指纹更新模型。
13.在其中一个实施例中,通过以下公式,计算损失函数:
[0014][0015]
其中,k表示基站上接收天线的数量;n表示样本点的数量;anj
i
表示针对于第j根接收天线,第i个样本坐标对应的样本信号飞行时间;表示针对于第j根接收天线,第i个样本坐标对应的预测信号飞行时间。
[0016]
在其中一个实施例中,所述指纹库的更新方法还包括:
[0017]
如果所述定位坐标与所述样本坐标一致时,则将所述样本坐标对应的样本信号飞行时间更新为定位信号飞行时间;
[0018]
如果所述定位坐标与所述样本坐标不一致时,则执行所述将所述定位坐标输入预先训练的指纹更新模型,得到与所述定位坐标相对应的定位信号飞行时间步骤。
[0019]
一种指纹库的更新装置,所述装置包括:
[0020]
定位坐标获取模块,用于响应于针对于目标区域的指纹库更新指令,获取所述目标区域内的至少一个定位坐标;
[0021]
数据处理模块,用于针对任一所述定位坐标,通过预先训练的指纹更新模型对所述定位坐标进行数据处理,得到与所述定位坐标相对应的定位信号飞行时间,所述指纹更新模型是根据样本坐标及与其对应的样本信号飞行时间训练生成的,所述样本信号飞行时间是在有障碍物的目标区域内采集到的;
[0022]
指纹库更新模块,用于根据各所述定位坐标以及与各所述定位坐标相对应的定位信号飞行时间,更新所述指纹库。
[0023]
在一个实施例中,装置方法还包括:训练集构建模块,用于针对于有障碍物的目标区域,构建训练集,训练集包括多个样本组,样本组包括样本坐标以及样本坐标对应的样本信号飞行时间;指纹更新模型训练模块,用于根据训练集中的多个样本组,训练指纹更新模型。
[0024]
在一个实施例中,训练集构建模块,具体用于获取有障碍物的目标区域内的多个样本点,样本点在目标区域内满足预设均匀分布条件;分别检测样本点的样本坐标以及与样本坐标对应的样本信号飞行时间;根据样本点的样本坐标以及与样本坐标相对应的样本信号飞行时间构建多个样本组;根据多个样本组,构建训练集。
[0025]
在一个实施例中,所述装置还包括,样本信号飞行时间获取模块,用于基于样本坐标,将超宽带信号发送至单基站上多个接收天线;分别获取单基站上多个接收天线返回的信号飞行时间;计算多个接收天线返回的信号飞行时间的平均值,将平均值作为样本坐标
对应的样本信号飞行时间。
[0026]
在一个实施例中,指纹更新模型训练模块,具体用于将预设数量的样本坐标输入至待训练的指纹更新模型,得到预测信号飞行时间;根据预测信号飞行时间以及样本信号飞行时间,计算损失函数;根据损失函数更新待训练的指纹更新模型的网络参数,并返回执行针对于有障碍物的目标区域,构建训练集的步骤,直到损失函数满足预设训练完成条件,得到预先训练的指纹更新模型。
[0027]
所述装置还包括,更新模块,用于还包括:如果定位坐标与样本坐标一致,则将样本坐标对应的样本信号飞行时间更新为定位信号飞行时间;如果定位坐标与样本坐标不一致,则执行将定位坐标输入预先训练的指纹更新模型,得到与定位坐标相对应的定位信号飞行时间步骤。
[0028]
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0029]
响应于针对于目标区域的指纹库更新指令,获取所述目标区域内的定位坐标;
[0030]
将所述定位坐标输入预先训练的指纹更新模型,得到与所述定位坐标相对应的定位信号飞行时间;所述指纹更新模型是通过所述目标区域内的样本定位坐标、以及在所述目标区域有障碍物的情况下采集到的所述样本坐标对应的样本信号飞行时间训练得到的;
[0031]
根据各所述定位坐标以及与各所述定位坐标相对应的定位信号飞行时间,更新所述指纹库。
[0032]
一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0033]
响应于针对于目标区域的指纹库更新指令,获取所述目标区域内的定位坐标;
[0034]
将所述定位坐标输入预先训练的指纹更新模型,得到与所述定位坐标相对应的定位信号飞行时间;所述指纹更新模型是通过所述目标区域内的样本定位坐标、以及在所述目标区域有障碍物的情况下采集到的所述样本坐标对应的样本信号飞行时间训练得到的;
[0035]
根据各所述定位坐标以及与各所述定位坐标相对应的定位信号飞行时间,更新所述指纹库。
[0036]
上述指纹库的更新方法、装置、计算机设备和存储介质,针对目标区域内的任一坐标,通过预先训练的指纹更新模型对坐标进行数据处理,得到与坐标相对应的信号飞行时间,指纹更新模型是根据样本坐标及与其对应的样本信号飞行时间训练生成的,样本信号飞行时间是在有障碍物的目标区域内采集到的;根据各坐标以及与各坐标相对应的信号飞行时间,更新指纹库,更新完成的指纹库具备较高的鲁棒性,可以解决由于时序上环境变化导致的室内定位精度下降的问题,在采集较少参考数据的前提下,提高定位性能。
附图说明
[0037]
图1为一个实施例中指纹库的更新方法的流程示意图;
[0038]
图2为一个实施例中指纹库的更新方法的指纹更新模型的训练步骤的流程示意图;
[0039]
图3为一个实施例中指纹库的更新方法的训练集的构建步骤的流程示意图;
[0040]
图4为一个实施例中指纹库的更新方法的样本信号飞行时间的计算步骤的流程示
意图;
[0041]
图5为一个实施例中指纹库的更新方法中单基站上多天线的布局示意图;
[0042]
图6为一个实施例中指纹库的更新方法的指纹更新模型的另一个训练步骤的流程示意图;
[0043]
图7为一个实施例中指纹库的更新方法中指纹更新模型的结构示意图;
[0044]
图8为一个实施例中指纹库的更新方法中指纹更新模型中一个全连接层结构示意图;
[0045]
图9为一个实施例中指纹库的更新方法中指纹更新模型中共享层的结构示意图;
[0046]
图10为一个实施例中指纹库的更新方法中指纹更新模型中输出层的结构示意图;
[0047]
图11为一个实施例中指纹库的更新方法中对原始指纹库进行更新的步骤的流程示意图;
[0048]
图12为一个实施例中指纹库的更新方法中单基站多天线的连接结构示意图;
[0049]
图13为一个实施例中指纹库的更新方法中指纹库全部采样点分布示意图;
[0050]
图14为一个实施例中指纹库的更新方法中指纹库重采样点分布示意图;
[0051]
图15为一个实施例中指纹库的更新方法中更新前指纹库示意图,即原始指纹库的示意图;
[0052]
图16为一个实施例中指纹库的更新方法中更新后指纹库示意图;
[0053]
图17为一个实施例中指纹库的更新方法中reloc定位系统与其他系统定位精度对比图示意图;
[0054]
图18为一个实施例中指纹库的更新装置的结构框图;
[0055]
图19为一个实施例中计算机设备的内部结构图。
具体实施方式
[0056]
为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
[0057]
由于大规模室内场景的普及,用户在室内定位的需求也随之出现,由于大面积的室内难以辨别方向,且由于楼板遮挡,用户无法使用基于gps信号的地图软件准确识别位置。因此,相关技术中通常通过蓝牙、uwb等信号传感器及基站等方法实现室内的准确定位。相关技术中的基于uwb单基站指纹库的室内定位系统,能够在短距离内实现厘米级定位精度。但是由于随着时间变化,短距离内环境发生改变,例如,室内布局的改变,会对uwb信号造成大量反射、折射,场景内uwb特征分布发生微小改变,导致原始指纹库不可用。具体地,由于使用单一基站的基于指纹定位系统的鲁棒性较差,具体表现为受室内环境的影响较大,当待定位场景内物体摆设方式发生变化,会导致uwb信号的反射、折射方式改变,进而基站天线接收的信号飞行时间发生较大变化,导致信号飞行时间(time of flight,tof)误差增大,定位精度下降。另一方面,当定位系统内uwb信号的唯一基站的位置发生变化时,导致tof特征与指纹库相差较大,定位精度下降。又或者,当单一基站上的接收天线的朝向发生变化时,基站天线接收的信号飞行时间发生较大变化,导致tof误差增大,定位精度下降。
[0058]
基于上述背景,本发明实施例所提供的指纹库的更新方法的目的是,在待定位区
域的环境发生变化时,可以通过仅采集较少量的指纹数据,使用迁移学习方法,在原指纹库上快速更新指纹数据,在付出较小成本的前提下,完成uwb指纹库更新操作,保证单一uwb基站定位系统的定位精度不随时序变化,在付出较少指纹更新成本的前提下,保证指纹库的快速更新以提高定位系统的定位精度。
[0059]
在一个实施例中,如图1所示,提供了一种指纹库的更新方法,本实施例以该方法应用于指纹库的更新设备进行举例说明,可以理解的是,该方法也可以应用于服务器,还可以应用于包括终端和服务器的系统,并通过终端和服务器的交互实现。本实施例中,该方法包括以下步骤:
[0060]
步骤101,响应于针对于目标区域的指纹库更新指令,获取目标区域内的定位坐标。
[0061]
其中,目标区域为待定位区域,也可以是已经生成指纹库的定位区域,在实际应用场景中,可以办公楼、商场等。指纹库更新指令可以是用户终端或者其他服务器发出的更新指令,可以是以预设周期发送,也可以是在监测到目标区域的环境发生变化后生成的。定位坐标可以是指纹库的更新设备在待定位区域内实地勘测采集到的位置坐标点。
[0062]
具体地,指纹库的更新设备在接收到用户终端发送的指纹库更新指令后,根据所述指纹库更新指令中所携带的身份特征信息,确定待更新的指纹库对应的目标区域。针对于目标区域,指纹库的更新设备可以根据预设扫描算法或区域检测算法,对待定位区域进行扫描以及检测,得到待定位区域内的多个定位坐标。例如,指纹库更新设备可以预先配置预设扫描算法或区域检测算法的定位密度,得到多个定位坐标。
[0063]
步骤102,将定位坐标输入预先训练的指纹更新模型,得到与定位坐标相对应的定位信号飞行时间。
[0064]
其中,指纹更新模型是通过目标区域内的样本定位坐标、以及在目标区域有障碍物的情况下采集到的样本坐标对应的样本信号飞行时间训练得到的。预先训练的指纹更新模型用于更新目标区域内指纹库的数据。
[0065]
具体地,如果指纹库的更新指令是在指纹库更新设备检测到目标区域内的环境发生变化后触发,则指纹更新模型的训练数据可以是在检测到目标区域内环境发生后的预设时间内实地采集完成的。指纹库的更新设备将目标区域内的多个定位坐标分别输入至预先训练的完成的指纹更新模型,指纹更新模型的输出结果为与定位坐标相对应的更新后的定位信号飞行时间,指纹库更新设备将指纹更新模型的输入数据(定位坐标)与输出数据(定位信号飞行时间)一一对应,组成数据对。指纹库的更新设备也可以将多个定位坐标一并输入至指纹更新设备。
[0066]
具体地,如果指纹库的更新指纹是以预设周期发送,则预先训练的指纹更新模型的训练数据可以是在上一个预设周期内采集到的。
[0067]
步骤103,根据各定位坐标以及与各定位坐标相对应的定位信号飞行时间,更新指纹库。
[0068]
具体地,如果指纹库更新指令是在检测到目标区域环境发生变化后发送,则原始指纹库是环境未发生变化的目标区域对应的指纹库;在指纹库更新指令是以预设周期发送时,原始指纹库是上一预设周围的目标区域对应的区域。
[0069]
上述指纹库的更新方法,针对目标区域内的任一坐标,通过预先训练的指纹更新
模型对坐标进行数据处理,得到与坐标相对应的信号飞行时间,指纹更新模型是根据样本坐标及与其对应的样本信号飞行时间训练生成的,样本信号飞行时间是在有障碍物的目标区域内采集到的;根据各坐标以及与各坐标相对应的信号飞行时间,更新指纹库,更新完成的指纹库具备较高的鲁棒性,可以解决由于时序上环境变化导致的室内定位精度下降的问题,在采集较少参考数据的前提下,提高定位性能,也就是说,可以在采集较少样本数据的前提下,提高基于指纹库的定位系统的定位精度。
[0070]
在一个实施例中,如图2所示,上述指纹库的更新方法还包括:
[0071]
步骤201,针对于有障碍物的目标区域,构建训练集,训练集包括多个样本组,样本组包括样本坐标以及样本坐标对应的样本信号飞行时间。
[0072]
其中,有障碍物的目标区域可以是布局发生变化的目标区域,也可以表示uwb信号基站的位置发生变化的目标区域,还可以表示仅仅增加障碍物的目标区域。
[0073]
具体地,针对于有障碍物的目标区域,指纹库更新设备会预先确定预设数量的参考标准点及其坐标,继而指纹库更新设备携带uwb标签在参考标准点处向基站发送uwb信号,继而根据基站返回的信号确定此处参考标准点的样本信号飞行时间。在实际应用场景中,指纹库可以在同一位置处多次向基站发送uwb信号,继而对得到的信号飞行时间做均值处理,得到样本信号飞行时间。其中,uwb标签可以为信号收发器,参考标准点的预设数量可以根据目标区域的大小确定,例如当以0.1m的密度在2m*2m*1m的空间内采集到5292个坐标位置时,此时的预设数量可以为96个。
[0074]
步骤202,根据训练集中的多个样本组,训练指纹更新模型。
[0075]
具体地,指纹库更新设备可以根据训练集中的多个样本组,分批次对指纹更新模型进行训练。例如,当训练集中存在96个样本组时,可以以32个样本组为一训练批次,继而指纹库更新设备可以在每次训练时在训练集中随机抽取32个样本组对指纹更新模型进行训练,以达到更好的模型收敛效果。
[0076]
本实施例中,通过在目标区域的环境变化时,仅采集较少量准确的指纹数据,对指纹更新模型进行训练,即可在原指纹库上快速更新指纹数据,达到在付出较小成本的前提下,完成uwb指纹库更新操作,保证单一uwb基站定位系统的定位精度不随时序变化的效果。
[0077]
在一个实施例中,如图3所示,上述步骤201针对于有障碍物的目标区域,构建训练集,包括:
[0078]
步骤301,获取有障碍物的目标区域内的多个样本点,样本点在目标区域内满足预设均匀分布条件。
[0079]
具体地,指纹库更新设备在构建训练集时,可以在有障碍物的目标区域内根据目标区域的面积大小,确定样本点的数量。也就是说,首先根据目标区域的面积,确定样本点的采集数量,样本点即为上述实施例中所述的参考标准点。预设均匀分布条件为样本点在目标区域内间隔预设长度分布,例如可以是0.5m等。
[0080]
步骤302,分别检测样本点的样本坐标以及与样本坐标对应的样本信号飞行时间。
[0081]
具体地,指纹库更新设备在多个样本点处检测该点对应的位置坐标,即样本坐标。继而,指纹更新设备可以通过uwb标签在样本点处向基站发送uwb信号,继而根据基站返回的信号确定此处样本点的样本信号飞行时间。
[0082]
步骤303,根据样本点的样本坐标以及与样本坐标相对应的样本信号飞行时间构
建多个样本组。
[0083]
具体地,指纹库更新将检测到样本点的样本坐标与样本点的样本信号飞行时间一一对应,并将每一个样本坐标及其样本信号飞行时间配对,将一个数据对作为一个样本组。
[0084]
步骤304,根据多个样本组,构建训练集。
[0085]
本实施例中,通过在目标区域的环境变化时,仅采集较少量准确的指纹数据,对指纹更新模型进行训练,即可在原指纹库上快速更新指纹数据,达到在付出较小成本的前提下,完成uwb指纹库更新操作,保证单一uwb基站定位系统的定位精度不随时序变化的效果。
[0086]
在一个实施例中,如图4所示,通过以下过程获取样本坐标对应的样本信号飞行时间:
[0087]
步骤401,基于样本坐标,将超宽带信号发送至单基站上多个接收天线。
[0088]
具体地,在目标区域内设置多根天线构成组合基站,如图5所示,可以设置多天线各天线信号中心位置组成近似等腰三角形。指纹库更新设备基于样本坐标确定样本点,在目标区域的样本点上将uwb信号发送至基站,基站上配置有多根接收天线,基站上的多根接收天线的朝向均不相同,不同朝向的多根天线均能接收到uwb信号。
[0089]
步骤402,分别获取单基站上多个接收天线返回的信号飞行时间。
[0090]
步骤403,计算多个接收天线返回的信号飞行时间的平均值,将平均值作为样本坐标对应的样本信号飞行时间。
[0091]
具体地,指纹库更新设备在样本点上获取各接收天线返回的信号飞行时间,并将接收到多个接收天线返回的多个信号飞行时间做均值处理,将得到平均值作为该样本点的样本飞行时间。
[0092]
可选地,指纹库更新设备还可以将接收到多个接收天线返回的多个信号飞行时间,按照预设权值分配各接收天线的权重,根据第一权重以及第一权重对应的接收天线返回的信号飞行时间,第二权重以及第二权重对应的接收天线返回的信号飞行时间,以及其他权重以及分别对应的接收天线返回的信号飞行时间,计算得到该样本点的样本信号飞行时间。
[0093]
可选地,指纹库更新设备还可以预先获取的基站上多个接收天线的角度,根据多个接收天线的角度,计算各接收天线返回的信号飞行时间的计算权重,继而通过计算该样本点的样本信号飞行时间,具体计算方法可以根据实际应用场景中基站的天线的具体配置角度确定。
[0094]
在实际应用场景中,指纹库更新设备可以在同一位置处多次向基站发送uwb信号,继而对每次得到的信号飞行时间做均值处理,得到样本信号飞行时间。
[0095]
本实施例中通过在单基站上配置多根接收天线,可以实现待定位区域平面上高精度的定位性能。其原理为单一基站上多根天线朝向不同,接收到uwb标签信号的时间存在差别,有效利用这一时间差,可获得同一待定位坐标在uwb基站多根天线上有差别的tof数据序列,将tof数据序列代入uwb指纹数据库,即可仅使用单个uwb基站实现定位系统,达到低成本、高精度的定位目标。
[0096]
在一个实施例中,如图6所示,上述步骤202,根据训练集中的多个样本组,训练指纹更新模型,包括:
[0097]
步骤501,将预设数量的样本坐标输入至待训练的指纹更新模型,得到预测信号飞
行时间。
[0098]
其中,预设数量的样本坐标可以是一个批次的样本数据的数量。例如,当样本组的数量为96个时,一个批次的样本数据的数量可以为32个。
[0099]
具体地,指纹更新模型可以为reloc,模型的输入为每个位置点p的坐标信息(x,y,z),输出为点p到k个天线之间的tof(an0,an1,an2)。如图7所示,上述指纹更新模型的结构分为输入层、共享层、输出层,输入层为图中input p(x,y,z)部分,表示预设数量的样本坐标,即更新后的指纹库中的少量精确的96个样本点的坐标信息。共享层为图中的share layer部分,基于共享表示(shared representation)把多个相关的任务放在一起学习,可以学习更新后的指纹库中的少量精确的96个样本点p到不同的k个天线tof的特征。输出层w为output layer1到output layer k部分,每个目标任务独享一个输出层的神经网络参数,可以学习坐标点p到空间中全部接收天线tof的特征。根据坐标点p到空间中全部接收天线tof的特征,计算确定预测信号飞行时间。
[0100]
步骤502,根据预测信号飞行时间以及样本信号飞行时间,计算损失函数。
[0101]
具体地,指纹更新模型的训练目标是缩小指纹更新模型输出的预测信号飞行时间与样本信号飞行时间之间的误差,即,缩小指纹更新模型输出96个样本坐标点p{pi=(x,y,z)|i=1,..5292}到基站上多个接收天线之间的距离(an0’,an1’,an2’)与原始指纹库中已有对应96个样本坐标点到基站上多个接收天线之间的距离(an0,an1,an2)的误差。因此,指纹库的更新设备通过均方误差作为损失函数来对模型进行训练。
[0102]
针对于单一坐标点的损失函数,例如预测坐标点p{pi=(x,y,z)|i=1,..n}到第1个基站的距离其计算损失函数公式如下:
[0103][0104]
针对于多个样本点,可以认为每一个样本点的损失函数的计算权重相同,因此,可以通过下述公式计算损失函数:
[0105][0106]
其中,k表示基站上接收天线的数量;n表示样本点的数量;anj
i
表示针对于第j根接收天线,第i个样本坐标对应的样本信号飞行时间;表示针对于第j根接收天线,第i个样本坐标对应的预测信号飞行时间。
[0107]
步骤503,根据损失函数更新待训练的指纹更新模型的网络参数,并返回执行针对于有障碍物的目标区域,构建训练集的步骤,直到损失函数满足预设训练完成条件,得到预先训练的指纹更新模型。
[0108]
具体地,为了使损失函数最小化,待训练的神经网络结构可以通过反向传播的方式,不断更新待训练的指纹更新模型的网络参数w。例如,可以通过随机梯度下降法(stochastic gradient descent,sgd)来更新模型的参数。具体参数更新公式如下所示:
[0109][0110]
其中,w
i
为第i次训练过程,对应的权重矩阵参数值。h(x')表示隐藏层函数,x’为隐藏层的输入数据,表示对w
i
‑1求偏导,η为学习率。
[0111]
具体地,结合图8、图9以及图10详细介绍待训练的指纹更新模型的具体结构。待更新的指纹更新模型的输入层为新的精确指纹库中96个坐标信息p{pi=(x,y,z)|i=1,..,96},每次训练的批量为32,即batchsize=32。也就是说,信的精确指纹库为更新后的指纹库,96个坐标信息可以是当待更新的指纹库对应的目标区域为2m*2m*2m的空间时,选取的目标区域内的预设数量的样本点的坐标信息。样本点的坐标信息为指纹库更新设备在目标区域内实地勘测采集到的准确数据信息。
[0112]
共享层由两个全连接层(fully connected dence layer)构成。每个全连接层的具体结构可以是如图8所示,每层的激活函数为σ函数,使用上述函数进行计算可以保留输入层的非线性潜在特征,通过下述公式确定σ函数:
[0113][0114]
也就是说,待更新的指纹模型的共享层可以是如图9所示,共享层由两个全连接层构成,每一个神经网络全连接层的神经元个数可以为128,为其计算公式如下:
[0115][0116]
其中,wshare为模型训练的权重参数矩阵,bshare为模型的训练偏置向量。σ函数为激活函数,对模型学习到的特征进行非线性变换。模型训练的权重参数矩2_share和偏置向量bshare的维度由全连接层单元个数和输入数据的维度决定。即第一个全连接层权重参数矩阵偏置向量
[0117]
具体地,输出层与共享层相似,如图10所示,由两个全连接层组成,每一层神经网络单元个数均为128。其输入为共享层的输出sharelayerout。每个目标任务独享一个输出层的神经网络参数,即输出层主要学习目标区域内的坐标点到不同的基站天线距离的tof特征数据的特征,并根据此特征更新原始指纹库。
[0118]
例如,共享层中的第一个全连接层,在第i次训练中,其权重矩阵更新公式如下所示:
[0119]
综上所述,在模型训练过程中,利用上述公式不断更新模型的参数,然后计算模型的损失函数,直到损失函数收敛,模型停止训练。在本模型中,预先设定训练回合epochs=500,学习速率η=0.001,当模型在30个回合内损失不再减小时,停止训练。也就是说,预设训练完成条件可以是计算得到损失函数已经收敛,损失误差不再变化,或者也可以是训练
次数已经达到预设次数。
[0120]
本实施例通过基于共享表示方法,把多个相关的任务放在一起学习,即主任务(main tasks)使用相关任务(related tasks)的训练信号(training signal)所拥有的领域相关信息(domain

specific information),做为一直推导偏差(inductive bias)来提升主任务(main tasks)泛化效果(generalization performance)。也就是说,本实施例中通过采用推导迁移学习的方法,在预测an0这个目标主任务时,将其作为其他相关任务(预测an1,an2任务)的训练信号所有用的领域相关信息,即坐标点p到不同的k个天线tof的潜在共性来提升预测an0的能力。
[0121]
在一个实施例中,如图11所示,上述指纹库的更新方法还包括:
[0122]
步骤601,如果定位坐标与样本坐标一致时,则将样本坐标对应的样本信号飞行时间更新为定位信号飞行时间。
[0123]
步骤602,如果定位坐标与样本坐标不一致时,则执行将定位坐标输入预先训练的指纹更新模型,得到与定位坐标相对应的定位信号飞行时间步骤。
[0124]
应该理解的是,虽然图1

11的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1

11中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0125]
以下结合一具体示例,详细描述上述实施例所述的指纹库的更新方法以及对通过上述实施例所述的方法得到的指纹更新模型进行验证,在实际应用场景中,系统总体使用4块开发板,其中3块作为uwb基站接收器的组合。另一块作为uwb标签,用以验证多天线uwb定位算法。开发板通过usb转ttl设备连接电脑。线路连接如图12所示,开发板u1tx端连接usb转ttl设备的rx端、开发板u1rx端连接usb转ttl设备的tx端、开发板gnd端连接usb转ttl设备的gnd端,开发板的v3.3端连接usb转ttl设备的vcc端。
[0126]
具体地,开发板应通过专用烧录工具(如st

link)把需要使用的对应sdk版本的skd烧录进入开发板。一般情况下,烧录过正确sdk的开发板,使用正确的串口调试工具等工具通过串口对开发板发送at设置命令、at查询命令、at执行命令等命令即可使开发板执行不同的状态,获得必要功能支持实验。对其中三个开发板做uwb基站形态设置。使用它们已连接的usb转ttl设备连接电脑,电脑打开串口调试工具,选择正确的设备端口号,设置正确的波特率、数据位、校验位、停止位、发送与接收数据设置后,选择打开串口,依次输入正确的at测试指令、复位指令、基站设置指令。从发送接收窗口反馈信息确定设置结果。对剩余一个开发板做uwb标签形态设置。使用其已连接的usb转ttl设备连接电脑,电脑打开串口调试器,选择设备正确的端口号,设置正确的波特率、数据位、校验位、停止位、发送与接收数据设置后,选择打开串口,依次输入测试指令、复位指令、标签设置指令、输出间隔指令,部分at命令介绍如下表1所示:
[0127]
表1
[0128][0129]
具体地,为了验证上述实施例所述的方法生成的指纹库以及基于指纹库的定位系统的性能,设计短距离定位实验。目标区域可以为2m
×
2m
×
1m的无主要干扰空间中,每间隔0.1m采集5292个位置的参考点的信号飞行时间数据,作为原始指纹库。在目标区域的空间中增加障碍物遮挡,适当调整基站位置及天线朝向后,构造出能够影响单基站uwb定位系统性能的测试环境。在环境改变后,采集少量96个位置(1.8%)的参考点tof特征数据(在目标区域有障碍物的情况下采集到的样本坐标对应的样本信号飞行时间),使用reloc模型(指纹更新模型)生成5292个位置的参考点tof特征数据,更新原始指纹库。另外,在测试环境三维空间中采集3572个不同位置的测试点,用以定位系统的系统测试。
[0130]
具体地,1、uwb组合基站由5v电源进行供电状态下,在上述一维位置的状态下,将uwb组合基站放置第一个高度平面上。2、uwb基站完成放置后,通过usb转ttl设备使uwb标签设备连接电脑后,选择正确的设备端口号,设置正确的波特率、数据位、校验位、停止位、发送与接收数据设置后,选择打开串口,并开启uwb标签设备,向其发送开始测量距离的at命令使其进入测距状态。3、依次将uwb标签天线中心位置准确的放置在上述平面的多个测试点位上,通过串口调试工具收集每个点位上30s的测距数据,拆分成30个测试点。4、完成当前平面所有测量点位的测量工作后,避免uwb标签重启,改变组合基站位置高度到下一个高度位置上,重复前述步骤3的测量实验过程,直到完成所有的前述组合基站的多个不同高度情况,通过串口调试工具收集到的位置数据整理后待用。上述过程中在小范围空间内的全部参考点分布如图13所示,少量(1.8%)精准数据的参考点分布如图14所示。
[0131]
其中,图13中的为全部采样点,每个点的采集时长为10s,频率为1hz,在场景中均匀分布,且在水平、垂直方向上每两个采样点间的距离为0.1m。图14中的点为少量(1.8%)重采样点,在场景中均匀分布,水平方向上每两个采样点间的间隔为0.5m,垂直方向上每两个采样点间的间隔为0.33m。测试点在场景中随意采集,与采样点均无交叉。
[0132]
为验证reloc模型(指纹更新模型)的性能,本实施例将reloc更新指纹库与原始指纹库进行对比,从指纹数据分布与定位误差等2个角度对reloc模型进行性能评价。在实际应用场景中选择单一uwb基站中的某一根天线,根据标签在各个位置上天线接收的tof数
值,绘制更新指纹库与原始指纹库的可视化对比图。如图15所示为原始指纹库,用于表示更新前的指纹库,是单一uwb基站其中一根天线接收到的2m
×
2m
×
1m的无主要干扰空间中的指纹数据分布,其分布渐变,无特殊表现位置。如图16所示,是在目标区域内的环境变化后,使用reloc模型更新指纹库后,同一根天线接收到的指纹数据分布,可以看到,虽然整体上特征变化的趋势没有大的变化,但局部有明显畸变。
[0133]
综上,reloc模型可以有效利用少量指纹数据更新全部指纹库,更好地学习uwb标签tof在空间中的概率分布,能够更好应用于环境变化后单一uwb基站的高精度定位系统中。
[0134]
具体地,以下过程描述基于更新后的指纹库的定位系统的定位精度性能评价过程,在测试环境三维空间中采集3572个不同位置的测试点,用以系统测试。分别调用原始tof指纹库、插值更新tof指纹库与reloc模型生成的tof更新指纹库,使用knn算法作为定位算法,各数据库的定位结果表现作对照。knn算法具体应用如下:
[0135]
tof指纹库转化为p个坐标点(x,y,z)与其至3根天线的tof数据特征每个测试坐标点上采集的tof测试数据特征(an0,an1,an2);继而计算测试数据特征(an0,an1,an2)与指纹库数据特征之间的特征距离选取测试tof数据与指纹库tof数据特征距离d最小的前k个指纹库坐标点,取算数平均值(x

,y

,z

);
[0136]
输出定位预测结果(x

,y

,z

)。
[0137]
对于输出的预测结果,与真实测试位置作比较,计算位置差值作为定位误差。如图17所示,表示基于更新后的指纹库的定位系统的定位精度与其他系统定位精度的对比,在实际应用场景中,reloc系统的平均定位误差为0.15m,小于基于插值更新指纹库定位系统的0.68m,远小于基于原始指纹库定位系统的0.85m。同时,reloc系统90%累计定位误差为0.48m,比基于插值更新指纹库的系统低62.5%,比基于原始指纹库低68.8%。reloc系统能够有效解决拖尾问题,保证定位系统的鲁棒性。
[0138]
综上所述,通过单一uwb基站实现近距离高精度定位系统时,reloc系统可以有效适用于由于时序上环境变化导致的基于指纹的定位系统精度下降问题。在仅重复采样1.8%的参考点前提下,定位性能上升82%,保证低成本与高定位精度之间的平衡。
[0139]
在一个实施例中,如图18所示,提供了一种指纹库的更新装置,包括:定位坐标获取模块701、数据处理模块702和指纹库更新模块703,其中:
[0140]
定位坐标获取模块701,用于响应于针对于目标区域的指纹库更新指令,获取目标区域内的至少一个定位坐标;数据处理模块702,用于针对任一定位坐标,通过预先训练的指纹更新模型对定位坐标进行数据处理,得到与定位坐标相对应的定位信号飞行时间,指纹更新模型是根据样本坐标及与其对应的样本信号飞行时间训练生成的,样本信号飞行时间是在有障碍物的目标区域内采集到的;指纹库更新模块703,用于根据各定位坐标以及与各定位坐标相对应的定位信号飞行时间,更新指纹库。
[0141]
在一个实施例中,装置方法还包括:训练集构建模块,用于针对于有障碍物的目标区域,构建训练集,训练集包括多个样本组,样本组包括样本坐标以及样本坐标对应的样本
信号飞行时间;指纹更新模型训练模块,用于根据训练集中的多个样本组,训练指纹更新模型。
[0142]
在一个实施例中,训练集构建模块,具体用于获取有障碍物的目标区域内的多个样本点,样本点在目标区域内满足预设均匀分布条件;分别检测样本点的样本坐标以及与样本坐标对应的样本信号飞行时间;根据样本点的样本坐标以及与样本坐标相对应的样本信号飞行时间构建多个样本组;根据多个样本组,构建训练集。
[0143]
在一个实施例中,所述装置还包括,样本信号飞行时间获取模块,用于基于样本坐标,将超宽带信号发送至单基站上多个接收天线;分别获取单基站上多个接收天线返回的信号飞行时间;计算多个接收天线返回的信号飞行时间的平均值,将平均值作为样本坐标对应的样本信号飞行时间。
[0144]
在一个实施例中,指纹更新模型训练模块,具体用于将预设数量的样本坐标输入至待训练的指纹更新模型,得到预测信号飞行时间;根据预测信号飞行时间以及样本信号飞行时间,计算损失函数;根据损失函数更新待训练的指纹更新模型的网络参数,并返回执行针对于有障碍物的目标区域,构建训练集的步骤,直到损失函数满足预设训练完成条件,得到预先训练的指纹更新模型。
[0145]
所述装置还包括,更新模块,用于还包括:如果定位坐标与样本坐标一致,则将样本坐标对应的样本信号飞行时间更新为定位信号飞行时间;如果定位坐标与样本坐标不一致,则执行将定位坐标输入预先训练的指纹更新模型,得到与定位坐标相对应的定位信号飞行时间步骤。
[0146]
关于指纹库的更新装置的具体限定可以参见上文中对于指纹库的更新方法的限定,在此不再赘述。上述指纹库的更新装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0147]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图19所示。该计算机设备包括通过系统总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储训练数据。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种指纹库的更新方法。
[0148]
本领域技术人员可以理解,图19中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0149]
在一个实施例中,还提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0150]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0151]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以
通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read

only memory,rom)、磁带、软盘、闪存或光存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。
[0152]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0153]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术专利的保护范围应以所附权利要求为准。
转载请注明原文地址:https://doc.8miu.com/read-1719170.html

最新回复(0)