Trajectory fusion method, device and equipment
By dividing the target time period into sub-time periods and performing trajectory fusion, the problem of management equipment being unable to identify multi-sensor trajectories is solved, and the complete motion trajectory management and identity confirmation of the target object are achieved, thereby improving management efficiency and accuracy.
Patent Information
- Application Number
- CN202111301901.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-11-04
- Publication Date
- 2025-09-26
- Estimated Expiration
- 2041-11-04
AI Technical Summary
The management device cannot identify the multiple trajectories of the target object under multiple sensors, resulting in the inability to manage the target object based on its complete motion trajectory and the lack of long-term management capabilities for the target object.
The target time period is divided into multiple sub-time periods. Candidate trajectories are generated based on the trajectory similarity in each sub-time period. The candidate trajectories in the sub-time periods are fused into the target trajectory in the target time period by fusing the similarities, and the identity information of the target trajectory is determined.
It realizes the trajectory fusion of the target object under multiple sensors, can restore the movement of the target object in the park, provides long-term management capabilities, improves the processing efficiency and accuracy of trajectory fusion, and builds a full-scene archive to ensure identity uniqueness.
Smart Images

Figure CN114120396B_ABST
Abstract
Description
Technical Field
[0001] The present application relates to the field of data processing technology, and in particular to a trajectory fusion method, device, and equipment. Background Art
[0002] To facilitate the management of target objects (such as users within a park) (such as a community or industrial park), various types of sensors are usually deployed in the park, such as cameras, Bluetooth, RFID (Radio Frequency Identification), etc. These sensors collect the trajectory of the target object and send the trajectory of the target object to the management device, which manages the target object based on the trajectory of the target object.
[0003] When a target object moves within the campus, multiple sensors can capture its trajectory, resulting in multiple tracks. However, management devices are unable to identify the multiple tracks of the target object captured by multiple sensors. This results in an inability to manage the target object based on its complete trajectory, an inability to restore the target object's movement within the campus, and a lack of long-term management capabilities for the target object. Summary of the Invention
[0004] The present application provides a trajectory fusion method, the method comprising:
[0005] Acquire multiple original trajectories within a target time period, where the multiple original trajectories are collected by multiple sensors of the target scene, and different original trajectories are collected by the same sensor or by different sensors;
[0006] Divide the target time period into a plurality of sub-time periods; for each sub-time period, generate a plurality of trajectory pairs based on all original trajectories within the sub-time period, each trajectory pair including two original trajectories;
[0007] Based on the trajectory similarity of the two original trajectories in each trajectory pair, all the original trajectories in the sub-time period are merged into at least one candidate trajectory in the sub-time period, where the candidate trajectory includes at least two original trajectories, and the trajectory similarity of the two original trajectories included in the candidate trajectory is greater than a first threshold;
[0008] Based on the fusion similarity between the candidate trajectories in the multiple sub-time periods, the candidate trajectories in all sub-time periods are fused into at least one target trajectory in the target time period, each target trajectory including at least one candidate trajectory; wherein, if the target trajectory includes at least two candidate trajectories, the fusion similarity between the two candidate trajectories included in the target trajectory is greater than a second threshold;
[0009] Determine the identity information of each target trajectory within the target time period.
[0010] The present application provides a trajectory fusion device, comprising:
[0011] An acquisition module is used to acquire multiple original trajectories within a target time period, where the multiple original trajectories are acquired by multiple sensors of the target scene, and different original trajectories are acquired by the same sensor or different sensors;
[0012] a fusion module configured to divide the target time period into a plurality of sub-time periods; for each sub-time period, generate a plurality of trajectory pairs based on all original trajectories within the sub-time period, each trajectory pair including two original trajectories; and based on the trajectory similarity between the two original trajectories in each trajectory pair, fuse all the original trajectories within the sub-time period into at least one candidate trajectory within the sub-time period, wherein the candidate trajectory includes at least two original trajectories, and the trajectory similarity between the two original trajectories included in the candidate trajectory is greater than a first threshold;
[0013] Based on the fusion similarity between the candidate trajectories in the multiple sub-time periods, the candidate trajectories in all sub-time periods are fused into at least one target trajectory in the target time period, each target trajectory including at least one candidate trajectory; wherein, if the target trajectory includes at least two candidate trajectories, the fusion similarity between the two candidate trajectories included in the target trajectory is greater than a second threshold;
[0014] The determination module is configured to determine the identity information of each target trajectory within the target time period.
[0015] The present application provides a trajectory fusion device, comprising: a processor and a machine-readable storage medium, wherein the machine-readable storage medium stores machine-executable instructions that can be executed by the processor; the processor is configured to execute the machine-executable instructions to implement the above-mentioned trajectory fusion method.
[0016] As can be seen from the above technical solutions, in the embodiment of the present application, for each target object, the trajectory of the target object under multiple sensors (i.e., multiple original trajectories) can be fused into a target trajectory (i.e., the complete motion trajectory of the target object), so that the multiple trajectories of the target object under multiple sensors can be identified, and the target object can be managed based on the complete motion trajectory of the target object, and the motion of the target object in the target scene can be restored, providing a long-term management capability for the target object (i.e., the entire process of the target object in the target scene can be managed). By dividing the target time period into multiple sub-time periods and fusing the trajectory pairs in each sub-time period, rather than directly fusing all the trajectory pairs in the target time period, the number of trajectory pairs can be reduced, a large number of trajectory pairs can be avoided, the processing efficiency of the trajectory pair fusion can be improved, and the processing time of the trajectory pair fusion can be reduced. By fusing the candidate trajectories in different sub-time periods, the complete motion trajectory of the target object can be obtained, and the target object can be managed based on the complete motion trajectory of the target object. The identity information and file information corresponding to the target trajectory can be determined, that is, the full-scene archive of the target object is constructed, and even if the target object enters the park at different time periods, the identity can be guaranteed to be unique, and the trajectories generated in different time periods are more accurate. It can be applied to large-scale campus scenarios, has relatively low requirements for data sources, and the fusion results of target trajectories are more accurate and have stronger universality. By building archival information of target objects, more comprehensive management of target objects can be achieved. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the following briefly introduces the drawings required for use in the embodiments of the present application or the description of the prior art. Obviously, the drawings described below are only some embodiments recorded in this application. For ordinary technicians in this field, other drawings can also be obtained based on these drawings of the embodiments of the present application.
[0018] Figure 1 is a flow chart of a trajectory fusion method in one embodiment of the present application;
[0019] Figure 2 It is a structural diagram of a distributed system in one embodiment of the present application;
[0020] Figure 3 is a flow chart of a trajectory fusion method in one embodiment of the present application;
[0021] Figure 4 It is a structural schematic diagram of a trajectory fusion device in one embodiment of the present application;
[0022] Figure 5 This is a hardware structure diagram of a trajectory fusion device in one embodiment of the present application. DETAILED DESCRIPTION
[0023] The terms used in the embodiments of this application are only for the purpose of describing specific embodiments and are not intended to limit this application. The singular forms "a," "the," and "the" used in this application and claims are also intended to include plural forms unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to any or all possible combinations of one or more associated listed items.
[0024] It should be understood that although the terms first, second, third, etc. may be used to describe various information in the embodiments of the present application, such information should not be limited to these terms. These terms are only used to distinguish information of the same type from each other. For example, without departing from the scope of the present application, the first information may also be referred to as the second information, and similarly, the second information may also be referred to as the first information. Depending on the context, the word "if" used may also be interpreted as "at the time of" or "when" or "in response to determining".
[0025] In the embodiment of the present application, a trajectory fusion method is proposed for merging multiple trajectories of a target object into a single trajectory. Figure 1 FIG. 1 is a flow chart of a trajectory fusion method, which includes:
[0026] Step 101: Acquire multiple original trajectories within a target time period. The multiple original trajectories are collected by multiple sensors of a target scene. Different original trajectories are collected by the same sensor or by different sensors.
[0027] Exemplarily, acquiring multiple original trajectories within a target time period may include, but is not limited to, acquiring initial trajectories captured by sensors in the target scene. For each initial trajectory, data preprocessing may be performed to obtain an original trajectory corresponding to the initial trajectory. The data preprocessing may include, but is not limited to, at least one of the following: data interpolation, spatiotemporal alignment, and data format conversion.
[0028] Exemplarily, data interpolation processing is used to add trajectory points to the initial trajectory; data spatiotemporal alignment processing is used to convert the initial trajectory to the target coordinate system; and data format conversion processing is used to convert the initial trajectory into the target data format. For example, data interpolation processing can be performed on the initial trajectory first, and then data spatiotemporal alignment processing can be performed on the initial trajectory after data interpolation processing, and then data format conversion processing can be performed on the initial trajectory after data spatiotemporal alignment processing. Alternatively, data interpolation processing can be performed on the initial trajectory first, and then data format conversion processing can be performed on the initial trajectory after data interpolation processing, and then data spatiotemporal alignment processing can be performed on the initial trajectory after data format conversion processing, without limitation.
[0029] Step 102: Divide the target time period into multiple sub-time periods; for each sub-time period, generate multiple trajectory pairs based on all original trajectories within the sub-time period, each trajectory pair including two original trajectories.
[0030] Step 103: Based on the trajectory similarity between the two original trajectories in each trajectory pair, all original trajectories in the sub-time period are merged into at least one candidate trajectory in the sub-time period. The candidate trajectory includes at least two original trajectories, and the trajectory similarity between the two original trajectories included in the candidate trajectory is greater than a first threshold.
[0031] Step 104: Based on the fusion similarity between the candidate trajectories in multiple sub-time periods (i.e., all sub-time periods), the candidate trajectories in all sub-time periods are fused into at least one target trajectory in the target time period, where each target trajectory includes at least one candidate trajectory. If the target trajectory includes at least two candidate trajectories, the fusion similarity between the two candidate trajectories included in the target trajectory is greater than a second threshold.
[0032] Exemplarily, based on the fusion similarity between candidate trajectories in multiple sub-time periods, the candidate trajectories in all sub-time periods are fused into at least one target trajectory in the target time period, which may include but is not limited to: for each first candidate trajectory in the first sub-time period, traversing a candidate trajectory from the candidate trajectories in the second sub-time period as the second candidate trajectory, and calculating the fusion similarity between the second candidate trajectory and the first candidate trajectory; wherein the first sub-time period may be any sub-time period of the multiple sub-time periods, and the second sub-time period may be a sub-time period other than the first sub-time period.
[0033] If the fusion similarity is greater than the second threshold, the second candidate trajectory is fused with the first candidate trajectory into the same target trajectory. If the fusion similarity is not greater than the second threshold, another candidate trajectory can be traversed from the candidate trajectories in the second sub-time period as the second candidate trajectory, and the operation of calculating the fusion similarity between the second candidate trajectory and the first candidate trajectory is returned to continue until the fusion similarity between the traversed second candidate trajectory and the first candidate trajectory is greater than the second threshold, or the fusion similarity between all candidate trajectories in the second sub-time period and the first candidate trajectory is not greater than the second threshold.
[0034] Exemplarily, calculating the fused similarity between the second candidate trajectory and the first candidate trajectory may include, but is not limited to: generating at least one trajectory pair based on a portion of the original trajectory included in the first candidate trajectory and a portion of the original trajectory included in the second candidate trajectory, each trajectory pair including one original trajectory within the first candidate trajectory and one original trajectory within the second candidate trajectory. Based on the trajectory similarities of the two original trajectories within each trajectory pair, the maximum trajectory similarity is determined as the fused similarity, or based on the trajectory similarities of the two original trajectories within each trajectory pair, the average trajectory similarity is determined as the fused similarity.
[0035] Exemplarily, a method for determining the trajectory similarity of two original trajectories within a trajectory pair may include, but is not limited to: determining characteristic parameters corresponding to the two original trajectories within the trajectory pair, where the characteristic parameters may include, but are not limited to, at least one of the following: maximum distance, minimum distance, time distance, maximum face model similarity, minimum face model similarity, average face model similarity, maximum human body model similarity, minimum human body model similarity, average human body model similarity, sensor topology, the distance between the target object and the sensor within the original trajectory, trajectory value similarity, sensor type information, overlapping time, and the area in which the trajectory is located.
[0036] Then, a feature vector corresponding to the two original trajectories in the trajectory pair may be generated based on the feature parameter, and the trajectory similarity of the two original trajectories in the trajectory pair may be determined based on the feature vector.
[0037] Exemplary methods for determining the trajectory similarity between two original trajectories within a trajectory pair may include, but are not limited to: dividing all original trajectories within a target time period into multiple trajectory pairs. Based on the number of computing nodes K, the multiple trajectory pairs are divided into K trajectory pair sets, i.e., one computing node corresponds to one trajectory pair set, and there is a one-to-one correspondence between computing nodes and trajectory pair sets. If the difference in the number of trajectory pairs within different trajectory pair sets is less than a preset threshold, i.e., the number of trajectory pairs within different trajectory pair sets is the same or similar. The K trajectory pair sets are then distributed to K computing nodes, each corresponding to a trajectory pair set. The computing nodes then determine the trajectory similarity between the two original trajectories within each trajectory pair within the trajectory pair set.
[0038] Step 105: Determine the identity information of each target trajectory within the target time period.
[0039] For example, after step 104 and before step 105, a quality improvement operation can be performed on the target trajectory based on the map information of the area where the target trajectory is located, to obtain a quality-enhanced target trajectory. The quality improvement operation may include, but is not limited to, a correction operation and / or a completion operation. The correction operation is used to correct erroneous trajectory points in the target trajectory to their correct locations; the completion operation is used to add trajectory points to the target trajectory. Based on this, in step 105, the identity information of the quality-enhanced target trajectory can be determined.
[0040] As can be seen from the above technical solutions, in the embodiment of the present application, for each target object, the trajectory of the target object under multiple sensors (i.e., multiple original trajectories) can be fused into a target trajectory (i.e., the complete motion trajectory of the target object), so that the multiple trajectories of the target object under multiple sensors can be identified, and the target object can be managed based on the complete motion trajectory of the target object, and the motion of the target object in the target scene can be restored, providing a long-term management capability for the target object (i.e., the entire process of the target object in the target scene can be managed). By dividing the target time period into multiple sub-time periods and fusing the trajectory pairs in each sub-time period, rather than directly fusing all the trajectory pairs in the target time period, the number of trajectory pairs can be reduced, a large number of trajectory pairs can be avoided, the processing efficiency of the trajectory pair fusion can be improved, and the processing time of the trajectory pair fusion can be reduced. By fusing the candidate trajectories in different sub-time periods, the complete motion trajectory of the target object can be obtained, and the target object can be managed based on the complete motion trajectory of the target object. The identity information and file information corresponding to the target trajectory can be determined, that is, the full-scene archive of the target object is constructed, and even if the target object enters the park at different time periods, the identity can be guaranteed to be unique, and the trajectories generated in different time periods are more accurate. It can be applied to large-scale campus scenarios, has relatively low requirements for data sources, and the fusion results of target trajectories are more accurate and have stronger universality. By building archival information of target objects, more comprehensive management of target objects can be achieved.
[0041] The following describes the technical solutions of the embodiments of the present application in conjunction with specific application scenarios.
[0042] In the embodiments of the present application, an offline distributed trajectory association and archive construction method is proposed, which can be applied to management devices. The management device collects data from multiple source sensors, performs distributed fusion, and constructs a full-scene archive. The method has high universality and the generated trajectories are more accurate. It can be applied to large-scale campus scenarios, has relatively low requirements for data sources, and the fused trajectories are more accurate and have stronger universality.
[0043] For example, multi-source sensors can be deployed in the target scene (such as a campus scene), such as one or more camera sensors (such as analog cameras or network cameras, etc.), one or more Bluetooth sensors, and one or more RFID sensors. These sensors can collect trajectory data of target objects (such as users moving within the campus) and send the trajectory data of the target objects to the management device.
[0044] For a camera sensor, trajectory data may include an image of the target object, a facial model of the target object (i.e., the facial features of the target object in the image), a body model of the target object (i.e., the body features of the target object in the image), and multiple trajectory points of the target object under the camera sensor. Each trajectory point may include a time point and a location point, indicating the target object's location at that time. The location point may be, for example, a latitude and longitude coordinate. Clearly, the multiple trajectory points in the trajectory data constitute a trajectory, which, for convenience, is referred to as the initial trajectory.
[0045] For a Bluetooth sensor, trajectory data can include the target object's device information (i.e., the device information of the terminal device carried by the target object) and multiple trajectory points of the target object under the Bluetooth sensor. For each trajectory point, the trajectory point can include the time point and the location point. Obviously, multiple trajectory points in the trajectory data constitute a trajectory. For the sake of convenience, this trajectory is called the initial trajectory.
[0046] For RFID sensors, trajectory data can include the target object's device information (i.e., the device information of the terminal device carried by the target object) and multiple trajectory points of the target object under the RFID sensor. For each trajectory point, the trajectory point can include the time point and the location point. Obviously, the multiple trajectory points in the trajectory data constitute a trajectory. For the sake of convenience, this trajectory is called the initial trajectory.
[0047] In summary, each sensor in the target scene can send the target object's trajectory data to the management device, and this trajectory data includes the initial trajectory. In order to associate multiple trajectories of the same target object under different sensors, in an embodiment of the present application, the management device performs distributed fusion of the trajectories, thereby fusing the trajectories of the target object under multiple sensors into a complete motion trajectory of the target object. This allows the management device to identify multiple trajectories of the target object under multiple sensors and to regularly associate the trajectories of the target object.
[0048] In an embodiment of the present application, the management device can be implemented using a distributed system, that is, the offline distributed trajectory association and archive construction method is implemented by the distributed system. The distributed system can include multiple nodes (i.e., node devices), and these nodes are deployed in a distributed manner, that is, the management device includes multiple nodes.
[0049] See also Figure 2 As shown, the distributed system may include a data organization layer, a data storage layer, a data processing layer, and a data interface layer. The data organization layer, data storage layer, data processing layer, and data interface layer may be deployed on the same node or on different nodes, without any restrictions. For example, the data organization layer and the data storage layer may be deployed on the same node or on different nodes, the data storage layer and the data processing layer may be deployed on the same node or on different nodes, and the data storage layer and the data interface layer may be deployed on the same node or on different nodes, without any restrictions on this deployment method.
[0050] See also Figure 2 As shown in the figure, the data consolidation layer is used to obtain trajectory data from multiple sensor sources. It performs operations such as data interpolation, spatiotemporal alignment, and data format conversion on the trajectory data to obtain processed trajectory data, which is then stored in the data storage layer. The data storage layer is used to store various types of data information, such as trajectory data, archival information, trajectory association results, and map information. The data processing layer is used to fuse the trajectory data from various sensors to generate the trajectory of each target object, determine the identity of the target object (i.e., assign a unique identifier), and generate archival information for the target object. The fused trajectory data, trajectory association results, and archival information are stored in the data storage layer. The data interface layer is used to provide query capabilities, such as basic query capabilities for trajectories, archives, and maps.
[0051] First, the data organization layer, which is used to acquire trajectory data from multiple sensor sources, can be implemented using distributed components. For example, Kafka is a big data messaging subscription and publishing component that provides message subscription functionality and is installed in a distributed manner for distributed, real-time acquisition of various sensor data. Of course, other messaging middleware or databases can also be used in place of Kafka; there are no restrictions on this, as long as they can acquire trajectory data from multiple sensor sources.
[0052] For example, after the data organization layer obtains the trajectory data from the multi-source sensors (there is no limitation on the acquisition method), the data organization layer may perform at least one of the following operations on the trajectory data:
[0053] Data filtering: used to filter trajectory data that does not meet the requirements. For example, for the trajectory data collected by the camera sensor, if the score of the face model in the trajectory data is lower than the preset threshold, the trajectory data is filtered; if the score of the human body model in the trajectory data is lower than the preset threshold, the trajectory data is filtered. For another example, for the trajectory data collected by the Bluetooth sensor, if there is no trajectory point in the trajectory data, the trajectory data is filtered. For another example, for the trajectory data collected by the RFID sensor, if there is no trajectory point in the trajectory data, the trajectory data is filtered. For another example, if the trajectory data is data that arrives too late, the trajectory data is filtered. The delayed arrival means that the time difference between the trajectory data and the previous trajectory data is greater than the threshold. Of course, the above is just an example of data filtering and there is no limitation to it.
[0054] Data interpolation: This is used to add track points to the initial track. For example, for track data collected by a sensor, which may include an initial track, data interpolation can be performed on the initial track to obtain the initial track after data interpolation.
[0055] For example, for the initial trajectory in the trajectory data, the number of trajectory points in the initial trajectory may be relatively small, and the time interval between two adjacent trajectory points is relatively long. If the initial trajectory needs to be refined, the initial trajectory can be fixed and interpolated. Fixed frequency and interpolation refer to solidifying the frequency of the trajectory points to reduce the impact of jitter errors. On this basis, for the initial trajectory in the trajectory data, the frequency of the trajectory points can be solidified, and new trajectory points can be added between two trajectory points based on this frequency, that is, data interpolation processing is performed. There is no restriction on the implementation method of this data interpolation processing.
[0056] Data spatiotemporal alignment: This is used to convert the initial trajectory to the target coordinate system. This involves converting the position points in the initial trajectory to the target coordinate system. For example, the trajectory data from various sensors can be spatiotemporally aligned. This involves fixing the trajectory data collected by various sensors to a unified coordinate system, called the target coordinate system. Therefore, each initial trajectory can be converted to the target coordinate system.
[0057] Data format conversion processing: used to convert the initial trajectory into the target data format, that is, convert the trajectory data (the trajectory data includes the initial trajectory) into trajectory data in the target data format, thereby converting the trajectory data of various sensors into trajectory data in a consistent data format (i.e., the target data format).
[0058] The data collation layer can receive trajectory data collected by camera sensors, trajectory data collected by Bluetooth sensors, trajectory data collected by RFID sensors, etc., and can design a unified data format (i.e., target data format), convert the trajectory data collected by camera sensors into the target data format, convert the trajectory data collected by Bluetooth sensors into the target data format, and convert the trajectory data collected by RFID sensors into the target data format, thereby converting the trajectory data collected by various sensors into the target data format.
[0059] By converting the trajectory data collected by various sensors into a target data format, trajectory data in a unified data format can be obtained, and then analysis and processing can be performed based on the trajectory data in the unified data format. In this embodiment, there is no restriction on the target data format. For example, the target data format includes an acquisition source field (used to record the unique identifier of each type of sensor), a human body model field (used to record the human body model, human body orientation, model score, etc.), a face model field (used to record the face model, model score, etc.), and a trajectory point field (used to record content such as time points and location points). Of course, the above is only an example of the target data format. There is no restriction on the target data format, and the trajectory data can be stored according to the target data format.
[0060] To summarize, after obtaining the trajectory data collected by the sensor, the data organization layer can filter the trajectory data. For the trajectory data remaining after data filtering, the data organization layer performs data interpolation processing on the initial trajectory in the trajectory data to obtain the initial trajectory after data interpolation processing. The data organization layer performs data spatiotemporal alignment processing on the initial trajectory after data interpolation processing to obtain the initial trajectory after data spatiotemporal alignment processing. The data organization layer performs data format conversion processing on the initial trajectory after data spatiotemporal alignment processing to obtain the initial trajectory after data format conversion processing. The initial trajectory after data format conversion processing is recorded as the original trajectory.
[0061] After obtaining the original trajectory, the data sorting layer may send the trajectory data to the data storage layer for storage. That is, the trajectory data stored in the data storage layer includes the original trajectory.
[0062] Second, the data storage layer is used to store various types of data, such as trajectory data, archival information, trajectory association results, and map information. For example, the data organization layer can send trajectory data to the data storage layer, which then stores the trajectory data, including the original trajectory.
[0063] The data storage layer can be implemented using distributed components, such as the StarTrace component and / or the PG component. The StarTrace component is a spatiotemporal trajectory database that uses a distributed installation to store raw spatiotemporal data (i.e., trajectory data) and fused spatiotemporal data, which can improve the storage and query efficiency of spatiotemporal data. PG (PostgreSQL) is a relational database used to store relational data such as map information and deployment information. Of course, the data storage layer can also use other databases instead of the StarTrace component and the PG component. There is no restriction on this, as long as it can store trajectory data.
[0064] Third, the data processing layer is used to obtain the trajectory data of various sensors from the data storage layer, and fuse the trajectory data of various sensors to generate the trajectory of each target object, determine the identity of the target object (that is, assign a unique identity identifier), and generate the target object's archival information. The fused trajectory data, trajectory association results, archival information, etc. are stored in the data storage layer.
[0065] The data processing layer can be implemented using distributed components, such as Hadoop, Spark, and Zookeeper. Hadoop is the infrastructure of distributed systems and is installed in a distributed manner, providing cluster resource management capabilities for Spark. Spark is a fast, versatile computing engine designed for large-scale data processing. Specifically, Spark can use multiple compute nodes for trajectory fusion, and the number of compute nodes is scalable. The main logic of the data processing layer is implemented based on Spark. Zookeeper is a distributed application coordination service, with distributed collection and installation, ensuring high availability for Spark. Of course, the data processing layer can also use other components in place of Hadoop, Spark, and Zookeeper. There are no restrictions on this, as long as they can fuse trajectory data from various sensors. For example, Flink can be used instead of Spark as the computing engine, and other components that provide high availability can be used instead of Zookeeper.
[0066] The data processing layer fuses trajectory data using offline processing. It operates as a scheduled task, meaning it runs every preset interval (configurable based on experience, such as three hours). During each run, the data processing layer retrieves all trajectory data from the data storage layer for the current cycle (i.e., three hours), fuses all trajectory data from the current cycle, obtains the trajectory of each target object, determines the target object's identity (i.e., assigns a unique identifier), and generates a profile for the target object. To ensure identity consistency across multiple cycles (each cycle corresponds to three hours), the profile can be used to correlate the identities of target objects across multiple cycles.
[0067] For example, the trajectory data can be partitioned for processing, and the advantages of the distributed system can be used to improve processing efficiency. Different strategies can be used to partition the trajectory data for different trajectory data situations and different processing stages. For example, in the process of constructing trajectory pairs and calculating feature vectors, the trajectories can be evenly partitioned and the feature vectors of all trajectory pairs can be calculated. When associating and fusing trajectories, considering the temporal continuity of trajectories (i.e., trajectories with similar time periods may be the same target object), the trajectories can be partitioned by time, and each time partition can be processed in parallel, and trajectory association and trajectory identity confirmation can be performed within the partition. When confirming the identity, the historical archival information is used to associate the trajectory data of the current batch (i.e., the current 3 hours) with the historical processing results according to the identity to ensure the continuity of data processing.
[0068] After the association of each partition is completed, all partition information can be merged to perform overall data fusion. Considering that the direct fusion efficiency is low due to the large amount of data, all partition fusion results can be sampled and the sampled association results can be compared with each other. If there are targets with high similarity, they can be merged and identity fusion can be performed.
[0069] After the partitioned trajectory fusion is completed, the fused trajectory can also be improved to ensure that the output trajectory has high quality. The quality improvement of the trajectory is related to the area in which the trajectory is located. Therefore, the fused trajectory is partitioned by region, and the map information of the area in each partition is obtained within each partition. The user also configures whether the regional trajectory is refined or dotted (refined trajectory has high density and high trajectory restoration, but also requires dense sensors, while dotted trajectory has low density and is more focused on restoring the trajectory movement trend, and the number of sensors can be greatly reduced). The trajectory quality improvement operations such as correction (processing the trajectory in the obstacle to the passable area) and completion (missing trajectory segments, reasonable interpolation based on the map to make the trajectory complete) are finally stored in the data storage layer.
[0070] In the above process, it is necessary to determine the feature vector and determine the trajectory similarity based on the feature vector. To determine trajectory similarity, we can first collect trajectory data collected by various sensors in the target scene, calibrate the trajectory data (that is, classify trajectories belonging to the same target object), and use a machine learning algorithm to train it to obtain a trajectory association model. Then, we use the trajectory association model to obtain trajectory similarity. For example, the feature vector is input to the trajectory association model, and the trajectory association model outputs the trajectory similarity.
[0071] The feature vector is a feature used to characterize the trajectory similarity between two trajectories, and may include but is not limited to at least one of the following: maximum distance between trajectories, minimum distance between trajectories, time distance between trajectories, maximum human model similarity, minimum human model similarity, average human model similarity, maximum face model similarity, minimum face model similarity, average face model similarity, sensor topology, sensor distance, trajectory value similarity, whether the sensor type is consistent, overlapping time, and the area where the trajectory is located.
[0072] The following describes the processing of the data processing layer in combination with specific application scenarios. Figure 3 The figure shows a processing flow diagram of the data processing layer. The processing process of the data processing layer may include:
[0073] Step 301: Acquire multiple original trajectories within a target time period. The multiple original trajectories are collected by multiple sensors of a target scene. Different original trajectories are collected by the same sensor or by different sensors.
[0074] For example, suppose the data processing layer runs once every preset time period (such as 3 hours). During each run, the data processing layer obtains all trajectory data within the target time period (that is, the 3 hours of the current cycle) from the data storage layer. Each trajectory data includes the original trajectory, that is, a large number of original trajectories are obtained.
[0075] These original trajectories may be collected by multiple sensors (such as one or more camera sensors, one or more Bluetooth sensors, one or more RFID sensors). That is, different original trajectories may be collected by the same sensor, and different original trajectories may also be collected by different sensors.
[0076] These original trajectories may be original trajectories of multiple target objects, that is, different original trajectories may be original trajectories of the same target object or original trajectories of different target objects.
[0077] Step 302: Divide all original trajectories within the target time period into multiple trajectory pairs, each trajectory pair includes two original trajectories, that is, any two original trajectories constitute a trajectory pair.
[0078] For example, assuming that there are original trajectories a1, a2, a3, and a4 in the target time period, in actual applications, the number of original trajectories is much greater than 4. In this case, all original trajectories can be divided into the following trajectory pairs: (a1, a2), (a1, a3), (a1, a4), (a2, a3), (a2, a3), (a3, a4). In other words, every two original trajectories form a trajectory pair.
[0079] Step 303 : Divide the plurality of trajectory pairs into K trajectory pair sets based on the number K of computing nodes, each trajectory pair set includes a trajectory pair, and the K trajectory pair sets include all trajectory pairs.
[0080] Exemplarily, one computing node corresponds to one trajectory pair set, and the computing nodes and trajectory pair sets have a one-to-one correspondence. The difference in the number of trajectory pairs in different trajectory pair sets is less than a preset number threshold (configured based on experience, such as 2), that is, the number of trajectory pairs in different trajectory pair sets is the same or close.
[0081] For example, assuming that the data processing layer uses three computing nodes to calculate trajectory similarity, all trajectory pairs can be divided into three trajectory pair sets, denoted as trajectory pair set 1, trajectory pair set 2, and trajectory pair set 3. If the total number of trajectory pairs is 300, then trajectory pair set 1 includes 100 trajectory pairs, trajectory pair set 2 includes 100 trajectory pairs, and trajectory pair set 3 includes 100 trajectory pairs.
[0082] Step 304: Send the K trajectory pair sets to K computing nodes. Each computing node corresponds to one trajectory pair set (i.e., there can be a one-to-one correspondence between computing nodes and trajectory pair sets). The computing node determines the trajectory similarity between the two original trajectories in each trajectory pair in the trajectory pair set.
[0083] For example, trajectory pair set 1 can be sent to compute node 1, trajectory pair set 2 to compute node 2, and trajectory pair set 3 to compute node 3. After receiving trajectory pair set 1, compute node 1, which contains 100 trajectory pairs, can calculate the trajectory similarity between the two original trajectories in each trajectory pair, thus obtaining the trajectory similarity for all 100 trajectory pairs. Similarly, compute node 2 can obtain the trajectory similarity for all 100 trajectory pairs, and compute node 3 can obtain the trajectory similarity for all 100 trajectory pairs. Compute nodes 1, 2, and 3 can calculate trajectory similarity in parallel.
[0084] Since the method for determining the trajectory similarity of each trajectory pair is the same, for the convenience of description, in the subsequent embodiments, the method for determining the trajectory similarity of a trajectory pair (a1, a2) by computing node 1 is used as an example. The method for determining the trajectory similarity of other trajectory pairs is not repeated in this embodiment.
[0085] To determine the trajectory similarity of the trajectory pair (a1, a2), the following steps can be used:
[0086] Step S11: Determine the characteristic parameters corresponding to the two original trajectories in the trajectory pair (a1, a2), that is, determine the characteristic parameters corresponding to the original trajectory a1 and the original trajectory a2. Exemplarily, the characteristic parameters may include, but are not limited to, at least one of the following: maximum distance, minimum distance, time distance, maximum face model similarity, minimum face model similarity, average face model similarity, maximum human model similarity, minimum human model similarity, average human model similarity, sensor topology, distance between the target object and the sensor in the original trajectory, trajectory value similarity, sensor type information, overlapping time, and the area where the trajectory is located.
[0087] The maximum distance represents the maximum distance between trajectories, and the minimum distance represents the minimum distance between trajectories. For example, the distance value between the first trajectory point of the original trajectory a1 and the first trajectory point of the original trajectory a2 is determined, and the distance value between the second trajectory point of the original trajectory a1 and the second trajectory point of the original trajectory a2 is determined, and so on. After obtaining the above distance values, the maximum value of all distance values can be used as the maximum distance between trajectories, and the minimum value of all distance values can be used as the minimum distance between trajectories.
[0088] The time distance represents the time distance between trajectories. For example, if the original trajectory a1 is located in front of the original trajectory a2, the difference between the first time point of the original trajectory a2 (i.e., the starting time point of the original trajectory a2) and the last time point of the original trajectory a1 (i.e., the ending time point of the original trajectory a1) is taken as the time distance between the trajectories.
[0089] The trajectory data corresponding to the original trajectory a1 includes a face model (which may be multiple face models, such as each trajectory point corresponds to a face model), and the trajectory data corresponding to the original trajectory a2 includes a face model (which may be multiple face models, such as each trajectory point corresponds to a face model). The similarity between the face model corresponding to the original trajectory a1 and the face model corresponding to the original trajectory a2 can be calculated, that is, multiple similarities can be obtained. The maximum value of all similarities is used as the maximum face model similarity, the minimum value of all similarities is used as the minimum face model similarity, and the average of all similarities is used as the average face model similarity.
[0090] The trajectory data corresponding to the original trajectory a1 includes a human body model (which may be multiple human body models, such as one human body model for each trajectory point), and the trajectory data corresponding to the original trajectory a2 includes a human body model (which may be multiple human body models, such as one human body model for each trajectory point). The similarity between the human body model corresponding to the original trajectory a1 and the human body model corresponding to the original trajectory a2 can be calculated, that is, multiple similarities can be obtained. The maximum value of all similarities is used as the maximum human body model similarity, the minimum value of all similarities is used as the minimum human body model similarity, and the average of all similarities is used as the average human body model similarity.
[0091] The sensor topology may be the network topology of all sensors deployed in the target scenario, such as the connection relationship between sensors. There is no restriction on this sensor topology, and it may be configured according to actual conditions.
[0092] The distance between the target object and the sensor in the original trajectory can be simply referred to as the sensor distance. For example, if the original trajectory a1 is collected by sensor 1, the distance between the target object in the original trajectory a1 and the sensor 1 can be determined. For example, if the original trajectory a1 includes multiple trajectory points, the distance between each trajectory point and the sensor 1 can be determined, and the maximum value of these distances can be used as the distance between the target object and the sensor 1 in the original trajectory a1.
[0093] Similarly, the distance between the target object and the sensor in the original trajectory a2 can be determined.
[0094] The trajectory value similarity is the similarity between the trajectory points in the original trajectory a1 and the trajectory points in the original trajectory a2. There is no restriction on the method for determining the trajectory value similarity. For example, the trajectory value similarity can be determined based on the distance between the trajectory points in the original trajectory a1 and the trajectory points in the original trajectory a2.
[0095] The sensor type information may include information about whether the sensor types are consistent. For example, if the sensor used to collect original trajectory a1 is a camera sensor and the sensor used to collect original trajectory a2 is also a camera sensor, then the sensor types are consistent. Alternatively, if the sensor used to collect original trajectory a1 is a camera sensor and the sensor used to collect original trajectory a2 is a Bluetooth sensor, then the sensor types are inconsistent.
[0096] The overlap time indicates the overlap time between the original trajectory a1 and the original trajectory a2.
[0097] The area where the trajectory is located represents the latitude and longitude information of the sensor, for example, the latitude and longitude information of the sensor that collected the original trajectory a1 and the latitude and longitude information of the sensor that collected the original trajectory a2.
[0098] In summary, the characteristic parameters corresponding to the original trajectory a1 and the original trajectory a2 can be determined.
[0099] Step S12: generating feature vectors corresponding to the two original trajectories in the trajectory pair based on the feature parameters.
[0100] Exemplarily, after obtaining the feature parameters corresponding to the original trajectory a1 and the original trajectory a2, the feature vectors corresponding to the original trajectory a1 and the original trajectory a2 can be generated based on the feature parameters, and there is no restriction on this feature vector. For example, assuming that the feature parameters include maximum distance, minimum distance, time distance, maximum face model similarity, minimum face model similarity, average face model similarity, maximum human body model similarity, minimum human body model similarity, average human body model similarity, sensor topology, the distance between the target object and the sensor in the original trajectory, trajectory value similarity, sensor type information, overlapping time, and the area where the trajectory is located, the feature vector can be a 1*15-dimensional feature vector, a 3*5-dimensional feature vector, a 5*3-dimensional feature vector, or a 15*1-dimensional feature vector, that is, the feature vector includes 15 eigenvalues.
[0101] The first eigenvalue corresponds to the maximum distance, which can be the value after normalization of the maximum distance. The second eigenvalue corresponds to the minimum distance. The third eigenvalue corresponds to the time distance, and so on.
[0102] Step S13: determining the trajectory similarity between the two original trajectories in the trajectory pair based on the feature vector.
[0103] For example, after obtaining the feature vectors corresponding to the original trajectory a1 and the original trajectory a2, the trajectory similarity between the original trajectory a1 and the original trajectory a2 may be determined based on the feature vectors.
[0104] For example, a trajectory association model can be pre-trained and the feature vector can be input into the trajectory association model. The trajectory association model then outputs the trajectory similarity corresponding to the feature vector. This trajectory similarity is the trajectory similarity between the original trajectory a1 and the original trajectory a2. Of course, other algorithms can also be used to determine the trajectory similarity between the original trajectory a1 and the original trajectory a2, and there is no limitation to this.
[0105] Exemplarily, in order to train the trajectory association model, the following method can be adopted: obtain sample trajectories collected by various sensors of the target scene, and determine the feature vector between any two sample trajectories (similar to steps S11 and S12), and calibrate the feature vector (that is, the calibration is two sample trajectories of the same object, that is, positive samples, or two sample trajectories of different objects, that is, negative samples). Then, the feature vector and calibration information are input into the model to be trained (such as a model based on a machine learning algorithm), so as to train the model to be trained and obtain a trained trajectory association model. There is no restriction on this training process.
[0106] In summary, for each computing node, we can obtain the trajectory similarity of each trajectory pair within the trajectory pair set, thereby obtaining the trajectory similarity of all trajectory pairs within the target time period. In the process of calculating the feature vector, all trajectory pairs are evenly partitioned, and the trajectory pairs in different partitions (i.e., trajectory pair sets) are sent to different computing nodes, which then calculate the trajectory similarity in parallel.
[0107] Step 305: Divide the target time period into multiple sub-time periods; for each sub-time period, divide all original trajectories within the sub-time period into multiple trajectory pairs, each trajectory pair including two original trajectories. In other words, any two original trajectories within the sub-time period constitute a trajectory pair.
[0108] For example, assuming that the target time period is 3 hours, the target time period is divided into M sub-time periods. M can be arbitrarily configured, such as 2, 3, 4, etc., and there is no restriction on this. Taking 3 sub-time periods as an example, sub-time period 1 is the first hour of the target time period, such as (0,1] hours, sub-time period 2 is the second hour of the target time period, such as (1,2] hours, and sub-time period 3 is the third hour of the target time period, such as (2,3] hours.
[0109] For each original trajectory within the target time period, if the start time (i.e., the first time point) of the original trajectory falls within a sub-time period, then the original trajectory is an original trajectory within the sub-time period. Alternatively, for each original trajectory within the target time period, if the end time (i.e., the last time point) of the original trajectory falls within a sub-time period, then the original trajectory is an original trajectory within the sub-time period.
[0110] In summary, all original trajectories within the target time period can be divided into multiple sub-time periods, that is, all original trajectories within each sub-time period can be obtained. For example, the original trajectories within sub-time period 1, the original trajectories within sub-time period 2, and the original trajectories within sub-time period 2 can be obtained.
[0111] For each sub-time period, taking sub-time period 1 as an example, assuming that there are original trajectories a1, a2, a3, and a4 in sub-time period 1, in actual applications, the number of original trajectories is much greater than 4. Therefore, all original trajectories in sub-time period 1 can be divided into the following trajectory pairs: (a1, a2), (a1, a3), (a1, a4), (a2, a3), (a2, a3), (a3, a4). In other words, every two original trajectories in sub-time period 1 constitute a trajectory pair.
[0112] In summary, when it is necessary to associate and fuse trajectories, considering the temporal continuity of trajectories (i.e., trajectories with similar time periods may be the same target object), the trajectories can be partitioned by time and processed in parallel. In other words, the target time period can be divided into multiple sub-time periods, and the trajectories can be associated and fused separately for each sub-time period. The trajectories of different sub-time periods can be associated and fused in parallel.
[0113] Step 306: Based on the trajectory similarity between the two original trajectories in each trajectory pair, all original trajectories in the sub-time period are merged into at least one candidate trajectory in the sub-time period. The candidate trajectory includes at least two original trajectories, and the trajectory similarity between the two original trajectories included in the candidate trajectory is greater than a first threshold.
[0114] For example, assuming that sub-time period 1 corresponds to the following trajectory pairs: (a1, a2), (a1, a3), (a1, a4), (a2, a3), (a2, a3), (a3, a4), if the trajectory similarity of the original trajectory a1 and the original trajectory a2 is greater than a first threshold (which can be configured based on experience), then the original trajectory a1 and the original trajectory a2 are fused into one candidate trajectory; if the trajectory similarity of the original trajectory a1 and the original trajectory a2 is not greater than the first threshold, then the original trajectory a1 and the original trajectory a2 are not fused into one candidate trajectory.
[0115] If the trajectory similarity between the original trajectory a1 and the original trajectory a3 is greater than the first threshold, the original trajectory a1 and the original trajectory a3 are merged into one candidate trajectory. If the trajectory similarity between the original trajectory a1 and the original trajectory a3 is not greater than the first threshold, the original trajectory a1 and the original trajectory a3 are not merged into one candidate trajectory.
[0116] Similarly, based on the trajectory similarity between the two original trajectories in each trajectory pair, all original trajectories in sub-time period 1 can be fused into at least one candidate trajectory. Each candidate trajectory includes at least two original trajectories, and the trajectory similarity between the two original trajectories included in the candidate trajectory is greater than the first threshold.
[0117] For example, all original trajectories within sub-time period 1 are merged into candidate trajectories b1 and b2. Candidate trajectories b1 include original trajectories a1, a2, and a4, while candidate trajectories b2 include original trajectories a3, a5, and a6. For candidate trajectories b1, the trajectory similarity between original trajectories a1 and a2 is greater than a first threshold, the trajectory similarity between original trajectories a1 and a4 is greater than the first threshold, and the trajectory similarity between original trajectories a2 and a4 is greater than the first threshold.
[0118] In summary, the candidate trajectories in each sub-time period can be obtained, for example, the candidate trajectories in sub-time period 1, the candidate trajectories in sub-time period 2, and the candidate trajectories in sub-time period 3 can be obtained.
[0119] Step 307: Based on the fusion similarity between the candidate trajectories in all sub-time periods, the candidate trajectories in all sub-time periods are fused into at least one target trajectory in the target time period, where each target trajectory includes at least one candidate trajectory. If the target trajectory includes at least two candidate trajectories, the fusion similarity between the two candidate trajectories included in the target trajectory may be greater than a second threshold.
[0120] For example, assuming that the candidate trajectories in sub-time period 1 include candidate trajectories b1 and candidate trajectories b2, the candidate trajectories in sub-time period 2 include candidate trajectories c1 and candidate trajectories c2, and the candidate trajectories in sub-time period 3 include candidate trajectories d1, candidate trajectories d2, and candidate trajectories d3, if the fusion similarity between candidate trajectories b1 and candidate trajectories c1 (such as each candidate trajectories in sub-time period 2 and sub-time period 3) is greater than a second threshold (which can be configured based on experience), then candidate trajectories b1 and candidate trajectories c1 are fused into a target trajectory. If the fusion similarity between candidate trajectories b1 and candidate trajectories c1 is not greater than the second threshold, then candidate trajectories b1 and candidate trajectories c1 are not fused into a target trajectory. If the fusion similarity between candidate trajectories b2 and candidate trajectories c1 (such as each candidate trajectories in sub-time period 2 and sub-time period 3) is greater than the second threshold, then candidate trajectories b2 and candidate trajectories c1 are fused into a target trajectory. If the fusion similarity between candidate trajectories b2 and candidate trajectories c1 is not greater than the second threshold, then candidate trajectories b2 and candidate trajectories c1 are not fused into a target trajectory. Similarly, based on the fusion similarity between the candidate trajectories in all sub-time periods, the candidate trajectories in all sub-time periods can be fused into at least one target trajectory.
[0121] In one possible implementation, for step 307 , based on the fusion similarity between the candidate trajectories in all sub-time periods, all candidate trajectories may be fused into a target trajectory using the following steps:
[0122] Step S21: For each first candidate trajectory within a first sub-time period, a candidate trajectory is traversed from the candidate trajectories within a second sub-time period as a second candidate trajectory, where the first sub-time period is any sub-time period among the multiple sub-time periods, and the second sub-time period is a sub-time period other than the first sub-time period.
[0123] Step S22: Calculate the fusion similarity between the second candidate trajectory and the first candidate trajectory.
[0124] Step S23: Determine whether the fusion similarity is greater than a second threshold.
[0125] If yes, then step S24 may be executed; if no, then step S25 may be executed.
[0126] Step S24: The second candidate trajectory and the first candidate trajectory are merged into a single target trajectory. Thus, the fusion operation of the first candidate trajectory and the candidate trajectories in the second sub-time period is completed.
[0127] Step S25: Determine whether all candidate trajectories within the second sub-time period have been traversed.
[0128] If not, another candidate trajectory is traversed from the candidate trajectories in the second sub-time period as the second candidate trajectory, and the process returns to step S22, that is, step S22 is re-executed based on the new second candidate trajectory.
[0129] If so, the fusion operation of the first candidate trajectory and the candidate trajectory in the second sub-time period is completed.
[0130] For example, if sub-period 1 is used as the first sub-period, sub-period 2 is used as the second sub-period, and candidate trajectory b1 is used as the first candidate trajectory, candidate trajectory c1 is selected from all candidate trajectories in sub-period 2 as the second candidate trajectory. If the fusion similarity between candidate trajectories b1 and c1 is greater than the second threshold, candidate trajectories b1 and c1 are fused into the same target trajectory, thus completing the fusion operation of candidate trajectory b1 with the candidate trajectories in sub-period 2. It should be noted that since candidate trajectories c1 and c2 are not candidate trajectories of the same target object, in this case, there is no need to compare the fusion similarity between candidate trajectories b1 and c2.
[0131] If the fusion similarity between candidate trajectories b1 and c1 is not greater than the second threshold, candidate trajectories c2 are selected from all candidate trajectories in sub-time period 2 as the second candidate trajectory. If the fusion similarity between candidate trajectories b1 and c2 is greater than the second threshold, candidate trajectories b1 and c2 are fused into the same target trajectory. If the fusion similarity between candidate trajectories b1 and c2 is not greater than the second threshold, candidate trajectories c1 and all candidate trajectories in sub-time period 2 cannot be fused.
[0132] For another example, let sub-time period 1 be the first sub-time period, sub-time period 3 be the second sub-time period, and candidate trajectory b1 be the first candidate trajectory. Then, from all candidate trajectories in sub-time period 3, candidate trajectories (such as candidate trajectory d1, candidate trajectory d2, and candidate trajectory d3) are traversed and selected as the second candidate trajectory. The fusion operation of candidate trajectory b1 and the candidate trajectories in sub-time period 3 is completed, which will not be repeated here.
[0133] After the fusion operation of candidate trajectory b1 is completed, sub-time period 1 is used as the first sub-time period, sub-time period 2 is used as the second sub-time period, candidate trajectory b2 is used as the first candidate trajectory, and candidate trajectory b2 is traversed from all candidate trajectories in sub-time period 2 as the second candidate trajectory. The fusion operation of candidate trajectory b2 with the candidate trajectories in sub-time period 2 is completed. This will not be repeated here. Then, sub-time period 1 is used as the first sub-time period, sub-time period 3 is used as the second sub-time period, candidate trajectory b2 is used as the first candidate trajectory, and candidate trajectory b2 is traversed from all candidate trajectories in sub-time period 3 as the second candidate trajectory. The fusion operation of candidate trajectory b2 with the candidate trajectories in sub-time period 3 is completed. This will not be repeated here.
[0134] After the fusion operation of candidate trajectory b2 is completed, sub-time period 2 is used as the first sub-time period, sub-time period 3 is used as the second sub-time period, and candidate trajectory c1 is used as the first candidate trajectory. A candidate trajectory is traversed from all candidate trajectories in sub-time period 3 as the second candidate trajectory. The fusion operation of candidate trajectory c1 with the candidate trajectories in sub-time period 3 is completed. This will not be repeated here. Then, sub-time period 2 is used as the first sub-time period, sub-time period 3 is used as the second sub-time period, and candidate trajectory c2 is used as the first candidate trajectory. A candidate trajectory is traversed from all candidate trajectories in sub-time period 3 as the second candidate trajectory. The fusion operation of candidate trajectory c2 with the candidate trajectories in sub-time period 3 is completed. This will not be repeated here.
[0135] For example, all candidate trajectories within a target time period are fused into target trajectories e1, e2, and e3. Target trajectories e1 may include candidate trajectories b1, c1, and d1; target trajectories e2 may include candidate trajectories b2, c2, and d2; and target trajectories e3 may include candidate trajectories d3. Each candidate trajectory may also include multiple original trajectories. For target trajectories e1, the fused similarity between candidate trajectories b1 and c1 is greater than a second threshold, the fused similarity between candidate trajectories b1 and d1 is greater than the second threshold, and the fused similarity between candidate trajectories c1 and d1 is greater than the second threshold.
[0136] In summary, the target trajectory within the target time period can be obtained, that is, multiple candidate trajectories are fused into the target trajectory, that is, multiple original trajectories corresponding to the multiple candidate trajectories are fused into the target trajectory.
[0137] In one possible implementation, for step S22, the fused similarity between the second candidate trajectory and the first candidate trajectory can be calculated as follows: at least one trajectory pair is generated based on a portion of the original trajectory included in the first candidate trajectory and a portion of the original trajectory included in the second candidate trajectory, where each trajectory pair can include an original trajectory from the first candidate trajectory and an original trajectory from the second candidate trajectory. Based on the trajectory similarities of the two original trajectories in each trajectory pair, the maximum trajectory similarity is determined as the fused similarity, or the average trajectory similarity is determined as the fused similarity.
[0138] For example, assuming that the first candidate trajectory includes 10 original trajectories, 2 original trajectories are selected from the 10 original trajectories, recorded as original trajectory f11 and original trajectory f12; assuming that the second candidate trajectory includes 15 original trajectories, 3 original trajectories are selected from the 15 original trajectories, recorded as original trajectory f21, original trajectory f22, and original trajectory f23. On this basis, the following 6 trajectory pairs can be obtained: (f11, f21), (f11, f22), (f11, f23), (f12, f21), (f12, f22), (f12, f23). Based on the trajectory similarities of the above 6 trajectory pairs, the maximum value of the trajectory similarity can be determined as the fusion similarity, or the average value of the trajectory similarity can be determined as the fusion similarity.
[0139] In step 308, based on the map information of the area where the target track is located, a quality improvement operation can be performed on the target track to obtain a quality-enhanced target track. Exemplarily, the quality improvement operation may include, but is not limited to, a correction operation and / or a completion operation; the correction operation is used to correct erroneous track points in the target track to the correct position; the completion operation is used to add track points to the target track. Of course, the above are only examples of quality improvement operations and are not limited to them. Any quality improvement operation that can improve the quality of the target track is sufficient. The quality improvement operation can be performed on part of the target track, or on the entire target track.
[0140] For example, in order to ensure that the target trajectory has a high quality, the target trajectory can also be improved in quality. The quality improvement is related to the area where the target trajectory is located. Therefore, map information of the area where the target trajectory is located can be obtained, and the target trajectory can be improved in quality based on the map information. For example, the target trajectory can be corrected (the trajectory in the obstacle is processed to a passable area) and completed (missing trajectory segments are reasonably interpolated according to the map information to make the target trajectory complete).
[0141] Step 309: Determine the identity information of each target trajectory within the target time period, and generate file information corresponding to the identity information. The file information may include the identity information and the target trajectory.
[0142] Exemplarily, for each target track within the target time period, a determination is made as to whether the data storage layer already stores the corresponding archival information for the target track. If not, identity information (i.e., a unique identifier for the target track) is assigned to the target track, and archival information corresponding to the identity information is generated. The archival information may include the identity information and the target track. In addition to the identity information and the target track, the archival information may also include a facial model and a human body model corresponding to the target track, and there are no restrictions on this archival information.
[0143] If the data storage layer already stores archival information corresponding to the target track, the identity information in the archival information can be determined as the identity information of the target track. That is, the archival information is used as the archival information of the target track, and the target track is updated to the archival information. The archival information can include both the identity information and the target track. Of course, in addition to the identity information and the target track, the archival information can also include the facial model and human body model corresponding to the target track, and there is no limitation on this archival information.
[0144] File information refers to building a separate file for each target object. The file information includes the identity information of the target object (such as identity identification), face model, human body model, and all trajectories of the target object.
[0145] To summarize, when confirming the identity information of the target trajectory, we can use historical archival information (i.e., archival information stored in the data storage layer) to associate the trajectory data within the current target time period (i.e., the current 3 hours) with the historical processing results according to the identity to ensure the continuity of data processing.
[0146] Fourth, the data storage layer, which is used to store various types of data information. For example, the data sorting layer can send trajectory data to the data storage layer, which stores the trajectory data, and the trajectory data includes the original trajectory. For another example, the data processing layer can send target trajectory and archival information and other contents to the data storage layer, which stores the target trajectory and archival information and other contents. Exemplarily, the data storage layer is used to store original data information (stored by the data sorting layer to the data storage layer), archival information (stored by the data processing layer to the data storage layer), trajectory association result information (i.e., the fused target trajectory, stored by the data processing layer to the data storage layer), map information, device information, etc.
[0147] Profile information refers to the construction of a separate profile for each target object. Profile information may include the target object's identity information (such as an ID), facial model, human body model, and all of the target object's trajectories. Trajectory association results may include the associated target trajectory and identity information. Map information may include a map of the target scene (such as a campus), constructing maps of the entire campus, each floor, and inter-floor access methods, such as stairs and elevators. This type of map information is generated by obtaining a map of the campus and modeling it using a specified algorithm. Device information includes the location of all sensors, IP addresses, and other related information.
[0148] Fifth, the data interface layer provides query capabilities, such as trajectory, archive, and map queries. This includes image search, time-based, and identity-based query methods, expanding the capabilities of the outer layer. The data interface layer is extensible, allowing for continuous expansion of query capabilities. Through archive queries, a display interface is provided to view the movement of any target object within the park and link it to video.
[0149] As can be seen from the above technical solutions, in the embodiments of the present application, multiple trajectories of a target object under multiple sensors can be identified, and the target object can be managed based on its complete motion trajectory. This allows the target object to be restored within the target scene, providing long-term management capabilities for the target object. By dividing the target time period into multiple sub-time periods and fusing the trajectory pairs within each sub-time period, rather than directly fusing all trajectory pairs within the target time period, the number of trajectory pairs can be reduced, avoiding the need to fuse a large number of trajectory pairs, improving the efficiency of trajectory pair fusion, and reducing the processing time of trajectory pair fusion. By fusing candidate trajectories within different sub-time periods, the target object's complete motion trajectory can be obtained, and the target object can be managed based on the target object's complete motion trajectory. The identity information and profile information corresponding to the target trajectory can be determined, that is, a full-scene profile of the target object can be constructed. Even if the target object enters the park at different time periods, the identity can be guaranteed to be unique, and the trajectories generated in different time periods are more accurate. This method can be applied to large-scale park scenarios, has relatively low data source requirements, and the fusion results of the target trajectory are more accurate and have greater universality. By constructing profile information of the target object, more comprehensive management of the target object can be achieved. Data sources from various sensors can be connected, and the merging strategy is based on the characteristics of distributed computing. Partitioning is performed by time and space at different processing stages, and the content and form of the partitions are continuously adjusted to make the final results more accurate. A trajectory association and archive construction system for distributed campuses is proposed, and a corresponding deployment plan is given. This deployment architecture can be continuously expanded. When cluster resources are insufficient, the system processing capacity can be improved by adding machines or increasing resources for each machine. Archive construction and updating for each target object in the campus can make data management more reasonable and the samples richer. The target object can also be guaranteed to have a unique identity even if it enters the campus at different time periods. Depending on the equipment deployment, both sparse and refined trajectories can be generated.
[0150] Based on the same application concept as the above method, a trajectory fusion device is proposed in the embodiment of the present application, see Figure 4 FIG. 1 is a schematic diagram of the structure of the trajectory fusion device, which may include:
[0151] An acquisition module 41 is configured to acquire multiple original trajectories within a target time period, where the multiple original trajectories are acquired by multiple sensors of the target scene, and different original trajectories are acquired by the same sensor or different sensors;
[0152] The fusion module 42 is configured to divide the target time period into a plurality of sub-time periods; for each sub-time period, generate a plurality of trajectory pairs based on all original trajectories within the sub-time period, each trajectory pair including two original trajectories; based on the trajectory similarity of the two original trajectories within each trajectory pair, fuse all original trajectories within the sub-time period into at least one candidate trajectory within the sub-time period, the candidate trajectory including at least two original trajectories, and the trajectory similarity of the two original trajectories included in the candidate trajectory being greater than a first threshold; based on the fusion similarity between the candidate trajectories within the plurality of sub-time periods, fuse the candidate trajectories within all sub-time periods into at least one target trajectory within the target time period, each target trajectory including at least one candidate trajectory; wherein, if the target trajectory includes at least two candidate trajectories, the fusion similarity between the two candidate trajectories included in the target trajectory is greater than a second threshold;
[0153] The determination module 43 is configured to determine the identity information of each target trajectory within the target time period.
[0154] Exemplarily, when the fusion module 42 fuses the candidate trajectories in all sub-time periods into at least one target trajectory in the target time period based on the fusion similarity between the candidate trajectories in the multiple sub-time periods, it is specifically configured to: for each first candidate trajectory in the first sub-time period, traverse a candidate trajectory from the candidate trajectories in the second sub-time period as a second candidate trajectory, and calculate the fusion similarity between the second candidate trajectory and the first candidate trajectory; wherein the first sub-time period is any sub-time period of the multiple sub-time periods, and the second sub-time period is a sub-time period other than the first sub-time period; if the fusion similarity is greater than a second threshold, fuse the second candidate trajectory with the first candidate trajectory into the same target trajectory; if the fusion similarity is not greater than the second threshold, traverse another candidate trajectory from the candidate trajectories in the second sub-time period as the second candidate trajectory, and return to the operation of calculating the fusion similarity between the second candidate trajectory and the first candidate trajectory, until the fusion similarity between the traversed second candidate trajectory and the first candidate trajectory is greater than the second threshold, or the fusion similarity between all candidate trajectories in the second sub-time period and the first candidate trajectory is not greater than the second threshold.
[0155] Exemplarily, when calculating the fusion similarity between the second candidate trajectory and the first candidate trajectory, the fusion module 42 is specifically configured to: generate at least one trajectory pair based on a portion of the original trajectory included in the first candidate trajectory and a portion of the original trajectory included in the second candidate trajectory; wherein each trajectory pair includes an original trajectory within the first candidate trajectory and an original trajectory within the second candidate trajectory; and based on the trajectory similarities of the two original trajectories in each trajectory pair, determine the maximum value of the trajectory similarities as the fusion similarity, or determine the average value of the trajectory similarities as the fusion similarity.
[0156] Exemplarily, when determining the trajectory similarity of two original trajectories within a trajectory pair, the fusion module 42 is specifically used to: determine feature parameters corresponding to the two original trajectories within the trajectory pair; wherein the feature parameters include at least one of the following: maximum distance, minimum distance, time distance, maximum face model similarity, minimum face model similarity, average face model similarity, maximum human body model similarity, minimum human body model similarity, average human body model similarity, sensor topology, the distance between the target object and the sensor within the original trajectory, trajectory value similarity, sensor type information, overlapping time, and the area in which the trajectory is located; and, based on the feature parameters, generate a feature vector corresponding to the two original trajectories within the trajectory pair, and determine the trajectory similarity of the two original trajectories within the trajectory pair based on the feature vector.
[0157] Exemplarily, when determining the trajectory similarity between two original trajectories within a trajectory pair, the fusion module 42 is specifically configured to: divide all original trajectories within the target time period into multiple trajectory pairs; divide the multiple trajectory pairs into K trajectory pair sets based on the number of computing nodes K; wherein the difference in the number of trajectory pairs within different trajectory pair sets is less than a preset number threshold; and send the K trajectory pair sets to K computing nodes, each computing node corresponding to a trajectory pair set, and determine the trajectory similarity between the two original trajectories within each trajectory pair within the trajectory pair set.
[0158] Exemplarily, when the acquisition module 41 acquires multiple original trajectories within a target time period, it is specifically used to: acquire an initial trajectory collected by a sensor of a target scene, perform data preprocessing on the initial trajectory, and obtain an original trajectory corresponding to the initial trajectory; the data preprocessing includes at least one of the following: data interpolation processing, data spatiotemporal alignment processing, and data format conversion processing; the data interpolation processing is used to add trajectory points to the initial trajectory; the data spatiotemporal alignment processing is used to convert the initial trajectory to a target coordinate system; and the data format conversion processing is used to convert the initial trajectory into a target data format.
[0159] Exemplarily, the fusion module 42 is further configured to fuse the candidate trajectories in all sub-time periods into at least one target trajectory in the target time period based on the fusion similarity between the candidate trajectories in the multiple sub-time periods, and further configured to: perform a quality improvement operation on the target trajectory based on map information of the area where the target trajectory is located to obtain a target trajectory with improved quality, wherein the quality improvement operation includes a correction operation and / or a completion operation; wherein the correction operation is configured to correct erroneous trajectory points in the target trajectory to the correct position; and the completion operation is configured to add trajectory points to the target trajectory.
[0160] Based on the same application concept as the above method, the present application embodiment proposes a trajectory fusion device (i.e., management device), see Figure 5 As shown, the trajectory fusion device includes a processor 51 and a machine-readable storage medium 52, where the machine-readable storage medium 52 stores machine-executable instructions that can be executed by the processor 51; the processor 51 is used to execute the machine-executable instructions to implement the trajectory fusion method disclosed above in this application.
[0161] Based on the same application concept as the above method, an embodiment of the present application further provides a machine-readable storage medium, on which a number of computer instructions are stored. When the computer instructions are executed by a processor, the trajectory fusion method disclosed in the above example of the present application can be implemented.
[0162] The machine-readable storage medium may be any electronic, magnetic, optical, or other physical storage device that may contain or store information, such as executable instructions, data, and the like. For example, the machine-readable storage medium may be: RAM (Random Access Memory), volatile memory, non-volatile memory, flash memory, a storage drive (such as a hard disk drive), a solid-state drive, any type of storage disk (such as a CD, DVD, etc.), or similar storage media, or a combination thereof.
[0163] The systems, devices, modules, or units described in the above embodiments may be implemented by computer chips or entities, or by products having certain functions. A typical implementation device is a computer, which may be in the form of a personal computer, laptop computer, cellular phone, camera phone, smartphone, personal digital assistant, media player, navigation device, email transceiver, game console, tablet computer, wearable device, or any combination of these devices.
[0164] For the convenience of description, the above devices are described as being divided into various units according to their functions. Of course, when implementing this application, the functions of each unit can be implemented in the same or multiple software and / or hardware.
[0165] Those skilled in the art will appreciate that the embodiments of the present application can be provided as methods, systems, or computer program products. Therefore, the present application can adopt the form of a complete hardware embodiment, a complete software embodiment, or an embodiment in combination with software and hardware. Moreover, the embodiments of the present application can adopt the form of a computer program product implemented on one or more computer-usable storage media (including but not limited to magnetic disk storage, CD-ROM, optical storage, etc.) that contain computer-usable program code.
[0166] The present application is described with reference to the flowcharts and / or block diagrams of the methods, devices (systems), and computer program products according to the embodiments of the present application. It should be understood that each process and / or box in the flowchart and / or block diagram, as well as the combination of the processes and / or boxes in the flowchart and / or block diagram, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, a special-purpose computer, an embedded processor, or other programmable data processing device to produce a machine, so that the instructions executed by the processor of the computer or other programmable data processing device generate instructions for implementing the steps in the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A device that provides the functions specified in a block or multiple blocks.
[0167] Furthermore, these computer program instructions may also be stored in a computer-readable memory capable of directing a computer or other programmable data processing device to operate in a specific manner, so that the instructions stored in the computer-readable memory produce an article of manufacture comprising an instruction device, which implements the process Figure 1 a process or multiple processes and / or boxes Figure 1 The function specified in one or more boxes.
[0168] These computer program instructions can also be loaded onto a computer or other programmable data processing device so that a series of operating steps are executed on the computer or other programmable device to produce a computer-implemented process, thereby providing instructions for executing on the computer or other programmable device to implement the process. Figure 1 a process or multiple processes and / or boxes Figure 1 A step that specifies a function in one or more boxes.
[0169] The foregoing is merely an embodiment of the present application and is not intended to limit the present application. For those skilled in the art, the present application may have various changes and variations. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application should all be included within the scope of the claims of the present application.
Claims
1. A trajectory fusion method, characterized in that: The method comprises: Acquire multiple original trajectories within a target time period, where the multiple original trajectories are collected by multiple sensors of the target scene, and different original trajectories are collected by the same sensor or by different sensors; Divide the target time period into a plurality of sub-time periods; for each sub-time period, generate a plurality of trajectory pairs based on all original trajectories within the sub-time period, each trajectory pair including two original trajectories; Based on the trajectory similarity of the two original trajectories in each trajectory pair, all the original trajectories in the sub-time period are merged into at least one candidate trajectory in the sub-time period, where the candidate trajectory includes at least two original trajectories, and the trajectory similarity of the two original trajectories included in the candidate trajectory is greater than a first threshold; Based on the fusion similarity between the candidate trajectories in the multiple sub-time periods, the candidate trajectories in all sub-time periods are fused into at least one target trajectory in the target time period, each target trajectory including at least one candidate trajectory; wherein, if the target trajectory includes at least two candidate trajectories, the fusion similarity between the two candidate trajectories included in the target trajectory is greater than a second threshold; Determining identity information of each target trajectory within the target time period; The method for determining the trajectory similarity between two original trajectories in a trajectory pair includes: Determining characteristic parameters corresponding to the two original trajectories in the trajectory pair; wherein the characteristic parameters include at least one of the following: maximum distance, minimum distance, time distance, maximum face model similarity, minimum face model similarity, average face model similarity, maximum human model similarity, minimum human model similarity, average human model similarity, sensor topology, distance between the target object and the sensor in the original trajectory, trajectory value similarity, sensor type information, overlapping time, and trajectory area; Generating a feature vector corresponding to two original trajectories in the trajectory pair based on the feature parameters; wherein the feature vector includes a feature value obtained by normalizing the feature parameters; Determining the trajectory similarity of the two original trajectories in the trajectory pair based on the feature vector; wherein the feature vector is input into a trained trajectory association model, and the trajectory association model outputs the trajectory similarity of the two original trajectories in the trajectory pair corresponding to the feature vector.
2. The method according to claim 1, characterized in that The step of fusing the candidate trajectories in all sub-time periods into at least one target trajectory in the target time period based on the fusion similarity between the candidate trajectories in the multiple sub-time periods includes: For each first candidate trajectory within the first sub-time period, traverse a candidate trajectory from the candidate trajectories within the second sub-time period as a second candidate trajectory, and calculate the fusion similarity between the second candidate trajectory and the first candidate trajectory; wherein the first sub-time period is any sub-time period of the multiple sub-time periods, and the second sub-time period is a sub-time period other than the first sub-time period; If the fusion similarity is greater than the second threshold, the second candidate trajectory is fused with the first candidate trajectory into the same target trajectory; if the fusion similarity is not greater than the second threshold, another candidate trajectory is traversed from the candidate trajectories in the second sub-time period as the second candidate trajectory, and the operation of calculating the fusion similarity between the second candidate trajectory and the first candidate trajectory is returned to execute until the fusion similarity between the traversed second candidate trajectory and the first candidate trajectory is greater than the second threshold, or the fusion similarity between all candidate trajectories in the second sub-time period and the first candidate trajectory is not greater than the second threshold.
3. The method according to claim 2, characterized in that The calculating the fusion similarity between the second candidate trajectory and the first candidate trajectory includes: generating at least one trajectory pair based on a portion of the original trajectory included in the first candidate trajectory and a portion of the original trajectory included in the second candidate trajectory; wherein each trajectory pair includes an original trajectory within the first candidate trajectory and an original trajectory within the second candidate trajectory; Based on the trajectory similarities of the two original trajectories in each trajectory pair, the maximum value of the trajectory similarities is determined as the fusion similarity, or the average value of the trajectory similarities is determined as the fusion similarity.
4. The method according to claim 1, wherein Methods for determining the trajectory similarity between two original trajectories within a trajectory pair include: Dividing all original trajectories within the target time period into a plurality of trajectory pairs; Dividing the plurality of trajectory pairs into K trajectory pair sets based on the number K of computing nodes; wherein a difference between the numbers of trajectory pairs in different trajectory pair sets is less than a preset number threshold; The K trajectory pair sets are sent to K computing nodes, each computing node corresponds to a trajectory pair set, and the computing node determines the trajectory similarity between the two original trajectories in each trajectory pair in the trajectory pair set.
5. The method according to claim 1, wherein The obtaining of multiple original trajectories within a target time period includes: Acquire an initial trajectory collected by a sensor of a target scene, and perform data preprocessing on the initial trajectory to obtain an original trajectory corresponding to the initial trajectory; wherein the data preprocessing includes at least one of the following: data interpolation processing, data spatiotemporal alignment processing, and data format conversion processing; wherein the data interpolation process is used to add trajectory points to the initial trajectory; The data spatiotemporal alignment process is used to transform the initial trajectory into a target coordinate system; The data format conversion process is used to convert the initial trajectory into a target data format.
6. The method according to claim 1, characterized in that After fusing the candidate trajectories in all sub-time periods into at least one target trajectory in the target time period based on the fusion similarity between the candidate trajectories in the multiple sub-time periods, the method further includes: Based on map information of the area where the target track is located, performing a quality improvement operation on the target track to obtain a quality-improved target track, wherein the quality improvement operation includes a correction operation and / or a completion operation; The correction operation is used to correct the erroneous track point in the target track to the correct position; The completion operation is used to add a trajectory point to the target trajectory.
7. A trajectory fusion device, characterized in that: The device comprises: An acquisition module is used to acquire multiple original trajectories within a target time period, where the multiple original trajectories are acquired by multiple sensors of the target scene, and different original trajectories are acquired by the same sensor or different sensors; a fusion module configured to divide the target time period into a plurality of sub-time periods; for each sub-time period, generate a plurality of trajectory pairs based on all original trajectories within the sub-time period, each trajectory pair including two original trajectories; and based on the trajectory similarity between the two original trajectories in each trajectory pair, fuse all the original trajectories within the sub-time period into at least one candidate trajectory within the sub-time period, wherein the candidate trajectory includes at least two original trajectories, and the trajectory similarity between the two original trajectories included in the candidate trajectory is greater than a first threshold; Based on the fusion similarity between the candidate trajectories in the multiple sub-time periods, the candidate trajectories in all sub-time periods are fused into at least one target trajectory in the target time period, each target trajectory including at least one candidate trajectory; wherein, if the target trajectory includes at least two candidate trajectories, the fusion similarity between the two candidate trajectories included in the target trajectory is greater than a second threshold; a determination module, configured to determine identity information of each target trajectory within the target time period; The fusion module determines the trajectory similarity of two original trajectories within a trajectory pair by determining characteristic parameters corresponding to the two original trajectories within the trajectory pair; wherein the characteristic parameters include at least one of the following: maximum distance, minimum distance, time distance, maximum face model similarity, minimum face model similarity, average face model similarity, maximum human body model similarity, minimum human body model similarity, average human body model similarity, sensor topology, distance between the target object and the sensor within the original trajectory, trajectory value similarity, sensor type information, overlapping time, and trajectory area; and, generating a feature vector corresponding to two original trajectories in the trajectory pair based on the feature parameters, wherein the feature vector includes a feature value obtained by normalizing the feature parameters; And, determining the trajectory similarity of the two original trajectories in the trajectory pair based on the feature vector; wherein the feature vector is input into a trained trajectory association model, and the trajectory association model outputs the trajectory similarity of the two original trajectories in the trajectory pair corresponding to the feature vector.
8. The device according to claim 7, characterized in that in, The fusion module is configured to fuse the candidate trajectories in all sub-time periods into at least one target trajectory in the target time period based on the fusion similarity between the candidate trajectories in the multiple sub-time periods: for each first candidate trajectory in the first sub-time period, traverse a candidate trajectory from the candidate trajectories in the second sub-time period as a second candidate trajectory, and calculate the fusion similarity between the second candidate trajectory and the first candidate trajectory; wherein the first sub-time period is any sub-time period of the multiple sub-time periods, and the second sub-time period is a sub-time period other than the first sub-time period; if the fusion similarity is greater than a second threshold, fuse the second candidate trajectory with the first candidate trajectory into the same target trajectory; if the fusion similarity is not greater than the second threshold, traverse another candidate trajectory from the candidate trajectories in the second sub-time period as the second candidate trajectory, and return to the operation of calculating the fusion similarity between the second candidate trajectory and the first candidate trajectory until the fusion similarity between the traversed second candidate trajectory and the first candidate trajectory is greater than the second threshold, or the fusion similarity between all the candidate trajectories in the second sub-time period and the first candidate trajectory is not greater than the second threshold; The fusion module calculates the fusion similarity between the second candidate trajectory and the first candidate trajectory by: generating at least one trajectory pair based on a portion of the original trajectory included in the first candidate trajectory and a portion of the original trajectory included in the second candidate trajectory; wherein each trajectory pair includes an original trajectory in the first candidate trajectory and an original trajectory in the second candidate trajectory; based on the trajectory similarity of the two original trajectories in each trajectory pair, determining the maximum value of the trajectory similarities as the fusion similarity, or determining the average value of the trajectory similarities as the fusion similarity; The fusion module determines the trajectory similarity of two original trajectories within a trajectory pair by: dividing all original trajectories within the target time period into multiple trajectory pairs; dividing the multiple trajectory pairs into K trajectory pair sets based on the number of computing nodes K; wherein the difference in the number of trajectory pairs within different trajectory pair sets is less than a preset number threshold; and sending the K trajectory pair sets to K computing nodes, each computing node corresponding to a trajectory pair set, and determining the trajectory similarity of the two original trajectories within each trajectory pair within the trajectory pair set by the computing nodes; Wherein, when the acquisition module acquires multiple original trajectories within the target time period, it is specifically used to: acquire the initial trajectory collected by the sensor of the target scene, perform data preprocessing on the initial trajectory, and obtain the original trajectory corresponding to the initial trajectory; the data preprocessing includes at least one of the following: data interpolation processing, data spatiotemporal alignment processing, and data format conversion processing; the data interpolation processing is used to add trajectory points to the initial trajectory; the data spatiotemporal alignment processing is used to convert the initial trajectory into the target coordinate system; the data format conversion processing is used to convert the initial trajectory into the target data format; The fusion module is further configured to fuse the candidate trajectories in all sub-time periods into at least one target trajectory in the target time period based on the fusion similarity between the candidate trajectories in the multiple sub-time periods, and further configured to: perform a quality improvement operation on the target trajectory based on map information of the area where the target trajectory is located to obtain a target trajectory with improved quality, wherein the quality improvement operation includes a correction operation and / or a completion operation; wherein the correction operation is configured to correct erroneous trajectory points in the target trajectory to the correct position; and the completion operation is configured to add trajectory points to the target trajectory.
9. A trajectory fusion device, characterized in that: include: a processor and a machine-readable storage medium storing machine-executable instructions capable of being executed by the processor; The processor is configured to execute machine-executable instructions to implement the method steps described in any one of claims 1-6.
Citation Information
Patent Citations
Vehicle driving track determination method and device, equipment and medium
CN111767839A
Method and system for determining similarity of tracking target
CN112037245A