Personnel positioning and gathering analysis method based on DBSCAN space-time sequence fusion

By using the DBSCAN algorithm to cluster the location data at multiple time points in personnel aggregation monitoring, the problem of difficulty in integrating time series data in the prior art is solved, and more accurate aggregation recognition and more efficient response are achieved.

CN119537977AActive Publication Date: 2025-02-28JIANGSU HANBANGTANG TECHNOLOGY CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
CN202411602595.8
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-11
Publication Date
2025-02-28
Estimated Expiration
2044-11-11

AI Technical Summary

Technical Problem

The prior art is difficult to effectively integrate time series data in personnel aggregation monitoring, making it difficult to capture aggregation behavior patterns on long-term time scales, and the processing efficiency is low, so it cannot support real-time requirements.

Method used

The DBSCAN-based spatiotemporal sequence fusion method is used to cluster the location data at multiple time points, identify and track the gathering of people, and distinguish different types of aggregation behaviors.

Benefits of technology

It improves the accuracy and response speed of aggregation identification, can effectively distinguish different types of aggregation behaviors, and supports more refined safety management and flow control strategies.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119537977A_ABST
    Figure CN119537977A_ABST
Patent Text Reader

Abstract

The invention discloses a DBSCAN space-time sequence fusion-based personnel positioning and gathering analysis method, and belongs to the technical field of high clustering algorithms. According to the method, the DBSCAN algorithm is combined with the position information of a plurality of time points to perform clustering analysis, the personnel gathering condition is identified and tracked, different types of gathering behaviors are distinguished, and more refined safety management and people flow control strategies are realized. According to the method, clustering analysis is carried out on the position data of multiple time points, so that the personnel gathering situation can be identified and tracked more accurately, the system response speed is improved, different types of gathering behaviors can be effectively distinguished, and more refined safety management and people flow control strategies are achieved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The invention belongs to the technical field of high-level clustering algorithms, and in particular relates to a personnel location clustering analysis method based on DBSCAN spatiotemporal sequence fusion. Background Art

[0002] In the current field of location data processing, especially in application scenarios that require real-time monitoring of crowd gatherings, such as safety management of large-scale events and crowd control in public places, how to accurately and timely identify crowd gatherings has become a key technical challenge. Existing technical means usually rely on data analysis at a single point in time and lack effective integration of data change trends in time series, making it difficult to capture aggregation behavior patterns over long time scales. In addition, the processing efficiency of large-scale data sets is low and cannot well support real-time requirements.

[0003] In the process of monitoring gatherings of people, the system needs to obtain and analyze the location information of on-site personnel in real time. This data usually comes from a variety of sensors and devices, such as Bluetooth beacons, Wi-Fi networks, etc. Existing monitoring methods often rely on traditional manual inspections or fixed monitoring equipment, which makes it difficult to achieve real-time and dynamic gathering assessments, increasing the complexity of management.

[0004] The existing technical solutions (or the closest technical solutions) currently have the following disadvantages / shortcomings:

[0005] 1. Data processing is limited to a single point in time, ignoring the continuity in the time dimension and lacking an effective mechanism to distinguish between short-term accidental gatherings and continuous gatherings of people.

[0006] 2. The criteria for determining the aggregation level are single and lack flexibility and adaptability.

[0007] 3. The alarm mechanism is imperfect and cannot automatically adjust the response strategy according to different aggregation situations. Summary of the invention

[0008] In response to the problems mentioned in the background technology, the present invention proposes a personnel positioning and aggregation analysis method based on DBSCAN spatiotemporal series fusion. By performing cluster analysis on location data at multiple time points, it is possible to more accurately identify and track personnel gatherings, improve the system response speed, and effectively distinguish different types of gathering behaviors, so as to achieve more refined safety management and crowd control strategies.

[0009] Technical solution: In order to solve the above technical problems, the technical solution adopted by the present invention is as follows:

