CN116761249B - 室内定位方法、指纹库的构建方法、电子设备及存储介质 - Google Patents
室内定位方法、指纹库的构建方法、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116761249B CN116761249B CN202211171058.3A CN202211171058A CN116761249B CN 116761249 B CN116761249 B CN 116761249B CN 202211171058 A CN202211171058 A CN 202211171058A CN 116761249 B CN116761249 B CN 116761249B
- Authority
- CN
- China
- Prior art keywords
- detection data
- track detection
- sample
- sample track
- fingerprint
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 109
- 238000010276 construction Methods 0.000 title claims abstract description 15
- 238000003860 storage Methods 0.000 title claims abstract description 15
- 238000001514 detection method Methods 0.000 claims abstract description 735
- 238000013145 classification model Methods 0.000 claims abstract description 212
- 238000012360 testing method Methods 0.000 claims abstract description 165
- 238000012549 training Methods 0.000 claims abstract description 66
- 230000004044 response Effects 0.000 claims abstract description 7
- 238000012545 processing Methods 0.000 claims description 55
- 230000008569 process Effects 0.000 claims description 46
- 239000010410 layer Substances 0.000 description 59
- 230000006870 function Effects 0.000 description 22
- 238000010586 diagram Methods 0.000 description 20
- 238000004891 communication Methods 0.000 description 18
- 238000004422 calculation algorithm Methods 0.000 description 15
- 238000004140 cleaning Methods 0.000 description 14
- 238000005516 engineering process Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 14
- 238000010295 mobile communication Methods 0.000 description 12
- 238000004364 calculation method Methods 0.000 description 11
- 230000009467 reduction Effects 0.000 description 8
- 230000000694 effects Effects 0.000 description 6
- 238000004590 computer program Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000013528 artificial neural network Methods 0.000 description 2
- 230000003416 augmentation Effects 0.000 description 2
- 230000003190 augmentative effect Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000000295 complement effect Effects 0.000 description 2
- 238000013480 data collection Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000000513 principal component analysis Methods 0.000 description 2
- 238000011946 reduction process Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 210000000988 bone and bone Anatomy 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 239000012792 core layer Substances 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000004927 fusion Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000005855 radiation Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003997 social interaction Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000003786 synthesis reaction Methods 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/30—Services specially adapted for particular environments, situations or purposes
- H04W4/33—Services specially adapted for particular environments, situations or purposes for indoor environments, e.g. buildings
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Collating Specific Patterns (AREA)
Abstract
本申请公开了一种室内定位方法、指纹库的构建方法、电子设备及存储介质,属于终端定位技术领域。该方法包括:响应于对定位设备的定位操作,获取定位设备的轨迹检测数据;基于轨迹检测数据,通过第一分类模型确定定位设备所处的楼层;其中,第一分类模型为预先基于第一指纹库对第二分类模型进行迭代训练得到,第一指纹库是基于指纹测试集通过第二分类模型对第二指纹库进行数据扩展后得到,第二分类模型是基于第二指纹库对初始分类模型进行训练得到,第二指纹库包括多个样本轨迹检测数据,多个样本轨迹检测数据中的每个样本轨迹检测数据均带有楼层标签。本申请在进行模型训练的同时进行指纹库扩展,从而提高指纹库的可靠性和分类模型的定位准确性。
Description
技术领域
本申请涉及终端定位技术领域,特别涉及一种室内定位方法、指纹库的构建方法、电子设备及存储介质。
背景技术
随着终端定位技术的发展,室内定位技术越来越受人们的青睐。室内定位技术多种多样,比如包括无线保真(Wireless Fidelity,WiFi)指纹定位技术。WiFi指纹定位技术是定位设备根据扫描到的WiFi信号确定位置信息的技术。在一种应用场景中,可以利用WiFi指纹定位技术确定定位设备所处的楼层。
WiFi指纹定位技术包括离线测试阶段和在线定位阶段,离线测试阶段的关键是建立指纹库,也即建立楼层与样本轨迹检测数据之间的对应关系,其中样本轨迹检测数据包括多个轨迹点中每个轨迹点处所检测的wifi信号强度。之后,可以利用指纹库进行模型训练以得到分类模型。如此,在在线定位阶段即可根据定位设备采集的轨迹检测数据,通过该分类模型进行定位。
但是,由于指纹库中的样本轨迹检测数据通常是由人工采集的,而为了训练分类模型,也为了测试训练后的分类模型的定位性能,人工采集的样本轨迹检测数据不仅需要用来构建指纹库,还需要构建指纹测试集,导致指纹库中的样本轨迹数据数量较少,因此难以构建一个可靠的指纹库,使得基于指纹库训练的分类模型的分类准确度较低,进而影响在线定位阶段定位的准确性。
发明内容
本申请提供了一种室内定位方法、指纹库的构建方法、电子设备及存储介质,可以用于改善相关技术中指纹库不可靠,导致分类模型的分了准确度低的问题。所述技术方案如下:
第一方面,提供了一种室内定位方法,所述方法包括:
响应于对定位设备的定位操作,获取所述定位设备的轨迹检测数据;
基于所述轨迹检测数据,通过第一分类模型确定所述定位设备所处的楼层;
其中,所述第一分类模型为预先基于第一指纹库对第二分类模型进行迭代训练得到,所述第一指纹库是基于指纹测试集通过所述第二分类模型对第二指纹库进行数据扩展后得到,所述第二分类模型是基于所述第二指纹库对初始分类模型进行训练得到,所述第二指纹库包括多个样本轨迹检测数据,所述多个样本轨迹检测数据中的每个样本轨迹检测数据均带有楼层标签。
如此,在需要进行室内定位的情况下,可以获取定位设备的轨迹检测数据,然后根据轨迹检测数据,通过第一分类模型确定定位设备所处的楼层。由于第一分类模型是根据经过数据扩展的第一指纹库训练得到,而第一指纹库是基于指纹测试集对第二指纹库进行数据扩展后得到,从而第一指纹库中的数据量较为可靠,进而第一分类模型的定位准确性也得到了提升。
作为本申请的一个示例,所述第一指纹库是通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理,在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中得到。
如此,在基于指纹测试集对第二分类模型的定位性能进行测试过程中,还可以扩展第二指纹库的数据量,从而保证了第一指纹库的数据量,提高了第一指纹库的可靠性。
作为本申请的一个示例,所述第二指纹库为基于初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理后得到,所述初始指纹库为从获取的第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据得到。
如此,通过随机选择第二数量的平层样本轨迹检测数据,保证了初始指纹库中不会出现跨层样本轨迹检测数据,保证了初始指纹库的可靠性。
作为本申请的一个示例,所述指纹测试集为从所述第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合。
如此,指纹测试集与初始指纹库来源于同一批样本轨迹检测数据,从而提高了构建初始指纹库与指纹测试集的便利性。
第二方面,提供了一种指纹库的构建方法,所述方法包括:
获取第二指纹库和指纹测试集,所述第二指纹库包括多个样本轨迹检测数据,所述多个样本轨迹检测数据中每个样本轨迹检测数据均带有楼层标签;
基于所述第二指纹库对初始分类模型进行迭代训练,得到第二分类模型;
通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理;
在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中;
当遍历结束时,基于第一指纹库对所述第二分类模型进行迭代训练,得到第一分类模型,所述第一指纹库是在遍历过程中对所述第二指纹库进行扩展后得到,所述第一分类模型能够基于任意的定位设备的轨迹检测数据确定所述定位设备所处的楼层。
如此,由于第一分类模型是根据通过经过数据扩展的第一指纹库训练得到,而第一指纹库是基于指纹测试集对第二指纹库进行数据扩展后得到,从而第一指纹库中的数据量较为可靠,进而第一分类模型的定位准确性也得到了提升。
作为本申请的一个示例,所述分类结果包括楼层标签和所述楼层标签对应的概率值;
所述在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中,包括:
在遍历过程中,根据第一样本轨迹检测数据对应的分类结果中的概率值,确定所述第一样本轨迹检测数据对应的分类结果置信度,所述第一样本轨迹检测数据为当前遍历到的所述指纹测试集中的任意一个样本轨迹检测数据;
在所述第一样本轨迹检测数据对应的分类结果置信度大于或等于置信度阈值的情况下,将所述第一样本轨迹检测数据的楼层标签更新为所述第一样本轨迹检测数据对应的分类结果中的楼层标签;
将标签更新后的所述第一样本轨迹检测数据添加至所述第二指纹库中。
如此,在基于指纹测试集对第二分类模型进行测试的过程中,还可以对第二指纹库进行数据扩展,从而使模型训练和指纹库构建达到相辅相成的效果。
作为本申请的一个示例,所述获取第二指纹库和指纹测试集,包括:
获取第一数量的样本轨迹检测数据,所述第一数量的样本轨迹检测数据至少包括平层样本轨迹检测数据;
从所述第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库;
将所述第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合确定为所述指纹测试集;
基于所述初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理,得到所述第二指纹库。
如此,通过指纹测试集对初始指纹库进行扩展处理,从而保证了第二指纹库中的样本轨迹检测数据的数据量,提高了第二指纹库的可靠性。
作为本申请的一个示例,所述基于所述初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理,包括:
依次遍历所述指纹测试集中的各个样本轨迹检测数据;
确定第二样本轨迹检测数据与所述初始指纹库中的每个样本轨迹检测数据之间的欧式距离和杰卡德距离,所述第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中确定与所述第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,第三样本轨迹检测数据是指与所述第二样本轨迹检测数据之间的欧氏距离小于第一距离阈值,且与所述第二样本轨迹检测数据之间的杰卡德距离小于第二距离阈值的样本轨迹检测数据;
将所述第二样本轨迹检测数据的楼层标签更新为所确定的第三样本轨迹检测数据的楼层标签;
将标签更新后的所述第二样本轨迹检测数据添加至所述初始指纹库中。
如此,通过从至少一个第三样本轨迹检测数据中确定与第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,从而保证了对初始指纹库进行扩展的合理性。
作为本申请的一个示例,所述在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中确定与所述第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,包括:
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中获取与所述第二样本轨迹数据之间的欧氏距离最小的第三样本轨迹检测数据;或者,
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中获取与所述第二样本轨迹数据之间的杰卡德距离最小的第三样本轨迹检测数据。
如此,通过欧式距离或杰卡德距离,从至少一个第三样本轨迹检测数据中选择与第二样本轨迹检测数据之间的相似度最大的第三样本轨迹检测数据,可以使得选择出的第三样本轨迹检测数据更加准确。
作为本申请的一个示例,所述基于所述初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理,包括:
依次遍历所述指纹测试集中的各个样本轨迹检测数据;
确定第二样本轨迹检测数据与所述初始指纹库中的每个样本轨迹检测数据之间的相似度,得到多个相似度,所述第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;
将所述多个相似度中的最大相似度大于或等于相似度阈值的情况下,将所述第二样本轨迹检测数据的楼层标签更新为最大相似度对应的样本轨迹检测数据的楼层标签;
将标签更新后的所述第二样本轨迹检测数据添加至所述初始指纹库中。
如此,通过不同方式对初始指纹库进行数据扩展处理,从而增加了确定数据扩展方式的丰富性。
作为本申请的一个示例,所述从所述第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库之前,还包括:
在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理,得到第三数量的样本轨迹检测数据,所述第三数量的样本轨迹检测数据中的各个样本轨迹检测数据的轨迹点数量小于或等于所述数量阈值;
所述从所述第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库,包括:
从所述第三数量的样本轨迹检测数据中随机选择所述第二数量的平层样本轨迹检测数据,得到所述初始指纹库。
如此,通过对较长的样本轨迹检测数据进行分割,从而减少了较长的样本轨迹检测数据中包括的轨迹点数量,进而降低了后续基于样本轨迹检测数据进行计算的计算量。
作为本申请的一个示例,所述在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理,包括:
在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于所述数量阈值的样本轨迹检测数据的情况下,以划分数值为间隔对轨迹点数量大于所述数量阈值的样本轨迹检测数据进行分割,得到第四数量的样本轨迹检测数据,所述划分数值为小于或等于所述数量阈值的数值;
在所述第四数量的样本轨迹检测数据中包括轨迹点数量小于所述划分数值的样本轨迹检测数据的情况下,将轨迹点数量小于所述划分数值的样本轨迹检测数据删除。
如此,通过划分数值为间隔对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割,不仅能够扩展样本轨迹检测数据的数量,同时还能够降低后续进行模型训练时的计算量,并提高模型训练的准确度。
作为本申请的一个示例,所述通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理之后,还包括:
获取所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行分类的正确量,以及通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理后,添加至所述第二指纹库中的样本轨迹检测数据的添加量;
将所述正确量除以所述指纹测试集的样本总量,得到所述分类准确率,所述指纹测试集的样本总量为通过所述第二分类模型将所述指纹测试集中的样本轨迹检测数据添加至所述第二指纹库之前,所述指纹测试集中所包括的样本轨迹检测数据的数量;
将所述添加量除以所述样本总量,得到所述轨迹利用率,所述分类准确率和所述轨迹利用率用于评估所述第一分类模型的定位性能。
如此,通过确定第二分类模型的分类准确率和该轨迹利用率,从而使得能够利用具体数据对第二分类模型的定位性能进行评估,提高了对第二分类模型的定位性能进行评估的准确性。
第三方面,提供了一种室内定位装置,所述室内定位装置具有实现上述第一方面中室内定位方法行为的功能。所述室内定位装置包括至少一个模块,所述至少一个模块用于实现上述第一方面所提供的室内定位方法。该室内定位装置可以包括:
获取模块,用于响应于对定位设备的定位操作,获取所述定位设备的轨迹检测数据;
确定模块,用于基于所述轨迹检测数据,通过第一分类模型确定所述定位设备所处的楼层;
其中,所述第一分类模型为预先基于第一指纹库对第二分类模型进行迭代训练得到,所述第一指纹库是基于指纹测试集通过所述第二分类模型对第二指纹库进行数据扩展后得到,所述第二分类模型是基于所述第二指纹库对初始分类模型进行训练得到,所述第二指纹库包括多个样本轨迹检测数据,所述多个样本轨迹检测数据中的每个样本轨迹检测数据均带有楼层标签。
作为本申请的一个示例,所述第一指纹库是通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理,在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中得到。
作为本申请的一个示例,所述第二指纹库为基于初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理后得到,所述初始指纹库为从获取的第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据得到。
作为本申请的一个示例,所述指纹测试集为从所述第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合。
第四方面,提供了一种指纹库的构建装置,所述指纹库的构建装置具有实现上述第二方面中指纹库的构建方法行为的功能。所述指纹库的构建装置包括至少一个模块,所述至少一个模块用于实现上述第二方面所提供的指纹库的构建方法。该指纹库的构建装置可以包括:
第一获取模块,用于获取第二指纹库和指纹测试集,所述第二指纹库包括多个样本轨迹检测数据,所述多个样本轨迹检测数据中每个样本轨迹检测数据均带有楼层标签;
第一训练模块,用于基于所述第二指纹库对初始分类模型进行迭代训练,得到第二分类模型;
遍历模块,用于通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理;
添加模块,用于在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中;
第二训练模块,用于当遍历结束时,基于第一指纹库对所述第二分类模型进行迭代训练,得到第一分类模型,所述第一指纹库是在遍历过程中对所述第二指纹库进行扩展后得到,所述第一分类模型能够基于任意的定位设备的轨迹检测数据确定所述定位设备所处的楼层。
作为本申请的一个示例,所述分类结果包括楼层标签和所述楼层标签对应的概率值;
所述添加模块用于:
在遍历过程中,根据第一样本轨迹检测数据对应的分类结果中的概率值,确定所述第一样本轨迹检测数据对应的分类结果置信度,所述第一样本轨迹检测数据为当前遍历到的所述指纹测试集中的任意一个样本轨迹检测数据;
在所述第一样本轨迹检测数据对应的分类结果置信度大于或等于置信度阈值的情况下,将所述第一样本轨迹检测数据的楼层标签更新为所述第一样本轨迹检测数据对应的分类结果中的楼层标签;
将标签更新后的所述第一样本轨迹检测数据添加至所述第二指纹库中。
作为本申请的一个示例,所述第一获取模块用于:
获取第一数量的样本轨迹检测数据,所述第一数量的样本轨迹检测数据至少包括平层样本轨迹检测数据;
从所述第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库;
将所述第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合确定为所述指纹测试集;
基于所述初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理,得到所述第二指纹库。
作为本申请的一个示例,所述第一获取模块用于:
依次遍历所述指纹测试集中的各个样本轨迹检测数据;
确定第二样本轨迹检测数据与所述初始指纹库中的每个样本轨迹检测数据之间的欧式距离和杰卡德距离,所述第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中确定与所述第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,第三样本轨迹检测数据是指与所述第二样本轨迹检测数据之间的欧氏距离小于第一距离阈值,且与所述第二样本轨迹检测数据之间的杰卡德距离小于第二距离阈值的样本轨迹检测数据;
将所述第二样本轨迹检测数据的楼层标签更新为所确定的第三样本轨迹检测数据的楼层标签;
将标签更新后的所述第二样本轨迹检测数据添加至所述初始指纹库中。
作为本申请的一个示例,所述第一获取模块用于:
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中获取与所述第二样本轨迹数据之间的欧氏距离最小的第三样本轨迹检测数据;或者,
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中获取与所述第二样本轨迹数据之间的杰卡德距离最小的第三样本轨迹检测数据。
作为本申请的一个示例,所述第一获取模块用于:
依次遍历所述指纹测试集中的各个样本轨迹检测数据;
确定第二样本轨迹检测数据与所述初始指纹库中的每个样本轨迹检测数据之间的相似度,得到多个相似度,所述第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;
将所述多个相似度中的最大相似度大于或等于相似度阈值的情况下,将所述第二样本轨迹检测数据的楼层标签更新为最大相似度对应的样本轨迹检测数据的楼层标签;
将标签更新后的所述第二样本轨迹检测数据添加至所述初始指纹库中。
作为本申请的一个示例,所述第一获取模块还用于:
在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理,得到第三数量的样本轨迹检测数据,所述第三数量的样本轨迹检测数据中的各个样本轨迹检测数据的轨迹点数量小于或等于所述数量阈值;
从所述第三数量的样本轨迹检测数据中随机选择所述第二数量的平层样本轨迹检测数据,得到所述初始指纹库。
作为本申请的一个示例,所述第一获取模块用于:
在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于所述数量阈值的样本轨迹检测数据的情况下,以划分数值为间隔对轨迹点数量大于所述数量阈值的样本轨迹检测数据进行分割,得到第四数量的样本轨迹检测数据,所述划分数值为小于或等于所述数量阈值的数值;
在所述第四数量的样本轨迹检测数据中包括轨迹点数量小于所述划分数值的样本轨迹检测数据的情况下,将轨迹点数量小于所述划分数值的样本轨迹检测数据删除。
作为本申请的一个示例,所述装置还包括:
第二获取模块,用于获取所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行分类的正确量,以及通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理后,添加至所述第二指纹库中的样本轨迹检测数据的添加量;
第一计算模块,用于将所述正确量除以所述指纹测试集的样本总量,得到所述分类准确率,所述指纹测试集的样本总量为通过所述第二分类模型将所述指纹测试集中的样本轨迹检测数据添加至所述第二指纹库之前,所述指纹测试集中所包括的样本轨迹检测数据的数量;
第二计算模块,用于将所述添加量除以所述样本总量,得到所述轨迹利用率,所述分类准确率和所述轨迹利用率用于评估所述第一分类模型的定位性能。
第五方面,提供了一种电子设备,所述电子设备的结构中包括处理器和存储器,所述存储器用于存储支持电子设备执行上述第一方面所提供的室内定位方法的程序,以及存储用于实现上述第一方面所述的室内定位方法所涉及的数据。或者,所述存储器用于存储支持电子设备执行上述第二方面所提供的指纹库的构建方法的程序,以及存储用于实现上述第二方面所述的指纹库的构建方法所涉及的数据;所述处理器被配置为用于执行所述存储器中存储的程序。所述电子设备还可以包括通信总线,所述通信总线用于在所述处理器与所述存储器之间建立连接。
第六方面,提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述第一方面所述的室内定位方法,或者,使得计算机执行上述第二方面所述的指纹库的构建方法。
第七方面,提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面所述的室内定位方法,或者,使得计算机执行上述第二方面所述的指纹库的构建方法。
上述第二方面、第三方面、第四方面、第五方面、第六方面和第七方面所获得的技术效果与上述第一方面中对应的技术手段获得的技术效果近似,在这里不再赘述。
附图说明
图1是本申请实施例提供的一种采集样本轨迹检测数据的应用场景的示意图;
图2是本申请实施例提供的一种室内定位的应用场景的示意图;
图3是本申请实施例提供的一种电子设备的结构示意图;
图4是本申请实施例提供的一种电子设备的软件***的框图;
图5是本申请实施例提供的一种室内定位的应用场景的示意图;
图6是本申请实施例提供的另一种室内定位的应用场景的示意图;
图7是本申请实施例提供的另一种室内定位的应用场景的示意图;
图8是本申请实施例提供的另一种室内定位的应用场景的示意图;
图9是本申请实施例提供的一种室内定位的方法流程示意图;
图10是本申请实施例提供的一种指纹库的构建方法流程示意图;
图11是本申请实施例提供的一种不同类型的样本轨迹检测数据的示意图;
图12是本申请实施例提供的一种对初始指纹库进行数据扩展处理的方法流程示意图;
图13是本申请实施例提供的另一种指纹库的构建方法流程示意图;
图14是本申请实施例提供的一种室内定位装置的结构示意图;
图15是本申请实施例提供的一种指纹库的构建装置的结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
应当理解的是,本申请提及的“多个”是指两个或两个以上。在本申请的描述中,除非另有说明,“/”表示或的意思,比如,A/B可以表示A或B;本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,比如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,为了便于清楚描述本申请的技术方案,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分。本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等字样也并不限定一定不同。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在一种应用场景中,电子设备需要进行自身定位的情况下,若电子设备处于室内环境中,那么电子设备可以通过室内定位技术进行定位,比如,电子设备可以通过WiFi指纹定位技术进行定位。电子设备处于室内环境的情况下,可以预先获取人工采集的多个样本轨迹检测数据和每个样本轨迹检测数据对应的楼层标签。示例性地,参见图1,至少一个采集人员使用数据采集设备在不同楼层进行样本轨迹检测数据的采集,并将采集的样本轨迹检测数据和对应楼层发送给电子设备。为了便于说明,本申请实施例的附图中以4个楼层,且每个楼层存在一个采集人员为例进行说明。电子设备在获取到多个样本轨迹检测数据和每个样本轨迹检测数据对应的楼层标签后,可以从每一个楼层对应的样本轨迹数据中选择固定数量的样本轨迹检测数据,从而构成指纹库,并利用指纹库进行模型训练从而得到分类模型。通常情况下,电子设备还可以获取指纹测试集,基于指纹测试集可以测试分类模型的定位性能,也即是,测试分类模型是否可以用于室内定位。
但是,由于人工采集的样本轨迹检测数据不仅需要用来构建指纹库,还需要构建指纹测试集,导致指纹库中的样本轨迹数据数量较少,因此难以构建一个可靠的指纹库,使得基于指纹库训练的分类模型的分类准确度较低,进而影响在线定位阶段定位的准确性。示例性地,参见图2,若电子设备处于3楼,电子设备可以获取在3层的任意一个时间段的轨迹检测数据,并根据该轨迹检测数据通过该分类模型进行定位,分类模型的定位结果原本应该为3楼,但是由于分类模型是根据包括的样本轨迹数据的数量较少的指纹库训练得到,指纹库不可靠,导致分类模型的定位不准确,致使分类模型输出定位结果为4楼,且该电子设备在定位界面中显示定位结果“当前处于4楼”。
为了提高分类模型的定位准确性,本申请实施例提供了一种室内定位方法,该方法中电子设备在需要进行室内定位的情况下,可以获取定位设备的轨迹检测数据,然后根据轨迹检测数据,通过第一分类模型确定定位设备所处的楼层。由于第一分类模型是根据经过数据扩展的第一指纹库训练得到,而第一指纹库是基于指纹测试集对第二指纹库进行数据扩展后得到,从而第一指纹库中的数据量较为可靠,进而第一分类模型的定位准确性也得到了提升。也即是本申请实施例中电子设备扩展了指纹库中的数据量,提高了指纹库的可靠性,从而提高了分类模型的定位准确性。
在对本申请实施例提供的室内定位的方法进行详细地解释说明之前,先对本申请实施例涉及的电子设备予以说明。本申请实施例提供的方法可以由电子设备执行,电子设备可以配置有wifi信号检测功能以及定位功能。进一步地,该电子设备中可以安装有诸如导航、社交、购物等应用程序,这些应用程序均能够在使用过程中触发电子设备进行定位。作为示例而非限定,电子设备可以是但不限于手机、可穿戴智能设备、数码相机、平板电脑、桌面型、膝上型、手持计算机、笔记本电脑、车载设备、超级移动个人计算机(ultra-mobilepersonal computer,UMPC)、上网本、蜂窝电话、个人数字助理(personal digitalassistant,PDA)、增强现实(augmented reality,AR)\虚拟现实(virtual reality,VR)设备、手机、智能电器、服务器等,本申请实施例对此不作限定。
图3是本申请实施例提供的一种电子设备的结构示意图。参见图3,电子设备100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serialbus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriber identification module,SIM)卡接口195等。其中,传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
可以理解的是,本申请实施例示意的结构并不构成对电子设备100的具体限定。在本申请另一些实施例中,电子设备100可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器110可以包括一个或多个处理单元,比如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。
其中,控制器可以是电子设备100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从该存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了***的效率。
在一些实施例中,处理器110可以包括一个或多个接口,如可以包括集成电路(inter-integrated circuit,I2C)接口,集成电路内置音频(inter-integrated circuitsound,I2S)接口,脉冲编码调制(pulse code modulation,PCM)接口,通用异步收发传输器(universal asynchronous receiver/transmitter,UART)接口,移动产业处理器接口(mobile industry processor interface,MIPI),通用输入输出(general-purposeinput/output,GPIO)接口,用户标识模块(subscriber identity module,SIM)接口,和/或通用串行总线(universal serial bus,USB)接口等。
可以理解的是,本申请实施例示意的各模块间的接口连接关系,只是示意性说明,并不构成对电子设备100的结构限定。在本申请另一些实施例中,电子设备100也可以采用上述实施例中不同的接口连接方式,或多种接口连接方式的组合。
电子设备100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。电子设备100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。比如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在电子设备100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(low noise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器170A,受话器170B等)输出声音信号,或通过显示屏194显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器110,与移动通信模块150或其他功能模块设置在同一个器件中。
无线通信模块160可以提供应用在电子设备100上的包括无线局域网(wirelesslocal area networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星***(global navigation satellite system,GNSS),调频(frequency modulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,电子设备100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得电子设备100可以通过无线通信技术与网络以及其他设备通信。无线通信技术可以包括全球移动通讯***(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(codedivision multiple access,CDMA),宽带码分多址(wideband code division multipleaccess,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。GNSS可以包括全球卫星定位***(global positioning system,GPS),全球导航卫星***(global navigation satellite system,GLONASS),北斗卫星导航***(beidounavigation satellite system,BDS),准天顶卫星***(quasi-zenith satellitesystem,QZSS)和/或星基增强***(satellite based augmentation systems,SBAS)。
电子设备100通过GPU,显示屏194,以及应用处理器等实现显示功能。GPU为图像处理的微处理器,连接显示屏194和应用处理器。GPU用于执行数学和几何计算,用于图形渲染。处理器110可包括一个或多个GPU,其执行程序指令以生成或改变显示信息。
数字信号处理器用于处理数字信号,除了可以处理数字图像信号,还可以处理其他数字信号。比如,当电子设备100在频点选择时,数字信号处理器用于对频点能量进行傅里叶变换等。
外部存储器接口120可以用于连接外部存储卡,比如Micro SD卡,实现扩展电子设备100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。比如将音乐,视频等文件保存在外部存储卡中。
内部存储器121可以用于存储计算机可执行程序代码,计算机可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,来执行电子设备100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作***,至少一个功能所需的应用程序(比如声音播放功能,图像播放功能等)等。存储数据区可存储电子设备100在使用过程中所创建的数据(比如音频数据,电话本等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,比如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
气压传感器180C用于测量气压。在一些实施例中,电子设备100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。
接下来对电子设备100的软件***予以说明。
电子设备100的软件***可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的安卓(Android)***为例,对电子设备100的软件***进行示例性说明。
图4是本申请实施例提供的一种电子设备100的软件***的框图。参见图4,分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android***分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和***层,以及内核层。
应用程序层可以包括一系列应用程序包。如图4所示,应用程序包可以包括地图,导航,相机,图库,日历,通话,WLAN,蓝牙,音乐,视频等应用程序。
作为一个示例,该应用程序层中还可以包括WiFi管理模块,该WiFi管理模块用于管理与WiFi相关的功能,比如,打开Wifi、断开Wifi、查看Wifi列表、动态刷新Wifi列表、动下拉刷新Wifi列表、连接指定的网络、断开网络连接等。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图***,电话管理器,资源管理器,通知管理器等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问,这些数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿、轨迹检测数据等。视图***包括可视控件,比如显示文字的控件,显示图片的控件等。视图***可用于构建应用程序的显示界面,显示界面可以由一个或多个视图组成,比如,包括显示短信通知图标的视图,包括显示文字的视图,以及包括显示图片的视图。电话管理器用于提供电子设备100的通信功能,比如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如,通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或滚动条文本形式出现在***顶部状态栏的通知,比如后台运行的应用程序的通知。通知管理器还可以是以对话窗口形式出现在屏幕上的通知,比如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
作为一个示例,应用程序框架层中还可以包括算法库和数据接收模块。
作为一个示例,算法模块中用于存储各类算法模型,该算法模型中包括实现室内定位的第一分类模型;在需要进行室内定位的情况下,算法模块能够调用存储的第一分类模块,并在获取到定位设备的轨迹检测数据的情况下,基于轨迹检测数据通过第一分类模块确定定位设备所处楼层。示例性地,若算法模块接收到地图或导航等应用程序触发的定位请求,则算法模块可以调用第一分类模块,在从内容提供器中获取到定位设备的轨迹检测数据的情况下,基于轨迹检测数据通过设置的定位算法确定定位设备所处楼层。
作为一个示例,算法模块还可以用于模型训练,且算法模块在进行模型训练的情况下,可以接收数据获取模块发送的一定数量的样本轨迹检测数据,然后基于获取的样本轨迹检测数据,进行模型训练。
作为一个示例,该数据获取模块可以用于接收其他电子设备发送的样本轨迹检测数据,并将接收到的样本轨迹检测数据发送给算法模块。
作为一个示例,该数据获取模块还可以接收硬件层中的WiFi采集器周期性采集的WiFi信号,并将每一次接收到WiFi信号的WiFi信号强度确定为一个轨迹点对应的WiFi信号强度,以得到轨迹检测数据,并将该轨迹检测数据发送给算法模块。
作为一个示例,数据获取模块还可以用于将获取到的轨迹检测数据存储至内容提供器中。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓***的调度和管理。核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
***库可以包括多个功能模块,比如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(比如:OpenGL ES),2D图形引擎(比如:SGL)等。表面管理器用于对显示子***进行管理,并且为多个应用程序提供了2D和3D图层的融合。媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,比如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动,WiFi驱动;
作为一个示例,该WiFi驱动用于驱动硬件设备wifi采集器周期性地采集wifi信号。
下面结合捕获拍照场景,示例性说明电子设备100软件以及硬件的工作流程。
当触摸传感器180K接收到触摸操作,相应的硬件中断被发给内核层。内核层将触摸操作加工成原始输入事件(包括触摸坐标,触摸操作的时间戳等信息)。原始输入事件被存储在内核层。应用程序框架层从内核层获取原始输入事件,识别原始输入事件所对应的控件。以该触摸操作是单击操作,该单击操作所对应的控件为相机应用图标的控件为例,相机应用调用应用程序框架层的接口,启动相机应用,再调用内核层启动摄像头驱动,通过摄像头193捕获静态图像或视频。
为了便于理解,在对本申请实施例提供的方法进行详细介绍之前,基于上述实施例提供的执行主体,接下来对本申请实施例涉及的应用场景进行介绍。
请参考图5,图5是根据一示例性实施例示出的一种应用场景的示意图。在一种可能的场景中,用户在参观某个工厂大楼的情况下,为了避免用户闯入不允许进入的楼层,可以使用户携带定位专用的手机,在用户携带定位专用的手机的过程中,手机可以实时或每隔指定间隔对自身进行定位操作,并在定位到用户进入不允许进入的楼层的情况下,对用户进行警示。示例性地,响应于对自身的定位操作,手机可以获取用户在指定时间段内的轨迹检测数据,并基于轨迹检测数据,通过第一分类模型确定手机当前所处楼层为3层,若3层为用户不允许进入的楼层,则手机可以震动、响铃、文字提示和/或语音提示的方式提示用户离开3层。比如,手机可以在定位界面显示“请尽快离开3楼”。
需要说明的是,指定时间间隔可以预先进行设置,比如,该指定时间间隔可以为3分钟、5分钟或者10分钟等等。该指定时间段可以预先根据需求进行设置,且根据定位对象的不同,该指定时间段也不同。比如,在电子设备需要进行自定位的情况下,该指定时间段为在接收定位操作时刻之前且距离接收定位操作时刻最近的一段采集轨迹检测数据的时间段,该时间段可以为5分钟、3分钟或者1分钟等。在电子设备需要对其他设备进行定位的情况下,该指定时间段为其他设备在接收到电子设备发送的轨迹获取请求的接收时刻之前,且距离接收时刻最近的一段采集轨迹检测数据的时间段,该时间段可以为5分钟、3分钟或者1分钟等。
作为一个示例,由于电子设备可以按照自身的信号扫描周期扫描当前所处环境的wifi信号,且在每一次扫描得到一个轨迹点及在该轨迹点处所检测到的WiFi信号的信号强度,因此,电子设备可以将任意一个时间段内的多个轨迹点及多个轨迹点中每个轨迹点处检测到的WiFi信号的信号强度确定为轨迹检测数据。
作为本申请的一个示例,商场大楼中通常会放置有多个智能清洁设备,该多个智能清洁设备用于清洁商场大楼的环境卫生。为了便于管理和规划,管理人员为了清楚地获知每一楼层中智能清洁设备的数量,可以通过手机、笔记本电脑、台式电脑等电子设备对每个智能清洁设备进行室内定位,本申请实施例的图6中以电子设备为手机为例进行说明。参见图6中的(a)图,管理人员可以在手机显示的管理界面中触发对智能清洁设备的定位操作,比如,管理人员可以在管理界面中点击“清洁设备分布情况”选项;响应于管理人员对“清洁设备分布情况”的点击操作,手机可以向每个智能清洁设备发送轨迹获取请求;每个智能清洁设备在接收到轨迹获取请求的情况下,可以将指定时间段内采集的轨迹检测数据发送给电子设备;电子设备接收每个智能清洁设备发送的轨迹检测数据,并基于每个智能清洁设备的轨迹检测数据,通过第一分类模型确定每个智能清洁设备所处楼层;之后,参见图6中的(b)图,电子设备可以统计每个楼层放置的智能清洁设备的数量,并在管理界面中显示每个楼层所放置的智能清洁设备的数量。
作为本申请的一个示例,为了便于家长确定小孩子的位置,小孩子通常会佩戴有智能穿戴设备,在商场中家长不慎与小孩分开的情况下,家长可以通过手机对小孩子的智能穿戴设备进行定位,以确定小孩所处楼层。比如,参见图7中的(a)图,家长在打开手机中安装的智能穿戴设备对应的应用程序后,可以在该应用程序的寻找界面中点击“室内定位”选项;手机响应于对“室内定位”选项的点击操作,向智能穿戴设备发送轨迹获取请求;智能穿戴设备在接收到轨迹获取请求的情况下,可以将指定时间段内采集的轨迹检测数据发送给家长的手机;手机在接收到智能穿戴设备发送的轨迹检测数据的情况下,基于轨迹检测数据,通过第一分类模型确定智能穿戴设备所处楼层,之后,参见图7中的(b)图,手机在寻找界面中显示智能穿戴设备当前所处楼层,从而家长可以获知小孩当前所处楼层。
作为本申请的一个示例,在汽车停入地下车库的车位后,若地下车库的楼层较多,且驾驶员在泊车的过程中并未留意汽车所停楼层,那么在后续寻找汽车所在车位时,驾驶员可以通过手机对汽车进行室内定位,以确定汽车所在楼层。比如,驾驶员可以打开汽车定位应用程序,参见图8中的(a)图,驾驶员在汽车定位应用程序的定位界面触发对汽车的定位操作;响应于对汽车的定位操作,手机向汽车的车载设备发送轨迹获取请求;汽车的车载设备在接收到轨迹获取请求的情况下,可以将汽车熄火前指定时间段内的轨迹检测数据发送给手机。手机在接收到汽车的车载设备发送的轨迹检测数据的情况下,基于轨迹检测数据,通过第一分类模型确定汽车所处楼层为负2层,之后,参见图8中的(b)图,手机在汽车定位界面中显示汽车当前所处楼层。
需要说明的是,本申请实施例仅以上述图5-图8所示的应用场景为例进行说明,并不对本申请实施例构成限定。
基于上述实施例提供的执行主体和应用场景,接下来对本申请实施例提供的室内定位的方法进行介绍。请参考图9,图9是根据一示例性实施例示出的一种室内定位的方法流程示意图。作为示例而非限定,这里以该方法应用于具有定位功能的电子设备中为例进行说明,该方法可以包括如下部分或者全部内容:
步骤901:响应于对定位设备的定位操作,获取定位设备的轨迹检测数据。
需要说明的是,定位设备可以为进行定位的电子设备,也可以为被电子设备进行定位的其他电子设备。也即是,定位设备可以定位自身所在的位置,也可以被其他电子设备定位当前所在的位置。
在一种可能的实现方式中,在电子设备需要进行自身定位的情况下,也即是电子设备为定位设备的情况下,电子设备响应于对定位设备的定位操作,获取定位设备在指定时间段内检测到的轨迹检测数据。示例性地,该过程可以参考上述图5所示的应用场景。
在另一种可能的方式中,在电子设备与定位设备为两个独立设备,电子设备对定位设备进行定位的情况下,响应于对定位设备的定位操作,电子设备向定位设备发送轨迹获取请求;定位设备在接收到轨迹获取请求的情况下,获取在指定时间段内检测到的轨迹检测数据,并将轨迹检测数据发送给电子设备;电子设备接收定位设备发送的轨迹检测数据。示例性地,该过程可以参考上述图6、图7或图8所示的应用场景。
步骤902:基于轨迹检测数据,通过第一分类模型确定定位设备所处的楼层。
作为一种示例,电子设备可以将轨迹检测数据输入至第一分类模型,通过第一分类模型对轨迹检测数据进行分类处理,并通过第一分类模型输出对轨迹检测数据的分类结果;将该分类结果确定为定位设备所处的楼层。
需要说明的是,第一分类模型为预先基于第一指纹库对第二分类模型进行迭代训练得到,第一指纹库是基于指纹测试集通过第二分类模型对第二指纹库进行数据扩展后得到,第二分类模型是基于第二指纹库对初始分类模型进行训练得到,第二指纹库包括多个样本轨迹检测数据,多个样本轨迹检测数据中的每个样本轨迹检测数据均带有楼层标签。
作为一个示例,第一指纹库是基于指纹测试集通过第二分类模型对第二指纹库进行数据扩展后得到,而基于指纹测试集通过第二分类模型对第二指纹库进行数据扩展的操作包括:通过第二分类模型对指纹测试集中的样本轨迹检测数据进行遍历处理,在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中。也即是,第一指纹库是通过第二分类模型对指纹测试集中的样本轨迹检测数据进行遍历处理,在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中得到。
值得说明的是,在基于指纹测试集对第二分类模型的定位性能进行测试过程中,还可以扩展第二指纹库的数据量,从而保证了第一指纹库的数据量,提高了第一指纹库的可靠性。
作为一个示例,第二指纹库为电子设备基于初始指纹库和指纹测试集,对初始指纹库进行数据扩展处理后得到,初始指纹库为电子设备从获取的第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据得到。
如此,通过随机选择第二数量的平层样本轨迹检测数据,保证了初始指纹库中不会出现跨层样本轨迹检测数据,保证了初始指纹库的可靠性。
作为一个示例,指纹测试集为电子设备从第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合。
值得说明的是,指纹测试集与初始指纹库来源于同一批样本轨迹检测数据,从而提高了构建初始指纹库与指纹测试集的便利性。
在一些实施例中,指纹测试集也可以通过其他方式获取,比如,电子设备还可以获取第一数量的样本轨迹检测数据之外的其他样本轨迹检测数据,并将其他样本轨迹检测数据构成的集合确定为指纹测试集。其中,其他样本轨迹检测数据同样是针对同一室内楼层的样本轨迹检测数据。
在一些实施例中,电子设备基于第二指纹库对初始分类模型进行训练得到第二分类模型的操作,基于指纹测试集通过第二分类模型对第二指纹库进行数据扩展,得到第一指纹库的操作,以及基于第一指纹库对第二分类模型进行迭代训练得到第一分类模型的操作均可以参考下述图10所示的对指纹库进行构建的方法。
在本申请实施例中,在需要进行室内定位的情况下,电子设备可以获取定位设备的轨迹检测数据,然后根据轨迹检测数据,通过第一分类模型确定定位设备所处的楼层。由于第一分类模型是根据经过数据扩展的第一指纹库训练得到,而第一指纹库是基于指纹测试集对第二指纹库进行数据扩展后得到,从而第一指纹库中的数据量较为可靠,进而第一分类模型的定位准确性也得到了提升。
请参考图10,图10是根据一示例性实施例示出的一种指纹库的构建方法流程示意图。作为示例而非限定,这里以该方法应用于具有定位功能的电子设备中为例进行说明,该方法可以包括如下部分或者全部内容:
步骤1001:获取第二指纹库和指纹测试集。
需要说明的是,第二指纹库包括多个样本轨迹检测数据,该多个样本轨迹检测数据中每个样本轨迹检测数据均带有楼层标签。
在一些实施例中,电子设备获取第二指纹库和指纹测试集的操作可以参考下述步骤A1-步骤A4的操作。
步骤A1:电子设备获取第一数量的样本轨迹检测数据,该第一数量的样本轨迹检测数据至少包括平层样本轨迹检测数据。
在一些实施例中,在构建指纹库的过程中,通常需要人工获取样本轨迹检测数据,也即是,采集人员携带用于进行数据采集的电子设备设备在当前所处室内环境的各个楼层中采集样本轨迹检测数据,并对每个样本轨迹检测数据分配对应的楼层标签,然后将采集的携带有楼层标签的各个样本轨迹检测数据发送给电子设备,从而电子设备能够获取到第一数量的样本轨迹检测数据。
步骤A2:电子设备从该第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库。
由于采集人员在进行数据采集的过程中,除了采集到平层样本轨迹检测数据外,也可能会采集到跨层样本轨迹检测数据,而平层样本轨迹检测数据是对定位具有作用的数据,因此,电子设备可以从第一数量的样本轨迹中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库。又由于在后续进行模型训练后,为了验证模型训练结果,通常情况下还会设置指纹测试集,因此,电子设备可以将第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合确定为指纹测试集。
需要说明的是,平层样本轨迹检测数据为用于数据采集的电子设备在同一楼层中采集的样本轨迹检测数据,跨层样本轨迹检测数据为用于数据采集的电子设备在不同楼层之间采集的样本轨迹检测数据。为了便于对不同类型的样本轨迹检测数据进行理解,参见图11,本申请实施例提供了一种不同类型的样本轨迹检测数据的示意图,其中,本申请实施例中仅以图11中所示的样本轨迹检测数据为例进行说明,并不对本申请实施例构成限定。
需要说明的是,该第二数量为根据需求预先设置的数量,比如,该第二数量为100或200等。
由于在一些情况下,有的样本轨迹检测数据中包括的轨迹点数量较多,可能会对后续进行定位的计算量带来麻烦,因此,电子设备从第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库之前,还可以对包括的轨迹点数量较多的样本轨迹检测数据进行一些处理,以减少样本轨迹检测数据中的轨迹点数量。
在一些实施例中,在第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理,得到第三数量的样本轨迹检测数据,该第三数量的样本轨迹检测数据中的各个样本轨迹检测数据的轨迹点数量小于或等于数量阈值。这样一来,电子设备可以从第三数量的样本轨迹检测数据中随机选择第二数量的样本轨迹检测数据,得到初始指纹库。
由于在样本轨迹检测数据中包括的轨迹点数量大于数量阈值的情况下,说明后续基于该样本轨迹检测数据进行定位操作时,将带来计算上的麻烦,因此,电子设备可以对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理。
需要说明的是,数量阈值可以根据需求预先进行设置,比如,该数量阈值可以为15、20或者30等等。
值得说明的是,通过对较长的样本轨迹检测数据进行分割,从而减少了较长的样本轨迹检测数据中包括的轨迹点数量,进而降低了后续基于样本轨迹检测数据进行计算的计算量。
作为一个示例,在第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,电子设备对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理的操作包括:在第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,以划分数值为间隔对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割,得到第四数量的样本轨迹检测数据,该划分数值为小于或等于数量阈值的数值;在第四数量的样本轨迹检测数据中包括轨迹点数量小于划分数值的样本轨迹检测数据的情况下,将轨迹点数量小于划分数值的样本轨迹检测数据删除,得到第三数量的样本轨迹检测数据。
需要说明的是,划分数值同样可以根据需求预先进行设置,且划分数值可以与数量阈值相同,也可以小于数量阈值,本申请实施例对不做具体限制。
由于在样本轨迹检测数据中包括的轨迹点数量太少的情况下,该样本轨迹检测数据可能会影响模型训练的准确度,因此,电子设备可以将轨迹点数量小于划分数值的样本轨迹检测数据删除。
值得说明的是,通过划分数值为间隔对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割,不仅能够扩展样本轨迹检测数据的数量,同时还能够降低后续进行模型训练时的计算量,并提高模型训练的准确度。
由于平层样本轨迹数据为进行模型训练的样本轨迹数据,因此,电子设备在对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理的情况下,可以对轨迹点数量大于数量阈值的平层样本轨迹检测数据进行分割处理。
步骤A3:电子设备将该第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合确定为指纹测试集。
在一些实施例中,电子设备不仅可以将该第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合确定为指纹测试集,还可以通过其他方式确定,比如,电子设备还可以获取第一数量的样本轨迹检测数据之外的其他样本轨迹检测数据,并将其他样本轨迹检测数据构成的集合确定为指纹测试集。其中,其他样本轨迹检测数据同样是针对同一室内楼层的样本轨迹检测数据。
步骤A4:电子设备基于初始指纹库和指纹测试集,对初始指纹库进行数据扩展处理,得到第二指纹库。
由于在初始指纹库中的样本轨迹检测数据的数量较少的情况下,无论对于模型训练的准确性还是后续进行定位的准确性都有影响,因此,为了提高后续模型训练准确性和定位的准确性,电子设备可以基于初始指纹库和指纹测试集,对初始指纹库进行数据扩展处理。
值得说明的是,通过指纹测试集对初始指纹库进行扩展处理,从而保证了第二指纹库中的样本轨迹检测数据的数据量,提高了第二指纹库的可靠性。
在一种可能的实现方式中,电子设备基于初始指纹库和指纹测试集,对初始指纹库进行数据扩展处理的操作包括:依次遍历指纹测试集中的各个样本轨迹检测数据;确定第二样本轨迹检测数据与初始指纹库中的每个样本轨迹检测数据之间的欧式距离和杰卡德距离,该第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;在初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从至少一个第三样本轨迹检测数据中确定与第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,第三样本轨迹检测数据是指与第二样本轨迹检测数据之间的欧氏距离小于第一距离阈值,且与第二样本轨迹检测数据之间的杰卡德距离小于第二距离阈值的样本轨迹检测数据;将第二样本轨迹检测数据的楼层标签更新为所确定的第三样本轨迹检测数据的楼层标签;将标签更新后的第二样本轨迹检测数据添加至初始指纹库中。
由于欧式距离和杰卡德距离(Jaccard距离)能够描述两个数据之间的相似度,且距离越小相似度越大,因此,电子设备可以确定第二样本轨迹检测数据与初始指纹库中的每个样本轨迹检测数据之间的欧式距离和杰卡德距离。
在一些实施例中,电子设备将标签更新后的第二样本轨迹检测数据添加至初始指纹库的同时,将第二样本轨迹检测数据从指纹测试集中删除。
在一些实施例中,在不存在至少一个第三样本轨迹检测数据的情况下,电子设备可以结束对初始指纹库的扩展。
值得说明的是,通过从至少一个第三样本轨迹检测数据中确定与第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,从而保证了对初始指纹库进行扩展的合理性。
为了便于确定第二样本轨迹检测数据与初始指纹库中每个样本轨迹检测数据之间的欧式距离和杰卡德距离,对于指纹测试集中的每个样本轨迹检测数据中的每个轨迹点以及初始指纹库中每个样本轨迹检测数据中的每个轨迹点,电子设备可以通过m个wifi信号强度表示,其中,m为当前室内环境内安装的无线接入点(Access Point,AP)的个数。比如,m可以为8000、10000或者100等。
示例性地,该初始指纹库F可以通过下述第一公式(1)表示,其中,在下述第一公式(1)中,初始指纹库F包括N条样本轨迹检测数据;任意一个样本轨迹检测数据Bi中包括x个轨迹点,不同的样本轨迹检测数据包括的轨迹点的数量可能不相同,因此,x的取值为可变数值;每个轨迹点Ci由m个WiFi信号强度表示,AP1表示AP1对应的wifi信号的wifi信号强度。
/>
示例性地,指纹测试集T可以通过下述第二公式(2)表示,其中,在下述第二公式(2)中,指纹测试集T中包括P条样本轨迹检测数据,任意一个样本轨迹检测数据Ai中包括x个轨迹点,同理,x的取值为可变数值;每个轨迹点Di由m个WiFi信号强度表示,AP1表示AP1对应的wifi信号的wifi信号强度。
在一些实施例中,电子设备可以通过下述第三公式(3)确定第二样本轨迹检测数据与初始指纹库中每个样本轨迹检测数据之间的欧式距离。
dAi_F=mini∈(1,N)|Aj-Bi| (3)
需要说明的是,在上述第三公式(3)中,dAj_F为第二样本轨迹检测数据与初始指纹库中任意一个样本轨迹检测数据之间的欧式距离,Aj为第二样本轨迹检测数据,Bi为初始指纹库中任意一个样本轨迹检测数据。
在一些实施例中,电子设备可以通过下述第四公式(4)确定第二样本轨迹检测数据与初始指纹库中每个样本轨迹检测数据之间的杰卡德距离。
需要说明的是,在上述第四公式(4)中,为第二样本轨迹检测数据与初始指纹库中任意一个样本轨迹检测数据之间的杰卡德距离,Aj为第二样本轨迹检测数据,Bi为初始指纹库中任意一个样本轨迹检测数据。
由于电子设备可以确定第二样本轨迹检测数据与初始指纹库中每个样本轨迹检测数据之间的欧式距离和杰卡德距离,因此,电子设备需要确定同时满足欧式距离要求和杰卡德距离要求的样本轨迹检测数据,即电子设备需要确定与第二样本轨迹检测数据之间的欧氏距离小于第一距离阈值,且与第二样本轨迹检测数据之间的杰卡德距离小于第二距离阈值的样本轨迹检测数据的至少一个第三样本轨迹检测数据。
需要说明的是,第一距离阈值和第二距离阈值均可以根据需求预先进行设置。且第一距离阈值和第二距离阈值可以为固定阈值,也可以为动态阈值。
由于在构建指纹库的过程中,电子设备从每个楼层对应的样本轨迹检测数据中选择固定数量的样本轨迹检测数据加入至指纹库中,而人工采集的样本轨迹检测数据通常具有局限性,比如,人工采集的样本轨迹检测数据呈现数据分布不均匀的现象,即有的楼层对应的样本轨迹检测数据的数量较多,而有的楼层对应的样本轨迹检测数据的数量较少,甚至有的楼层对应的样本轨迹检测数据的数量可能无法达到需要的数量。因此,第一距离阈值和第二距离阈值也可以为动态阈值,且第一距离阈值和第二距离阈值均可以根据初始指纹库中每个楼层所对应的样本轨迹检测数据的数量确定。其中,在任意一个楼层对应的样本轨迹检测数据的数量较少的情况下,为了对该楼层对应的样本轨迹检测数据进行大量的数据扩展,该楼层对应的第一距离阈值和第二距离阈值均比较大;在任意一个楼层对应的样本轨迹检测数据的数量较多的情况下,该楼层对应的第一距离阈值和第二距离阈值均比较小。
示例性地,电子设备中设置有数量、第一距离阈值和第二距离阈值之间的对应关系,因此,电子设备可以根据初始指纹数据库中每个楼层对应的样本轨迹检测数据的数量从该对应关系中,确定每个样本轨迹检测数据对应的第一距离阈值和第二距离阈值。
由于第一距离阈值和第二距离阈值为动态阈值,因此,电子设备在确定第二样本轨迹检测数据与初始指纹库中的每个样本轨迹检测数据之间的欧式距离和杰卡德距离之后,可以根据初始指纹库中每个楼层对应的样本轨迹检测数据的数量,确定每个样本轨迹检测数据对应的第一距离阈值和第二距离阈值,然后根据每个样本轨迹检测数据对应的第一距离阈值和第二距离阈值,确定是否存在至少一个第三样本轨迹检测数据;在存在至少一个第三样本轨迹检测数据的情况下,从至少一个第三样本轨迹检测数据中确定相似度最大的第三样本轨迹检测数据,将第二样本轨迹检测数据的楼层标签更新为所确定的第三样本轨迹检测数据的楼层标签,并将标签更新后的第二样本轨迹检测数据添加至初始指纹库中,同时,将第二样本轨迹检测数据从指纹测试集中删除。在不存在至少一个第三样本轨迹检测数据的情况下,结束对初始指纹库的扩展。示例性地,该过程可以通过下述图12所示的示意图表示。
值得说明的是,通过设置第一距离阈值和第二距离阈值,从而在将标签更新后的第三样本轨迹检测数据加入至初始指纹库中后,使得第二指纹库中各个楼层对应的样本轨迹检测数据更加均衡。
在一些实施例中,在初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,电子设备从至少一个第三样本轨迹检测数据中确定与第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据的操作包括:在初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从至少一个第三样本轨迹检测数据中获取与第二样本轨迹数据之间的欧氏距离最小的第三样本轨迹检测数据;或者,在初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从至少一个第三样本轨迹检测数据中获取与第二样本轨迹数据之间的杰卡德距离最小的第三样本轨迹检测数据。
由于欧式距离越小,相似度越大,因此,在初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,电子设备可以从至少一个第三样本轨迹中选择与第二样本轨迹数据之间的欧式距离最小的第三样本轨迹检测数据,所选择的第三样本轨迹检测数据为与第二样本轨迹检测数据之间的相似度最大的样本轨迹检测数据。当然,由于杰卡德距离同样可以衡量两个数据之间的相似度,且该杰卡德距离越小,相似度越大,因此,在初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,电子设备也可以从至少一个第三样本轨迹中选择与第二样本轨迹数据之间的杰卡德距离最小的第三样本轨迹检测数据,所选择的第三样本轨迹检测数据为与第二样本轨迹检测数据之间的相似度最大的样本轨迹检测数据。
值得说明的是,由于欧氏距离和杰卡德距离都可以描述两个数据之间的相似度,因此,通过欧式距离或杰卡德距离,从至少一个第三样本轨迹检测数据中选择与第二样本轨迹检测数据之间的相似度最大的第三样本轨迹检测数据,可以使得选择出的第三样本轨迹检测数据更加准确。
在一些实施例中,由于欧氏距离和杰卡德距离均可以描述两个数据之间的相似度,在两个数据之间的欧式距离最小的情况下,这两个数据之间的杰卡德距离也可能是最小的,因此,电子设备不仅可以按照上述方式从至少一个第三样本轨迹检测数据中确定与第二样本轨迹检测数据的相似度最大的第三样本轨迹检数据,还可以通过其他方式确定。比如,在初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从至少一个第三样本轨迹检测数据中获取与第二样本轨迹数据之间的欧氏距离最小,且同时与第二样本轨迹数据之间的杰卡德距离最小的第三样本轨迹检测数据。
在另一种可能的实现方式中,电子设备基于初始指纹库和指纹测试集,对初始指纹库进行数据扩展处理的操作包括:依次遍历指纹测试集中的各个样本轨迹检测数据;确定第二样本轨迹检测数据与初始指纹库中的每个样本轨迹检测数据之间的相似度,得到多个相似度,该第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;将多个相似度中的最大相似度大于或等于相似度阈值的情况下,将第二样本轨迹检测数据的楼层标签更新为最大相似度对应的样本轨迹检测数据的楼层标签;将标签更新后的第二样本轨迹检测数据添加至初始指纹库中。
作为一个示例,电子设备可以通过第二样本轨迹检测数据与初始指纹库中每个样本轨迹检测数据之间的欧氏距离、杰卡德距离、余弦距离、曼哈顿距离、切比雪夫距离等中的任意一个距离来表示第二样本轨迹检测数据与初始指纹库中每个样本轨迹检测数据之间的相似度。
需要说明的是,相似度阈值可以根据电子设备选择的相似度算法预先进行设置。
值得说明的是,通过不同方式对初始指纹库进行数据扩展处理,从而增加了确定数据扩展方式的丰富性。
步骤1002:基于第二指纹库对初始分类模型进行迭代训练,得到第二分类模型。
需要说明的是,电子设备设备基于第二指纹库对初始分类模型进行迭代训练,得到第二分类模型的操作可以包括多种不同的方式,比如,电子设备可以将第二指纹库中的每个样本轨迹检测数据输入至初始分类模型中,基于每个样本轨迹检测数据中每个轨迹点对应的WiFi信号强度对初始分类模型进行训练,之后根据对每个样本轨迹检测数据中每个轨迹点的训练结果,继续进行迭代训练,得到第二分类模型。
由于每个样本轨迹检测数据中每个轨迹点可以通过m个WiFi信号强度表示,且根据轨迹点的位置不同,对应的m个WiFi信号强度也不同,但是每个轨迹点均属于同一楼层,也即是,每个样本轨迹检测数据中每个轨迹点对应的楼层标签相同。在任意一个样本轨迹检测数据包括多个轨迹点的情况下,该样本轨迹检测数据对应有多组m个WiFi信号强度,且多组m个WiFi信号强度对应的楼层标签也相同,因此,为了使初始分类模型得到充分训练,电子设备可以基于每个样本轨迹检测数据中每个轨迹点对应的WiFi信号强度对初始分类模型进行训练。在一些实施例中,电子设备基于每个样本轨迹检测数据中每个轨迹点对应的WiFi信号强度对初始分类模型进行训练的方式也包括多种方式,本申请实施例对此不再进行一一赘述。
值得说明的是,电子设备基于每个样本轨迹检测数据中每个轨迹点对应的WiFi信号强度对初始分类模型进行训练,可以使初始分类模型能够识别每个楼层的轨迹点对应的WiFi信号强度的特征,进而后续可以识别到不属于同一楼层中的轨迹点。
在一些实施例中,电子设备在对基于第二指纹库对初始分类模型进行迭代训练,得到第二分类模型之前,还可以对第二指纹库中的每个样本轨迹检测数据进行降维处理。
示例性地,电子设备可以通过主成分分析(Principal Component Analysis,PCA)或奇异值分解(Singular Value Decomposition,SVD)等算法对第二指纹库中的每个样本轨迹检测数据进行降维处理,使得降维处理后的每个样本轨迹检测数据的维度为目标维度。
需要说明的是,该目标维度为预先根据需求设置的维度,比如,该目标维度为64维。
步骤1003:通过第二分类模型对指纹测试集中的样本轨迹检测数据进行遍历处理。
为了确定第二分类模型的定位性能,电子设备可以基于指纹测试集对第二分类模型进行测试。也即是,电子设备可以通过第二分类模型对指纹测试集中的样本轨迹检测数据进行遍历处理。
在一些实施例中,电子设备可以将指纹测试集中的每个样本轨迹检测数据输入至第二分类模型中,并通过第二分类模型对指纹测试集中的每个样本轨迹检测数据进行分类处理,以完成对指纹测试集中的样本轨迹检测数据进行的遍历处理。
在一些实施例中,电子设备在通过第二分类模型对指纹测试集中的样本轨迹检测数据进行遍历处理之前,还可以对指纹测试集中的每个样本轨迹检测数据进行降维处理。且电子设备对第二指纹库中的每个样本轨迹检测数据的降维处理可以与对指纹测试集中的每个样本轨迹检测数据的降维处理同时进行,当然也可以先对第二指纹库中的每个样本轨迹检测数据进行降维处理,或者,先对指纹测试集中的每个样本轨迹检测数据进行降维处理,本申请实施例对降维处理顺序不做具体限制。
示例性地,电子设备可以通过PCA或SVD等算法对指纹测试集中的每个样本轨迹检测数据进行降维处理,使得降维处理后的每个样本轨迹检测数据的维度为目标维度。
步骤1004:在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至第二指纹库中。
为了提升指纹库的可靠性,电子设备在基于指纹测试集测试对第二分类模型的定位性能进行测试的过程中,还可以将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至第二指纹库中。
在一些实施例中,分类结果包括楼层标签和楼层标签对应的概率值;电子设备在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至第二指纹库中的操作包括:在遍历过程中,根据第一样本轨迹检测数据对应的分类结果中的概率值,确定第一样本轨迹检测数据对应的分类结果置信度,第一样本轨迹检测数据为当前遍历到的指纹测试集中的任意一个样本轨迹检测数据;在第一样本轨迹检测数据对应的分类结果置信度大于或等于置信度阈值的情况下,将第一样本轨迹检测数据的楼层标签更新为第一样本轨迹检测数据对应的分类结果中的楼层标签;将标签更新后的第一样本轨迹检测数据添加至第二指纹库中。
由于电子设备通过第二分类模型对第一样本轨迹检测数据进行分类处理后,分类结果可以包括多个楼层标签和多个楼层标签中每个楼层标签对应的概率值,因此,电子设备可以从多个楼层标签中每个楼层标签对应的概率值中获取最大概率值,并将最大概率值确定为分类结果置信度。
在一些实施例中,电子设备还可以通过其他方式确定分类结果置信度,比如,电子设备还可以从多个楼层标签中每个楼层标签对应的概率值中获取最大概率值;将最大概率值乘以预设系数,得到乘积结果;将该乘积结果确定为分类结果置信度。或者,电子设备从多个楼层标签中每个楼层标签对应的概率值中选择大于预设概率值的至少一个概率值;确定获取的至少一个概率值的平均值;将该平均值确定为分了结果置信度。
需要说明的是,置信度阈值能够根据需求事先进行设置,比如,该置信度阈值可以为0.7、0.8或者0.9等。该预设概率值可以预先进行设置,比如,该预设概率值可以为40%、35%或30%等。
在一些实施例中,电子设备将标签更新后的第一样本轨迹检测数据添加至第二指纹库中的同时,还可以将第一样本轨迹检测数据从指纹测试集中删除。
值得说明的是,在基于指纹测试集对第二分类模型进行测试的过程中,还可以对第二指纹库进行数据扩展,从而使模型训练和指纹库构建达到相辅相成的效果。
步骤1005:当遍历结束时,基于第一指纹库对第二分类模型进行迭代训练,得到第一分类模型。
需要说明的是,第一指纹库是在遍历过程中对第二指纹库进行扩展后得到,也即是,该第一指纹库是按照上述步骤1004的操作在遍历过程中将指纹测试集中分类结果置信度大于或等于置信度阈值的第一样本轨迹检测数据更新标签后添加至第二指纹库后得到。该第一分类模型能够基于任意的定位设备的轨迹检测数据确定定位设备所处的楼层。
在一些实施例中,电子设备通过第二分类模型对指纹测试集中的样本轨迹检测数据进行遍历处理之后,还可以获取第二分类模型对指纹测试集中的样本轨迹检测数据进行分类的正确量,以及通过第二分类模型对指纹测试集中的样本轨迹检测数据进行遍历处理后,添加至第二指纹库中的样本轨迹检测数据的添加量;将正确量除以指纹测试集的样本总量,得到分类准确率,指纹测试集的样本总量为通过第二分类模型将指纹测试集中的样本轨迹检测数据添加至第二指纹库之前,该指纹测试集中所包括的样本轨迹检测数据的数量;将添加量除以样本总量,得到轨迹利用率,该分类准确率和该轨迹利用率用于评估第一分类模型的定位性能。
值得说明的是,通过确定第二分类模型的分类准确率和该轨迹利用率,从而使得能够利用具体数据对第二分类模型的定位性能进行评估,提高了对第二分类模型的定位性能进行评估的准确性。
由于通过第二分类模型对指纹测试集的样本轨迹数据进行遍历处理之后,电子设备会基于第一指纹库对第二分类模型进行迭代训练,得到第一分类模型,也即是,第一分类模型是在第二分类模型的基础上迭代训练得到,第一分类模型的定位性能有很大的可能性会高于或等于第二分类模型的定位性能。因此,第二分类模型的分类准确率和轨迹利用率可以用于评估第二分类模型的定位性能,也可以用于评估第一分类模型的定位性能。
需要说明的是,对第一分类模型的定位性能的评估可以是人为进行的,也可以是电子设备根据分类准确率和轨迹利用率进行的。
作为一个示例,电子设备可以将分类准确率与准确率阈值进行比较,并将轨迹利用率与利用率阈值进行比较;在分类准确率大于或等于准确率阈值,且轨迹利用率大于或等于利用率阈值的情况下,确定第一分类模型的定位性能为一级性能;在分类准确率小于准确率阈值,或者,轨迹利用率小于利用率阈值的情况下,确定第一分类模型的定位性能为二级性能;在分类准确率小于准确率阈值,且轨迹利用率小于利用率阈值的情况下,确定第一分类模型的定位性能为三级性能。其中,一级性能的分类模型的定位准确性大于二级性能的分类模型的定位准确性,二级性能的分类模型的定位准确性大于三级性能的分类模型的定位准确性。
需要说明的是,准确率阈值和利用率阈值均可以预先进行设置,比如,该准确率阈值可以为90%或者80%等,利用率阈值可以为60%或者70%等。
在一些实施例中,电子设备基于第一指纹库对第二分类模型进行迭代训练,得到第一分类模型之后,还可以继续通过第一分类模型对指纹测试集中剩余的样本轨迹数据进行遍历处理。且通过第一分类模型对指纹测试集中剩余的样本轨迹数据进行遍历处理的操作与通过第二分类模型对指纹测试集中的样本轨迹数据进行遍历处理的操作相同或相似,本申请实施例对此不再进行一一赘述。
在本申请实施例中,在需要对定位设备进行室内定位的情况下,可以获取定位设备的轨迹检测数据,然后根据轨迹检测数据,通过第一分类模型确定定位设备所处的楼层。由于第一分类模型是根据经过数据扩展的第一指纹库训练得到,而第一指纹库是基于指纹测试集对第二指纹库进行数据扩展后得到,从而第一指纹库中的数据量较为可靠,进而第一分类模型的定位准确性也得到了提升。也即是本申请实施例中电子设备不仅扩展了指纹库中的数据量,提高了指纹库的可靠性,同时提高了分类模型的定位准确性。
请参考图13,图13是根据另一示例性实施例示出的一种指纹库的构建方法流程示意图。作为示例而非限定,这里以该方法应用于具有定位功能的电子设备中为例进行说明,该方法可以包括如下部分或者全部内容:
步骤1301:获取人工采集的第一数量的样本轨迹检测数据。
步骤1302:确定第一数量的样本轨迹检测数据中是否包括轨迹点数量大于数量阈值的平层样本轨迹检测数据;若存在,则执行下述步骤1303的操作;若不存在,则执行下述步骤1304的操作。
步骤1303:在第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的评测样本轨迹检测数据的情况下,对轨迹点数量大于数量阈值的平层样本轨迹检测数据进行分割处理,得到第三数量的样本轨迹检测数据。
步骤1304:通过m个WiFi信号强度表示每个样本轨迹检测数据中每个轨迹点。
步骤1305:随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库。
需要说明的是,在第一数量的样本轨迹检测数据中不包括轨迹点数量大于数量阈值的平层样本轨迹检测数据的情况下,电子设备从第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库。在第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的平层样本轨迹检测数据的情况下,电子设备从第三数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库。
步骤1306:将随机选择后剩余的样本轨迹检测数据构成的集合确定为指纹测试集。
步骤1307:基于初始指纹库和指纹测试集,对初始指纹库进行数据扩展处理,得到第二指纹库。
步骤1308:基于第二指纹库对初始分类模型进行迭代训练,得到第二分类模型。
步骤1309:通过第二分类模型对指纹测试集中的样本轨迹检测数据进行遍历处理。
步骤1310:在遍历过程中,确定是否存在分类结果置信度大于或等于置信度阈值的样本轨迹检测数据,若存在,则执行下述步骤1311的操作,若不存在,则执行下述步骤1313的操作。
步骤1311:将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至第二指纹库中。
步骤1312:基于第一指纹库对第二分类模型进行迭代训练,得到第一分类模型。
需要说明的是,在得到第一分类模型的情况下,电子设备还可以继续执行下述步骤1313的操作。
步骤1313:确定第二分类模型的分类准确率和轨迹利用率。
步骤1314:结束模型训练。
需要说明的是,上述步骤1301-步骤1314的操作可以参考上述步骤后1001-步骤1005的操作,本申请实施例对此不再进行一一赘述。
在本申请实施例中,在需要对定位设备进行室内定位的情况下,可以获取定位设备的轨迹检测数据,然后根据轨迹检测数据,通过第一分类模型确定定位设备所处的楼层。由于第一分类模型是根据经过数据扩展的第一指纹库训练得到,而第一指纹库是基于指纹测试集对第二指纹库进行数据扩展后得到,从而第一指纹库中的数据量较为可靠,进而第一分类模型的定位准确性也得到了提升。也即是本申请实施例中电子设备不仅扩展了指纹库中的数据量,提高了指纹库的可靠性,同时提高了分类模型的定位准确性。
图14是本申请实施例提供的一种室内定位装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图3所示的计算机设备。参见图14,该装置包括:获取模块1401和确定模块1402。
获取模块1401,用于响应于对定位设备的定位操作,获取所述定位设备的轨迹检测数据;
确定模块1402,用于基于所述轨迹检测数据,通过第一分类模型确定所述定位设备所处的楼层;
其中,所述第一分类模型为预先基于第一指纹库对第二分类模型进行迭代训练得到,所述第一指纹库是基于指纹测试集通过所述第二分类模型对第二指纹库进行数据扩展后得到,所述第二分类模型是基于所述第二指纹库对初始分类模型进行训练得到,所述第二指纹库包括多个样本轨迹检测数据,所述多个样本轨迹检测数据中的每个样本轨迹检测数据均带有楼层标签。
作为本申请的一个示例,所述第一指纹库是通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理,在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中得到。
作为本申请的一个示例,所述第二指纹库为基于初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理后得到,所述初始指纹库为从获取的第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据得到。
作为本申请的一个示例,所述指纹测试集为从所述第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合。
在本申请实施例中,在需要进行室内定位的情况下,可以获取定位设备的轨迹检测数据,然后根据轨迹检测数据,通过第一分类模型确定定位设备所处的楼层。由于第一分类模型是根据经过数据扩展的第一指纹库训练得到,而第一指纹库是基于指纹测试集对第二指纹库进行数据扩展后得到,从而第一指纹库中的数据量较为可靠,进而第一分类模型的定位准确性也得到了提升。
需要说明的是:上述实施例提供的室内定位装置在进行室内定位时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
上述实施例提供的室内定位装置与室内定位方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
图15是本申请实施例提供的一种指纹库的构建装置的结构示意图,该装置可以由软件、硬件或者两者的结合实现成为计算机设备的部分或者全部,该计算机设备可以为图3所示的计算机设备。参见图15,该装置包括:第一获取模块1501、第一训练模块1502、遍历模块1503、添加模块1504和第二训练模块1505。
第一获取模块1501,用于获取第二指纹库和指纹测试集,所述第二指纹库包括多个样本轨迹检测数据,所述多个样本轨迹检测数据中每个样本轨迹检测数据均带有楼层标签;
第一训练模块1502,用于基于所述第二指纹库对初始分类模型进行迭代训练,得到第二分类模型;
遍历模块1503,用于通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理;
添加模块1504,用于在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中;
第二训练模块1505,用于当遍历结束时,基于第一指纹库对所述第二分类模型进行迭代训练,得到第一分类模型,所述第一指纹库是在遍历过程中对所述第二指纹库进行扩展后得到,所述第一分类模型能够基于任意的定位设备的轨迹检测数据确定所述定位设备所处的楼层。
作为本申请的一个示例,所述分类结果包括楼层标签和所述楼层标签对应的概率值;
所述添加模块1504用于:
在遍历过程中,根据第一样本轨迹检测数据对应的分类结果中的概率值,确定所述第一样本轨迹检测数据对应的分类结果置信度,所述第一样本轨迹检测数据为当前遍历到的所述指纹测试集中的任意一个样本轨迹检测数据;
在所述第一样本轨迹检测数据对应的分类结果置信度大于或等于置信度阈值的情况下,将所述第一样本轨迹检测数据的楼层标签更新为所述第一样本轨迹检测数据对应的分类结果中的楼层标签;
将标签更新后的所述第一样本轨迹检测数据添加至所述第二指纹库中。
作为本申请的一个示例,所述第一获取模块1501用于:
获取第一数量的样本轨迹检测数据,所述第一数量的样本轨迹检测数据至少包括平层样本轨迹检测数据;
从所述第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库;
将所述第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合确定为所述指纹测试集;
基于所述初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理,得到所述第二指纹库。
作为本申请的一个示例,所述第一获取模块1501用于:
依次遍历所述指纹测试集中的各个样本轨迹检测数据;
确定第二样本轨迹检测数据与所述初始指纹库中的每个样本轨迹检测数据之间的欧式距离和杰卡德距离,所述第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中确定与所述第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,第三样本轨迹检测数据是指与所述第二样本轨迹检测数据之间的欧氏距离小于第一距离阈值,且与所述第二样本轨迹检测数据之间的杰卡德距离小于第二距离阈值的样本轨迹检测数据;
将所述第二样本轨迹检测数据的楼层标签更新为所确定的第三样本轨迹检测数据的楼层标签;
将标签更新后的所述第二样本轨迹检测数据添加至所述初始指纹库中。
作为本申请的一个示例,所述第一获取模块1501用于:
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中获取与所述第二样本轨迹数据之间的欧氏距离最小的第三样本轨迹检测数据;或者,
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中获取与所述第二样本轨迹数据之间的杰卡德距离最小的第三样本轨迹检测数据。
作为本申请的一个示例,所述第一获取模块1501用于:
依次遍历所述指纹测试集中的各个样本轨迹检测数据;
确定第二样本轨迹检测数据与所述初始指纹库中的每个样本轨迹检测数据之间的相似度,得到多个相似度,所述第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;
将所述多个相似度中的最大相似度大于或等于相似度阈值的情况下,将所述第二样本轨迹检测数据的楼层标签更新为最大相似度对应的样本轨迹检测数据的楼层标签;
将标签更新后的所述第二样本轨迹检测数据添加至所述初始指纹库中。
作为本申请的一个示例,所述第一获取模块1501还用于:
在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理,得到第三数量的样本轨迹检测数据,所述第三数量的样本轨迹检测数据中的各个样本轨迹检测数据的轨迹点数量小于或等于所述数量阈值;
从所述第三数量的样本轨迹检测数据中随机选择所述第二数量的平层样本轨迹检测数据,得到所述初始指纹库。
作为本申请的一个示例,所述第一获取模块1501用于:
在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于所述数量阈值的样本轨迹检测数据的情况下,以划分数值为间隔对轨迹点数量大于所述数量阈值的样本轨迹检测数据进行分割,得到第四数量的样本轨迹检测数据,所述划分数值为小于或等于所述数量阈值的数值;
在所述第四数量的样本轨迹检测数据中包括轨迹点数量小于所述划分数值的样本轨迹检测数据的情况下,将轨迹点数量小于所述划分数值的样本轨迹检测数据删除。
作为本申请的一个示例,所述装置还包括:
第二获取模块,用于获取所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行分类的正确量,以及通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理后,添加至所述第二指纹库中的样本轨迹检测数据的添加量;
第一计算模块,用于将所述正确量除以所述指纹测试集的样本总量,得到所述分类准确率,所述指纹测试集的样本总量为通过所述第二分类模型将所述指纹测试集中的样本轨迹检测数据添加至所述第二指纹库之前,所述指纹测试集中所包括的样本轨迹检测数据的数量;
第二计算模块,用于将所述添加量除以所述样本总量,得到所述轨迹利用率,所述分类准确率和所述轨迹利用率用于评估所述第一分类模型的定位性能。
在本申请实施例中,由于第一分类模型是根据通过经过数据扩展的第一指纹库训练得到,而第一指纹库是基于指纹测试集对第二指纹库进行数据扩展后得到,从而第一指纹库中的数据量较为可靠,进而第一分类模型的定位准确性也得到了提升。
需要说明的是:上述实施例提供的指纹库的构建装置在构建指纹库时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将装置的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。
上述实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请实施例的保护范围。
上述实施例提供的指纹库的构建装置与指纹库的构建方法实施例属于同一构思,上述实施例中单元、模块的具体工作过程及带来的技术效果,可参见方法实施例部分,此处不再赘述。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意结合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络或其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,比如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(比如:同轴电缆、光纤、数据用户线(Digital Subscriber Line,DSL))或无线(比如:红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质,或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质(比如:软盘、硬盘、磁带)、光介质(比如:数字通用光盘(Digital Versatile Disc,DVD))或半导体介质(比如:固态硬盘(Solid State Disk,SSD))等。
以上所述为本申请提供的可选实施例,并不用以限制本申请,凡在本申请的揭露的技术范围之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (15)
1.一种室内定位方法,其特征在于,所述方法包括:
响应于对定位设备的定位操作,获取所述定位设备的轨迹检测数据;
基于所述轨迹检测数据,通过第一分类模型确定所述定位设备所处的楼层;
其中,所述第一分类模型为预先基于第一指纹库对第二分类模型进行迭代训练得到,所述第一指纹库是基于指纹测试集通过所述第二分类模型对第二指纹库进行数据扩展后得到,所述第二分类模型是基于所述第二指纹库对初始分类模型进行训练得到,所述第二指纹库包括多个样本轨迹检测数据,所述多个样本轨迹检测数据中的每个样本轨迹检测数据均带有楼层标签。
2.如权利要求1所述的方法,其特征在于,所述第一指纹库是通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理,在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中得到。
3.如权利要求1或2所述的方法,其特征在于,所述第二指纹库为基于初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理后得到,所述初始指纹库为从获取的第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据得到。
4.如权利要求3所述的方法,其特征在于,所述指纹测试集为从所述第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合。
5.一种指纹库的构建方法,其特征在于,所述方法包括:
获取第二指纹库和指纹测试集,所述第二指纹库包括多个样本轨迹检测数据,所述多个样本轨迹检测数据中每个样本轨迹检测数据均带有楼层标签;
基于所述第二指纹库对初始分类模型进行迭代训练,得到第二分类模型;
通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理;
在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中;
当遍历结束时,基于第一指纹库对所述第二分类模型进行迭代训练,得到第一分类模型,所述第一指纹库是在遍历过程中对所述第二指纹库进行扩展后得到,所述第一分类模型能够基于任意的定位设备的轨迹检测数据确定所述定位设备所处的楼层。
6.如权利要求5所述的方法,其特征在于,所述分类结果包括楼层标签和所述楼层标签对应的概率值;
所述在遍历过程中,将分类结果置信度大于或等于置信度阈值的样本轨迹检测数据添加至所述第二指纹库中,包括:
在遍历过程中,根据第一样本轨迹检测数据对应的分类结果中的概率值,确定所述第一样本轨迹检测数据对应的分类结果置信度,所述第一样本轨迹检测数据为当前遍历到的所述指纹测试集中的任意一个样本轨迹检测数据;
在所述第一样本轨迹检测数据对应的分类结果置信度大于或等于置信度阈值的情况下,将所述第一样本轨迹检测数据的楼层标签更新为所述第一样本轨迹检测数据对应的分类结果中的楼层标签;
将标签更新后的所述第一样本轨迹检测数据添加至所述第二指纹库中。
7.如权利要求5所述的方法,其特征在于,所述获取第二指纹库和指纹测试集,包括:
获取第一数量的样本轨迹检测数据,所述第一数量的样本轨迹检测数据至少包括平层样本轨迹检测数据;
从所述第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库;
将所述第一数量的样本轨迹检测数据中随机选择后剩余的样本轨迹检测数据构成的集合确定为所述指纹测试集;
基于所述初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理,得到所述第二指纹库。
8.如权利要求7所述的方法,其特征在于,所述基于所述初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理,包括:
依次遍历所述指纹测试集中的各个样本轨迹检测数据;
确定第二样本轨迹检测数据与所述初始指纹库中的每个样本轨迹检测数据之间的欧式距离和杰卡德距离,所述第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中确定与所述第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,第三样本轨迹检测数据是指与所述第二样本轨迹检测数据之间的欧氏距离小于第一距离阈值,且与所述第二样本轨迹检测数据之间的杰卡德距离小于第二距离阈值的样本轨迹检测数据;
将所述第二样本轨迹检测数据的楼层标签更新为所确定的第三样本轨迹检测数据的楼层标签;
将标签更新后的所述第二样本轨迹检测数据添加至所述初始指纹库中。
9.如权利要求8所述的方法,其特征在于,所述在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中确定与所述第二样本轨迹检测数据的相似度最大的第三样本轨迹检测数据,包括:
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中获取与所述第二样本轨迹检测数据之间的欧氏距离最小的第三样本轨迹检测数据;或者,
在所述初始指纹库中存在至少一个第三样本轨迹检测数据的情况下,从所述至少一个第三样本轨迹检测数据中获取与所述第二样本轨迹检测数据之间的杰卡德距离最小的第三样本轨迹检测数据。
10.如权利要求7所述的方法,其特征在于,所述基于所述初始指纹库和所述指纹测试集,对所述初始指纹库进行数据扩展处理,包括:
依次遍历所述指纹测试集中的各个样本轨迹检测数据;
确定第二样本轨迹检测数据与所述初始指纹库中的每个样本轨迹检测数据之间的相似度,得到多个相似度,所述第二样本轨迹检测数据为当前遍历到的样本轨迹检测数据;
将所述多个相似度中的最大相似度大于或等于相似度阈值的情况下,将所述第二样本轨迹检测数据的楼层标签更新为最大相似度对应的样本轨迹检测数据的楼层标签;
将标签更新后的所述第二样本轨迹检测数据添加至所述初始指纹库中。
11.如权利要求7-10中任一项所述的方法,其特征在于,所述从所述第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库之前,还包括:
在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理,得到第三数量的样本轨迹检测数据,所述第三数量的样本轨迹检测数据中的各个样本轨迹检测数据的轨迹点数量小于或等于所述数量阈值;
所述从所述第一数量的样本轨迹检测数据中随机选择第二数量的平层样本轨迹检测数据,得到初始指纹库,包括:
从所述第三数量的样本轨迹检测数据中随机选择所述第二数量的平层样本轨迹检测数据,得到所述初始指纹库。
12.如权利要求11所述的方法,其特征在于,所述在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于数量阈值的样本轨迹检测数据的情况下,对轨迹点数量大于数量阈值的样本轨迹检测数据进行分割处理,包括:
在所述第一数量的样本轨迹检测数据中包括轨迹点数量大于所述数量阈值的样本轨迹检测数据的情况下,以划分数值为间隔对轨迹点数量大于所述数量阈值的样本轨迹检测数据进行分割,得到第四数量的样本轨迹检测数据,所述划分数值为小于或等于所述数量阈值的数值;
在所述第四数量的样本轨迹检测数据中包括轨迹点数量小于所述划分数值的样本轨迹检测数据的情况下,将轨迹点数量小于所述划分数值的样本轨迹检测数据删除。
13.如权利要求5所述的方法,其特征在于,所述通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理之后,还包括:
获取所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行分类的正确量,以及通过所述第二分类模型对所述指纹测试集中的样本轨迹检测数据进行遍历处理后,添加至所述第二指纹库中的样本轨迹检测数据的添加量;
将所述正确量除以所述指纹测试集的样本总量,得到分类准确率,所述指纹测试集的样本总量为通过所述第二分类模型将所述指纹测试集中的样本轨迹检测数据添加至所述第二指纹库之前,所述指纹测试集中所包括的样本轨迹检测数据的数量;
将所述添加量除以所述样本总量,得到所述轨迹利用率,所述分类准确率和所述轨迹利用率用于评估所述第一分类模型的定位性能。
14.一种电子设备,其特征在于,所述电子设备包括:处理器和存储器,所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,当所述处理器执行所述指令时,所述电子设备用于执行如权利要求1-4中任一项所述的室内定位方法,或者,所述电子设备用于执行如权利要求5-13中任一项所述指纹库的构建方法。
15.一种计算机可读存储介质,用于存储一个或多个程序,其中所述一个或多个程序被配置为被一个或多个处理器执行,所述一个或多个程序包括指令,所述指令使得电子设备执行如权利要求1-4中任一项所述的室内定位方法,或者,所述指令使得电子设备执行如权利要求5-13中任一项所述的指纹库的构建方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211171058.3A CN116761249B (zh) | 2022-09-23 | 2022-09-23 | 室内定位方法、指纹库的构建方法、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211171058.3A CN116761249B (zh) | 2022-09-23 | 2022-09-23 | 室内定位方法、指纹库的构建方法、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116761249A CN116761249A (zh) | 2023-09-15 |
CN116761249B true CN116761249B (zh) | 2024-04-12 |
Family
ID=87953880
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211171058.3A Active CN116761249B (zh) | 2022-09-23 | 2022-09-23 | 室内定位方法、指纹库的构建方法、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116761249B (zh) |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162868A (zh) * | 2016-06-08 | 2016-11-23 | 南京理工大学 | 基于位置指纹的高效室内定位方法 |
CN107203754A (zh) * | 2017-05-26 | 2017-09-26 | 北京邮电大学 | 一种基于深度学习的车牌定位方法及装置 |
CN108984785A (zh) * | 2018-07-27 | 2018-12-11 | 武汉大学 | 一种基于历史数据和增量的指纹库的更新方法及装置 |
CN110636466A (zh) * | 2019-09-06 | 2019-12-31 | 联泰集群(北京)科技有限责任公司 | 一种机器学习下基于信道状态信息的WiFi室内定位*** |
WO2020215783A1 (zh) * | 2019-04-25 | 2020-10-29 | 华为技术有限公司 | 定位方法、装置及存储介质 |
CN112135250A (zh) * | 2020-08-12 | 2020-12-25 | 浙江大华技术股份有限公司 | 室内定位方法、装置、计算机设备和可读存储介质 |
CN112437485A (zh) * | 2020-10-29 | 2021-03-02 | 北京邮电大学 | 一种基于神经网络的指纹空间插值法的定位方法及装置 |
CN113747385A (zh) * | 2021-08-27 | 2021-12-03 | 中移(杭州)信息技术有限公司 | 室内定位方法、装置、设备及计算机可读存储介质 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10809349B2 (en) * | 2014-12-04 | 2020-10-20 | Here Global B.V. | Supporting positioning quality assurance |
-
2022
- 2022-09-23 CN CN202211171058.3A patent/CN116761249B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106162868A (zh) * | 2016-06-08 | 2016-11-23 | 南京理工大学 | 基于位置指纹的高效室内定位方法 |
CN107203754A (zh) * | 2017-05-26 | 2017-09-26 | 北京邮电大学 | 一种基于深度学习的车牌定位方法及装置 |
CN108984785A (zh) * | 2018-07-27 | 2018-12-11 | 武汉大学 | 一种基于历史数据和增量的指纹库的更新方法及装置 |
WO2020215783A1 (zh) * | 2019-04-25 | 2020-10-29 | 华为技术有限公司 | 定位方法、装置及存储介质 |
CN110636466A (zh) * | 2019-09-06 | 2019-12-31 | 联泰集群(北京)科技有限责任公司 | 一种机器学习下基于信道状态信息的WiFi室内定位*** |
CN112135250A (zh) * | 2020-08-12 | 2020-12-25 | 浙江大华技术股份有限公司 | 室内定位方法、装置、计算机设备和可读存储介质 |
CN112437485A (zh) * | 2020-10-29 | 2021-03-02 | 北京邮电大学 | 一种基于神经网络的指纹空间插值法的定位方法及装置 |
CN113747385A (zh) * | 2021-08-27 | 2021-12-03 | 中移(杭州)信息技术有限公司 | 室内定位方法、装置、设备及计算机可读存储介质 |
Non-Patent Citations (1)
Title |
---|
基于机器学习的室内无线指纹定位技术研究;谭航;中国优秀硕士论文;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN116761249A (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN113434288B (zh) | 内存管理的方法及电子设备 | |
WO2020259529A1 (zh) | 一种室内定位方法及电子设备 | |
WO2022100221A1 (zh) | 检索处理方法、装置及存储介质 | |
CN110866254B (zh) | 一种检测漏洞方法与电子设备 | |
CN114881711B (zh) | 基于请求行为进行异常分析的方法及电子设备 | |
CN115655310B (zh) | 数据的校准方法、电子设备及可读存储介质 | |
CN116070035B (zh) | 数据处理方法和电子设备 | |
CN116668580B (zh) | 场景识别的方法、电子设备及可读存储介质 | |
CN113409041B (zh) | 一种电子卡的选取方法、装置、终端以及存储介质 | |
CN116761249B (zh) | 室内定位方法、指纹库的构建方法、电子设备及存储介质 | |
CN114879879B (zh) | 一种显示健康码的方法、电子设备及存储介质 | |
CN116709501A (zh) | 业务场景识别方法、电子设备及存储介质 | |
CN109451295A (zh) | 一种获取虚拟信息的方法和*** | |
CN115543496A (zh) | 消息处理方法及相关装置 | |
CN116668576B (zh) | 获取数据的方法、设备、云端管理平台、***及存储介质 | |
CN117376830B (zh) | 地理围栏匹配方法、电子设备及计算机可读存储介质 | |
CN117128985B (zh) | 点云地图更新的方法及设备 | |
CN116723460B (zh) | 个人地理围栏的创建方法及其相关设备 | |
CN116088955B (zh) | 进程处理方法和终端设备 | |
CN115550844B (zh) | 区域划分方法、装置、电子设备和可读存储介质 | |
CN116668951B (zh) | 一种生成地理围栏的方法、电子设备及存储介质 | |
CN115712745B (zh) | 一种用户标注数据的获取方法、***及电子设备 | |
CN116437293B (zh) | 地理围栏的建立方法、服务器及通信*** | |
CN116027941B (zh) | 业务推荐方法和电子设备 | |
CN116033344B (zh) | 地理围栏的确定方法、设备及存储介质 |
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 | ||
GR01 | Patent grant |