一种定位方法及装置、设备、存储介质与流程

文档序号:27754593发布日期:2021-12-03 21:27阅读:126来源:国知局
一种定位方法及装置、设备、存储介质与流程

1.本技术实施例涉及定位技术领域,涉及但不限于一种定位方法及装置、设备、存储介质。


背景技术:

2.在定位研究的相关技术中,主要使用landmarc算法进行定位,但是,使用landmarc算法进行定位时,参考标签摆放的拓扑结构是决定定位精度的重要因素,但是当参考标签聚集在一起时相互之间有干扰,会出现定位的准确率不高的问题。


技术实现要素:

3.有鉴于此,本技术实施例为解决相关技术中存在的至少一个问题而提供一种定位方法及装置、设备、存储介质,能够提高定位的准确率与定位的精度。
4.本技术实施例的技术方案是这样实现的:
5.第一方面,本技术实施例提供一种定位方法,所述方法包括:
6.接收待定位对象的信号强度值序列,所述待定位对象的信号强度值序列包括所述待定位对象从至少一个射频识别(rdio frequency identification,rfid)天线接收到的信号强度值;
7.将所述待定位对象的信号强度值序列输入定位模型,得到所述定位模型输出的所述待定位对象的位置信息;其中,所述定位模型对应训练样本输出的预测值与所述训练样本的位置信息之间的差值在可接受范围内。
8.第二方面,本技术实施例提供一种定位装置,所述装置包括:第一接收模块和第一确定模块;其中,
9.所述第一接收模块,用于接收待定位对象的信号强度值序列,所述待定位对象的信号强度值序列包括所述待定位对象从至少一个射频识别天线接收到的信号强度值;
10.所述第一确定模块,用于将所述待定位对象的信号强度值序列输入定位模型,得到所述定位模型输出的所述待定位对象的位置信息;其中,所述定位模型对应训练样本输出的预测值与所述训练样本的位置信息之间的差值在可接受范围内。
11.第三方面,本技术实施例提供一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述定位方法中的步骤。
12.第四方面,本技术实施例提供一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述定位方法中的步骤。
13.本技术实施例中,提供了一种定位方法,接收待定位对象的信号强度值序列,所述待定位对象的信号强度值序列包括所述待定位对象从至少一个射频识别天线接收到的信号强度值;将所述待定位对象的信号强度值序列输入定位模型,得到所述定位模型输出的所述待定位对象的位置信息;其中,所述定位模型对应训练样本输出的预测值与所述训练
样本的位置信息之间的差值在可接受范围内,能够提高定位的准确度与定位的精度,提高了用户的体验。
附图说明
14.图1为本技术实施例网络架构示意图;
15.图2为本技术实施例提供的定位方法的实现流程示意图一;
16.图3为本技术实施例提供的可接受范围的效果示意图;
17.图4为本技术实施例提供的定位方法的实现流程示意图二;
18.图5为本技术实施例提供的定位装置的组成结构示意图;
19.图6为本技术实施例计算机设备的一种硬件实体示意图。
具体实施方式
20.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对申请的具体技术方案做进一步详细描述。以下实施例用于说明本技术,但不用来限制本技术的范围。
21.为了更好地理解本技术,对本技术实施例进行进一步详细说明之前,对本技术实施例中涉及的名词和术语进行说明,本技术实施例中涉及的名词和术语适用于如下的解释。
22.1)rfid天线,设置于rfid阅读器上,且用于连接rfid阅读器和rfid标签,rfid阅读器通过同轴电缆给rfid天线供电来驱动rfid天线,rfid天线负责收发射频信号,rfid标签收到射频信号后,该射频信号的响应信号也会通过rfid天线传递给rfid阅读器。
23.2)训练样本,是指对定位模型进行训练的过程中用到的数据的集合,比如:至少一个参考对象的信号强度值序列。
24.3)可接受范围,是指用于判断差值是否可接受的范围。如果差值在可接受范围内,则认为该差值是可接受的;如果差值不在可接受范围内,则认为该差值是不可接受的。
25.4)松弛变量,是指支持向量机中的一个辅助量,被用于将硬间隔转化为软间隔方法,它的引入可解决离群点对分类的影响。
26.本技术实施例可提供为定位方法及装置、设备和存储介质。实际应用中,定位方法可由定位装置实现,定位装置中的各功能实体可以由计算机设备(如终端设备、服务器)的硬件资源,如处理器等计算资源、通信资源(如用于支持实现光缆、蜂窝等各种方式通信)协同实现。
27.本技术实施例的定位方法可应用于图1所示的定位系统,如图1所示,包括:rfid标签10、rfid天线20、rfid阅读器30和运行应用程序的计算机40;其中,rfid标签10、rfid天线20、rfid阅读器30和计算机40属于定位系统的硬件组成,应用程序属于定位系统的软件组成。下面介绍各个组成部分在定位系统中的作用和工作机制。这里,rfid标签10对应本技术实施例的待定位对象,rfid天线20对应本技术实施例的rfid天线。
28.rfid标签10:在定位系统中一般起到识别物品和信息反馈的作用。rfid标签10通常包含芯片和天线两个部分,根据其内部是否需要供电系统可以分为无源标签、有源标签和半有源标签。
29.rfid天线20:连接rfid标签10和rfid阅读器30,rfid阅读器30通过同轴电缆给rfid天线20供电来驱动rfid天线20,rfid天线20负责收发射频信号,rfid标签10收到射频信号后,该射频信号的响应信号也会通过rfid天线20传递给rfid阅读器30。
30.rfid阅读器30:是定位系统中的重要组成部分,其一方面是将应用程序的指令传达给rfid天线20,另一方面要驱动rfid天线20工作,获取rfid标签10的相关信息。在硬件通信层面上,rfid阅读器30的主要作用就是向定位场景中不断的发射电磁波,并通过接收到频段相同的rfid标签10的信号响应来完成信息的交换。
31.运行应用程序的计算机40:计算机40中运行的应用程序主要包含定位系统中的定位算法,应用程序的作用是给rfid阅读器30发送控制指令,读取所在系统中存储的或者rfid阅读器30采集到的rfid标签10的信息,然后通过定位算法进行定位。
32.运行应用程序的计算机40通过rfid阅读器30和rfid天线20接收待定位的rfid标签10的信号强度值序列,将所述待定位的rfid标签10的信号强度值序列输入定位模型,得到所述定位模型输出的所述待定位的rfid标签10的位置信息。
33.下面,结合图1所示的定位系统的示意图,对本技术实施例提供的定位方法、装置、设备和存储介质的各实施例进行说明。
34.本实施例提供一种定位方法,该方法应用于服务器,其中,服务器可为计算机40。该方法所实现的功能可以通过计算机设备中的处理器调用程序代码来实现,当然程序代码可以保存在计算机存储介质中,可见,该计算机设备至少包括处理器和存储介质。
35.图2为本技术实施例的一种定位方法的实现流程示意图,如图2所示,该方法可以包括如下步骤:
36.s201、接收待定位对象的信号强度值序列;
37.其中,所述待定位对象的信号强度值序列包括所述待定位对象从至少一个rfid天线接收到的信号强度值。
38.这里,定位环境中存在服务器,至少一个rfid天线,至少一个rfid阅读器;其中,一个rfid天线对应一个rfid阅读器。服务器与rfid阅读器连接,rfid阅读器与rfid天线相连。
39.服务器向rfid阅读器发送控制指令,rfid阅读器将所述控制指令发送给rfid天线,rfid天线向待定位对象发送无线信号,待定位对象将从rfid接收到的信号强度值发送至rfid天线;当rfid天线获取到待定位对象的信号强度值后,通过rfid天线与rfid阅读器之间的相连,rfid阅读器与服务器之间的连接传输至服务器,服务器接收待定位对象从rfid天线接收到的无线信号的信号强度值。其中,待定位对象对应的不同rfid天线的信号强度值的集合可称为待定位对象的信号强度值序列。
40.这里,待定位对象可以包括待定位的事物上的rfid标签。其中,待定位事物包括:快递、代售商品等事物。其中,待定位事物可以为一个或多个。
41.当定位环境中存在一个rfid天线和该天线对应的一个rfid阅读器,服务器接收的待定位对象的信号强度值序列包括从一个rfid天线接收到的信号强度值。
42.比如:定位环境中存在rfid天线1和对应的rfid阅读器1,服务器接收的待定位对象1的信号强度值序列为{x1},其中,x1表征待定位对象1从rfid天线1接收到的无线信号的信号强度值。
43.又比如:定位环境中存在rfid天线1和对应的rfid阅读器1,服务器接收的待定位
对象a、待定位对象b的信号强度值序列为{x
a
},{x
b
},其中,{x
a
}表征待定位对象a从rfid天线1接收到的无线信号的信号强度值,{x
b
}表征待定位对象b从rfid天线1接收到的无线信号的信号强度值。
44.当定位环境中存在多个rfid天线和对应的多个rfid阅读器,服务器接收的待定位对象的信号强度值序列为从多个不同的rfid天线接收到的信号强度值集合。
45.比如:定位环境中存在rfid天线1和对应的rfid阅读器1,rfid天线2和对应的rfid阅读器2,rfid天线3和对应的rfid阅读器3,待定位对象1的信号强度值序列为x1={x1,x2,x3},其中,x
i
表征待定位对象1从rfid天线i接收到的无线信号的信号强度值。
46.又比如:定位环境中存在rfid天线1和对应的rfid阅读器1,rfid天线2和对应的rfid阅读器2,rfid天线3和对应的rfid阅读器3,rfid天线4和对应的rfid阅读器4;待定位对象a的信号强度值序列为x
a
={x
a1
,x
a2
},其中,x
ai
表征待定位对象a从rfid天线i接收到的无线信号的信号强度值;待定位对象b的信号强度值序列为x
b
={x
b1
,x
b2
,x
b3
,x
b4
},其中,x
bi
表征待定位对象b从rfid天线i接收到的无线信号的信号强度值。
47.s202、将所述待定位对象的信号强度值序列输入定位模型,得到所述定位模型输出的所述待定位对象的位置信息。
48.其中,所述定位模型对应训练样本输出的预测值与所述训练样本的位置信息之间的差值在可接受范围内。
49.这里,服务器在接收到待定位对象的信号强度值序列后,将待定位对象的信号强度值序列作为定位模型的输入值,输入到定位模型中,得到待定位对象的信号强度值序列对应的输出值,该输出值为待定位对象的位置信息。
50.比如:定位模型的函数表达式为f(x)=ωx+b,ω和b为已知的定位模型的参数,将待定位对象的信号强度值序列作为x,输入到定位模型中,可以得到表征待定位对象的位置信息的f(x)。
51.这里,待定位对象的位置信息可以通过以下方式来标识:一维坐标信息、二维坐标信息或三维坐标信息。其中,三维坐标信息可包括:x轴位置信息、y轴位置信息和z轴位置信息;二维坐标信息可包括:x轴位置信息和y轴位置信息;一维坐标信息可包括:x轴位置信息、y轴位置信息或z轴位置信息。其中,当位置信息通过一维坐标信息标识,定位模型可以是用于计算待定位对象的x轴位置信息的第一定位模型,定位模型也可以是用于计算待定位对象的y轴位置信息的第二定位模型,定位模型还可以是用于计算待定位对象的z轴位置信息的第三定位模型。
52.比如:第一定位模型的函数表达式为f(x)=ω1x+b1,将待定位对象的信号强度值序列x,输入到第一定位模型中,得到的f(x)为待定位对象的x轴位置信息。又比如:第二定位模型的函数表达式为f(x)=ω2x+b2,将待定位对象的信号强度值序列x,输入到第二定位模型中,得到的f(x)为待定位对象的y轴位置信息。再比如:第三定位模型的函数表达式为f(x)=ω3x+b3,将待定位对象的信号强度值序列x,输入到第三定位模型中,得到的f(x)为待定位对象的z轴位置信息。
53.这里,通过训练样本对定位模型进行训练,将训练样本输入到定位模型中,得到该训练样本对应的预测值,训练的结束条件为该预测值与训练样本的位置信息之间的差值在可接受范围内。
54.比如:定位模型的函数表达式为f(y)=ωy+b,将训练样本y输入到定位模型中,得到预测值f(y),训练样本的位置信息为a,可接受范围为[b1,b2],如果预测值与训练样本的位置信息之间的差值在可接受范围内,可以表示为:|f(y)-a|∈(b1,b2);如果预测值与训练样本的位置信息之间的差值不在可接受范围内,可以表示为:
[0055]
在实际应用中,可接收范围可通过可接受范围系数ε表示,对应的可接受范围为[-ε,ε]。
[0056]
在本技术实施例中,接收待定位对象的信号强度值序列,所述待定位对象的信号强度值序列包括所述待定位对象从至少一个射频识别rfid天线接收到的信号强度值;将所述待定位对象的信号强度值序列输入定位模型,得到所述定位模型输出的所述待定位对象的位置信息;其中,所述定位模型对应训练样本输出的预测值与所述训练样本的位置信息之间的差值在可接受范围内,能够提高定位的准确度与定位的精度,提高了用户的体验。
[0057]
在一实施例中,在接收待定位对象的信号强度值序列之后,所述方法还包括:对所述信号强度值序列进行滤波处理,得到第一目标信号强度值序列;对应地,所述将所述待定位对象的信号强度值序列输入定位模型,包括:将所述第一目标信号强度值序列输入定位模型。
[0058]
这里,服务器接收到待定位对象的信号强度值序列之后,可以对接收到的待定位对象的信号强度值序列进行滤波处理,得到第一目标信号强度值序列。
[0059]
对接收到的待定位对象的信号强度值序列进行滤波处理时,可以使用高斯滤波器或卡尔曼滤波器,对待定位对象的信号强度值序列中的信号强度值分别进行高斯滤波或卡尔曼滤波。其中,高斯滤波用于降低待定位对象的信号强度值偏差比较大的信号,卡尔曼滤波用于对待定位对象的信号强度值进行平滑滤波。
[0060]
这里,在对待定位对象的信号强度值序列进行滤波处理,得到第一目标信号强度值序列之后,将第一目标信号强度值序列作为输入值,输入到定位模型中,得到定位模型输出的待定位对象的位置信息。
[0061]
本技术实施例中,对待定位对象的信号强度值序列进行滤波处理,使得信号强度值序列中的不精确的信号强度值被过滤掉,提高了第一目标信号强度值序列的准确度,使得根据第一目标信号强度值序列输入定位模型而获得的待定位对象的位置信息更加精确。
[0062]
在一实施例中,所述方法还包括:获取包括至少一个参考对象的信号强度值序列的训练样本以及所述参考对象的位置信息;所述参考对象的信号强度值序列包括所述参考对象从所述至少一个rfid天线接收到的信号强度值;将所述参考对象的信号强度值序列输入定位模型,得到所述参考对象对应的预测位置;确定所述预测位置与所述参考对象的位置信息之间的差值;根据所述差值与所述可接受范围的关系,对所述定位模型的参数进行更新。
[0063]
这里,在将待定位对象的信号强度值序列输入定位模型之前,还需要对定位模型进行训练,更新定位模型的参数。在训练时,根据训练样本、训练样本中至少一个参考对象的位置信息及可接受范围,对定位模型进行训练。其中,可接受范围可以为预先设置的范围,本技术实施例对可接受范围的值不做任何限定。
[0064]
服务器接收包括至少一个参考对象的信号强度值序列的训练样本以及至少一个
参考对象中每一参考对象的位置信息。其中,参考对象的信号强度值序列为参考对象从至少一个rfid天线接收到的无线信号的信号强度值构成的序列,参考对象的信号强度值序列的获得方式与待定位对象的信号强度值序列的获得方式类似,这里不进行赘述。
[0065]
服务器将接收到的参考对象的信号强度值序列输入定位模型,得到定位模型的输出,即参考对象对应的预测位置。服务器确定参考对象的预测位置与参考对象的位置信息之间的差值。其中,参考对象的位置信息可以为该参考对象在定位环境中的实际位置。在将参考对象的信号强度序列输入定位模型之前,定位模型的参数的值为初始值。
[0066]
比如:服务器接收的参考对象1的信号强度值序列为{l1},其中,l1表征服务器从rfid天线1接收到的参考对象1的信号强度值;定位模型为f(x)=ω0x+b0,ω0和b0为定位模型的参数的初始值,将l1作为x带入定位模型中,获得预测位置f(l1)。参考对象的位置信息为l
y
,则差值为|f(l1)-l
y
|。
[0067]
又比如:服务器接收的参考对象a、参考对象b的信号强度值序列为{l
a
},{l
b
},其中,l
a
表征服务器从rfid天线1接收到的参考对象a的信号强度值,l
b
表征服务器从rfid天线1接收到的参考对象b的信号强度值。定位模型为f(x)=ω0x+b0,ω0和b0为定位模型的参数的初始值,将{l
a
},{l
b
}作为x带入定位模型中,获得参考对象a对应的预测位置f(l
a
),参考对象a的位置信息为l
a
,则差值为|f(l
a
)-l
a
|。获得参考对象b对应的预测位置f(l
b
),参考对象b的位置信息为l
b
,则差值为|f(l
b
)-l
b
|。
[0068]
这里,根据差值与可接受范围的关系,对定位模型进行训练。其中,差值与可接受范围的关系包括两种情况:
[0069]
情况一、差值在可接受范围内。
[0070]
在情况一下,差值在可接受范围内时,将该差值对应的参考对象的信号强度值序列从训练样本中删除,使用剩下的参考对象的信号强度值序列继续对定位模型进行训练。
[0071]
情况二、差值不在可接受范围内。
[0072]
在情况二下,差值不在可接受范围内时,更新定位模型的参数,根据更新后的定位模型的参数以及差值不在可接受范围内的参考对象,继续对定位模型的参数进行更新,直至差值在可接受范围内。
[0073]
这里,如果定位模型为第一定位模型可以用于对位置信息中的x轴位置信息进行训练,如果定位模型为第二定位模型可以用于对位置信息中的y轴位置信息进行训练,如果定位模型为第三定位模型可以用于对位置信息中的z轴位置信息进行训练。
[0074]
比如:对第一定位模型进行训练时,将参考对象的信号强度值序列作为输入,输入到第一定位模型中,可以得到该参考对象的x轴位置信息的预测值;对第二定位模型进行训练时,将参考对象的信号强度值序列作为输入,输入到第二定位模型中,可以得到该参考对象的y轴位置信息的预测值;对第三定位模型进行训练时,将参考对象的信号强度值序列作为输入,输入到第三定位模型中,可以得到该参考对象的z轴位置信息的预测值。
[0075]
本技术实施例中,根据参考对象的预测位置与参考对象的位置信息,确定差值;根据差值与可接受范围的关系,对定位模型进行训练以更新定位模型的参数,当所有的参考对象的预测位置与其实际位置的差值在可接受范围内且定位模型收敛时,训练结束,从而提高定位模型的容错率。
[0076]
在一实施例中,所述根据所述差值与所述可接受范围的关系,对所述定位模型的
参数进行更新,包括:确定所述差值不在所述可接受范围内的目标参考对象对应的损失,并根据所述损失对所述定位模型的参数进行调整;将所述目标参考对象的信号强度值序列输入参数调整后的定位模型,得到新的差值,直到每一所述参考对象对应的差值在所述可接受范围内。
[0077]
这里,当差值不在可接受范围内时,从参考对象中确定差值不在可接受范围内的目标参考对象,并计算参考对象对应的损失,根据该损失调整定位模型的参数。再将目标参考对象的信号强度值序列输入参数调整后的定位模型,得到目标参考对象对应的预测位置,再计算目标参考对象的位置信息与预测位置之间的差值,判断该差值是否在可接受范围内,如果该差值在可接受范围内,对定位模型的训练结束;如果该差值不在可接受范围内,重复上面的过程,直至每一个参考对象对应的预测位置与的位置信息之间的差值在可接受范围内。
[0078]
比如:从包括:对象a、对象b、对象c和对象d的训练样本中确定的目标参考对象为对象a、对象b和对象c,根据对象a、对象b和对象c对应的损失,将定位模型的参数ω0和b0调整为ω1和b1,将对象a、对象b和对象c的信号强度值序列输入定位模型f(x)=ω1x+b1,获得对象a、对象b和对象c对应的预测位置分别为f(x
a
),f(x
b
)和f(x
c
),对象a、对象b和对象c的位置信息分别为y
a
,y
b
和y
c
,得到对象a对应的差值为|f(x
a
)-y
a
|,对象b对应的差值为|f(x
b
)-y
b
|,对象c对应的差值为|f(x
c
)-y
c
|。如果|f(x
a
)-y
a
|和|f(x
c
)-y
c
|不在可接受范围ε内,再次将对象a和对象c确定为目标参考对象,重复上述过程,直达对象a、对象b、对象c和对象d中每一参考对象对应的差值在可接受范围ε内。
[0079]
本技术实施例中,根据差值与可接受范围的关系,对定位模型进行训练,直到每一参考对象对应的差值在可接受范围内,如此,训练得到的定位模型更加准确。
[0080]
在一实施例中,在确定所述差值不在所述可接受范围内的目标参考对象对应的损失之前,所述根据所述差值与所述可接受范围的关系,对所述定位模型进行训练,还包括:根据松弛变量调整所述可接受范围,得到目标可接受范围;如果所述差值不在所述目标可接受范围内,确定所述差值对应的参考对象为所述目标参考对象。
[0081]
这里,在确定差值不在可接受范围内的目标参考对象对应的损失之前,还可以使用松弛变量对可接受范围进行调整,得到目标可接受范围。
[0082]
比如:松弛变量为ξ,可接受范围为[-ε,ε],使用松弛变量对可接受范围调整得到的目标可接受范围为[-ε-ξ,ε+ξ]。
[0083]
这里,计算参考对象对应的预测位置与的位置信息之间的差值,将差值不在目标可接受范围内的参考对象确定为目标参考对象。
[0084]
比如:至少一个参考对象包括:参考对象a、参考对象b和参考对象c;参考对象a对应的差值

