An indoor collection positioning method based on a neural network algorithm, a positioning system, and a storage medium

Through collaborative design of Android client, Java backend and Python algorithm client, and by using neural network algorithm to process multi-source signal data, the problems of high equipment dependence, high cost and poor algorithm adaptability of existing indoor positioning technology are solved, and low-cost and high-precision indoor positioning effect is achieved.

CN122294239APending Publication Date: 2026-06-26EAST CHINA NORMAL UNIV +2

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
EAST CHINA NORMAL UNIV
Filing Date
2026-03-13
Publication Date
2026-06-26

AI Technical Summary

Technical Problem

Existing indoor positioning technologies suffer from high equipment dependence, high cost, poor algorithm adaptability, insufficient positioning robustness, low system integration, inefficient fingerprint database construction, and unfriendly interaction design, making it difficult to meet the low-cost, high-precision positioning needs in small-scale indoor scenarios.

Method used

It adopts a collaborative design of Android, Java backend and Python algorithm, and realizes efficient fingerprint database construction and high-precision positioning without dedicated equipment through neural network algorithms of multi-source signal data. It uses a four-layer convolutional neural network and SEBlock squeeze excitation module for feature extraction and weighted fusion, combined with linear interpolation to improve sample density, and provides a visual interactive interface and mode switching.

Benefits of technology

It achieves low-cost, high-precision indoor positioning, reduces equipment deployment and maintenance costs, improves positioning robustness and user experience, and supports rapid deployment and iterative upgrades.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122294239A_ABST
    Figure CN122294239A_ABST
Patent Text Reader

Abstract

This invention discloses an indoor data acquisition and positioning method, positioning system, and storage medium based on a neural network algorithm. It employs a multi-terminal collaborative architecture to achieve a closed-loop positioning process for small-scale indoor scenes. The system uploads indoor planar images via a front-end device and performs scale calibration to establish a mapping relationship between pixel coordinates and physical space. In acquisition mode, it acquires multi-source signals in real time and expands the effective sample. After back-end data processing and storage, the algorithm extracts signal features through a neural network, performs adaptive weight allocation and feature fusion, and trains to generate a fingerprint database model. In positioning mode, it performs signal matching and coordinate calculation based on this model, and finally, the positioning results are visualized and displayed on the front end. This invention requires no dedicated acquisition equipment or base station deployment, and has the advantages of high positioning accuracy, low deployment cost, convenient maintenance, and user-friendly operation, making it suitable for various small-scale indoor positioning needs.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention belongs to the field of positioning and navigation technology, and more specifically, relates to an indoor data acquisition and positioning method, positioning system and storage medium based on neural network algorithm. The indoor data acquisition and positioning system integrates Android mobile terminal data acquisition, Java backend microservice support and Python neural network algorithm optimization, which can meet the low-cost and high-precision positioning needs in small-scale indoor scenarios. Background Technology

[0002] With the rapid development of mobile internet and IoT technologies, the demand for indoor positioning applications continues to grow in various small-scale indoor scenarios such as smart homes, small warehouses, and office spaces. However, existing indoor positioning technologies still have many shortcomings in practical applications, making it difficult to meet the low-cost, high-precision positioning needs of individuals and small-scale scenarios. Specific problems are as follows: High equipment dependence and high operating costs: Traditional indoor positioning systems require dedicated signal acquisition equipment, dedicated base stations or additional sensors. Ordinary users cannot use them directly with personal handheld devices. The equipment deployment and subsequent maintenance costs are high, making them unsuitable for small-scale personal or small-scale scenarios.

[0003] Poor algorithm adaptability and insufficient positioning robustness: Positioning algorithms that rely solely on WIFI or base station (CELL) signals are easily affected by indoor environmental interference, limiting positioning accuracy; some fusion positioning algorithms lack scientific feature selection and weight allocation mechanisms, failing to fully leverage the complementarity of multi-source signals, resulting in poor positioning stability.

[0004] Low system integration and difficulty in iterative maintenance: Most indoor positioning solutions suffer from high coupling between the front-end and back-end and ambiguous module division. Algorithm replacement and function expansion require large-scale code modifications, resulting in high development costs. At the same time, the lack of standardized interface design leads to low data transmission and processing efficiency, making system iteration and maintenance difficult.

[0005] Fingerprint database construction is inefficient and data utilization is low: Traditional fingerprint database construction relies on manual annotation of a large number of samples, and the collection process is cumbersome; moreover, the mining depth of time series data is insufficient, and it is impossible to expand the effective fingerprint volume through a limited number of collections, resulting in poor fingerprint database coverage and positioning accuracy limited by the number of collected samples.

[0006] The interactive design is unfriendly and the operation threshold is high: the existing system lacks an intuitive visual operation interface, and the operation process such as spatial configuration, scale setting, and switching of acquisition and positioning modes is complicated, making it difficult for ordinary users to get started quickly; at the same time, it is impossible to view signal data and positioning results in real time, resulting in a poor user experience.

