An indoor fingerprint positioning method, device and computer readable storage medium
By using fuzzy clustering algorithms and an improved WKNN algorithm, the problems of non-optimal clustering and failure to consider boundary areas in indoor fingerprint positioning are solved, thereby improving positioning accuracy, especially in vector similarity judgment in high-dimensional data space.
Patent Information
- Application Number
- CN202111554842.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-12-17
- Publication Date
- 2026-01-16
- Estimated Expiration
- 2041-12-17
AI Technical Summary
In existing indoor fingerprint positioning methods, the number of clusters needs to be manually set during the clustering stage, and the initial cluster centers are random, resulting in non-optimal clustering. Hard clustering algorithms do not consider boundary regions, and the WKNN algorithm does not consider vector angles, which affects positioning accuracy.
Fuzzy clustering algorithm is used to determine the initial number of clusters and their centers, identify boundary regions, and train localization models within each cluster using an improved weighted K-nearest neighbor (WKNN) algorithm. Vector similarity is then determined by combining Euclidean distance and the cosine of the included angle.
The accuracy of indoor positioning has been improved by accurately dividing the boundary area through fuzzy clustering algorithm and using the improved WKNN algorithm to improve the accuracy of vector similarity judgment in high-dimensional data space, thereby enhancing positioning accuracy.
Smart Images

