INDOOR TARGET POSITIONING METHOD BASED ON IMPROVED CONVOLUTIONAL NEURAL NETWORK MODEL
20220386264 · 2022-12-01
Inventors
- Dengyin Zhang (Nanjing, CN)
- Yepeng XU (Nanjing, CN)
- Yuanpeng ZHAO (Nanjing, CN)
- Yan YANG (Nanjing, CN)
- Chenghui QI (Nanjing, CN)
Cpc classification
H04W64/00
ELECTRICITY
G06N3/0895
PHYSICS
G01S5/02522
PHYSICS
International classification
Abstract
An indoor target positioning method based on an improved convolutional neural network (CNN) model includes acquiring and preprocessing target camera serial interface (CSI) data of a to-be-positioned target and matching the preprocessed target CSI data with fingerprints in a positioning fingerprint database to obtain coordinate information of the to-be-positioned target. The generation method of the positioning fingerprint database includes: collecting indoor WiFi signals by a software defined radio (SDR) platform to obtain indoor CSI data corresponding to the WiFi signals, and preprocessing the indoor CSI data; partitioning the preprocessed indoor CSI data into a plurality of data subsets through a clustering algorithm; training an improved CNN model by the data subsets to obtain a trained improved CNN model; and generating the positioning fingerprint database by the trained improved CNN model and the preprocessed indoor CSI data.
Claims
1. A method, comprising: acquiring and preprocessing target camera serial interface (CSI) data of a to-be-positioned target; and matching preprocessed target CSI data with fingerprints in a positioning fingerprint database to obtain coordinate information of the to-be-positioned target; wherein: a generation method of the positioning fingerprint database comprises: collecting indoor WiFi signals by a software defined radio (SDR) platform to obtain indoor CSI data corresponding to the WiFi signals, and preprocessing the indoor CSI data; partitioning the preprocessed indoor CSI data into a plurality of data subsets through a clustering algorithm; training an improved convolutional neural network (CNN) model by the data subsets to obtain a trained improved CNN model; and generating the positioning fingerprint database by the trained improved CNN model and the preprocessed indoor CSI data.
2. The method of claim 1, wherein the SDR platform comprises a mobile node, a plurality of signal base stations and a data processing unit; the mobile node is configured to periodically broadcast probe request frames and automatically send positioning requests; each signal base station is configured to receive the positioning requests of the mobile node and acquire WiFi signals of the mobile node; and the data processing unit is configured to process the WiFi signals acquired by the signal base stations to obtain the indoor CSI data corresponding to the WiFi signals.
3. The method of claim 1, wherein preprocessing target CSI data comprises: performing amplitude filtering, phase correction, and mean removal on the indoor CSI data to obtain corrected CSI data; and reducing dimension of and eliminating noise of the corrected CSI data by principal component analysis (PCA) to obtain the preprocessed CSI data.
4. The method of claim 1, wherein partitioning the preprocessed indoor CSI data into a plurality of data subsets through a clustering algorithm comprises: dividing the preprocessed indoor CSI data into multiple data subsets by clustering algorithm, and each data subset comprising multiple indoor CSI data; calculating a center of each data subset based on a k-means algorithm by following formula:
E=Σ.sub.i=1.sup.kΣ.sub.x∈C.sub.
5. The method of claim 1, wherein the improved CNN model comprises five convolution layers, a first fully connected layer, and a second fully connected layer connected in sequence; the five convolution layers comprise 16, 32, 64, 64 and 128 kernels, respectively; the first fully connected layer is configured to flatten outputs of a fifth convolution layer, and the second fully connected layer is configured to output partitioned CSI data.
6. The method of claim 5, wherein training an improved CNN model by the data subsets comprises: standardizing each indoor CSI data in each data subset:
7. The method of claim 6, wherein batching the features of each convoluted indoor CSI data comprises: calculating a mean based on the c data: represents standardized features of the indoor CSI data, and ε is a default standardized value.
8. The method of claim 6, wherein the coordinate information corresponding to each indoor CSI data in each data subset is calculated by following formula:
y.sub.p=γ.sub.p+β (7); where y.sub.p represents the coordinate information corresponding to the p.sup.th indoor CSI data in the data subset, γ and β are the model parameters of the improved CNN model, respectively, and
.sub.p represents the standardized features of the p.sup.th indoor CSI data in the data subset.
9. The method of claim 6, wherein the loss function is expressed as follows:
L=−Σ.sub.py′.sub.p log(y.sub.p) (8); where L represents the losses of the improved CNN model, y′.sub.p represents a real coordinate label of the p.sup.th indoor CSI data in the data subset, and y.sub.p represents the coordinate information corresponding to the p.sup.th indoor CSI data in the data subset.
10. The method of claim 1, wherein the positioning fingerprint database comprises CSI data and coordinate information corresponding to the CSI data.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
[0048]
[0049]
[0050]
DETAILED DESCRIPTION
[0051] To further illustrate the disclosure, embodiments detailing an indoor target positioning method based on an improved CNN model are described below. It should be noted that the following embodiments are intended to describe and not to limit the disclosure.
[0052] According to the disclosure, an indoor target positioning method based on an improved CNN model is proposed. As shown in
[0053] According to the disclosure, the method comprises the following steps 1 and 2.
[0054] Step 1, the target CSI data of a to-be-positioned target are acquired and preprocessed; and
[0055] Step 2, the preprocessed target CSI data are matched with fingerprints in a positioning fingerprint database to obtain coordinate information of the to-be-positioned target.
[0056] The generation method of the positioning fingerprint database comprises the following steps A to D.
[0057] In step A, indoor WiFi signals are collected by an SDR platform to obtain indoor CSI data corresponding to the WiFi signals, and the data are preprocessed.
[0058] In step B, the preprocessed indoor CSI data are partitioned into a plurality of data subsets through a clustering algorithm.
[0059] In step C, the improved CNN model is trained by the data subsets to obtain the trained improved CNN model.
[0060] In step D, a positioning fingerprint database is generated by the trained improved CNN model and the preprocessed indoor CSI data.
[0061] According to the disclosure, the SDR platform is configured to collect data, which can collect WiFi signals and obtain CSI data by the WiFi signals. The CSI data contains more position information than radio frequency identification devices (RFID) and received signal strength indicators (RSSI), which makes it easier to extract multi-path components and is conducive to improving the accuracy of indoor positioning. The SDR platform comprises a mobile node, a plurality of signal base stations and a data processing unit. Both the mobile node and the signal base stations are defined by an SDR device, and the mobile node can periodically broadcast probe request frames and automatically send positioning requests. Each signal base station is configured to receive the positioning requests from the mobile node and acquire the WiFi signals of the mobile node. A special baseband receiver is disposed behind an RF front end in the base station to reduce the carrier frequency offset and improve the received signal to noise ratio. The data processing unit is connected to the signal base station through a coaxial cable, and is configured to process the WiFi signals acquired by the signal base stations to obtain the indoor CSI data corresponding to the WiFi signals. When the mobile node sends the positioning requests, the probe request frame, which belongs to a management frame and strictly complies with an ieee802.11b protocol, is taken as a request signal.
[0062] In step 1 and the step A, the data may be preprocessed through principal component analysis (PCA) in which a set of linearly irrelevant variables can be extracted from vast amounts of CSI data, thus solving the complexity and data transmission problems associated with super-high dimensional CSI data in complex environments. The data preprocessing comprises following steps (1) to (4).
[0063] In step (1), amplitude filtering, phase correction and mean removal are performed on the CSI data to obtain corrected CSI data, and the mean of the CSI data after mean removal is 0 in each feature dimension.
[0064] In step (2), dimension reduction and noise elimination are performed on the corrected CSI data through PCA. PCA essentially takes the direction with the largest variance as a main feature, and “dissociates” the data in each orthogonal direction, i.e., makes them irrelevant in different directions, which minimizes the impact of noise on experimental data.
[0065] The variance of the corrected CSI data is calculated through PCA by the following formula:
[0066] where Var(x) represents the variance of the corrected CSI data, m is the number of corrected CSI data, x.sub.j.sup.2 represents the square of the value of the j.sup.th corrected CSI data, j=1, . . . , m.
[0067] In step (3), a CSI feature vector is calculated by the variance of the corrected CSI data; each CSI data contains values in three dimensions (x, y and z axes in a three-dimensional space coordinate system), and mapping directions of the values in three dimensions in the three-dimensional space constitute a mapping direction w, where w=(w.sub.1, w.sub.2, w.sub.3), and w.sub.1, w.sub.2 and w.sub.3 of the CSI data represent the mapping directions of the values in three dimensions in x, y and z axes, respectively. According the disclosure, a maximum CSI feature vector is obtained after being mapped to the direction w by gradient boosting:
[0068] where ∇f represents the variation of gradient, and X represents the CSI feature vector.
[0069] In step (4), the maximum variance of the corrected CSI data is obtained by formula (10), and the corrected CSI data are processed based on the maximum variance to obtain the CSI data after dimension reduction and noise elimination, i.e., the preprocessed CSI data.
[0070] To improve the learning performance of position estimation, a dataset partitioning method is proposed in the disclosure, which partitions a fingerprint database set of each small indoor space into several subsets, and a center of each data subset may be obtained based on a k-means clustering algorithm. Through PCA, the noise can be effectively reduced, and the redundancy of each data subset can be removed, so as to extract multi-path and non-line-of-sight (NLOS) effects of each data subset, which can improve the learning performance of position estimation, eliminate the final error and improve the positioning accuracy.
[0071] In the embodiment of the disclosure, the step B comprises following substeps B01 to B04.
[0072] In step B01, the preprocessed indoor CSI data are randomly partitioned into a plurality of data subsets based on the geographical position, and each data subset comprises a plurality of indoor CSI data. For large indoor places, the data subsets may be randomly partitioned according to the layout of shops and floors in the indoor places, or based on a default area (for example, 50 m.sup.2).
[0073] In step B02, the data subsets are taken as clusters in the clustering algorithm, the center of each data subset is calculated based on the k-means algorithm by following specific formula:
[0074] where μ.sub.i represents the center of the i.sup.th data subset (i.e., a mean component of the cluster, also known as the center of mass), C.sub.i represents the i.sup.th data subset, x represents the indoor CSI data, i=1, . . . , k, where k is the number of data subsets.
[0075] In step B03, in order to make points in the cluster closely connected together and make the distance between the clusters as large as possible, in the disclosure, a square error of all data subsets is calculated based on the center of the data subsets, and iteration is performed until the square error is minimized. The square error is calculated by the following formula:
E=Σ.sub.i=1.sup.kΣ.sub.x∈C.sub.
[0076] where E represents the square error of all data subsets.
[0077] In step B04, a distance between the preprocessed indoor CSI data and the center of each data subset is calculated, and the data subsets are re-partitioned based on the distance, the steps B02 to B03 are repeated until the square error is minimized to obtain a final data subset.
[0078] The improved CNN model is adopted in step C of the embodiment of the disclosure. As shown in
[0079] A regression model for position estimation and a classification model for removing noise interference may be obtained by training the data subsets by the CNN model. The step C comprises following steps C01 to C06.
[0080] In step C01, in order to reduce the impact of data correlation errors and improve the speed of network convergence, the method in the disclosure standardizes each indoor CSI data in each data subset:
[0081] where x.sub.p represents the p.sup.th indoor CSI data after being standardized, var.sub.p represents the p.sup.th indoor CSI data in the data subset, mean ( ) is a function MEAN, total ( ) is a function SUBTOTAL, p=1, . . . , n, where n is the number of indoor CSI data in each data subset.
[0082] In step C02, model parameters of the improved CNN model are initialized, the standardized indoor CSI data in each data subset are input into the convolution layers of the improved CNN model to obtain the convoluted indoor CSI data, and features of the convoluted indoor CSI data are extracted.
[0083] The indoor CSI data in each data subset are input into the convolution layers in sequence, and the features of the tracking results (the convoluted indoor CSI data) are extracted by a series of kernel functions. One kernel generates one tracking result feature mapping, and elements in the kernel are determined by network training. Each kernel is a three-dimensional matrix, with its rows and columns as user defined hyper-parameters.
[0084] In step C03, batching, max-pooling and activation are performed on the features of the convoluted indoor CSI data to obtain mappings of the convoluted indoor CSI data.
[0085] Batching can speed up network training, allow higher learning rates, make initial weighting easier, and simplify the creation of deep networks. The batching in the embodiment of the disclosure comprises following steps (1) to (3).
[0086] In step (1), the mean is calculated based on the features of the convoluted indoor CSI data:
[0087] where U.sub.B represents the mean of the features of the convoluted indoor CSI data, M is the number of features of each convoluted indoor CSI data, s.sub.q represents the features of the q.sup.th convoluted indoor CSI data, q=1, . . . , M.
[0088] In step (2), a variance of the features is calculated based on U.sub.B by following formula:
[0089] where σ.sub.B.sup.2 represents the variance of the features of the convoluted indoor CSI data.
[0090] In step (3), the features of the convoluted indoor CSI data are standardized based on U.sub.B and σ.sub.B.sup.2:
[0091] where represents the standardized features of the indoor CSI data, and ε is a default standardized value.
[0092] Pooling is an important concept of convolution layer, which is in form of nonlinear down-sampling. According to the disclosure, the tracking results are partitioned into a set of non-overlapping rectangles by max-pooling, and a maximum value is output in each rectangle. On the premise of keeping the main features, the computation burden is reduced by reducing the number of parameters.
[0093] According to the disclosure, the method performs activation by taking Leaky ReLU as an activation function, and the activation function can make the CNN neural network show nonlinear features.
[0094] In step C04, the mappings of the convoluted indoor CSI data are classified by the second fully connected layer of the improved CNN model to obtain the coordinate information corresponding to each indoor CSI data in each data subset.
[0095] Each fully connected layer is a column vector comprising a plurality of nerve units, and coordinate information output thereby is calculated by following formula:
y.sub.p=γ.sub.p+β (7);
[0096] where y.sub.p represents the coordinate information corresponding to the p.sup.th indoor CSI data in the data subset, γ and β are the model parameters of the improved CNN model, respectively, .sub.p represents the standardized features of the p.sup.th indoor CSI data in the data subset.
[0097] In step C05, based on a default real coordinate label (i.e., the real 3D coordinate information corresponding to the CSI data) and the coordinate information (y.sub.p) output by the improved CNN model, losses of the improved CNN model are calculated by a loss function by following formula:
L=−Σ.sub.py′.sub.p log(y.sub.p) (8);
[0098] where L represents the losses of the improved CNN model, y′.sub.p represents the real coordinate label of the p.sup.th indoor CSI data in the data subset, and y.sub.p represents the coordinate information corresponding to the p.sup.th indoor CSI data in the data subset.
[0099] In step C06, the model parameters of the improved CNN model are updated based on the losses, and the standardized indoor CSI data are processed by the updated improved CNN model. The steps C02 to C06 are repeated, and the loss convergence is observed through a loss function diagram. When the losses converge, the trained improved CNN model is obtained.
[0100] According to the disclosure, in step D, a large number of indoor CSI data are collected and processed by the trained improved CNN model, so that the coordinate information corresponding to the CSI data can be obtained, and the positioning fingerprint database is generated by the CSI data and the corresponding coordinate information.
[0101] According to the disclosure, the obtained positioning fingerprint database can be used directly for indoor positioning in the online stage, and the target CSI data of the to-be-positioned target are collected by the SDR platform. In step 2, the target CSI data are compared with the data in the positioning fingerprint database, and if the target CSI data are the same as the CSI data in the positioning fingerprint database, coordinate information can be directly extracted from the fingerprint database. In addition, considering that the target CSI data may not be exactly the same as the CSI data in the positioning fingerprint database, the fingerprint matching in the disclosure may also be performed according to the steps shown in
[0102] According to the disclosure, the collected CSI data are processed by PCA and a data subset partitioning method, so as to remove noise interference and preliminarily improve the accuracy of positioning. The CSI data in the data subset are put into the improved CNN model for training, so as to suppress multi-path components and further improve the accuracy of indoor positioning. The method according to the disclosure can effectively remove noise and multi-path components, improve the accuracy of positioning and realize its application value in large indoor places.
[0103] It will be obvious to those skilled in the art that changes and modifications may be made, and therefore, the aim in the appended claims is to cover all such changes and modifications.