[0007] Therefore, there is an urgent need in this field for an indoor data acquisition and positioning method, positioning system, and storage medium based on neural network algorithms that requires no dedicated equipment, supports multi-terminal collaboration, employs advanced algorithms, and is easy to operate, in order to solve the aforementioned problems of existing technologies and meet the low-cost, high-precision positioning needs of individual users in small-scale indoor scenarios. This invention is developed and proposed based on the above-mentioned technical background. Summary of the Invention

[0008] To address the shortcomings of existing indoor positioning technologies, this disclosure provides an indoor data acquisition and positioning method, positioning system, and storage medium based on a neural network algorithm. Through the collaborative design of an Android client, a Java backend, and a Python algorithm client, it achieves the technical effects of high-precision and practical positioning without the need for dedicated data acquisition equipment, efficient construction of a fingerprint database, and overcoming the problems of device dependence, single algorithm, system complexity, and cumbersome operation in existing technologies. It provides a low-cost and highly adaptable positioning solution for small-scale indoor scenarios.

[0009] According to the first aspect of this disclosure, an indoor data acquisition and positioning method based on a neural network algorithm is proposed, comprising the following steps: Step S1: Interior Space Creation and Scale Calibration Users upload indoor floor plans via Android devices. The system automatically recognizes the pixel resolution of the indoor floor plan and calculates its aspect ratio. The system also provides two configuration modes: automatic scale adaptation and manual scale input. If automatic scale adaptation is selected, the system uses a built-in universal conversion standard to complete the scale calibration between pixels and the actual physical size of the indoor space. If the scale is manually input, the user inputs the actual physical width of the indoor space. Based on the physical width and the aspect ratio, the system automatically calculates the actual physical height of the indoor space and completes the scale calibration between the pixels and the actual physical size of the indoor space. The system then uses the lower left corner of the indoor planar image as the origin of the coordinate system, establishes an X-axis along the horizontal direction of the indoor planar image and a Y-axis along the vertical direction to construct a two-dimensional pixel coordinate system. Based on the calibrated scale, the two-dimensional pixel coordinate system is mapped to the actual physical coordinate system, so that any pixel coordinate of the indoor planar image corresponds precisely to the actual physical location of the indoor space.

[0010] Step S2: Convenient handheld acquisition of multi-source signals In acquisition mode, users mark signal acquisition points on an indoor floor plan image on the Android device by clicking or manually inputting coordinates. The Android device then acquires multi-source signal data from these acquisition points in real time. This multi-source signal data includes Wi-Fi signal data (e.g., MAC address, RSSI parameters) and base station signal data (e.g., PCI, RSRP, RSRQ, SINR parameters). The acquisition frequency of the multi-source signal data is consistent with the base station refresh frequency, and the configurable number of acquisitions ranges from 100 to 500. During the data acquisition process, the Android client displays the acquisition progress log in real time. Simultaneously, it utilizes time-series data augmentation technology based on linear interpolation to generate more effective samples from multiple acquisitions of multi-source signal data at a single signal acquisition point. The interpolation interval is 0.1 seconds, and the deviation of the obtained effective samples is ≤5%. After the data collection is completed, the Android client encapsulates all the collected multi-source signal data into JSON format and uploads it to the server via an HTTP POST request. If the upload fails, it will automatically retry, with a maximum of 3 retries. Step S3: Backend data processing and cross-platform interface scheduling After receiving the JSON-formatted multi-source signal data uploaded by the Android client, the Java backend deployed on the server first performs standardization processing on the multi-source signal data, completes outlier removal, time sequence alignment and format validity verification, and then classifies and stores the qualified multi-source signal data, physical coordinates of the acquisition points, acquisition timestamps and other information into the MySQL database. Meanwhile, the Java backend, based on a microservice architecture, calls the dataset on the Python algorithm side to build a dedicated interface, encapsulates and forwards standardized information such as stored multi-source signal data, physical coordinates of collection points, and collection timestamps, and automatically triggers the fingerprint database model training process based on neural network algorithms. Step S4: Construct a fingerprint database by fusing features using a neural network. The Python algorithm processes the received multi-source signal data, physical coordinates of the collection points, collection timestamps, and other standardized information. It extracts features from WIFI signal data and base station signal data through independent convolutional neural networks and outputs two sets of high-dimensional feature vectors. Then, it performs adaptive weighted merging through a fusion neural network to train the fingerprint database model and provide algorithmic support for indoor positioning. Step S5: Indoor positioning calculation and positioning result output In positioning mode, the Android device collects multi-source signal data of the current indoor location in real time and uploads it to the Java backend. After standardization processing and legality verification by the Java backend, the standardized information is forwarded to the Python algorithm. The Python algorithm calls the trained fingerprint database model to extract, fuse and match features of the multi-source signals within the database. The physical coordinates with the highest matching degree are used as the positioning result. The positioning result is returned to the Android device via the Java backend. The Android device maps the coordinates of the positioning result to an indoor planar image and displays it visually.