Figure CN116304770B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the field of mobile communication technology, and in particular to an indoor fingerprint positioning method, device and computer readable storage medium. BACKGROUND
[0002] The indoor fingerprint online positioning method is a model-based positioning method. In online positioning, firstly, a cluster cluster to which a to-be-positioned fingerprint belongs is determined, and then a precise positioning model corresponding to the cluster cluster is used to determine the position coordinates of the to-be-positioned fingerprint. Wherein, whether the cluster cluster to which the to-be-positioned fingerprint belongs is reasonable and the precision of the precise positioning model affect the precision of the indoor fingerprint positioning.
[0003] The related indoor fingerprint positioning method has the following problems:
[0004] 1. In the clustering stage, the number of cluster clusters needs to be set artificially according to experience, and the initial cluster center is randomly selected by the clustering algorithm, which leads to that the clustering of the fingerprint database is often not the optimal clustering, and further affects the final positioning precision;
[0005] 2. The hard clustering algorithm used in the clustering stage does not consider the intersection area of the cluster clusters, which is easy to lead to a large positioning error;
[0006] 3. The traditional WKNN algorithm is used in the positioning stage, and the angle between the fingerprint vector of the fingerprint database and the to-be-positioned fingerprint vector is not considered, which leads to the decline of the accuracy of the similarity judgment of the high-dimensional data space vector, and thus affects the positioning precision. SUMMARY
[0007] Therefore, the embodiments of the present application expect to provide an indoor fingerprint positioning method, device and computer readable storage medium.
[0008] To achieve the above-mentioned purpose, the technical scheme of the embodiments of the present application is as follows:
[0009] The embodiments of the present application provide an indoor fingerprint positioning method, which comprises:
[0010] determining the initial cluster cluster number and the initial cluster center of the fingerprint database based on a clustering algorithm;
[0011] based on the initial cluster cluster number and the initial cluster center, using a fuzzy clustering algorithm to cluster the fingerprint database to obtain each first cluster cluster; identifying the intersection area of each two cluster clusters in all the first cluster clusters, and dividing the sample points in each intersection area into a second cluster cluster, and obtaining a third cluster cluster; the third cluster cluster is the first cluster cluster from which the second cluster cluster is removed;
[0012] The positioning model corresponding to each cluster is trained based on an improved weighted K nearest neighbor (WKNN) algorithm in each of the first cluster, the second cluster and the third cluster, and is used for positioning the to-be-positioned point.
[0013] Optionally, before the initial cluster number and the initial cluster center of the fingerprint library are determined, the method further comprises:
[0014] The sample points initially collected in the fingerprint library are filtered based on a first preset threshold to obtain sample points with a signal strength value greater than or equal to the first preset threshold.
[0015] The filtering of the sample points in the fingerprint library based on the first preset threshold comprises:
[0016] When the signal strength value of the sample point is greater than or equal to the first preset threshold, the sample point is retained;
[0017] When the signal strength value of the sample point is less than the first preset threshold, the sample point is deleted.
[0018] The initial cluster number and the initial cluster center of the fingerprint library are determined based on a clustering algorithm, and the clustering algorithm comprises:
[0019] The initial cluster number of the fingerprint library is determined based on a point ordering and recognition clustering structure (OPTICS) density clustering algorithm, and the initial cluster center is calculated.
[0020] The fingerprint library is clustered based on the initial cluster number and the initial cluster center by using a fuzzy clustering algorithm, and the clustering algorithm comprises:
[0021] The fingerprint library is clustered based on the initial cluster number and the initial cluster center by using a fuzzy C-means clustering algorithm, and a membership matrix corresponding to each sample point is output.
[0022] The intersection region of two clusters in each of the first clusters is identified, and the identification comprises:
[0023] Based on the membership matrix and a second preset threshold, the sample points in each cluster are identified. If the difference between the maximum membership probability value and the second membership probability value of a sample point after normalization is less than the second preset threshold, it is determined that the sample point is located in the intersection region of two clusters; wherein
[0024] The maximum membership probability value and the second membership probability value are related to the membership matrix.
[0025] In the improved WKNN algorithm, the coordinates of the to-be-positioned point are related to the following information:
[0026] Euclidean distance between a reference point in the fingerprint database and a to-be-positioned point;
[0027] Cosine value of the angle between a reference point in the fingerprint database and a to-be-positioned point;
[0028] Weighting coefficient of the improved WKNN algorithm.
[0029] Optionally, the method further comprises:
[0030] Determining a corresponding positioning model based on a cluster to which the to-be-positioned point belongs;
[0031] Positioning the to-be-positioned point based on the positioning model.
[0032] The determining of the corresponding positioning model based on the cluster to which the to-be-positioned point belongs and the positioning of the to-be-positioned point based on the positioning model comprise:
[0033] Measuring a received signal strength indication (RSSI) value of the to-be-positioned point;
[0034] Calling a fuzzy clustering model based on the RSSI value to obtain a cluster number to which the to-be-positioned point belongs;
[0035] Performing fingerprint database matching on the to-be-positioned point based on the positioning model corresponding to the cluster number and trained by the improved WKNN algorithm, and outputting a positioning coordinate.
[0036] The embodiment of the application further provides an indoor fingerprint positioning device, which comprises:
[0037] A first determining module is configured to determine an initial cluster number and an initial cluster center of a fingerprint database based on a clustering algorithm.
[0038] A second determining module is configured to cluster the fingerprint database based on the initial cluster number and the initial cluster center by using a fuzzy clustering algorithm, to obtain each first cluster; identify a boundary region of each pair of clusters in all the first clusters, divide sample points in each boundary region into a second cluster, and obtain a third cluster; the third cluster is a first cluster from which the second cluster is removed.
[0039] A training module is configured to train a positioning model corresponding to each cluster based on an improved weighted K-nearest neighbor (WKNN) algorithm in each of the first clusters, the second cluster and the third cluster, for positioning a to-be-positioned point.
[0040] The embodiment of the application further provides an indoor fingerprint positioning device, which comprises a processor and a memory for storing a computer program capable of running on the processor,
[0041] The processor is configured to execute the computer program to implement the steps of the method.
[0042] The application also provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to implement the steps of the method.
[0043] The indoor fingerprint positioning method, device and computer readable storage medium provided by the application determine the initial cluster number and initial cluster center of a fingerprint database based on a clustering algorithm; the fingerprint database is clustered based on the initial cluster number and initial cluster center by using a fuzzy clustering algorithm to obtain each first cluster; the intersection regions of two clusters in all the first clusters are identified, and the sample points in each intersection region are divided into a second cluster, and a third cluster is obtained; the third cluster is the first cluster from which the second cluster is removed; and a positioning model corresponding to each cluster is trained based on an improved weighted K nearest neighbor (WKNN) algorithm in each first cluster, second cluster and third cluster, and is used for positioning a to-be-positioned point. The density clustering algorithm is used to determine the cluster number of the fingerprint database and calculate the cluster center as the initial cluster center of the subsequent clustering algorithm based on division. Compared with the method in which the cluster number is set artificially according to experience and the initial cluster center is randomly selected by the clustering algorithm in the existing positioning technology, the positioning precision of the application is higher.
[0044] The application also uses the membership matrix output by the fuzzy clustering algorithm to determine the intersection regions of two clusters, divides the intersection regions into new clusters and separately trains accurate positioning models, so that the suitable sample points of the two clusters in the intersection regions can be fully used for accurate positioning, and the advantages of the fuzzy clustering algorithm in the indoor positioning scenario can be fully played.
[0045] Moreover, the improved WKNN algorithm can use the Euclidean distance and the vector angle cosine value of two vectors as the improved vector similarity measurement standard, measure the similarity of the two vectors from the two dimensions of distance and direction, greatly improve the accuracy of the vector similarity judgment in the high-dimensional data space, and thus the advantages of the improved WKNN algorithm in the indoor positioning scenario can be fully played.
[0046] In addition, the application also filters the sample points by using the threshold method, and the initial cluster number and initial cluster center of the fingerprint database determined by using the density clustering algorithm are more accurate on this basis, and the positioning precision is further improved. BRIEF DESCRIPTION OF DRAWINGS
[0047] Figure 1 The figure is a flowchart of the indoor fingerprint positioning method.
[0048] Figure 2 Structure diagram of the indoor fingerprint positioning device according to an embodiment of the present application Figure 1 ;
[0049] Figure 3 Structure diagram of the indoor fingerprint positioning device according to an embodiment of the present application Figure 2 ;
[0050] Figure 4 Distribution diagram of original Bluetooth signal strength values according to an embodiment of the present application
[0051] Figure 5 Distribution diagram of the Euclidean distance and cosine angle value of the fingerprint vector according to an embodiment of the present application
[0052] Figure 6 Distribution diagram of the filtered fingerprint vector distance according to an embodiment of the present application
[0053] Figure 7 Diagram of the core distance and reachable distance according to an embodiment of the present application
[0054] Figure 8 Diagram of the clustering effect of the OPTICS clustering algorithm with different MinPts values on the fingerprint database according to an embodiment of the present application
[0055] Figure 9 Diagram of the clustering cluster 1, clustering cluster 2 and the intersection area of the two clustering clusters according to an embodiment of the present application
[0056] Figure 10 Diagram of the fingerprint database positioning flow according to an embodiment of the present application DETAILED DESCRIPTION
[0057] The present application will be described in detail below with reference to the drawings and embodiments. It can be understood that the specific embodiments described herein are only used to explain the related application, and not to limit the application. In addition, it should be noted that, for the sake of convenience, only the parts related to the application are shown in the drawings. It should be noted that the embodiments and features in the embodiments in the present application can be combined with each other without conflict. The present application will be described in detail below with reference to the drawings and embodiments.
[0058] The present application provides an indoor fingerprint positioning method, as shown in Figure 1 , the method comprises the following steps:
[0059] Step 101: determining the initial clustering cluster number and initial clustering center of the fingerprint database based on a clustering algorithm;
[0060] Step 102: based on the initial cluster number and the initial cluster center, the fuzzy clustering algorithm is used to cluster the fingerprint library, and each first cluster is obtained; the intersection region of each two clusters in all the first clusters is identified, and the sample points in each intersection region are divided into a second cluster, and a third cluster is obtained; the third cluster is the first cluster except the second cluster;
[0061] Step 103: based on the improved weighted K nearest neighbor (WKNN) algorithm, a positioning model corresponding to each cluster is trained in each first cluster, second cluster and third cluster, which is used for positioning of a to-be-positioned point.
[0062] In an embodiment of the present application, before determining the initial cluster number and the initial cluster center of the fingerprint library, the method further comprises:
[0063] The initial sample points in the fingerprint library are filtered based on a first preset threshold, and sample points with a signal strength value greater than or equal to the first preset threshold are obtained.
[0064] In the embodiment of the present application, the filtering of the sample points in the fingerprint library based on the first preset threshold comprises:
[0065] When the signal strength value of a sample point is greater than or equal to the first preset threshold, the sample point is retained;
[0066] When the signal strength value of a sample point is less than the first preset threshold, the sample point is deleted.
[0067] In the embodiment of the present application, the determination of the initial cluster number and the initial cluster center of the fingerprint library based on the clustering algorithm comprises:
[0068] The initial cluster number of the fingerprint library is determined based on the point ordering and recognition clustering structure (OPTICS) density clustering algorithm, and the initial cluster center is calculated.
[0069] In the embodiment of the present application, the clustering of the fingerprint library based on the initial cluster number and the initial cluster center using the fuzzy clustering algorithm comprises:
[0070] The fingerprint library is clustered based on the initial cluster number and the initial cluster center using the fuzzy C-means clustering algorithm, and a membership matrix corresponding to each sample point is output.
[0071] In the embodiment of the present application, the identification of the intersection region of each two clusters in all the first clusters comprises:
[0072] Identify the sample points in each cluster based on the membership matrix and a second preset threshold, and if the difference between the maximum membership probability value and the second membership probability value of a sample point after normalization is less than the second preset threshold, it is determined that the sample point is located in the boundary region of two clusters.
[0073] The maximum membership probability value and the second membership probability value are related to the membership matrix.
[0074] In the embodiment of the application, the identification of the sample points in each cluster can be realized by the following formula:
[0075] u max =u max (u max +u sec );
[0076] u sec =u sec (u max +u sec );
[0077] u max -u sec <edge_threshold;
[0078] Wherein, the u max is the maximum membership probability value of a sample point, the u sec is the second membership probability value of a sample point, and the u max and the u sec are obtained by the membership matrix, and when the difference between the two after normalization is less than the second preset threshold edge_threshold, it indicates that the sample point is located in the boundary region of two clusters.
[0079] In the embodiment of the application, the improved WKNN algorithm is:
[0080] The Euclidean distance of two fingerprint vectors and the cosine value of the angle between the two fingerprint vectors are used as the improved vector similarity measurement standard in the WKNN algorithm, and the reciprocal of the improved vector similarity measurement standard is used as the weight of the K reference points for precise positioning calculation in the high-dimensional fingerprint space.
[0081] The two fingerprint vectors are the fingerprint vector of the to-be-positioned point and a fingerprint vector in the fingerprint library, and the K is a positive integer.
[0082] In the improved WKNN algorithm, the coordinates of the to-be-positioned point are related to the following information:
[0083] The Euclidean distance between the reference points in the fingerprint library and the to-be-positioned point.
[0084] cosine value of the included angle between the reference point in the fingerprint database and the to-be-positioned point;
[0085] weighting coefficient of the improved WKNN algorithm.
[0086] wherein the coordinates of the to-be-positioned point are as follows:
[0087] wherein
[0088] wherein dist k is the Euclidean distance between the kth reference point in the fingerprint database and the to-be-positioned point, cos k is the cosine value of the included angle between the kth reference point and the to-be-positioned point, W k is the weighting coefficient of the improved WKNN algorithm, (x k , y k ) is the kth matching coordinate, and k [1, K].
[0089] In an embodiment of the present application, the method further comprises:
[0090] determining a corresponding positioning model based on the cluster to which the to-be-positioned point belongs;
[0091] positioning the to-be-positioned point based on the positioning model.
[0092] In an embodiment of the present application, the determination of the corresponding positioning model based on the cluster to which the to-be-positioned point belongs and the positioning of the to-be-positioned point based on the positioning model comprises:
[0093] measuring a received signal strength indication (RSSI) value of the to-be-positioned point;
[0094] calling a fuzzy clustering model based on the RSSI value to obtain a cluster number to which the to-be-positioned point belongs;
[0095] performing fingerprint database matching on the to-be-positioned point based on the positioning model trained by the corresponding improved WKNN algorithm according to the cluster number, and outputting a positioning coordinate.
[0096] To implement the above method embodiment, an embodiment of the present application further provides an indoor fingerprint positioning device, as shown in the accompanying drawings. Figure 2 The device comprises:
[0097] a first determination module 201 configured to determine an initial cluster number and an initial cluster center of a fingerprint database based on a clustering algorithm;
[0098] The second determination module 202 is configured to cluster the fingerprint database based on the initial cluster number and the initial cluster center by using a fuzzy clustering algorithm to obtain each first cluster; identify the boundary regions of each two clusters in all the first clusters, and divide the sample points in each boundary region into a second cluster, and obtain a third cluster; the third cluster is a first cluster from which the second cluster is removed;
[0099] The training module 203 is configured to train a positioning model corresponding to each cluster based on an improved weighted K nearest neighbor (WKNN) algorithm in each of the first clusters, the second cluster and the third cluster, and use the positioning model to position a to-be-positioned point.
[0100] In an embodiment of the present application, before the first determination module 201 determines the initial cluster number and the initial cluster center of the fingerprint database, the first determination module 201 is further configured to perform filtering processing on the initially collected sample points in the fingerprint database based on a first preset threshold to obtain sample points with a signal strength value greater than or equal to the first preset threshold.
[0101] In an embodiment of the present application, the first determination module 201 performs filtering processing on the initially collected sample points in the fingerprint database based on the first preset threshold, including:
[0102] When the signal strength value of a sample point is greater than or equal to the first preset threshold, the sample point is retained;
[0103] When the signal strength value of a sample point is less than the first preset threshold, the sample point is deleted.
[0104] In an embodiment of the present application, the first determination module 201 determines the initial cluster number and the initial cluster center of the fingerprint database based on a clustering algorithm, including:
[0105] An order-based point identification clustering structure (OPTICS) density clustering algorithm is used to determine the initial cluster number of the fingerprint database, and the initial cluster center is calculated.
[0106] In an embodiment of the present application, the second determination module 202 clusters the fingerprint database based on the initial cluster number and the initial cluster center by using a fuzzy clustering algorithm, including:
[0107] A fuzzy C-means clustering algorithm is used to cluster the fingerprint database based on the initial cluster number and the initial cluster center, and a membership matrix corresponding to each sample point is output.
[0108] In an embodiment of the present application, the second determination module 202 identifies the boundary regions of each two clusters in all the first clusters, including:
[0109] Based on the membership matrix and a second preset threshold, the sample points in each cluster are identified, if the difference between the maximum membership probability value and the second membership probability value of a sample point after normalization is less than the second preset threshold, it is determined that the sample point is located in the boundary region of two cluster clusters,
[0110] The maximum membership probability value and the second membership probability value are related to the membership matrix.
[0111] In the embodiment of the application, the second determining module 202 identifies the sample points in each cluster by the following formula:
[0112] u max =u max (u max +u sec );
[0113] u sec =u sec (u max +u sec );
[0114] u max -u sec <edge_threshold;
[0115] Wherein, the u max is the maximum membership probability value of a sample point, the u sec is the second membership probability value of a sample point, and the u max and the u sec are obtained by the membership matrix, and when the difference between the two after normalization is less than the second preset threshold edge_threshold, it indicates that the sample point is located in the boundary region of two cluster clusters.
[0116] In the embodiment of the application, the improved WKNN algorithm is:
[0117] The Euclidean distance of two fingerprint vectors and the cosine value of the angle between the two fingerprint vectors are used as the improved vector similarity measurement standard in the WKNN algorithm, and the reciprocal of the improved vector similarity measurement standard is used as the weight of the K reference points, which is used for accurate positioning calculation in high-dimensional fingerprint space; wherein,
[0118] The two fingerprint vectors are: the fingerprint vector of the to-be-positioned point and a fingerprint vector in the fingerprint library; and the K is a positive integer.
[0119] In the embodiment of the application, in the improved WKNN algorithm, the coordinates of the to-be-positioned point are related to the following information:
[0120] The Euclidean distance between the reference points in the fingerprint library and the to-be-positioned point;
[0121] cosine value of the included angle between the reference point in the fingerprint library and the to-be-positioned point;
[0122] weighting coefficient of the improved WKNN algorithm.
[0123] wherein the coordinates of the to-be-positioned point are as follows:
[0124] wherein
[0125] wherein, dist k is the Euclidean distance between the kth reference point in the fingerprint library and the to-be-positioned point, cos k is the cosine value of the included angle between the kth reference point and the to-be-positioned point, W k is the weighting coefficient of the improved WKNN algorithm, (x k , y k ) is the kth matching coordinate, and k [1, K].
[0126] In an embodiment of the present application, as shown in the figure, the device further comprises a positioning module 204 configured to determine a corresponding positioning model based on a cluster to which the to-be-positioned point belongs. Figure 3 The to-be-positioned point is positioned based on the positioning model.
[0127] In an embodiment of the present application, the positioning module 204 determines a corresponding positioning model based on a cluster to which the to-be-positioned point belongs, and positions the to-be-positioned point based on the positioning model, which comprises:
[0128] measuring a received signal strength indication (RSSI) value of the to-be-positioned point;
[0129] calling a fuzzy clustering model based on the RSSI value to obtain a cluster number to which the to-be-positioned point belongs;
[0130] performing fingerprint library matching on the to-be-positioned point based on the cluster number and a positioning model trained by the corresponding improved WKNN algorithm, and outputting a positioning coordinate.
[0131] An embodiment of the present application further provides an indoor fingerprint positioning device, which comprises a processor and a memory for storing a computer program capable of running on the processor,
[0132] wherein the processor is configured to execute the computer program to perform the following steps:
[0133] determining an initial cluster number and an initial cluster center of the fingerprint library based on a clustering algorithm;
[0134]
[0135] cluster the fingerprint database based on the initial cluster number and the initial cluster center to obtain each first cluster;
[0136] train a positioning model corresponding to each cluster based on an improved weighted K nearest neighbor (WKNN) algorithm in each first cluster, second cluster and third cluster, for positioning a to-be-positioned point.
[0137] Before the processor is used to determine the initial cluster number and the initial cluster center of the fingerprint database, the processor is further used to execute the following when the computer program is executed:
[0138] perform filtering processing on the sample points initially collected in the fingerprint database based on a first preset threshold to obtain sample points with a signal strength value greater than or equal to the first preset threshold.
[0139] When the processor is used to perform filtering processing on the sample points in the fingerprint database based on the first preset threshold, the processor is further used to execute the following when the computer program is executed:
[0140] when the signal strength value of a sample point is greater than or equal to the first preset threshold, retain the sample point;
[0141] when the signal strength value of a sample point is less than the first preset threshold, delete the sample point.
[0142] When the processor is used to determine the initial cluster number and the initial cluster center of the fingerprint database based on the clustering algorithm, the processor is further used to execute the following when the computer program is executed:
[0143] determine the initial cluster number of the fingerprint database based on an order-based point identification clustering (OPTICS) density clustering algorithm, and calculate the initial cluster center.
[0144] When the processor is used to cluster the fingerprint database based on the initial cluster number and the initial cluster center, the processor is further used to execute the following when the computer program is executed:
[0145] cluster the fingerprint database based on the initial cluster number and the initial cluster center using a fuzzy C-means clustering algorithm, and output a membership matrix corresponding to each sample point.
[0146] When the processor is used to identify the intersection region of each pair of clusters in all the first clusters, the processor is further used to execute the following when the computer program is executed:
[0147] Based on the membership matrix and a second preset threshold, the sample points in each cluster are identified, if the difference between the maximum membership probability value and the second membership probability value of a sample point after normalization is less than the second preset threshold, it is determined that the sample point is located in the boundary region of two clusters; wherein,
[0148] The maximum membership probability value and the second membership probability value are related to the membership matrix.
[0149] The identification of the sample points in each cluster can be realized by the following formula:
[0150] u max = u max (u max + u sec );
[0151] u sec = u sec (u max + u sec );
[0152] u max -u sec <edge_threshold;
[0153] Wherein, the u max is the maximum membership probability value of a sample point, u sec is the second membership probability value of a sample point, and the u max and u sec are obtained by the membership matrix, and when the difference between them after normalization is less than the threshold edge_threshold, it indicates that the sample point is located in the boundary region of two clusters.
[0154] Wherein, the improved WKNN algorithm is:
[0155] The Euclidean distance of two fingerprint vectors and the cosine value of the angle between two fingerprint vectors are used as the improved vector similarity measurement standard in the WKNN algorithm, and the reciprocal of the improved vector similarity measurement standard is used as the weight of the K reference points, which is used for precise positioning calculation in high-dimensional fingerprint space; wherein,
[0156] The two fingerprint vectors are: the fingerprint vector of the to-be-positioned point and a fingerprint vector in the fingerprint library; and the K is a positive integer.
[0157] In the improved WKNN algorithm, the coordinates of the to-be-positioned point are related to the following information:
[0158] The Euclidean distance between the reference points in the fingerprint library and the to-be-positioned point;
[0159] Cosine of the angle between the reference point in the fingerprint library and the point to be positioned
[0160] The weighting coefficient of the improved WKNN algorithm.
[0161] The coordinates of the point to be positioned are as follows:
[0162] Wherein
[0163] Wherein, dist k is the Euclidean distance between the kth reference point in the fingerprint library and the point to be positioned, cos k is the cosine of the angle between the kth reference point and the point to be positioned, W k is the weighting coefficient of the improved WKNN algorithm, (x k , y k ) is the kth matching coordinate, and k [1, K].
[0164] The processor is further configured to execute the following when the computer program is run:
[0165] Determine the corresponding positioning model based on the cluster to which the point to be positioned belongs;
[0166] Position the point to be positioned based on the positioning model.
[0167] When the processor is further configured to execute the following when the computer program is run:
[0168] Measure the received signal strength indication (RSSI) value of the point to be positioned;
[0169] Call the fuzzy clustering model based on the RSSI value to obtain the cluster number to which the point to be positioned belongs;
[0170] Call the positioning model trained by the improved WKNN algorithm based on the cluster number to perform fingerprint library matching on the point to be positioned, and output the positioning coordinates.
[0171] It should be noted that the device provided in the above embodiments is used for indoor fingerprint positioning, and only the division of the above program modules is used as an example for illustration. In actual applications, the above processing can be completed by different program modules according to needs, that is, the internal structure of the device is divided into different program modules to complete all or part of the above processing. In addition, the device provided in the above embodiments and the corresponding method embodiments belong to the same concept, and the specific implementation process is described in detail in the method embodiments, which will not be repeated here.
[0172] In the example embodiment, the embodiment of the present application also provides a computer readable storage medium, which can be FRAM, ROM, PROM, EPROM, EEPROM, Flash Memory, magnetic surface memory, optical disc, or CD-ROM memory, etc.; or various devices including one or any combination of the above memories, such as mobile phones, computers, tablet devices, personal digital assistants, etc.
[0173] The embodiment of the present application also provides a computer readable storage medium, which stores a computer program, and the computer program is executed by a processor to perform the following steps:
[0174] determining an initial cluster number and an initial cluster center of the fingerprint library based on a clustering algorithm;
[0175] performing clustering on the fingerprint library based on the initial cluster number and the initial cluster center by using a fuzzy clustering algorithm to obtain each first cluster; identifying a boundary area between two clusters in each first cluster, dividing sample points in each boundary area into a second cluster, and obtaining a third cluster; the third cluster is a first cluster from which the second cluster is removed;
[0176] training a positioning model corresponding to each cluster based on an improved weighted K nearest neighbor (WKNN) algorithm in each first cluster, second cluster, and third cluster, to be used for positioning a to-be-positioned point.
[0177] Before the step of determining the initial cluster number and the initial cluster center of the fingerprint library, the computer program is executed by the processor to further perform the following steps:
[0178] performing filtering processing on sample points initially collected in the fingerprint library based on a first preset threshold to obtain sample points with a signal strength value greater than or equal to the first preset threshold.
[0179] When the filtering processing is performed on the sample points in the fingerprint library based on the first preset threshold, the computer program is executed by the processor to further perform the following steps:
[0180] when the signal strength value of the sample point is greater than or equal to the first preset threshold, retaining the sample point;
[0181] when the signal strength value of the sample point is less than the first preset threshold, deleting the sample point.
[0182] When the initial cluster number and the initial cluster center of the fingerprint library are determined based on the clustering algorithm, the computer program is executed by the processor to further perform the following steps:
[0183] The OPTICS density clustering algorithm determines the initial cluster number of the fingerprint database and calculates the initial cluster center based on point ordering.
[0184] When the fuzzy clustering algorithm is used to cluster the fingerprint database based on the initial cluster number and the initial cluster center, the computer program further executes the following when executed by the processor:
[0185] The fuzzy C-means clustering algorithm is used to cluster the fingerprint database based on the initial cluster number and the initial cluster center, and the membership matrix corresponding to each sample point is output.
[0186] When the intersection region of each pair of clusters in the first cluster is identified, the computer program further executes the following when executed by the processor:
[0187] Based on the membership matrix and a second preset threshold, the sample points in each cluster are identified. If the difference between the maximum membership probability value and the second membership probability value of a sample point after normalization is less than the second preset threshold, it is determined that the sample point is located in the intersection region of two clusters; wherein,
[0188] The maximum membership probability value and the second membership probability value are related to the membership matrix.
[0189] The identification of the sample points in each cluster can be realized by the following formula:
[0190] u max = u max (u max + u sec );
[0191] u sec = u sec (u max + u sec );
[0192] u max -u sec <edge_threshold;
[0193] wherein, the u max is the maximum membership probability value of a sample point, u sec is the second membership probability value of a sample point, and the u max and u sec are obtained through the membership matrix. When the difference between the two after normalization is less than the threshold edge_threshold, it indicates that the sample point is located in the intersection region of two clusters.
[0194] The improved WKNN algorithm is:
[0195] The Euclidean distance of two fingerprint vectors and the cosine value of the angle between two fingerprint vectors are used as the improved vector similarity measure in the WKNN algorithm, and the reciprocal of the improved vector similarity measure is used as the weight of the K reference points to calculate the accurate positioning in the high-dimensional fingerprint space.
[0196] The two fingerprint vectors are the fingerprint vector of the to-be-positioned point and a fingerprint vector in the fingerprint library, and K is a positive integer.
[0197] In the improved WKNN algorithm, the coordinates of the to-be-positioned point are related to the following information:
[0198] The Euclidean distance between the reference point in the fingerprint library and the to-be-positioned point;
[0199] The cosine value of the angle between the reference point in the fingerprint library and the to-be-positioned point;
[0200] The weighting coefficient of the improved WKNN algorithm.
[0201] The coordinates of the to-be-positioned point are as follows:
[0202] wherein
[0203] wherein dist k is the Euclidean distance between the kth reference point in the fingerprint library and the to-be-positioned point, cos k is the cosine value of the angle between the kth reference point and the to-be-positioned point, W k is the weighting coefficient of the improved WKNN algorithm, and (x k , y k ) is the kth matching coordinate, k ∈ [1, K].
[0204] When the computer program is run by the processor, it further performs:
[0205] Based on the cluster cluster to which the to-be-positioned point belongs, a corresponding positioning model is determined;
[0206] The to-be-positioned point is positioned based on the positioning model.
[0207] When the computer program is run by the processor, it further performs:
[0208] The received signal strength indication RSSI value of the to-be-positioned point is measured;
[0209] A fuzzy clustering model is called based on the RSSI value to obtain the cluster cluster number to which the to-be-positioned point belongs;
[0210] Based on the cluster number, the corresponding improved WKNN algorithm is called to train the positioning model to perform fingerprint database matching on the to-be-positioned point, and output the positioning coordinates.
[0211] The application will be described below in combination with a scene embodiment.
[0212] The embodiment proposes an indoor fingerprint positioning method based on fusion clustering and improved WKNN. The optimal cluster number and initial cluster center of the fingerprint database are determined through the OPTICS density clustering algorithm, the fingerprint database is clustered through the fuzzy clustering algorithm, the identification of the cluster boundary area is realized by setting rules, the sample points in the area are re-divided into new cluster clusters, and accurate positioning is realized in each cluster cluster through the improved WKNN algorithm.
[0213] The corresponding information collection method and algorithm will be introduced below.
[0214] 1. Fingerprint information collection and preprocessing
[0215] The positioning scene is traversed by a Bluetooth fingerprint information collection tool, Figure 4 The distribution of the collected original Bluetooth signal strength values is shown in the schematic diagram.
[0216] The example fingerprint database generated after preprocessing the collected Bluetooth fingerprint information is shown in Table 1. The fingerprint database has N fingerprints and M iBeacon Bluetooth beacons. Each row represents the Cartesian coordinate value and fingerprint information corresponding to the fingerprint ID. RSSIji represents the average value of all received signal strengths from the jth reference point to the ith iBeacon Bluetooth beacon. The signal strength values of the Bluetooth beacons that are not collected are uniformly filled with a specific value less than -120 (for example, -1000).
[0217] Table 1 Bluetooth fingerprint database
[0218]
[0219] Since the fingerprint database is generally high-dimensional data, the distribution of the Euclidean distance and cosine angle value between each fingerprint vector is relatively concentrated, as shown in Figure 5 The fingerprint vector distance distribution schematic diagram of the 19-dimensional example fingerprint database will affect the distance measurement effect of the algorithm, so the fingerprint database needs to be processed again.
[0220] The median of the original Bluetooth signal strength value distribution of the example fingerprint library is -89dBm, and the nominal sensitivity of the Bluetooth beacon chip is about -93dBm. The threshold is -89dBm, and the beacon signal strength value is less than -120. The filtered fingerprint vector distance distribution is relatively dispersed, as shown in FIG. 8, so the filtering scheme can enhance the difference between the fingerprint vectors, eliminate the noise interference caused by the Bluetooth signal strength fluctuation, and solve the problem of the difference in the Bluetooth signal strength collected by the terminal heterogeneous equipment, thereby greatly improving the distance measurement effect of the algorithm. Figure 6
[0221] 2. Fusion clustering algorithm model
[0222] 2.1. The significance of the clustering algorithm in fingerprint positioning
[0223] When the positioning area is large, for example, the fingerprint library data of a large office building or a large shopping mall is huge, and the calculation amount of matching each fingerprint point is considerable, which seriously affects the timeliness of positioning. Therefore, the algorithm of the embodiment of the present application adopts a clustering technology to effectively cluster the fingerprint library in the offline stage, divides the fingerprint points with high similarity in the fingerprint library into a cluster, and independently models in each cluster. In the online stage, only the cluster to which the to-be-positioned fingerprint point belongs needs to be predicted, and then the corresponding model of the cluster is called for further positioning calculation. This method not only improves the positioning accuracy of the positioning system, but also greatly reduces the calculation load and energy consumption, and improves the positioning efficiency.
[0224] The characteristics of various clustering methods are shown in Table 2. The hierarchical and density-based clustering methods can perform hierarchical decomposition of clustering and can find clusters of any shape and outliers. However, the common defect of both methods is that they can only cluster existing samples and cannot predict the cluster to which a new sample belongs. For indoor positioning scenarios, the fingerprint library can only be clustered in the offline stage, and the cluster to which a new sample point generated by the UE belongs cannot be predicted in the real-time positioning stage. Although the partition-based clustering method can predict new samples, the number of clusters needs to be set in advance. Therefore, in order to comprehensively utilize the advantages of various clustering algorithms, the positioning method of the embodiment of the present application adopts a fusion clustering method, determines the number of clusters and the initial cluster center through the density-based clustering method, and clusters the fingerprint library through the partition-based clustering method.
[0225] Table 2: Summary of clustering method characteristics
[0226]
[0227]
[0228] 2.2. Principles of OPTICS density-based clustering algorithm
[0229] Density-based clustering algorithm is a widely used method in data mining technology, the core idea of which is to measure the density of the space where a point is located by the number of neighbor points within the eps neighborhood radius of the point. Compared with partition-based and hierarchical-based clustering methods, density-based clustering algorithm does not need the user to set the number of clusters in advance, and can find clusters of irregular shapes. OPTICS (Ordering Points to Identify The Clustering Structure) is a typical density-based clustering method, which determines the cluster structure by point ordering. Two important concepts of the OPTICS algorithm are core distance and reachable distance, as shown in the schematic diagram. Figure 7
[0230] Core distance: Let data point x i ∈{x1,x2,…,x N}, for given parameters ε and MinPts, the minimum neighborhood radius that makes x i a core object is the core distance of point x i , which is mathematically defined as:
[0231]
[0232] Where, N ε (x i ) represents the i-th nearest neighbor of node x i in the set, if x i is a core object, then cd(x i )≤ε.
[0233] Reachable distance: Let x i ,x j ∈{x1,x2,…,x N}, for given parameters ε and MinPts, the reachable distance of x j about x i is defined as:
[0234]
[0235] When x i is a core object, rd(x j ,x i ) can be understood as rd(x j ,x i )=min{η:x j ∈N η (x i )and|N η (x i )|≥MinPts}, that is, rd(x j ,x i ) represents that makes x i As the core object and x j From x i The direct density can reach the minimum radius of the domain that is simultaneously achieved.
[0236] The OPTICS algorithm does not explicitly generate data clusters. Instead, it calculates the ranking of all objects in a given data sequence. The final output ranking is based on the reachability distance of each object to its nearest core object, i.e., the minimum reachability distance of each object. This ranking represents the density-based clustering structure of each sample point.
[0237] The optimal MinPts value is obtained by traversing the value interval [5, number of fingerprint samples / 2] (step size 5). Taking the Jincheng Academy fingerprint database as an example, Figure 8 The fingerprint reachability distances calculated using the OPTICS clustering algorithm are ranked for different MinPts values. Figure 8 The concave portion represents clusters, and the black dotted lines represent noise points. The optimal MinPts value is determined by the number of clusters not being 1 and the minimum proportion of noise points. It can be seen that when MinPts = 270, the proportion of noise points is minimized, and the clustering effect is better. Therefore, the optimal number of clusters for the fingerprint database is determined to be 2, and the cluster centers are calculated as the initial cluster centers for subsequent partition-based clustering algorithms.
[0238] 2.3. Principle of Fuzzy C-means (FCM) Clustering Algorithm
[0239] In partition-based clustering methods, the traditional K-means clustering algorithm is a hard clustering algorithm, meaning each sample can only belong to one cluster. However, in many cases, the samples in a dataset cannot be divided into clearly separate clusters. Fuzzy C-means clustering (FCM) is a clustering algorithm that incorporates fuzzy theory. It uses membership degrees to represent the probability of a sample belonging to a certain class. Compared to the hard clustering of K-means, FCM provides more flexible clustering results.
[0240] Fuzzy C-means clustering obtains cluster centers by minimizing an objective function:
[0241]
[0242] Where m is the fuzzy weighting index, typically taken as m = 2, N is the number of fingerprint samples, C is the number of clusters, and c j Let x represent the j-th cluster center, which has the same dimension as the sample features. i Let u represent the i-th sample. ijx represents a sample i The membership degree of the cluster center c j , i.e. the probability that x i belongs to c j , is obviously
[0243] Therefore, the above problem is to minimize the objective function J under the constraint condition m , which can be obtained by the Lagrange method:
[0244]
[0245] Algorithm steps:
[0246] The initial membership matrix U (0) is calculated by the initial cluster centers obtained by the partition-based clustering algorithm (t) , and the cluster centers C (t) are iteratively calculated and the membership matrix U (t+1) is updated, until the iteration termination condition is met, where t is the iteration step number, and ε is the error threshold, i.e. the maximum change value of the membership degree before and after iteration does not exceed the error threshold. The algorithm process finally converges to a local minimum point or a saddle point of J m , and outputs the final membership matrix and cluster centers.
[0247] 2.4. Analysis of clustering results
[0248] The fuzzy C-means clustering algorithm outputs the cluster centers and the final membership matrix, where the cluster centers are used to calculate the membership values of each cluster for the new sample points to be positioned, and the membership matrix is the probability value of each sample point in the fingerprint database belonging to each cluster, which is used to determine the cluster cluster to which each sample point in the fingerprint database belongs and the boundary region of two clusters, as shown in Table 3 for example. All sample points in the fingerprint database are divided into 4 clusters, and the cluster cluster to which each sample belongs is the cluster corresponding to the maximum membership probability value.
[0249] Table 3: Membership matrix example
[0250]
[0251] Since the subsequent precise positioning stage needs to train the improved WKNN model for each cluster cluster, when the traditional hard clustering method is used, each fingerprint database sample point and the new sample point to be positioned can only belong to one cluster, for example Figure 9As shown, when the new sample point to be positioned belongs to cluster 1 (lower left light color cross region), only the improved WKNN model trained by the sample points of cluster 1 can be used for accurate positioning, and the appropriate sample points of cluster 2 (upper right dark color cross region) cannot be used for model training and accurate positioning, thus, at the edge of the cluster, that is, at the boundary region of the two clusters, a larger positioning error is easily caused. In order to solve this problem, the membership matrix output by the fuzzy clustering algorithm is used in the algorithm of the embodiment of the present application, a rule is set to judge the boundary region of the two clusters, the boundary region is divided into a new cluster, and the improved WKNN model is trained separately, so that the appropriate sample points of the two clusters can be fully used for accurate positioning in the boundary region, and thus the advantages of the fuzzy clustering algorithm in indoor positioning scenarios can be fully utilized.
[0252] The judgment formula of a sample point located in the boundary region of the two clusters is as follows:
[0253] u max = u max (u max + u sec )
[0254] u sec = u sec (u max + u sec )
[0255] u max -u sec <edge_threshold
[0256] Wherein, u max is the maximum membership probability value of a sample point, u sec is the second membership probability value of a sample point, when the difference value after normalization is less than the threshold edge_threshold, it indicates that the sample point is located in the boundary region of the two clusters. Taking sample 3 in Table 2 as an example, u max = 0.31255, u sec = 0.27064, after normalization, u max = 0.53593, u sec = 0.46407, the difference value is 0.07186, when edge_threshold = 0.1, u max -u sec <edge_threshold, the sample point is determined to be in the boundary region of the two clusters. In the algorithm of the embodiment of the present application, the cluster boundary region sample points in the fingerprint database are found according to the rule, and are re-divided into a new cluster-1.
[0257] The fuzzy clustering algorithm involves a super parameter, a two-cluster boundary region judgment threshold edge_threshold, and the optimal value thereof is obtained by traversing the value interval [0.05, 0.5] (step length 0.05).
[0258] 3. Improved WKNN algorithm model
[0259] 3.1. Principle of improved WKNN algorithm
[0260] Suppose a to-be-positioned point P i with coordinates (x i ,y i ) and received RSSI fingerprint information from M iBeacons as [RSSI' i1 , RSSI' i2 , …, RSSI' iM ], the distance between the fingerprint vector and the jth fingerprint vector in the fingerprint database is:
[0261]
[0262] wherein M represents the number of iBeacons of each fingerprint information in the fingerprint database, and u represents the category of the distance: when u = 1, dist represents the Manhattan distance; when u = 2, dist represents the Euclidean distance. The algorithm of the embodiment of the application adopts the Euclidean distance, and the smaller the dist value, the more similar the position corresponding to the jth fingerprint to the to-be-positioned point.
[0263] The cosine value of the angle between the fingerprint vector and the jth fingerprint vector in the fingerprint database is:
[0264]
[0265] wherein M represents the number of iBeacons of each fingerprint information in the fingerprint database. The larger the cos value, the smaller the angle between the jth fingerprint vector and the to-be-positioned point fingerprint vector, and thus the higher the similarity.
[0266] The improved KNN algorithm defines the improved distance metric as shown below:
[0267]
[0268] The algorithm first calculates the distance and the angle cosine value of the to-be-positioned point fingerprint information and all fingerprint information in the fingerprint database to obtain the Distance value, and then selects K fingerprint coordinates corresponding to the reference coordinates in order of small to large Distance value. Supposing that the K matching coordinates calculated by the improved KNN algorithm are (x k ,y k), k e [1, K], the estimated coordinates of the to-be-positioned point in the improved KNN algorithm are as follows:
[0269]
[0270] In the improved WKNN algorithm, the estimated coordinates of the to-be-positioned point are as follows:
[0271] wherein
[0272] wherein: dist k is the Euclidean distance between the kth reference point and the to-be-positioned point, cos k is the cosine value of the angle between the kth reference point and the to-be-positioned point, and W k is the weighting coefficient of the improved WKNN algorithm.
[0273] 3.2. Cross-validation method for optimizing model hyperparameters
[0274] In the embodiment of the application, the positioning error is defined as the error between the actual position and the estimated position of the ith to-be-positioned point, and is calculated using the Euclidean distance, as follows:
[0275]
[0276] The model error is defined as the average positioning error of the validation set, i.e. In the improved WKNN algorithm, the 10-fold cross-validation method is used to traverse the K value, and the K value that makes the model error minimum is determined as the optimal hyperparameter K best .
[0277] 4. Fingerprint database positioning process
[0278] The algorithm process based on fingerprint positioning mainly includes two stages: offline stage and online stage; wherein,
[0279] The offline stage mainly completes the acquisition and preprocessing of the Bluetooth fingerprint data of the positioning scene, uses the OPTICS density clustering algorithm on the fingerprint database to obtain the optimal cluster number and initial clustering center (i.e., initial cluster number and initial clustering center), uses the fuzzy clustering method and the improved WKNN algorithm to divide new clustering clusters, train the model and save, uses the training set to establish the positioning fingerprint database and train the positioning model, and uses the test set to evaluate the model effect;
[0280] The online stage mainly completes the measurement of the RSSI value of the to-be-positioned point, calls the fuzzy clustering model to obtain the clustering number to which the to-be-positioned point belongs, calls the improved WKNN model corresponding to the clustering number to perform fingerprint database matching, and outputs the positioning coordinates, so as to realize accurate real-time positioning, and the overall process is as shown in Figure 10 .
[0281] It can be seen that the embodiment of the present application filters the sample points by using the threshold method, and determines the number of clustering clusters and the initial clustering center of the fingerprint database by using the OPTICS density clustering algorithm; the distance distribution of the filtered fingerprint database fingerprint vectors is relatively dispersed, the OPTICS density clustering algorithm can determine the optimal (more accurate) number of clustering clusters of the fingerprint database, and the clustering center is calculated as the initial clustering center of the subsequent clustering algorithm based on division. Compared with the existing positioning technology, the number of clustering clusters needs to be set artificially according to experience in the clustering stage, and the initial clustering center is randomly selected by the clustering algorithm. The positioning accuracy of the embodiment of the present application is higher.
[0282] In the traditional hard clustering method based on division, each fingerprint database sample point and the new sample point to be positioned can only belong to one clustering cluster, so in the edge of the clustering cluster, that is, the intersection area of two clustering clusters, a larger positioning error is easily caused. The membership matrix output by the fuzzy clustering algorithm is used in the embodiment of the present application, a threshold is set to judge the intersection area of two clustering clusters, the intersection area is divided into a new clustering cluster and a precise positioning model is trained separately, so that the suitable sample points of two clustering clusters can be fully utilized for precise positioning in the intersection area, and the advantages of the fuzzy clustering algorithm in the indoor positioning scene can be fully played.
[0283] In addition, the traditional WKNN algorithm only considers the Euclidean distance between the fingerprint vector of the fingerprint database and the fingerprint vector to be positioned as the measurement standard of vector similarity, while the improved WKNN algorithm of the embodiment of the present application simultaneously uses the Euclidean distance and the vector angle cosine value of two vectors as the improved vector similarity measurement standard, and the inverse of the improved vector similarity measurement standard is used as the weight of the K reference points for precise positioning calculation, so that the similarity of two vectors is measured from two dimensions of distance and direction, which can greatly improve the accuracy of vector similarity judgment in high-dimensional data space, and the advantages of the improved WKNN algorithm in the indoor positioning scene can be fully played.
[0284] The above only describes the preferred embodiments of the present application, and is not used to limit the protection scope of the present application.
Claims
1. A method of indoor fingerprinting, characterized in that, The method comprises: determining an initial cluster number and an initial cluster center of the fingerprint library based on a clustering algorithm; performing clustering on the fingerprint library based on the initial cluster number and the initial cluster center by using a fuzzy clustering algorithm to obtain each first cluster; identifying an intersection region of each two clusters in all the first clusters, dividing sample points in each intersection region into a second cluster, and obtaining a third cluster; the third cluster is a first cluster from which the second cluster is removed; training a positioning model corresponding to each cluster based on an improved weighted K nearest neighbor (WKNN) algorithm in each first cluster, second cluster, and third cluster, to be used for positioning of a to-be-positioned point; wherein the identifying the intersection region of each two clusters in all the first clusters comprises: performing clustering on the fingerprint library based on the initial cluster number and the initial cluster center by using a fuzzy C-means clustering algorithm to output a membership matrix corresponding to each sample point; identifying sample points in each cluster based on the membership matrix and a second preset threshold, and determining that a sample point whose normalized difference between a maximum membership probability value and a second membership probability value is less than the second preset threshold is located in an intersection region of two clusters; the maximum membership probability value and the second membership probability value are related to the membership matrix.
2. The method of claim 1, wherein, Before the determining the initial cluster number and the initial cluster center of the fingerprint library, the method further comprises: performing filtering processing on sample points in the fingerprint library based on a first preset threshold to obtain sample points whose signal strength values are greater than or equal to the first preset threshold.
3. The method of claim 2, wherein, The performing filtering processing on sample points in the fingerprint library based on the first preset threshold comprises: when determining that a signal strength value of a sample point is greater than or equal to the first preset threshold, retaining the sample point; when determining that a signal strength value of a sample point is less than the first preset threshold, deleting the sample point.
4. The method of claim 1, wherein, The determining the initial cluster number and the initial cluster center of the fingerprint library based on the clustering algorithm comprises: determining the initial cluster number of the fingerprint library based on an order point to identify clustering structure (OPTICS) density clustering algorithm, and calculating the initial cluster center.
5. The method of claim 1, wherein, In the improved WKNN algorithm, the coordinates of the to-be-positioned point are related to: an Euclidean distance between a reference point in the fingerprint library and the to-be-positioned point; an included angle cosine value between the reference point in the fingerprint library and the to-be-positioned point; and a weighting coefficient of the improved WKNN algorithm.
6. The method of claim 1, wherein, The method further comprises: determining a corresponding positioning model based on a cluster to which the to-be-positioned point belongs; and positioning the to-be-positioned point based on the positioning model.
7. The method of claim 6, wherein, The determining the corresponding positioning model based on the cluster to which the to-be-positioned point belongs, and the positioning the to-be-positioned point based on the positioning model, comprises: measuring a received signal strength indication (RSSI) value of the to-be-positioned point; calling a fuzzy clustering model based on the RSSI value to obtain a cluster number to which the to-be-positioned point belongs; performing fingerprint library matching on the to-be-positioned point based on the cluster number to call a positioning model trained by the improved WKNN algorithm, and outputting a positioning coordinate.
8. An indoor fingerprinting apparatus, comprising: The device comprises: The first determining module is configured to determine an initial cluster number and an initial cluster center of the fingerprint library based on a clustering algorithm. The second determining module is configured to cluster the fingerprint library based on the initial cluster number and the initial cluster center by using a fuzzy clustering algorithm to obtain each first cluster. The training module is configured to train a positioning model corresponding to each cluster based on an improved weighted K nearest neighbor (WKNN) algorithm in each of the first clusters, the second clusters and the third clusters, and to use the positioning model to position a to-be-positioned point. The second determining module is further configured to cluster the fingerprint library based on the initial cluster number and the initial cluster center by using a fuzzy C-means clustering algorithm to output a membership matrix corresponding to each sample point.
9. An indoor fingerprinting apparatus, comprising: The apparatus comprises a processor and a memory for storing a computer program capable of running on the processor, The processor is configured to execute the computer program to perform the steps of the method in any one of claims 1-7.
10. A computer-readable storage medium having stored thereon a computer program, characterized in that, The computer program is executed by the processor to implement the steps of the method in any one of claims 1-7.
Citation Information
Patent Citations
WLAN indoor positioning method based on continuous sampling and fuzzy clustering
CN105120433A
Social network systems and methods
US20100306249A1