[0010] A personnel location and clustering analysis method based on DBSCAN spatiotemporal series fusion uses the DBSCAN algorithm to combine location information of multiple time points for cluster analysis, identifies and tracks personnel gathering, distinguishes different types of gathering behaviors, and implements safety management and crowd control strategies.

[0011] As a preferred embodiment, the specific implementation steps are as follows:

[0012] S1: Regularly collect personnel location information at multiple time points, and group all collected personnel location information into predefined areas based on geographical locations;

[0013] S2: Use the DBSCAN algorithm to perform the first cluster analysis on the personnel location data in each area and return the information of each cluster group;

[0014] S3: Calculate the center point of the candidate clustering group and determine whether the center point is in the effective clustering area; if not, skip this candidate clustering group; if yes, proceed to the next step;

[0015] S4: storing the cluster groups meeting the requirements and their related information in a database, and continuously updating the information;

[0016] S5: traverse all enabled clustering areas, and obtain clustering slice records within the corresponding time period according to the current time and the preset clustering duration;

[0017] S6: Use the DBSCAN algorithm to perform a second clustering analysis on the clustered slice records to obtain candidate clusters;

[0018] S7: Calculate the center point of the candidate cluster and determine whether the center point is in the valid cluster; if not, skip this candidate cluster; if yes, proceed to the next step;

[0019] S8: Compare with the alarm center point of the same cluster and which is in continuous state, and perform alarm management.

[0020] Preferably, in S2, the DBSCAN algorithm is used to perform a first cluster analysis on the personnel location data in each area, and the specific content of the information returned for each cluster group is:

[0021] The DBSCAN algorithm is used to cluster a series of location data points in each area to form several potential groups of people; DBSCAN determines the clusters in the data set by setting a minimum number of points in a neighborhood;

[0022] S21: Randomly select a person location point P that has not been visited;

[0023] S22: If P is a core point, start a new cluster and add P to this cluster; iteratively add all core points in the neighborhood of P to the same cluster;

[0024] S23: If P is not a core point, check whether it is a boundary point or a noise point; if it is a boundary point, mark it as visited; if it is a noise point, ignore it;

[0025] S24: Repeat the above process until all points have been visited.

[0026] As a preference, the specific content of determining whether it is a core point, a boundary point or a noise point is as follows:

[0027] For any two points P1 and P2, the distance D between them is calculated using the shortest path between the two points on the sphere; given the radius of the earth R, and the longitude and latitude of the two points, the specific calculation formula is as follows:

[0028]

[0029]

[0030] Δα=α2-α1,

[0031] Δβ=β2-β1,

[0032] Among them, α represents latitude, β represents longitude; α2 represents P2 latitude, α1 represents P1 latitude, β2 represents P2 longitude, β1 represents P1 longitude, Δα represents the latitude difference between P1 and P2, and Δβ represents the longitude difference between P1 and P2.

[0033] Preferably, in S3, the center point of the candidate clustering group is calculated, and it is determined whether the center point is in the effective clustering area; if not, the candidate clustering group is skipped; if so, the specific content of continuing to execute the next step is:

[0034] S31: Initialize variables: Initialize two accumulators sumX and sumY, which are used to accumulate the horizontal and vertical coordinates of all points respectively;

[0035] S32: Accumulate coordinate values: traverse all points P i , add the horizontal coordinate of each point to sumX, and add the vertical coordinate of each point to sumY;

[0036] S33: Calculate the average value: After the traversal is completed, the accumulated values ​​are averaged using the total number of points n to obtain the horizontal and vertical coordinates of the center;

[0037] Suppose there is a set P containing n points = {P1, P2, ..., P n}, each point P iThe coordinates are (x i ,y i ), the coordinates of the center point C (C x ,C y ) is calculated by the following formula:

[0038]

[0039]

[0040] The abscissa of the center point C is the average of the abscissas of all points, and the ordinate of the center point C is the average of the ordinates of all points;

[0041] S34: Return result: Return a Point object containing the coordinates of the center point;

[0042] S35: Aggregation area verification: Check whether the center point of each aggregation group is located in a known valid aggregation area.