[0011] Furthermore, in step S4, the independent convolutional neural network is a 4-layer convolutional neural network with parameters configured as 3×3 convolutional kernel, ReLU activation function, and padding=1. No pooling layer is set after each convolutional layer, and the last convolutional layer outputs two sets of high-dimensional feature vectors to achieve accurate extraction of local features of WIFI signal data and base station signal data.

[0012] Furthermore, in step S4, before the Python algorithm performs adaptive weighted merging of the two sets of high-dimensional feature vectors, it first uses the SEBlock squeezing excitation module to allocate channel weights to the two sets of high-dimensional feature vectors respectively. The specific process is as follows: High-dimensional feature vectors are compressed into one-dimensional statistical vectors through global average pooling. The channel importance weights are calculated through a double fully connected layer, where the compression coefficient of the first fully connected layer is 16, and the second fully connected layer outputs a weight vector in the range [0,1] through the Sigmoid activation function; The weight vector is multiplied channel by channel with the high-dimensional feature vector to achieve effective feature enhancement and ineffective feature suppression, resulting in a high-dimensional feature vector with optimized weights.

[0013] Furthermore, the two sets of high-dimensional feature vectors with optimized weights are adaptively weighted and merged using a fusion neural network, specifically as follows: The global mean of the two sets of weight-optimized high-dimensional feature vectors is calculated to obtain the global statistical score. The global statistical score is normalized to obtain the fusion weight coefficient, and the sum of the fusion weight coefficients of the two sets of weight-optimized high-dimensional feature vectors is 1. The two sets of weighted high-dimensional feature vectors are weighted and fused according to the fusion weight coefficient to generate the final feature vector. The final feature vector is then input into the fully connected layer and output as two-dimensional positioning coordinates.

[0014] Furthermore, in step S4, the Python algorithm trains the fingerprint database model, specifically including: The received standardized information is preprocessed to remove outliers from the collected data and complete timing alignment, and all signal parameters are normalized to the [0,1] interval; The model weights are initialized using a normal distribution, the bias parameter is initialized to 0, and the model hyperparameters are set to 300 training epochs, a learning rate of 0.001, and a batch size of 32. Using mean squared error as the loss function, the Adam optimizer is used to iteratively update the model parameters; when the loss on the validation set does not decrease for 5 consecutive rounds, training is stopped and the optimal model is saved. The optimal model is the trained fingerprint database model, which is stored in .pth format at a specified path on the server where the Python algorithm is located.

[0015] Furthermore, the Android client, Java backend, and Python algorithm client adopt a highly decoupled three-terminal separation and collaborative architecture, which is as follows: Android version: Developed based on Android Studio, it is compatible with Android 9.0 and above operating systems and ordinary personal handheld Android devices with ≥4G of RAM. It includes a space management module, a signal acquisition module, a mode switching module, a positioning display module, and a signal display module. Each module achieves independent functionality through component design and completes inter-module communication through the Intent mechanism. The core is responsible for tasks such as uploading indoor planar images, configuring the scale, marking signal acquisition points, acquiring multi-source signals, and visualizing positioning results. Java backend: Built on the Spring Boot framework with a microservice architecture, deployed on a cloud server, it includes an interface service module and a middleware integration module. It uses a MySQL database to classify and store seven types of core data: spatial information, signal data, fingerprint database metadata, collection batch information, device information, model version information, and location log information. It uses SpringDoc to automatically generate standardized interface documentation and the Forest framework to encapsulate cross-platform call interfaces. Its core responsibilities include standardized processing of multi-source signal data, persistent data storage, cross-platform interface scheduling, and business logic processing. Python algorithm side: Implemented based on the PyTorch deep learning framework and the Flask lightweight web framework, deployed on a GPU server and supporting CUDA acceleration. It includes an interface service module and a neural network algorithm module, providing two core interfaces for dataset construction and positioning requests. The core is responsible for algorithm-related tasks such as multi-source signal feature extraction, feature fusion, fingerprint database model training and iteration, and indoor positioning coordinate calculation.

[0016] Furthermore, the Android client supports one-click switching between data collection mode and positioning mode. The two working modes are independent yet interconnected, adapting to different usage scenarios. Acquisition mode: Supports multi-point marking on indoor planar images. Each acquisition point can be independently configured with 100-500 acquisition times. The acquisition progress, signal effectiveness and log information are displayed in real time. After the acquisition is completed, it supports one-click triggering of the fingerprint library model training process. The acquired data supports local temporary caching to avoid data loss due to network interruption. Positioning Modes: Includes two sub-modes: single-shot positioning and navigation positioning. In single-shot positioning mode, the two-dimensional physical coordinates of the current location can be quickly obtained and marked with a red dot in the indoor planar image. In navigation positioning mode, multi-source signal data is collected in real time at a frequency of 1 time / second, the positioning results are dynamically updated and the user's movement trajectory is marked, and the indoor planar image visualization area supports 0.5-2 times zooming, zooming and free panning operations to adapt to positioning viewing needs from different perspectives.

