Floor recognition method based on single marker signal
Patent Information
- Application Number
- CN202410301152.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2023-05-05
- Filing Date
- 2024-03-15
- Publication Date
- 2026-11-03
- Estimated Expiration
- 2044-03-15
AI Technical Summary
Existing technologies require a large amount of labeled data for floor identification and struggle to effectively utilize unlabeled radio frequency signals for accurate identification, especially in crowdsourced applications where data acquisition is difficult and performance is poor.
A graph neural network-based approach is adopted to label radio frequency signal samples collected from the ground floor of a building, construct a bipartite graph, embed features using RF-GNN, cluster them into feature embedding vector clusters, and utilize the signal spillover effect for accurate indexing to achieve floor identification.
It enables efficient and accurate floor identification with only one labeled signal sample, improving clustering performance. Adjusting the RAND index and standardized mutual information improved by 23% and 25%, respectively.
Smart Images

Figure CN118897997B_ABST
Abstract
Description
Technical Field
[0001] This invention generally relates to floor identification technology. More specifically, this invention relates to a floor identification method based on a single marker signal. Background Technology
[0002] Traditional floor identification technologies use different sensors (such as barometers and inertial measurement units, IMUs) to detect changes in floors, but these technologies are generally limited by the heterogeneity of sensor devices and require users to collect data along a specific route.
[0003] Some studies have explored techniques for predicting floor labels using signal propagation models. However, these techniques require knowledge of the access point (AP) location, hindering their application in practical deployments. For example, some studies measure pressure readings of radio frequency signals offline, then use these readings to obtain access point floor information and store this information in a database for online inference. Other studies first identify the access points with the strongest signals in the measured radio frequency signals, then convert the signal distribution into images with the corresponding access point locations, and use these images to train convolutional neural network models for floor classification.
[0004] Furthermore, many smart city applications utilize radio frequency (RF) signals with floor labels. These applications include, for example, multi-level navigation in cities, geofencing for pandemic control, robotic rescue or navigation in environments without visual information, and drone surveillance in restricted areas. In these scenarios, trained investigators typically need to collect all RF signals with floor labels, which is both labor-intensive and costly. A practical solution is to use crowdsourcing to collect different subsets of signals contributed by various individuals within a building. However, while crowdsourced RF signals may be sufficient to cover an entire building, most of them are unlabeled. Therefore, the key issue is how to utilize unlabeled RF signals for floor identification.
[0005] Recently, machine learning-based floor identification solutions have attracted increasing interest due to their powerful learning capabilities and high predictive accuracy. However, machine learning-based floor identification requires training models with large amounts of labeled data, which is difficult to obtain in crowdsourced application scenarios. For example, some solutions require training their floor classifiers using labeled radio frequency (RF) signals collected from different floors of a building, followed by online deployment. Other solutions require selecting reliable access points and extracting features from the RF signals from these access points, training a softmax classifier with corresponding floor labels. Some solutions assume that each floor has some labeled RF signals available for floor identification. Still others crowdsource a dataset of RF signals with floor labels from different sensing clients and train a floor classification model through federated learning. These solutions' strong demand for labeled data significantly hinders the widespread adoption of machine learning-based floor identification applications. Furthermore, because RF signals are heterogeneous, different RF signals may only be observed from different subsets of access points within a building. Figure 3 As shown, the traditional approach of representing RF signals using a vector consisting of a superset of all access points in a building results in many empty vector entries. These empty entries are often filled with arbitrarily small values, leading to poor application performance. In some machine learning solutions, RF signals are modeled as a bipartite graph to address this problem. However, their embedding techniques are limited to static bipartite graphs and are unsuitable for handling newly arriving RF signals (i.e., new nodes in the graph). Summary of the Invention
[0006] The purpose of this invention is to provide a floor identification method. This method is based on crowdsourced radio frequency signals. It only needs to mark the signal samples obtained on the bottom floor, without needing to mark the signal samples obtained on other floors, to achieve highly accurate floor identification and reduce the requirement for a large amount of labeled data.
[0007] According to a first aspect of the invention, a method for identifying building floors is provided. The method includes the following steps: a) labeling a signal sample collected from the ground floor of the building and detecting access points; b) modeling the plurality of signal samples and access points in a bipartite graph; c) processing the bipartite graph using a graph neural network to obtain a feature embedding vector for each signal sample relative to the detected access point; d) clustering the plurality of feature embedding vectors into feature embedding vector clusters until the total number of the feature embedding vector clusters equals the number of floors in the building; and e) indexing the initial cluster and indexing the other sorted feature embedding vector clusters using subsequent floor numbers.
[0008] According to a second aspect of the invention, a non-transitory computer-readable medium is provided for storing computer instructions that, when executed by one or more processors, cause the one or more processors to perform a method for identifying building floors according to a first aspect of the invention.
[0009] The floor identification method based on crowdsourced radio frequency signals provided by this invention utilizes the signal spillover effect between floors. It requires only one labeled signal sample and uses a graph neural network for RF signals (RF-GNN) to efficiently represent a large number of RF signals on a (potentially dynamic) graph as vectors, effectively clustering the RF signals and accurately indexing the resulting node clusters. This invention exhibits superior and more efficient clustering performance compared to other algorithms, improving the adjusted rand index (ARI) and normalized mutual information (NMI) by 23% and 25%, respectively. Attached Figure Description
[0010] Figure 1 A schematic diagram of a method for identifying building floors according to an embodiment of the present invention is shown.
[0011] Figures 2A to 2E Flowcharts of each of the main steps of the method are shown.
[0012] Figure 3 It shows how to model signal samples and access points on a bipartite graph.
[0013] Figure 4 It shows how to select sampling nodes during the aggregation process and how to aggregate information from sampling nodes to target nodes.
[0014] Figure 5 The signal spillover effect between characteristic embedding vector clusters of floor radio frequency signal samples is shown.
[0015] Figure 6 Exemplary apparatuses are shown for performing or implementing methods for identifying building floors in various embodiments of the present invention. Detailed Implementation
[0016] The specific embodiments described below are some preferred embodiments of the present invention.
[0017] Figure 1 A schematic diagram of a method for identifying building floors according to an embodiment of the present invention is shown. Figures 2A to 2EFlowcharts of each of the main steps of the method are shown.
[0018] refer to Figure 1 The method includes the following main steps:
[0019] S101 (Sample Labeling): Label a signal sample collected from the ground floor of a building and detected at the access point;
[0020] S102 (Graph Model Construction): Model the multiple signal samples and access points in a bipartite graph G;
[0021] S103 (Feature Embedding): The bipartite graph G is processed using a graph neural network for RF signals (RF-GNN) to obtain the feature embedding vector of each signal sample relative to the detected access point;
[0022] S104 (Clustering): Cluster the multiple feature embedding vectors into feature embedding vector clusters until the total number of the feature embedding vector clusters equals the number of floors in the building; and
[0023] S105 (Index): Index the starting cluster, and use subsequent floor numbers to index the other sorted feature embedding vector clusters.
[0024] refer to Figure 2A Step S101 includes:
[0025] S1011: Collect multiple crowdsourced radio frequency signal samples within the building;
[0026] S1012: Detect access points from the collected crowdsourced signal samples;
[0027] S1013: Select one signal sample from multiple signal samples collected from the ground floor of the building and detected at the access point for labeling.
[0028] refer to Figure 2B Step S102 includes:
[0029] S1021: The plurality of signal samples are represented as a plurality of first nodes in the bipartite graph;
[0030] S1022: The detected access points are represented as multiple second nodes in the bipartite graph;
[0031] S1023: If an access point corresponding to a second node is detected in a signal sample corresponding to a first node, then connect the first node and the second node.
[0032] refer to Figure 2C Step S103 includes:
[0033] S1031: Define the weight of the edges in graph G as a function of the perceived received signal strength (RSS) value to encode different signal strength levels from different access points (or MAC addresses), where the higher the perceived RSS value between a node and its neighboring nodes, the greater the likelihood of selecting that neighboring node.
[0034] S1032: The weights of the edges are used as the attention weights of the RF-GNN to select signal samples for aggregation of sampling information to obtain a feature embedding vector.
[0035] like Figure 3 As shown, there are two types of nodes in the bipartite graph G. One type represents access points (access points s), or more precisely, their MAC addresses, while the other type represents radio frequency (RF) signal samples (or records). Each RF signal sample contains a list of sensed MAC addresses and their RSS values. Then, if a MAC address is detected in an RF sample (record), the node with that MAC address is connected to the node of the corresponding RF signal sample. Therefore, the crowdsourced RF signal can be represented as a weighted bipartite graph G = (U, V, E), where V is the set of nodes representing crowdsourced RF signal samples, U is the set of nodes representing sensed MAC addresses, and E is the set of edges, e uv Let ∈ E represent the edge between u ∈ U and v ∈ V. Let RSS uv Let w be the RSS value of the radio frequency signal from u appearing in v. Then, the weight w of the edge... uv Defined as:
[0036] w uv := f(RSS uv ), where for all RSS uv f(RSS) uv )>0.
[0037] In the weighted bipartite graph G, f(RSS) is used uv := f(RSS) uv ) + c, where c is a constant (e.g., set to 120 dBm) such that c > max{|RSS uv |, u, v}.
[0038] The RF-GNN is configured to learn an aggregation process to represent nodes on the weighted bipartite graph as vectors. Typically, for a given target node, the aggregation process comprises two steps. First, nodes are sampled from the N-hop neighborhood of the target node based on a uniform distribution. Second, information is aggregated from the sampled nodes toward the target node. Figure 4 This illustrates an example where information is aggregated from two-hop neighborhoods towards a target node. First, two nodes are sampled from each one-hop and two-hop neighborhood, and in this example, aggregation is performed in two iterations. In each iteration, each node obtains information from its sampled immediate neighbors. After two iterations, the target node contains information from its two-hop neighborhoods.
[0039] By employing this neighbor-node sampling strategy to select signal samples for aggregation, the resulting embedding vector space preserves the relative distance (similarity) between two "signal sample" nodes in the physical space. More specifically, the sampling probability of selecting signal sample u is given by the following formula:
[0040]
[0041] The same principle applies to selecting signal sample v.
[0042] Therefore, edge weights can be incorporated as an attention factor into the aggregation process, and an edge-weight-based aggregator can be designed. Specifically, let... For the sampling neighborhood of node v, For u∈ The vector representation of the weight aggregator is defined as follows:
[0043]
[0044] Consider node i ∈ U ∪ V. Let Let be the vector representation of node i in the k-th iteration. Let K be the sampling neighborhood of node i, and K be the node's hop count. Set as a random vector, in the k-th iteration of the aggregation process, RF-GNN first aggregates information sampled from direct (i.e., shortest distance) neighbor nodes and stores it in a temporary variable, for example... Its definition is as follows:
[0045]
[0046] in This represents the vector representation of the neighboring node j in the (k-1)th iteration. Then, RF-GNN will... The vector representation of node i in the previous iteration (i.e., The concatenation is performed using a vector concatenated through a trainable weight matrix W. k and nonlinear functions Fully connected neural network layers generate Its definition is as follows:
[0047]
[0048] at last, Normalized to ,in It's the L2 norm. Then... It was used in the (k+1)th iteration. After repeating the entire process K times, the final representation of node i is... Provided.
[0049] refer to Figure 2D Step S104 includes clustering the multiple feature embedding vectors into a feature embedding vector cluster by iteratively executing a proximity-based hierarchical clustering algorithm. The proximity-based hierarchical clustering algorithm includes the following steps:
[0050] S1041: Treat each feature embedding vector as a cluster;
[0051] S1042: Calculate the distance between the clusters; and
[0052] S1043: Continuously merge any two clusters with the shortest distance to form a new cluster, until the total number of clusters equals the number of floors.
[0053] The distance between the clusters is defined as:
[0054]
[0055] in Let i represent the set of representations of signal sample nodes in the i-th cluster. Let j represent the set of signal sample nodes in the j-th cluster. This represents the signal sample node in the i-th cluster. This represents a signal sample node in the j-th cluster.
[0056] refer to Figure 2E Step S105 includes:
[0057] S1051: Define the feature embedding vector cluster containing the labeled signal samples as the starting cluster;
[0058] S1052: Based on the initial cluster, the remaining feature embedding vector clusters are sorted by maximizing the sum of similarity coefficients between two adjacent feature embedding vector clusters to obtain the optimal sequence; and
[0059] S1053: Index the starting cluster using the bottom layer number, and index the other sorted feature embedding vector clusters using the subsequent floor numbers.
[0060] For each pair of clusters, the Jaccard similarity coefficient can be used to measure their similarity. A higher coefficient indicates greater similarity. For example... Figure 5 As shown, due to the signal spillover effect, clusters corresponding to adjacent floors should have a higher similarity coefficient than clusters corresponding to floors farther away. To achieve higher floor identification efficiency and accuracy, this invention utilizes the signal spillover effect between two clusters to improve the algorithm for the similarity coefficient between them. The improved similarity coefficient is given by the following formula:
[0061]
[0062] in It is the improved similarity coefficient between the i-th cluster and the j-th cluster.
[0063] It is the frequency count of shared access points between the i-th and j-th clusters, which can be defined as:
[0064] ,
[0065] in, It is the total number of MAC addresses. It is the frequency of the k-th MAC appearing in the i-th cluster. It is the frequency at which the k-th MAC appears in the j-th cluster.
[0066] It is the frequency count of non-shared access points between the i-th cluster and the j-th cluster, which can be defined as:
[0067] .
[0068] in, It is the average frequency of occurrence of MAC in the i-th cluster. It is the average frequency of occurrence of MACs in the j-th cluster. That is, ,as well as It is an indicator function. For example, It is given by the following formula:
[0069]
[0070] Compared to the commonly used Jaccard similarity coefficient, the improved similarity coefficient of this invention can achieve a higher edit distance with a lower standard deviation. This means that by taking into account the frequency of occurrence of access points (or MACs), the improved similarity coefficient of this invention can better capture the signal spillover effect between floors, thereby providing a better similarity measure between signal clusters, making cluster indexing more accurate.
[0071] In other words, sorting the feature embedding vector clusters to obtain the optimal sequence is equivalent to solving a variant of the traveling salesman problem (TSP) on a bipartite graph G, i.e., finding the shortest Hamiltonian path in the bipartite graph G. When solving the TSP, the exact algorithm can be replaced by an approximation algorithm to improve computational efficiency. For example, a near-optimal solution to the TSP can be obtained using the 2-opt approximation algorithm. The performance degradation (approximately 3%) is negligible when using an approximation algorithm. Therefore, for high-rise buildings with many floors, an approximation algorithm can be used as a cost-effective alternative to achieve accurate floor identification with almost no performance degradation.
[0072] In practical deployments, the RF-GNN proposed in this invention and other benchmark algorithms use a wide range of embedding dimensions, for example, the embedding dimension can vary from 8 to 64. This invention consistently performs well under different embedding dimension choices and outperforms other benchmark algorithms under various embedding dimension options, indicating its robustness to variations in embedding dimension.
[0073] The method for identifying building floors further includes training the RF-GNN in an unsupervised manner based on a set of short random walks generated on the bipartite graph. The RF-GNN uses the loss function L given below. G Training is performed. The loss function L G Defined as:
[0074] L G := - log (σ(r i · r j )) - τ × E z~Pr(z) log (σ(-r i · r z ))
[0075] Where σ(x) = 1 / (1 + exp(-x)), r i · r j Indicates r i and r j The inner product, Pr(z), is the user-defined node distribution, E z~Pr(z)It is the expected value of Pr(z).
[0076] Figure 6 Exemplary device 1000 is shown in various embodiments of the present invention for performing or implementing a method for identifying building floors. For example, device 1000 may be a computing device, including: a server computer, a personal computer, a laptop computer, a mobile computing device such as a smartphone and tablet computer. Preferably, device 1000 may have different configurations and generally includes suitable components necessary for receiving, storing, and executing appropriate computer instructions or code. The main components of device 1000 are a processing unit 1002 and a memory unit 1004.
[0077] The processing unit 1002 is a processor, such as a CPU, MCU, or electronic circuit system, including but not limited to application-specific integrated circuits (ASICs), field-programmable gate arrays (FPGAs), and other programmable logic devices configured or programmed in accordance with the teachings of this disclosure.
[0078] Memory cell 1004 may include volatile memory cells (e.g., RAM), non-volatile cells (e.g., ROM, EPROM, EEPROM, and flash memory), or both, or any type of media or device suitable for storing instructions, code, and / or data.
[0079] Preferably, device 1000 further includes one or more input devices 1006, such as a keyboard, mouse, stylus, microphone, tactile input device (e.g., touch-sensitive screen), and video input device (e.g., camera). Device 1000 may also include one or more output devices 1008, such as one or more displays, speakers, disk drives, and printers. The display may be a liquid crystal display, a light-emitting display, or any other suitable display that may or may not be touch-sensitive. Device 1000 may also include one or more disk drives 1012, which may encompass solid-state drives, hard disk drives, optical drives, and / or tape drives. A suitable operating system may be installed in device 1000, for example, on disk drive 1012 or in memory unit 1004 of device 1000. Memory unit 1004 and disk drive 1012 may be operated by processing unit 1002.
[0080] Device 1000 also preferably includes a communication module 1010 for establishing one or more communication links (not shown) with one or more other computing devices, such as servers, personal computers, terminal nodes, wireless or handheld computing devices. The communication module 1010 may be a modem, network interface card (NIC), integrated network interface, radio frequency transceiver, optical port, infrared port, USB connection, or other interface. The communication link may be wired or wireless and is used to transmit commands, instructions, information, and / or data.
[0081] Preferably, the processing unit 1002, memory unit 1004, and optional input device 1006, output device 1008, communication module 1010, and disk drive 1012 are interconnected via a bus, such as a Peripheral Component Interconnect (PCI) high-speed PCI, Universal Serial Bus (USB), and / or optical bus structure. In one embodiment, some of these components may be network-connected via, for example, the Internet or a cloud computing network. Those skilled in the art will understand that... Figure 6 The device 1000 shown is merely exemplary, and different devices 1000 may have different configurations and are still applicable in this invention.
[0082] In some embodiments, the method of the present invention can also be implemented in a distributed computing environment and / or cloud computing environment, wherein all or part of the machine instructions are executed in a distributed manner by one or more processing devices interconnected by a communication network, such as an intranet, a wide area network (WAN), a local area network (LAN), the Internet, and other forms of data transmission media.
[0083] The foregoing description of the invention has been provided for purposes of illustration and description. The invention is not intended to be exhaustive or to limit it to the precise forms disclosed. Many modifications and variations will be apparent to those skilled in the art.
[0084] The embodiments were chosen and described in order to best illustrate the principles of the invention and its practical application, thereby enabling others skilled in the art to understand the various embodiments of the invention and the various modifications suitable for the particular intended use.
Claims
1. A method for identifying building floors, characterized in that, Includes the following steps: a) Label a signal sample collected from the ground floor of the building and in which an access point was detected; b) Model the plurality of signal samples and access points in a bipartite graph; c) Process the bipartite graph using a graph neural network to obtain the feature embedding vector of each signal sample relative to the detected access point; d) Cluster the multiple feature embedding vectors into feature embedding vector clusters until the total number of the feature embedding vector clusters equals the number of floors in the building; e) Define the feature embedding vector cluster containing the labeled signal samples as the starting cluster; f) Based on the initial cluster, the remaining feature embedding vector clusters are sorted by maximizing the sum of similarity coefficients between adjacent feature embedding vector clusters to obtain the optimal sequence; and g) Index the starting cluster using the bottom-level number, and index the other sorted feature embedding vector clusters using the subsequent floor numbers; Wherein, the similarity coefficient between the two feature embedding vector clusters It is given by the following formula: ; It is the frequency count of shared access points between cluster i and cluster j, which can be defined as: ,in, This is the total number of media access control (MAC) protocols. It is the frequency of the k-th MAC appearing in the i-th cluster. It is the frequency of the k-th MAC appearing in the j-th cluster; and It is the frequency count of non-shared access points between the i-th cluster and the j-th cluster, which can be defined as: ,in, It is the average frequency of occurrence of MAC in the i-th cluster. It is the average frequency of occurrence of MAC in the j-th cluster. It is an indicator function.
2. The method according to claim 1, characterized in that, Step a) includes: Collect multiple crowdsourced radio frequency signal samples from within the building; Detect the access point from the collected multiple crowdsourced signal samples; and A signal sample is selected and labeled from the signal samples collected from the ground floor of the building and the signal samples of the access point detected.
3. The method according to claim 2, characterized in that, Step b) includes: The multiple signal samples are represented as multiple first nodes in the bipartite graph; The detected access points are represented as multiple second nodes in the bipartite graph; and If an access point corresponding to a second node is detected in a signal sample corresponding to a first node, then the first node and the second node are connected.
4. The method according to claim 3, characterized in that, Step c) includes: The weights of the edges in the bipartite graph are defined as functions of the perceived RSS values to encode different signal strength levels from different access points; and The weights of the edges are used as the attention weights of the graph neural network to select signal samples and aggregate the sampling information to obtain the feature embedding vector.
5. The method according to claim 4, characterized in that, Step d) includes: Each feature embedding vector is treated as a cluster; Calculate the distance between the clusters; and Continuously merge any two clusters with the shortest distance to form a new cluster, until the total number of clusters equals the number of floors.
6. The method according to claim 5, characterized in that, The distance between the clusters is defined as: in Let i represent the set of representations of signal sample nodes in the i-th cluster. Let j represent the set of signal sample nodes in the j-th cluster. This represents the signal sample node in the i-th cluster. This represents a signal sample node in the j-th cluster.
7. The method according to claim 1, characterized in that, It also includes training the graph neural network in an unsupervised manner based on a set of short-range random walks generated on the bipartite graph.
8. The method according to claim 7, characterized in that, The graph neural network uses a loss function L G Training is performed, and the loss function L G Defined as: L G := - log (σ(r i · r j )) - τ × E z~Pr(z) log (σ(-r i ·r z ), where σ(x) = 1 / (1 + exp(-x)), r i · r j Indicates r i and r j The inner product, Pr(z), is the user-defined node distribution, E z~Pr(z) It is the expected value of Pr(z).
9. A non-transitory computer-readable medium for storing computer instructions that, when executed by one or more processors, cause the one or more processors to perform the method according to any one of claims 1-8.