[0043] Preferably, in S35, the specific contents of clustering area verification: checking whether the center point of each clustering group is located in a known valid clustering area are:

[0044] Set a center point P(x p ,y p ) and a cluster A={(x1,y1),(x2,y2),...,(x n ,y n )};

[0045] Construct a horizontal line: y = y p ;

[0046] Calculate the intersection point: For each edge (x i ,y i )→(x i+1 ,y i+1 ), calculate the distance between this edge and the horizontal line y=y p If the x coordinate of the intersection point is greater than x p , it is counted as one intersection;

[0047] Determine the number of intersection points: if the number of intersection points is odd, the point is inside the polygon; if the number of intersection points is even, the point is outside the polygon.

[0048] Preferably, in S5, all enabled clustering areas are traversed, and according to the current time and the preset clustering duration, the specific content of the clustering slice record within the corresponding time period is obtained as follows:

[0049] View all clusters in use, traverse all cluster events in the past period of time; obtain the current region cluster slice record with a slice time of x seconds ago.

[0050] Preferably, in S8, the specific contents of comparing with the alarm center point of the same cluster and being in progress and performing alarm management are:

[0051] Compare the center point of the newly discovered cluster with the center point of the existing and ongoing alarm records; if the new cluster does not match any existing alarm record, add it to the table as a new alarm event and check all ongoing alarm records; if an alarm record does not have a new identical UnionId in this cycle, the alarm event ends and needs to be cleared.

[0052] Beneficial effects: Compared with the prior art, the present invention has the following advantages:

[0053] (1) The present invention improves accuracy: by introducing continuity considerations in the time dimension, the identification of gatherings of people is made more accurate.

[0054] (2) The present invention enhances real-time performance: the optimized algorithm design ensures fast response even when faced with large amounts of data.

[0055] (3) The present invention refines the types of clusters: it can better distinguish temporary clusters from persistent clusters, and help to take differentiated intervention measures.

[0056] (4) The present invention simplifies the configuration process: users can adapt to different application scenario requirements through simple parameter adjustments without having to deeply understand the details of the underlying algorithm.

[0057] (5) The present invention has an efficient alarm mechanism: it can not only issue an early warning quickly when a potential risk is detected, but also automatically track and manage the alarm status, reducing the possibility of false alarms and missed alarms. By comparing the old and new aggregation patterns, it can intelligently determine when to start a new alarm and when to close an alarm that is no longer relevant, thereby improving the reliability and practicality of the overall system. BRIEF DESCRIPTION OF THE DRAWINGS

[0058] Figure 1 It is a flow chart of the aggregation slice of the personnel positioning aggregation analysis method based on DBSCAN spatiotemporal sequence fusion of the present invention;

[0059] Figure 2 It is a flow chart of the aggregation alarm of the personnel positioning aggregation analysis method based on DBSCAN spatiotemporal sequence fusion of the present invention. DETAILED DESCRIPTION

[0060] The present invention is further illustrated below in conjunction with specific examples. The examples are implemented based on the technical solutions of the present invention. It should be understood that these examples are only used to illustrate the present invention and are not used to limit the scope of the present invention.

[0061] like Figure 1 As shown, the personnel location aggregation analysis method based on DBSCAN spatiotemporal series fusion provided in this embodiment can be set to collect employee location data every 5 seconds based on a large chemical plant, and then use the method of this embodiment to automatically monitor whether there is an abnormal crowd density. Once a potential risk is detected, such as a sudden large crowd gathering in a specific area, an early warning will be immediately issued to notify security personnel to intervene in the investigation. At the same time, through the historical review function every 30 seconds, it can also help the factory understand which areas are more prone to overcrowding during work, thereby guiding the improvement direction of future factory layout planning and safety management. Specifically including the following steps:

[0062] S1: Regularly collect personnel location information at multiple time points, and group all collected location information into predefined areas based on geographic location;