[0017] According to the second aspect of this disclosure, an indoor data acquisition and positioning system based on a neural network algorithm is proposed to implement the aforementioned indoor data acquisition and positioning method based on a neural network algorithm. The system adopts a highly decoupled collaborative architecture with three separate terminals: an Android client, a Java backend, and a Python algorithm client. Each terminal completes data interaction and business collaboration through a standardized RESTful interface, jointly completing the entire closed-loop process of indoor space configuration, multi-source signal acquisition, data processing, fingerprint database training, indoor positioning, and visualization. The system includes: Android version: Provides a user interface that supports uploading indoor plan images, configuring dual-mode scales, marking signal acquisition points, acquiring multi-source signal data, switching between acquisition mode and positioning mode, and visualizing positioning results; it encapsulates the acquired multi-source signal data into JSON format and uploads it to the Java backend, receives the positioning results returned by the Java backend, and completes coordinate mapping and marking display on the indoor plan image; Java backend: Deployed on the server, it receives multi-source signal data uploaded from the Android client, performs standardization processing such as outlier removal, timing alignment, and format validity verification, and persistently stores the standardized data in a MySQL database; based on a microservice architecture, it initiates dataset construction and model training requests to the Python algorithm client, forwards real-time location data to the Python algorithm client, and sends the location results returned by the Python algorithm client back to the Android client; Python algorithm: Receives standardized information from the Java backend, uses independent convolutional neural networks to extract high-dimensional features from WIFI and base station signals respectively, completes channel feature weight allocation through the SEBlock squeezing excitation module, adaptively weights and fuses the two types of features, and trains to generate a fingerprint database model uniquely bound to the indoor space; during the positioning phase, it calls the trained fingerprint database model to extract, fuse, and match features from real-time multi-source signal data with features from the database, and outputs the optimal physical coordinates as the positioning result; Database module: It adopts a MySQL database to store spatial information, physical coordinates of acquisition points, multi-source signal data, acquisition timestamps, acquisition batch information, device information, fingerprint database model metadata, and positioning log information, providing data read, write and query support for Java backend and Python algorithm end; The Android client, Java backend, Python algorithm client, and database module work together to achieve high-precision indoor positioning within a small area without the need for dedicated hardware, allowing for rapid deployment.

[0018] Furthermore, the Android client includes: Image uploading unit, used to upload indoor floor plans in JPG / PNG format; The scale configuration unit provides two scale calibration methods: automatic adaptation and manual input, to complete the mapping between pixel coordinates and actual physical coordinates; The signal acquisition unit is used to acquire multi-source signal data of WIFI signal and base station signal, supports 100-500 configurable acquisitions, and completes time-series data expansion based on linear interpolation method; The mode switching unit is used to enable one-click switching between data acquisition mode and positioning mode. The data acquisition mode supports multi-point marking and data caching, while the positioning mode supports single positioning and navigation positioning. The positioning display unit is used to map physical coordinates to an indoor floor plan image, mark the current location with a red dot, and display the navigation path with a continuous trajectory.

[0019] Furthermore, the Java backend includes: The data receiving unit is used to receive JSON-formatted multi-source signal data uploaded from the Android device. The standardized processing unit is used to remove outliers based on the 3σ principle, perform time sequence alignment according to timestamps, and verify the legality of data formats. Data storage unit, used to persistently store valid data in a hierarchical manner to a MySQL database; The interface scheduling unit is used to communicate with the Python algorithm through a RESTful interface, forward training data and location data, and call algorithm services.

[0020] Furthermore, the Python algorithm includes: The feature extraction unit is used to extract high-dimensional features from WIFI signal data and base station signal data using a 4-layer convolutional neural network. The feature optimization unit is used to adaptively allocate channel weights to high-dimensional feature vectors through the SEBlock squeezing excitation module, thereby enhancing effective features and suppressing ineffective features. The feature fusion unit is used to perform linear weighted fusion of the two types of high-dimensional features after weighting to generate the final localization feature vector. The model training unit is used to train the fingerprint database model based on preprocessed standardized data, and the Adam optimizer and mean squared error loss function are used to complete the model iteration. The positioning calculation unit is used to call the trained fingerprint database model, perform matching calculations on real-time signal features, and output the final physical positioning coordinates.

[0021] Furthermore, the system also includes a model management module, which is configured to store the trained fingerprint database models in .pth format, classify and manage them according to indoor space ID, collection batch, and model version, support automatic loading, rapid updates and version backtracking of models, and ensure positioning accuracy and model availability.

