一种定位方法和终端设备与流程

文档序号:33504786发布日期:2023-03-17 23:35阅读:47来源:国知局
一种定位方法和终端设备与流程

1.本技术属于定位技术领域,尤其涉及一种定位方法和终端设备。


背景技术:

2.现有的室内定位技术主要有无线保真(wireless fidelity,wi-fi)、紫蜂(zigbee)、蓝牙、射频识别(radio frequency identification,rfid)、超宽带、伪卫星、地磁、惯性测量单元(inertial measurement unit,imu)、超声波、计算机视觉等。其中,wi-fi、zigbee、蓝牙、rfid、超宽带和伪卫星,需要重新设计、安装无线访问接入点(wireless access point,ap)基站,成本高,维护难度大,并且当环境改变时,需要对数据库重新进行校准。地磁容易受到外界强磁环境的影响。imu存在累计误差,需要有基站对imu数据进行校准,消除累计误差。超声波在复杂的室内环境下,会受到非视距传播和多径效应的严重干扰,定位不准确且成本高。计算机视觉需要布置图像/视频采集设备,涉及个人隐私,同时成本高,功耗大。


技术实现要素:

3.有鉴于此,本技术实施例提供了一种定位方法、装置、终端设备及存储介质,以解决现有的室内定位技术存在的容易受到环境干扰、定位不准确和成本高等问题。
4.本技术实施例的第一方面提供一种定位方法,应用于服务器,所述方法包括:
5.接收第一客户端发送的第一定位请求,所述第一定位请求携带有待定位点处的光谱信息,所述光谱信息包括波长、频率和光强度;
6.根据所述待定位点处的光谱信息,从数据库中确定灯具并获取所述灯具对应的多个参考点处的指纹数据,所述指纹数据包括光强度;
7.根据所述待定位点处的指纹数据和所述灯具对应的多个参考点处的指纹数据,确定与所述待定位点之间的距离相似度最大的目标参考点;
8.从所述数据库中获取所述目标参考点的位置信息,作为所述待定位点的位置信息;
9.将所述待定位点的位置信息发送至所述第一客户端。
10.本技术实施例的第二方面提供一种定位方法,应用于第一客户端,所述方法包括:
11.获取待定位点处的光谱信息;
12.发送第一定位请求至服务器,所述第一定位请求携带有所述待定位点处的光谱信息;
13.接收所述服务器发送的所述待定位点的位置信息;
14.其中,所述服务器用于执行本技术实施例的第一方面提供的定位方法的步骤。
15.本技术实施例的第三方面提供一种定位装置,应用于服务器,所述装置包括:
16.第一接收单元,用于接收第一客户端发送的第一定位请求,所述第一定位请求携带有待定位点处的光谱信息,所述光谱信息包括波长、频率和光强度;
17.指纹获取单元,用于根据所述待定位点处的光谱信息,从数据库中确定灯具并获取所述灯具对应的多个参考点处的指纹数据,所述指纹数据包括光强度;
18.第一计算单元,用于根据所述待定位点处的指纹数据和所述灯具对应的多个参考点处的指纹数据,确定与所述待定位点之间的距离相似度最大的目标参考点;
19.第一定位单元,用于从所述数据库中获取所述目标参考点的位置信息,作为所述待定位点的位置信息;
20.第一发送单元,用于将所述待定位点的位置信息发送至所述第一客户端。
21.本技术实施例的第四方面提供一种定位装置,应用于第一客户端,所述装置包括:
22.光谱获取单元,用于获取待定位点处的光谱信息;
23.第二发送单元,用于发送第一定位请求至服务器,所述第一定位请求携带有所述待定位点处的光谱信息;
24.第二接收单元,用于接收所述服务器发送的所述待定位点的位置信息;
25.其中,所述服务器包括本技术实施例的第三方面提供的定位装置。
26.本技术实施例的第五方面提供了一种终端设备,包括通信模块、存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述终端设备为服务器时,所述处理器执行所述计算机程序时实现本技术实施例的第一方面提供的定位方法的步骤;
27.所述终端设备为第一客户端时,所述处理器执行所述计算机程序时实现本技术实施例的第二方面提供的定位方法的步骤。
28.本技术实施例的第六方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现本技术实施例第一方面或第二方面提供的定位方法的步骤。
29.本技术实施例的第一方面提供一种应用于服务器的定位方法,通过接收第一客户端发送的携带有待定位点处的光谱信息的第一定位请求,根据待定位点处的光谱信息,从数据库中确定灯具并获取灯具对应的多个参考点处的指纹数据,根据待定位点处的指纹数据和灯具对应的多个参考点处的指纹数据,确定与待定位点之间的距离相似度最大的目标参考点,从数据库中获取目标参考点的位置信息,作为待定位点的位置信息并发送至第一客户端,使得服务器可以通过接收第一客户端采集的灯具的光谱信息,并与数据库中预存的参考点的指纹数据进行计算,来实现室内定位,不易受环境干扰、定位精度高且成本低。
30.本技术实施例的第二方面提供一种应用于第一客户端的定位方法,通过获取待定位点处的光谱信息,发送携带有待定位点处的光谱信息的第一定位请求至服务器,服务器根据待定位点处的光谱信息,从数据库中确定灯具并获取灯具对应的多个参考点处的指纹数据,根据待定位点处的指纹数据和灯具对应的多个参考点处的指纹数据,确定与待定位点之间的距离相似度最大的目标参考点,从数据库中获取目标参考点的位置信息,作为待定位点的位置信息并发送至第一客户端,使得第一客户端可以通过采集室内灯具的光谱信息,并发送至服务器与数据库中预存的参考点的指纹数据进行计算,来实现室内定位,不易受环境干扰、定位精度高且成本低。
31.可以理解的是,上述第三方面的有益效果可以参见上述第一方面中的相关描述,上述第四方面的有益效果可以参见上述第二方面中的相关描述,上述第五方面和第六方面
的有益效果可以参见上述第一方面或第二方面中的相关描述,在此不再赘述。
附图说明
32.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
33.图1是本技术实施例提供的应用于服务器的定位方法的第一种流程示意图;
34.图2是本技术实施例提供的应用于服务器的定位方法的第二种流程示意图;
35.图3是本技术实施例提供的应用于服务器的定位方法的第三种流程示意图;
36.图4是本技术实施例提供的应用于服务器的定位方法的第四种流程示意图;
37.图5是本技术实施例提供的应用于服务器的定位方法的第五种流程示意图;
38.图6是本技术实施例提供的应用于服务器的定位方法的第六种流程示意图;
39.图7是本技术实施例提供的应用于第一客户端的定位方法的第一种流程示意图;
40.图8是本技术实施例提供的应用于第一客户端的定位方法的第二种流程示意图;
41.图9是本技术实施例提供的应用于服务器的定位装置的结构示意图;
42.图10是本技术实施例提供的应用于第一客户端的定位装置的结构示意图;
43.图11是本技术实施例提供的终端设备的结构示意图。
具体实施方式
44.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
45.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
46.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
47.如在本技术说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
[0048]
另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
[0049]
在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是
所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。“多个”是指“两个”或“两个以上”。
[0050]
本技术实施例提供一种应用于服务器的定位方法,通过接收第一客户端采集的灯具的光谱信息,并与数据库中预存的参考点的指纹数据进行计算,来实现室内定位,不易受环境干扰、定位精度高且成本低。
[0051]
在应用中,服务器可以是云服务器。第一客户端可以是任意具有摄像头、能够通过扫描灯具发射的光信号来采集对应的光谱信息的移动终端,例如,手机、平板电脑、可穿戴设备、车载设备、增强现实(augmented reality,ar)/虚拟现实(virtual reality,vr)设备、笔记本电脑、超级移动个人计算机(ultra-mobile personal computer,umpc)、上网本、个人数字助理(personal digital assistant,pda)等。灯具可以是led灯、无极感应灯、微波硫灯、白炽灯、玻璃反射灯、卤素灯、荧光灯、钠灯、汞灯、金属卤化物灯、霓虹灯、激光灯等。本技术实施例对第一客户端和灯具的具体类型不作任何限制。
[0052]
如图1所示,本技术实施例提供的应用于服务器的定位方法,包括如下步骤s101至s105:
[0053]
步骤s101、接收第一客户端发送的第一定位请求,第一定位请求携带有待定位点处的光谱信息,光谱信息包括波长、频率和光强度。
[0054]
在应用中,开启服务器的定位功能之后,服务器检测是否接收到定位请求,在接收到第一客户端发送的定位请求时,若该定位请求中仅携带有待定位点处的光谱信息,则确定接收到第一定位请求。
[0055]
在应用中,用户可以通过第一客户端的人机交互器件触发第一客户端在待定位点处打开摄像头,采集灯具发射至待定位点处的光信号的光谱信息。由于不同色温的光信号在同一波长下的光强度不同,相同色温的光信号的发光频率也可以设置为不同,因此,通过将不同灯具的光谱信息设置为不同,即可根据采集到的光谱信息中的波长、频率、光强度唯一确定每种光谱信息,从而可以根据采集到的每种光谱信息,唯一确定具有每种光谱信息的灯具。
[0056]
在应用中,不同灯具的色温可以设置为不同,每个灯具的色温为24k~10000k中的一种;不同灯具的色温也可以设置为相同,此时通过将不同灯具发射光信号的频率设置为不同,即可根据光谱信息区分不同的灯具,频率具体是指闪烁频率。
[0057]
步骤s102、根据待定位点处的光谱信息,从数据库中确定灯具并获取灯具对应的多个参考点处的指纹数据,指纹数据包括光强度。
[0058]
在应用中,数据库中预先存储有待定位点所在的空间中所有灯具的光谱信息和每个灯具对应的多个参考点处的指纹数据,每个参考点处的指纹数据包括在参考点处采集到的光谱信息中的光强度,每个参考点处的指纹数据所包括的光强度的数量与在该参考点处可接收到的来自不同灯具的光信号的数量相等,例如,在某个参考点处可接收到来自m个不同灯具的光信号,则该参考点处的指纹数据所包括的光强度的数量为m。
[0059]
在应用中,服务器接收到第一客户端发送的光谱信息之后,在数据库中查找与第一客户端发送的光谱信息相匹配的灯具,确定具有该光谱信息的唯一灯具。在确定灯具之后,进一步地在数据库中查找灯具对应的多个参考点处的指纹数据。若第一客户端在待定
位点处采集到多个不同灯具的光谱信息,则服务器可以按照上述方法确定多个不同灯具,并在数据库中查找每个灯具对应的多个参考点的指纹数据。
[0060]
在一个实施例中,第一定位请求还携带有初始位置的位置信息;
[0061]
步骤s102,包括:
[0062]
根据初始位置的位置信息和待定位点处的光谱信息,从数据库中确定灯具。
[0063]
在应用中,初始位置是指通过第一客户端的定位模块获取的粗略位置,通常情况下,粗略位置包括国家、城市、区县、街道、纬度、建筑物等,可以用来在大范围内粗略精确定位待定位点的位置。由于不同的灯具是按照不同光谱信息来区分,而不同光谱信息的总数量是有上限的,这就使得通过灯具的光谱信息来实现定位的场所数量也是有限的,如果两个不同的场所采用了相同的灯具,则无法根据光谱信息区分位置,通过获取初始位置,就可以根据初始位置来区分不同初始位置处的相同灯具,使得不同的场所可以采用相同的灯具,如此,使得本技术实施例所提供的定位方法可以不受不同光谱信息的总数量的限制,可以应用在任意安装有灯具的场所。
[0064]
在应用中,定位模块可以是全球导航卫星系统(global navigation satellite system,gnss)、全球卫星定位系统(global positioning system,gps)、北斗卫星导航系统(beidou navigation satellite system,bnss)、格洛纳斯(global navigation satellite system,glonass)、伽利略卫星导航系统(galileo satellite navigation system,galileo)等。
[0065]
步骤s103、根据待定位点处的指纹数据和灯具对应的多个参考点处的指纹数据,确定与待定位点之间的距离相似度最大的目标参考点。
[0066]
在应用中,距离相似度可以是欧氏距离(euclidean distance)、曼哈顿距离(manhattan distance)、余弦相似度(cosine similarity)等;其中,欧式距离和曼哈顿距离越小,则距离相似度越大;余弦相似度越大,则距离相似度越大。分别获取待定位点处的指纹数据和灯具对应的每个参考点处的指纹数据之间的距离相似度,然后从中筛选出与待定位点之间的距离相似度最大的参考点,作为目标参考点。
[0067]
在一个实施例中,距离相似度为欧式距离,待定位点与灯具对应的每个参考点之间的欧式距离的计算公式如下:
[0068][0069]
其中,di表示待定位点与灯具对应的第i个参考点处的指纹数据的欧式距离,m表示待定位点处的指纹数据中的光强度的总数量,m为正整数,mi表示灯具对应的第i个参考点处的指纹数据中的光强度的总数量,mi为正整数,r
j0
表示待定位点处的指纹数据中的第j个光强度,ρ
i,j
表示灯具对应的第i个参考点处的指纹数据中的第j个光强度,n表示灯具对应的多个参考点的总数量,n为正整数。
[0070]
在应用中,通过上述欧式距离的计算公式计算得到待定位点与灯具对应的n个参考点之间的欧式距离,分别表示为d1、d2、