[0063] The system performs cyclic processing at regular intervals. This time interval (for example, every 5 seconds) can be adjusted according to demand. The system obtains the latest location information from the devices of all relevant personnel, and divides the location into regions and prepares data.

[0064] The area division is a configurable function, which is configured by the user according to the actual situation. Generally, the division is centered on major hazard sources.

[0065] S2: Use the DBSCAN algorithm to perform the first cluster analysis on the personnel location data in each area and return the information of each cluster group;

[0066] The DBSCAN algorithm is used to cluster a series of location data points in each area to form several potential groups of people.

[0067] DBSCAN (Density-Based Spatial Clustering of Applications with Noise) is a density-based spatial clustering algorithm that can find clusters of any shape from a data set with noise. Unlike algorithms such as K-means (K-means algorithm) that require the number of clusters to be specified in advance, DBSCAN determines the clusters in a data set by setting a minimum number of points in a neighborhood.

[0068] Overview of the DBSCAN algorithm process:

[0069] Define basic concepts:

[0070] Core point: contains at least MinPts (domain density threshold) other personnel location points in the specified neighborhood (centered on a certain personnel location and within a radius of ε).

[0071] Boundary point: A point that does not contain MinPts points in its neighborhood but falls within the neighborhood of one or more core points.

[0072] Noise point: a point that is neither a core point nor a boundary point.

[0073] S21: Randomly select a person location point P that has not been visited;

[0074] S22: If P is a core point, start a new cluster and add P to this cluster; iteratively add all core points in the neighborhood of P to the same cluster;

[0075] S23: If P is not a core point, check whether it is a boundary point or a noise point; if it is a boundary point, mark it as visited; if it is a noise point, ignore it;

[0076] For any two points P1 and P2, the distance D between them can be calculated using the shortest path between the two points on the sphere (great circle distance). Given the radius of the earth R, and the longitude and latitude of the two points (unit: radians), the calculation formula is as follows:

[0077]

[0078]

[0079] Δα=α2-α1,

[0080] Δβ=β2-β1,

[0081] Among them, α represents latitude, β represents longitude; α2 represents P2 latitude, α1 represents P1 latitude, β2 represents P2 longitude, β1 represents P1 longitude, Δα represents the latitude difference between P1 and P2, and Δβ represents the longitude difference between P1 and P2.

[0082] S24: Repeat the above process until all points have been visited.

[0083] S3: Calculate the center point of the candidate clustering group and determine whether the center point is in the effective clustering area; if not, skip this candidate clustering group; if yes, proceed to the next step;

[0084] For each cluster group generated by the DBSCAN algorithm, the coordinates of their center points are calculated, that is, their geometric center is calculated as the position representing the group.

[0085] S31: Initialize variables: Initialize two accumulators sumX and sumY, which are used to accumulate the horizontal and vertical coordinates of all points respectively;

[0086] S32: Accumulate coordinate values: traverse all points P i , add the horizontal coordinate of each point to sumX, and add the vertical coordinate of each point to sumY;

[0087] S33: Calculate the average value: After the traversal is completed, the accumulated value is averaged using the total number of points n to obtain the horizontal and vertical coordinates of the centroid;

[0088] Suppose there is a set P containing n points = {P1, P2, ..., P n}, each point P i The coordinates are (x i ,y i ), the coordinates of the center point C (C x ,C y ) is calculated by the following formula:

[0089]

[0090]

[0091] The abscissa of the center point C is the average of the abscissas of all the points, and the ordinate of the center point C is the average of the ordinates of all the points.

[0092] S34: Return result: Return a Point object containing the coordinates of the center point;

[0093] Cluster area verification: Check whether the center point of each cluster group is within a known valid cluster area. Only those groups that fall within the specified range will be further considered; if not, skip this cluster group; if yes, proceed to the next step.

[0094] S35: Aggregation area verification: Check whether the center point of each aggregation group is located in a known valid aggregation area;

[0095] For a central point P(x p ,y p ) and a cluster A={(x1,y1),(x2,y2),...,(x n ,y n )};