[0022] According to three aspects of this disclosure, a computer-readable storage medium is provided, on which computer program instructions are stored, wherein when the computer program instructions are executed by a processor, the indoor acquisition and positioning method based on the neural network algorithm described in any one of the above claims is implemented, and the computer-readable storage medium includes various non-volatile media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.

[0023] Compared with the prior art, the present invention has at least the following beneficial effects: (1) The present invention has high positioning accuracy and strong robustness. It extracts local features of WIFI and base station signals through a 4-layer convolutional neural network, and combines the SEBlock squeezing excitation module to realize adaptive weight allocation of feature channels, giving full play to the complementarity of multi-source signals. At the same time, it relies on time-series data augmentation technology to improve the sample density of fingerprint database, effectively reducing the impact of indoor environmental interference on positioning results and ensuring positioning accuracy and stability.

[0024] (2) The deployment and use costs are low and the operation is convenient. The entire process of signal acquisition can be completed based on ordinary Android handheld devices without the need for dedicated acquisition equipment and dedicated base station deployment. The Android terminal adopts a visual interactive interface, supports one-click switching of acquisition and positioning modes, flexible configuration of multiple points, and real-time display of acquisition progress and positioning results. Ordinary users can quickly get started without professional technical knowledge, which greatly reduces the threshold for deployment and use of small-scale indoor positioning.

[0025] (3) The system architecture is highly decoupled and easy to maintain and iterate. It adopts a collaborative architecture with three separate ends: Android end, Java backend, and Python algorithm end. The functional boundaries of each end are clear. Data interaction and business collaboration are realized through standardized RESTful interfaces. Function optimization, version iteration and algorithm upgrade can be carried out independently. There is no need to make large-scale modifications to the entire system due to the adjustment of a single module, which effectively reduces the system maintenance and secondary development costs and adapts to the needs of subsequent function expansion and technology upgrade. Attached Figure Description

[0026] Figure 1 This is a flowchart illustrating the operation steps of an indoor data acquisition and positioning method based on a neural network algorithm in one embodiment of this application. Figure 2 This is a schematic diagram of the composition of an Android terminal for an indoor data acquisition and positioning system based on a neural network algorithm, according to one embodiment of this application. Figure 3 This is a schematic diagram of the Java backend of an indoor data acquisition and positioning system based on a neural network algorithm, as shown in one embodiment of this application. Figure 4 This is a schematic diagram showing the composition of the Python algorithm side of an indoor data acquisition and positioning system based on a neural network algorithm in one embodiment of this application; Figure 5 This is an Android-based indoor data acquisition and positioning interface diagram of an indoor data acquisition and positioning system based on a neural network algorithm, according to one embodiment of this application. Detailed Implementation

[0027] The following is in conjunction with the appendix Figure 1-5 The technical solution of the present invention will be further illustrated through specific embodiments. However, the following examples are merely simplified illustrations of the present invention and do not represent or limit the scope of protection of the present invention. The scope of protection of the present invention is determined by the claims.

[0028] Example 1

[0029] See below Figure 1This embodiment provides an indoor data acquisition and positioning method based on a neural network algorithm, applicable to small-scale indoor scenarios such as smart homes, small warehouses, and office spaces. It relies on a three-terminal collaborative architecture consisting of an Android client 1, a Java backend 2, and a Python algorithm client 3. It eliminates the need for dedicated data acquisition equipment and base station deployment, completing a closed-loop process from indoor space calibration to visualization of positioning results. The specific implementation steps are as follows: Step S1: Interior Space Creation and Scale Calibration Users upload indoor floor plans in JPG / PNG format via Android device 1. The system automatically recognizes the image pixel resolution and calculates the aspect ratio, providing two configuration modes: automatic scale adaptation and manual scale input. If automatic adaptation is selected, the system uses the built-in universal conversion standard of 1 pixel = 0.01 meters to calibrate the pixels with the physical dimensions. If manual input is selected, the user inputs the actual physical width of the room, and the system automatically calculates the actual physical height using the formula h = physical width / aspect ratio, thus completing the scale calibration.

[0030] After calibration, the system constructs a two-dimensional pixel coordinate system with the lower left corner of the indoor planar image as the origin, the horizontal direction as the X-axis and the vertical direction as the Y-axis, and maps it to the actual physical coordinate system based on the calibrated scale, so as to achieve a one-to-one accurate correspondence between pixel coordinates and actual indoor physical locations, with a mapping error of ≤0.05 meters.

[0031] Step S2: Convenient handheld acquisition of multi-source signals Users switch Android device 1 to acquisition mode and mark signal acquisition points on the calibrated indoor planar image by clicking or manually entering coordinates (marking error ≤ 0.1 meters). After Android device 1 automatically obtains device positioning and call permissions, it acquires WIFI signal data (MAC address, RSSI parameters) and base station signal data (PCI, RSRP, RSRQ, SINR parameters) at the point at the same acquisition frequency as the base station refresh rate (default 1 time / second). The number of acquisitions can be flexibly configured within the range of 100-500 times.

