本发明属于通信,具体涉及一种基于随机森林的定位方法、服务器、及介质。
背景技术:
1、在电力、医疗、化工等重点监管领域中,定位技术被广泛应用。低功耗蓝牙(ble)相比于wlan、uwb等技术,具有低功耗、低成本等优势,被广泛应用,且目前对定位的准确性要求越来越严格。传统的基于rssi加权质心的蓝牙定位方法,定位精度低的缺点限制了蓝牙定位的进一步发展。
2、以基于ble的室内定位系统为例,按照是否测距分为两类。一是测距的方法是通过构建rssi信号衰减模型将接收到的rssi转换为距离,然后使用toa或者tdoa算法求解待测点的坐标。由于在实际室内环境中,无线电信号传播过程会产生反射、折射等情况,且信号在室内环境传播过程中会受到干扰等原因导致出现衰减严重的现象,因此信号衰减模型无法准确地描述信号强度随传播距离变化的情况,所以基于测距技术的定位精度相对较差;二是非测距的方法包括rssi加权质心法和指纹定位法。rssi加权质心法由于复杂通信环境的影响,定位精度较低;传统的指纹定位方法基于knn算法,定位阶段计算量大,定位精度低。
技术实现思路
1、本发明提供一种基于随机森林的定位方法、服务器、及介质,旨在解决现有技术中定位技术无论是测距方法,还是非测距的方法均存在定位精度低的问题。
2、为了实现上述目的,本发明提供一种基于随机森林的定位方法,应用于服务器,所述基于随机森林的定位方法包括:
3、获取终端的定位数据,所述定位数据包括终端采集到的当前蓝牙rssi信息;
4、根据预先构建好的具有多棵决策树的随机森林,输入所述当前蓝牙rssi信息,输出终端对应的初始定位点;
5、根据卡尔曼滤波以及输出的初始定位点,确定最终定位点。
6、优选地,在所述基于随机森林的定位方法中,所述根据预先构建好的具有多棵决策树的随机森林,输入所述当前蓝牙rssi信息,输出终端对应的初始定位点的步骤之前,还包括:
7、基于历史蓝牙rssi信息,构建随机森林。
8、优选地,在所述基于随机森林的定位方法中,所述基于历史蓝牙rssi信息,构建随机森林的步骤,包括:
9、获取位于定位区域的每个参考点上的终端扫描到的蓝牙信标对应的历史蓝牙rssi信息;
10、对所述历史蓝牙rssi信息预处理,并建立定位指纹库,所述定位指纹库包括终端的定位信息以及与其对应的历史蓝牙rssi信息集;
11、根据所述定位指纹库,随机放回抽样形成多组子指纹库;
12、将每个子指纹库训练生成对应的决策树模型;
13、根据生成的决策树模型,形成多棵决策树的随机森林。
14、优选地,在所述基于随机森林的定位方法中,所述将每个子指纹库训练生成对应的决策树模型的步骤,包括:
15、输入子指纹库;
16、将所述子指纹库中各历史蓝牙rssi信息处理为二元属性变量,确定目标变量v并设定收敛条件;根据目标变量,计算按二元变量划分后各个属性的gini值;选择gini值最小的属性进行分枝,并对分枝后的结果继续迭代,直到无法继续分枝,或gini值小于预设阈值时停止,输出最终的决策树模型。
17、优选地,在所述基于随机森林的定位方法中,所述根据目标变量,计算按二元变量划分后各个属性的gini值的步骤中计算公式如下:
18、
19、其中,v*表示根据变量vj划分后的gini值;
20、n1和n2分别表示变量vj二元化后的两个类别所包含的数据点个数;
21、p1,p2分别表示vj第1(2)个类别中属于目标变量v*的第1(2)个类别的概率,q1,q2同理。
22、优选地,在所述基于随机森林的定位方法中,所述对所述历史蓝牙rssi信息预处理,并建立定位指纹库的步骤中,所述对所述历史蓝牙rssi信息预处理包括:
23、去除所述历史蓝牙rssi信息中预先设置的第一可信区间外的异常值;和/或,
24、计算所述参考点与扫描到的每个蓝牙信标的可信距离,剔除与所述定位点的可信距离大于预设的第一可信距离的蓝牙信标以及对应的历史蓝牙rssi信息。
25、优选地,在所述基于随机森林的定位方法中,所述获取终端的定位数据的步骤之后,所述根据预先构建好的具有多棵决策树的随机森林,输入所述蓝牙rssi信息,输出终端对应的初始定位点的步骤之前,所述定位方法还包括:
26、对所述当前蓝牙rssi信息进行预处理,包括剔除预先设置的第二可信区间外的异常值。
27、优选地,在所述基于随机森林的定位方法中,所述根据预先构建好的具有多棵决策树的随机森林,输入所述当前蓝牙rssi信息,输出终端对应的初始定位点的步骤,包括:
28、将所述当前蓝牙rssi信息输入预先构建好的具有多棵决策树的随机森林,得到多个结果;
29、对多个结果做算术平均,得到终端对应的初始定位点。
30、为了实现上述目的,本发明还提供一种基于随机森林的定位装置,所述基于随机森林的定位装置包括:
31、获取单元,用于获取终端的定位数据,所述定位数据包括终端采集到的当前蓝牙rssi信息;
32、输出单元,用于根据预先构建好的具有多棵决策树的随机森林,输入所述当前蓝牙rssi信息,输出终端对应的初始定位点;
33、确定单元,用于根据卡尔曼滤波以及输出的初始定位点,确定最终定位点。
34、为了实现上述目的,本发明还提供一种服务器,包括:
35、至少一个处理器;以及,
36、与所述至少一个处理器通信连接的存储器;其中,
37、所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述至少一个处理器能够执行如上述的基于随机森林的定位方法。
38、为了实现上述目的,本发明还提供一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如上述的基于随机森林的定位方法。
39、本发明提供的技术方案,至少具有以下优点:
40、本发明通过获取终端的定位数据,所述定位数据包括终端采集到的当前蓝牙rssi信息,根据预先构建好的具有多棵决策树的随机森林,输入所述当前蓝牙rssi信息,输出终端对应的初始定位点,根据卡尔曼滤波以及输出的初始定位点,确定最终定位点,即通过将实际接收到的rssi信号(当前蓝牙rssi信息)与指纹数据库中的数据进行对比选择合适的数据,再使用相应的定位算法得到最终的解算结果,从而降低定位误差,提升定位精度。
1.一种基于随机森林的定位方法,应用于服务器,其特征在于,包括:
2.如权利要求1所述的基于随机森林的定位方法,其特征在于,所述根据预先构建好的具有多棵决策树的随机森林,输入所述当前蓝牙rssi信息,输出终端对应的初始定位点的步骤之前,还包括:
3.如权利要求2所述的基于随机森林的定位方法,其特征在于,所述基于历史蓝牙rssi信息,构建随机森林的步骤,包括:
4.如权利要求3所述的基于随机森林的定位方法,其特征在于,所述将每个子指纹库训练生成对应的决策树模型的步骤,包括:
5.如权利要求4所述的基于随机森林的定位方法,其特征在于,所述根据目标变量,计算按二元变量划分后各个属性的gini值的步骤中计算公式如下:
6.如权利要求3所述的基于随机森林的定位方法,其特征在于,所述对所述历史蓝牙rssi信息预处理,并建立定位指纹库的步骤中,所述对所述历史蓝牙rssi信息预处理包括:
7.如权利要求1所述的基于随机森林的定位方法,其特征在于,所述获取终端的定位数据的步骤之后,所述根据预先构建好的具有多棵决策树的随机森林,输入所述蓝牙rssi信息,输出终端对应的初始定位点的步骤之前,所述定位方法还包括:
8.如权利要求1所述的基于随机森林的定位方法,其特征在于,所述根据预先构建好的具有多棵决策树的随机森林,输入所述当前蓝牙rssi信息,输出终端对应的初始定位点的步骤,包括:
9.一种服务器,其特征在于,包括:
10.一种计算机可读存储介质,存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至8任意一项所述的基于随机森林的定位方法。