[0096] Construct a horizontal line: y = y p ;

[0097] Calculate the intersection point: For each edge (x i ,y i )→(xi+1 ,y i+1 ), calculate the distance between this edge and the horizontal line y=y p If the x coordinate of the intersection point is greater than x p , it is counted as one intersection;

[0098] Determine the number of intersection points: if the number of intersection points is odd, the point is inside the polygon; if the number of intersection points is even, the point is outside the polygon.

[0099] S4: storing the cluster groups that meet the requirements and their related information in a database, and continuously updating this information over time for subsequent analysis;

[0100] The center point information of the cluster groups that meet the conditions and the information of the members in the cluster groups are stored in the cluster_slice table in the database, as shown in Table 1 below.

[0101] Table 1 cluster_slice

[0102] Column Name Data Types Notes id bigint(20) Primary Key cluster_id bigint(20) Aggregate warning area primary key cluster_alarm_id bigint(20) Aggregate alarm primary key union_id bigint(20) Aggregate alarm joint id; identifies the same aggregate alarm area_id bigint(20) Region ID area_type int(11) Area type; 1-factory area, 2-building or site, 3-floor or frame center_point varchar(100) Gathering center point; format: longitude, latitude slice_time datetime Slicing time alarm_level int(11) Warning level: 1-level warning, 2-level warning, 3-level warning alarm_number int(11) Number of people gathered alarm_center_point varchar(100) Alarm center point; format: longitude, latitude alarm_duration int(11) Duration; unit: seconds create_time datetime Creation time

[0103] In addition, in another longer time period (for example, every 30 seconds), monitor the continued existence of aggregation and compare it with the existing alarm records; specifically:

[0104] S5: traverse all enabled clustering areas, and obtain clustering slice records within the corresponding time period according to the current time and the preset clustering duration;

[0105] The system performs cyclic processing in a cycle of 30 seconds, and this time interval can be adjusted according to needs; the system will check all the clusters in use and review all the cluster events in the past period of time; obtain the current area cluster slice record with a slice time of x seconds ago (x is the duration of the cluster).

[0106] S6: Use the DBSCAN algorithm to perform a second clustering analysis on the clustered slice records to obtain candidate clusters;

[0107] The input parameter of the DBSCAN algorithm is the center point of the cluster slice, and the return parameter is the candidate cluster; it is used to discover long-term clustering patterns spanning multiple shorter time periods.

[0108] Determine whether the personnel corresponding to the candidate clusters are continuous and consistent. If there are three, it is a cluster, and the levels are similar.

[0109] Core point: contains at least MinPts other personnel location points in the specified neighborhood (centered at a certain personnel location and within a radius of ε).

[0110] Boundary point: A point that does not contain MinPts points in its neighborhood but falls within the neighborhood of one or more core points.

[0111] Noise point: a point that is neither a core point nor a boundary point.

[0112] S61: Randomly select a person location point P that has not been visited;

[0113] S62: If P is a core point, start a new cluster and add P to the cluster; iteratively add all core points in the neighborhood of P to the same cluster;

[0114] S63: If P is not a core point, check whether it is a boundary point or a noise point; if it is a boundary point, mark it as visited; if it is a noise point, ignore it;

[0115] For any two points P1 and P2, the distance D between them can be calculated using the shortest path between the two points on the sphere (great circle distance). Given the radius of the earth R, and the longitude and latitude of the two points (unit: radians), the calculation formula is as follows:

[0116]

[0117]

[0118] Δα=α2-α1,

[0119] Δβ=β2-β1,

[0120] Among them, α represents latitude, β represents longitude; α2 represents P2 latitude, α1 represents P1 latitude, β2 represents P2 longitude, β1 represents P1 longitude, Δα represents the latitude difference between P1 and P2, and Δβ represents the longitude difference between P1 and P2.

[0121] S64: Repeat the above process until all points have been visited.

[0122] S7: Calculate the center point of the candidate cluster and determine whether the center point is in the valid cluster; if not, skip this candidate cluster; if yes, proceed to the next step;