[0032] During the data acquisition process, Android client 1 displays the acquisition progress, signal effectiveness, and log information in real time. Simultaneously, based on linear interpolation (interpolation interval 0.1s, effective sample deviation ≤5%), it interpolates and generates more effective samples from multiple acquisitions of a single point to improve the sample density of the fingerprint database. After the acquisition is completed, Android client 1 encapsulates all multi-source signal data, physical coordinates of acquisition points, and acquisition timestamps into JSON format and uploads them to the server deployed with Java backend 2 via HTTP POST request. If the upload fails, it will automatically retry, with a maximum of 3 retries. If the retry fails, the data will be cached locally.

[0033] Step S3: Backend data processing and cross-platform interface scheduling After receiving JSON format data uploaded by Android client 1, the Java backend 2 deployed on the cloud server performs standardization processing: outliers are removed based on the 3σ principle, time sequence alignment is completed in ascending order of collection timestamp, and data format and field integrity are verified. After processing, the valid data is persistently stored in the MySQL database in hierarchical order according to indoor space ID and collection batch.

[0034] Meanwhile, Java backend 2, based on the Spring Boot microservice architecture, uses the Forest framework to call the dataset construction interface of Python algorithm 3, which encapsulates and forwards standardized information such as stored multi-source signal data, physical coordinates of acquisition points, and acquisition timestamps in a preset format, automatically triggering the fingerprint database model training process.

[0035] Step S4: Construct a fingerprint database by fusing features using a neural network. After receiving the standardized information forwarded by the Java backend 2, the Python algorithm client 3 starts the fingerprint database model training and feature processing process, specifically as follows: Data preprocessing: Remove outliers from the collected data and perform time alignment, normalize all signal parameters to the [0,1] interval; Feature extraction: WIFI signal data and base station signal data are respectively input into independent 4-layer convolutional neural networks (3×3 convolutional kernel, ReLU activation function, padding=1, no pooling layer), and each outputs a high-dimensional feature vector to achieve accurate local feature extraction; Feature optimization: The SEBlock squeezing activation module performs channel weight allocation on the two sets of high-dimensional feature vectors respectively. First, it is compressed into a one-dimensional statistical vector by global average pooling. Then, it is output as a weight vector in the [0,1] interval by a two-layer fully connected layer (the first layer has a compression coefficient of 16) and a Sigmoid activation function. Finally, the weight vector is multiplied with the original high-dimensional feature vector channel by channel to obtain two sets of high-dimensional feature vectors with optimized weights, thereby achieving effective feature enhancement and ineffective feature suppression. Feature fusion: The global mean of the high-dimensional feature vector after weight optimization is calculated to obtain the global statistical score. After normalization, the fusion weight coefficients are generated (the sum of the two is 1). The final feature vector is generated by weighted fusion according to the coefficients and input into the fully connected layer to output two-dimensional localization coordinates. Model training: The model weights and bias parameters are initialized with a normal distribution and initialized to 0. The hyperparameters are set to 300 training epochs, learning rate of 0.001, and batch size of 32. The mean squared error is used as the loss function and the Adam optimizer is used to iteratively update the parameters. Training stops when the loss on the validation set does not decrease for 5 consecutive epochs. The optimal model is stored in .pth format in a specified path on the GPU server where the Python algorithm is located, thus obtaining the trained fingerprint database model.

[0036] Step S5: Indoor positioning calculation and positioning result output The user switches Android device 1 to location mode. Android device 1 collects multi-source signal data of the current location in real time at a frequency of 1 time / second, encapsulates it into JSON format and uploads it to Java backend 2. Java backend 2 performs standardization processing and legality verification on the real-time data and then forwards it to Python algorithm device 3.

[0037] Python algorithm 3 calls the fingerprint database model bound to the current indoor space to perform the same feature extraction, optimization, and fusion operations as S4 on the real-time multi-source signal data. It then performs similarity matching between the fused feature vector and the signal features in the fingerprint database, and uses the physical coordinates corresponding to the feature with the highest matching degree as the positioning result, which is returned to Java backend 2. Java backend 2 sends the positioning result back to Android client 1, which maps the physical coordinates to the indoor plane image and marks the current position with a red dot (dynamically updated and marked with continuous movement trajectory according to the acquisition frequency in navigation positioning mode). At the same time, it displays accurate two-dimensional coordinate values ​​to visualize the positioning result, with an overall positioning error of ≤1m.

[0038] Example 2