、dn,然后比较这n个距离相似度之间的大小,从中筛选出最小欧式距离,即可将与该最小欧式距离对应的参考点作为目标参考点。
[0071]
在应用中,在待定位点处和目标灯具对应的每个参考点处获取到的指纹数据中光强度的数量可能相同、也可能不同,目标灯具是指根据待定位点处的光谱信息从数据库中确定的灯具,例如,若待定位点或某一参考点处于目标灯具的光信号覆盖范围的边缘区域,则待定位点和该参考点也可能处于其他灯具的光信号覆盖范围内,从而使得在待定位点处和该参考点处获取到的指纹数据中既包括目标灯具的光强度,也包括其他灯具的光强度;若待定位点或某一参考点处于目标灯具的光信号覆盖范围的中心区域,则在待定位点处和该参考点处获取到的指纹数据中可能仅包括目标灯具的光强度。
[0072]
步骤s104、从数据库中获取目标参考点的位置信息,作为待定位点的位置信息。
[0073]
在应用中,若一参考点与待定位点之间的距离相似度最大,则说明待定位点距离该参考点最近,可以将该参考点的位置作为待定位点的位置。参考点的位置信息可以包括但不限于参考点在其所处空间中的三维坐标等信息,还可以包括所处空间的名称、地理位置、纬度等。例如,位置信息可以包括国家、城市、区县、街道、纬度、建筑物、房间名称、三维坐标、方位等。
[0074]
步骤s105、将待定位点的位置信息发送至第一客户端。
[0075]
在应用中,在获取到待定位点的位置信息之后,将其发送至第一客户端,以使得第一客户端的用户知晓当前所处的位置。
[0076]
在应用中,待定位点可以处于室内,也可以处于室外(例如,安装有照明灯具的公路、露天场馆、街道等)。若待定位点处于室外,则本技术实施例所提供的定位方法,适用于无日光照射的场景(例如,日落之后的晚间场景),以避免自然光线对第一客户端采集的光谱信息造成干扰。
[0077]
如图2所示,在一个实施例中,步骤s104之后,可以包括如下步骤s201和s202:
[0078]
步骤s201、根据多个不同的待定位点的位置信息,生成第一客户端的运动轨迹;
[0079]
步骤s202、将运动轨迹发送至第一客户端。
[0080]
在应用中,用户在携带第一客户端运动的过程中,可以通过第一客户端的人机交互器件触发第一客户端持续打开摄像头,连续采集光谱信息,如此,可以获得第一客户端运动过程中的多个待定位点的位置信息,服务器可以基于这些位置信息生成第一客户端的运动轨迹并反馈给第一客户端。
[0081]
如图3所示,在一个实施例中,步骤s201之后,可以包括如下步骤s301和s302:
[0082]
步骤s301、对运动轨迹进行微分运算,获取第一客户端的运动速率和运动方向;
[0083]
步骤s302、将运动速率和运动方向发送至第一客户端。
[0084]
在应用中,由于运动轨迹是随运动时间变化的运动距离,因此,在生成运动轨迹之后,还可以基于运动轨迹进行微分运算,获得单位时间内的运动距离,即得到运动速率,而运动方向则是运动轨迹的末端位置点的切线方向。
[0085]
在应用中,基于上述运动轨迹、运动速率和运动方向,可以生成用户携带第一客户端运动时的轨迹地图和配速并记录,可以应用于跑步、健走等运动场景,以记录用户的运动情况,也可以应用于室内导航等需要进行小范围区域内的精确导航的导航场景。
[0086]
如图4所示,在一个实施例中,步骤s101之前,可以包括如下步骤s401至s404:
[0087]
s401、接收第二客户端发送的第二定位请求,第二定位请求携带有参考点处的光谱信息和参考点的位置信息;
[0088]
s402、根据参考点处的光谱信息,从数据库中确定灯具;
[0089]
s403、将参考点处的光谱信息和参考点的位置信息存储至数据库;
[0090]
s404、在数据库中建立参考点处的光谱信息和参考点的位置信息与灯具之间的对应关系。
[0091]
在应用中,在采用定位方法进行定位之前,需要事先将每个灯具发射的光信号所覆盖的区域划分为多个参考点区域,例如,将每个灯具发射的光信号所覆盖的三维空间区域划分为多个三维网格,每个三维网格即为一个参考点区域;也可以将每个灯具发射的光信号所覆盖的二维平面区域划分为多个二维网格,每个二维网格即为一个参考点区域;然后,获取每个参考点处的光谱信息和参考点的位置信息,根据每个参考点处的光谱信息确定其对应的灯具;最后,将每个参考点处的光谱信息和每个参考点的位置信息存储至数据库,并在数据库中建立每个参考点处的光谱信息和每个参考点的位置信息与灯具之间的对应关系。
[0092]
在应用中,用户可以通过第二客户端的人机交互器件触发第二客户端在每个参考点处打开摄像头,采集灯具发射至每个参考点处的光信号的光谱信息;服务器接收到第二客户端发送的每个参考点处的光谱信息之后,在数据库中查找与每个参考点处的光谱信息相匹配的灯具,确定具有每个参考点处的光谱信息的唯一灯具。若第二客户端在一个参考点处采集到多个不同灯具的光谱信息,则服务器可以按照上述方法确定与该参考点处的多个光谱信息一一对应的多个灯具,并在数据库建立参考点处的每个光谱信息和参考点的位置信息与每个灯具之间的对应关系。
[0093]
在应用中,每个参考点的位置信息都是已知的,用户可以通过第二客户端的人机交互器件触发第二客户端将每个参考点处位置信息编辑到第二定位请求中。
[0094]
在应用中,第二客户端和第一客户端可以为同一个设备,也即用户可以在采用第一客户端进行定位之前,采用第一客户端事先建立数据库中的对应关系,第二客户端和第一客户端也可以为相同类型的不同设备,其具体实现方式参见上述关于第一客户端的描述,此处不再赘述。
[0095]
如图5所示,在一个实施例中,步骤s101之前,还可以包括如下步骤s501至s506:
[0096]
步骤s501、接收标准光谱分析仪发送的第三定位请求,第三定位请求携带有参考点处的标准光谱信息,标准光谱信息包括标准波长、标准频率和标准光强度;
[0097]
步骤s502、根据参考点处的标准光谱信息,从数据库中确定灯具。
[0098]
在应用中,用户可以通过标准光谱分析仪的人机交互器件触发标准光谱分析仪在每个参考点处打开摄像头(或扫描头),采集灯具发射至每个参考点处的光信号的标准光谱信息;服务器接收到标准光谱分析仪发送的每个参考点处的标准光谱信息之后,在数据库中查找与每个参考点处的标准光谱信息相匹配的灯具,确定具有每个参考点处的标准光谱信息的唯一灯具。若标准光谱分析仪在一个参考点处采集到多个不同灯具的标准光谱信息,则服务器可以按照上述方法确定与该参考点处的多个标准光谱信息一一对应的多个灯具。
[0099]
步骤s503、获取参考点处的指纹数据和标准指纹数据之间的差值,标准指纹数据包括标准光强度;
[0100]
步骤s504、根据多个不同的参考点处的指纹数据和标准指纹数据之间的差值,获
取第二客户端和标准光谱分析仪之间的指纹误差值。
[0101]
在应用中,由于图4所对应的实施例已经通过第二客户端获取到每个参考点处的指纹数据,本实施例中又通过标准光谱分析仪获取到每个参考点处的标准指纹数据,因此,可以获得每个参考点处的指纹数据和标准指纹数据之间的差值,基于多个参考点处的指纹数据和标准指纹数据之间的差值,可以获取第二客户端和标准光谱分析仪之间的指纹误差值。由于具有不同型号摄像头的客户端,采集到的光谱信息可能会有偏差,因此,基于第二客户端和标准光谱分析仪之间的指纹误差值,可以对与第二客户端具有相同型号摄像头的第一客户端所采集的光谱信息进行校准,以提高定位准确度。
[0102]
在一个实施例中,指纹误差值的计算公式如下:
[0103][0104][0105]
其中,δ表示指纹误差值,n表示多个不同的参考点的总个数,n为正整数,yk表示多个不同的参考点中第k个参考点处的标准指纹数据,xk表示多个不同的参考点中第k个参考点处的指纹数据,ak表示与多个不同的参考点中第k个参考点对应的加权系数。
[0106]
在应用中,第二客户端和标准光谱分析仪之间的指纹误差值采用加权平均值方法计算得到。当参考点处的指纹数据和标准指纹数据之间的差值较大时,则舍弃该差值,也即令该参考点对应的加权系数为0;当参考点处的指纹数据和标准指纹数据之间的差值较小时,则保留该差值,也即令该参考点对应的加权系数为1。在本实施例中,参考点处的指纹数据和标准指纹数据之间的差值具体是指标准差。
[0107]
步骤s505、将指纹误差值存储至数据库;
[0108]
步骤s506、在数据库中建立第二客户端的摄像头型号和指纹误差值之间的对应关系。
[0109]
在应用中,服务器在获得第二客户端和标准光谱分析仪之间的指纹误差值之后,则将指纹误差值存储至数据库并建立第二客户端的摄像头型号和指纹误差值之间的对应关系。基于上述方法,可以获得多个不同的第二客户端的摄像头型号和指纹误差值之间的对应关系,多个不同的第二客户端分别具有不同型号的摄像头。
[0110]
如图6所示,在一个实施例中,步骤s103之前,还可以包括如下步骤s601至s602:
[0111]
步骤s601、从数据库中确定与第一客户端的摄像头型号相同的第二客户端,并获取第二客户端的摄像头型号对应的指纹误差值;
[0112]
步骤s602、根据指纹误差值对待定位点处的指纹数据进行补偿。
[0113]
在应用中,在图5所对应的实施例中事先建立第二客户端的摄像头型号和指纹误差值之间的对应关系之后,在通过第一客户端进行实际定位的过程中,即可从数据库中获取与第一客户端的摄像头型号对应的指纹误差值,然后基于该指纹误差值对第一客户端采集的指纹数据进行校准,使第一客户端采集的指纹数据与标准光谱分析仪在同一位置采集到的标准指纹数据相同。
[0114]
在一个实施例中,步骤s501之前,可以包括:
[0115]
同步第二客户端和标准光谱分析仪的时间,触发第二客户端和标准光谱分析仪同步采同一集参考点处的光谱信息。
[0116]
在应用中,用户可以分别通过第二客户端和标准光谱分析仪的人机交互器件,在同一时刻同步触发第二客户端和标准光谱分析仪采集同一集参考点处的光谱信息,避免二者在不同时间段采集的光谱信息由于受到的环境光线的干扰不同,而存在较大偏差,如此,可以提高最后获得的指纹误差值的准确度,从而提高第一客户端采集的指纹数据的校准精度,进而提高定位精度。
[0117]
本技术实施例还提供一种应用于第一客户端的定位方法,通过采集室内灯具的光谱信息,并发送至服务器与数据库中预存的参考点的指纹数据进行计算,来实现室内定位,不易受环境干扰、定位精度高且成本低。
[0118]
如图7所示,本技术实施例提供的应用于第一客户端的定位方法,包括如下步骤s701至s703:
[0119]
步骤s701、获取待定位点处的光谱信息;
[0120]
步骤s702、发送第一定位请求至服务器,第一定位请求携带有待定位点处的光谱信息;
[0121]
步骤s703、接收服务器发送的待定位点的位置信息;
[0122]
其中,服务器用于执行上述应用于服务器的定位方法实施例中的步骤。
[0123]
在一个实施例中,步骤s701之前,可以包括:
[0124]
获取初始位置的位置信息,第一定位请求还携带有初始位置的位置信息。
[0125]
如图8所示,在一个实施例中,步骤s701之前,可以包括如下步骤s801和s802:
[0126]
步骤s801、获取参考点处的光谱信息和参考点的位置信息;
[0127]
步骤s802、发送第二定位请求至服务器,第二定位请求携带有参考点处的光谱信息和参考点的位置信息。
[0128]
在应用中,应用于第一客户端的定位方法实施例中各步骤的具体实现方式,参见应用于服务器的定位方法实施例中的相关描述,此处不再赘述。
[0129]
应理解的是,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
[0130]
如图9所示,本技术实施例还提供一种应用于服务器的定位装置100,用于执行应用于服务器的定位方法实施例中的步骤。定位装置100可以是服务器中的虚拟装置(virtual appliance),由服务器的处理器运行,也可以是服务器本身。定位装置100,包括:
[0131]
第一接收单元101,用于接收第一客户端发送的第一定位请求,第一定位请求携带有待定位点处的光谱信息,光谱信息包括波长、频率和光强度;
[0132]
指纹获取单元102,用于根据待定位点处的光谱信息,从数据库中确定灯具并获取灯具对应的多个参考点处的指纹数据,指纹数据包括光强度;
[0133]
第一计算单元103,用于根据待定位点处的指纹数据和灯具对应的多个参考点处的指纹数据,确定与待定位点之间的距离相似度最大的目标参考点;
[0134]
第一定位单元104,用于从数据库中获取目标参考点的位置信息,作为待定位点的
位置信息;
[0135]
第一发送单元105,用于将待定位点的位置信息发送至第一客户端。
[0136]
在一个实施例中,定位装置100还包括轨迹生成单元,用于根据多个不同的待定位点的位置信息,生成第一客户端的运动轨迹;
[0137]
第一发送单元,还用于将运动轨迹发送至第一客户端。
[0138]
在一个实施例中,第一计算单元,还用于对运动轨迹进行微分运算,获取第一客户端的运动速率和运动方向;
[0139]
第一发送单元,还用于将运动速率和运动方向发送至第一客户端。
[0140]
在一个实施例中,第一接收单元,还用于接收第二客户端发送的第二定位请求,所述第二定位请求携带有参考点处的光谱信息和所述参考点的位置信息;
[0141]
指纹获取单元,还用于根据所述参考点处的光谱信息,从数据库中确定灯具;
[0142]
定位装置100,还包括:
[0143]
存储单元,用于将所述参考点处的光谱信息和所述参考点的位置信息存储至数据库;
[0144]
建立单元,用于在所述数据库中建立所述参考点处的光谱信息和所述参考点的位置信息与所述灯具之间的对应关系。
[0145]
在一个实施例中,第一接收单元,还用于接收标准光谱分析仪发送的第三定位请求,所述第三定位请求携带有参考点处的标准光谱信息,所述标准光谱信息包括标准波长、标准频率和标准光强度;
[0146]
指纹获取单元,还用于根据所述参考点处的标准光谱信息,从数据库中确定灯具;
[0147]
定位装置100,还包括:
[0148]
差值获取单元,用于获取所述参考点处的指纹数据和标准指纹数据之间的差值,所述标准指纹数据包括标准光强度;根据多个不同的参考点处的指纹数据和标准指纹数据之间的差值,获取所述第二客户端和所述标准光谱分析仪之间的指纹误差值;
[0149]
存储单元,用于将所述指纹误差值存储至所述数据库;
[0150]
建立单元,用于在所述数据库中建立所述第二客户端的摄像头型号和所述指纹误差值之间的对应关系;
[0151]
差值确定单元,用于从数据库中确定与所述第一客户端的摄像头型号相同的第二客户端,并获取所述第二客户端的摄像头型号对应的指纹误差值;
[0152]
校准单元,用于根据所述指纹误差值对所述待定位点处的指纹数据进行校准。
[0153]
在一个实施例中,定位装置100还包括时间同步单元,用于同步所述第二客户端和所述标准光谱分析仪的时间,触发所述第二客户端和所述标准光谱分析仪同步采同一集参考点处的光谱信息。
[0154]
在应用中,定位装置100中的各单元可以为软件程序单元,也可以通过处理器中集成的不同逻辑电路实现,还可以通过多个分布式处理器实现。例如,第一发送单元和第一接收单元可以通过通信模块实现,时间同步单元可以通过时钟发生器(例如,晶振)实现。
[0155]
如图10所示,本技术实施例还提供一种应用于第一客户端的定位装置200,用于执行应用于第一客户端的定位方法实施例中的步骤。定位装置200可以是第一客户端中的虚拟装置(virtual appliance),由第一客户端的处理器运行,也可以是第一客户端本身。定
位装置200,包括:
[0156]
光谱获取单元201,用于获取待定位点处的光谱信息;
[0157]
第二发送单元202,用于发送第一定位请求至服务器,所述第一定位请求携带有所述待定位点处的光谱信息;
[0158]
第二接收单元203,用于接收所述服务器发送的所述待定位点的位置信息。
[0159]
其中,所述服务器包括定位装置100。
[0160]
在一个实施例中,定位装置200还包括第二定位单元,用于获取初始位置的位置信息,所述第一定位请求还携带有所述初始位置的位置信息,所述服务器具体用于根据所述初始位置的位置信息和所述待定位点处的光谱信息,从数据库中确定灯具。
[0161]
在一个实施例中,光谱获取单元,还用于获取参考点处的光谱信息;
[0162]
定位装置200还包括第二定位单元,用于获取所述参考点的位置信息;
[0163]
第二发送单元,还用于发送第二定位请求至服务器,所述第二定位请求携带有所述参考点处的光谱信息和所述参考点的位置信息。
[0164]
在应用中,定位装置200中的各单元可以为软件程序单元,也可以通过处理器中集成的不同逻辑电路实现,还可以通过多个分布式处理器实现。例如,光谱获取单元可以通过摄像头实现,第二发送单元和第二接收单元可以通过通信模块实现。
[0165]
如图11所示,本技术实施例还提供一种终端设备300包括:通信模块301、至少一个处理器302(图11中仅示出一个处理器)、存储器303以及存储在存储器303中并可在至少一个处理器302上运行的计算机程序304;
[0166]
终端设备300为服务器时,处理器302执行计算机程序304时实现上述应用于服务器的定位方法实施例中的步骤;
[0167]
终端设备300为第一客户端时还包括摄像头,处理器302执行计算机程序304时实现上述应用于第一客户端的定位方法实施例中的步骤。
[0168]
在应用中,终端设备可包括,但不仅限于,通信模块、处理器、存储器。本领域技术人员可以理解,图11仅仅是终端设备的举例,并不构成对终端设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备、计时器等。输入输出设备可以包括前述人机交互器件,还可以包括显示屏,用于显示终端设备的工作参数。
[0169]
在应用中,处理器可以是中央处理单元(central processing unit,cpu),该处理器还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
[0170]
在应用中,存储器在一些实施例中可以是终端设备的内部存储单元,例如终端设备的硬盘或内存。存储器在另一些实施例中也可以是终端设备的外部存储设备,例如终端设备上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器还可以既包括终端设备的内部存储单元也包括外部存储设备。存储器用于存储操作系统、应用程序、引导装载程序
(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器还可以用于暂时地存储已经输出或者将要输出的数据。
[0171]
在应用中,人机交互器件可以包括实体按键、触控传感器、手势识别传感器和语音识别组件中的至少一种,使得用户可以通过对应的触控方式、手势操控方式或语音控制方式执行对应的操作,以输入对应的指令至被操作的用户终端。实体按键和触控传感器可以设置于设备的任意位置,例如,控制面板。对实体按键的触控方式具体可以是按压或拨动。对触控传感器的触控方式具体可以为按压或触摸等。手势识别传感器可以设置在用户终端的壳体的任意位置。用于控制各设备的手势可以由用户根据实际需要自定义设置或者采用出厂时的默认设置。语音识别模组可以包括麦克风和语音识别芯片,也可以仅包括麦克风并由各设备的处理器来实现语音识别功能。用于控制各设备的语音可以由用户根据实际需要自定义设置或者采用出厂时的默认设置。例如,用户可以按压用户终端上的实体按键或基于触控传感器实现的触控按钮,以触发设备打开摄像头并采集光谱信息或发送定位请求。用户终端可以是第一客户端、第二客户端或标准光谱分析仪。
[0172]
在应用中,显示屏可以为薄膜晶体管液晶显示屏(thin film transistor liquid crystal display,tft-lcd)、液晶显示屏(liquid crystal display,lcd)、有机电激光显示屏(organic electroluminesence display,oled)、量子点发光二极管(quantum dot light emitting diodes,qled)显示屏,七段或八段数码管等。
[0173]
在应用中,通信模块可以根据实际需要设置为任意能够直接或间接进行远距离有线或无线通信的器件,例如,通信模块可以提供应用在网络设备上的包括无线局域网(wireless localarea networks,wlan)(如wi-fi网络),蓝牙,zigbee,移动通信网络,gnss,调频(frequency modulation,fm),近距离无线通信技术(near field communication,nfc),红外技术(infrared,ir)等通信的解决方案。通信模块可以包括天线,天线可以只有一个阵元,也可以是包括多个阵元的天线阵列。通信模块可以通过天线接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器。通信模块还可以从处理器接收待发送的信号,对其进行调频、放大,经天线转为电磁波辐射出去。
[0174]
需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
[0175]
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元完成,即将装置的内部结构划分成不同的功能单元,以完成以上描述的全部或者部分功能。实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0176]
本技术实施例还提供了一种终端设备,该终端设备包括:至少一个处理器、存储器以及存储在所述存储器中并可在所述至少一个处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述各个定位方法实施例中的步骤。
[0177]
本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个定位方法实施例中的步骤。
[0178]
本技术实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时实现可实现上述各个定位方法实施例中的步骤。
[0179]
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。
[0180]
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
[0181]
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
[0182]
在本技术所提供的实施例中,应该理解到,所揭露的终端设备和方法,可以通过其它的方式实现。例如,以上所描述的终端设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
[0183]
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0184]
以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1