[0123] For each cluster generated by the DBSCAN algorithm, calculate the coordinates of their center points; check whether these center points are located in a valid cluster.

[0124] For a central point P(x p ,y p ) and a cluster B = {(x1,y1),(x2,y2),...,(x n ,y n )};

[0125] Construct a horizontal line: y = y p ;

[0126] Calculate the intersection point: For each edge (x i ,y i )→(x i+1 ,y i+1 ), calculate the distance between this edge and the horizontal line y=y p If the x coordinate of the intersection point is greater than x p , it is counted as one intersection;

[0127] Determine the number of intersection points: if the number of intersection points is odd, the point is inside the polygon; if the number of intersection points is even, the point is outside the polygon.

[0128] S8: Compare with the alarm center point of the same cluster and which is in continuous state, and perform alarm management;

[0129] The center point of the newly discovered cluster is compared with the center point of the existing and ongoing alarm records; if the new cluster does not match any existing alarm record, it is added to the cluster_alarm table as a new alarm event, as shown in Table 2 below.

[0130] Table 2cluster_alarm

[0131] Column Name Data Types Notes id bigint(20) Primary Key cluster_id bigint(20) Aggregate warning area primary key union_id bigint(20) Aggregate alarm joint id; identifies the same aggregate alarm area_id bigint(20) Region ID area_type int(11) Area type; 1-factory area, 2-building or site, 3-floor or frame type int(11) Area type: 1-warning area, 2-silent area center_point varchar(100) Gathering center point; format: longitude, latitude level int(11) Warning level: 1-level warning, 2-level warning, 3-level warning number int(11) Number of people gathered duration int(11) Duration; unit: seconds start_time datetime Alarm generation time end_time datetime Alarm clearing time status int(11) Status: 1-ongoing, 2-alarmed

[0132] Check all ongoing alarm records; if no new members are added to an alarm record in this cycle (that is, no new identical UnionId is added), the alarm event ends and the alarm needs to be eliminated.

[0133] UnionId is the ID of the cluster alarm. Each calculated alarm center point will be compared with the alarm center point in the same cluster area and is ongoing. If they are within a range of 5m, they are considered the same alarm with the same UnionId.

[0134] Alarm management: Compare newly discovered long-term clustering patterns with existing active alarm records and update alarm status, including adding new alarms and resolving alarms that are no longer active.

[0135] After completing a cycle, the process returns to the starting point and waits for the next 30-second cycle to arrive.

[0136] The personnel positioning and aggregation analysis system based on DBSCAN spatiotemporal sequence fusion provided in this embodiment adopts the above-mentioned personnel positioning and aggregation analysis method based on DBSCAN spatiotemporal sequence fusion. The system includes an area management module, a positioning device management module, a human and vehicle information management module, an aggregation warning management module, an alarm management module, and a configuration center module.

[0137] Area management module: It provides area management and positioning management functions, and can build digital areas based on real factory areas or office locations. Based on the digital areas, it can restore the location information of various positioning devices and special areas.

[0138] In regional management, three types of regions can be set: factory, building, and floor. The two-dimensional plan of the region is the main body, and the size of the region is fixed by setting the scale. Building-type regions need to belong to a certain factory; floor-type regions need to set the building to which they belong, and also need to set the ID and absolute height of the floor to meet the vertical regional application needs of personnel positioning scenarios (such as the location of intelligent inspection points). The set factory and floor plans support the association of GIS geographic location information, and the GIS location of the region is fixed by selecting points on the map. It supports the reverse query of regional location information through GIS information to determine the location of personnel, vehicles, special areas (special operation areas, etc.). For aesthetic effects, you can also set the renderings of the region. When displayed on the large screen, the appearance of each area will be displayed as a rendering. Buildings support the marking function, which can mark the shape and location of the building on the factory plan. When displayed on the large screen, the building name is displayed at the marked location.