[0039] See appendix Figure 2 To be continued Figure 4 This embodiment provides an indoor data acquisition and positioning system based on a neural network algorithm to implement the indoor data acquisition and positioning method described in Embodiment 1. The system adopts a highly decoupled collaborative architecture with three separate terminals: Android client 1, Java backend 2, and Python algorithm client 3. Each terminal completes data interaction and business collaboration through a standardized RESTful interface. It also includes a database module and a model management module to jointly achieve low-cost, high-precision positioning in small-scale indoor scenes. The functions and implementation of each component of the system are as follows: Android version 1 Developed using Android Studio, this device is compatible with Android 9.0 and above operating systems and ordinary personal handheld Android devices with ≥4GB of RAM. It provides users with a visual interactive interface, including an image upload unit, a scale configuration unit, a signal acquisition unit, a mode switching unit, and a positioning display unit. Each unit achieves independent functionality through component-based design and completes inter-module communication through the Intent mechanism. Its core functions are: receiving user operation commands, uploading indoor planar images, dual-mode scale calibration, marking signal acquisition points, acquiring multi-source signals from WIFI / base stations, supporting one-click switching between acquisition mode and positioning mode, encapsulating and uploading the acquired data to Java backend 2, receiving the positioning results returned by Java backend 2, completing coordinate mapping and visualization on the indoor planar image, and supporting local temporary caching of acquired data to avoid data loss due to network interruption.

[0040] Java backend 2 A microservice architecture is built based on the Spring Boot framework and deployed on a cloud server, including a data receiving unit, a standardized processing unit, a data storage unit, and an interface scheduling unit. Its core functions are: receiving JSON-formatted multi-source signal data uploaded by Android client 1, performing standardized processing such as outlier removal, time sequence alignment, and format validity verification, and persistently storing valid data in a hierarchical manner to a MySQL database; initiating dataset construction, model training, and location calculation requests to Python algorithm client 3 based on a microservice architecture, forwarding real-time location data to Python algorithm client 3, and sending the location results returned by Python algorithm client 3 back to Android client 1, thus playing a core hub role in data processing, storage, and cross-platform interface scheduling.

[0041] Python algorithm side 3 Implemented based on the PyTorch deep learning framework and the Flask lightweight web framework, deployed on a GPU server and supporting CUDA acceleration, including feature extraction unit, feature optimization unit, feature fusion unit, model training unit, and localization calculation unit; Its core functions are: receiving standardized information forwarded by Java backend 2, completing feature extraction, optimization and fusion of multi-source signals through a 4-layer convolutional neural network and SEBlock squeezing excitation module, and training to generate a fingerprint database model uniquely bound to the indoor space; during the positioning stage, calling the trained fingerprint database model to perform matching calculations on real-time signal features, outputting the optimal physical positioning coordinates, and providing core algorithm support for indoor positioning.

[0042] Database module It uses a MySQL database and is deployed on a cloud server to classify and store seven types of core data, including spatial information, physical coordinates of collection points, multi-source signal data, collection timestamps, collection batch information, device information, fingerprint database model metadata, and location log information. It provides data support for data storage and querying of Java backend 2 and model training of Python algorithm end 3. At the same time, it adopts a hierarchical storage method to ensure the standardization of data management and query efficiency.

[0043] Model Management Module Deployed in conjunction with Python algorithm client 3, its core functions are: storing the trained fingerprint database model in .pth format, classifying and managing it according to indoor space ID, collection batch, and model version, supporting automatic loading, fast updates, and version backtracking of the model, ensuring independent management and efficient access to fingerprint database models for different indoor scenarios and collection batches, and guaranteeing positioning accuracy and model availability.

[0044] In this system, the Android client 1, Java backend 2, Python algorithm client 3, database module and model management module work together and the data flows in one direction to form a closed loop of the entire process of indoor space configuration, multi-source signal acquisition, backend data processing, fingerprint database model construction and indoor positioning display. No additional third-party software or hardware intervention is required, and a single person can quickly complete the deployment and use of small-scale indoor scenes.

[0045] See appendix Figure 5 The image shows the core operation interface of the Android client's 1 space details page, including an indoor map visualization area, a scale setting entry, a working mode switching button, collection point markers, a collection parameter setting area, a progress log display area, and a positioning result display area. The indoor map visualization area supports zooming in, zooming out, and panning operations, and the working mode switching button can switch between collection and positioning modes, fully presenting the user's core operation function entry and interface layout.

[0046] Example 3

[0047] This embodiment provides a computer-readable storage medium storing computer program instructions. When these computer program instructions are executed by a processor (such as a CPU, GPU, etc.), they can realize all the steps of the indoor acquisition and positioning method based on a neural network algorithm as described in Embodiment 1. Specifically, the method includes: indoor space creation and scale calibration, convenient handheld acquisition of multi-source signals, backend data processing and cross-end interface scheduling, construction of a fingerprint database by neural network fusion features, indoor positioning calculation and positioning result output, as well as sub-processes such as preprocessing, feature processing, model training, and data interaction in each step.

