Elevator-related scenario recognition method and electronic device
By combining path and network features to identify elevator scenarios, the problem of poor network signal inside elevators has been solved, achieving accurate identification of elevator scenarios and improving user experience.
Patent Information
- Application Number
- PCT/CN2025/090699
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-31
- Filing Date
- 2025-04-23
- Publication Date
- 2026-02-05
AI Technical Summary
Poor network signal inside elevators leads to a decline in user experience. Existing technology struggles to accurately identify elevator scenarios such as waiting, riding, and about to exit, affecting the normal use of electronic devices.
By extracting user walking paths and network features, and combining path features and network features for comprehensive identification, the system can identify whether a user is waiting for an elevator. This includes comparing information such as sequences, sets, and switching graphs, thereby improving the accuracy and robustness of the identification.
Effectively identify elevator scenarios, improve problems caused by poor network signals, enhance user experience, and ensure smooth use of electronic devices in elevators.
Smart Images

Figure CN2025090699_05022026_PF_FP_ABST
Abstract
Description
Elevator scene recognition methods and electronic devices
[0001] This application claims priority to Chinese Patent Application No. 202411045714.4, filed on July 31, 2024, entitled "Elevator Scene Recognition Method and Electronic Device", the entire contents of which are incorporated herein by reference. Technical Field
[0002] This invention relates to the field of scene recognition technology, and in particular to an elevator scene recognition method and electronic device. Background Technology
[0003] Due to the metal structure and multipath effect of elevators, as well as the structural characteristics of elevator shafts, users often experience poor network signals when using electronic devices inside elevators, leading to issues such as response delays and video stuttering, thus degrading the user experience. To improve the user experience, it is necessary to predict or identify relevant scenarios for users riding elevators (such as waiting for an elevator). Summary of the Invention
[0004] This application provides an elevator scene recognition method and electronic device, which can accurately identify at least one elevator scene, including a waiting elevator scene. After determining that the user is in a waiting elevator scene, network resources can be loaded in advance to improve some problems caused by poor network signal, thereby enhancing the user experience.
[0005] In a first aspect, embodiments of this application provide an elevator scene recognition method, the method comprising: obtaining path features and network features; wherein, the path features are obtained based on the user's walking path in the current time period; the network features are obtained at least based on mobile communication network cell information scanned by an electronic device in the current time period; comparing the network features and historical network features to obtain a first matching result; wherein, the historical network features are obtained at least based on mobile communication network cell information scanned by an electronic device in a historical time period; the historical time period is the time period corresponding to the current time period in historical elevator waiting scene recognition; comparing the path features with pre-obtained historical path features to obtain a second matching result; wherein, the historical path features are obtained based on the user's walking path in a historical time period; and determining that the user is in an elevator waiting scene based on the first matching result and the second matching result.
[0006] The current time period can be the time between the start time of triggering elevator waiting scene recognition and the time when the user is detected to have stopped walking or the user is determined to be in an elevator waiting scene. Correspondingly, the historical time period is the time period corresponding to the current time period in the historical elevator waiting scene recognition process. That is, in the historical process of elevator waiting scene recognition, the time between the start time of triggering recognition and the time when the user is detected to have stopped walking or the user is determined to be in an elevator waiting scene.
[0007] This application proposes to extract path features based on the user's walking path towards the elevator, and combine the path features with network features to comprehensively identify whether the user is waiting for the elevator, thereby improving the accuracy and robustness of the identification.
[0008] In one possible implementation, network features including first network information are obtained; wherein the first network information includes one or more of a first sequence, a first set, and a first handover graph; the first sequence includes the order in which the electronic device scans each mobile communication network cell in the current time period; the first set includes the identity information of each mobile communication network cell scanned by the electronic device in the current time period; the first handover graph is used to represent the order in which the electronic device scans each mobile communication network cell in the current time period in the form of a directed graph. Comparing network features with historical network features can be: comparing the first sequence with a pre-obtained first historical sequence to obtain a first comparison value; comparing the first set with a pre-obtained first historical set to obtain a second comparison value; comparing the first handover graph with a pre-obtained first historical handover graph to obtain a third comparison value; obtaining a first comparison result corresponding to the first network information based on one or more of the first comparison value, second comparison value, and third comparison value; obtaining a first matching result can be based at least on the first comparison result to obtain a first matching result.
[0009] For example, in some embodiments, the first network information includes sequences, sets, and handover diagrams obtained based on scanned mobile communication network cell (hereinafter referred to as mobile network cell or cell) information. In other embodiments, the first network information may only include sequences obtained based on cell information, or only include handover diagrams. The handover diagram is used to represent, in graphical form, the scanned cells and the handover order between them.
[0010] Characterizing network features from multiple perspectives, including sequences, sets, and handover graphs, allows for more comprehensive extraction of connected network information and handover information between different network access points. For example, it can extract at least the handover sequence information of mobile communication network cells, providing more informative reference features for scene recognition, thereby improving recognition accuracy and effectively preventing misidentification.
[0011] In one possible implementation, comparing the first sequence with a pre-obtained first historical sequence to obtain a first alignment value can be achieved by: determining the longest common subsequence of the first sequence and the first historical sequence, and obtaining the first alignment value based on the proportion of the longest common subsequence relative to the first historical sequence; comparing the first set with a pre-obtained first historical set to obtain a second alignment value can be achieved by: determining the common elements of the first set and the first historical set, and obtaining the second alignment value based on the proportion of the number of common elements relative to the number of elements in the first historical set; comparing the first switching graph with a pre-obtained first historical switching graph to obtain a third alignment value can be achieved by: determining the largest common subgraph of the first switching graph and the first historical switching graph, and obtaining the third alignment value based on the proportion of the largest common subgraph relative to the first historical switching graph.
[0012] In one possible implementation, the network features further include second network information; the second network information is obtained based on information of each wireless access point scanned by the electronic device in the current time period; the second network information includes one or more of a second sequence, a second set, and a second switching graph; the second sequence includes the order information of the wireless access points scanned by the electronic device in the current time period; the second set includes the identity information of each wireless access point scanned by the electronic device in the current time period; the second switching graph is used to represent the order information of the wireless access points scanned by the electronic device in the current time period in the form of a directed graph; comparing the network features and historical network features further includes: comparing the second sequence with a pre-obtained second historical sequence to obtain a fourth comparison value; comparing the second set with a pre-obtained second historical set to obtain a fifth comparison value; comparing the second switching graph with a pre-obtained second historical switching graph to obtain a sixth comparison value; obtaining a second comparison result corresponding to the second network information based on one or more of the fourth comparison value, the fifth comparison value, and the sixth comparison value; obtaining a first matching result based at least on the first comparison result, including: obtaining a first matching result based on the first comparison result and the second comparison result.
[0013] The second network information, namely the wireless local area network characteristics, is used to extract information about the wireless access points that electronic devices connect to during the user's movement toward the elevator, such as the wireless access point ID and switching sequence information. Combining the wireless local area network characteristics with the mobile communication network characteristics can further improve the accuracy of elevator scene recognition.
[0014] In one possible implementation, the path features include turning information in the walking path; the turning information is obtained based on the direction information of multiple sampling points collected in the walking path.
[0015] In one possible implementation, the path features also include interval information; the interval information is obtained based on the interval between two adjacent turns in the walking path; or, based on the interval between the starting point of the walking path and a turn; or, based on the interval between the ending point of the walking path and a turn.
[0016] In one possible implementation, the interval information can be step interval information; step interval information is used to represent the number of steps between two adjacent turns in the walking path.
[0017] Turning information and the interval information between different turns reflect the characteristics of a travel path. In different scenarios, if the user is not currently moving towards the elevator, there will be significant differences in the travel path. Thus, based on the extracted turning and interval information, it can effectively help identify whether the current path is a pre-obtained historical path (i.e., the path of moving towards the elevator and waiting for the elevator), thereby improving the accuracy of elevator scene recognition.
[0018] In one possible implementation, based on the first matching result and the second matching result, if a match is identified, the electronic device is detected to be switching wireless access points and / or cells, and it is determined that the user is not in a waiting elevator scenario.
[0019] This solution can effectively avoid misidentification caused by users lingering near the elevator after walking towards it.
[0020] In one possible implementation, after determining that the user is in a waiting elevator scenario, the method further includes: generating first waveform data corresponding to acceleration data; obtaining a first identification value based on the presence of at least one peak and at least one trough in the first waveform data; wherein the magnitude of the peak or trough is greater than or equal to a first threshold; generating second waveform data corresponding to magnetic field strength data; obtaining a second identification value based on a first glitch and a second glitch corresponding to the first glitch in the second waveform data; wherein the first glitch and the second glitch represent abrupt changes in the magnetic field magnitude; and determining that the user is in a riding elevator scenario based on the first identification value and the second identification value.
[0021] In one possible implementation, after determining that the user is in a waiting elevator scenario, the method further includes: recording the air pressure when the user is in the waiting elevator scenario as the initial air pressure; and / or recording the time when the user is in the waiting elevator scenario as the initial time; determining that the user is inside the elevator and recognizing that the elevator is about to stop, calculating the air pressure difference between the current air pressure and the initial air pressure, and / or calculating the time difference between the current time and the initial time; comparing the air pressure difference with a pre-obtained historical air pressure difference to obtain a third comparison result; and / or comparing the time difference with a pre-obtained historical time difference to obtain a fourth comparison result; and determining that the user is in a scenario about to exit the elevator based on the third comparison result and / or the fourth comparison result.
[0022] In one possible implementation, after recording the air pressure and / or time when the user is in a waiting elevator scenario, and before determining that the user is inside the elevator, the method further includes: determining that the user stops walking.
[0023] Adding this additional discrimination condition can reduce misidentification caused by inaccurate judgment of other discrimination conditions and improve recognition accuracy.
[0024] In one possible implementation, determining that a user is inside the elevator can be achieved by: generating first waveform data corresponding to acceleration data; determining that the user is inside the elevator based on the first peak or trough appearing in the first waveform data; and recognizing that the elevator is about to stop by: recognizing that the elevator is about to stop based on the first waveform data showing a trough corresponding to the first peak or a peak corresponding to the first trough.
[0025] In one possible implementation, recording the air pressure when the user is waiting for the elevator, as the initial air pressure, includes: recording the average of multiple air pressure values within a first predetermined length window when the user is waiting for the elevator, as the initial air pressure; the current air pressure is the average of multiple air pressure values within the first predetermined length window at the current moment.
[0026] This method can effectively prevent errors caused by instantaneous fluctuations in air pressure from affecting recognition accuracy.
[0027] In one possible implementation, the method further includes: if a second glitch corresponding to the first glitch is detected in the second waveform data and the user is in a walking state, determining that the user is in an elevator exit scenario; wherein the second waveform data is obtained based on magnetic field strength data, and the first glitch is a sudden change in the magnetic field strength magnitude generated when the user enters the elevator.
[0028] It should be noted that detecting a second glitch in the second waveform data that corresponds to the first glitch, while the user is in a walking state, can be achieved by detecting the user's walking state first, followed by detecting the second glitch in the second waveform data; or by detecting the second glitch in the second waveform data first, followed by detecting the user's walking state; or by detecting both simultaneously. Furthermore, the first glitch can be an increase in the magnetic field strength magnitude, and correspondingly, the second glitch can be a decrease in the magnetic field strength magnitude; or, the first glitch can be a significant decrease in the magnetic field strength magnitude, and correspondingly, the second glitch can be an increase in the magnetic field strength magnitude.
[0029] Secondly, embodiments of this application also provide an electronic device, the electronic device including: a processor, the processor being configured to execute a computer program or instructions in a memory to implement the method as described above.
[0030] Thirdly, embodiments of this application also provide a computer program product, which, when run, can implement the methods described in any of the above-mentioned methods.
[0031] Fourthly, embodiments of this application also provide a computer-readable storage medium comprising a stored program, wherein the program, when executed by a processor, implements the method as described in any of the preceding claims.
[0032] Fifthly, embodiments of this application also provide a chip system, including: a communication interface for inputting and / or outputting data; and a processor for executing a computer-executable program, causing a device equipped with the chip system to perform the method described in any of the preceding claims. Attached Figure Description
[0033] Figure 1 is a flowchart illustrating an example of a related technology;
[0034] Figure 2 is an example diagram of the hardware structure of an electronic device;
[0035] Figure 3 is an example diagram of the software architecture of an electronic device;
[0036] Figure 4 is a schematic diagram summarizing the classification of related technologies of the elevator scene recognition method proposed in the embodiments of this application;
[0037] Figure 5 is a schematic diagram of an application scenario of this application embodiment;
[0038] Figure 6 is a schematic diagram of the system architecture of the elevator scene recognition method proposed in the embodiments of this application;
[0039] Figure 7 is a flowchart illustrating an embodiment of elevator waiting scene recognition in this application.
[0040] Figure 8 is a schematic diagram of an example of the switching diagram in the elevator scene recognition method proposed in the embodiments of this application;
[0041] Figure 9 is a schematic diagram of an example of constructing path features in the elevator scene recognition method proposed in this application embodiment;
[0042] Figure 10 is a schematic diagram of another example of constructing path features in the elevator scene recognition method proposed in this application embodiment;
[0043] Figure 11 is a flowchart illustrating another embodiment of the elevator scene recognition method proposed in this application, specifically the method for recognizing a waiting elevator scene.
[0044] Figure 12 is a flowchart illustrating an embodiment of the elevator scene recognition method proposed in this application.
[0045] Figure 13 is a schematic diagram of the acceleration waveform in the elevator scene recognition method proposed in the embodiment of this application;
[0046] Figure 14 is a schematic diagram of the magnetic field strength modulus waveform in the elevator scene recognition method proposed in the embodiments of this application;
[0047] Figure 15 is a schematic diagram of the process of recognizing the scene about to exit the elevator in the elevator scene recognition method proposed in the embodiment of this application;
[0048] Figure 16 is a schematic diagram of the elevator scene recognition process in the elevator scene recognition method proposed in the embodiments of this application;
[0049] Figure 17 is a schematic diagram of the change in the magnetic field strength modulus when exiting the elevator in the elevator scene recognition method proposed in the embodiments of this application. Detailed Implementation
[0050] To better understand the technical solutions in this specification, the embodiments of this application will be described in detail below with reference to the accompanying drawings.
[0051] It should be understood that the described embodiments are merely some, not all, of the embodiments in this specification. All other embodiments obtained by those skilled in the art based on the embodiments in this specification without inventive effort are within the scope of protection of this specification.
[0052] The terminology used in the embodiments of this application is for the purpose of describing particular embodiments only and is not intended to be limiting of this specification. The singular forms “a,” “the,” and “the” used in the embodiments of this application and the appended claims are also intended to include the plural forms unless the context clearly indicates otherwise.
[0053] To ensure a smooth user experience when using electronic devices in elevators, it's necessary to identify relevant elevator scenarios and proactively implement countermeasures to address these issues. For example, after identifying the elevator scenario, relevant network resources can be pre-loaded to mitigate problems such as buffering or stuttering during video, gaming, and voice calls caused by poor network signal strength within elevators.
[0054] Elevator scenarios can be further divided into waiting for the elevator, riding the elevator, about to exit the elevator, and exiting the elevator. Waiting for the elevator is when a user is preparing to enter the elevator but has not yet entered; riding the elevator is when the user is already inside the elevator; about to exit the elevator (or predicted exit) is when the user is currently inside the elevator and preparing to exit; and already exited the elevator (or simply exited) is when the user has left the elevator and is outside of it.
[0055] In a related technology, a vertical elevator identification scheme determines the user's specific floor and location by identifying the vertical elevator, achieving more accurate landmark positioning. The vertical elevator identification method used is shown in Figure 1. First, a semantic Wi-Fi database is established: semantic Wi-Fi information for different floors and elevators is extracted from the floor plan of the building, including Wi-Fi names and RSSI strength. Then, elevator landmark identification is performed, and combined with sensor data, it is determined whether the user is moving across floors in the elevator. For time periods identified as elevators, Wi-Fi information scanned during the user's elevator ride is extracted. The scanned information is matched one by one with the semantic Wi-Fi database, and the number of matches is counted to determine the user's floor and specific elevator at each time point.
[0056] This solution focuses on more accurate location of the user. Its elevator recognition method can only identify which elevator the user is riding, but cannot accurately identify elevator scenarios, such as waiting for the elevator or exiting the elevator.
[0057] Furthermore, the construction of the semantic Wi-Fi library in this solution requires offline collection, that is, on-site collection to build the semantic Wi-Fi library for specific buildings. This is inconvenient to deploy in practical applications, has high labor costs, and is time-consuming and labor-intensive.
[0058] In view of this, embodiments of this application propose an elevator scene recognition method, which can at least recognize the scene of waiting for an elevator. For example, in some embodiments, the elevator scene recognition method proposed in this application can recognize one or more of the following four scenes: waiting for an elevator, riding an elevator (entering the elevator), about to exit the elevator, and exiting the elevator.
[0059] The elevator scene recognition method proposed in this application can be implemented by electronic devices and can be applied to various elevator-related scenarios, such as users holding electronic devices while waiting for elevators, riding elevators, predicting when to exit elevators, and so on.
[0060] The electronic device can be one or more of the following: mobile phone, tablet computer, learning machine, phone watch, handheld computer, desktop computer, laptop / notebook computer, ultra-mobile personal computer (UMPC), netbook, cellular phone, personal digital assistant (PDA), and wearable devices such as smart bracelet, smartwatch, and smart glasses; extended reality (XR) devices such as augmented reality (AR), virtual reality (VR), and mixed reality (MR); and other portable electronic devices that can be carried by the user. The embodiments of this application do not impose special restrictions on the specific type of electronic device.
[0061] As shown in Figure 2, exemplarily, the electronic device can be the electronic device 100 shown in Figure 2, including a processor 110, an external memory interface 120, an internal memory 121, a universal serial bus (USB) interface 130, a charging management module 140, a power management module 141, a battery 142, an antenna 1, an antenna 2, a mobile communication module 150, a wireless communication module 160, an audio module 170, a speaker 170A, a receiver 170B, a microphone 170C, a headphone jack 170D, a sensor module 180, buttons 190, a motor 191, an indicator 192, a camera 193, a display screen 194, and a subscriber identification module (SIM) card interface 195, etc.
[0062] Processor 110 may include one or more processing units, such as: application processor (AP), modem processor, graphics processing unit (GPU), image signal processor (ISP), controller, video codec, digital signal processor (DSP), baseband processor, and / or neural network processing unit (NPU). Different processing units may be independent devices or integrated into one or more processors. The controller can generate operation control signals based on instruction opcodes and timing signals to control instruction fetching and execution.
[0063] The processor 110 may also include a memory for storing instructions and data. In one embodiment, the memory in the processor 110 is a cache memory. This memory can store instructions or data that the processor 110 has just used or that are used repeatedly. If the processor 110 needs to use the instruction or data again, it can directly retrieve it from the memory. This avoids repeated accesses, reduces the waiting time of the processor 110, and thus improves the efficiency of the system.
[0064] In one embodiment, the processor 110 may include one or more interfaces. These interfaces may include an inter-integrated circuit (I2C) interface, an inter-integrated circuit sound (I2S) interface, a pulse code modulation (PCM) interface, a universal asynchronous receiver / transmitter (UART) interface, a mobile industry processor interface (MIPI), a general-purpose input / output (GPIO) interface, a subscriber identity module (SIM) interface, and / or a universal serial bus (USB) interface, etc.
[0065] The charging management module 140 receives charging input from the charger. While charging the battery 142, the charging management module 140 can also supply power to the electronic device 100 via the power management module 141. The power management module 141 connects the battery 142, the charging management module 140, and the processor 110. The power management module 141 receives input from the battery 142 and / or the charging management module 140, and supplies power to the processor 110, internal memory 121, display screen 194, camera 193, and wireless communication module 160, etc.
[0066] The wireless communication function of electronic device 100 can be implemented through antenna 1, antenna 2, mobile communication module 150, wireless communication module 160, modem processor, and baseband processor. Antenna 1 and antenna 2 are used to transmit and receive electromagnetic wave signals. Each antenna in electronic device 100 can be used to cover one or more communication frequency bands. Different antennas can also be multiplexed to improve antenna utilization. For example, antenna 1 can be multiplexed as a diversity antenna for a wireless local area network. In another embodiment, the antenna can be used in conjunction with a tuning switch.
[0067] The mobile communication module 150 can provide wireless communication solutions for applications on the electronic device 100, including second-generation (2G), third-generation (3G), fourth-generation (4G), fifth-generation (5G), and sixth-generation (6G) mobile communication technologies. The mobile communication module 150 may include at least one filter, switch, power amplifier, low-noise amplifier (LNA), etc. The mobile communication module 150 can receive electromagnetic waves via antenna 1, and perform filtering, amplification, and other processing on the received electromagnetic waves before transmitting them to a modem processor for demodulation. The mobile communication module 150 can also amplify the signal modulated by the modem processor and convert it into electromagnetic waves for radiation via antenna 1. In one embodiment, at least some functional modules of the mobile communication module 150 may be housed in the processor 110. In another embodiment, at least some functional modules of the mobile communication module 150 and at least some modules of the processor 110 may be housed in the same device.
[0068] The modem processor may include a modulator and a demodulator. The modulator modulates the low-frequency baseband signal to be transmitted into a mid-to-high frequency signal. The demodulator demodulates the received electromagnetic wave signal into a low-frequency baseband signal. The demodulator then transmits the demodulated low-frequency baseband signal to the baseband processor for processing. After processing by the baseband processor, the low-frequency baseband signal is transmitted to the application processor. The application processor outputs sound signals through audio devices (not limited to speaker 170A, receiver 170B, etc.) or displays images or videos through the display screen 194. In one embodiment, the modem processor may be a separate device. In another embodiment, the modem processor may be independent of the processor 110 and housed within the same device as the mobile communication module 150 or other functional modules.
[0069] The wireless communication module 160 can provide solutions for wireless communication applications on the electronic device 100, including wireless local area networks (WLAN) (such as wireless fidelity (Wi-Fi) networks), Bluetooth (BT), global navigation satellite system (GNSS), frequency modulation (FM), near field communication (NFC), and infrared (IR) technologies. The wireless communication module 160 can be one or more devices integrating at least one communication processing module. The wireless communication module 160 receives electromagnetic waves via antenna 2, performs frequency modulation and filtering of the electromagnetic wave signals, and sends the processed signal to processor 110. The wireless communication module 160 can also receive signals to be transmitted from processor 110, perform frequency modulation and amplification, and convert them into electromagnetic waves for radiation via antenna 2.
[0070] In one embodiment, antenna 1 of electronic device 100 is coupled to mobile communication module 150, and antenna 2 is coupled to wireless communication module 160, enabling electronic device 100 to communicate with networks and other devices via wireless communication technology. The wireless communication technology may include Global System for Mobile Communications (GSM), General Packet Radio Service (GPRS), Code Division Multiple Access (CDMA), Wideband Code Division Multiple Access (WCDMA), Time-Division Code Division Multiple Access (TD-SCDMA), Long Term Evolution (LTE), BT, GNSS, WLAN, NFC, FM, and / or IR technologies, etc. The GNSS may include the Global Positioning System (GPS), the Global Navigation Satellite System (GLONASS), the BeiDou Navigation Satellite System (BDS), the Quasi-Zenith Satellite System (QZSS), and / or satellite-based augmentation systems (SBAS).
[0071] Electronic device 100 implements display functions through a GPU, a display screen 194, and an application processor. The GPU is a microprocessor for image processing, connected to the display screen 194 and the application processor. The GPU is used to perform mathematical and geometric calculations and for graphics rendering. Processor 110 may include one or more GPUs, which execute program instructions to generate or modify display information.
[0072] The display screen 194 is used to display images, videos, etc. The display screen 194 includes a display panel. The display panel can be a liquid crystal display (LCD), an organic light-emitting diode (OLED), an active-matrix organic light-emitting diode (AMOLED), a flexible light-emitting diode (FLED), a Miniled LED, a MicroLED, a Micro-OLED, a quantum dot light-emitting diode (QLED), etc. In one embodiment, the electronic device 100 may include one or N display screens 194, where N is a positive integer greater than 1.
[0073] Electronic device 100 can perform shooting functions through ISP, camera 193, video codec, GPU, display 194 and application processor.
[0074] The ISP (Image Signal Processor) is used to process data fed back from the camera 193. For example, when taking a picture, the shutter is opened, and light is transmitted through the lens to the camera's photosensitive element. The light signal is converted into an electrical signal, and the camera's photosensitive element transmits the electrical signal to the ISP for processing, converting it into an image visible to the naked eye. The ISP can also perform algorithmic optimization on image noise, brightness, etc. The ISP can also optimize parameters such as exposure and color temperature of the shooting scene. In one embodiment, the ISP can be set in the camera 193.
[0075] Camera 193 is used to capture still images or videos. An object is projected onto a photosensitive element by generating an optical image through the lens. The photosensitive element can be a charge-coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the light signal into an electrical signal, which is then passed to an ISP for conversion into a digital image signal. The ISP outputs the digital image signal to a DSP for processing. The DSP converts the digital image signal into image signals in standard RGB, YUV, or other formats. In one embodiment, electronic device 100 may include one or N cameras 193, where N is a positive integer greater than 1.
[0076] The external storage interface 120 can be used to connect an external memory card, such as a Micro SD card, to expand the storage capacity of the electronic device 100. The external memory card communicates with the processor 110 through the external storage interface 120 to perform data storage functions. For example, music, video, and other files can be saved on the external memory card.
[0077] Internal memory 121 can be used to store computer executable program code, which includes instructions. Internal memory 121 may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function (such as sound playback, image playback, etc.), etc. The data storage area may store data created during the use of electronic device 100 (such as audio data, phonebook, etc.). Furthermore, internal memory 121 may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. Processor 110 executes various functional applications and data processing of electronic device 100 by running instructions stored in internal memory 121 and / or instructions stored in memory located in the processor.
[0078] Electronic device 100 can implement audio functions, such as music playback and recording, through audio module 170, speaker 170A, receiver 170B, microphone 170C, headphone jack 170D, and application processor.
[0079] The audio module 170 is used to convert digital audio information into analog audio signals for output, and also to convert analog audio input into digital audio signals. The audio module 170 can also be used for encoding and decoding audio signals. In one embodiment, the audio module 170 can be located in the processor 110, or some functional modules of the audio module 170 can be located in the processor 110.
[0080] The speaker 170A, also known as a "loudspeaker," is used to convert audio electrical signals into sound signals. The electronic device 100 can listen to music or make hands-free calls through the speaker 170A.
[0081] The receiver 170B, also known as the "earpiece," is used to convert audio electrical signals into sound signals. When the electronic device 100 answers a telephone call or voice message, the receiver 170B can be brought close to the ear to listen to the voice.
[0082] Microphone 170C, also known as a "microphone" or "voice transducer," is used to convert sound signals into electrical signals. When making a phone call or sending a voice message, the user can speak by bringing their mouth close to microphone 170C, inputting the sound signal into microphone 170C. Electronic device 100 may be equipped with at least one microphone 170C.
[0083] The 170D headphone jack is used to connect wired headphones.
[0084] The sensor module 180 may include a pressure sensor 180A, a gyroscope sensor 180B, a barometric pressure sensor 180C, a magnetic sensor 180D, an accelerometer sensor 180E, an orientation sensor 180F, a proximity sensor 180G, a fingerprint sensor 180H, a temperature sensor 180J, a touch sensor 180K, an ambient light sensor 180L, a bone conduction sensor 180M, etc.
[0085] The orientation sensor 180F is used to sense orientation, such as the user's direction of travel. In some embodiments, the orientation sensor 180F may not be included; instead, orientation information can be obtained by processing data collected from other sensors. For example, orientation information can be obtained based on data collected from sensors such as accelerometers and gyroscopes. In other embodiments, the sensor module 180 may also include a distance sensor (not shown in Figure 2).
[0086] Touch sensor 180K, also known as a "touch device," can be located on display screen 194. The touch sensor 180K and display screen 194 together form a touchscreen, also known as a "touchscreen." Touch sensor 180K detects touch operations applied to or near it. The touch sensor can transmit the detected touch operation to the application processor to determine the type of touch event. Visual output related to the touch operation can be provided through display screen 194. In another embodiment, touch sensor 180K can also be located on the surface of electronic device 100, in a different position than display screen 194.
[0087] Pressure sensor 180A is used to sense pressure signals and can convert the pressure signals into electrical signals. In one embodiment, pressure sensor 180A can be disposed on display screen 194. There are many types of pressure sensors 180A, such as resistive pressure sensors, inductive pressure sensors, and capacitive pressure sensors. A capacitive pressure sensor may include at least two parallel plates with conductive material. When force is applied to pressure sensor 180A, the capacitance between the electrodes changes. Electronic device 100 determines the pressure intensity based on the change in capacitance. When a touch operation is applied to display screen 194, electronic device 100 detects the intensity of the touch operation based on pressure sensor 180A. Electronic device 100 can also calculate the touch position based on the detection signal from pressure sensor 180A. In one embodiment, touch operations applied to the same touch position but with different touch operation intensities can correspond to different operation commands.
[0088] Buttons 190 include a power button, volume buttons, etc. Buttons 190 can be mechanical buttons or touch-sensitive buttons. Electronic device 100 can receive button input and generate key signal inputs related to user settings and function control of electronic device 100.
[0089] Motor 191 can generate vibration alerts.
[0090] Indicator 192 can be an indicator light, used to indicate charging status, power changes, or to indicate messages, missed calls, notifications, etc.
[0091] The SIM card interface 195 is used to connect the SIM card.
[0092] It should be understood that the above description is merely an example of electronic device 100, and electronic device 100 may have more or fewer components than those described above, may combine two or more components, or may have different component configurations. The various components described above may be implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application-specific integrated circuits.
[0093] The software system of electronic device 100 is described below.
[0094] The software system of electronic device 100 can adopt a layered architecture, event-driven architecture, microkernel architecture, microservice architecture, or cloud architecture. For example, a layered architecture software system can be the Android system, the Harmony operating system, or other software systems. This application embodiment uses the layered architecture Android system as an example to illustrate the software structure of electronic device 100.
[0095] Figure 3 illustrates a schematic diagram of the software architecture of an electronic device 100.
[0096] A layered architecture divides software into several layers, each with a clear role and function. Layers communicate with each other through software interfaces. In one implementation, the Android system is divided into four layers, from top to bottom: the application layer, the application framework layer, the Android runtime and system libraries, and the Linux kernel layer.
[0097] The application layer can include a series of application packages.
[0098] As shown in Figure 3, the application package may include applications such as camera, pedometer, music, video, games, calls, navigation, calendar, and browser. The pedometer in this application can be a standalone application or a functional module integrated into other applications; this application does not limit its scope. The application in this application can also be replaced with other forms of software such as applets or atomic services. The pedometer algorithm can be implemented in the underlying driver, the Hardware Abstraction Layer (HAL) (not shown in Figure 3), or the application layer. The underlying driver is part of the kernel layer.
[0099] The application framework layer provides application programming interfaces (APIs) and a programming framework for applications in the application layer. The application framework layer includes some predefined functions.
[0100] As shown in Figure 3, the application framework layer may include a window manager, content provider, view system, phone manager, resource manager, notification manager, etc.
[0101] The window manager is used to manage windowed applications. It can retrieve screen size, determine the presence of a status bar, lock the screen, and capture screenshots, among other things.
[0102] Content providers store and retrieve data, making this data accessible to applications. This data may include videos, images, audio, made and received phone calls, browsing history and bookmarks, phone books, etc. View systems include visual controls, such as controls for displaying text and controls for displaying images. View systems can be used to build applications. A display interface can consist of one or more views. For example, a display interface including a text message notification icon may include a view for displaying text and a view for displaying images. A phone manager provides communication functionality for electronic device 100. For example, it manages call status (including connection, hang-up, etc.). A resource manager provides applications with various resources, such as localized strings, icons, images, layout files, video files, etc. A notification manager allows applications to display notification information in the status bar. It can be used to convey informational messages and can disappear automatically after a short pause without user interaction. For example, a notification manager is used to notify of download completion, message alerts, etc. A notification manager can also be a notification appearing as an icon or scrollbar text in the system's top status bar, such as notifications from background applications, or a notification appearing on the screen as a dialog window. For example, displaying text messages in the status bar, emitting notification sounds, causing electronic devices to vibrate, or flashing indicator lights.
[0103] The Android Runtime consists of core libraries and a virtual machine. The Android runtime is responsible for the scheduling and management of the Android system.
[0104] The core library consists of two parts: one part is the functionalities that need to be called by the Java language, and the other part is the Android core library.
[0105] The application layer and application framework layer run in a virtual machine. The virtual machine executes the Java files of the application layer and application framework layer as binary files. The virtual machine is used to perform functions such as object lifecycle management, stack management, thread management, security and exception management, and garbage collection.
[0106] The system library can include multiple functional modules. For example: a surface manager, media libraries, 3D graphics processing libraries (e.g., OpenGL ES), and 2D graphics engines (e.g., SGL). The surface manager manages the display subsystem and provides fusion of 2D and 3D layers for multiple applications. The media libraries support playback and recording of various common audio and video formats, as well as still image files. The media libraries support various audio and video encoding formats, such as MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG. The 3D graphics processing libraries are used to implement 3D graphics drawing, image rendering, compositing, and layer processing. The 2D graphics engine is the drawing engine for 2D graphics.
[0107] The Linux kernel layer is the layer between hardware and software. At a minimum, the Linux kernel layer contains sensor drivers, and may also include display drivers, camera drivers, and audio drivers. For example, sensor drivers can include drivers for barometer sensors, accelerometer sensors, orientation sensors, magnetometers, etc.
[0108] The above description of the hardware architecture and software layered architecture of the electronic device is merely an example. The elevator scene recognition method of this application embodiment can also be implemented based on other hardware and software architectures, which will not be listed here. The elevator scene recognition method proposed in this application embodiment will be described in detail below.
[0109] As shown in Figure 4, scene recognition technology can be divided into three categories based on the data source used: image-based scene recognition technology, sensor-based scene recognition technology, and signal fingerprint comparison-based scene recognition technology.
[0110] Image-based scene recognition technology: This technology identifies corresponding scenes based on the environment, objects, and their layout in input images or videos, such as indoors, outdoors, subways, forests, and beaches. Sensor-based scene recognition technology: This technology uses sensor data measured by devices, including inertial navigation data and Bluetooth data, to identify the current scene. Signal fingerprint-based scene recognition technology: This technology identifies location or scene by establishing a fingerprint database in various scenarios, and has wide applications in indoor positioning.
[0111] The elevator scene recognition method proposed in this application adopts a recognition technology that combines sensor and signal fingerprint comparison. It uses information easily perceived by electronic devices, such as mobile network information (signal fingerprint), and sensor information to identify four scenarios: waiting for the elevator, riding the elevator (entering the elevator), predicting when to exit the elevator, and actually exiting the elevator. The signal fingerprint may or may not include Wi-Fi information.
[0112] As shown in Figure 5, the elevator scene recognition method proposed in this application can be applied to various practical application scenarios of users riding elevators, such as the application scenario of users riding vertical elevators. The specific scenarios of riding a vertical elevator can include one or more of the following four scenarios: waiting for the elevator, riding the elevator (entering the elevator), about to exit the elevator, and exiting the elevator.
[0113] The following is a specific example.
[0114] For example, as shown in Figure 6, Figure 7 illustrates the system architecture used in one embodiment of the elevator scene recognition method.
[0115] In this embodiment, the implementation of elevator scene recognition can include two parts (or two stages): historical feature construction and scene recognition. Historical feature construction is used to build historical features. Historical features are features from past elevator riding scenarios, such as historical signal features and historical path features.
[0116] In the stage of constructing historical characteristics:
[0117] Electronic devices can first determine whether a user is in an elevator using data from accelerometer sensors, pedometers, etc., and confirm the existence of an elevator after detecting the user exiting. They can then query mobile network cell information scanned during the time periods before, during, and after entering the elevator, or they can query scanned wireless access point (AP) information. AP information is often referred to as Wi-Fi information below. Based on the scanned cell information and Wi-Fi information, corresponding historical signal features are constructed. For example, historical signal features may include historical mobile network signal features (first historical network information), or they may also include historical Wi-Fi information (second historical network information). The construction of signal features will be described in detail in the scene recognition stage later. The feature construction method in the historical feature construction section can refer to the feature construction in the scene recognition section.
[0118] In addition, historical path features (i.e., path information) are also constructed in the historical feature construction section. The path features include at least turning information. In some embodiments, the path features may also include information such as the step interval between turns. The path features can be obtained based on direction sensor data and pedometer data. The specific construction method will also be described in detail in the scene recognition stage.
[0119] It should be noted that the system architecture shown in Figure 6 is only an example. In some embodiments of actual applications, the historical feature construction part can be omitted. For example, the electronic device on the terminal side can remotely request the historical features of the current address from the server without having to construct the historical features itself.
[0120] In the scene recognition stage:
[0121] Scene recognition can include one or more modules such as elevator waiting scene recognition module, elevator riding scene recognition module, elevator exit prediction module, and elevator exit scene recognition module.
[0122] Elevator Waiting Scene Recognition Module: This module scans the community and access point (AP) information for the current time period to obtain network features for that period. It also obtains path features based on data collected by the orientation sensor and step count from the pedometer. The module compares the current time's network features with pre-obtained historical network features and path features with pre-obtained historical path features. Based on the comparison results, it identifies whether the current scene is an elevator waiting scene.
[0123] In this embodiment, the network features may include first network information and second network information. The first network information is obtained based on the scanned mobile communication network cell information; the second network information is obtained based on the scanned wireless access point (AP) information, such as Wi-Fi. In other embodiments, the network features may include only the first network information.
[0124] Path features, i.e., the characteristics of the user's path towards and waiting for the elevator, can be obtained in this embodiment based on data collected by a direction sensor and step count data from a pedometer. The data collected by the direction sensor is used to obtain turning information, and the step count from the pedometer is used to calculate the interval between turns. In other embodiments, path features can be obtained based on various features that reflect the user's path towards the elevator, such as total path length and total number of steps. In summary, path features can include one or more of the following: total path length, turning information, step interval between turns, distance interval between turns, total number of steps, number of turns, etc.
[0125] Elevator scene recognition module: Using acceleration data and magnetic field data, after low-pass filtering, analyze the waveform of acceleration data and the waveform of magnetic field strength magnitude to identify whether the user is currently riding an elevator (inside the elevator).
[0126] Elevator exit prediction module (or elevator prediction module): Acquires acceleration data, performs low-pass filtering on the acceleration data, and preliminarily identifies when the elevator will stop during vertical operation based on the waveform. Acquires air pressure data at the current location and time, compares it with pre-recorded air pressure data at the starting location and time, and compares the air pressure difference of this elevator ride with pre-obtained historical air pressure differences; alternatively, it also records the current time and the starting time, calculates the time difference between the current time and the starting time, compares or contrasts this time difference with pre-obtained historical time differences, and predicts elevator behavior based on the comparison results to avoid misjudgments due to the elevator stopping midway.
[0127] Elevator Exit Scene Recognition Module: This module acquires magnetic field data and pedometer steps, and identifies the user's exit behavior based on changes in the magnetic field inside and outside the elevator and whether the user has started walking. Optionally, after confirming that the user has exited the elevator, the module dynamically adjusts the records in the feature database using the actual elevator ride time (time difference) and air pressure difference at the time of exit, for example, dynamically updating the elevator exit scene feature database. The feature database, which stores various historical features, can be a database where each module has its own feature database, or multiple modules can share the same feature database.
[0128] It should be noted that the historical features in the feature library can be dynamically updated in real time based on the recognition results of each module in the scene recognition section.
[0129] The following details the methods and processes used for four scenarios, or four stages, of elevator waiting, elevator riding, elevator about to exit, and elevator already exited.
[0130] Elevator waiting scene recognition:
[0131] For example, as shown in Figure 7, in this embodiment, the recognition of the elevator waiting scene may include the following process:
[0132] S100: The triggering condition is met, triggering the recognition process for the elevator waiting scene and starting recognition.
[0133] In this embodiment, the triggering condition may be that the user is walking, or the triggering condition may be that the user is walking and the user's current location information is within a preset distance range of the user's frequently visited address, such as their residential address or office address.
[0134] In this embodiment, the electronic device reads the step count list from the pedometer to determine whether the user is walking. When the step count changes, the electronic device triggers execution of S101. Alternatively, in other embodiments, the electronic device reads the step count list from the pedometer, determines that the user is currently walking and that the user's current location falls within a frequently visited address or is within a preset distance range of the address, and then triggers execution of S101.
[0135] S101: Scans cell information and WiFi information.
[0136] The electronic device scans mobile communication network cells and WiFi to obtain mobile communication network cell information and WiFi information. In other embodiments, it may scan only mobile communication network cells; or, only WiFi.
[0137] Specifically, electronic devices scan mobile network cells at equal time intervals, sort the scan results by signal strength, and save cells with strong signals (signal strength exceeding a specified strength threshold) to a hash list (cell list); and monitor the current serving cell in real time. When a serving cell is switched, the switched cell is saved to the hash list (cell list); and the scanning ends and is saved when walking stops.
[0138] The hash list refers to the data structure used to store the scanned cell information, which is a hash table.
[0139] Next, the saved network switching information (i.e., the hash list) is analyzed using at least one of three formats: set, sequence, or switching graph, to determine whether the waiting elevator condition is met. Specifically, the following methods can be used:
[0140] First, based on the scanned mobile communication network cell information (e.g., a cell list), mobile communication network features (also known as first network information, i.e., the signal characteristics corresponding to the mobile communication network) are constructed. These features include sets, sequences, and handover diagrams. Constructing mobile communication network features means building sequences (first sequences), sets (first sets), and handover diagrams (first handover diagrams) based on the scanned mobile communication network cell information. It should be noted that in other embodiments, only sequences may be constructed without building sets and handover diagrams; alternatively, only handover diagrams may be constructed, omitting sequences and sets. In certain embodiments, only sets may be constructed.
[0141] The sequence (first sequence) includes the order in which the electronic device scans each cell during the current time period. The current time period refers to the period from the start of the trigger to the detection that the user has stopped walking.
[0142] Constructing a sequence involves arranging the elements of the scanned cells (such as names or IDs) according to the handover order. For example, if the electronic device scans the following cells in sequence from the start of the event until the user stops walking: A, B, C, B, C, then the sequence would be {ABCBC}; where A, B, or C represent cell IDs. The sequence indicates the order in which the electronic device accesses cells, or handover information, within the current time period. Duplicate cell IDs may or may not exist.
[0143] The collection includes the identity information of each cell scanned by electronic devices during the current time period.
[0144] A set can be constructed using the identity information (such as name or ID) of the scanned cells as elements. It's important to note that the set records the cells the electronic device has connected to during the current time period. Elements in the set are unique, but elements in the sequence can be repeated. For example, if the electronic device scans cells A, B, C, B, C sequentially during the time period from the start of the trigger to the user stopping walking, then the resulting set would be {ABC}.
[0145] A switching graph is used to represent, in the form of a directed graph, the order in which electronic devices scan various cells during the current time period.
[0146] For example, when constructing a handover graph, a cell can be used to represent a node. If the handover is from cell A to cell B, a connecting edge is added to the graph from node A to node B. For example, the handover graph corresponding to the sequence {ABCBC} is shown in Figure 8.
[0147] In this embodiment, after the start is triggered, WiFi information can be scanned at equal time intervals. The scan results are sorted by signal strength, and WiFi networks with strong signals (signal strength exceeding a specified threshold) are saved in a hash list (WiFi list). Furthermore, the currently connected WiFi network is monitored in real time, and when a WiFi network switches, the new WiFi network is saved in the hash list (WiFi list). The scanning ends and is saved when walking stops. Similarly, the scanned WiFi information can be stored using a hash table data structure.
[0148] Next, based on the scanned WiFi information, wireless LAN network characteristics (also known as second network information, i.e., the network characteristics corresponding to WiFi) are constructed. For details on constructing sets, sequences, and handover graphs based on the scanned WiFi information, please refer to the section on constructing mobile communication network characteristics described above; these details will not be repeated here.
[0149] It should be noted that the method for constructing historical features is the same as that used in the scene recognition stage. For example, in the historical feature construction stage, after determining that a user has taken the elevator, records of community information or WiFi information scanned before the user took the elevator can be queried to obtain the corresponding historical network features. For example, at least one of the following can be obtained: historical set, historical sequence, and historical handover graph.
[0150] S102: Compare at least one of the set, sequence, and switching graph to obtain a first matching result. If the first matching result indicates a match, proceed to S107; otherwise, proceed to S103.
[0151] In S102, comparing at least one of the sets, sequences, and switching graphs involves comparing the sets, sequences, and switching graphs obtained in the current time period with the historical sets, historical sequences, and historical switching graphs obtained in historical time periods.
[0152] In this embodiment, mobile communication network features and wireless local area network features are compared respectively.
[0153] Comparison of mobile communication network features:
[0154] By comparing the set (first set), sequence (first sequence), and handover map (first handover map) corresponding to the cell information scanned in the current time period with the historical set (first historical set), historical sequence (first historical sequence), and handover map (first historical handover map) corresponding to the cell information scanned in historical time periods, the comparison result (first comparison result) corresponding to the mobile communication network features is obtained.
[0155] The first alignment value can be obtained by comparing the first sequence with the first historical sequence. The alignment between the first sequence and the first historical sequence can be calculated by calculating the similarity between the two sequences. For example, one or more of the following algorithms can be used: Longest Common Subsequence (LCS), Edit Distance, Pattern Matching, Topological Sort.
[0156] In this embodiment, the longest common subsequence algorithm is used to determine the similarity between the first sequence and the first historical sequence. Specifically, the longest common subsequence of the two sequences can be calculated first, and the first alignment value is obtained based on the proportion of the longest common subsequence relative to the first historical sequence. The proportion of the longest common subsequence relative to the first historical sequence can be the proportion of the number of elements in the longest common subsequence relative to the number of elements in the first historical sequence. For example, if the proportion is 80%, then the first alignment value is 80% or 0.8.
[0157] By comparing the first set and the first historical set, a second alignment value can be obtained. The comparison of the first set and the first historical set can employ Jaccard similarity, cosine similarity, or other set similarity algorithms. In this embodiment, the common elements between the two sets can be obtained, that is, the intersection of the two sets can be found. Then, the proportion of the intersection relative to the first historical set is calculated, that is, the proportion of the number of elements in the intersection relative to the number of elements in the first historical set. For example, if this proportion is 85%, then the second alignment value is 85% or 0.85.
[0158] A third comparison value can be obtained by comparing the first switching graph with the pre-obtained first historical switching graph. The comparison of the switching graphs can employ a directed graph similarity algorithm. In this embodiment, the maximum common subgraph (MCS) of the first switching graph and the first historical switching graph can be calculated first. The third comparison value is obtained based on the proportion of the MCS relative to the first historical switching graph. The proportion of the MCS relative to the first historical switching graph refers to the proportion of the number of nodes in the MCS compared to the total number of nodes in the first historical switching graph, and the proportion of the number of directed paths formed by directed edges between nodes compared to the total number of directed paths in the first historical switching graph. A comprehensive proportion can be obtained based on these two proportions. For example, the comprehensive proportion can be obtained based on the node proportion and the path proportion, and used as the third comparison value.
[0159] Next, based on one or more of the first comparison value, second comparison value, and third comparison value, a first comparison result corresponding to the first network information is obtained. In this embodiment, the first comparison result is obtained based on the first comparison value, second comparison value, and third comparison value, and the first comparison result is the result corresponding to the mobile communication network feature. For example, corresponding weights can be set for the three comparison values, and the three comparison values can be weighted and summed. By setting the weights, the influence of the three factors—sequence, set, and switching graph—on the comparison result can be adjusted. For example, the weight of the sequence can be increased, and the weights of the others can be decreased. Alternatively, the three factors can be set to have the same or nearly the same weight.
[0160] Comparison of wireless LAN network characteristics:
[0161] In this embodiment, the set (second set), sequence (second sequence), and switching map (second switching map) corresponding to the WiFi information scanned in the current time period are compared with the historical set (second historical set), historical sequence (second historical sequence), and switching map (second historical switching map) corresponding to the WiFi information scanned in historical time periods to obtain the comparison result (second comparison result) corresponding to the wireless local area network features.
[0162] Referring to the comparison methods of the first sequence, the first set, and the first switching graph described above, similarly, comparisons can be made between the second sequence and the second historical sequence, the second set and the second historical set, and the second switching graph and the second historical switching graph, respectively, to obtain the fourth, fifth, and sixth comparison values. Similarly, weights can be set for the fourth, fifth, and sixth comparison values, and a weighted summation can be performed to obtain the comprehensive second comparison result, which will not be elaborated here.
[0163] Thus, after obtaining the first comparison result corresponding to the mobile communication network characteristics and the second comparison result corresponding to the wireless local area network characteristics, the first matching result can be obtained based on the first comparison result and the second comparison result.
[0164] The first matching result can be obtained by weighted summation based on the first and second comparison results. That is, corresponding weights are assigned to the mobile communication network characteristics and the wireless local area network characteristics respectively. For example, the weight assigned to each is 0.5, and the first matching result is obtained.
[0165] The specific values of the weights mentioned in the above and subsequent explanations are for illustrative purposes only. In actual applications, the values can be set according to the specific circumstances, and the values of each weight are not unique.
[0166] It should be noted that in this embodiment, both mobile communication network features and wireless local area network features are compared. In other embodiments, only mobile communication network features may be compared, without comparing wireless local area network features. In this case, the first comparison result can be directly used as the first matching result. Alternatively, in some embodiments, only wireless local area network features may be compared, without comparing mobile network features. In this case, the second comparison result can be directly used as the first matching result.
[0167] S103: Determine if the detection time has exceeded the limit? If yes, proceed to S109; otherwise, return to S101.
[0168] The system determines whether the detection duration has been exceeded, specifically the time elapsed from the trigger start time to the current time. For example, the detection duration can be obtained from the user's historical detection data. For instance, when constructing historical features, after recognizing a user riding an elevator, the system can record the maximum duration between the start time of recognition in S100 and the moment the user is determined to be in an elevator scenario, or average multiple records. The detection duration can then be set based on the average or maximum duration. For example, the detection time can be equal to the maximum duration or increased by a certain number of seconds, such as 30-150 seconds, based on the maximum duration or the average.
[0169] S102 compares the network features and obtains a first matching result indicating whether the network features (which can also be understood as signal fingerprint features) match. As shown in Figure 7, in this embodiment, to improve the accuracy of elevator waiting scene recognition, path feature recognition is also proposed in addition to network feature recognition. That is, by combining network feature and path feature dual feature recognition, it is determined whether the user is currently in an elevator waiting scene to prevent misidentification. Path feature recognition is specifically implemented through S104-S106.
[0170] S104: Obtain path information.
[0171] Path features (i.e. path information) are used to quantitatively describe the path a user walks in the direction of the elevator. Specifically, path features can be obtained based on the direction data of the user's walking path collected by the direction sensor, or based on the step count information output by the pedometer.
[0172] For example, in this embodiment, the path features include turning (or corner) information and interval information. The interval information can be the interval between adjacent turns, the interval between the starting point of the walking path and the first turn, or the interval between the ending point of the walking path and the previous turn. Specifically, the interval can be represented by the number of steps, or by distance, i.e., the distance between two turns.
[0173] The starting point of the walking path is the user's location at the moment identification begins in S100, and the ending point is the user's location after the user stops walking. The path from the starting point to the ending point is the road segment used to extract path features.
[0174] Specifically, in this embodiment, the direction data and pedometer data acquired in real time by the direction sensor are used to calculate the turning angle and step interval when the user walks towards the elevator as path features (or path information).
[0175] For example, the system can read the step count list from the pedometer to determine if the user is walking or stopping. When the user walks, the system reads the direction sensor data and stores it in a queue. A sliding window of a predetermined size is used to process the queue, calculate the angle change in the user's walking direction, and determine the user's turning behavior based on the angle change. The system saves the turning angle and the step interval between two adjacent turns. If there are no turns in this walking segment, the number of turns is saved as 0. Thus, by analyzing the turning angle and step interval information in the user's path towards the elevator, the system obtains the path characteristics for the current time period. This is compared with the historical path characteristics corresponding to pre-obtained historical time periods to obtain a second matching result. Combining the first and second matching results, the system determines whether the user is currently waiting for the elevator.
[0176] Specifically, taking the building structure shown in Figure 9 as an example, assuming door D2 is the starting point of the path, the user walks from door D2 towards the elevator. Using a sliding window of size 10, the data queue collected by the direction sensor within one sliding window is: [253,252,261,278,291,313,329,341,346,349]. The difference between the angle 349 of the last sampling point and the angle 253 of the first sampling point within one sliding window is calculated. The turning angle is calculated by subtracting the tail from the head and the tail, which is 96, and recorded as the turning angle C1. After calculating the turning angle C1, the step count information of the pedometer at the current time is queried. For example, the step count at this time is recorded as 5447. Within the nth sliding window, the data queue collected by the direction sensor is: [258,258,259,257,241,215,192,183,192,190]. The turning angle calculated by subtracting the tail from the head is -68°, denoted as turning angle C2, and the step count at this time is recorded as 5510. The step difference between turning angle C1 and turning angle C2 is 63, which is the step interval of 63, denoted as interval L1. This process continues, saving the entire path information. As shown in Figure 9, the path from door D2 towards the elevator includes turning angles C1, C2, and C3. The interval between turning angles C1 and C2 is L1, and the interval between turning angles C2 and C3 is L2. Assuming turning angle C3 is -75° and the step count of interval L2 is 16, then the path characteristics of this path can be represented as: {96,63,-68,16,-75}.
[0177] In practical applications, if a path contains only one corner, the step interval between the starting point and the corner, as well as the step interval between the corner and the destination, can be calculated. For example, as shown in Figure 10, if a path contains only one corner C4, the step interval between the starting point S1 and corner C4, as well as the step interval between corner C4 and the destination S2, can be calculated. For example, after recording the step information of the starting point S1 and calculating the angle of corner C4, the current step information is retrieved as the step information corresponding to corner C4. The difference between the step number corresponding to corner C4 and the step number of the starting point S1 is the interval L3, and correspondingly, the interval L4 can be obtained.
[0178] It should be noted that within a sliding window corresponding to the data queue collected by the orientation sensor, a turning angle is identified only if the angle difference between the tail and the head of the queue is greater than a predetermined threshold. For example, a turning angle is considered to exist if the angle difference is greater than 15°.
[0179] If a path has no turns, the number of turns is recorded as 0, and the interval between the start and end points is calculated. For example, in Figure 9, the path from door D1 towards the elevator may not have any turns. In this case, it is necessary to record the step interval between the start and end points of the path, or the number of turns can be recorded as 0. A number of turns of 0 is also a unique feature that can characterize the characteristics of this path.
[0180] In this way, the path features for the current time period can be obtained. Historical path features can also be constructed using this method during the historical feature construction phase. The similarity between the currently obtained path features and the historical path features is calculated, and the resulting similarity is used as the second matching result.
[0181] In practical applications, the data format of path features or historical path features can be vectors or arrays. The similarity between path features and historical path features can be determined using various vector similarity algorithms, such as one or more of the following algorithms: Cosine Similarity, Jaccard Similarity, and Euclidean Distance.
[0182] Referring to Figure 7, after obtaining the first and second matching results, it is necessary to comprehensively judge whether the conditions of the waiting elevator scenario are met based on the two matching results.
[0183] S107: Calculate whether the comprehensive matching result is greater than or equal to the threshold. If yes, execute S108; otherwise, execute S109.
[0184] The first and second matching results can be assigned their respective weights, and the first and second matching results can be weighted and summed to obtain the comprehensive matching result. For example, the weights of the two matching results can both be 0.5, or the weight of the second matching result can be 0.6 and the weight of the first matching result can be 0.4. Similarly, other weight allocation methods can also be used, which will not be listed one by one in this specification.
[0185] If the overall matching result exceeds the predetermined threshold, proceed to S108.
[0186] S108: Determine that the current situation is a waiting elevator scenario.
[0187] S109: Predicts that the user will not enter the elevator.
[0188] As shown in Figure 11, in another embodiment, if the overall matching result exceeds the threshold, the following steps are also performed:
[0189] S208: Detect whether to switch cells and / or APs? If yes, proceed to S209; if no, proceed to S210.
[0190] In practical applications, a user might walk along their usual path towards the elevator and then stop at another location near the elevator. In this case, the user is not actually waiting for the elevator, but rather temporarily pausing in the vicinity. Because the path in this situation is very similar to the path for waiting for the elevator, misidentification is possible. Therefore, in the embodiment shown in Figure 11, the electronic device can detect whether a cell and / or AP (e.g., WiFi) handover has occurred. That is, whether the currently connected cell has changed, or whether the AP has changed, or whether both the cell and AP have changed. If the user is waiting for the elevator, the probability of a cell or AP handover is very low. Therefore, whether a cell or AP handover has occurred can serve as an auxiliary criterion for identifying whether the user is currently waiting for the elevator. If a handover has occurred, it is highly likely that the user is currently at another location near the elevator waiting area.
[0191] For example, in S208, detecting whether to switch cells and / or APs can be performed within a predetermined time period, and the detection can be stopped if the predetermined time period is exceeded. For example, the predetermined time period can be 2000ms or other durations.
[0192] The added discrimination conditions in S208 can further prevent false identification and improve the accuracy of elevator waiting scene recognition. It should be noted that the discrimination conditions in the appendix of S208 cannot completely prevent false identification in actual applications, but they can reduce the probability of misidentifying other scenes or states as elevator waiting scenes or states to a certain extent.
[0193] The other steps in Figure 11 can be referred to the corresponding steps in Figure 7, and will not be repeated here.
[0194] It should be noted that in Figures 7 and 11, as well as in the subsequent flowcharts, the step numbers are only used to distinguish different steps, and the order of the numbers does not limit the order in which the steps are executed. For example, in Figure 7, S104 can be executed in parallel with S101, or S104 can be executed before S103, and so on.
[0195] Elevator scene recognition:
[0196] In this embodiment, magnetic field data and acceleration data are combined to identify whether the user is currently riding an elevator (inside the elevator). As shown in Figure 12, the specific process may include the following:
[0197] S300: Trigger the elevator ride scenario recognition process and begin recognition.
[0198] In this embodiment, it can be determined that the user is in a waiting elevator scenario, that is, trigger the elevator ride scenario recognition process.
[0199] S301: Determine if the pedometer step count has changed. If yes, pause the detection; otherwise, proceed to S302 and S303.
[0200] S302: Determine whether the acceleration data meets the elevator riding characteristics.
[0201] Acceleration data can be data collected by an accelerometer or waveforms obtained from the data collected by the accelerometer, such as the waveform shown in Figure 13. The accelerometer can be a triaxial accelerometer, and the acceleration data can specifically be a triaxial acceleration sequence.
[0202] Elevator riding characteristics refer to the data changes detected by electronic devices when a user rides an elevator. Vertical elevators move up and down during operation, and these changes are significant at the moment the elevator starts and just before it stops.
[0203] As shown in Figure 13, acceleration in an elevator scene exhibits at least two convex waveform characteristics. Specifically, the collected acceleration data is low-pass filtered to smooth noise, and waveform detection technology is used to determine whether it meets the changing characteristics of an elevator scene.
[0204] Based on the acceleration data, an acceleration waveform is obtained. The relative value (difference) of the peak value of the first peak in the waveform compared to the value in the flat region is calculated. If the relative value (difference) is greater than or equal to a specified threshold, for example, a threshold of 0.4, a peak is considered detected if it exceeds 0.4. Similarly, a trough can be detected. During elevator operation, at least one peak and at least one trough will appear. When at least one peak and at least one trough are detected in the waveform, it is determined that the acceleration data meets the elevator riding characteristics. That is, based on whether the acceleration data meets the elevator riding characteristics, an identification result (first identification result) is obtained. This identification result includes two cases: satisfied and not satisfied. For example, the identification result is 0 or 1, where 1 indicates satisfied and 0 indicates not satisfied.
[0205] It should be noted that the vertical elevator operates in either upward or downward direction. During upward movement, the acceleration waveform may show a peak followed by a trough, while during downward movement, it may show a trough followed by a peak. Therefore, detecting at least one peak and at least one trough in the waveform includes cases where a peak is detected first and then a trough, or vice versa.
[0206] S303: Does the magnetic field strength data meet the elevator characteristics?
[0207] As shown in Figure 14, the magnetic field strength will exhibit corresponding spikes between different floors during elevator operation. Generally, the magnetic field inside the elevator is stronger than that outside. That is, after a user enters the elevator from outside, there will be a sudden increase in the magnetic field strength, while when exiting the elevator, there will be a sudden decrease in the magnetic field strength, and the magnitude of the decrease corresponds to the increase when entering the elevator.
[0208] The change in magnetic field strength when entering the elevator is defined as the first spike, and the change when exiting the elevator is defined as the second spike. The second spike changes in the opposite direction to the first spike, and the magnitude of the change is close to or the same. For example, actual tests have shown that when entering the elevator, the magnitude of the magnetic field strength will suddenly change, with an increase of 20 to 30 A / m.
[0209] It should be noted that in practical applications, the magnetic field strength outside the elevator may be greater than that inside, such as in areas with strong magnetic fields, like hospitals. Therefore, when determining whether the magnetic field strength data meets the elevator riding characteristics, after detecting the first spike in the magnetic field strength amplitude waveform, it is necessary to continue detecting whether a second spike with a similar amplitude but opposite direction to the first spike appears. If detected, it is considered to meet the elevator riding characteristics, and the identification result (second identification result) is obtained based on the magnetic field strength. For example, this identification result is 0 or 1.
[0210] S304: Confirm that the user is currently riding the elevator.
[0211] In this embodiment, different weights can be assigned to the first identification result and the second identification result, and a weighted summation can be performed on the first and second identification results to obtain a comprehensive weight value. For example, the weight of the second identification result corresponding to the magnetic field strength is set to 0.4, and the weight of the first identification result corresponding to the acceleration data is set to 0.6. If the first identification result is 1 and the second identification result is also 1, then the comprehensive weight value is 1*0.6 + 1*0.4 = 1. If the second identification result is 0 and the first identification result is 1, then the comprehensive weight value is 1*0.6 + 0*0.4 = 0.6. In this embodiment, the comprehensive weight value is compared with a pre-set threshold value, for example, the threshold value is 0.7. If it is greater than or equal to 0.7, then the current scenario is considered to be riding an elevator; if it is less than 0.7, then proceed to S305.
[0212] S305: Determine if the detection time has exceeded? Yes, proceed to S306; no, return to S301.
[0213] In this embodiment, the detection duration is counted from the start time in S300. Similar to the embodiment shown in Figure 7, in the elevator riding recognition scenario, the detection duration can also be obtained based on the user's actual historical elevator riding records, which will not be elaborated here.
[0214] S306: No elevator detected.
[0215] Imminent exit from elevator scene recognition:
[0216] In this embodiment, the system predicts whether a user is about to exit the elevator by comparing the current air pressure difference with historical air pressure differences, and / or comparing the current time difference with historical time differences. Specifically, this may include the following process:
[0217] S400: Trigger the recognition process for the scene of exiting the elevator and start recognition.
[0218] It should be noted that in this embodiment, the recognition process for the upcoming elevator exit scenario can be triggered after determining that the user is in a waiting elevator scenario, rather than triggering the recognition process for the upcoming elevator exit scenario after determining that the user is in a riding elevator scenario.
[0219] S401: Record the current air pressure and time.
[0220] This involves recording the current time (starting time) and / or the air pressure at the current location (starting location). To avoid confusion, the starting time is defined as the first time, and the air pressure at the starting location is defined as the first air pressure.
[0221] S402: Determine if the user has stopped walking. If yes, proceed to S403. If no, return to continue the determination.
[0222] To determine whether a user has stopped walking, the user can be considered to have stopped walking if the number of steps does not increase within a predetermined duration (e.g., 5 seconds).
[0223] S403: Read acceleration data and magnetic field strength data.
[0224] In this embodiment, reading acceleration data and magnetic field strength data is used to determine whether the user is currently inside the elevator. This determination can be made based solely on acceleration data, or solely on magnetic field strength data, or a combination of both.
[0225] It should be noted that the recognition of the scene about to exit the elevator and the recognition of the scene of riding the elevator may be executed in parallel. That is, the result of the recognition of whether the user is riding the elevator may be obtained after the user is recognized as being in the scene about to exit the elevator. Therefore, in the recognition of the scene about to exit the elevator, it is necessary to independently identify whether the user is currently in the elevator, without depending on the recognition result of the scene of riding the elevator.
[0226] S404: Determine if the elevator mode is met. If yes, proceed to S405.
[0227] In this embodiment, if the user is identified as being in a stopped walking state in S402, the identification result of the user being in the elevator can be obtained immediately after the first peak or trough of the acceleration waveform appears, without waiting for the first trough or peak corresponding to the first peak or trough to appear, thus reducing the identification process and improving identification efficiency.
[0228] It should be noted that the vertical elevator may run in either upward or downward direction. For example, when running upward, the acceleration waveform may first show a peak, and therefore the peak is detected first; when running downward, the acceleration waveform may first show a trough, and therefore the trough is detected first. In this embodiment, detecting a peak or a trough can be considered as recognizing that the user is currently inside the elevator, that is, in elevator mode.
[0229] Alternatively, in addition to acceleration data, magnetic field strength data can be further combined. If the acceleration waveform shows a peak and the magnetic field strength data shows a sudden change in magnitude (the change in magnitude exceeds the predetermined value), it can be considered that the user is inside the elevator.
[0230] S405: Determines that the user is currently inside the elevator.
[0231] S406: Determine if the elevator is about to stop. If yes, execute S407; otherwise, return to S403.
[0232] In this embodiment, the determination of whether the elevator is about to stop is based on whether the acceleration waveform appears at the trough corresponding to the previous peak. If a trough appears, it is determined that the elevator is about to stop.
[0233] S407: Calculate the pressure difference between the current position and the starting position, and / or calculate the time difference between the current time and the starting time.
[0234] During elevator operation, once it is determined that the elevator is about to stop, the electronic equipment records the air pressure at the current location, which is defined as the second air pressure, and records the time at the current moment, which is defined as the second time.
[0235] Calculate the difference between the second and first air pressures to obtain the pressure difference. Calculate the difference between the second and first time points to obtain the time difference.
[0236] For example, air pressure data collected by a barometric pressure sensor at a predetermined sampling frequency is read, and air pressure data is extracted according to a sliding window of predetermined length. The average air pressure within the sliding window at the current moment is taken as the air pressure value at the current moment. In this way, errors caused by instantaneous fluctuations in air pressure can be avoided to some extent.
[0237] For example, the air pressure data collected by the air pressure sensor at a sampling frequency of 5Hz is read. At the starting position (the user's position at the moment identification begins in S400), the average value is calculated within a sliding window of length 5. That is, in the queue of collected air pressure data, the latest sliding window of length 5 is selected, and the average value of the 5 air pressure data within the sliding window is calculated. The average air pressure is used as the first air pressure at the starting position. Similarly, after it is determined that the elevator is about to stop, 5 sampled data within a sliding window of length 5 are selected, the average air pressure is calculated, and it is defined as the second air pressure. The difference between the second air pressure and the first air pressure is the air pressure difference.
[0238] S408: Compare the current pressure difference with the historical pressure difference, and / or compare the current time difference with the historical time difference. If they match, proceed to S409; otherwise, return to S403.
[0239] Query historical pressure differences and historical time differences in the historical feature database.
[0240] Compare the current pressure difference with the historical pressure difference to determine if they match. Alternatively, compare the current time difference with the historical time difference to determine if they match.
[0241] In some embodiments, when an electronic device has a barometric pressure sensor, identification can be performed solely based on whether the pressure difference matches historical pressure differences, without considering time differences. For electronic devices without a barometric pressure sensor, a comparison of time differences can be used for identification. Alternatively, for electronic devices with a barometric pressure sensor, both pressure difference and time difference can be considered, and a comprehensive matching result can be obtained based on the matching results of the pressure difference and the time difference.
[0242] For example, typically, the inter-floor pressure difference is between 0.3 and 0.4 hPa. In this embodiment, a pressure difference threshold is set, for example, 0.2 hPa. If the current pressure difference differs from the historical pressure difference in the feature database by more than 0.2 hPa, it is considered that the elevator will not exit at this time. It should be noted that the inter-floor pressure difference will vary for floors of different heights. In practical applications, the pressure difference threshold can be set according to the specific application environment, and is not limited to 0.2 hPa.
[0243] The historical air pressure difference can be calculated by taking the difference between the first and second historical air pressures in a historical elevator scenario, which is the starting position of the user when they are about to exit the elevator.
[0244] It should be noted that, in conjunction with the system architecture shown in Figure 6, in the historical feature construction part, the elevator detection module can detect whether the user is waiting for the elevator, whether the user is riding the elevator, and whether the user is exiting the elevator. It records the air pressure when the user exits the elevator or is about to exit the elevator (second historical air pressure) and the air pressure when the user is waiting for the elevator (first historical air pressure), and calculates the air pressure difference as the historical air pressure difference.
[0245] It should be noted that the elevator detection module in the historical feature construction section can be a separate module independent of the scene recognition modules, or it can achieve corresponding scene recognition by calling the various scene recognition modules in the scene recognition section. That is, the elevator detection in the historical feature construction section can use the same or similar recognition methods as the scene recognition section to identify different elevator scenes. For example, the elevator detection module can directly call the elevator exiting scene recognition module to perform elevator exiting scene recognition, and then record the historical air pressure and historical time, thereby obtaining the historical air pressure difference and historical time difference, which are stored in the historical feature library (hereinafter referred to as the feature library). The historical feature library can store the initial values of each feature. These initial values are used as historical features when performing scene recognition for the first time. After multiple recognitions, the features in the historical feature library can be maintained and updated in real time according to the actual detection results.
[0246] In the specific application scenario of vertical elevators, users may stop at different intermediate floors each time they ride the same elevator multiple times. Therefore, even for the same elevator, with the same starting and exit positions, the time elapsed from waiting to exiting the elevator can vary. To address this, this application proposes using a historical time list to record multiple historical times (e.g., multiple first historical times and multiple second historical times), calculating the average of the historical time differences, and obtaining a historical time difference for comparison with the current time. For example, the average of the historical time differences obtained from the historical time list can be directly used as the historical time difference, or a coefficient can be multiplied by the average of the historical time differences obtained from the historical time list to obtain a reference value. During comparison, it is determined whether the current time exceeds this reference value. If it does not exceed (is less than or equal to) the reference value, the current time difference is considered to match the historical time difference. If only the time difference is considered, a prediction of when the user will exit the elevator can be given. If both time difference and air pressure difference are considered, the result of time difference matching can be given, and then combined with the result of air pressure difference matching (for example, a weighted summation) to give a prediction of whether the elevator is about to exit. In this way, the historical time difference is obtained by statistically analyzing sample times from multiple historical records, which can reduce misjudgments caused by the elevator stopping midway.
[0247] S409: Predicts that a user is about to exit the elevator.
[0248] That is, outputting the recognition result or prediction result of the user's current situation of being about to exit the elevator.
[0249] Elevator exit scene recognition:
[0250] Elevator exit scene recognition can be achieved by combining changes in magnetic field strength magnitude and step count for comprehensive judgment.
[0251] For example, in this embodiment, as shown in FIG16, the elevator exit scene recognition process may include the following process:
[0252] S501: Trigger the elevator scene recognition process and begin recognition.
[0253] The trigger condition for elevator exit scene recognition can be triggered after the system detects that a user is about to exit the elevator.
[0254] It should be noted that the elevator exit scenario can be either the scenario of exiting the elevator (the user is walking from inside the elevator to outside) or the scenario of having already exited the elevator (the user is outside the elevator).
[0255] S502: Determine whether the change in the magnitude of the magnetic field strength exceeds the predetermined threshold? If yes, proceed to S503; otherwise, proceed to S505.
[0256] For example, if the change exceeds a predetermined threshold, it is considered that a burr has occurred. Generally, when entering the elevator, the first burr with a significant change will be generated, i.e., the first burr. When exiting the elevator, the second burr corresponding to the first burr will be generated.
[0257] In practical applications, fluctuations in the magnetic field strength modulus can occur during elevator operation, resulting in multiple spikes. To improve the accuracy of identification based on the magnetic field strength modulus, some embodiments determine whether the change in the magnetic field strength modulus exceeds a predetermined threshold. This can be achieved by determining whether a second spike, corresponding to the first spike, appears. The change in the magnetic field strength modulus in the second spike is the same as or close to the change in the first spike, but in the opposite direction. This can reduce the interference of spikes occurring during elevator operation on the detection results to a certain extent.
[0258] S503: Determine if the step count of the pedometer has changed. If yes, proceed to S504; otherwise, end the process.
[0259] S504: Determined that the user is in the exiting elevator scenario.
[0260] S505: Determine if the detection time has been exceeded. If yes, end the process. If no, return to S502.
[0261] For example, using a predetermined sampling frequency, such as 5Hz, data collected by a magnetic field sensor and pedometer data are acquired. The collected data is stored in a queue. A sliding window of length n (e.g., 50) is used to detect whether the magnetic field strength modulus decreases, that is, whether there is a difference between two magnetic field strength moduli exceeding a threshold (e.g., exceeding 20-30) within the sliding window of length 50. A sliding window of length 5 is used to detect changes in the number of steps. When the magnitude of the decrease or increase in magnetic field strength within the window exceeds the threshold and there is a change in the number of steps, the recognition result of being in the elevator exit scenario is output.
[0262] After confirming that a user has exited the elevator, the data in the historical feature database is dynamically adjusted using the actual air pressure and time information at the time of exit.
[0263] Based on the above exemplary description, the solution proposed in this application, in the elevator waiting scene recognition, combines network features and path features to identify whether an elevator waiting scene is in progress. The network features include mobile communication network features (cell handover sequences, sets, and / or handover maps), or may also include wireless local area network features (e.g., sets, sequences, and / or handover maps corresponding to Wi-Fi information). Path features can be obtained from orientation sensor and pedometer data. For network features, the similarity between the current feature and historical features in the feature library is calculated from multiple perspectives, including whether sets, sequences, and handover maps match. For path features, the number of path turns is calculated based on the numerical changes of the orientation sensor, and the step interval is calculated based on the pedometer, and then matched with historical path features in the feature library. Based on the matching results of network features and path features, a weighted vote is performed to obtain the recognition result.
[0264] In elevator scene recognition, magnetic field data and acceleration data are used. After low-pass filtering, the waveforms of acceleration and magnetic field strength magnitudes are analyzed to identify whether the user is currently riding the elevator.
[0265] In elevator exit scenario prediction, when a user is identified as riding the elevator, acceleration data is acquired, and the waveform is analyzed after low-pass filtering to initially determine whether the elevator is about to stop. This is combined with pedometer data, whether the detection time has been exceeded, and other factors. Simultaneously, air pressure data and / or time data are acquired, and the difference between the current air pressure difference and / or time difference during the elevator ride is compared with historical differences in a historical feature database to predict elevator behavior, avoiding misjudgments due to the elevator stopping midway. For example, when predicting an elevator, the initial air pressure is recorded during the waiting phase. After entering the elevator riding state, pedometer data and magnetic field data are used to constrain the user to be inside the elevator. Acceleration is collected online and stored in a queue. The acceleration queue is low-pass filtered to smooth noise. If a second acceleration convexity is detected, it is preliminarily determined that the elevator has stopped.
[0266] In elevator exit scene recognition, magnetic field data is acquired, pedometer steps are detected, and user exit behavior is identified by changes in magnetic field and the start of walking; the elevator exit scene feature library is dynamically adjusted using the actual elevator ride time and air pressure difference when exiting the elevator.
[0267] It should be noted that each of the above-mentioned scene recognition modules can be executed independently. That is, the elevator scene recognition method proposed in this application embodiment may include one or more of the following: waiting for elevator scene recognition, riding elevator scene recognition, about to exit elevator scene recognition, and exiting elevator scene recognition.
[0268] For example, the elevator scene recognition method proposed in this application embodiment may at least include elevator waiting scene recognition, which may specifically include the following steps:
[0269] S10: Obtain path features and network features.
[0270] As mentioned earlier, path characteristics can be obtained based on the user's walking path in the current time period, while network characteristics can be obtained at least based on the mobile communication network cell information scanned by the electronic device in the current time period.
[0271] For example, obtaining network features could involve obtaining network features that include first network information. The first network information, i.e., mobile communication network features, can include one or more of a first sequence, a first set, and a first handover graph. The first sequence includes the order in which the electronic device scans various mobile communication network cells during the current time period; the first set includes the identity information of each mobile communication network cell scanned by the electronic device during the current time period; and the first handover graph is used to represent the order in which the electronic device scans various mobile communication network cells during the current time period in the form of a directed graph.
[0272] In other embodiments, the network features further include second network information. Obtaining the network features can be achieved by obtaining network features that include both the first and second network information. The second network information, namely the wireless local area network features, can be obtained based on information from various wireless access points scanned by the electronic device in the current time period.
[0273] For example, corresponding to the first network information, the second network information includes one or more of the following: a second sequence, a second set, and a second switching graph; the second sequence includes the order in which the electronic device scans each wireless access point in the current time period; the second set includes the identity information of each wireless access point scanned by the electronic device in the current time period; and the second switching graph is used to represent the order in which the electronic device scans each wireless access point in the current time period in the form of a directed graph.
[0274] S11: Compare the network features with historical network features to obtain the first matching result.
[0275] Specifically, the historical network characteristics, corresponding to the current time period, are obtained at least based on mobile communication network cell information scanned by electronic devices during historical time periods. It should be noted that the historical time period refers to the time period corresponding to the current time period in historical elevator waiting scenario identification; it can be understood as the time period between the start time of triggering elevator waiting scenario identification and the time when the user is identified as being in an elevator waiting state.
[0276] For example, when the network features only include first network information, comparing the network features with historical network features to obtain a first matching result can be achieved by: comparing a first sequence with a pre-obtained first historical sequence to obtain a first alignment value; comparing a first set with a pre-obtained first historical set to obtain a second alignment value; comparing a first switching graph with a pre-obtained first historical switching graph to obtain a third alignment value; then, based on one or more of the first, second, and third alignment values, such as based on the first to third alignment values, a first alignment result corresponding to the first network information is obtained; next, at least based on the first alignment result, a first matching result is obtained. For example, the first alignment result can be directly used as the first matching result; if the first alignment result indicates a match, then the value of the first matching result is 1.
[0277] Specifically, the first alignment value is obtained by comparing the first sequence with the first historical sequence obtained in advance. This can be achieved by determining the longest common subsequence of the first sequence and the first historical sequence, and obtaining the first alignment value based on the proportion of the longest common subsequence relative to the first historical sequence.
[0278] The second comparison value is obtained by comparing the first set with the first historical set obtained in advance. This can be done by: determining the common elements of the first set and the first historical set, and obtaining the second comparison value based on the proportion of the number of common elements to the number of elements in the first historical set.
[0279] The third comparison value is obtained by comparing the first switching map with the first historical switching map obtained in advance. This can be achieved by: determining the largest common subgraph between the first switching map and the first historical switching map; and obtaining the third comparison value based on the proportion of the largest common subgraph relative to the first historical switching map.
[0280] When the network features also include second network information, comparing the network features with historical network features to obtain a first matching result can also be done as follows: comparing the second sequence with a pre-obtained second historical sequence to obtain a fourth comparison value; comparing the second set with a pre-obtained second historical set to obtain a fifth comparison value; comparing the second switching graph with a pre-obtained second historical switching graph to obtain a sixth comparison value; and obtaining a second comparison result corresponding to the second network information based on one or more of the fourth, fifth, and sixth comparison values. Then, the first matching result is obtained by combining the first and second comparison results. For example, a weighted sum of the first and second comparison results can be used as the first matching result.
[0281] S12: Compare the path features with the pre-obtained historical path features to obtain the second matching result.
[0282] As mentioned earlier, historical path features can be obtained based on the user's walking paths during historical periods.
[0283] For example, path features may include turning information (i.e., corner information) in the walking path; turning information is obtained based on the direction information of multiple sampling points collected in the walking path. For example, if the angle difference between the tail and the head of the queue within a sliding window exceeds an angle threshold, it is considered that a corner exists. Optionally, path features may also include interval information. Interval information can be obtained based on the interval between two adjacent turns in the walking path; or based on the interval between the starting point of the walking path and a turn; or based on the interval between the ending point of the walking path and a turn.
[0284] The interval can be either distance or steps. For example, the interval information is step interval information; step interval information is used to indicate the number of steps between two adjacent turns in the walking path.
[0285] S13: Based on the first matching result and the second matching result, determine that the user is in a waiting elevator scenario.
[0286] The first and second matching results can be weighted and summed with the same or different weights to obtain a comprehensive recognition result.
[0287] In some embodiments, as shown in FIG11, if a match is identified based on the first matching result and the second matching result, and if the electronic device is detected switching wireless access points and / or cells, it is determined that the user is not in a waiting elevator scenario, in order to prevent misidentification caused by the user lingering near the elevator.
[0288] After determining that the user is in a waiting elevator scenario, the elevator riding scenario recognition can be triggered. The elevator riding scenario recognition process can be summarized as follows:
[0289] S20: Generate the first waveform data corresponding to the acceleration data; obtain the first identification value based on the presence of at least one peak and at least one trough in the first waveform data.
[0290] Here, a peak or trough refers to a waveform in which the magnitude of acceleration is greater than or equal to a first threshold, or in other words, the difference between the magnitude of the peak or trough and the magnitude of the flat region is greater than the first threshold.
[0291] It should be noted that various thresholds appear in the embodiments of this application. The thresholds should be set according to the specific usage environment. Different thresholds are generally different, but they may also be the same.
[0292] S21: Generate the second waveform data corresponding to the magnetic field strength data.
[0293] S22: Based on the first glitch appearing in the second waveform data and the second glitch corresponding to the first glitch, obtain the second identification value.
[0294] The first and second burrs represent abrupt changes in the magnetic field magnitude. Abrupt change occurs when the magnitude changes beyond a predetermined threshold.
[0295] S23: Based on the first identification value and the second identification value, determine that the user is in an elevator riding scenario.
[0296] Optionally, after determining that the user is in a waiting elevator scenario, it is also possible to trigger the recognition of an upcoming elevator exit scenario. The specific process can be as follows:
[0297] S30: Record the air pressure when the user is waiting for the elevator as the starting air pressure; and / or, record the time when the user is waiting for the elevator as the starting time.
[0298] Optionally, in some embodiments, after recording the initial air pressure (i.e., the first time) and the start time (i.e., the first time), it can be determined whether the user has stopped walking, and S31 is executed only if the user has stopped walking. Adding a detection condition for whether walking has stopped can improve the recognition accuracy. In other embodiments, the detection of whether walking has stopped can be omitted.
[0299] S31: If it is determined that the user is inside the elevator and it is detected that the elevator is about to stop, calculate the pressure difference between the current air pressure (i.e., the second air pressure) and the initial air pressure (i.e., the first air pressure), and / or calculate the time difference between the current time (the second time) and the initial time (the first time).
[0300] For example, determining that a user is inside an elevator can be done by generating the first waveform data corresponding to the acceleration data, and determining that the user is inside the elevator based on the first peak or the first trough of the first waveform data; recognizing that the elevator is about to stop can be done by recognizing that the elevator is about to stop based on the first waveform data showing a trough corresponding to the first peak or a peak corresponding to the first trough.
[0301] The air pressure recorded when the user is waiting for the elevator is used as the initial air pressure. This initial air pressure can be the average of multiple air pressure values within a first predetermined length window during the user's waiting period. The current air pressure is the average of multiple air pressure values within the first predetermined length window at the current moment. This prevents misidentification caused by instantaneous changes in air pressure data and improves robustness.
[0302] S32: Compare the pressure difference with the previously obtained historical pressure difference to obtain the third comparison result; and / or, compare the time difference with the previously obtained historical time difference to obtain the fourth comparison result.
[0303] S33: Based on the third comparison result and / or the fourth comparison result, determine that the user is in a scenario where they are about to exit the elevator.
[0304] After determining that the user is about to exit the elevator, the elevator exit scene recognition can be triggered, which may include the following process:
[0305] S40: If a second glitch corresponding to the first glitch is detected in the second waveform data, and the user is in a walking state, it is determined that the user is in the exiting elevator scenario.
[0306] The second waveform data is obtained based on the magnetic field strength data, and the first spike is the sudden change in the magnetic field magnitude generated when the user enters the elevator. The first spike corresponds to the second spike, that is, the amplitudes of the first spike and the second spike are the same or close (for example, the difference in magnitude is lower than a preset value), and the directions are opposite.
[0307] For example, if the number of steps counted by the pedometer changes continuously over a certain period of time, it is considered that the user is walking.
[0308] In related technologies, some solutions have proposed one or more recognition methods for elevator waiting scenarios and elevator riding (entering) and exiting scenarios, but there is currently a lack of methods for recognizing scenarios where one is about to exit an elevator. On the other hand, in the elevator waiting scenario, related technologies are prone to misidentification, such as misidentifying passing an elevator as waiting; when recognizing riding an elevator, they rely on air pressure data, but in reality, the proportion of electronic devices that can obtain air pressure values is low, limiting application scenarios; most solutions cannot predict scenarios where one is about to exit an elevator; and in recognizing exiting an elevator, they rely on networks, which have a certain degree of lag.
[0309] The method proposed in this application can firstly achieve relatively accurate recognition of elevator exiting and elevator waiting scenarios, with high recognition accuracy at each stage and reduced probability of false recognition. When exiting the elevator, the real-time data collected by the pedometer and changes in the magnetic field can improve the detection response speed and efficiency, solving the problem of lag.
[0310] The product form corresponding to the method proposed in this application embodiment can be the aforementioned electronic device (including but not limited to mobile phones, PADs, wearable devices, etc.), or it can be a computer program product or software program product that can be installed in an electronic device, such as a program installation package, compressed package, upgrade package, etc. transmitted or downloaded via the network.
[0311] In practical applications, we test whether the terminal product actively switches cells in elevator waiting areas, elevator riding areas, and elevator exit areas where communication experience problems exist. We also use packet capture analysis to determine whether the terminal takes active cell selection measures, such as whether the cell level information in the end-side (i.e., the terminal side, i.e. the electronic device side) measurement report is consistent with the level measured by the third party.
[0312] In addition, during the process of waiting for the elevator, riding the elevator, and exiting the elevator, the system API analyzes whether to call WiFi information, mobile network information, magnetic field / air pressure / direction sensor / acceleration and other information.
[0313] Alternatively, during packet capture analysis, analyze changes in memory data, and analyze the content of abnormal data changes and the calling relationships between various types of data;
[0314] Based on the above factors, it can be determined whether the electronic device uses the elevator scene recognition method proposed in the embodiments of this application.
[0315] This application also provides an electronic device, the electronic device comprising: a processor, the processor being configured to execute a computer program or instructions in a memory to implement the method as described in any of the above embodiments.
[0316] For example, a processor may include one or more processing units, such as a neural network processing unit (NPU), an application processor (AP), a modem processor, a graphics processing unit (GPU), an image signal processor (ISP), a controller, a digital signal processor (DSP), a baseband processor, etc. The different processing units may be independent devices or integrated into one or more processors. The controller can generate operation control signals based on the instruction opcode and timing signals to control instruction fetching and execution.
[0317] The memory can be used to store executable program code, including instructions. Internal memory may include a program storage area and a data storage area. The program storage area may store the operating system, at least one application program required for a function, etc. The data storage area may store data created during the use of the electronic device (such as input data, output data, etc.). Furthermore, internal memory may include high-speed random access memory, and may also include non-volatile memory, such as at least one disk storage device, flash memory device, universal flash storage (UFS), etc. The processor executes various functional applications and data processing of the electronic device by running instructions stored in the internal memory and / or instructions stored in memory located within the processor.
[0318] It is understood that the structures illustrated in the embodiments of the present invention are merely examples and do not constitute a limitation on the electronic device. The electronic device in the embodiments of this application may include more or fewer components than illustrated, or combine some components, or split some components, or have different component arrangements. The illustrated components may be implemented in hardware, software, or a combination of software and hardware.
[0319] This application also provides a computer-readable storage medium comprising a stored program, wherein the program, when executed by a processor, implements the method described in any of the above embodiments.
[0320] This application also provides a computer program product, which includes a program that, when run by an electronic device, causes the electronic device to perform the method described in any of the above embodiments.
[0321] This application also provides a chip system, including: a communication interface for inputting and / or outputting data; and a processor for executing a computer-executable program, causing a device equipped with the chip system to perform the methods described in any of the above embodiments.
[0322] The aforementioned computer-readable storage medium may be any combination of one or more computer-readable media. A computer-readable medium may be a computer-readable signal medium or a computer-readable storage medium. A computer-readable storage medium may be, for example, but not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples (a non-exhaustive list) of computer-readable storage media include: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM), or flash memory, optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this document, a computer-readable storage medium may be any tangible medium that contains or stores a program that may be used by or in connection with an instruction execution system, apparatus, or device.
[0323] Computer-readable signal media may include data signals propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals may take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. Computer-readable signal media may also be any computer-readable medium other than computer-readable storage media, capable of sending, propagating, or transmitting programs for use by or in connection with an instruction execution system, apparatus, or device.
[0324] Program code contained on a computer-readable medium may be transmitted using any suitable medium, including but not limited to wireless, wire, optical fiber, RF, etc., or any suitable combination thereof.
[0325] In the description of this specification, the references to terms such as "one embodiment," "some embodiments," "example," "specific example," or "some examples," etc., refer to specific features, structures, materials, or characteristics described in connection with that embodiment or example, which are included in at least one embodiment or example of this application. In this specification, the illustrative expressions of the above terms do not necessarily refer to the same embodiment or example. Furthermore, the specific features, structures, materials, or characteristics described may be combined in any suitable manner in one or more embodiments or examples. Moreover, without contradiction, those skilled in the art can combine and integrate the different embodiments or examples described in this specification, as well as the features of different embodiments or examples.
[0326] Furthermore, the terms "first" and "second" are used for descriptive purposes only and should not be construed as indicating or implying relative importance or implicitly specifying the number of technical features indicated. Thus, a feature defined as "first" or "second" may explicitly or implicitly include at least one of that feature. In the description of this application, "multiple" means at least two, such as two, three, etc., unless otherwise explicitly specified.
[0327] Any process or method description in the flowchart or otherwise herein can be understood as representing a module, segment, or portion of code comprising one or more executable instructions for implementing custom logic functions or processes, and the scope of the preferred embodiments of this application includes additional implementations in which functions may be performed not in the order shown or discussed, including substantially simultaneously or in reverse order depending on the functions involved, as should be understood by those skilled in the art to which embodiments of this application pertain.
Claims
1. An elevator scene recognition method, characterized by, The method is applied to an electronic device, and the method comprises: obtaining path features and network features; wherein the path features are obtained based on a walking path of a user in a current period; the network features are obtained based on at least mobile communication network cell information scanned by the electronic device in the current period; comparing the network features with historical network features to obtain a first matching result; wherein the historical network features are obtained based on at least mobile communication network cell information scanned by the electronic device in a historical period; the historical period is a period corresponding to the current period in historical elevator waiting scene recognition; comparing the path features with pre-obtained historical path features to obtain a second matching result; wherein the historical path features are obtained based on a walking path of a user in the historical period; based on the first matching result and the second matching result, determining that the user is in an elevator waiting scene.
2. The method of claim 1, wherein, obtaining network features comprises: obtaining network features comprising first network information; wherein the first network information comprises one or more of a first sequence, a first set, and a first switching graph; the first sequence comprises information on the order in which the electronic device scans each mobile communication network cell in the current period; the first set comprises identity information of each mobile communication network cell scanned by the electronic device in the current period; and the first switching graph is used to represent the information on the order in which the electronic device scans each mobile communication network cell in the current period in the form of a directed graph; comparing the network features with historical network features comprises: comparing the first sequence with a pre-obtained first historical sequence to obtain a first comparison value; comparing the first set with a pre-obtained first historical set to obtain a second comparison value; comparing the first switching graph with a pre-obtained first historical switching graph to obtain a third comparison value; obtaining a first comparison result corresponding to the first network information according to one or more of the first comparison value, the second comparison value, and the third comparison value; obtaining a first matching result comprises: obtaining the first matching result based on at least the first comparison result.
3. The method of claim 2, wherein comparing the first sequence with a pre-obtained first historical sequence to obtain a first comparison value comprises: determining a longest common subsequence of the first sequence and the first historical sequence, and obtaining a first comparison value according to the proportion of the longest common subsequence relative to the first historical sequence; comparing the first set with a pre-obtained first historical set to obtain a second comparison value comprises: determining common elements of the first set and the first historical set, and obtaining a second comparison value according to the proportion of the number of common elements relative to the number of elements in the first historical set; comparing the first switching graph with a pre-obtained first historical switching graph to obtain a third comparison value comprises: determining a largest common subgraph of the first switching graph and the first historical switching graph, and obtaining a third comparison value according to the proportion of the largest common subgraph relative to the first historical switching graph.
4. The method of claim 2 or 3, wherein the network feature further comprises second network information, the second network information being obtained based on information of each wireless access point scanned by the electronic device in a current time period. The second network information comprises one or more of a second sequence, a second set, and a second switching graph. The second sequence comprises order information of each wireless access point scanned by the electronic device in the current time period. The second set comprises identity information of each wireless access point scanned by the electronic device in the current time period. The second switching graph represents the order information of each wireless access point scanned by the electronic device in the current time period in the form of a directed graph. The comparison between the network feature and the historical network feature further comprises: comparing the second sequence with a second historical sequence obtained in advance to obtain a fourth comparison value; comparing the second set with a second historical set obtained in advance to obtain a fifth comparison value; comparing the second switching graph with a second historical switching graph obtained in advance to obtain a sixth comparison value; obtaining a second comparison result corresponding to the second network information according to one or more of the fourth comparison value, the fifth comparison value, and the sixth comparison value. The first matching result is obtained based on at least the first comparison result, comprising: obtaining the first matching result according to the first comparison result and the second comparison result.
5. The method of any one of claims 1-4, wherein the path feature comprises turn information in the walking path, the turn information being obtained based on direction information of a plurality of sampling points collected in the walking path.
6. The method of claim 5, wherein the path feature further comprises interval information, the interval information being obtained based on an interval between adjacent turns in the walking path, or based on an interval between a starting point of the walking path and a turn, or based on an interval between an ending point of the walking path and a turn.
7. The method of claim 6, wherein the interval information is step interval information, the step interval information indicating a number of steps between adjacent turns in the walking path. The method further comprises: based on the first matching result and the second matching result, if a match is identified, detecting that the electronic device switches wireless access points and / or cells, and determining that the user is not in an elevator waiting scenario.
9. The method of any one of claims 1-8, wherein after determining that the user is in an elevator waiting scenario, the method further comprises:
8. The method of any one of claims 1-7, wherein, generating first waveform data corresponding to the acceleration data; obtaining a first identification value according to the first waveform data having at least one wave peak and at least one wave trough, a modulus of the wave peak or wave trough being greater than or equal to a first threshold value; generating second waveform data corresponding to the magnetic field strength data; a second identification value is obtained according to a first glitch and a second glitch corresponding to the first glitch in the second waveform data, wherein the first glitch and the second glitch represent a sudden change of a magnetic field modulus; based on the first identification value and the second identification value, it is determined that the user is in an elevator-riding scenario.
10. The method of any one of claims 1-8, wherein, after determining that the user is in the elevator-waiting scenario, the method further comprises: recording the air pressure when the user is in the elevator-waiting scenario as a starting air pressure; and / or recording a time when the user is in the elevator-waiting scenario as a starting time; when it is determined that the user is in the elevator and the elevator is about to stop, calculating an air pressure difference between the current air pressure and the starting air pressure, and / or calculating a time difference between the current time and the starting time; comparing the air pressure difference with a historical air pressure difference obtained in advance to obtain a third comparison result; and / or comparing the time difference with a historical time difference obtained in advance to obtain a fourth comparison result; based on the third comparison result and / or the fourth comparison result, it is determined that the user is in an elevator-exiting scenario.
11. The method of claim 10, wherein, after recording the air pressure and / or the time when the user is in the elevator-waiting scenario and before determining that the user is in the elevator, the method further comprises: determining that the user stops walking.
12. The method of claim 10 or 11, wherein, determining that the user is in the elevator comprises: generating first waveform data corresponding to the acceleration data; determining that the user is in the elevator according to a first peak or a first trough appearing in the first waveform data; recognizing that the elevator is about to stop comprises: determining that the elevator is about to stop according to a trough corresponding to the first peak or a peak corresponding to the first trough appearing in the first waveform data.
13. The method of any one of claims 10-12, wherein, recording the air pressure when the user is in the elevator-waiting scenario as a starting air pressure comprises: recording a mean value of a plurality of air pressure values in a first predetermined length window when the user is in the elevator-waiting scenario as the starting air pressure; the current air pressure is a mean value of a plurality of air pressure values in a first predetermined length window at the current time.
14. The method of any one of claims 1-13, wherein, the method further comprises: when it is detected that a second glitch corresponding to a first glitch appears in the second waveform data and the user is in a walking state, it is determined that the user is in an elevator-exiting scenario; wherein the second waveform data is obtained based on magnetic field intensity data, and the first glitch is a sudden change of a magnetic field intensity modulus when the user enters the elevator.
15. An electronic device, comprising: The electronic device comprises: a processor configured to execute a computer program or instructions in a memory to implement the method of any one of claims 1-14.
16. A computer-readable storage medium, characterized in that, The computer-readable storage medium comprises a stored program, wherein the program is executed by the processor to implement the method of any one of claims 1-14.
Citation Information
Patent Citations
Application caching method, system and device based on network prediction and storage medium
CN110875836A
Network switching method and electronic equipment
CN112954749A
Network link switching method based on position of electronic equipment and electronic equipment
CN114449599A
Weak network processing method and device, equipment and storage medium
CN115842752A
Network acceleration method and device
CN116744328A