a
在目标可接受范围[-ε-ξ,ε+ξ]内,参考对象b对应的差值

b
不在目标可接受范围[-ε-ξ,ε+ξ]内,参考对象c对应的差值

c
不在目标可接受范围[-ε-ξ,ε+ξ]内,则可以确定参考对象b和参考对象c为目标参考对象。
[0085]
在本技术实施例中,使用松弛变量调整可接受范围,进一步提高了定位模型的容错率;将差值不在目标可接受范围内的参考对象确定为目标参考对象,逐步进行迭代,对定位模型进行训练,提高了定位模型的精确度。
[0086]
在一实施例中,在获取包括至少一个参考对象的信号强度值序列的训练样本以及
所述参考对象的位置信息之后,所述方法还包括:对所述训练样本进行滤波处理,得到第二目标信号强度值序列。
[0087]
这里,服务器接收到训练样本和训练样本中至少一个参考对象的位置信息之后,可以对接收到的训练样本进行滤波处理,得到第二目标信号强度值序列。
[0088]
对接收到的训练样本进行滤波处理时,可以使用高斯滤波器或卡尔曼滤波器对训练样本中至少一个参考对象的信号强度值序列中的信号强度值分别进行高斯滤波或卡尔曼滤波。其中,高斯滤波用于降低参考对象的信号强度值偏差比较大的信号,卡尔曼滤波用于对参考对象的信号强度值进行平滑滤波。
[0089]
这里,在对参考对象的信号强度值序列进行滤波处理,得到第二目标信号强度值序列之后,将第二目标信号强度值序列作为输入值,输入到定位模型中,对定位模型进行训练。
[0090]
在本技术实施例中,对参考对象的信号强度值序列进行滤波处理,使得参考对象的信号强度值序列中的不精确的信号强度值被过滤掉,提高了第二目标信号强度值序列的准确度,使得根据第二目标信号强度值序列训练的定位模型的参数更加精确。
[0091]
在一实施例中,在接收待定位对象的信号强度值序列之后,所述方法还包括:确定所述待定位对象的信号强度值;如果所述信号强度值小于指定的阈值,提示第一信息;所述第一信息用于提示所述待定位对象离开所述rfid天线的检测范围。
[0092]
其中,指定的阈值可以是提前设置好的。
[0093]
这里,服务器接收到待定位对象的信号强度值序列之后,确定待定位对象的信号强度值,将确定的信号强度值与指定的阈值进行比较,当信号强度值小于指定的阈值时,可以认为该信号强度对应的待定位对象离开了rfid天线的检测范围,确定待定位对象离开了rfid天线的检测范围时,服务器提示第一信息,自动提示用户待定位对象离开rfid天线的检测范围。
[0094]
比如:服务器接收的待定位对象1的信号强度值序列为{x1},确定待定位对象1的信号强度值为x1,指定的阈值为t,当x1小于t时,服务器提示待定位对象1离开rfid天线的检测范围。
[0095]
在本技术实施例中,确定待定位对象的信号强度值与指定的阈值的比较结果,当信号强度值小于指定的阈值时,提示待定位对象离开了rfid天线的检测范围,从而实现自动提示用户待定位对象离开rfid天线的检测范围。
[0096]
下面,以快递定位的场景为例对本技术实施例提供的定位方法进行进一步说明。
[0097]
快递查找是对特定快递的地理位置的信息查找,当快递聚集在一起的时候,需要依次根据纸质标签的内容进行快递查找与分类,同时需要根据纸质标签上的内容是否匹配进行取件。相关技术中,在进行快递查找时,一般使用室内定位技术。
[0098]
相关技术中,定位方法一般包括:1)测距的定位算法:测距的定位算法主要是通过从定位系统中获取定位目标的电信号,再将电信号转化为距离、角度等一系列物理量,然后分析这些物理量相对于定位系统中其他设备的位置来实现定位;2)非测距的定位算法:非测距的定位算法主要就是通过构建定位环境中的场景,然后对比定位目标在这些场景中的相似性来实现定位。利用构建定位环境中的场景来进行室内定位的技术也越来越多,其中最有代表性的就是蓝牙、超宽波、wifi等。
[0099]
目前,室内定位采用的landmarc算法的思路是同时读取定位场景中所有待测rfid标签和参考rfid标签的信号强度值,计算所涉及的rfid通信系统的欧氏距离,找到和待测rfid标签之间欧氏距离最近的参考rfid标签。landmarc算法需要在定位场景中预先放置大量的参考rfid标签来帮助定位,所以参考rfid标签摆放的拓扑结构和最邻近的参考rfid标签的个数都是决定定位精度的重要因素。其中,rfid技术是一种无线信息交互技术,rfid标签与识别系统之间通过射频信号进行通信,rfid技术可以做到目标的识别和相关信息的交互。目前采用的射频识别技术按照工作频段来划分有低频、高频和超高频等。
[0100]
但是,利用纸质标签进行快递查找与拣货,查找效率低,且纸质标签容易损坏,不能够重复使用,容易造成资源浪费与环境污染;全球定位系统(global positioning system,gps)、基站等定位方式很难能够满足在复杂的室内环境下进行精确定位的需求,超声波、红外、wifi、蓝牙、zigbee由于其定位系统成本高昂、定位环境局限性大、融合其他系统比较困难等原因并没有大规模应用;使用landmarc算法对rfid标签进行室内定位时候,当rfid标签较多,聚集在一起,利用rfid天线对rfid标签的信号进行读取时候,由于室内存在干扰,一部分数据存在很大偏差,出现异常数据。
[0101]
本技术实施例提供的定位方法主要利用支持向量机回归(support vactor regression,svr)分类算法与landmarc算法进行结合,能够提高室内定位的准确率与室内定位的精度,减少快递的分类与查找时间,提高工作效率,节约成本。解决纸质快递标签浪费且不可重复利用的问题。当取件人员带快递离开rfid室内定位范围后,自动提示快递离开,方便快捷。
[0102]
本技术实施例的快递定位方法通过预先在快递站环境中部署无源rfid标签作为参考rfid标签,按一定的比例布置rfid天线及rfid阅读器,一个rfid天线对应一个rfid阅读器,设定参考rfid标签的坐标值。调整rfid天线的角度,实现对快递站环境的全部覆盖。通过rfid天线读取定位场景中的参考rfid标签的接收信号强度(received signal strength indicator,rssi)值,并利用该rssi值对svr-landmarc定位算法进行训练,得到svr-landmarc定位算法的参数值。通过读取带有rfid标签的快递的rssi值,并基于svr-landmarc定位算法,就可以得出快递的实际位置,并将定位结果存放到云端数据库。
[0103]
本技术实施例是基于landmarc算法提出的一种改进的定位算法。svr-landmarc定位算法应用于室内环境下需要进行绝对定位的场景,例如仓储环境下对物品的定位等。由于rfid标签信号在室内环境中传播会受到多径干扰、散射、折射以及rfid标签信号之间的相互碰撞的现象随时会发生,因此,rssi值会存在不同程度的失真,可以采用高斯滤波器降低采集到的信号强度值偏差比较大的数据对定位精度的影响;同时当实际定位中rssi值波动比较大,可以采用卡尔曼滤波器进行平滑。
[0104]
支持向量机的样本点是有多个类的,支持向量机的作用是寻找一个平面或者超平面将这些点按照不同的类别尽可能的区分开来,而支持向量回归svr的样本点属于同一个类,支持向量回归svr的目标是找到一个平面或者超平面,让集合中的所有数据到这个平面的偏差最小。
[0105]
假设rfid阅读器在某个时段读取得到参考rfid标签的rssi值,选取该时间段内的参考rfid标签的值作为训练样本{(x1,y1),(x2,y2),

,(xm,ym)},其中x
i
为从不同阅读器读取到同一个参考rfid标签的rssi值所组成的向量,y
i
为某个参考rfid标签的二维坐标中
的一个值,比如:二维坐标的x或y两个值。获得模型如公式(1)所示:
[0106]
f(x)=ω
t
x+b
ꢀꢀ
公式(1);
[0107]
其中,ω和b是待定的模型参数,x为公式(1)的输入参数,表征参考rfid标签的rssi值,f(x)为公式(1)的输出参数,表征参考rfid标签的二维坐标。
[0108]
支持向量回归并不是一种非常严格的回归模型,如果某个样本没有刚好落在模型的函数上,也不一定会被计算损失。对于训练样本数据(x,y),支持向量机svr会有一个值ε来衡量预测值和实际值之间的差距,当实际值和预测值之间的差距在这个ε范围之内,不会认为是偏差。只有预测值f(x)和实际值y的差值超过了或者正好等于这个可忍受范围ε,才会计算损失。这样就相当于以f(x)为基准,形成了一个宽度为2ε范围的间隔带,如果训练样本数据恰好位于这个区间当中,那么这个数据被视为是正确的预测。支持向量回归的思想是希望样本点都尽可能的包含在这条间隔带中,于是,支持向量回归问题可以转化为公式(2):
[0109][0110]
其中,c为正则化的常数,l
ε
为不敏感损失函数,不敏感损失函数的定义如公式(3)所示:
[0111][0112]
其中,f(x)为预测的参考rfid标签的二维坐标,y为参考rfid标签的实际二维坐标。
[0113]
由于支持向量回归中存在svm中类似的柔性边界的考虑,因此,可以引入松弛变量ξ
i
和其中,松弛变量ξ
i
和为常数,ξ
i
和的取值可以相同,也可以不同,将公式(2)写成一个凸优化问题,如公式(4)所示:
[0114][0115]
其中,c为正则化的常数,ξ
i
和为松弛变量,ω和b是待定的模型参数。
[0116]
约束条件如公式(5)所示:
[0117][0118]
其中,ξ
i
和为松弛变量,f(x
i
)为预测的参考rfid标签的二维坐标,y
i
为参考rfid标签的实际二维坐标。
[0119]
在公式(5)中如果样本没有正确的划分时,那么两个松弛变量ξ
i
和都会大于零,在误差不存在时,松弛变量的值为零。这时,这个凸优化问题可以转化为求目标函数最小值的公式(4)。
[0120]
在公式(4)中,前面一项的作用是使拟合函数减少波动趋于平坦,以此来提高模型的泛化能力,使得预测待测标签坐标的能力加强;后一项的作用是为了减小误差;当误差大于可忍受范围ε时,c是表征对误差大于可忍受范围的样本的惩罚程度。常数c越大可以得出预测值与实际值之差大于ε的样本的惩罚度越大,反之亦然。
[0121]
参数c的选择影响着系统的泛化能力,而ε的取值越小,函数回归精度越高,支持向量的个数越多;ε取值越大,支持向量的个数越少,回归精确度也降低。
[0122]
引入lagrange函数求解公式(4)和公式(5)的凸优化问题得到公式(6):
[0123][0124]
其中,α
i
、γ
i
和为拉格朗日参数,f(x
i
)为预测的参考rfid标签的二维坐标,y
i
为参考rfid标签的实际二维坐标。
[0125]
对ω、ξ
i
和这些变量求偏导,令其为零得到公式(7):
[0126][0127]
其中,α
i
、γ
i
和为拉格朗日参数,c为正则化的常数。
[0128]
将公式(7)带入lagrange函数得到支持向量回归的对偶形式公式(8):
[0129][0130]
其中,α
i
和为拉格朗日参数,ε为可忍受范围。
[0131]
其约束条件为公式(9):
[0132][0133]
其中,α
i
和为拉格朗日参数,c为正则化的常数。
[0134]
由ktt条件中的互补松弛条件可以得到公式(10):
[0135][0136]
其中,α
i
、γ
i
和为拉格朗日参数,ε为可忍受范围。
[0137]
又由于在2ε范围内的数据一定满足并且|y-f(x)|-ε≤0,并且ε=0,可以得到并且(ξ
i
+ε-y
i-f(x
i
)-b)≠0,由互补松弛条件得出表明α
i
和不能同时为零,还可以得出公式(11):
[0138][0139]
其中,α
i
和为拉格朗日参数,ξ
i
和为松弛变量。
[0140]
由上述方程可得,如果想要α
i
和可以为非零的值,那么样本点不在宽度为2ε的间隔带中。如果c=α
i
,或者时,|f(x
i
)-y
i
|可能大于ε,此时的x
i
被称为边界支持向量,即为图3中边界外的数据点31;如果|f(x
i
)-y
i
|=ε,即ξ
i
=0,此时的x
i
就是支持向量,即为图3中落在ε带上的数据点32;当α
i
=0且时,此时的x
i
为非支持向量,也就是图3中ε带内的数据点33,他们并不影响ω值的确定。这里,图3中的线34表征定位模型的函数表达式f(x)=ω.x+b;线35表征f(x)-ε,线36表征f(x)+ε。
[0141]
当增大ε的取值时,能找到的支持向量就会减少。当则ε=0,可以求出b,可用公式(12)表示:
[0142][0143]
其中,α
i
和为拉格朗日参数,ε为可忍受范围。
[0144]
因此,根据样本点(x
i
,y
i
)求得的线性拟合函数为公式(13):
[0145][0146]
其中,α
i
和为拉格朗日参数,x为待定位rfid标签的rssi值,x
i
为参考rfid标签的rssi值,f(x
i
)为位置信息。
[0147]
通过对参考标签的训练,得到定位模型的参数α
i
、和b,从而获得定位环境下比较合理的定位模型。在对待定位rfid标签进行预测时,将待定位rfid标签的rssi值作为x输入定位模型,得到待定位rfid标签的位置信息。
[0148]
下面,对快递定位的流程进行详细说明,如图4所示,其中步骤s401至步骤s407属
于第一部分,步骤s408属于第二部分。
[0149]
第一部分为快递定位信息采集部分。
[0150]
该部分由一台计算机连接rfid阅读器,通过rfid阅读器和rfid天线不断的读取场景当中的无源rfid标签的信号值,在该计算机中存储读取到的场景当中的rfid标签的rssi值,将这些数据连同读到的时间存入本地数据库,然后该计算机上运行的定位算法从数据库中读取这些数据,通过模型训练与定位算法来进行快递位置的定位,然后将定位结果存放到云端数据库。
[0151]
步骤s401:通过rfid天线获得rfid标签的信号强度值;
[0152]
步骤s402:将信号强度值存入本地数据库;
[0153]
步骤s403:从本地数据库读取rfid标签的信号强度值;
[0154]
步骤s404:判断读取时间是否超时,如果超时,执行步骤s405,如果不超时,执行步骤s406;
[0155]
步骤s405,删除读取的rfid标签的信号强度值;
[0156]
步骤s406:使用定位模型计算rfid标签的位置信息;
[0157]
步骤s407:将rfid标签的位置信息存储在云端数据库。
[0158]
第二部分为定位结果展示部分。
[0159]
定位结果被存放到云端数据库中,通过查询快递标签的产品电子代码(electronic product code,epc)或扫描阅读rfid标签来查询该快递位置数据并且通过图形化界面进行直观的展示。
[0160]
步骤s408:从云端数据库读取rfid标签的位置信息。
[0161]
当顾客完成取件后,离开rfid信号的室内定位范围,快递会实现自动签收,提示快递已离开。管理员还可以对rfid标签进行回收,对rfid标签中epc编码所关联的数据进行擦除,进行二次再利用,节约运营成本。
[0162]
通过本技术实施例提供的定位方法,能够达到如下技术效果:
[0163]
1)利用rfid技术与svr技术的结合,加快快递拣货与查询的效率,节约查找时间;
[0164]
2)提出了基于svr-landmarc的改进方案,通过使用高斯滤波器降低偏差大的信号强度值,通过卡尔曼滤波器对变化较大的值进行平滑,使得用来定位的信号强度值更加稳定,由于landmarc定位算法计算量大,k值的选取对定位精度影响较大,采用支持向量回归算法对landmarc算法进行改进来提高定位精度,提高对室内快递的定位精度;
[0165]
3)利用rfid标签代替传统的纸质快递标签,rfid标签可重复利用,取件后,rfid标签信息可以擦除,节约打印纸张的成本,保护生态环境;
[0166]
4)利用基于svr-landmarc算法的快递定位技术,实现快递的自动签收。
[0167]
基于前述的实施例,本技术实施例提供一种定位装置,该装置包括所包括的各模块、以及各模块所包括的各单元,可以通过计算机设备中的处理器来实现;当然也可通过具体的逻辑电路实现;在实施的过程中,处理器可以为中央处理器(cpu)、微处理器(mpu)、数字信号处理器(dsp)或现场可编程门阵列(fpga)等。
[0168]
图5为本技术实施例的一种定位装置的组成结构示意图,如图5所示,所述装置50包括:第一接收模块501和第一确定模块502;其中,
[0169]
第一接收模块501,用于接收待定位对象的信号强度值序列,所述待定位对象的信
号强度值序列包括所述待定位对象从至少一个射频识别天线接收到的信号强度值;
[0170]
第一确定模块502,用于将所述待定位对象的信号强度值序列输入定位模型,得到所述定位模型输出的所述待定位对象的位置信息;其中,所述定位模型对应训练样本输出的预测值与所述训练样本的位置信息之间的差值在可接受范围内。
[0171]
在一实施例中,装置50还包括:第一滤波模块,用于对所述信号强度值序列进行滤波处理,得到第一目标信号强度值序列;
[0172]
对应地,第一确定模块502,还用于将所述第一目标信号强度值序列输入定位模型。
[0173]
在一实施例中,装置50还包括:第二接收模块、第二确定模块、第三确定模块和训练模块;其中,
[0174]
所述第二接收模块,用于获取包括至少一个参考对象的信号强度值序列的训练样本以及所述参考对象的位置信息;所述参考对象的信号强度值序列包括所述参考对象从所述至少一个射频识别天线接收到的信号强度值;
[0175]
所述第二确定模块,用于将所述参考对象的信号强度值序列输入定位模型,得到所述参考对象对应的预测位置;
[0176]
所述第三确定模块,用于确定所述预测位置与所述参考对象的位置信息之间的差值;
[0177]
所述训练模块,用于根据所述差值与所述可接受范围的关系,对所述定位模型的参数进行更新。
[0178]
在一实施例中,所述训练模块包括:第一确定单元和第二确定单元;其中,
[0179]
所述第一确定单元,用于确定所述差值不在所述可接受范围内的目标参考对象对应的损失,并根据所述损失对所述定位模型的参数进行调整;
[0180]
所述第二确定单元,用于将所述目标参考对象的信号强度值序列输入参数调整后的定位模型,得到新的差值,直到每一所述参考对象对应的差值在所述可接受范围内。
[0181]
在一实施例中,所述训练模块还包括:第三确定单元和第四确定单元;其中,
[0182]
所述第三确定单元,用于根据松弛变量调整所述可接受范围,得到目标可接受范围;
[0183]
所述第四确定单元,用于如果所述差值不在所述目标可接受范围内,确定所述差值对应的参考对象为所述目标参考对象。
[0184]
在一实施例中,装置50还包括:第二滤波模块,用于对所述训练样本进行滤波处理,得到第二目标信号强度值序列;
[0185]
对应地,所述第二确定模块,用于将所述第二目标信号强度值序列输入定位模型。
[0186]
在一实施例中,装置50还包括:第四确定模块和提示模块;其中,
[0187]
所述第四确定模块,用于确定所述待定位对象的信号强度值;
[0188]
所述提示模块,用于如果所述信号强度值小于指定的阈值,提示第一信息;所述第一信息用于提示所述待定位对象离开所述射频识别天线的检测范围。
[0189]
以上装置实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术装置实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0190]
需要说明的是,本技术实施例中,如果以软件功能模块的形式实现上述的定位方法,并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本技术实施例不限制于任何特定的硬件和软件结合。
[0191]
对应地,本技术实施例提供一种设备,也就是计算机设备,包括存储器和处理器,所述存储器存储有可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述实施例中提供的定位方法中的步骤。
[0192]
对应地,本技术实施例提供一种存储介质,也就是计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述实施例中提供的定位方法中的步骤。
[0193]
这里需要指出的是:以上存储介质和设备实施例的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果。对于本技术存储介质和设备实施例中未披露的技术细节,请参照本技术方法实施例的描述而理解。
[0194]
需要说明的是,图6为本技术实施例计算机设备的一种硬件实体示意图,如图6所示,所述计算机设备600包括:一个处理器601、至少一个通信总线602、至少一个外部通信接口604和存储器605。其中,通信总线602配置为实现这些组件之间的连接通信。其中,计算机设备还可包括:用户接口603,用户接口603可以包括显示屏,外部通信接口604可以包括标准的有线接口和无线接口。
[0195]
存储器605配置为存储由处理器601可执行的指令和应用,还可以缓存待处理器601以及计算机设备中各模块待处理或已经处理的数据(例如,图像数据、音频数据、语音通信数据和视频通信数据),可以通过闪存(flash)或随机访问存储器(random access memory,ram)实现。
[0196]
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本技术的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。应理解,在本技术的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。上述本技术实施例序号仅仅为了描述,不代表实施例的优劣。
[0197]
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
[0198]
在本技术所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其
它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的切分,仅仅为一种逻辑功能切分,实际实现时可以有另外的切分方式,如:多个单元或组件可以结合,或可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
[0199]
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元;既可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
[0200]
另外,在本技术各实施例中的各功能单元可以全部集成在一个处理单元中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
[0201]
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(read only memory,rom)、磁碟或者光盘等各种可以存储程序代码的介质。
[0202]
或者,本技术上述集成的单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对相关技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本技术各个实施例所述方法的全部或部分。而前述的存储介质包括:移动存储设备、rom、磁碟或者光盘等各种可以存储程序代码的介质。
[0203]
以上所述,仅为本技术的实施方式,但本技术的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本技术揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本技术的保护范围之内。因此,本技术的保护范围应以所述权利要求的保护范围为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1