[0139] In positioning management, the floor plan of the regional system is displayed, different regional floor plans can be switched through the regional tree, and various points on the corresponding area are displayed; it supports searching for areas by area name and supports fuzzy matching.

[0140] You can view the distribution of different points and areas such as base stations, beacons, inspection points, special operation areas, cameras, etc. Click on the equipment point to view the equipment information at the point; click on the inspection point to view the inspection point information; click on the special operation area to display the type of special operation and operation time information; click on the camera to view the camera equipment information.

[0141] Positioning device module: used to access the positioning devices in the system: information of base stations, beacons, positioning cards and other devices, and add business attributes to the devices to facilitate management personnel to manage the devices.

[0142] Personnel and vehicle information management module: used to bind the employee's location card information, as well as register the contractors, visitors, and vehicle information entering the park and bind the location card.

[0143] Gathering warning management module: monitors and describes the gathering of people in the park. When the gathering of people in sensitive areas exceeds the threshold set by the enterprise, a gathering alarm is issued.

[0144] Alarm management module: stores alarm records from various sources such as regions, equipment, and gathering warnings, processes and records the alarm information in the system for easy backtracking.

[0145] Configuration center module: used to manage configuration items in the system to facilitate various customized configurations.

[0146] The present invention utilizes the DBSCAN algorithm combined with location information of multiple time points to perform cluster analysis, which can more accurately identify and track the gathering of people, improve the system response speed, and effectively distinguish different types of gathering behaviors to achieve more refined safety management and crowd control strategies.

[0147] The above is only a preferred embodiment of the present invention. It should be pointed out that for ordinary technicians in this technical field, several improvements and modifications can be made without departing from the principle of the present invention. These improvements and modifications should also be regarded as the scope of protection of the present invention.

Claims

1. A personnel location aggregation analysis method based on DBSCAN spatiotemporal sequence fusion, characterized by: By using the DBSCAN algorithm combined with location information at multiple time points for cluster analysis, we can identify and track the gathering of people, distinguish different types of gathering behaviors, and implement safety management and crowd control strategies.

2. The personnel location aggregation analysis method based on DBSCAN spatiotemporal sequence fusion according to claim 1 is characterized by: The specific implementation steps are as follows: S1: Regularly collect personnel location information at multiple time points, and group all collected personnel location information into predefined areas based on geographical locations; S2: Use the DBSCAN algorithm to perform the first cluster analysis on the personnel location data in each area and return the information of each cluster group; S3: Calculate the center point of the candidate cluster group and determine whether the center point is within the effective cluster area; If not, skip this candidate cluster group; if yes, proceed to the next step; S4: storing the cluster groups meeting the requirements and their related information in a database, and continuously updating the information; S5: traverse all enabled clustering areas, and obtain clustering slice records within the corresponding time period according to the current time and the preset clustering duration; S6: Use the DBSCAN algorithm to perform a second clustering analysis on the clustered slice records to obtain candidate clusters; S7: Calculate the center point of the candidate cluster and determine whether the center point is within the valid cluster; If not, skip this candidate cluster; if yes, proceed to the next step; S8: Compare with the alarm center point of the same cluster and which is in continuous state, and perform alarm management.

3. The personnel location aggregation analysis method based on DBSCAN spatiotemporal sequence fusion according to claim 2 is characterized by: In S2, the DBSCAN algorithm is used to perform the first cluster analysis on the personnel location data in each area, and the specific content of the information returned for each cluster group is as follows: The DBSCAN algorithm is used to cluster a series of location data points in each area to form several potential groups of people; DBSCAN determines the clusters in the data set by setting a minimum number of points in a neighborhood; S21: Randomly select a person location point P that has not been visited; S22: If P is a core point, start a new cluster and add P to this cluster; Iteratively add all core points in the neighborhood of P to the same cluster; S23: If P is not a core point, check whether it is a boundary point or a noise point; if it is a boundary point, mark it as visited; if it is a noise point, ignore it; S24: Repeat the above process until all points have been visited.

