A method, device, equipment and storage medium for determining a waterway path
By converting the float coordinates in the waterway into straight lines and using the brightness grid to determine the boundary straight lines, the problems of inaccurate navigation paths and high labor costs in the prior art are solved, and more efficient and accurate navigation path determination is achieved.
Patent Information
- Application Number
- CN202211112602.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-09-14
- Publication Date
- 2025-05-09
- Estimated Expiration
- 2042-09-14
AI Technical Summary
When determining the path path, the prior art causes inaccurate path path due to random order of float positions and actual location errors, and requires artificial input of the path boundary, which consumes labor costs.
By obtaining the coordinates of each float in the waterway and converting it into a float line in the first coordinate system, a brightness grid is established to determine the boundary line, and finally the path of the waterway is determined based on the float coordinates and boundary line.
It reduces the workload when determining the waterway path, saves labor costs, improves the accuracy of the waterway path, and realizes automated and intelligent navigation.
Smart Images

Figure CN115468565B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of intelligent ship navigation, and in particular to a waterway path determination method, device, equipment and storage medium. Background Art
[0002] For ships to achieve intelligent navigation within the waterway, autonomous route planning is an indispensable part. As an input for path planning, if the channel boundary can be automatically extracted based on the channel buoys, the intelligence level of path planning will be improved.
[0003] The existing technology is to obtain the channel boundary by connecting the buoy positions and then determine the channel path. Since the order in which the buoy positions are stored in the nautical chart may be random and there may be some errors in the actual positions, the determined channel path is inaccurate, and the buoys need to be sorted, resulting in a large workload in determining the channel path, and the channel boundaries need to be manually input, which consumes manpower costs. Summary of the invention
[0004] The present invention provides a method, device, equipment and storage medium for determining a waterway path, so as to realize intelligent navigation of a ship by determining a waterway path.
[0005] According to one aspect of the present invention, a method for determining a waterway path is provided, the method comprising:
[0006] Obtaining the coordinates of each buoy in the channel, and converting the buoy coordinates into a buoy straight line in the first coordinate system;
[0007] Establishing a brightness grid in the first coordinate system, and determining a boundary line according to the brightness grid and the buoy line, wherein the brightness grid includes grid cells;
[0008] The channel path is determined based on the buoy coordinates and boundary lines.
[0009] Preferably, the coordinates of each buoy in the waterway are obtained, and the buoy coordinates are converted into a buoy straight line in the first coordinate system, including: establishing a second coordinate system for the waterway and obtaining the coordinates of each buoy in the waterway based on the second coordinate system; establishing a first coordinate system for the waterway, and performing slope-intercept parameter conversion on the coordinates of each buoy based on the first coordinate system to obtain a conversion result; and obtaining a buoy straight line corresponding to each buoy coordinate according to the conversion result.
[0010] Preferably, the boundary line is determined based on the brightness grid and the buoy line, including: calculating the number of buoy lines contained in each grid cell in the brightness grid, and determining the brightness value of each grid cell based on the number; screening each grid cell based on the brightness value to obtain screened grid cells; and determining the boundary line based on the screened grid cells.
[0011] Preferably, each grid unit is screened according to the brightness value to obtain the screened grid unit, including: determining whether the brightness value corresponding to the grid unit is greater than a brightness threshold, if so, retaining the grid unit, otherwise, eliminating the grid unit; and using the retained grid unit as the screened grid unit.
[0012] Preferably, the boundary line is determined based on the filtered grid cells, including: determining the intersection of the buoy lines in the filtered grid cells, and taking the coordinates corresponding to the intersection as the target coordinates; clustering the target coordinates to obtain the coordinates of each cluster center; and determining the boundary line in the second coordinate system based on the cluster center coordinates.
[0013] Preferably, the channel path is determined based on the buoy coordinates and the boundary lines, including: determining the buoy group based on the distance between each buoy coordinate and each boundary line, and determining the center of gravity coordinates of each buoy group, wherein the buoy group includes buoy coordinates corresponding to the same boundary line; clustering the center of gravity coordinates to obtain track coordinates; and connecting each track coordinate in sequence to determine the channel path.
[0014] Preferably, the buoy group is determined according to the distance between each buoy coordinate and each boundary line, and the center of gravity coordinates of each buoy group are determined, including: determining the distance between each buoy coordinate and each boundary line, determining the boundary line matching each buoy coordinate according to the distance, and dividing the buoy coordinates matching the same boundary line into the same buoy group; calculating the average horizontal coordinate and the average vertical coordinate corresponding to the buoy coordinates in each buoy group, and taking the coordinates corresponding to the average horizontal coordinate and the average vertical coordinate as the center of gravity coordinates.
[0015] According to another aspect of the present invention, there is provided a waterway path determination device, the device comprising:
[0016] A buoy straight line conversion module is used to obtain the coordinates of each buoy in the channel and convert the buoy coordinates into a buoy straight line in the first coordinate system;
[0017] A boundary line determination module is used to establish a brightness grid in the first coordinate system, and determine the boundary line according to the brightness grid and the buoy line, wherein the brightness grid includes grid cells;
[0018] The channel path determination module is used to determine the channel path according to the buoy coordinates and the boundary line.
[0019] According to another aspect of the present invention, an electronic device is provided, the electronic device comprising:
[0020] at least one processor; and
[0021] a memory communicatively connected to the at least one processor; wherein,
[0022] The memory stores a computer program that can be executed by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can execute a waterway path determination method described in any embodiment of the present invention.
[0023] According to another aspect of the present invention, a computer-readable storage medium is provided, wherein the computer-readable storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement a waterway path determination method described in any embodiment of the present invention when executed.
[0024] The technical solution of the embodiment of the present invention obtains the coordinates of each buoy in the channel and converts the buoy coordinates into buoy lines in the first coordinate system. There is no need to sort the buoys, thereby reducing the workload in determining the channel path. The boundary line is determined by the grid cells in the established brightness grid and the buoy line. There is no need to manually input the channel boundary, saving labor costs. The final channel path is determined based on the boundary line and the buoy coordinates, which improves the accuracy of determining the channel path while ensuring automation and intelligence during navigation.
[0025] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present invention, nor are they intended to limit the scope of the present invention. Other features of the present invention will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0026] In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the following briefly introduces the drawings required for use in the description of the embodiments. Obviously, the drawings described below are only some embodiments of the present invention. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0027] Figure 1 is a flow chart of a method for determining a waterway path provided according to Embodiment 1 of the present invention;
[0028] Figure 2 is a schematic diagram of buoy coordinates provided according to Embodiment 1 of the present invention;
[0029] Figure 3 is a straight line schematic diagram of a buoy provided according to the first embodiment of the present invention;
[0030] Figure 4 is a flow chart of another method for determining a waterway path provided according to Embodiment 1 of the present invention;
[0031] Figure 5 is a schematic diagram of a boundary straight line provided according to the first embodiment of the present invention;
[0032] Figure 6 is a flow chart of another method for determining a waterway path provided according to Embodiment 1 of the present invention;
[0033] Figure 7 is a waterway path schematic diagram provided according to Embodiment 1 of the present invention;
[0034] Figure 8 is a flow chart of another method for determining a waterway path provided according to Embodiment 2 of the present invention;
[0035] Fig. 9 is a schematic diagram of the structure of a waterway path determination device provided according to Embodiment 3 of the present invention;
[0036] Fig.10 It is a structural schematic diagram of an electronic device for implementing a method for determining a waterway path according to an embodiment of the present invention. DETAILED DESCRIPTION
[0037] In order to enable those skilled in the art to better understand the scheme of the present invention, the technical scheme in the embodiments of the present invention will be clearly and completely described below in conjunction with the drawings in the embodiments of the present invention. Obviously, the described embodiments are only part of the embodiments of the present invention, not all of the embodiments. Based on the embodiments of the present invention, all other embodiments obtained by ordinary technicians in this field without creative work should fall within the scope of protection of the present invention.
[0038] It should be noted that the terms "first", "second", etc. in the specification and claims of the present invention and the above-mentioned drawings are used to distinguish similar objects, and are not necessarily used to describe a specific order or sequence. It should be understood that the data used in this way can be interchanged where appropriate, so that the embodiments of the present invention described herein can be implemented in an order other than those illustrated or described herein. In addition, the terms "including" and "having" and any variations thereof are intended to cover non-exclusive inclusions, for example, a process, method, system, product or device that includes a series of steps or units is not necessarily limited to those steps or units that are clearly listed, but may include other steps or units that are not clearly listed or inherent to these processes, methods, products or devices.
[0039] Embodiment 1
[0040] Figure 1 A flow chart of a method for determining a waterway path is provided for the first embodiment of the present invention. This embodiment is applicable to the case of determining a waterway path during intelligent navigation of a ship. The method can be executed by a waterway path determination device. The waterway path determination device can be implemented in the form of hardware and / or software. The waterway path determination device can be configured in a computer. Figure 1As shown, the method includes:
[0041] S110, obtaining the coordinates of each buoy in the channel, and converting the buoy coordinates into a buoy straight line in the first coordinate system.
[0042] Among them, the waterway refers to the channel for safe navigation of ships in inland rivers, lakes, harbors and other waters. The boundaries of most port waterways are straight lines or multiple straight lines connected. There are channel buoys distributed on the boundaries. The buoy refers to a channel mark floating on the water surface, usually anchored at a designated position, used to indicate the range of the waterway, indicate shoals, obstructions or indicate surface navigation aids for special purposes. The first coordinate system refers to the slope-intercept coordinate system, and the buoy line refers to the straight line of the buoy coordinates in the slope-intercept coordinate system.
[0043] Preferably, a second coordinate system is established for the waterway, and the coordinates of each buoy in the waterway are obtained based on the second coordinate system; a first coordinate system is established for the waterway, and the slope-intercept parameter of each buoy coordinate is converted based on the first coordinate system to obtain a conversion result; and the buoy straight line corresponding to each buoy coordinate is obtained based on the conversion result.
[0044] Specifically, in order to obtain the coordinates of the buoys in the channel, the controller can establish a second coordinate system in the channel. The second coordinate system can be a Cartesian coordinate system. In this embodiment, only the first coordinate system is a slope-intercept coordinate system and the second coordinate system is a Cartesian coordinate system. The type of coordinate system is not limited. For example, when the controller establishes the second coordinate system in the channel, it can select any point in the water area as the coordinate origin, select a specified direction as the x-axis, and the y-axis perpendicular to the x-axis to establish the second coordinate system. Then the controller can obtain the coordinates of each buoy in the channel based on the second coordinate system, such as Figure 2 As shown, Figure 2 A buoy coordinate schematic diagram is provided for the first embodiment of the present invention. Figure 2 The circles represent buoys. Figure 2 Taking the buoy 1 at the bottom as an example, the controller can obtain the coordinates of the buoy as (7500, -6500). After obtaining the coordinates of each buoy, the controller can establish a first coordinate system for the channel, that is, the slope-intercept coordinate system, that is, convert the coordinates of each buoy through the slope-intercept parameter. For example, the buoy coordinates in the second coordinate system are (x, y), and the corresponding straight line is y=kx+b, where k is the slope of the straight line and b is the intercept of the straight line, where the x coordinate is the independent variable and the y coordinate is the dependent variable. If k and b are used as independent and dependent variables, we can get: b=-xk+y. If b is regarded as the dependent variable and k as the dependent variable, the conversion from the Cartesian coordinate system to the parameter coordinate system can be realized. The position point (x, y) of the navigation mark in the Cartesian coordinate system corresponds to a straight line l in the kb parameter coordinate system: b=-xk+y.
[0045] For example, taking buoy 1 as an example, the straight line corresponding to buoy 1 in the second coordinate system is -6500=7500k+b. After the slope-intercept parameter conversion, the buoy straight line corresponding to buoy 1 in the first coordinate system is b=-7500k-6500. Figure 3 A buoy straight line schematic diagram is provided for the first embodiment of the present invention. Figure 3 Lieutenant General Figure 2 All corresponding buoy coordinates are converted into corresponding buoy straight lines in the first coordinate system.
[0046] S120, establishing a brightness grid in the first coordinate system, and determining a boundary line according to the brightness grid and the buoy line.
[0047] Specifically, after determining the straight lines of each buoy, the controller can establish a brightness grid in the first coordinate system. The brightness grid contains grid units, that is, the controller establishes a brightness grid M (numm*numn), where numm and numm are the grid division densities of slope k and intercept b. The larger the values of numm and numm, the finer the grid division, the greater the amount of calculation, and the higher the image resolution. The controller can screen the brightness grid, and then determine the boundary line in combination with the buoy straight line.
[0048] Figure 4 A flowchart of a method for determining a waterway path is provided for the first embodiment of the present invention, wherein step S120 mainly includes the following steps S121 to S123:
[0049] S121. Calculate the number of buoy lines contained in each grid unit in the brightness grid, and determine the brightness value of each grid unit according to the number.
[0050] Specifically, the controller sets the "brightness" of the grid cells that the buoy passes through to 1, and uses the following formula (1) to calculate the brightness of the grid cells:
[0051] (1)
[0052] in, is the brightness contained in the grid cell, represents the upper limit of the grid cell, represents the lower limit of the grid cell, represents the horizontal coordinate of the buoy line in the first coordinate system, Represents the ordinate of the buoy line in the first coordinate system, calculated using the following formula (2): , and :
[0053] (2)
[0054] in, represents the upper limit of the grid cell, represents the lower limit of the grid cell, represents the ordinate of the buoy line in the first coordinate system, Indicates the lower limit of intercept calculation, Indicates the upper limit of intercept calculation, Indicates the upper limit of slope calculation, It represents the lower limit of slope calculation, numm and numn are the grid division density of slope and intercept, Indicates the number of rows of the grid cell in the brightness grid, Represents the number of columns of the grid cell in the brightness grid. All the buoy lines in the first coordinate system are traversed, and then the "brightness" of all the buoy lines passing through the grid cells is superimposed to obtain the brightness value of each grid cell. That is, the controller will calculate the number of buoy lines contained in each grid cell in the brightness grid, and then use this number as the brightness value of each grid cell, that is, the brightness value of each grid cell is calculated using the following formula (3):
[0055] (3)
[0056] in, is the brightness value of the grid cell, is the brightness contained in the grid unit. For example, if 5 buoy lines pass through a grid unit M, then the grid unit M contains 5 brightnesses, and the corresponding brightness value is 5.
[0057] S122. Filter each grid unit according to the brightness value to obtain filtered grid units.
[0058] Preferably, each grid unit is screened according to the brightness value to obtain the screened grid unit, including: determining whether the brightness value corresponding to the grid unit is greater than a brightness threshold, if so, retaining the grid unit, otherwise, eliminating the grid unit; and using the retained grid unit as the screened grid unit.
[0059] Specifically, after obtaining the brightness value of each grid unit, the controller will screen each grid unit according to the brightness value. The purpose of screening is to eliminate the interference of low brightness. During screening, the controller will determine whether the brightness value corresponding to the grid unit is greater than the brightness threshold. The brightness threshold can be set in advance in the controller by the user according to the accuracy requirements. The user refers to the staff or technicians who perform route planning. For example, the brightness threshold can be half of the minimum number of buoys on each boundary, that is, the brightness value is screened using the following formula (4):
[0060] (4)
[0061] in, is the minimum number of buoys on each boundary, is the brightness value of the grid unit. For example, when the number of buoys on a certain boundary is 20, the corresponding brightness threshold is 10. When the brightness value corresponding to the grid unit is greater than the brightness threshold, the grid unit can be retained. When the brightness value corresponding to the grid unit is less than the brightness threshold, the grid unit will be eliminated.
[0062] S123. Determine a boundary line according to the screened grid cells.
[0063] Preferably, the boundary line is determined based on the filtered grid cells, including: determining the intersection of the buoy lines in the filtered grid cells, and taking the coordinates corresponding to the intersection as the target coordinates; clustering the target coordinates to obtain the coordinates of each cluster center; and determining the boundary line in the second coordinate system based on the cluster center coordinates.
[0064] Specifically, the controller can determine the intersection of the buoy straight lines in the filtered grid unit, and use the coordinates of each intersection as the target coordinates, and then cluster the target coordinates. The clustering can be K-means clustering. The input sample set K when applying the clustering algorithm is the filtered "brightness grid table". In order to reflect the weight of "brightness" in the clustering process, when establishing the sample set K, if the brightness value corresponding to the target coordinate is a, the controller will input a target coordinates into the sample set. The output of the K-means clustering algorithm is the class corresponding to each element in the input sample set K. Since the K-means algorithm is an existing clustering method, it will not be repeated in this embodiment. Taking the jth class as an example, the following formula (5) is used to calculate the horizontal coordinate of the cluster center of the jth class:
[0065] (5)
[0066] in, represents the horizontal coordinate of the j-th target coordinate, represents the number of target coordinates of the jth class. Similarly, the following formula (6) can be used to calculate the ordinate of the cluster center of class j:
[0067] (6)
[0068] in, represents the ordinate of the j-th target coordinate, Represents the number of target coordinates of the jth class. After calculating the horizontal and vertical coordinates of the jth cluster center, and Substitute y= x+ In the second coordinate system, we can obtain the boundary lines, such as Figure 5 As shown, Figure 5 A schematic diagram of a boundary straight line is provided for the first embodiment of the present invention. Figure 5In the figure, each circle represents a buoy, and lines A, B, C, and D represent the four boundary lines obtained after clustering.
[0069] S130: Determine the channel path according to the buoy coordinates and the boundary line.
[0070] Figure 6 A flowchart of a method for determining a waterway path is provided for the first embodiment of the present invention. Step S130 mainly includes the following steps S131 to S133:
[0071] S131. Determine the buoy group according to the distance between each buoy coordinate and each boundary line, and determine the center of gravity coordinate of each buoy group.
[0072] Specifically, after the controller determines the buoy coordinates and the boundary line, it can determine the buoy group according to the distance between the buoy coordinates and each boundary line. The buoy group includes the buoy coordinates corresponding to the same boundary line. After determining the buoy group, the controller can determine the center of gravity coordinates of the buoy group according to each buoy coordinate in each buoy group.
[0073] S132. Cluster the center of gravity coordinates to obtain track coordinates.
[0074] Specifically, after obtaining the center of gravity coordinates, the controller can cluster the center of gravity coordinates. The purpose of clustering is to cluster the center of gravity coordinates in pairs. The track coordinates can be obtained by clustering the center of gravity coordinates. Since the specific clustering process is an existing technology, it will not be repeated in this implementation. After this clustering, the number of track coordinates that is half the number of center of gravity coordinates will be obtained.
[0075] S133, connecting the track coordinates in sequence to determine the channel path.
[0076] Specifically, after obtaining the track coordinates, the controller can connect the track coordinates in sequence, and the straight line formed by the connection can be used as the final channel path. Figure 7 A schematic diagram of a waterway path is provided for the first embodiment of the present invention. Figure 7 In the figure, the circle, asterisk, square and cross represent four different buoy groups respectively. The straight line with an inflection point among the four buoy coordinates is the final determined channel path. That is, the four buoy groups can determine the four centroid coordinates. Clustering the four centroid coordinates can obtain two track coordinates, and then connecting the two track coordinates in the channel can get the final channel path.
[0077] The technical solution of the embodiment of the present invention obtains the coordinates of each buoy in the channel and converts the buoy coordinates into buoy lines in the first coordinate system. There is no need to sort the buoys, thereby reducing the workload in determining the channel path. The boundary line is determined by the grid cells in the established brightness grid and the buoy line. There is no need to manually input the channel boundary, saving labor costs. The final channel path is determined based on the boundary line and the buoy coordinates, which improves the accuracy of determining the channel path while ensuring automation and intelligence during navigation.
[0078] Embodiment 2
[0079] Figure 8 This is a flow chart of a method for determining a waterway path provided by the second embodiment of the present invention. Based on the above embodiments, this embodiment specifically describes how to determine a buoy group according to the distance between each buoy coordinate and each boundary line, and how to determine the centroid coordinates of each buoy group. Figure 8 As shown, the method includes:
[0080] S210, determining the distance between each buoy coordinate and each boundary line, determining the boundary line that each buoy coordinate matches according to the distance, and dividing the buoy coordinates that match the same boundary line into the same buoy group.
[0081] Specifically, when the controller divides each buoy group, it needs to first determine the distance between each buoy coordinate and each boundary line. For example, the distance between the buoy coordinate of buoy 1 and boundary line A is 1m, and the distance between the buoy coordinate of buoy 2 and boundary line A is 5m, and the distance between the buoy coordinate of buoy 2 and boundary line A is 5m, and the distance between the buoy coordinate of buoy 3 and boundary line A is 2m, and the distance between the buoy coordinate of buoy 4 and boundary line A is 5m, and the distance between the buoy coordinate of buoy 4 and boundary line A is 1m. The controller can determine the boundary line that matches each buoy coordinate according to the distance, that is, the controller will The boundary line closest to the buoy coordinates is matched with the buoy coordinates, and the buoy coordinates matching the same boundary line are divided into the same buoy group. For example, the boundary line closest to the buoy coordinates of buoy 1 is boundary line A, that is, boundary line A matches the buoy coordinates of buoy 1. Similarly, boundary line B matches the buoy coordinates of buoy 2, boundary line A matches the buoy coordinates of buoy 3, and boundary line B matches the buoy coordinates of buoy 4. Furthermore, the controller will divide the buoy coordinates of buoy 1 and buoy 3 into the same buoy group L, and divide the buoy coordinates of buoy 2 and buoy 4 into the same buoy group P.
[0082] S220, calculating the average abscissa and average ordinate corresponding to the buoy coordinates in each buoy group, and taking the coordinates corresponding to the average abscissa and average ordinate as the centroid coordinates.
[0083] Specifically, after the controller is divided into buoy groups, the center of gravity coordinates of the buoy groups can be calculated according to the coordinates of each buoy, that is, the horizontal coordinate average value and the vertical coordinate average value corresponding to the buoy coordinates in each buoy group are calculated, and then the coordinates corresponding to the horizontal coordinate average value and the vertical coordinate average value are used as the center of gravity coordinates. For example, the buoy coordinates of buoy 1 in buoy group L are (10, 20) and the buoy coordinates of buoy 3 are (22, 30), and the buoy coordinates of buoy 1 in buoy group P are (80, 10) and the buoy coordinates of buoy 3 are (100, 12). At this time, the average value of the horizontal coordinate of buoy group L is (10+22) / 2=16, the average value of the vertical coordinate of buoy group L is (20+30) / 2=25, the average value of the horizontal coordinate of buoy group P is (100+80) / 2=90, and the average value of the vertical coordinate of buoy group P is (10+12) / 2=11. The controller can use the coordinates corresponding to the average value of the horizontal coordinate and the average value of the vertical coordinate as the center of gravity coordinates of the buoy group, and the center of gravity coordinates of buoy group L are (16, 25), and the center of gravity coordinates of buoy group P are (90, 11).
[0084] The technical solution of the embodiment of the present invention obtains the coordinates of each buoy in the channel and converts the buoy coordinates into buoy lines in the first coordinate system. There is no need to sort the buoys, thereby reducing the workload in determining the channel path. The boundary line is determined by the grid cells in the established brightness grid and the buoy line. There is no need to manually input the channel boundary, saving labor costs. The buoy coordinates are then divided into buoy groups according to the boundary line, and the final channel path is determined according to the center of gravity coordinates of the buoy group, which improves the accuracy of determining the channel path while ensuring automation and intelligence during navigation.
[0085] Embodiment 3
[0086] Fig. 9 This is a schematic diagram of the structure of a waterway path determination device provided in Embodiment 3 of the present invention. Fig. 9 As shown, the device includes: a buoy straight line conversion module 310, used to obtain the coordinates of each buoy in the channel, and convert the buoy coordinates into a buoy straight line in a first coordinate system; a boundary straight line determination module 320, used to establish a brightness grid in the first coordinate system, and determine the boundary straight line according to the brightness grid and the buoy straight line, wherein the brightness grid contains grid cells; a channel path determination module 330, used to determine the channel path according to the buoy coordinates and the boundary straight line.
[0087] Preferably, the buoy straight line conversion module 310 is specifically used to: establish a second coordinate system for the channel and obtain the coordinates of each buoy in the channel based on the second coordinate system; establish a first coordinate system for the channel, and perform slope intercept parameter conversion on the coordinates of each buoy based on the first coordinate system to obtain a conversion result; and obtain the buoy straight line corresponding to each buoy coordinate according to the conversion result.
[0088] Preferably, the boundary line determination module 320 specifically includes: a brightness value determination unit, used to calculate the number of buoy lines contained in each grid cell in the brightness grid, and determine the brightness value of each grid cell according to the number; a grid cell screening unit, used to screen each grid cell according to the brightness value to obtain the screened grid cells; and a boundary line determination unit, used to determine the boundary line based on the screened grid cells.
[0089] Preferably, the grid unit screening unit is specifically used to: determine whether the brightness value corresponding to the grid unit is greater than a brightness threshold, if so, retain the grid unit, otherwise, remove the grid unit; and use the retained grid unit as the screened grid unit.
[0090] Preferably, the boundary line determination unit is specifically used to: determine the intersection points of the buoy lines in the screened grid units, and use the coordinates corresponding to the intersection points as target coordinates; cluster the target coordinates to obtain the coordinates of each cluster center; and determine the boundary line in the second coordinate system based on the cluster center coordinates.
[0091] Preferably, the channel path determination module 330 specifically includes: a center of gravity coordinate determination unit, which is used to determine the buoy group according to the distance between each buoy coordinate and each boundary line, and determine the center of gravity coordinates of each buoy group, wherein the buoy group includes buoy coordinates corresponding to the same boundary line; a track coordinate acquisition unit, which is used to cluster the center of gravity coordinates to obtain track coordinates; and a channel path determination unit, which is used to connect each track coordinate in sequence to determine the channel path.
[0092] Preferably, the center of gravity coordinate determination unit is specifically used to: determine the distance between each buoy coordinate and each boundary line, determine the boundary line matching each buoy coordinate based on the distance, and divide the buoy coordinates matching the same boundary line into the same buoy group; calculate the horizontal coordinate average value and the vertical coordinate average value corresponding to the buoy coordinates in each buoy group, and use the coordinates corresponding to the horizontal coordinate average value and the vertical coordinate average value as the center of gravity coordinates.
[0093] The technical solution of the embodiment of the present invention obtains the coordinates of each buoy in the channel and converts the buoy coordinates into buoy lines in the first coordinate system. There is no need to sort the buoys, thereby reducing the workload in determining the channel path. The boundary line is determined by the grid cells in the established brightness grid and the buoy line. There is no need to manually input the channel boundary, saving labor costs. The final channel path is determined based on the boundary line and the buoy coordinates, which improves the accuracy of determining the channel path while ensuring automation and intelligence during navigation.
[0094] A waterway path determination device provided in an embodiment of the present invention can execute a waterway path determination method provided in any embodiment of the present invention, and has corresponding functional modules and beneficial effects of the execution method.
[0095] Embodiment 4
[0096] Fig.10 A schematic diagram of the structure of an electronic device 10 that can be used to implement an embodiment of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices (such as helmets, glasses, watches, etc.) and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present invention described and / or required herein.
[0097] like Fig.10 As shown, the electronic device 10 includes at least one processor 11, and a memory connected to the at least one processor 11, such as a read-only memory (ROM) 12, a random access memory (RAM) 13, etc., wherein the memory stores a computer program that can be executed by at least one processor, and the processor 11 can perform various appropriate actions and processes according to the computer program stored in the read-only memory (ROM) 12 or the computer program loaded from the storage unit 18 to the random access memory (RAM) 13. In the RAM 13, various programs and data required for the operation of the electronic device 10 can also be stored. The processor 11, the ROM 12, and the RAM 13 are connected to each other through a bus 14. The input / output (I / O) interface 15 is also connected to the bus 14.
[0098] A number of components in the electronic device 10 are connected to the I / O interface 15, including: an input unit 16, such as a keyboard, a mouse, etc.; an output unit 17, such as various types of displays, speakers, etc.; a storage unit 18, such as a disk, an optical disk, etc.; and a communication unit 19, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 19 allows the electronic device 10 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0099] The processor 11 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The processor 11 executes the various methods and processes described above, such as a channel path determination method.
[0100] In some embodiments, a waterway path determination method may be implemented as a computer program, which is tangibly contained in a computer-readable storage medium, such as a storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on the electronic device 10 via the ROM 12 and / or the communication unit 19. When the computer program is loaded into the RAM 13 and executed by the processor 11, one or more steps of a waterway path determination method described above may be performed. Alternatively, in other embodiments, the processor 11 may be configured to perform a waterway path determination method in any other appropriate manner (e.g., by means of firmware).
[0101] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), load programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0102] Computer programs for implementing the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that when the computer program is executed by the processor, the functions / operations specified in the flow chart and / or block diagram are implemented. The computer program may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0103] In the context of the present invention, a computer-readable storage medium may be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, device, or equipment. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices, or equipment, or any suitable combination of the foregoing. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0104] To provide interaction with a user, the systems and techniques described herein may be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or trackball) through which the user can provide input to the electronic device. Other types of devices may also be used to provide interaction with the user; for example, the feedback provided to the user may be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user may be received in any form (including acoustic input, voice input, or tactile input).
[0105] The systems and techniques described herein may be implemented in a computing system that includes backend components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes frontend components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such backend components, middleware components, or frontend components. The components of the system may be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), a blockchain network, and the Internet.
[0106] A computing system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The client and server relationship is generated by computer programs running on the corresponding computers and having a client-server relationship with each other. The server may be a cloud server, also known as a cloud computing server or cloud host, which is a host product in the cloud computing service system to solve the defects of difficult management and weak business scalability in traditional physical hosts and VPS services.
[0107] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps described in the present invention can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solution of the present invention can be achieved, and this document does not limit this.
[0108] The above specific implementations do not constitute a limitation on the protection scope of the present invention. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present invention should be included in the protection scope of the present invention.
Claims
1. A method for determining a waterway path, characterized in that: include: Obtaining coordinates of each buoy in the channel, and converting the buoy coordinates into a buoy straight line in a first coordinate system; Establishing a brightness grid in the first coordinate system, and determining a boundary line according to the brightness grid and the buoy line, wherein the brightness grid includes grid cells; Determine a channel path according to the buoy coordinates and the boundary straight line; The step of obtaining the coordinates of each buoy in the channel and converting the buoy coordinates into a buoy straight line in the first coordinate system includes: Establishing a second coordinate system for the channel and acquiring the coordinates of each buoy in the channel based on the second coordinate system, wherein the first coordinate system is a slope-intercept coordinate system and the second coordinate system is a Cartesian coordinate system; Establishing the first coordinate system for the waterway, and performing slope-intercept parameter conversion on the coordinates of each buoy based on the first coordinate system to obtain a conversion result; Obtaining the buoy straight line corresponding to each buoy coordinate according to the conversion result; Wherein, determining the boundary line according to the brightness grid and the buoy line includes: Calculating the number of the buoy straight lines contained in each grid unit in the brightness grid, and determining the brightness value of each grid unit according to the number; Screening each of the grid units according to the brightness value to obtain screened grid units; Determine the boundary line according to the screened grid cells; Wherein, determining the boundary line according to the screened grid cells includes: Determine the intersection of the buoy straight lines in the filtered grid cells, and use the coordinates corresponding to the intersection as the target coordinates; Clustering the target coordinates to obtain the coordinates of each cluster center; Determining the boundary line in the second coordinate system according to the cluster center coordinates; Wherein, determining the channel path according to the buoy coordinates and the boundary straight line includes: Determine a buoy group according to the distance between each buoy coordinate and each boundary line, and determine the center of gravity coordinate of each buoy group, wherein the buoy group includes buoy coordinates corresponding to the same boundary line; Clustering the center of gravity coordinates to obtain track coordinates; The track coordinates are connected in sequence to determine the channel path.
2. The method according to claim 1, characterized in that: The step of screening each of the grid units according to the brightness value to obtain screened grid units includes: Determine whether the brightness value corresponding to the grid unit is greater than a brightness threshold, if so, retain the grid unit, otherwise, remove the grid unit; The retained grid units are used as the screened grid units.
3. The method according to claim 1, characterized in that The step of determining a buoy group according to the distance between each buoy coordinate and each boundary straight line, and determining the center of gravity coordinate of each buoy group, comprises: Determine the distance between each buoy coordinate and each boundary line, determine the boundary line matched by each buoy coordinate according to the distance, and divide the buoy coordinates matched with the same boundary line into the same buoy group; The average value of the abscissa and the average value of the ordinate corresponding to the buoy coordinates in each buoy group are calculated, and the coordinates corresponding to the average value of the abscissa and the average value of the ordinate are used as the center of gravity coordinates.
4. A waterway path determination device, characterized in that: include: A buoy straight line conversion module is used to obtain the coordinates of each buoy in the channel and convert the buoy coordinates into a buoy straight line in the first coordinate system; A boundary line determination module, used for establishing a brightness grid in the first coordinate system, and determining a boundary line according to the brightness grid and the buoy line, wherein the brightness grid includes grid cells; A channel path determination module, used to determine the channel path according to the buoy coordinates and the boundary straight line; The buoy straight line conversion module is specifically used to: establish a second coordinate system for the channel and obtain the coordinates of each buoy in the channel based on the second coordinate system, wherein the first coordinate system is a slope-intercept coordinate system and the second coordinate system is a Cartesian coordinate system; Establishing the first coordinate system for the waterway, and performing slope-intercept parameter conversion on the coordinates of each buoy based on the first coordinate system to obtain a conversion result; Obtaining the buoy straight line corresponding to each buoy coordinate according to the conversion result; The boundary line determination module specifically includes: a brightness value determination unit, which is used to: calculate the number of the buoy lines contained in each grid unit in the brightness grid, and determine the brightness value of each grid unit according to the number; A grid unit screening unit, used to screen each of the grid units according to the brightness value to obtain screened grid units; A boundary line determination unit, used to: determine the boundary line according to the screened grid cells; The boundary line determination unit is specifically used to: determine the intersection of the buoy lines in the screened grid cells, and use the coordinates corresponding to the intersection as the target coordinates; Clustering the target coordinates to obtain the coordinates of each cluster center; Determining the boundary line in the second coordinate system according to the cluster center coordinates; The channel path determination module is specifically used to: determine a buoy group according to the distance between each buoy coordinate and each boundary line, and determine the center of gravity coordinate of each buoy group, wherein the buoy group contains buoy coordinates corresponding to the same boundary line; Clustering the center of gravity coordinates to obtain track coordinates; The track coordinates are connected in sequence to determine the channel path.
5. An electronic device, characterized in that: The electronic device comprises: at least one processor; and a memory communicatively connected to the at least one processor; wherein, The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor so that the at least one processor can perform the method according to any one of claims 1 to 3.
6. A computer storage medium, characterized in that: The computer storage medium stores computer instructions, and the computer instructions are used to enable a processor to implement the method according to any one of claims 1 to 3 when executed.
Citation Information
Patent Citations
Method of independent generation of information for pilotage of ships in narrow fairways and device for its realization
RU2097784C1
Method for positioning underwater objects and system for the implementation thereof
US20180252820A1