[0048] In this embodiment, the computer-readable storage medium is a non-volatile storage medium, including but not limited to various media capable of storing program code such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, optical disks, and solid-state drives (SSDs); the computer program instructions can be implemented through programming, and their logic completely corresponds to the method steps of Embodiment 1, and can be adapted to hardware devices (such as Android phones, cloud servers, GPU servers, etc.) that are deployed with Android client 1, Java backend 2, and Python algorithm client 3.

[0049] When the computer program instructions are executed on the corresponding hardware device, the hardware device can be driven to realize the three-terminal collaborative indoor data acquisition and positioning function. No additional dedicated software needs to be installed. Only the network interconnection and basic operating environment (such as Android system, Java runtime environment, Python deep learning framework, etc.) of each hardware device need to be guaranteed to complete the data acquisition and positioning of small-scale indoor scenes. This effectively reduces the implementation and use cost of the method and improves its practicality and popularity.

[0050] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.

Claims

1. An indoor data acquisition and positioning method based on a neural network algorithm, characterized in that, This is implemented based on a three-platform collaborative architecture consisting of Android, Java backend, and Python algorithm, including the following steps: Step S1: Upload the indoor floor plan image via Android and complete the scale calibration to establish the mapping relationship between pixel coordinates and the actual physical location indoors; Step S2: Collect indoor multi-source signal data through the Android device, perform time-series augmentation on the data, and then upload it to the Java backend; Step S3: The Java backend performs standardization processing and storage on the received signal data, and forwards the standardized data to the Python algorithm. Step S4: The Python algorithm performs feature extraction, weight optimization, and feature fusion on multi-source signals based on neural networks to train and generate a fingerprint database model; Step S5: In positioning mode, the Android device collects real-time signals of the indoor location and forwards them to the Python algorithm through the Java backend. The Python algorithm calls the fingerprint library model to complete the positioning calculation and returns the results to the Android device for visualization.

2. The indoor data acquisition and positioning method based on neural network algorithm according to claim 1, characterized in that, In step S1, the scale calibration includes two modes: automatic adaptation and manual input. A two-dimensional coordinate system is established with the lower left corner of the indoor planar image as the origin.

3. The indoor data acquisition and positioning method based on neural network algorithm according to claim 1, characterized in that, In step S2, the multi-source signal data includes WIFI signal data and base station signal data, and the timing extension is implemented using linear interpolation. The WIFI signal includes a MAC address and RSSI parameters, and the base station signal includes PCI, RSRP, RSRQ, and SINR parameters.

4. The indoor data acquisition and positioning method based on neural network algorithm according to claim 1, characterized in that, In step S3, the standardization process includes outlier removal, time sequence alignment, and format verification. The standardized data is then stored in a MySQL database.

5. The indoor data acquisition and positioning method based on a neural network algorithm according to claim 1, characterized in that, In step S4, feature extraction uses an independent 4-layer convolutional neural network with parameters configured as 3×3 convolutional kernel, ReLU activation function, and padding=1. No pooling layer is set after each convolutional layer. The output of the last convolutional layer corresponds to the high-dimensional feature vectors of WIFI signal data and base station signal data, respectively. Weight optimization uses the SEBlock squeezing excitation module.

6. The indoor data acquisition and positioning method based on a neural network algorithm according to claim 5, characterized in that, The SEBlock module generates a weight vector by sequentially using global average pooling, two fully connected layers, and a sigmoid activation function. The weight vector is then multiplied channel-by-channel with the high-dimensional feature vector to obtain the weight-optimized high-dimensional feature vector.

7. The indoor data acquisition and positioning method based on a neural network algorithm according to claim 1, characterized in that, In step S4, feature fusion adopts a linear weighting method. The sum of the fusion weight coefficients of the high-dimensional feature vector after weight optimization is 1, and the final output is two-dimensional positioning coordinates.

8. The indoor data acquisition and positioning method based on a neural network algorithm according to claim 1, characterized in that, The fingerprint database model is trained using the mean squared error loss function and the Adam optimizer. Training stops when the loss on the validation set does not decrease for five consecutive rounds.

9. An indoor data acquisition and positioning system based on a neural network algorithm, characterized in that, Including Android platform, Java backend, and Python algorithm platform; The Android client communicates with the Java backend, and the Java backend communicates with the Python algorithm client. The three clients achieve data interaction and business collaboration through standardized interfaces. The Android client is configured to upload indoor floor plans, complete scale calibration, collect multi-source signal data, send the collected data to the Java backend, and receive and display the positioning results. The Java backend is configured to receive collected data from the Android device, perform standardized processing and storage of the data, send the processed data to the Python algorithm, and perform cross-device scheduling and data forwarding. The Python algorithm is configured to receive data from the Java backend, perform feature extraction, feature optimization, and feature fusion on multi-source signals, train a fingerprint database model, perform real-time positioning calculations based on the fingerprint database model, and return the positioning results to the Java backend.

10. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the indoor acquisition and positioning method based on the neural network algorithm as described in any one of claims 1-8, wherein the storage medium is a non-volatile storage medium.