4. The personnel location and aggregation analysis method based on DBSCAN spatiotemporal sequence fusion according to claim 3 is characterized by: The specific content of judging whether it is a core point, a boundary point or a noise point is: For any two points P1 and P2, the distance D between them is calculated using the shortest path between the two points on the sphere; given the radius of the earth R, and the longitude and latitude of the two points, the specific calculation formula is as follows: Δα=α2-α1, Δβ=β2-β1, Among them, α represents latitude, β represents longitude; α2 represents P2 latitude, α1 represents P1 latitude, β2 represents P2 longitude, β1 represents P1 longitude, Δα represents the latitude difference between P1 and P2, and Δβ represents the longitude difference between P1 and P2.

5. The personnel location aggregation analysis method based on DBSCAN spatiotemporal sequence fusion according to claim 2 is characterized by: In S3, the center point of the candidate cluster group is calculated, and it is determined whether the center point is in the effective cluster area; if not, the candidate cluster group is skipped; if so, the next step is continued as follows: S31: Initialize variables: Initialize two accumulators sumX and sumY, which are used to accumulate the horizontal and vertical coordinates of all points respectively; S32: Accumulate coordinate values: traverse all points P i , add the horizontal coordinate of each point to sumX, and add the vertical coordinate of each point to sumY; S33: Calculate the average value: After the traversal is completed, the accumulated values ​​are averaged using the total number of points n to obtain the horizontal and vertical coordinates of the center; Suppose there is a set P containing n points = {P1,P2,...,P n }, each point P i The coordinates are (x i ,y i ), the coordinates of the center point C (C x ,C y ) is calculated by the following formula: The abscissa of the center point C is the average of the abscissas of all points, and the ordinate of the center point C is the average of the ordinates of all points; S34: Return result: Return a Point object containing the coordinates of the center point; S35: Aggregation area verification: Check whether the center point of each aggregation group is located in a known valid aggregation area.

6. The personnel location aggregation analysis method based on DBSCAN spatiotemporal sequence fusion according to claim 5 is characterized by: In S35, the cluster area verification: Check whether the center point of each cluster group is located in a known valid cluster area. The specific contents are: Set a center point P(x p ,y p ) and a cluster A={(x1,y1),(x2,y2),...,(x n ,y n )}; Construct a horizontal line: y = y p ; Calculate the intersection point: For each edge (x i ,y i )→(x i+1 ,y i+1 ), calculate the distance between this edge and the horizontal line y=y p If the x coordinate of the intersection point is greater than x p , it is counted as one intersection; Determine the number of intersection points: if the number of intersection points is odd, the point is inside the polygon; if the number of intersection points is even, the point is outside the polygon.

7. The personnel location aggregation analysis method based on DBSCAN spatiotemporal sequence fusion according to claim 2 is characterized by: In S5, all enabled clustering areas are traversed, and according to the current time and the preset clustering duration, the specific content of the clustering slice record within the corresponding time period is obtained as follows: View all clusters in use, traverse all cluster events in the past period of time; obtain the current region cluster slice record with a slice time of x seconds ago.

8. The personnel location aggregation analysis method based on DBSCAN spatiotemporal sequence fusion according to claim 2 is characterized by: In S8, the specific contents of comparing with the alarm center point of the same cluster and the ongoing alarm management are as follows: Compare the center point of the newly discovered cluster with the center point of the existing and ongoing alarm records; if the new cluster does not match any existing alarm record, add it to the table as a new alarm event and check all ongoing alarm records; if an alarm record does not have a new identical UnionId in this cycle, the alarm event ends and needs to be cleared.

Citation Information

Patent Citations

  • A special crowd event early warning and monitoring method and device

    CN109711447A

  • Real-time aggregation alarm method based on space-time positioning technology, server and medium

    CN117435942A

  • Multi-source data fusion-based crowd travel accompanying identification method

    CN117557953A

  • Method and system for analyzing personnel gathering condition based on real-time position data

    CN118734095A

  • System and process for maintenance management during a mass gathering

    US20190205843A1