Channel determination method and device, electronic equipment and storage medium
By automatically mining the voyage feature points of historical voyage data of ships, segmenting and clustering them, automatic fitting of sea routes is achieved, solving the problem of time-consuming and labor-intensive traditional manual annotation, improving the efficiency and accuracy of route determination, and supporting a variety of application scenarios.
Patent Information
- Application Number
- CN202211295716.X
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-10-21
- Publication Date
- 2026-02-27
- Estimated Expiration
- 2042-10-21
AI Technical Summary
Traditional maritime navigation marking relies on manual experience, which is time-consuming, costly, and inefficient, making it difficult to meet the needs of navigation in complex waterways.
By mining historical flight data of aircraft, the system automatically identifies flight feature points, segments and clusters flight segments, and achieves automatic course fitting.
It saves on manual labeling costs, improves the speed and accuracy of waterway determination, and supports waterway prediction, water saturation control, and abnormal behavior analysis.
Smart Images

Figure CN115587308B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of data processing, and particularly relates to a channel determination method and device, an electronic device and a storage medium. BACKGROUND
[0002] About 80% of international trade in the world is transported by ships, and the annual transportation volume maintains a growth rate of more than 4%. The ships sailing in the water area of the coastal port and the estuary section include not only transport ships, but also tourist ships and fishing ships. The sailing density of the ships is continuously improved, and the sailing environment of the water area is more complex. Therefore, fitting the available channel of the water area plays a crucial role in the safe operation and supervision of the ships.
[0003] The traditional sea channel relies on manual annotation based on artificial experience, which not only needs strong expert experience, but also needs to consume huge time cost. SUMMARY
[0004] The present application provides a channel determination method and device, an electronic device and a storage medium, which automatically mines the voyage feature points by using the historical voyage data, and segments the voyage according to the voyage feature points, and fits the similar voyage segments to automatically determine the channel.
[0005] In a first aspect, the present application provides a channel determination method, which can include the following steps:
[0006] Obtaining historical voyage data of a vehicle;
[0007] Determining a plurality of voyage feature points in the historical voyage data by using voyage track points in the historical voyage data;
[0008] Segmenting the voyage corresponding to the historical voyage data by using the plurality of voyage feature points to obtain a plurality of voyage segments;
[0009] Clustering the plurality of voyage segments, and obtaining a channel by using the voyage segments after the clustering.
[0010] In a second aspect, the present application provides a channel determination device, which can include:
[0011] A data acquisition module configured to obtain historical voyage data of a vehicle;
[0012] A voyage feature point determination module configured to determine a plurality of voyage feature points in the historical voyage data by using voyage track points in the historical voyage data;
[0013] A voyage segmentation module configured to segment the voyage corresponding to the historical voyage data by using the plurality of voyage feature points to obtain a plurality of voyage segments.
[0014] The channel determination module is configured to cluster the plurality of voyage segments, and obtain the channel by using the clustered voyage segments.
[0015] In a third aspect, an electronic device is provided, which includes a memory, a processor, and a computer program stored in the memory. The processor implements the method of any of the above aspects when executing the computer program.
[0016] In a fourth aspect, a computer-readable storage medium is provided, which stores a computer program. The computer program is executed by a processor to implement the method of any of the above aspects.
[0017] Compared with the prior art, the present application has the following advantages:
[0018] According to the embodiments of the present application, the voyage feature points can be used to mine the special positions such as the starting point and the stopping point of the vehicle in the driving process. Furthermore, the voyage can be segmented based on the voyage feature points, and each segment can correspond to a single voyage. Finally, the single voyage is clustered, and the channel is determined. On the one hand, the cost of manual channel labeling can be saved, and on the other hand, the determination speed of the channel is guaranteed. Based on the determined channel, the channel prediction of the vehicle, the saturation control of the navigable water area, and the abnormal behavior analysis of the vehicle can be applied.
[0019] The above description is only a summary of the technical solutions of the present application. In order to make the technical means of the present application more clear, the embodiments of the present application can be implemented according to the content of the description, and in order to make the above and other purposes, characteristics and advantages of the present application more obvious and easy to understand, the specific embodiments of the present application are described below. BRIEF DESCRIPTION OF DRAWINGS
[0020] In the drawings, the same reference numbers in the several figures indicate corresponding or similar components or elements. The drawings are not necessarily to scale, and the emphasis is generally placed upon illustrating the principles of the application. It should be understood that the drawings are merely depictions of some embodiments of the present application and should not be construed as limiting the scope of the present application.
[0021] Figure 1 A scene schematic diagram of the channel determination method provided by the present application;
[0022] Figure 2 A flowchart of the channel determination method of an embodiment of the present application;
[0023] Figure 3 A schematic diagram of data compression processing of the voyage segment of an embodiment of the present application;
[0024] Figure 4is a schematic diagram of grouping voyage segments according to an embodiment of the present application;
[0025] Figure 5 is a structural block diagram of a channel determination device according to an embodiment of the present application; and
[0026] Figure 6 is a block diagram of an electronic device for implementing an embodiment of the present application. DETAILED DESCRIPTION
[0027] Hereinafter, only certain exemplary embodiments are described simply. As those skilled in the art can recognize, the described embodiments can be modified in various different ways without departing from the concept or scope of the present application. Therefore, the drawings and the description are considered to be exemplary in nature, rather than limiting.
[0028] In order to facilitate understanding of the technical solutions of the embodiments of the present application, the related technologies of the embodiments of the present application are described below. The following related technologies can be combined with the technical solutions of the embodiments of the present application in any manner as optional solutions, and all of them belong to the protection scope of the embodiments of the present application.
[0029] First, the terms involved in the present application are explained.
[0030] Automatic Identification System (AIS): It is a new type of navigation system for maritime safety and communication between ships and shores, and ships. It is generally composed of a very high frequency (VHF) communication machine, a global positioning system (GPS) based positioning instrument, and a communication controller connected with shipborne display and sensors. It can realize the automatic exchange of important information such as ship position, speed, heading, ship name, call number, etc. The AIS installed on the ship receives the information of other ships within the VHF coverage range while sending out information, thereby realizing information interaction. In addition, as an open data transmission system, AIS can communicate with radar equipment, automatic radar plotting aid (ARPA), electronic chart display and information system (ECDIS), vessel traffic service (VTS) terminal equipment, and other terminal equipment to form a ship communication network.
[0031] Figure 1FIG. 1 shows an exemplary schematic diagram of an application scenario of a method for implementing an embodiment of the present application. In the current application scenario, the execution subject of the channel determination method can be a data processing terminal such as a cloud server. Using a base station, the terminal can obtain AIS data of a plurality of vessels. The vessels can include container ships, cruise ships, etc. The AIS data can include voyage data of each vessel in the past period of time, for example, data in the past half year or data in the past year, etc.
[0032] By mining the voyage data, voyage feature points can be determined, for example, a berth corresponding to a stop position of a vessel, or a turning point in the voyage of the vessel, etc. can be used as a voyage feature point. According to the voyage feature points, the trajectory of each vessel can be segmented to obtain a plurality of voyage segments. Further, according to the similarity between the plurality of voyage segments of the current vessel and the similarity between the plurality of voyage segments of a plurality of vessels, the voyage segments can be clustered, so that a plurality of channels can be fitted.
[0033] If the current vessel has a repeated voyage, for example, between two berths A and B, the channel from berth A to berth B is approximately the same. Therefore, the similarity of the plurality of voyage segments of the current vessel can be compared. In addition, there are also vessels with the same or similar voyages, for example, a plurality of vessels perform transportation tasks between two berths A and B. Based on this, the similarity of the voyage segments of different vessels can be compared.
[0034] Through the above automatic fitting process of the voyage, the automatic determination of the channel can be realized without manual intervention for labeling. Therefore, important data support can be provided in the channel prediction, channel analysis and other scenarios.
[0035] An embodiment of the present application provides a channel determination method, as shown in Figure 2 The flowchart of the channel determination method of an embodiment of the present application can include:
[0036] Step S201: Obtain historical voyage data of a vessel.
[0037] The historical voyage data can include voyage data of a single vessel, or voyage data of multiple vessels, and can be voyage data of the past half year or the past year in terms of time dimension. The vessel can include a container ship, a cruise ship, a fishing boat, etc. The historical voyage data can be acquired through AIS. Generally, the sampling interval of AIS is 2-4 minutes, and the historical voyage data records static information and dynamic information of the vessel, etc. The static information can include the model of the vessel, the size of the vessel, etc. The dynamic information can include the departure time of the vessel, the arrival time of the vessel, the position data of each voyage track point, the heading data, the speed data, etc.
[0038] Step S202: determining a plurality of voyage feature points in the historical voyage data by using the voyage track points in the historical voyage data.
[0039] The voyage feature points can be determined by using the historical voyage data of multiple vessels. Specifically, the voyage feature points can be determined according to the positions corresponding to the voyage track points of each vessel, so as to represent the points of interest. For example, in the case where it is detected that the position of the voyage track point corresponds to a port berth, the corresponding voyage track point can be determined as a voyage feature point. Alternatively, the voyage track point can also be determined as a voyage feature point according to the heading data of the voyage track point or according to the speed data of the voyage track point. Finally, the clustering technology can be used to cluster the voyage track points determined as the voyage feature points. Thus, the number of voyage feature points can be effectively reduced.
[0040] Step S203: segmenting the voyage corresponding to the historical voyage data by using the plurality of voyage feature points to obtain a plurality of voyage segments.
[0041] After the voyage feature points are determined, the voyage of a single vessel can be segmented. As mentioned above, the historical voyage data acquired by using AIS can be the voyage data of the past half year or the past year of the vessel. Based on this, the historical voyage data of each vessel can be a whole. Since the data amount of the voyage data of the past half year or the past year is large, and can include multiple repeated voyage segments, the historical voyage data of each vessel can be segmented by using the voyage feature points to obtain a plurality of voyage segments.
[0042] For example, for the voyage of the first vessel, the voyage between the first time and the second time when the voyage feature point appears can be taken as the first voyage segment after segmentation. The voyage between the second time and the third time when the voyage feature point appears can be taken as the second voyage segment after segmentation. In this way, the voyage of each vessel can be segmented to obtain a plurality of voyage segments.
[0043] Step S204: Clustering processing is performed on the plurality of voyage segments, and a waterway is obtained by using the voyage segments after the clustering processing.
[0044] After the plurality of voyage segments are obtained, the voyage segments with a similarity higher than a threshold value can be selected first by using a similarity principle. Then, the voyage segments similar to each other can be clustered, and a waterway determination result can be obtained by using the voyage segments after the clustering processing.
[0045] Through the above process of the present application, the starting point, the stopping point and other special positions of the watercraft in the driving process can be mined based on the voyage feature points. Then, the voyage can be segmented based on the voyage feature points, and each segment can correspond to a single voyage. Finally, the waterway can be determined by clustering the single voyage. On the one hand, the cost of manual waterway labeling can be saved, and on the other hand, the determination speed of the waterway is guaranteed. Based on the determined waterway, it can be applied to watercraft waterway prediction, saturation control of navigable waters, and abnormal behavior analysis of watercraft. Taking watercraft waterway prediction as an example, at least two voyage feature points can be determined according to the current position of the watercraft and the positions of the past voyage track points. Based on the determined voyage feature points, matching can be performed in the waterway determined in advance, so as to obtain the waterway with the highest matching degree. Finally, the waterway prediction of the watercraft can be performed according to the waterway with the highest matching degree. In addition, based on the waterway prediction, the water area of the region to which the destination belongs can be detected for saturation, and in the case where the saturation is determined to exceed a corresponding threshold value, the waterway can be adjusted to alleviate congestion. In addition, in the case where the deviation between the actual waterway of the watercraft and the waterway prediction exceeds a corresponding threshold value, it can be determined that the watercraft has a suspected abnormal behavior. Based on the suspected abnormal behavior, warning or alarm processing can be performed.
[0046] In a possible implementation, the determination of the plurality of voyage feature points in the historical voyage data in step S202 can include:
[0047] Step S2021: The voyage track points of the historical voyage data are traversed, and the voyage track points meeting the interest point condition are determined as candidate feature points.
[0048] The interest point condition can be a pre-set condition. Exemplarily, the interest point condition can be at least one of a position dimension, a speed dimension and a heading dimension. For example, taking the position dimension as an example, the position corresponding to the voyage track point can be matched in a map. If the matching is a port berth, it can be determined that the voyage track point meets the interest point condition.
[0049] The speed dimension can be that the speed corresponding to the voyage track point is lower than a threshold value. The heading dimension can be that the heading angle difference between adjacent voyage track points is greater than a corresponding threshold value.
[0050] Step S2022: clustering the candidate feature points to obtain a plurality of voyage feature points.
[0051] The clustering of the candidate feature points can be clustering the candidate feature points with a relatively close distance to each other. The relatively close distance can be lower than a corresponding distance threshold. Exemplarily, a density-based clustering algorithm (DBSCAN, Density-Based Spatial Clustering of Applications with Noise) can be used to cluster the candidate feature points, and finally a plurality of voyage feature points can be clustered.
[0052] In a possible implementation, the determination of the voyage trajectory points meeting the point-of-interest condition in step S2021 can include:
[0053] The voyage trajectory point with a speed not higher than a corresponding speed threshold is determined as the voyage trajectory point meeting the point-of-interest condition; or
[0054] In a case where a difference between a heading angle of the current voyage trajectory point and a heading angle of the adjacent voyage trajectory point is not lower than a corresponding angle difference threshold, the current voyage trajectory point is determined as the voyage trajectory point meeting the point-of-interest condition.
[0055] The voyage trajectory points meeting the point-of-interest condition can generally include two categories. The first category can be summarized as a stop point of the vehicle, which can generally refer to a berth or an anchorage. Based on this, the stop point of the vehicle can be determined by the speed. For example, the voyage trajectory point with a speed lower than 0.5 knots can be determined as the stop point of the vehicle. In addition, the stop point of the vehicle can also be determined by obtaining the position information of each voyage trajectory point. For example, if the position information of the voyage trajectory point coincides with the berth or the anchorage in the map, or the distance between the position information of the voyage trajectory point and the position of the berth or the anchorage in the map is within an allowable range, the voyage trajectory point can also be determined as the stop point of the vehicle. The second category can be summarized as a turning point. For example, in a case where the turning angle of each voyage trajectory point is known, whether the subsequent voyage trajectory point meets the point-of-interest condition can be determined according to the difference between the turning angles of the adjacent voyage trajectory points. That is, if the difference between the turning angle of the subsequent voyage trajectory point and the turning angle of the previous voyage trajectory point is not lower than a pre-set angle difference threshold, the subsequent voyage trajectory point can be determined as the turning point.
[0056] In a possible implementation, the segmentation of the voyage corresponding to the historical voyage data by using the plurality of voyage feature points in step S203 can include:
[0057] Step S2031: determining an end point from the voyage trajectory points of the vehicle; the end point is a voyage trajectory point with a distance within a corresponding distance threshold range from the voyage feature point.
[0058] The current step can be based on an aircraft. For example, it could be each aircraft individually, or it could be a selection of multiple aircraft. Here, we will use one aircraft as the target aircraft as an example. We iterate through the set T of the target aircraft's trajectory points, T = {P1, P2, ..., P...} n-1 P n}, where P1 to P n Each of the n trajectory points in the set T can be represented by a positive integer. The endpoints can be trajectory points in the set T whose distances to the identified trajectory feature points are within a corresponding distance threshold range. For example, the first trajectory point P found whose distance to the first identified trajectory feature point is within the corresponding distance threshold range. i Then the flight path point P can be... i As the first endpoint, 1 ≤ i < n, where i is a positive integer. Then, starting from the trajectory point P... i+1 Continue iterating until a trajectory point P is found whose distance to all other identified trajectory feature points (excluding the first trajectory feature point) is within the corresponding distance threshold range. j The flight path point P can be... j As the second endpoint, i ≤ j < n, where j is a positive integer. This process can be repeated to determine multiple endpoints.
[0059] Step S2032: Using endpoints, segment the corresponding flight path to obtain multiple flight path segments.
[0060] The distance between the first and second endpoints can be considered as the first segment after partitioning. If a third endpoint exists, the distance between the second and third endpoints can be considered as the second segment. This process can be repeated to obtain multiple segments.
[0061] Based on this, the journey feature points can be used to automatically mine the journey of the vehicle, thereby accurately segmenting the vehicle's past journey based on the journey feature points.
[0062] One possible implementation also includes a process of compressing the data for the flight segment;
[0063] The data compression process may include:
[0064] Use the endpoints of the flight segment to determine the reference lines used for selecting and discarding points on the flight path;
[0065] Based on the projected distance between the trajectory points in the flight segment and the reference line, the trajectory points in the flight segment are selected for rejection; the flight segments retained after rejection are the flight segments used for the clustering process.
[0066] Combining Figure 3 as shown, Figure 3 (A) can exemplarily represent a first voyage segment. Figure 3 Two end points of the first voyage segment in (A) are anchor point A1 and floating point A n , respectively. Connecting anchor point A1 and floating point A n with a straight line, the connecting line can be used as a reference line for voyage trajectory point selection.
[0067] The projection distance d e of each voyage trajectory point in the first voyage segment to the reference line is calculated respectively, d e may represent the projection distance of the e-th voyage trajectory point to the reference line, e being a positive integer. A first projection distance threshold D1 is set in advance, and the voyage trajectory points are selected by comparing the sizes of d e and D1. Figure 3 As shown in (A), the projection distance of voyage trajectory point A n-p is greater than the projection distance threshold D1, and based on this, voyage trajectory point A n-p may be retained. Voyage trajectory point A n-p may also be called a split point, a floating point, or an anchor point, etc.
[0068] As shown in (B) thereafter, Figure 3 connecting anchor point A1 and voyage trajectory point A n-p with a straight line. Connecting voyage trajectory point A n-p and floating point A n with a straight line, the connecting line can be used as a reference line. Take the reference line between anchor point A1 and voyage trajectory point A n-p as an example. The projection distance d n-p of each voyage trajectory point between anchor point A1 and voyage trajectory point A g to the reference line is calculated respectively, d g may represent the projection distance of the g-th voyage trajectory point to the reference line, g being a positive integer. A second projection distance threshold D2 is set in advance, and the voyage trajectory points are selected by comparing the sizes of d g and D2. Figure 3 As shown in (B), the projection distance of voyage trajectory point A n-p-q is greater than the projection distance threshold D2, and based on this, voyage trajectory point A n-p-q may be retained. The second projection distance threshold D2 and the first projection distance threshold D1 can have the same value or different values. Alternatively, the values of the second projection distance threshold D2 and / or the first projection distance threshold D1 can also be adjusted according to actual requirements.
[0069] As shown in (C) thereafter, Figure 3(C) shown, the comparison can continue until the projection distance of all voyage track points to the reference line is not greater than the distance threshold. Only voyage track points with a distance greater than a predetermined distance from the reference line can be retained, thereby reducing the amount of data. In combination with Figure 3 In the example shown, only voyage track point A n-p and voyage track point A n-p-q may be retained. The number of voyage track points in the selected voyage section is reduced, thereby effectively reducing the amount of data for subsequent aggregation processing and improving the aggregation efficiency of the voyage section.
[0070] In one possible implementation, the clustering processing of the plurality of voyage sections involved in step S204, and the determination of the waterway based on the clustering-processed voyage sections, can include the following steps.
[0071] Step S2041: determining the specified voyage section based on the similarity determination result.
[0072] For the determined plurality of voyage sections, the plurality of voyage sections can be classified first. The classification basis can be similarity, or the same end point or similar end point distance. For example, in the case where the coincidence degree of two voyage sections is greater than 80%, it can be determined that the similarity is high, and the two voyage sections can be used as the specified voyage section. Alternatively, the two voyage sections have the same end point, or the distance between the corresponding end points is within a specified range, and it can be determined that the similarity is high, and the two voyage sections can be used as the specified voyage section.
[0073] Step S2042: clustering processing the specified voyage section, and determining the waterway based on the clustering-processed voyage section.
[0074] As mentioned above, the specified voyage section is a voyage section with high similarity to each other, and can be subjected to clustering processing. For example, a conventional dynamic time warping (DTW) algorithm or a Hausdorff algorithm can be used. Alternatively, a nearest neighbor propagation clustering algorithm can be used to implement the clustering processing, and finally the similar trajectories can be clustered to obtain the final waterway determination result.
[0075] In one possible implementation, the determination manner of the similarity determination result involved in step S2041 can include the following steps.
[0076] Step S20411: grouping the voyage sections based on the positions of the end points of the voyage sections, to obtain a plurality of voyage section sets.
[0077] The navigable water area can be meshed. Then, the end points in each voyage segment can be mapped to the mesh of the navigable water area according to the latitude and longitude information. If the meshes of the two corresponding end points of two voyage segments are the same, the two voyage segments can be divided into the same voyage segment set. For example, Figure 4 As shown in FIG. 1, T1, T2, and T3 can represent three voyage segments, and the left end points of the three voyage segments are mapped to the first mesh, and the right end points of the three voyage segments are mapped to the second mesh. Based on this, the three voyage segments represented by T1, T2, and T3 can be divided into the same voyage segment set.
[0078] Step S20412: determining the similarity between the voyage segments in the voyage segment set based on the projection distance between the voyage segments in the voyage segment set, to obtain a similarity determination result.
[0079] For example, Figure 4 The two voyage segments represented by T1 and T2 are taken as an example for description. D(T1, T2) can represent the distance from the voyage segment T1 to the voyage segment T2, which is used to measure the similarity between the two voyage segments.
[0080] In the formula, n1 can represent the number of voyage track points remaining in the voyage segment T1, and n1 is a positive integer; D pd (p i , T2) can represent the projection distance from the i th voyage track point (P i ) in the voyage segment T1 to the voyage segment T2, i is a positive integer, and 1≤i≤n1. Similarly, the distance from the voyage segment T2 to the voyage segment T1 can also be calculated and represented as D(T2, T1).
[0081] Then, the average value can be used to determine the similarity between the voyage segments, represented as D, In the current example, if D=0, it means that the two voyage segments coincide, otherwise, the greater the value of D, the lower the coincidence degree of the two voyage segments. Through the above process, the number of voyage segments participating in the similarity calculation can be greatly reduced.
[0082] The similarity threshold value can be pre-set by using an empirical value. For example, if the value of the similarity D between the voyage segments is not higher than the corresponding threshold value, it means that the similarity determination result is higher than the corresponding similarity threshold value. Still taking the previous example for description, if the similarity D of the two voyage segments represented by T1 and T2 is not higher than the corresponding threshold value, it means that the two voyage segments represented by T1 and T2 are the voyage segments satisfying the specified condition.
[0083] In one possible implementation, the clustering processing of the specified voyage segments involved in step S2042, and the channel determination result obtained by using the voyage segments after the clustering processing can include:
[0084] S20421: performing a near neighbor propagation clustering on the specified voyage segment to obtain at least one voyage segment cluster group having a cluster center.
[0085] The basic idea of the near neighbor propagation clustering algorithm is to regard all samples (voyage segments) as nodes of a network, and then to calculate the cluster center of each sample through message passing of each edge in the network. In the clustering process, there are two kinds of messages passing between nodes, namely, responsibility and availability. The near neighbor propagation clustering algorithm continuously updates the responsibility value and availability value of each voyage segment through an iterative process until m high-quality exemplars are generated, and the remaining voyage segments are assigned to the corresponding clusters. The calculation expression of the near neighbor propagation clustering algorithm is as follows:
[0086] r(i,k) = s(i,k) - max k'≠k (a(i,k') + s(i,k'))
[0087]
[0088] In the formula, i can represent the i-th voyage segment, i' can represent other voyage segments except the i-th voyage segment, k can represent the k-th voyage segment, and k' can represent other voyage segments except the k-th voyage segment.
[0089] r(i,k) can be used to represent the responsibility of the i-th voyage segment to the k-th voyage segment.
[0090] s(i,k) can be used to represent the similarity between the i-th voyage segment and the k-th voyage segment.
[0091] a(i,k) can be used to represent the availability of the i-th voyage segment to the k-th voyage segment.
[0092] a(i,k') can be used to represent the availability of the i-th voyage segment to other voyage segments except the k-th voyage segment.
[0093] s(i,k') can be used to represent the similarity between the i-th voyage segment and other voyage segments except the k-th voyage segment.
[0094] r(k,k) can be used to represent self-responsibility.
[0095] r(i',k) can be used to represent the responsibility of other voyage segments except the i-th voyage segment to the k-th voyage segment.
[0096] The iteration can be terminated if a preset iteration number is reached, or the cluster centers no longer change, or the like. Using the above algorithm, a plurality of voyage segment cluster groups with cluster centers can be obtained.
[0097] S20422: A channel determination result is obtained using the cluster centers in the voyage segment cluster group.
[0098] The cluster centers in the voyage segment cluster group can be directly used as the channel determination result. Alternatively, the cluster centers can be processed to obtain the channel determination result. For example, the processing can include adaptive widening or narrowing of the channel, smoothing of the fitted channel, or the like.
[0099] In a possible implementation, the historical voyage data involved in step S101 is preprocessed data, and the preprocessing can include:
[0100] S1011: The water area is divided into grids, and a plurality of target grids corresponding to the historical voyage data are determined.
[0101] The water area is divided into grids, which can be used as a unit to determine the position of each voyage trajectory point in the historical voyage data by the position or number of the grid.
[0102] S1012: The voyage trajectory points in the historical voyage data in each target grid are clustered to obtain a clustering result; the voyage trajectory points participating in the clustering process are loaded with at least one of the following: the model of the corresponding vehicle, the size of the vehicle, the latitude and longitude data, the heading data, and the speed data.
[0103] First, the grid involved in the voyage trajectory point is screened, so that the effective data can be located. Still taking Figure 4 as an example, Figure 4 The left end points (voyage trajectory points) of the three voyage segments T1, T2, and T3 in FIG. 1 fall into the same grid. Then, the related information of the three end points can be used for clustering. For example, the voyage segment T1 is historical data of a first vehicle, the voyage segment T2 is historical data of a second vehicle, and the voyage segment T3 is historical data of a third vehicle. Taking the left end point of the voyage segment T1 as an example, the related information can be the model of the first vehicle loaded to the voyage trajectory point, the size (dimension) of the first vehicle, the latitude and longitude data corresponding to the left end point of the voyage segment T1, the heading data, the speed data, and the like, which can be used as attribute information accompanying the voyage trajectory point. After encoding the above related information, the corresponding vector representation can be obtained. In the same way, the corresponding vector representation of the left end point of the voyage segment T2 and the corresponding vector representation of the left end point of the voyage segment T3 can be obtained.
[0104] The DBSCAN algorithm can be used to cluster the related information of each voyage trajectory point in the grid to obtain a corresponding cluster. The cluster center can be represented as c i , and the cluster distance can be represented as d i . i can be the serial number of the cluster.
[0105] Step S1013: In the case where the difference between the features of the voyage trajectory point and the features of the clustering result does not exceed the corresponding feature difference threshold, the corresponding voyage trajectory point is retained.
[0106] For a voyage trajectory point in the grid, the features of the voyage trajectory point can be determined first. The features of the voyage trajectory point are represented in a vector. Similarly, for the clustering result, the features can also be determined. Then, it can be calculated whether the distance between the voyage trajectory point and the cluster center of the clustering result is greater than the cluster distance. If it is greater than the cluster distance, the voyage trajectory point belongs to an abnormal point, and the abnormal point is deleted. If it is not greater than the cluster distance, the voyage trajectory point belongs to a normal point, and the normal point is retained. The cluster center can be the average value, the median, etc. of the feature vector.
[0107] Step S1014: The retained voyage trajectory point is used as the preprocessed data.
[0108] After the abnormal points are deleted, the remaining voyage trajectory points can be used as the preprocessed data.
[0109] Corresponding to the application scenarios and methods of the method provided in the embodiments of the present application, the embodiments of the present application also provide a determination device of a waterway. As shown in FIG. 1, which is a structural block diagram of a determination device of a waterway according to an embodiment of the present application, the determination device of the waterway can include: Figure 5
[0110] The data acquisition module 501 is configured to acquire historical voyage data of a vehicle.
[0111] The voyage feature point determination module 502 is configured to determine a plurality of voyage feature points in the historical voyage data by using the voyage trajectory points in the historical voyage data.
[0112] The voyage segmentation module 503 is configured to perform segmentation processing on a voyage corresponding to the historical voyage data by using the plurality of voyage feature points to obtain a plurality of voyage segments.
[0113] The waterway determination module 504 is configured to perform clustering processing on the plurality of voyage segments to obtain a waterway by using the voyage segments after the clustering processing.
[0114] In a possible implementation manner, the voyage feature point determination module 502 can include:
[0115] The candidate feature point determination submodule is configured to traverse the voyage track points of the historical voyage data, and determine a voyage track point meeting a point of interest condition as a candidate feature point.
[0116] The voyage feature point determination execution submodule is configured to perform clustering processing on the candidate feature points to obtain a plurality of voyage feature points.
[0117] In a possible implementation, the candidate feature point determination submodule can be specifically configured to:
[0118] determine a voyage track point with a speed not higher than a corresponding speed threshold as the voyage track point meeting the point of interest condition; or
[0119] determine the current voyage track point as the voyage track point meeting the point of interest condition in a case where a difference between a heading angle of the current voyage track point and a heading angle of an adjacent voyage track point is not lower than a corresponding angle difference threshold.
[0120] In a possible implementation, the voyage segmentation module 503 can include:
[0121] The endpoint determination submodule is configured to determine an endpoint from the voyage track points of the aircraft, the endpoint being a voyage track point within a corresponding distance threshold range from a voyage feature point.
[0122] The voyage segmentation execution submodule is configured to perform segmentation processing on the voyage of the corresponding aircraft by using the endpoint to obtain a plurality of voyage segments.
[0123] In a possible implementation, the data compression module can include:
[0124] The reference line determination submodule is configured to determine a reference line for trajectory point selection by using the endpoints of the voyage segments.
[0125] The voyage trajectory point selection submodule is configured to select the voyage track points included in the voyage segment based on the projection distance of the voyage track points included in the voyage segment from the reference line, and perform selection on the voyage track points included in the voyage segment; the voyage segment remaining after the selection is a voyage segment for clustering processing.
[0126] In a possible implementation, the channel determination module 504 can include:
[0127] The specified voyage segment determination submodule is configured to determine a specified voyage segment based on the similarity discrimination result.
[0128] The channel determination execution submodule is configured to perform clustering processing on the specified voyage segment, and obtain a channel determination result by using the voyage segment after the clustering processing.
[0129] In a possible implementation, the specified voyage segment determination submodule can include:
[0130] The voyage segment set determination unit is configured to group the voyage segments according to the positions of the end points of the voyage segments, to obtain a plurality of voyage segment sets.
[0131] The similarity determination unit is configured to determine the similarity between the voyage segments in a voyage segment set based on the projection distances between the voyage segments in the voyage segment set, to obtain a similarity determination result.
[0132] In a possible implementation, the channel determination execution submodule can include:
[0133] The voyage segment cluster group determination unit is configured to perform affinity propagation clustering on the specified voyage segments, to obtain at least one voyage segment cluster group having a cluster center.
[0134] The channel determination result generation unit is configured to obtain a channel determination result by using the cluster centers in the voyage segment cluster groups.
[0135] In a possible implementation, the pre-processing module can include:
[0136] The grid division submodule is configured to divide the water area into a plurality of target grids corresponding to the historical voyage data.
[0137] The clustering submodule is configured to perform clustering processing on the voyage track points in the historical voyage data in each target grid, to obtain a clustering result. The voyage track points participating in the clustering processing are loaded with at least one of the following: a model of a corresponding vehicle, a size of the vehicle, latitude and longitude data, heading data, and speed data.
[0138] The voyage track point selection unit is configured to retain a corresponding voyage track point in a case where a difference between a feature of the voyage track point and a feature of the clustering result does not exceed a corresponding feature difference threshold.
[0139] The pre-processing result acquisition submodule is configured to take the retained voyage track points as pre-processed data.
[0140] The functions of each module in each device of the embodiments of the present application can be referred to the corresponding description in the above method, and have the corresponding beneficial effects, which will not be repeated here.
[0141] Figure 6 A block diagram of an electronic device for implementing the embodiments of the present application is shown in FIG. 6. As shown in FIG. 6, the electronic device includes a memory 610 and a processor 620, and the memory 610 stores a computer program executable on the processor 620. The processor 620 executes the computer program to implement the method in the above embodiments. The number of the memory 610 and the processor 620 can be one or more. Figure 6 The memory 610 and the processor 620 can be one or more.
[0142] The electronic device also includes:
[0143] The communication interface 630 is configured to communicate with external devices and transmit data.
[0144] If the memory 610, the processor 620 and the communication interface 630 are implemented independently, the memory 610, the processor 620 and the communication interface 630 can be connected to each other through a bus and complete communication between each other. The bus can be an Industry Standard Architecture (ISA) bus, a Peripheral Component Interconnect (PCI) bus or an Extended Industry Standard Architecture (EISA) bus, etc. The bus can be divided into an address bus, a data bus, a control bus, etc. For ease of representation, Figure 6 Only one thick line is used in the figure, but it does not mean that there is only one bus or only one type of bus.
[0145] Optionally, in a specific implementation, if the memory 610, the processor 620 and the communication interface 630 are integrated on a chip, the memory 610, the processor 620 and the communication interface 630 can complete communication between each other through an internal interface.
[0146] The embodiment of the present application provides a computer readable storage medium, which stores a computer program, and the program is executed by a processor to implement the method provided in the embodiment of the present application.
[0147] The embodiment of the present application also provides a chip, which includes a processor, is used for calling and running instructions stored in a memory, and makes a communication device installed with the chip execute the method provided in the embodiment of the present application.
[0148] The embodiment of the present application also provides a chip, which includes an input interface, an output interface, a processor and a memory, the input interface, the output interface, the processor and the memory are connected through an internal connection path, and the processor is used for executing code in the memory, and when the code is executed, the processor is used for executing the method provided in the embodiment of the present application.
[0149] It is to be understood that the above-mentioned processor can be a central processing unit (CPU), and can also be other general-purpose processors, digital signal processors (DSP), application specific integrated circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, etc. The general-purpose processor can be a microprocessor or any conventional processor, etc. It is worth noting that the processor can be a processor supporting an advanced RISC machine (ARM) architecture.
[0150] Further, the memory can include a read-only memory and a random access memory, optionally. The memory can be a volatile memory or a non-volatile memory, or can include both volatile and non-volatile memories. The non-volatile memory can include a read-only memory (ROM), a programmable read-only memory (PROM), an erasable programmable read-only memory (EPROM), an electrically EPROM (EEPROM), or a flash memory. The volatile memory can include a random access memory (RAM) used as an external cache. By way of example, but not limitation, many forms of RAM are available. For example, a static random access memory (SRAM), a dynamic random access memory (DRAM), a synchronous dynamic random access memory (SDRAM), a double data rate SDRAM (DDR SDRAM), an enhanced SDRAM (ESDRAM), a sync link DRAM (SLDRAM), and a direct Rambus RAM (DR RAM) can be used.
[0151] In the above-described embodiments, all or part of the embodiments can be implemented by software, hardware, firmware, or any combination thereof. When implemented by software, all or part of the embodiments can be implemented in the form of a computer program product. The computer program product includes one or more computer instructions. When the computer program instructions are loaded on a computer, all or part of the processes or functions according to the present application are generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable devices. The computer instructions can be stored in a computer-readable storage medium or transferred from one computer-readable storage medium to another computer-readable storage medium.
[0152] In the description of the present specification, the description of the terms "one embodiment", "some embodiments", "an example", "a specific example", or "some examples" and the like means that the specific features, structures, materials or characteristics described in connection with the embodiment or example are included in at least one embodiment or example of the present application. Also, the specific features, structures, materials or characteristics described can be combined in any appropriate manner in any one or more embodiments or examples. In addition, a person skilled in the art can combine and combine the different embodiments or examples described in the present specification and the features of the different embodiments or examples without contradiction.
[0153] In addition, the terms "first", "second", etc. are used only for descriptive purposes and cannot be understood as indicating or implying relative importance or implicitly indicating the number of the technical features indicated. Therefore, the features defined with "first", "second" can explicitly or implicitly include at least one of the features. In the description of the present application, the meaning of "a plurality of" is two or more, unless otherwise explicitly specified.
[0154] Any process or method described in the flowchart or otherwise described herein can be understood as a representation of code including one or more executable instructions for performing a specific logical function or process. Also, the scope of the preferred embodiments of the present application includes additional implementations that can not be shown or discussed, including implementations in which functions are performed in different orders, in substantially simultaneous fashion, or in reverse order.
[0155] The logic and / or steps described in the flowchart or otherwise described herein, for example, can be considered a list of executable instructions for implementing the logic function, and can be specifically embodied in any computer-readable medium for use by or in connection with an instruction execution system, apparatus or device, such as a computer-based system, a processor-based system, or other system that can fetch the instructions from the instruction execution system, apparatus or device and execute the instructions, or in conjunction with such an instruction execution system, apparatus or device.
[0156] It should be understood that each part of the present application can be realized by hardware, software, firmware or a combination thereof. In the above embodiments, a plurality of steps or methods can be realized by software or firmware stored in a memory and executed by a suitable instruction execution system. All or part of the steps of the above-mentioned embodiment methods can be completed by a program instructing the relevant hardware, which can be stored in a computer readable storage medium and includes one or a combination of the steps of the embodiment methods when executed.
[0157] In addition, each functional unit in each embodiment of the present application can be integrated in one processing module, or each unit can be physically present separately, or two or more units can be integrated in one module. The above-mentioned integrated module can be realized in the form of hardware or in the form of a software functional module. The above-mentioned integrated module, if realized in the form of a software functional module and sold or used as an independent product, can also be stored in a computer readable storage medium. The storage medium can be a read-only memory, a magnetic disk or an optical disk, etc.
[0158] The above is only an exemplary embodiment of the present application, but the protection scope of the present application is not limited thereto. Any person skilled in the art can easily think of various changes or replacements within the technical scope disclosed in the present application, which should be covered within the protection scope of the present application. Therefore, the protection scope of the present application should be subject to the protection scope of the claims.
Claims
1. A method for determining a waterway, characterized in that, include: Acquire historical flight data of the aircraft; Using the flight trajectory points in the historical flight data, multiple flight feature points in the historical flight data are determined; wherein, the multiple flight feature points are obtained by clustering multiple flight trajectory points that meet the interest conditions, and the multiple flight trajectory points that meet the interest conditions include stop points and / or turning points; Based on the plurality of flight path feature points, at least two endpoints are determined from the flight path trajectory points, and the distance between each endpoint and one of the flight path feature points is within a corresponding distance threshold range; The distance between two adjacent endpoints in the distance corresponding to the historical distance data is taken as a distance segment, and multiple distance segments are obtained. The multiple voyage segments are clustered, and the voyage segments after clustering are used to obtain the waterway.
2. The method according to claim 1, characterized in that, The method for determining the flight path points that meet the point of interest criteria includes: Points whose flight path speed does not exceed the corresponding flight speed threshold are identified as points of interest; or If the difference between the heading angle of the current trajectory point and the heading angle of the adjacent trajectory point is not lower than the corresponding angle difference threshold, the current trajectory point is determined as a trajectory point that meets the point of interest condition.
3. The method according to claim 1, characterized in that, It also includes the process of data compression processing for the aforementioned flight segment; The data compression process includes: Using the endpoints of the flight segment, determine the reference lines used for selecting and discarding flight trajectory points; Based on the projected distance between the trajectory points contained in the flight segment and the reference line, the trajectory points contained in the flight segment are selected for selection; the flight segments retained after selection are the flight segments used for the clustering process.
4. The method according to claim 1, characterized in that, The process of clustering the multiple journey segments and using the clustered journey segments to obtain the waterway determination result includes: Based on the similarity score, the specified flight segment is determined; The specified voyage segments are clustered, and the voyage segments after clustering are used to obtain the voyage channel determination result.
5. The method according to claim 4, characterized in that, The method for determining the similarity judgment result includes: By using the locations of the endpoints of the flight segments, the flight segments are grouped to obtain multiple sets of flight segments; Based on the projected distance between the flight segments in the set of flight segments, the similarity between the flight segments in the set of flight segments is determined, and the similarity discrimination result is obtained.
6. The method according to claim 4, characterized in that, The step of clustering the specified voyage segments and using the clustered voyage segments to obtain the channel determination result includes: Perform nearest neighbor propagation clustering on the specified flight segment to obtain at least one flight segment cluster group with a cluster center; The waterway determination result is obtained by using the cluster centers in the cluster group of the flight segment.
7. The method according to claim 1, characterized in that, The historical flight data is preprocessed data, and the preprocessing includes: The water area is divided into grids to determine multiple target grids corresponding to the historical voyage data; Clustering is performed on the flight trajectory points in the historical flight data within each target grid to obtain clustering results; the flight trajectory points participating in the clustering process are loaded with at least one of the following: aircraft model, aircraft size, latitude and longitude data, heading data, and speed data; If the difference between the features of the flight trajectory points and the features of the clustering results does not exceed the corresponding feature difference threshold, the corresponding flight trajectory points will be retained. The retained flight path points are used as preprocessed data.
8. A device for determining a waterway, characterized in that, include: The data acquisition module is used to acquire the aircraft's historical flight data; A route feature point determination module is used to determine multiple route feature points in the historical route data using route trajectory points; wherein, the multiple route feature points are obtained by clustering multiple route trajectory points that meet interest conditions, and the multiple route trajectory points that meet interest conditions include stop points and / or turning points; a route segmentation module is used to determine at least two endpoints from the route trajectory points based on the multiple route feature points, wherein the distance between each endpoint and one of the multiple route feature points is within a corresponding distance threshold range; and the route between two adjacent endpoints in the route corresponding to the historical route data is taken as a route segment to obtain multiple route segments; The channel determination module is used to cluster the multiple travel segments and obtain the channel using the clustered travel segments.
9. An electronic device comprising a memory, a processor, and a computer program stored in the memory, wherein the processor, when executing the computer program, implements the method of any one of claims 1-7.
10. A computer-readable storage medium storing a computer program that, when executed by a processor, implements the method of any one of claims 1-7.
Citation Information
Patent Citations
Ship historical track rule extraction method based on unsupervised clustering
CN110210537A
Sea route track construction method and system, ship and ship management system
CN113868362A