A smart scene cooperative positioning and service method based on open-source honkong
Patent Information
- Application Number
- CN202611069282.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-17
- Publication Date
- 2026-10-30
AI Technical Summary
但该技术存在三方面固有缺陷:摄像头与蓝牙信标分属不同协议栈,需人工逐台配置IP与端口,部署维护成本高;设备间时钟同步精度仅达秒级,导致人脸数据与蓝牙数据匹配错误率高达30%以上;此外,仅能定位手机设备,与用户身份缺乏语义贯通,无法将定位结果与人脸特征进行自动关联
分布式资源池构建、语义事件驱动的采集调度、加权融合定位解算以及服务意图发布触发四个环节。各环节之间通过分布式总线形成数据闭环。与传统方案中感知设备只管拍、通信设备只管扫、定位系统只出坐标的割裂式架构相比,将感知、通信、计算、执行各类设备纳入统一的资源池进行协同管理,并以语义事件通知为发令枪、以服务意图信息为交付物,使系统具备了从事件感知到服务执行的全链路自主响应能力。
Smart Images

Figure CN123021345A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of smart scene service technology, and in particular to a smart scene collaborative positioning and service method based on open source HarmonyOS. Background Technology
[0002] With the rapid development of smart shopping malls, smart exhibition halls and other scenarios, personnel positioning and trajectory tracking technology has become the core foundation for realizing intelligent services such as robot shopping guides and customer flow analysis.
[0003] Currently, facial recognition positioning technology using sensing devices (such as cameras) achieves user perception by capturing video frames and recognizing facial features. However, existing cameras can only output their own installation coordinates and cannot directly provide the user's true location in physical space. They can only approximate the user's coordinates by densely deploying cameras and using the device coordinates of the cameras where the user is located. This approach is extremely costly to deploy and has a positioning accuracy of only 5-10 meters, making it difficult to meet the needs of precise collaborative navigation for robots.
[0004] RSSI trilateration technology, based on communication devices (such as Bluetooth beacons), works by measuring the signal strength between the user and three or more Bluetooth beacons with known coordinates, and then using geometric relationships to calculate the user's physical coordinates. However, this technology has three inherent drawbacks: cameras and Bluetooth beacons belong to different protocol stacks, requiring manual configuration of IP addresses and ports for each device, resulting in high deployment and maintenance costs; the clock synchronization accuracy between devices is only at the second level, leading to a matching error rate of over 30% between facial data and Bluetooth data; furthermore, it can only locate mobile devices, lacking semantic connection with user identity, and cannot automatically associate the location results with facial features.
[0005] In summary, in heterogeneous distributed sensing networks, it is impossible to achieve high-precision alignment and automatic collaborative triggering services between visual face recognition events and positioning signals. Summary of the Invention
[0006] To address the aforementioned issues, this application proposes a smart scene collaborative positioning and service method based on open-source HarmonyOS, comprising: constructing a distributed resource pool based on the device attribute information registered by sensing devices and communication devices through a distributed bus, and binding multiple communication devices whose spatial distance meets preset conditions to each sensing device; Upon receiving a semantic event notification from a sensing device, a target communication device is selected from the communication devices bound in the distributed resource pool, and a collection command is sent to the target communication device. The semantic event notification includes a semantic anchor object, which includes a semantic anchor identifier, the user's anonymous feature identifier, and the user's service context information. Receive the acquisition data packet returned by the target communication device in response to the acquisition command; the acquisition data packet includes the returned semantic anchor point identifier, signal measurement data, and the physical coordinates of the target communication device; The semantic anchor object and the acquired data packet are semantically associated and verified. After the verification is passed, the user's physical coordinates are solved based on the signal measurement data and the physical coordinates of the target communication device. Service intent information is generated based on service context information, user physical coordinates, and anonymous feature identifiers; The service intent information is published to the distributed resource pool, triggering the matching execution device to provide collaborative services.
[0007] The above-described technical solutions adopted in the embodiments of this application can achieve the following beneficial effects: The system comprises four stages: distributed resource pool construction, semantic event-driven data acquisition and scheduling, weighted fusion positioning and calculation, and service intent release triggering. These stages form a data loop through a distributed bus. Compared to the fragmented architecture of traditional solutions where sensing devices only capture images, communication devices only scan, and the positioning system only outputs coordinates, this system integrates sensing, communication, computing, and execution devices into a unified resource pool for collaborative management. Semantic event notifications serve as the trigger, and service intent information is the deliverable, enabling the system to possess end-to-end autonomous response capabilities from event perception to service execution.
[0008] The transmission of acquisition commands is predicated on semantic event notifications, and the acquisition data packets returned by the target communication device are responses to these commands. This establishes a causal chain at the data source: the sensing event, the acquisition command, and the acquisition data packets. This ensures a causal correspondence between measurement data and target events from the data generation stage, avoiding the risk of mismatches caused by post-hoc pairing of multiple existing targets, and fundamentally improving the reliability of the association between positioning data and the sensing target.
[0009] Each sensing and communication device registers its attribute information with the edge computing node via a distributed bus, constructing a unified distributed resource pool. The edge computing node then uses this pool to understand the location distribution and capability status of all devices in the network. When a semantic event occurs, the edge computing node dynamically selects a target communication device from the set of communication devices pre-bound to each sensing device in the resource pool to send a data collection command, rather than blindly scheduling all devices or relying on manual pre-configuration of fixed associations. This unified scheduling mechanism based on the resource pool enables the system to allocate communication resources on demand based on event triggers, ensuring positioning requirements while reducing invalid communication and resource contention between devices, thus improving the efficiency of multi-device collaboration.
[0010] The service intent information generated by edge computing nodes integrates user physical coordinates, service context information, and anonymous feature identification data, and triggers matching execution devices to provide collaborative services by publishing it to a distributed resource pool. This mechanism ensures that the system output is not merely numerical physical coordinates, but directly carries the complete business semantics of who is at what location and what service is needed, enabling downstream execution devices to autonomously initiate service processes without secondary parsing or manual intervention. Attached Figure Description
[0011] To more clearly illustrate the technical solution of this application, some embodiments of this application will be described in detail below with reference to the accompanying drawings, in which: Figure 1 A flowchart illustrating a smart scene collaborative positioning and service method based on open-source HarmonyOS, provided for an embodiment of this application; Figure 2 A flowchart illustrating another intelligent scene collaborative positioning and service method based on open-source HarmonyOS provided in this application embodiment; Figure 3 A flowchart illustrating a dynamic acquisition and scheduling method based on a resource pool, provided in an embodiment of this application; Figure 4 A flowchart illustrating a semantic alignment and positioning method provided in an embodiment of this application; Figure 5 This is a schematic diagram of the structure of a smart scene collaborative positioning and service device based on the open-source HarmonyOS, provided for an embodiment of this application. Detailed Implementation
[0012] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0013] Some embodiments of this application will now be described in detail with reference to the accompanying drawings.
[0014] Figure 1 This is a flowchart illustrating a smart scene collaborative positioning and service method based on the open-source HarmonyOS, provided as an embodiment of this application. Certain input parameters or intermediate results in this process can be manually adjusted to help improve accuracy.
[0015] The analysis method involved in the embodiments of this application can be implemented by a terminal device or a server, and this application does not impose any special limitations on it. For ease of understanding and description, the following embodiments are all described in detail using an edge computing node server as an example.
[0016] It should be noted that the server can be a single device or a system composed of multiple devices, i.e., a distributed server. This application does not make any specific limitations on this.
[0017] Figure 1 The process includes the following steps: S101: Based on the device attribute information registered by the sensing devices and communication devices through the distributed bus, construct a distributed resource pool and bind multiple communication devices that meet the preset spatial distance conditions for each sensing device.
[0018] After each sensing and communication device is powered on and connected to the system, it initiates a registration request to the edge computing node through the distributed bus protocol.
[0019] Sensing devices include webcams, depth cameras, infrared thermal imagers, etc., while communication devices include Bluetooth Low Energy beacons, UWB base stations, WiFi sensing nodes, etc.
[0020] Device attribute information includes device identity information, device type identifier, physical coordinates, and capability parameters. Device identity information refers to a unique identifier for the device (such as a MAC address or device serial number), used for unique identification of devices within the system. The device type identifier identifies whether the device is a sensing device or a communication device, and specifies its subtype (such as an RGB camera, BLE beacon, etc.). Physical coordinates refer to the device's coordinates within the target space; these coordinates can be obtained through measurement and pre-set on the device during deployment.
[0021] The capability parameters of sensing devices include the field of view (such as horizontal and vertical angles) and the level of sensing accuracy (such as the level of face recognition capability). The capability parameters of communication devices include channel occupancy, historical packet loss rate, supported role modes (such as broadcast mode and scanning mode), and whether they support angle of arrival (AoA) direction finding function.
[0022] Each device can encapsulate the aforementioned device attribute information into a message message with a preset format and send it to the edge computing node. After receiving the registration message from each device, the edge computing node performs protocol parsing and format verification, extracts the capability attribute fields, and stores them in the resource pool data structure maintained locally.
[0023] The data structure of a distributed resource pool may include a perception resource sub-table, a communication resource sub-table, and a computing resource sub-table. The perception resource sub-table and the communication resource sub-table are used to store device attribute information, while the computing resource sub-table is used to store information such as CPU load rate and memory usage of edge computing nodes.
[0024] Edge computing nodes have built-in map information of the target space, which includes a list of physical coordinates of each communication device (such as a Bluetooth beacon) and a list of physical coordinates of each sensing device (such as a camera).
[0025] The spatial distance meets the preset conditions, which means that the spatial distance between the communication device and the sensing device is less than or equal to the preset distance threshold, or ranks first in the distance ranking among all communication devices (such as the M closest ones).
[0026] Taking sorting as an example, after the network is formed, the edge computing nodes perform a binding operation with the sensing devices, as follows: Step 1: Read the physical coordinates of each sensing device.
[0027] For example, the physical coordinates are P=(x,y,z).
[0028] Step 2: Traverse all communication devices that are online in the communication resource sub-table and calculate the spatial distance from the sensing device to each communication device.
[0029] Among them, the spatial distance from the sensing device to each communication device can be calculated using the Euclidean distance formula.
[0030] Step 3: Sort all communication devices in ascending order of the calculated distance.
[0031] Step 4: Select the M nearest communication devices in the sorted sequence as the set of bound communication devices for the sensing device.
[0032] The specific value of M can be adjusted according to the needs of the actual application scenario. For example, the preferred value of M is 4.
[0033] It should be noted that this binding relationship is not a static locking relationship, but rather serves as an initial candidate pool for subsequent dynamic scheduling (i.e., when a sensing device triggers a semantic event, it is preferentially selected from the M communication devices bound to this pool, rather than scanning all communication devices in the entire network), thereby reducing the computational complexity of the scheduling algorithm and improving response speed. Furthermore, if a communication device in the binding set is removed due to a fault or deterioration in channel quality, the edge computing node can, based on the sorting results of this step, sequentially supplement the next closest communication device from outside the binding set, achieving automatic updating and self-healing of the binding relationship.
[0034] Furthermore, the status data in the distributed resource pool is continuously updated at a preset frequency (e.g., 1Hz) to ensure that scheduling decisions are based on the latest system status.
[0035] It should be noted that the distributed communication protocol can be the distributed soft bus protocol of the open-source HarmonyOS system. Sensing devices, communication devices, and edge computing nodes are all equipped with the open-source HarmonyOS operating system, and automatic device discovery, capability attribute publication, and session key negotiation are realized through the distributed soft bus.
[0036] S102: Upon receiving a semantic event notification from a sensing device, select a target communication device from the communication devices bound in the distributed resource pool and send a collection command to the target communication device.
[0037] After detecting a valid user face, the sensing device interacts with the edge computing node to generate a semantic anchor object. This semantic anchor object includes a semantic anchor identifier to uniquely identify the detection event, a feature identifier for anonymously referencing the user, a first timestamp, and service context information. The service context information includes VIP level, preferred categories, and historical access frequency.
[0038] For example, a semantic anchor object includes the following structured fields: anchor_id: unique identifier of the semantic anchor (format: SA_YYYYMMDD_HHMMSS_device ID), face_hash: anonymous feature identifier, timestamp_t1: first timestamp (e.g., accurate to milliseconds), camera_position: physical coordinates of the sensing device, and service_context: service context information (VIP level, preferences, access frequency, etc.).
[0039] The sensing device sends semantic event notifications carrying semantic anchor objects to the edge computing node via a distributed bus to trigger the subsequent data collection and scheduling process.
[0040] It should be noted that semantic event notifications can also include event type (e.g., FACE_DETECTED) and event priority, with the priority dynamically set based on VIP level. For example, in a smart shopping mall scenario, semantic event priority focuses on the impact of member VIP level, and the system dynamically sets the event priority based on VIP level (e.g., VIP level ≥ 3 is set to HIGH).
[0041] After receiving a semantic event notification, the edge computing node selects one or more communication devices as target communication devices from the set of communication devices bound to the sensing device, and sends acquisition instructions to each target communication device through the distributed bus.
[0042] The bound communication devices refer to the candidate set of communication devices pre-configured by the edge computing node for each sensing device, which serves as the initial search range during dynamic scheduling. This binding relationship does not constitute an absolute limitation on the scheduling range; when the bound communication devices do not meet the acquisition conditions, the edge computing node can supplement the selection from communication devices outside the bound set.
[0043] The selection of target communication devices can be based on preset scheduling strategies, such as channel quality, device load, spatial geometry, or a comprehensive score of multiple factors.
[0044] Edge computing nodes evaluate the bound communication devices according to a preset strategy, and select the communication devices whose evaluation results meet the preset conditions as the target communication devices for this data collection task.
[0045] Acquisition instructions include acquisition mode parameters (such as standard, enhanced, and low power), semantic anchor identifiers, target tag types, etc.
[0046] Standard mode: Switches from broadcast role to scan role (protocol stack switching time is less than 5ms), opens the scan window to collect RSSI data packets broadcast by the target tag. The scan window lasts for a preset duration (e.g., 20-30ms).
[0047] Enhanced mode: Based on the standard mode, it simultaneously uses a multi-antenna array to measure the angle of arrival (AoA), obtains the phase difference between antennas through IQ sampling, and calculates the angle of arrival θ using the phase interference principle.
[0048] Low power mode: Extends the scan interval and reduces the number of data acquisitions per unit time.
[0049] After the data collection is completed, each target communication device (such as a Bluetooth beacon) encapsulates the data into data packets and transmits them back to the edge computing nodes via a distributed soft bus.
[0050] The target tag type indicates the type of signal transmitting device carried by the user to be located. For example, a personnel tag, an asset tag, or a virtual tag integrated into a mobile terminal.
[0051] S103: Receive the data packet sent back by the target communication device in response to the acquisition command.
[0052] After receiving the acquisition command, the target communication device (e.g., a scheduled Bluetooth beacon) performs signal scanning and data acquisition according to the acquisition mode indicated by the command. After acquisition, the target communication device packages the acquired raw measurement data with its own device information and transmits the acquisition data packet back to the edge computing node through the distributed bus.
[0053] It should be noted that the information collected in the data packets includes a second timestamp, a semantic anchor identifier, the target communication device's own physical coordinates, and signal measurement data (such as RSSI signal strength indicator and Angle of Arrival (AoA)). The second timestamp is used for time alignment verification with the event time in the semantic event notification; the semantic anchor identifier is used for association confirmation; and the target communication device's own physical coordinates are used to determine the source location of the measurement data. The signal measurement data is used to calculate the user's physical coordinates.
[0054] Edge computing nodes receive data packets transmitted back from each target communication device. These nodes can run the open-source HarmonyOS distributed clock synchronization service, ensuring that the clock deviation between each target communication device and the edge node's master clock is less than 100 microseconds.
[0055] It should be noted that the target communication device responds to a collection command by performing a collection operation once, and can send back a collection data packet after the collection is completed.
[0056] S104: Perform semantic association verification between the semantic anchor point object and the acquired data packet. After the verification is successful, calculate the user's physical coordinates based on the signal measurement data and the physical coordinates of the target communication device.
[0057] Semantic association verification is used to confirm whether there is a real causal correspondence between the collected data packets and the current semantic event, so as to avoid misusing irrelevant data for location calculation.
[0058] For example, edge computing nodes compare the semantic anchor identifier in the semantic anchor object with the semantic anchor identifier returned in the acquisition data packet. The semantic anchor identifier is a unique causal identifier generated and assigned to the current semantic event by the sensing device when it detects a target. The semantic anchor identifier returned in the acquisition data packet is carried back by the target communication device in response to the acquisition command. If the two match, it indicates that the acquisition data packet was indeed collected by the target communication device in response to the current semantic event, and a genuine causal relationship exists between them. Edge computing nodes take the signal measurement data returned by the target communication device as input, use the known physical coordinates of the target communication device as a reference, and calculate the user's spatial location through a preset positioning solution model.
[0059] For example, edge computing nodes use a signal propagation attenuation model to convert the signal strength values measured by each target communication device into distance estimates between the user and each target communication device. Then, based on the known physical coordinates of each target communication device, the user coordinates are calculated using a geometric intersection method.
[0060] Edge computing nodes determine the user's direction relative to each target communication device by using the angle intersection method based on the signal arrival angle measured by the multi-antenna array of each target communication device, and then calculate the user's coordinates by combining the known physical coordinates of each target communication device.
[0061] The two types of data mentioned above can also be combined. Edge computing nodes obtain distance information based on signal strength and direction information based on angle of arrival, respectively. The two types of information are jointly solved through a weighted fusion model to obtain the optimal estimated coordinates.
[0062] It should be noted that the positioning solution model can be implemented using any known algorithm. For example, ranging-based triangulation, trilateration, angle-of-arrival (AOA) based intersection, weighted least squares combining multiple measurements, and Kalman filter positioning algorithms.
[0063] S105: Generate service intent information based on service context information, user physical coordinates, and anonymous feature identifiers.
[0064] Service intent information refers to the structured instruction data generated by the edge computing node after semantically associating the location result with the user's identity and business attributes, which is used to trigger subsequent collaborative services.
[0065] Anonymous feature identification refers to the method used to accurately identify service objects when a device triggers a service without disclosing the user's original biometric information.
[0066] User physical coordinates are used to determine where to go to provide services and for filtering devices within a spatial range.
[0067] Service context information identifies what services are needed, including business attributes such as the user's VIP level, preferred categories, and historical access records, and is used to determine the service type, priority, and personalized parameters.
[0068] The above three types of information are combined according to preset service mapping rules to generate a service intent information that can be parsed and executed by the execution device.
[0069] The fields of a service intent object include a unique service intent identifier, an anonymous feature identifier, user physical coordinates, suggested service type, priority, service context, and a list of suggested actions.
[0070] For example, intent_id: unique identifier of service intent, face_hash: anonymous feature identifier, target_position: user's physical coordinates, service_type: suggested service type (such as PROACTIVE_GUIDANCE, WELCOME_DISPLAY, STAFF_NOTIFY), priority: priority (HIGH / MEDIUM / LOW), user_context: user context (VIP level, preferences, etc.), suggested_action: list of suggested actions (primary, secondary, tertiary).
[0071] It's important to note that service type refers to the type of service that a user should be provided with at any given moment, inferred from their identity attributes (VIP level, preferences, etc.). It's a service category label. For example, service types include proactive shopping guidance service (a robot proactively greets and guides VIP customers upon entering the mall), welcome display service (a large screen displays a welcome message or personalized recommendations), and staff notification service (when a high-value VIP arrives at the store, the corresponding brand's staff are notified to prepare for their arrival).
[0072] Priority refers to the urgency and scheduling priority of a service intent. When multiple devices receive multiple service intents simultaneously, the one that responds first is executed first. For example, VIP level ≥3 is high priority, VIP level 1~2 is medium priority, and non-VIP is low priority.
[0073] A suggested action list refers to a specific, executable sequence of instructions provided for the same service type. For example, it can be divided into three levels: primary, secondary, and tertiary, forming a progressive execution plan.
[0074] For example, if the robot is currently idle and within 10 meters of Mr. Zhang, it will move to Mr. Zhang's coordinates (5.2, 8.1) and announce: "Hello Mr. Zhang, the new Air Max has arrived in store. This way, please." Alternative action: If the robot's response time is greater than 3 seconds, it will prioritize displaying on the large screen: "Mr. Zhang, please proceed to the Nike store. Employee Xiao Wang is waiting." If the large screen is also malfunctioning or unavailable, a push notification will be sent to the employee's handheld terminal.
[0075] S106: Publish the service intent information to the distributed resource pool to trigger the matching execution device to provide collaborative services.
[0076] Edge computing nodes send service intent information to the distributed communication middleware in the form of standardized messages, enabling all devices connected to the distributed resource pool to receive the notification. This publishing action adopts a publish-subscribe communication model. The publisher (edge computing node) does not need to know the specific identity, number, or location of the receiver (execution device) in advance; it only needs to publish the message to a predefined topic or channel in the resource pool. Any execution device that has subscribed to the topic or channel (such as service robots, large-screen display devices, or handheld terminals for store staff) can autonomously receive and parse the message. This achieves spatial and temporal decoupling between the distribution of service intent information and the response of each execution device.
[0077] After receiving the published service intent information, each execution device matches its own device capabilities with the requirements in the service intent information. The execution device that successfully matches will autonomously execute the corresponding collaborative service.
[0078] Matching execution devices refer to the process by which each execution device, upon receiving service intent information, determines whether to respond to the current service intent based on preset matching rules.
[0079] When an execution device connects to the system, it has already registered its own capability attributes in the distributed resource pool, including device type, a list of supported service types, and service coverage area. After the service intent information is published, each execution device compares its own capability attributes with the fields in the service intent information.
[0080] For example, service type matching: whether the list of service types supported by the execution device includes the service type specified in the service intent information (e.g., service robots match PROACTIVE_GUIDANCE, large screens match WELCOME_DISPLAY). Spatial range matching: whether the current location of the execution device is within the service range corresponding to the user's physical coordinates in the service intent information. For example, whether the spatial distance between the execution device and the user is less than a preset distance threshold, or whether the target_position in the service intent is within the service radius or physical area registered by the execution device. Device status matching: whether the execution device is currently in an idle state and whether it has the ability to execute tasks. For example, if there are multiple devices of the same type that meet the conditions, the distributed scheduling framework will arbitrate based on the current load status of each execution device and the distance to the user's physical coordinates, assigning the device with the highest overall priority to execute the task, and the remaining devices will automatically give up.
[0081] Through the above mechanism, the successfully matched execution device can autonomously trigger the service based on the list of suggested actions in the service intent, thus achieving a precise closed loop across the entire chain from perception to service.
[0082] It should be noted that, although the embodiments in this application are based on... Figure 1 Steps S101 to S106 will be described sequentially, but this does not mean that steps S101 to S106 must be performed in a strict order. The reason this embodiment follows this order is... Figure 1 The order in which steps S101 to S106 are described is provided to facilitate understanding of the technical solutions of the embodiments of this application by those skilled in the art. In other words, in the embodiments of this application, the order of steps S101 to S106 can be appropriately adjusted according to actual needs.
[0083] pass Figure 1 The approach comprises four stages: distributed resource pool construction, semantic event-driven data acquisition and scheduling, weighted fusion positioning and calculation, and service intent release triggering. These stages form a data loop through a distributed bus. Compared to the fragmented architecture of traditional solutions where sensing devices only capture images, communication devices only scan, and the positioning system only outputs coordinates, this approach integrates sensing, communication, computing, and execution devices into a unified resource pool for collaborative management. Using semantic event notifications as the trigger and service intent information as the deliverable, the system possesses end-to-end autonomous response capabilities from event perception to service execution.
[0084] The transmission of acquisition commands is predicated on semantic event notifications, and the acquisition data packets returned by the target communication device are responses to these commands. This establishes a causal chain at the data source: the sensing event, the acquisition command, and the acquisition data packets. This ensures a causal correspondence between measurement data and target events from the data generation stage, avoiding the risk of mismatches caused by post-hoc pairing of multiple existing targets, and fundamentally improving the reliability of the association between positioning data and the sensing target.
[0085] Each sensing and communication device registers its attribute information with the edge computing node via a distributed bus, constructing a unified distributed resource pool. The edge computing node then uses this pool to understand the location distribution and capability status of all devices in the network. When a semantic event occurs, the edge computing node dynamically selects a target communication device from the set of communication devices pre-bound to each sensing device in the resource pool to send a data collection command, rather than blindly scheduling all devices or relying on manual pre-configuration of fixed associations. This unified scheduling mechanism based on the resource pool enables the system to allocate communication resources on demand based on event triggers, ensuring positioning requirements while reducing invalid communication and resource contention between devices, thus improving the efficiency of multi-device collaboration.
[0086] The service intent information generated by edge computing nodes integrates user physical coordinates, service context information, and anonymous feature identification data, and triggers matching execution devices to provide collaborative services by publishing it to a distributed resource pool. This mechanism ensures that the system output is not merely numerical physical coordinates, but directly carries the complete business semantics of who is at what location and what service is needed, enabling downstream execution devices to autonomously initiate service processes without secondary parsing or manual intervention.
[0087] In summary, this solution achieves unified collaboration among devices, enables on-demand triggering and precise alignment of data collection actions through semantic event notifications, realizes target localization through fusion calculations based on known coordinates and measurement data, and achieves automatic triggering of business services through service intent information. The entire process, from target detection by the sensing device to the provision of collaborative services by the executing device, requires no manual intervention or secondary development, forming a complete automated closed loop. This solution comprehensively improves the real-time responsiveness, operational reliability, and business continuity of the indoor positioning and intelligent service system.
[0088] It is particularly suitable for seamless personnel positioning and multi-agent collaborative services in scenarios such as smart shopping malls, smart exhibition halls, and smart logistics.
[0089] based on Figure 1 In addition to the method described herein, this application also provides some specific implementation schemes and extension schemes of the method, which will be further explained below.
[0090] In one example, to achieve stable identification of the same user across different cameras and time periods, the edge computing node maintains an anonymous feature database of registered users. This database stores the anonymous feature identifiers and corresponding feature vector templates of users already identified by the system.
[0091] Once the sensing device detects a valid user target and extracts a facial feature vector, it securely transmits the facial feature vector to the edge computing node via a distributed bus. Upon receiving the facial feature vector, the edge computing node executes an identity matching process.
[0092] Based on this, before receiving a semantic event notification from a sensing device, the following steps are included: Step 1: Receive the user's facial feature vector sent by the sensing device.
[0093] Sensing devices (such as cameras) continuously collect image data within the monitored area. For each frame of the image collected, the sensing device calls its built-in face detection algorithm to identify the target in the image and outputs the detection result and the corresponding confidence score.
[0094] When the confidence score is greater than or equal to the preset effective detection threshold, the sensing device determines that a valid human face target exists in the current image. The effective detection threshold is used to filter out low-quality detection results caused by factors such as image blurring, target being too small, or excessive side angle, to prevent invalid targets from triggering subsequent localization and service processes.
[0095] After detecting a valid face, the sensing device extracts a distinctive facial feature vector from the face region. The feature vector maps the original face image into a fixed-dimensional numerical vector through a preset feature extraction model (such as a neural network-based face recognition model). The vector represents the unique distribution location of the face in the feature space and is used for subsequent identity recognition and matching.
[0096] After the feature vector is extracted, the sensing device sends the facial feature vector to the edge computing node through the distributed bus, so that the edge computing node can perform cross-camera identity matching.
[0097] Step 2: Compare the similarity of the user's facial feature vector with each feature template in the registered feature library.
[0098] Edge computing nodes maintain an anonymous feature database of registered individuals, which stores the anonymous feature identifier and corresponding feature vector template for each registered individual.
[0099] Edge computing nodes calculate the similarity between the received user facial feature vector and each stored feature template in the anonymous feature library. Similarity can be measured using vector similarity metrics such as cosine similarity or Euclidean distance.
[0100] Cosine similarity measures the similarity between two feature vectors by calculating the cosine of the angle between them, with a value ranging from -1 to 1. A value closer to 1 indicates greater similarity between the two vectors. Euclidean distance measures the difference between two feature vectors by calculating the straight-line distance between them in the feature space; a smaller distance indicates greater similarity.
[0101] The preset matching threshold can be set in advance according to the security and fault tolerance requirements of the actual application scenario, for example, the value range is 0.85 or 0.9.
[0102] Step 3: If there is a target feature template with a similarity greater than or equal to the preset matching threshold, then inherit the anonymous feature identifier corresponding to the target feature template.
[0103] If a feature template has a similarity to a user's facial feature vector greater than or equal to a preset matching threshold, the edge computing node determines that the currently detected user and the registered user are of the same identity. In this case, the edge computing node does not generate a new anonymous feature identifier, but directly inherits the anonymous feature identifier corresponding to the feature template, and uses this anonymous feature identifier as a reference identifier for the user's identity in the current semantic event notification.
[0104] Simultaneously, the facial feature vector can be integrated into the template to update and adapt to environmental changes. That is, the edge computing node can integrate the currently extracted facial feature vector into the user's existing feature template to achieve dynamic updates of the feature template. Dynamic updates can be achieved by weighted averaging of the template vector and the current facial feature vector, allowing the template to gradually adjust with changes in ambient lighting, angle, and other conditions, thereby improving the robustness of subsequent recognition.
[0105] Step 4: If there is no target feature template with a similarity greater than or equal to the preset matching threshold, a new anonymous feature identifier is generated and stored in the registered feature library.
[0106] If the similarity between the facial feature vector and all feature templates in the anonymous feature library is less than a preset matching threshold, the edge computing node determines that the currently detected user is a newly appeared person. At this time, the edge computing node executes the anonymous feature identifier generation process to generate a globally unique anonymous feature identifier for the new person, associates this identifier with the current facial feature vector, and stores it as a new entry in the registered feature library for matching during subsequent cross-camera recognition.
[0107] It should be noted that a preset hash function can be used to generate anonymous feature identifiers. Specifically, the edge computing node combines the facial feature vector, the system-level random salt value, and the current timestamp, performs a one-way hash operation (such as the SHA-256 algorithm) on the combined data, and outputs a fixed-length hash value as the anonymous feature identifier for the user.
[0108] Due to the one-way nature of hash functions, no one can reverse-engineer the original facial feature vector or original facial image from the anonymous feature identifier, thus ensuring that the system has cross-device identity recognition capabilities while strictly protecting the user's biometric privacy.
[0109] For existing users who are successfully matched, the edge computing nodes directly use the anonymous feature identifiers stored in the feature library to ensure that the same user has a unique and stable identity reference identifier throughout the entire system lifecycle, thus avoiding identity splitting caused by the same user being assigned different identifiers in different detection events.
[0110] In summary, the matching mechanism based on feature vector similarity thresholds effectively tolerates feature fluctuations caused by environmental factors such as lighting, angle, and occlusion. This enables the system to achieve robust identity association across cameras and time periods even under non-ideal conditions. It avoids the problem of the same user being misidentified as multiple different individuals or different users being misidentified as the same individual due to environmental factors.
[0111] In one example, after receiving the semantic anchor object, the edge computing node starts a distributed task scheduler. Based on the multi-dimensional state information of the current resource pool, the scheduler dynamically selects the optimal combination of communication devices to execute the data collection task.
[0112] Based on this, the target communication device is selected from the communication devices bound in the distributed resource pool, including the following steps: Step 1: Perform status filtering on the bound communication devices to remove communication devices whose current task queue length exceeds the preset queue threshold.
[0113] If the current task queue length of a communication device has reached or exceeded the threshold, it indicates that the device is currently overloaded. Distributing new data collection tasks to it may lead to response delays or data loss. Edge computing nodes will remove such overloaded communication devices from the set and exclude them from subsequent selection, thereby achieving system-level load balancing.
[0114] Step 2: Based on the service context information, determine the accuracy requirement level of the current location, and select the candidate communication device corresponding to the accuracy requirement level from the filtered communication devices.
[0115] When the user level in the service context information is high (e.g., VIP level ≥ 3), higher accuracy positioning services are required to meet the quality requirements of subsequent collaborative services; when the user level is ordinary, standard accuracy positioning is sufficient.
[0116] If the accuracy requirement is high, further filter the communication devices that support angle of arrival (AHA) direction finding from the status-filtered communication devices. Only such devices are considered as candidate communication devices, and they are instructed to use an enhanced acquisition mode to obtain higher accuracy AHA measurement data.
[0117] For general accuracy requirements, edge computing nodes retain all communication devices that have passed the state filtering as candidate communication devices, without performing capability screening, and indicate standard acquisition mode or low power mode to balance positioning accuracy and system power consumption.
[0118] Based on this, it is ensured that the system can allocate resources on demand according to the service level, avoiding the decrease in positioning accuracy due to insufficient equipment capabilities in high-precision demand scenarios, and also avoiding resource waste caused by calling too many high-capacity devices in ordinary demand scenarios.
[0119] Step 3: Obtain multi-dimensional state parameters of candidate communication devices.
[0120] Edge computing nodes query the real-time status information of the communication resource sub-table in the distributed resource pool to obtain multi-dimensional status parameters of candidate communication devices.
[0121] Multi-dimensional state parameters include spatial location parameters and channel quality parameters. Spatial location parameters include the physical coordinates of each communication device in the indoor space, while channel quality parameters include the current channel occupancy rate and historical packet loss rate of each communication device.
[0122] Channel occupancy rate indicates the busyness of the communication channel currently occupied by the communication device, with a value ranging from 0 to 1. Historical packet loss rate indicates the proportion of data packets lost by the communication device in the most recent preset number of communications, with a value ranging from 0 to 1.
[0123] The aforementioned state parameters are continuously updated at a preset frequency to ensure that the selection decision for edge computing nodes is based on the latest state of the current system.
[0124] Step 4: Calculate the score values of the selected candidate communication devices under multiple scoring dimensions based on the multi-dimensional state parameters.
[0125] The spatial geometric configuration dimension calculation process may include: edge computing nodes calculating scores based on the spatial distribution relationship between communication devices and users. Specifically, the more uniform the spatial distribution between communication devices and users (i.e., the more the communication devices are distributed around the users, the closer the geometric configuration is to a regular polygon), the lower the Geometric Precision Factor (GDOP) value, the higher the accuracy of the positioning solution, and the higher the score value of this dimension.
[0126] For example, the spatial geometry configuration score equals the uniformity of the directional vector angles between each communication device and the target. The closer the directional vector angle is to 90°, the higher the score.
[0127] Edge computing nodes project the direction vector formed by the location of the communication device and the user's location onto the horizontal plane, and calculate the uniformity of the angle between each direction vector as the scoring criterion.
[0128] The channel quality dimension calculation process includes: edge computing nodes calculating a score based on the communication device's channel occupancy rate and historical packet loss rate. The lower the channel occupancy rate and the lower the historical packet loss rate, the better the current communication environment of the device, the more reliable the quality of the collected data packets, and the higher the score for this dimension.
[0129] For example, the expression is: .in, The channel quality score is given, where P is the channel occupancy rate and Q is the historical packet loss rate.
[0130] Step 5: Weight the scores according to the preset weights and sum them to obtain the comprehensive score of each candidate communication device.
[0131] The preset weight coefficients for each dimension are empirical values, which can be preset according to the characteristics of the scenario during system initialization, or dynamically adjusted based on actual positioning accuracy feedback during system operation. The sum of all weight coefficients equals 1.
[0132] For example, the geometry score is 0.6 and the channel quality score is 0.4. Step 6: Select the top K candidate communication devices based on their comprehensive scores as the target communication devices.
[0133] The edge computing node sorts the candidate communication devices from high to low according to their comprehensive scores, and selects the top K communication devices as the target communication devices.
[0134] It should be noted that the value of K must satisfy the minimum number of communication devices required for trilateration (e.g., 3≤K≤M, where M is the total number of communication devices bound to the sensing device), and can be dynamically adjusted according to the actual number of available communication devices in the current resource pool.
[0135] It should be noted that if the number of selectable devices is less than K (e.g., due to devices being offline or severely degraded channels), the edge computing node will select communication devices from the distributed resource pool that are not currently bound to the set of sensing devices to supplement the candidate set. When supplementing, priority will be given to communication devices that are closer in space, until the number of candidate communication devices reaches K, so as to ensure that the source of the minimum measurement data required for positioning calculation is not interrupted due to the failure of local devices.
[0136] In summary, optimal scheduling of communication equipment has been achieved, resulting in a comprehensive balance between accuracy, reliability, and system stability.
[0137] In one example, after receiving a semantic event notification (from the sensing device) and a data packet (from the target communication device), the edge computing node performs semantic alignment verification on each data packet, based on the semantic event notification, to confirm whether each data packet has a valid and correct causal relationship with the sensing event that triggered the current positioning process. Only data packets that pass both of these verifications are considered valid and proceed to subsequent positioning calculations.
[0138] Step 1: Calculate the time difference between the first timestamp in the semantic event notification and the second timestamp in the collected data packet. If the time difference is less than or equal to a preset time threshold, the time alignment verification is passed.
[0139] Extract the first timestamp (the moment when the sensing device detects the user) from the semantic event notification, and extract the second timestamp (the moment when the target communication device collects signal data) from the data packet. Calculate the absolute difference between the two. Compare the calculated absolute difference with a preset time threshold.
[0140] When the value is less than or equal to the value, it indicates that the acquisition time of the data packet and the triggering time of the perceived event are sufficiently close in time to ensure that the acquired physical signal does indeed originate from the user object corresponding to the semantic event.
[0141] If the time interval is greater than a certain value, the data packet is determined to have failed the time alignment verification. This indicates that the data packet and the perceived event are too far apart in time, and there is no reasonable causal relationship between them. The data is discarded and will not be included in the subsequent processing flow.
[0142] The preset time threshold is used to measure the maximum allowable time deviation between the perceived event and the acquisition action. Its value can be preset by the system according to the actual scenario. For example, different baseline thresholds can be selected according to the identified personnel category (such as ordinary adults, elderly / children, fast-moving personnel) (e.g., set to 50ms, 80ms, and 30ms respectively).
[0143] Step 2: Verify whether the semantic anchor identifier in the collected data packet is consistent with the semantic anchor identifier in the semantic event notification. If they are consistent, the causal confirmation verification is passed.
[0144] When they are consistent, it indicates that the data packet being collected is a response from the target communication device to this collection command, and is not irrelevant data generated by other devices or events in the system.
[0145] If there is an inconsistency, the collected data packet is determined to have failed the causal confirmation verification. This indicates that the collected data packet does not match the semantic event in terms of causal relationship, and the data is discarded and will not proceed to subsequent processing.
[0146] Step 3: Determine the data packets that pass the time alignment verification and the causal confirmation verification as valid data packets.
[0147] After performing the above two layers of verification on each data packet, the edge computing node determines the data packet as valid only if it passes both time alignment verification and causal confirmation verification, and then proceeds to the subsequent quality assessment and location calculation process. If either layer of verification fails, the data packet is marked as invalid and discarded, and will not participate in any subsequent processing.
[0148] In summary, time alignment verification addresses the issue of sufficient temporal proximity, ensuring that the perceived event and the acquisition action occur within the same spatiotemporal window. Causal confirmation verification ensures that the acquired data packet is indeed generated in response to a specific current event, and not a signal remnant from other unrelated devices or events in the system. This eliminates the risk of mismatch between face and location data in multi-target scenarios from the outset.
[0149] In one example, during time alignment verification, the preset time threshold used by the edge computing node is not fixed, but dynamically determined based on the movement state of the target person.
[0150] Based on this, the preset time threshold is determined, including the following steps: Step 1: Determine the corresponding baseline threshold based on the user's personnel category.
[0151] Edge computing nodes acquire user category information identified by sensing devices. After determining the user category, the sensing device encapsulates the determined category information into the service context information of a semantic anchor object and sends it to the edge computing node along with a semantic event notification. The edge computing node extracts the user category information from the received semantic event notification.
[0152] The user category is determined by the sensing device when it detects a user, using facial recognition or object detection algorithms to classify the user, including categories such as ordinary adults, the elderly or children, and fast-moving people.
[0153] After detecting a face, the sensing device inputs the face region image into a preset age classification model, which then outputs the age group to which the face belongs. The age classification model can be a lightweight model based on a deep convolutional neural network (CNN). This lightweight model has been pre-trained with a large number of face image samples labeled with age, and can map the input face image to one of several preset age groups.
[0154] Age groups can be divided into: children (e.g., 0-12 years old), youth (e.g., 13-35 years old), middle-aged (e.g., 36-55 years old), and elderly (e.g., 56 years and older). Based on the identified age group, the sensing device categorizes the user as a child, a typical adult, or an elderly person.
[0155] In practical deployments, age classification models can use pre-trained DNN models provided by open-source computer vision libraries (such as OpenCV), or customized CNN models optimized for edge computing devices. Age inference can be completed locally on the sensing device without uploading face images to the cloud, thus protecting user privacy.
[0156] It should be noted that, in addition to age recognition based on facial attributes, the sensing device can also combine target detection and tracking technologies to assist in determining the category of a person based on their body shape characteristics or movement behavior characteristics. For example, by obtaining the user's full-body contour or height information through target detection algorithms, users whose height is lower than a preset height threshold can be identified as children. Through continuous target tracking over multiple frames, it can detect whether the user is running rapidly; if the movement speed exceeds a preset speed threshold, the user is identified as a fast-moving person.
[0157] Since different personnel categories correspond to different mobility and speed ranges, different baseline time thresholds need to be set to accommodate the movement characteristics of each type of person. Edge computing nodes retrieve the corresponding baseline time threshold from a preset threshold mapping relationship based on the received personnel category information.
[0158] For example, for a typical adult with a moderate movement speed, the corresponding baseline time threshold is set to 50 milliseconds. For the elderly or children, whose movement speed is relatively slower and allows for greater time deviation, the corresponding baseline time threshold is set to 80 milliseconds. For fast-moving individuals (such as those running), whose position changes rapidly and require stricter time alignment, the corresponding baseline time threshold is set to 30 milliseconds.
[0159] Step 2: When the user's movement speed is obtained, a dynamic threshold is determined based on the user's movement speed, and the dynamic threshold is adjusted according to the limit value range to obtain a preset time threshold; the dynamic threshold decreases as the movement speed increases.
[0160] The user's current speed can be estimated by calculating the ratio of displacement to time based on multiple consecutive location results. Alternatively, the user's speed can be estimated by sensing devices (such as cameras) through positional changes between consecutive frames.
[0161] When the edge computing node is able to obtain the user's movement speed, it is calculated as follows:
[0162] in, X is the dynamic threshold, X is the maximum acceptable position error preset by the system, and V is the movement speed.
[0163] The acceptable maximum position error is the upper limit of the allowable positioning deviation preset by the system. Physically, it means the maximum spatial offset allowed by the positioning result during target movement. For example, it can be set to 5 cm or 10 cm.
[0164] The greater the movement speed, the smaller the dynamic threshold value. That is, for fast-moving targets, the time alignment requirements are more stringent to ensure that the acquired data packets and the perceived events are spatially close enough to avoid excessive positional deviations introduced by rapid user movement. Conversely, for slow-moving targets, the dynamic threshold is appropriately relaxed to tolerate longer acquisition response times.
[0165] Edge computing nodes limit the adjusted dynamic threshold to a defined range. This range is predetermined by the system based on the physical constraints of the indoor positioning scenario. For example, the lower limit is 30 milliseconds, and the upper limit is 100 milliseconds.
[0166] If the calculated value is less than the lower limit (30ms), then the lower limit value of 30ms is taken. If the calculated value is greater than the upper limit (100ms), then the upper limit value of 100ms is taken. If the calculated value is in the range [30ms, 100ms], then the calculated value itself is taken.
[0167] The purpose of amplitude limiting is twofold: firstly, to prevent an excessively large speed estimate from causing a threshold that is too small (e.g., close to 0 milliseconds), which would cause normally collected data packets to be mistakenly judged as invalid due to minor transmission and processing delays. Secondly, to prevent an excessively small speed estimate from causing a threshold that is too large (e.g., exceeding 100 milliseconds), which would cause data collected after the user has actually moved a considerable distance to still be judged as valid, thus affecting positioning accuracy.
[0168] Through the above-mentioned limiting process, the dynamic threshold is always kept within a physically reasonable time window, which ensures both the sensitivity of response to fast-moving targets and avoids excessive constraints on slow-moving targets.
[0169] Step 3: When the movement speed cannot be obtained, the baseline threshold is set to the preset time threshold.
[0170] In actual system operation, there may be situations where the user's movement speed cannot be obtained, such as when the user enters the system for the first time and has not accumulated enough historical location data, when the camera fails to continuously track the target, resulting in speed estimation failure, or when the speed sensor experiences a momentary malfunction.
[0171] To ensure that time alignment verification can still proceed normally when speed information is missing, the edge computing nodes employ a fallback mechanism. That is, the baseline threshold determined in the first step is directly used as the preset time threshold, without speed adjustment. In this case, the stringency of the time alignment verification matches the category characteristics of the target personnel, and the system still possesses basic time alignment capabilities.
[0172] In one example, the quality of the data packets collected by each target communication device is further evaluated to eliminate unreliable measurement data due to severe signal fluctuations, thus ensuring the quality of the input data for subsequent positioning calculations.
[0173] Based on this, before determining the user's physical coordinates using signal measurement data and the physical coordinates of the target communication device, the following steps are included: Step 1: Obtain the fluctuation parameters of the signal strength indication data returned by the target communication device within the sliding time window.
[0174] Edge computing nodes maintain a sliding time window for each target communication device to store the most recent W (e.g., 10) valid signal strength measurements (i.e., RSSI values) acquired by the target communication device. In other words, the window stores the historical signal strength records transmitted back by the communication device over a past period, used for statistically calculating variance.
[0175] Based on this, the historical data packets returned by the target communication device at different times and in response to different semantic events (different acquisition commands) are used to evaluate the signal quality stability of the target communication device near the current time point.
[0176] It should be noted that the sliding time window adopts a first-in-first-out update method: whenever the target communication device sends back a new valid data packet, the edge computing node adds the signal strength measurement value of this acquisition to the window, and removes the oldest measurement value in the window to ensure that the window always stores the historical data of the most recent W acquisitions.
[0177] The fluctuation parameter is the signal strength variance. The edge computing node calculates the signal strength variance of the target communication device based on the signal strength measurement value of the target communication device within the sliding time window.
[0178] The larger the variance value, the more drastic the change in signal strength over time, and the worse the signal stability; the smaller the variance value, the more gradual the change in signal strength, and the better the signal stability.
[0179] Step 2: Remove data packets from target communication devices whose fluctuation parameters exceed the preset fluctuation threshold.
[0180] The signal strength variance is compared with a preset fluctuation threshold (e.g., 10), and the data packets corresponding to the target communication device whose signal strength variance is greater than the preset threshold are removed.
[0181] The signal fluctuations of the communication equipment are too drastic, and the collected data is greatly affected by factors such as multipath interference, obstruction, or instability of the equipment itself, resulting in low data reliability. The edge computing node marks the collected data packets of the target communication equipment as invalid and removes them, and does not participate in the subsequent positioning calculation.
[0182] Step 3: Solve for the user's physical coordinates based on the data packets collected from the remaining target communication devices.
[0183] If the number of remaining target communication devices is less than 3, the positioning is deemed to have failed because the user's physical coordinates cannot be determined, and the process of determining the user's physical coordinates and subsequent steps will not be executed.
[0184] In one example, during multiple collaborative positioning and service calculations, if the same target communication device of the sensing device is continuously eliminated a number of times, the edge computing node marks the target communication device as an abnormal communication device and replenishes and binds a backup communication device for the corresponding sensing device from the distributed resource pool.
[0185] For example, an edge computing node obtains communication devices outside the binding set of sensing devices from a distributed resource pool, and selects the nearest communication device as a backup communication device in order of spatial distance from the sensing devices to the farthest.
[0186] In addition, edge computing nodes perform periodic liveness checks on abnormal communication devices. When the number of consecutive liveness checks on an abnormal communication device reaches a preset recovery threshold, the abnormal communication device is re-added to the binding.
[0187] In one example, the user's physical coordinates are determined based on signal measurement data and the physical coordinates of the target communication device, including the following steps: Step 1: Calculate the estimated distance between the target communication device and the user based on the signal strength indication data.
[0188] Edge computing nodes extract Signal Strength Indication (RSSI) values from signal measurement data. The RSSI value reflects the signal strength received by the target communication device from the transmitting device, and its value is negatively correlated with the distance between the user and the communication device. The closer the user is to the communication device, the stronger the received signal; the farther the distance, the weaker the signal.
[0189] Edge computing nodes use a log-decay path loss model to convert RSSI values into distance estimates, as shown in the following expression:
[0190] in, This represents the estimated distance between the i-th target communication device and the user. This represents the signal strength indication value measured by the i-th target communication device. A represents the reference signal strength value at a distance of 1 meter from the target communication device, obtained from the communication device's factory calibration or on-site measurement. For example, A might be -55 dBm. n represents the environmental attenuation factor, reflecting the rate attenuation of the signal with distance in a specific propagation environment. A larger n value indicates faster signal attenuation. For example, n is typically 2.0~2.5 for open indoor environments and 3.0~4.0 for complex multipath indoor environments.
[0191] Step 2: Determine the user's orientation relative to the target communication device based on the angle of arrival measurement data.
[0192] Edge computing nodes extract angle-of-arrival (AOA) measurements from signal measurement data. The OAA is the angle between the incident direction and a reference direction when a signal emitted by a signal transmitter reaches the antenna array of a target communication device.
[0193] Communication devices supporting angle-of-arrival (AOA) direction finding are equipped with multiple antenna arrays. When a signal reaches the target communication device, different antenna elements receive the same signal with a phase difference. The target communication device can calculate the incident angle of the signal by measuring the phase difference between the elements of the antenna array and using the principle of phase interference. The AOA is defined with reference to the local coordinate system of the target communication device and represents the user's direction relative to the target communication device.
[0194] It should be noted that not all communication devices need to support AoA direction finding. When some communication devices do not support AoA or do not include angle of arrival measurement data, positioning can be completed based on pure RSSI ranging without interrupting system functionality.
[0195] Step 3: Based on the physical coordinates of the target communication device, the distance estimate, and the direction information, calculate the user's physical coordinates through weighted fusion.
[0196] The solution expression is as follows:
[0197] in, The fusion weights for RSSI ranging The fusion weights for AoA direction finding. This refers to substituting K RSSI distance values into a function to calculate a pure RSSI coordinate estimate. This refers to substituting K angle measurements of AoA into a function to calculate a pure coordinate estimate of AoA.
[0198] Furthermore, the solution process includes the following steps: Step 1: Construct an overdetermined system of equations using the distance estimate, direction information, and the physical coordinates of the target communication device.
[0199] Edge computing nodes construct an overdetermined system of equations in the following form based on the physical coordinates, distance estimates, and orientation information of each target communication device: For each target communication device i, construct the ranging equation based on the distance estimate:
[0200] For the target communication device i that provides angle of arrival measurement data, the direction-finding equation is constructed based on the direction information:
[0201] Where (x, y) are the user coordinates to be solved. and These are the residuals measured separately. , The coordinates of the target communication device. y represents the user's coordinates.
[0202] Step 2: Solve the overdetermined system of equations using the weighted least squares method to obtain the estimated values of the user's physical coordinates.
[0203] The edge computing nodes solve the above overdetermined system of equations using the weighted least squares method, that is, finding the optimal estimate of the user coordinates (x, y) that minimizes the weighted sum of squared residuals of all measurement equations, as expressed below:
[0204] Where M represents the number of communication devices providing angle of arrival measurement data. The fusion weights for RSSI ranging For AoA direction finding fusion weights, + =1. When a communication device does not provide angle of arrival measurement data, the device only corresponds to one ranging equation and does not generate a direction-finding equation.
[0205] The problem of minimizing the weighted sum of squared residuals can be solved by a matrix-form weighted least squares method to obtain the optimal estimate of user coordinates that minimizes the total weighted error of all measurements.
[0206] In summary, by utilizing redundant measurement data (overdetermined equations) and employing least squares processing to suppress random measurement noise in each measurement, the negative impact of outliers from a single measurement on the positioning results is reduced. Furthermore, the weighting of the RSSI term further mitigates this issue. and the weight of AoA item The dynamic allocation enables the two types of measurement data to complement each other, thereby improving the accuracy and stability of positioning solutions.
[0207] In one example, the weighting coefficients are not fixed values, but are dynamically calculated successively based on the real-time channel quality scores of each target communication device. When the channel quality is high, the AoA weight increases (because AoA is more accurate in multipath environments), and when the channel quality is low, the RSSI weight increases (because RSSI is more robust).
[0208] Based on this, the process of determining the weighting coefficients includes the following steps: Step 1: Calculate the channel quality score for each target communication device.
[0209] The channel quality score is calculated by weighting at least one of the following: channel occupancy rate, historical packet loss rate, and signal strength fluctuation variance.
[0210] Channel quality score is used to comprehensively evaluate the quality of the current communication environment of the target communication device. The higher the score, the better the communication quality of the device and the higher the reliability of the measurement data.
[0211] Channel occupancy rate indicates the busyness of the communication channel currently occupied by the target communication device. The lower the occupancy rate, the more idle the channel is, the higher the communication quality is, and the greater the contribution to the channel quality score.
[0212] Historical packet loss rate represents the proportion of data packets lost by the target communication device in the most recent preset number of communications. The lower the packet loss rate, the higher the stability of the communication link and the greater its contribution to the channel quality score.
[0213] Signal strength fluctuation variance represents the degree of fluctuation in the signal strength indication value returned by the target communication device within the sliding time window. The smaller the variance, the more stable the signal and the greater its contribution to the channel quality score.
[0214] After the edge computing node normalizes the above indicators (that is, maps each indicator to a uniform value range), it multiplies each indicator by its corresponding preset weight coefficient and then sums them to obtain the channel quality score of the target communication device. The score ranges from [0,1].
[0215] Step 2: Calculate the average channel quality score of all target communication devices.
[0216] This average value reflects the overall channel quality level of all target communication devices currently involved in the positioning process. The higher the overall channel quality, the closer the average value is to 1. The lower the overall channel quality (e.g., severe multipath interference, drastic signal attenuation), the closer the average value is to 0.
[0217] Step 3: Determine the average value as the fusion weight of the angle of arrival measurement data, and subtract the average value from 1 to determine the fusion weight of the signal strength indication data.
[0218] When the quality of each beacon channel is generally high (average value close to 1), the positioning results rely more on high-precision AoA direction finding.
[0219] When the channel quality deteriorates due to factors such as multipath interference and obstruction (the average value approaches 0), the positioning results automatically switch to the more robust RSSI ranging method.
[0220] When the channel quality is between the two mentioned above, the two types of data are smoothly fused according to their respective weights. There is no problem of abrupt changes in positioning results caused by switching fixed thresholds, and the transition process is smooth and continuous.
[0221] In summary, the system does not require manual setting of fixed fusion weights, nor does it rely on prior indoor propagation model empirical values. Instead, it adaptively adjusts the contribution of RSSI ranging and AoA direction finding in positioning calculation based on the current real-time channel state, thereby maintaining the stability of positioning accuracy and the robustness of system functions in changing indoor environments.
[0222] In one example, in an indoor positioning scenario with continuous coverage by multiple cameras, a user may move from the current monitoring area to an adjacent monitoring area. If identity verification, service context loading, and positioning parameter initialization are performed only after the user enters the new area, it will lead to tracking interruption and service delay. To solve this problem, this application provides a cross-area pre-scheduling mechanism, which achieves a smooth transition for cross-area tracking by synchronizing user information to the target area in advance.
[0223] Step 1: When a user is detected moving from the first monitoring area to the second monitoring area, determine whether the pre-scheduling trigger conditions are met. The pre-scheduling trigger conditions include at least two of the following: the distance between the user's location and the boundary of the second monitoring area is less than a preset distance threshold; the user's movement direction is towards the second monitoring area; and the semantic features of the user to be tracked detected by the sensing devices in the second monitoring area are successfully matched with the user's semantic features.
[0224] Edge computing nodes continuously track the user's current monitoring area based on the user's real-time location coordinates. The boundary information of the monitoring area of each sensing device (such as a camera) is pre-stored in the edge computing nodes. For example, the monitoring area of each camera is pre-stored as a closed polygon defined by a sequence of vertices.
[0225] When an edge computing node detects that a user's real-time location has moved from the current first monitoring area to the adjacent second monitoring area based on the user's location coordinates at continuous intervals, it initiates the process of determining the cross-regional pre-scheduling trigger condition.
[0226] Pre-scheduling triggering conditions include spatial proximity conditions, movement direction conditions, and identity pre-confirmation conditions.
[0227] Spatial proximity refers to the shortest distance calculated by the edge computing nodes between the user's real-time location and the boundary of the second monitoring area. The boundary of the second monitoring area is defined by a closed polygon, and the edge computing nodes calculate the shortest distance from the user's real-time location to each side of the polygon.
[0228] It should be noted that for a side of a polygon, the two endpoints are the start and end points, respectively. A perpendicular line is drawn from the user's location to the line containing that side; the foot of the perpendicular may fall on the line segment itself or on its extension.
[0229] If the foot of the perpendicular falls before the starting point of the line segment (i.e., in front of the extension of the line segment), then the shortest distance from the user to that side is the straight-line distance from the user to the starting point of the line segment.
[0230] If the foot of the perpendicular falls behind the end point of the line segment (i.e., behind the extension of the line segment), then the shortest distance from the user to that side is the straight-line distance from the user to the end point of the line segment.
[0231] If the foot of the perpendicular falls somewhere in the middle of the line segment, then the shortest distance from the user to that side is the straight-line distance from the user to the foot of the perpendicular.
[0232] The basis for determining the landing point of the perpendicular is the projection parameter t, which is the proportion of the distance from the starting point along the line segment direction to the foot of the perpendicular to the length of the entire line segment.
[0233] For example, Where S is the direction vector of the line segment, and W is the vector pointing from the starting point of the line segment to the user's position. , , It is the starting point of the line segment. It is the endpoint of the line segment. These are user coordinates.
[0234] If t is less than or equal to 0, the foot of the perpendicular falls before the starting point, and the nearest point is the starting point. If t is greater than or equal to 1, the foot of the perpendicular falls after the ending point, and the nearest point is the ending point. If t is between 0 and 1, the foot of the perpendicular falls in the middle of the line segment, and the nearest point is the foot of the perpendicular itself.
[0235] The edge computing node performs the above calculations on each edge of the polygon to obtain the distance from the user to each edge, and then selects the minimum distance value. This minimum value is the shortest distance from the user to the boundary of the second monitoring area.
[0236] The shortest distance is compared with a preset distance threshold (e.g., 2 meters). When the shortest distance is less than the preset distance threshold, it indicates that the user has reached the edge of the current area and is about to enter the second monitoring area, thus satisfying the condition.
[0237] It should be noted that the physical meaning of the preset distance threshold is to determine a spatial lead time. Pre-scheduling is triggered when the user is close enough to the boundary of the target area, which ensures that pre-scheduling has sufficient execution time and avoids misjudgment caused by premature triggering.
[0238] The movement direction condition refers to calculating the user's movement direction vector based on the user's location coordinates at continuous times, and calculating the reference direction vector from the user's current position to the second monitoring area (e.g., to the geometric center of the area).
[0239] It should be noted that the difference between the user's current position and their previous position is the user's actual direction of movement. For example, if the user was at position A in the previous moment and is currently at position B, then the direction from A to B is the user's actual direction of movement.
[0240] Additionally, the geometric center position of the second monitoring area is calculated (i.e., the average coordinates of all vertices in the second monitoring area). Then, the user's current position is subtracted from the geometric center position; the difference between the two is the direction of the second monitoring area relative to the user. For example, if the user is currently at position P, and the center of the second monitoring area is at position C, then the direction from P to C is the direction of the second monitoring area relative to the user.
[0241] When the angle between the user's movement direction vector and the reference direction vector is less than a preset angle threshold (e.g., 45°), it indicates that the user is moving toward the second monitoring area, rather than just wandering near the boundary or moving along the boundary, and this condition is met.
[0242] It should be noted that the angle between two vectors is calculated using the vector dot product formula. Specifically, the user's actual movement direction vector is multiplied by the direction vector pointing to the second monitoring area (corresponding components are multiplied and then added). The lengths of the two vectors (i.e., the movement distance and the target distance) are then calculated separately. The result of the dot product is divided by the product of the two lengths to obtain the cosine value of the angle. The closer the cosine value is to 1, the closer the angle is to 0°, indicating that the two directions are more consistent. The closer the cosine value is to 0, the closer the angle is to 90°, indicating that the two directions deviate more. The closer the cosine value is to -1, the closer the angle is to 180°, indicating that the two directions are completely opposite.
[0243] The identity pre-confirmation condition refers to the sensing device in the second monitoring area actively detecting whether there is a target matching the user's identity within its field of view. Specifically, the sensing device extracts the semantic features (such as facial feature vectors) of the detected user to be tracked and sends these semantic features to the edge computing node.
[0244] The edge computing node compares the semantic feature with the user's semantic feature template for similarity. If the similarity is greater than or equal to a preset matching threshold (e.g., 0.85), it indicates that the sensing device in the second monitoring area has captured the user, and the user's identity has been confirmed before entering the target area, thus satisfying the condition.
[0245] The three conditions mentioned above verify the occurrence of cross-regional transfer from three different dimensions: spatial location, direction of movement, and identity verification. If a user only briefly stops or passes by the boundary of the second monitoring area, the spatial proximity condition is usually the only one that can be met. Based on the above principle, edge computing nodes can effectively identify real cross-regional scenarios where users are about to enter the target area by jointly verifying at least two conditions, thus avoiding invalid pre-scheduling caused by misjudgment due to a single condition.
[0246] Step 2: When the conditions are met, synchronize the user's semantic anchor information to the sensing devices in the second monitoring area.
[0247] The user's anonymous feature identifier is used to uniquely identify the user in the second monitoring area, enabling the sensing devices in the second monitoring area to directly associate the detected user to be tracked with the upcoming user.
[0248] The user's service context information is used to directly trigger the corresponding collaborative services after the user enters the second monitoring area, without waiting for identity verification to be completed before querying the database.
[0249] The current semantic anchor identifier is used to maintain the continuity of the event causal chain after crossing regions, ensuring that the semantic event notifications generated in the second monitoring area can inherit the original causal reference relationship, and realizing the unified association of location data before and after crossing regions.
[0250] In summary, semantic anchor information is proactively distributed from edge computing nodes to sensing devices in the second monitoring area, where it is stored in a local cache. This synchronization process is completed before the user actually enters the second monitoring area, hence the term "pre-scheduling." When the user officially enters the second monitoring area, the sensing devices within that area directly retrieve the pre-stored semantic anchor information from their local cache, immediately associate it with the user's identity, and resume service. This eliminates the need to re-execute identity matching, context queries, or location parameter initialization, thus achieving seamless continuity between identity tracking and service response.
[0251] In one example, in an indoor positioning system, the operating mode of communication devices (such as Bluetooth beacons) directly determines the system's power consumption level. If all communication devices maintain a continuous scanning mode around the clock, a large amount of invalid data will be collected during periods of low foot traffic, resulting in energy waste.
[0252] To address this issue, this application provides a smart power switching mechanism for communication devices based on event trigger frequency prediction. This mechanism intelligently predicts the face trigger frequency in the monitoring area of each sensing device for future time periods based on accumulated service context information in the semantic anchor object, and dynamically switches the Bluetooth beacon's operating mode accordingly. The mechanism includes the following steps: Step 1: Based on the historical semantic event data of the monitored area, predict the expected event triggering frequency of the monitored area in the future.
[0253] In this example, the prediction process includes the following steps: Step 11: Aggregate historical semantic event data of the monitoring area according to preset time slots to build a semantic feature library.
[0254] Edge computing nodes continuously record semantic anchor data generated for each face detection event. For each sensing device's monitoring area, historical semantic event data is aggregated according to preset time slots (e.g., dividing each day into 96 15-minute time slots) to construct a semantic feature library.
[0255] The samples in each time slot of the semantic feature library include VIP density features, access intent features, service frequency features, and time attribute features.
[0256] VIP density refers to the proportion of people with a VIP level greater than a preset level (e.g., 3) in the monitored area within a corresponding time slot, out of the total number of people detected in the monitored area. High VIP density indicates that high-value customers are gathering there, and the predicted trigger frequency should be increased to wake up communication equipment earlier and ensure service quality. In other words, VIP customer visits typically signify a high willingness to spend, requiring the system to prioritize service response.
[0257] The access intent feature calculates the average degree of match between each user's preferred category and the category of goods sold in the monitored area within the corresponding time slot, based on the preferred categories recorded in the semantic anchors. The matching degree can be defined as: 1 if there is an intersection between the user's preference and the area's category, and 0 otherwise.
[0258] For example, the sneaker section sells athletic shoes / sneakers. If there are 5 customers in the area, 3 of whom prefer sneakers or athletic shoes, and the other 2 prefer cosmetics and children's clothing, then the match rate is 0.6.
[0259] A high match rate indicates that these people are not just browsing, but visiting with a purpose. They are more likely to trigger events, and the prediction frequency should be increased.
[0260] Service frequency characteristics refer to the proportion of users whose historical access frequency is higher than a preset threshold (e.g., ≥2 times per month) in the corresponding time slot of the monitored area, which reflects the proportion of frequent users.
[0261] Time attribute features refer to periodically encoding the current time slot, such as whether it is a weekday or a peak business period (10:00-12:00, 14:00-20:00), and converting it into 0 / 1 features. This reflects the time periodic attributes of the corresponding time slot.
[0262] Step 12: Extract the feature vector of the current time slot from the semantic feature library, input the feature vector of the current time slot into the prediction model, and obtain the expected event triggering frequency of the monitored area in the current time slot.
[0263] It should be noted that the event trigger frequency can be expressed in terms of times per minute, indicating the number of times the sensing devices in the monitored area are expected to detect the user within one minute.
[0264] Time attribute features can be directly determined based on the time information of the current time slot. VIP density features, access intent features, and service frequency features can be obtained based on historical data or pre-identification information of real-time entrants.
[0265] For example, edge computing nodes can directly use historical data from the same time slot of the previous week as the feature values for the current time slot. For instance, if the current time is Wednesday morning from 10:00 to 10:15, then the VIP density, access intent, and service frequency data from the same time slot last Wednesday morning can be used as the feature vector for the current time slot. This approach is based on the assumption that population behavior has periodic patterns and can provide reasonable predictions even without real-time data.
[0266] The prediction model can be a lightweight regression model, which is essentially a function that maps the input feature vector to the output predicted value (the expected frequency of event triggering).
[0267] A linear regression model can be used because it has low computational cost, high interpretability, and is suitable for deployment on edge nodes.
[0268] The model determines the weight parameters for each feature during the offline training phase, and only requires a simple multiplication-addition operation to obtain the prediction result during the online prediction phase. For example, by using historical semantic anchor data accumulated over at least N weeks (e.g., 4 weeks) of system operation, the least squares method is used to minimize the mean square error between the predicted value and the actual trigger frequency to obtain the optimal parameters.
[0269] Taking a linear regression model as an example, the output consists of two parts: a constant bias term (i.e., the baseline output of the model when no features contribute) and the sum of each feature value multiplied by its corresponding weight. The weight of each feature reflects the degree of influence that feature has on the event triggering frequency. For example, a higher weight for VIP density indicates a greater impact of the aggregation of high-level users on the triggering frequency. A higher weight for time attributes indicates a greater impact of peak hours on the triggering frequency.
[0270] Since the model's input feature dimension contains only four types of features, the computational cost is extremely small. Inference can be completed in milliseconds on edge computing nodes, making it very suitable for deployment in edge environments with limited computing resources.
[0271] Step 2: If the expected event trigger frequency is lower than the preset frequency threshold, instruct the communication device bound to the monitoring area to switch to low power operation mode after completing a single acquisition.
[0272] For example, if the model output value is 0.5, it means that the monitored area is expected to trigger about 0.5 times per minute in the current time slot, that is, about once every two minutes; if the model output value is 3.0, it means that it is expected to trigger about 3 times per minute, that is, the monitored area is in a highly active state in the current time slot.
[0273] The edge computing node compares the predicted value with a preset frequency threshold and executes the corresponding communication device power consumption switching strategy based on the comparison result.
[0274] The preset frequency threshold is used to distinguish between high-traffic and low-traffic areas. The value can be preset by the system according to the energy consumption management goals and response latency requirements of the actual scenario (e.g., set to 1 time / minute).
[0275] If the expected event trigger frequency is less than the preset frequency threshold, it indicates that the target will appear less frequently in the monitored area in the future, and it belongs to a low-activity area.
[0276] If the expected event trigger frequency is greater than or equal to the preset frequency threshold, it indicates that the target will appear more frequently in the monitored area in the future, and the area is a high-activity area.
[0277] When an edge computing node determines that the expected event triggering frequency of a monitored area is lower than a preset frequency threshold, the monitored area is identified as a low-activity area. For communication devices bound to this monitored area, the edge computing node implements a power consumption strategy of on-demand wake-up and rapid sleep. Specifically, after receiving a data acquisition command and completing a single signal acquisition and data transmission, the communication device does not need to continue maintaining a high-power scanning mode. Instead, it automatically switches to a low-power operating mode (e.g., switching to broadcast mode) after the acquisition is completed, stops active scanning, and maintains basic communication capabilities with extremely low power consumption.
[0278] When a semantic event occurs again in the monitored area (i.e., the sensing device detects a new user and issues a new semantic event notification), the edge computing node resends the acquisition command to the communication device. The communication device is then awakened and switches back from low-power mode to acquisition mode to perform the acquisition task. After acquisition is completed, the communication device switches back to low-power mode.
[0279] Through the above mechanism, communication devices in low-activity areas only briefly enter a high-power scanning mode when data collection is needed, and remain in a low-power state for most of the time, thereby minimizing energy consumption while ensuring basic positioning functions.
[0280] Step 3: If the expected event trigger frequency is greater than or equal to the preset frequency threshold, indicate that the communication device bound to the monitoring area is in the data acquisition mode.
[0281] When an edge computing node determines that the expected event triggering frequency of a monitored area is greater than or equal to a preset frequency threshold, the monitored area is identified as a high-activity area. For the communication devices bound to this monitored area, the edge computing node implements a continuous-ready, fast-response power consumption strategy.
[0282] Specifically, once the communication device enters this period, it enters a data acquisition mode (e.g., a continuous scanning mode) and does not actively go into sleep mode. When the sensing device continuously detects new users and frequently triggers semantic events, the communication device remains in a scanning-ready state. Upon receiving a data acquisition command, it immediately begins data acquisition without experiencing the wake-up time required to switch from low-power mode to acquisition mode. This ensures that the system can respond to each data acquisition request with minimal latency during peak traffic periods, guaranteeing the real-time performance of the location service.
[0283] If no new data collection command is received within a preset time period (e.g., 5 minutes), it indicates that the activity level of people in the monitored area has actually decreased. The communication device automatically returns from the data collection mode to a low-power mode (e.g., broadcast mode or sleep mode) to avoid maintaining a high-power scanning state after the flow of people has decreased.
[0284] It should be noted that if the predicted frequency for all areas is 0 (such as during non-business hours in shopping malls), all beacons will automatically enter a deep sleep state, maintaining only soft bus heartbeat monitoring.
[0285] In summary, through the aforementioned prediction mechanism based on service context semantics, the operating mode of communication equipment can accurately match the expected service needs of each region, ensuring service response for high-value customers while avoiding invalid scans, and reducing the overall power consumption of the system by approximately 35%.
[0286] The core technical problem to be solved in this application is: how to achieve high-precision time alignment and automatic collaborative triggering of visual face recognition events and radio frequency positioning signals of communication devices in a heterogeneous distributed sensing network, so as to achieve seamless and millisecond-level strong correlation between user physical coordinates and facial identity information.
[0287] Specifically, this manifests in the following issues: Multimodal data semantic mismatch problem: If face and communication device location data are integrated at the spatial geometry level, the lack of event causal chain and temporal matching mechanism makes it impossible to achieve a precise one-to-one correspondence between detected faces and collected communication tags in multi-target scenarios in the same area.
[0288] Static device binding leads to insufficient system robustness: Sensing devices and communication devices adopt a fixed configuration relationship, and cannot be automatically replaced when beacon fails or channel quality deteriorates, relying on manual operation and maintenance adjustments, resulting in poor system fault tolerance and operational stability.
[0289] Location and service separation: Existing location systems only output coordinate data, which lacks semantic connection with user identity and service context, requiring manual secondary association to trigger services.
[0290] Continuous positioning for high power consumption issues: Communication equipment scans in a fixed mode around the clock, resulting in a large amount of invalid data collection and energy waste during periods of low traffic.
[0291] This application has the following three significant advantages: On the one hand, it has stronger semantic alignment capabilities. Through the dual verification mechanism of timestamps and causality of semantic anchors, it ensures that facial identity and location data are accurately matched at the event level, fundamentally eliminating data mismatch.
[0292] On the other hand, the acquisition and scheduling are more intelligent. A dynamic scheduler is built on the basis of a distributed resource pool. It optimizes the beacon combination in real time by taking into account multiple factors such as spatial configuration and channel quality. Compared with the fixed configuration scheme, both resource utilization efficiency and acquisition quality are improved.
[0293] In addition, this application automatically encapsulates identity, location, and context into subscribing objects through a service intent generation mechanism, driving robots, large screens, and other devices to respond autonomously, truly opening up a closed loop from perception to service.
[0294] Therefore, this application proposes a semantic anchor mechanism for a distributed soft bus, encapsulating face detection events into a unified object containing semantic features, spatiotemporal context, and service context as a scheduling benchmark. This upgrades traditional passive positioning to proactive intelligent services at the architectural level, completely resolving the three core pain points of multimodal data mismatch, static device binding, and fragmented positioning services. This application achieves zero-mismatch association of identity and location, autonomous self-healing of equipment failures, automatic closed-loop of perception, positioning, and service across the entire chain, reduces cross-regional tracking latency, reduces overall system power consumption, and significantly shortens the operation and maintenance and multi-terminal adaptation cycle, thereby comprehensively improving system reliability and user experience.
[0295] For example, by using dual timestamp verification (ΔT≤50ms) of semantic anchors and causal ID matching, zero-mismatch association between identity and location can be achieved in multi-target scenarios.
[0296] By using a sliding window to assess the quality of communication equipment and automatically replenish backup beacons, autonomous healing can be achieved when equipment malfunctions occur, without the need for manual intervention.
[0297] Cross-regional identity switching tracking latency is less than 200ms, with a continuous success rate of over 97.5%.
[0298] Adaptive switching of beacon modes based on pedestrian flow prediction transforms all-weather fixed scanning into on-demand wake-up, reducing overall system power consumption by approximately 35%.
[0299] In summary, this solution establishes a complete link from identity perception and precise positioning to service execution, providing underlying architecture-level support for smart business scenarios based on the open-source HarmonyOS ecosystem.
[0300] More intuitively, Figure 2 This is a flowchart illustrating another intelligent scene collaborative positioning and service method based on open-source HarmonyOS provided in an embodiment of this application.
[0301] exist Figure 2 In this process, a closed-loop system is achieved, encompassing the entire chain from automatic device discovery, semantic event triggering, dynamic scheduling of communication devices, data collection and transmission, semantic alignment and positioning, to the final automatic service triggering.
[0302] There is a background control relationship between S208 and S201. Based on historical semantic event data, the activity level of people in each area in the future is predicted, and the working mode (scanning / broadcasting / sleep) of communication devices (Bluetooth beacons) in the S201 resource pool is dynamically adjusted accordingly to achieve on-demand power supply and reduce power consumption.
[0303] The S205 positioning algorithm continuously outputs the user's real-time coordinates. When a user is detected to meet the cross-regional conditions (spatial proximity, direction of movement, and pre-confirmation of identity), the S207 cross-regional pre-scheduling is triggered, which synchronizes the current user's semantic anchor information (identity, level, preferences, etc.) to the sensing devices in the next region in advance, achieving seamless continuation of cross-regional tracking.
[0304] The semantic anchor object generated in S202 is continuously used in all subsequent stages. S203 scheduling decisions rely on its priority and accuracy requirements. S205 location calculation relies on its timestamp and causal ID. S206 service intent generation relies on its service context. S207 cross-region synchronization uses the context information within the same semantic anchor object.
[0305] Semantic anchors serve as a unified data thread throughout entities, ensuring consistency of identity, location, and services throughout the entire process.
[0306] In summary, based on a distributed soft bus, and through a three-layer mechanism of semantic awareness, dynamic scheduling, and intent execution, the system's capabilities are upgraded from passive location to proactive understanding of events and autonomously triggering services.
[0307] This system achieves seamless integration of sensing and communication devices for positioning and facial recognition. Specifically, devices automatically discover and network upon power-on, requiring no manual configuration; facial detection and data collection are automatic, ensuring a completely unnoticed experience for the user; millisecond-level time alignment guarantees precise pairing of faces and locations; and positioning results are automatically bound to facial features to drive robot services. The core innovation lies in proposing a completely new approach at the system architecture level. Specifically, it upgrades the traditional two-stage passive response architecture of perception and positioning to a three-stage autonomous intelligent architecture encompassing semantic perception, dynamic scheduling, and intent execution.
[0308] More intuitively, Figure 3 This is a flowchart illustrating a dynamic acquisition and scheduling method based on a resource pool, as provided in an embodiment of this application.
[0309] exist Figure 3 In the process, the system receives semantic anchor objects, obtains the real-time status of the M beacons bound to the camera, performs load filtering (removes overloaded beacons), determines accuracy requirements based on service context, performs capability matching and filtering, calculates multi-dimensional scores, sorts the top K by total score, encapsulates and issues acquisition instructions, and waits for data to be transmitted back.
[0310] It should be noted that removing beacons that exceed the threshold in the task queue at once ensures that no new tasks are dispatched to already overloaded devices, thus achieving load balancing.
[0311] Based on the service context information in the semantic anchor object, determine the accuracy requirement level for this positioning: For high accuracy requirements (such as VIP), only beacons supporting AoA direction finding are retained, in enhanced mode (RSSI, AoA). For normal accuracy requirements, all available beacons are retained, in standard mode / low power mode.
[0312] Based on this, resources can be allocated on demand. VIP customers trigger high-precision data collection, while ordinary customers trigger standard data collection, thus ensuring service quality while avoiding unnecessary resource consumption.
[0313] For the selected beacons, a comprehensive score is calculated. Spatial geometry configuration score: This prioritizes the equipment combination that achieves the optimal positioning accuracy. Channel quality score: This selects equipment combinations with low channel occupancy and low historical packet loss rates.
[0314] More intuitively, Figure 4 This is a flowchart illustrating a semantic alignment and positioning method provided in an embodiment of this application.
[0315] exist Figure 4The process includes receiving semantic anchors and beacon data packets, performing two-layer verification (time alignment + causal matching), verifying whether the verification passed, RSSI variance filtering (sliding window to remove beacons with fluctuations exceeding the threshold), determining if the number of valid beacons is ≥3, RSSI ranging and AoA direction constraints, weighted fusion to calculate coordinates, and outputting bound data.
[0316] It should be noted that the edge computing nodes perform two layers of verification on each data packet returned by the beacon: Time alignment verification: Calculate the time difference ΔT between the first timestamp of the semantic anchor and the second timestamp of the data packet, and determine whether ΔT is less than or equal to a preset threshold (such as 50ms) to ensure that the collected data packet and the perceived event are sufficiently close in time.
[0317] Causal matching verification: Verify whether the semantic anchor reference identifier in the collected data packet is consistent with the semantic anchor identifier in the semantic anchor object, to ensure that the collected data packet is indeed collected in response to the current semantic event.
[0318] Only data packets that pass both layers of verification are considered valid and proceed to further processing; data packets that fail verification are discarded.
[0319] Edge computing nodes maintain a sliding window of the most recent W valid RSSI values for each beacon and calculate the RSSI variance within the current window. A larger variance indicates more severe signal fluctuations and lower data reliability. Beacon data with variances exceeding a preset fluctuation threshold (e.g., 10.0) are discarded, and only beacons with stable signals are retained for positioning calculation to ensure the quality of the input data.
[0320] After filtering, it is determined whether the number of remaining valid beacons is greater than or equal to 3. If the number of beacons is less than 3, trilateration cannot be achieved, the current positioning fails, and the process waits for the next data collection cycle; if the number of beacons is ≥ 3, the positioning calculation begins.
[0321] Coordinates are calculated using a weighted fusion algorithm based on RSSI ranging and AoA direction finding. RSSI ranging: A logarithmic attenuation path loss model is used to convert RSSI values into distance estimates between the beacon and the user. AoA direction constraint: The AoA measurement values are used to determine the user's direction angle relative to the beacon, establishing a direction constraint.
[0322] User coordinates are calculated using a weighted fusion model, with the fusion weight coefficients dynamically adjusted based on the channel quality scores of each beacon.
[0323] Based on the same idea, some embodiments of this application also provide devices and non-volatile computer storage media corresponding to the above methods.
[0324] Figure 5A schematic diagram of a smart scene collaborative positioning and service device based on open-source HarmonyOS, provided for embodiments of this application, includes: At least one processor; and, A memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, which are executed by the at least one processor to enable the at least one processor to execute any of the above-described intelligent scene collaborative positioning and service methods based on open-source HarmonyOS.
[0325] Some embodiments of this application provide a non-volatile computer storage medium for collaborative positioning and services in smart scenarios, which stores computer-executable instructions capable of executing any of the above-described smart scenario collaborative positioning and service methods based on open-source HarmonyOS.
[0326] The various embodiments in this application are described in a progressive manner. Similar or identical parts between embodiments can be referred to mutually. Each embodiment focuses on describing the differences from other embodiments. In particular, the device and medium embodiments are basically similar to the method embodiments, so the description is relatively simple; relevant parts can be referred to the description of the method embodiments.
[0327] The devices and media provided in this application are one-to-one with the methods. Therefore, the devices and media also have similar beneficial technical effects as their corresponding methods. Since the beneficial technical effects of the methods have been described in detail above, the beneficial technical effects of the devices and media will not be repeated here.
[0328] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0329] The above description is merely an embodiment of this application and is not intended to limit this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the technical principles of this application should fall within the protection scope of this application.
Claims
1. A method for intelligent scene collaborative positioning and service based on open-source HarmonyOS, characterized in that, The method includes: Based on the device attribute information registered by the sensing devices and communication devices through the distributed bus, a distributed resource pool is constructed, and multiple communication devices that meet the preset spatial distance conditions are bound to each sensing device; Upon receiving a semantic event notification from a sensing device, a target communication device is selected from the communication devices bound in the distributed resource pool, and a collection command is sent to the target communication device. The semantic event notification includes a semantic anchor object, which includes a semantic anchor identifier, the user's anonymous feature identifier, and the user's service context information. Receive the acquisition data packet returned by the target communication device in response to the acquisition command; the acquisition data packet includes the returned semantic anchor point identifier, signal measurement data, and the physical coordinates of the target communication device; The semantic anchor object and the acquired data packet are semantically associated and verified. After the verification is passed, the user's physical coordinates are solved based on the signal measurement data and the physical coordinates of the target communication device. Service intent information is generated based on service context information, user physical coordinates, and anonymous feature identifiers; The service intent information is published to the distributed resource pool, triggering the matching execution device to provide collaborative services.
2. The method according to claim 1, characterized in that, Before receiving a semantic event notification from the sensing device, the method further includes: The system receives the user's facial feature vector sent by the sensing device via a distributed bus. The user's facial feature vector is compared with the similarity of each feature template in the registered feature library; If a target feature template with a similarity greater than or equal to the preset matching threshold exists, then the anonymous feature identifier corresponding to the target feature template is inherited. If no target feature template with a similarity greater than or equal to the preset matching threshold exists, a new anonymous feature identifier is generated and stored in the registered feature library.
3. The method according to claim 1, characterized in that, Selecting a target communication device from the communication devices bound in the distributed resource pool, specifically including: Perform status filtering on bound communication devices to remove communication devices whose current task queue length exceeds a preset queue threshold; Based on the service context information, determine the accuracy requirement level of the current location, and select candidate communication devices corresponding to the accuracy requirement level from the filtered communication devices; Obtain multi-dimensional status parameters of candidate communication devices; Based on the multi-dimensional state parameters, the score values of the selected candidate communication devices are calculated under multiple scoring dimensions. The scores are weighted and summed according to preset weights to obtain the comprehensive score of each candidate communication device; The top K candidate communication devices with the highest comprehensive scores are selected as the target communication devices.
4. The method according to claim 1, characterized in that, The semantic anchor object also includes a first timestamp, and the collected data packet also includes a second timestamp. Semantic association verification is performed between the semantic anchor object and the collected data packet, specifically including: Calculate the time difference between the first timestamp and the second timestamp. If the time difference is less than or equal to a preset time threshold, then the time alignment verification is passed. Verify whether the semantic anchor identifier in the collected data packet is consistent with the semantic anchor identifier in the semantic event notification. If they are consistent, the causal confirmation verification is passed. Data packets that pass the time alignment verification and the causal confirmation verification are determined to be valid data packets.
5. The method according to claim 4, characterized in that, Determine the preset time threshold, specifically including: Determine the corresponding baseline threshold based on the user's personnel category; When the user's movement speed is obtained, a dynamic threshold is determined based on the user's movement speed, and the dynamic threshold is adjusted according to the limit value range to obtain a preset time threshold; the dynamic threshold decreases as the movement speed increases; When movement speed cannot be obtained, the baseline threshold is set to the preset time threshold.
6. The method according to claim 1, characterized in that, Based on signal measurement data and the physical coordinates of the target communication device, the user's physical coordinates are calculated, specifically including: Calculate the estimated distance between the target communication device and the user based on the signal strength indication data; Based on the angle of arrival measurement data, determine the user's orientation information relative to the target communication device; The user's physical coordinates are calculated by weighted fusion based on the physical coordinates of the target communication device, the distance estimate, and the direction information.
7. The method according to claim 1, characterized in that, The method further includes: When a user is detected moving from the first monitoring area to the second monitoring area, it is determined whether the pre-scheduling trigger conditions are met. The pre-scheduling trigger conditions include at least two of the following: the distance between the user's location and the boundary of the second monitoring area is less than a preset distance threshold, the user's movement direction is towards the second monitoring area, and the semantic features of the user to be tracked detected by the sensing devices in the second monitoring area are successfully matched with the user's semantic features. When the conditions are met, the user's semantic anchor information is synchronized to the sensing devices in the second monitoring area.
8. The method according to claim 7, characterized in that, Calculate the shortest distance from the user's location to each edge of the polygon of the second monitoring area, and determine the shortest distance as the distance between the user's location and the boundary of the second monitoring area; And / or, Calculate the user's movement direction vector based on the user's location coordinates, and calculate the reference direction vector from the user's current location to the second monitoring area; If the angle between the movement direction vector and the reference direction vector is less than a preset angle threshold, the user's movement direction is determined to be toward the second monitoring area; And / or, The received semantic features are compared with the feature template corresponding to the user. If the similarity is greater than or equal to the preset matching threshold, the match is considered successful.
9. The method according to claim 1, characterized in that, The method further includes: Based on historical semantic event data of the monitored area, predict the expected event triggering frequency in the monitored area in the future period; If the expected event trigger frequency is lower than the preset frequency threshold, the communication device bound to the monitoring area is instructed to switch to a low-power working mode after completing a single data acquisition. If the expected event trigger frequency is greater than or equal to the preset frequency threshold, the communication device bound to the monitoring area is in the data acquisition mode.
10. The method according to claim 9, characterized in that, Based on historical semantic event data of the monitored area, predict the expected event triggering frequency in the monitored area in the future, specifically including: Historical semantic event data of the monitoring area are aggregated according to preset time slots to construct a semantic feature library; the samples of each time slot in the semantic feature library include at least one of VIP density features, access intent features, service frequency features, and time attribute features; The feature vector of the current time slot is extracted from the semantic feature library, and the feature vector of the current time slot is input into the prediction model to obtain the expected event triggering frequency of the monitored area in the current time slot.
