An unmanned ship three-dimensional point cloud processing method based on clustering segmentation principle

By using inertial component correction and multi-level filtering, combined with Euclidean clustering segmentation algorithm, the problem of coordinate deviation in unmanned surface vessel (USV) point cloud data was solved, enabling stable and accurate obstacle recognition in the USV's environmental perception.

CN116310607BActive Publication Date: 2026-02-13ZHEJIANG UNIV
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310090144.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-02-09
Publication Date
2026-02-13
Estimated Expiration
2043-02-09

AI Technical Summary

Technical Problem

When unmanned vessels navigate at sea, changes in the vessel's attitude cause deviations in the coordinate system of lidar point cloud data, affecting the accuracy of target recognition and obstacle avoidance. Existing technologies struggle to effectively handle obstacle features in complex environments.

Method used

An inertial component is used for point cloud attitude correction, combined with multi-level filtering and Euclidean clustering segmentation algorithms, including water surface wave processing, threshold filtering, adaptive voxel filtering and Euclidean clustering segmentation, to eliminate noise interference, extract obstacle features and transform them to an absolute coordinate system.

Benefits of technology

It improves the stability and accuracy of unmanned surface vessel point cloud data processing, enhances obstacle recognition and avoidance capabilities, reduces computational load, and retains key feature information.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116310607B_ABST
    Figure CN116310607B_ABST
Patent Text Reader

Abstract

The application discloses a kind of unmanned ship three-dimensional point cloud processing methods based on clustering segmentation principle, first, original data acquisition and analysis are carried out, obtain laser radar original point cloud data, and the distance and reflectivity of each laser reflection point are obtained by analysis.Second, point cloud posture correction, point cloud data preprocessing and feature clustering segmentation are carried out, to form multiple point cloud clusters.Then, target extraction is carried out to obtain target list and target related information.Finally, target coordinate conversion is carried out to convert the obtained target relative position into absolute latitude and longitude coordinates in the world coordinate system.The application eliminates the influence of ship body posture change on point cloud feedback result, improves target detection stability, and while significantly reducing point cloud cluster capacity and reducing computational load, obstacle contour information and feature point cloud are retained as much as possible, which greatly improves the operation efficiency of target extraction.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the field of laser radar sensing and recognition processing, and particularly relates to a three-dimensional point cloud processing method for unmanned ship based on clustering segmentation principle. BACKGROUND

[0002] Laser radar is a radar system that detects the position, velocity and other characteristic quantities of a target by emitting laser beams. Its working principle is to emit detection signals (laser beams) to the target, then compare the received signals (target echoes) reflected from the target with the emitted signals, and after appropriate processing, the relevant information of the target such as target distance, direction, height, speed, attitude, and even shape parameters can be obtained, so as to detect, track and identify the target. It is composed of a laser transmitter, an optical receiver, a turntable and an information processing system, etc. The laser transmitter converts electrical pulses into optical pulses for emission, and the optical receiver restores the optical pulses reflected from the target back into electrical pulses to calculate the reflectivity and distance of the target, thereby drawing three-dimensional point cloud data. Laser radar plays an irreplaceable role in unmanned driving technology. With the characteristics of real-time and high precision, laser radar has become one of the most important sensors in the environmental perception algorithm of unmanned driving, and has been widely used and recognized in vehicle unmanned driving technology.

[0003] Unmanned ship is a new direction emerging in recent years. The special working environment at sea requires high requirements for environmental perception, autonomous navigation and decision planning of unmanned ship. The main environmental perception sensors for unmanned ship sailing at sea are laser radar, millimeter wave radar and navigation radar. Local static / dynamic obstacle avoidance mainly relies on laser radar and millimeter wave radar to complete close-range perception and identification. Due to the dramatic attitude change of the ship body during sailing, it will have a great influence on the angle calculation of the laser beam, resulting in coordinate system deviation and target position perception error. Therefore, an inertial component is needed to assist in correcting the attitude of the ship body, and to map the point cloud data from the ship body coordinate system to the absolute geographical coordinate system, so as to stabilize and restore the real-time environment around the unmanned ship.

[0004] In summary, there is a need for a laser point cloud processing method suitable for the working environment of unmanned ship, which can restore the distribution characteristics of real objects from the dramatically changing attitude coordinate system and complex environment, and accurately identify the distribution and characteristics of static and dynamic obstacles in the sailing environment of unmanned ship through processes such as attitude correction, point cloud filtering, feature clustering segmentation, target extraction, coordinate correction, etc., to provide perception data input for further path planning and obstacle avoidance. SUMMARY

[0005] The main purpose of the present application is to provide a three-dimensional point cloud processing method for unmanned ship based on clustering segmentation principle, to overcome the above-mentioned defects in the prior art.

[0006] A three-dimensional point cloud processing method for unmanned ship, specifically comprising the following steps:

[0007] Step 100: raw data acquisition and analysis: obtain laser radar raw point cloud data, and analyze to obtain the distance and reflectivity of each laser reflection point.

[0008] Step 200: point cloud posture correction: rely on inertial components to obtain the attitude data of the unmanned ship carrier platform, and perform real-time posture correction on the point cloud data.

[0009] Step 300: point cloud data preprocessing: the preprocessing process includes water wave processing, threshold filtering, spatial filtering, point cloud distribution statistics, adaptive voxel filtering, and radius filtering, etc.

[0010] Step 400: feature clustering segmentation: feature clustering segmentation is performed on the preprocessed point cloud data, and the Euclidean clustering algorithm is used to cluster and separate the point cloud data with correlation to form multiple point cloud clusters.

[0011] Step 500: target extraction: identify and analyze the shape features of the clustered point cloud clusters to obtain a target list and target related information, including relative coordinates in the Cartesian coordinate system, size, contour, and height, etc.

[0012] Step 600: target coordinate conversion: rely on the positioning and orientation components to obtain the current position and sailing direction of the ship body, and convert the target relative coordinates obtained in step 500 into absolute latitude and longitude coordinates in the world coordinate system.

[0013] Further, the specific process of step 200 point cloud posture correction is as follows:

[0014] First, define the point cloud position P0 = [x0 y0 z0] in the world coordinate system T , and the point cloud position P = [xyz] in the carrier coordinate system T ; according to the transformation from the world coordinate system to the ship body coordinate system, the rotation can be done in the following order: rotate roll around X0 axis → rotate pitch around Y0 axis → rotate yaw around Z0 axis, then the X, Y, Z coordinate axis rotation matrix from the carrier coordinate system to the world coordinate system is defined as follows:

[0015]

[0016]

[0017]

[0018] The rotation matrix from the carrier coordinate system to the world coordinate system obtained above is:

[0019]

[0020]

[0021] Since only the relative position of the feedback point cloud relative to the unmanned ship needs to be calculated when the point cloud posture is corrected, the absolute coordinate position can be converted after the target is finally formed, therefore, the influence of the heading change is not considered when the point cloud posture is corrected, and the following is obtained:

[0022]

[0023] P0=[x0y0z0] T and P=[xyz] T and P=[xyz]

[0024]

[0025] That is:

[0026]

[0027] The above formula can convert and map the point cloud echo coordinates from the carrier coordinate system to the world coordinate system, and eliminate the influence of the ship body fluctuation on target detection and tracking.

[0028] Further, the specific process of the step 300 of preprocessing filtering is as follows:

[0029] A filtering function f(x, y, z, e) is defined, wherein (x, y, z) represents the point cloud spatial coordinates, e represents the point cloud reflectivity, and the filtering function f(x, y, z, e) outputs a result value 1 representing filtering of the point cloud and 0 representing retention of the point cloud.

[0030] (1) Water wave processing: including water surface reflection filtering and wave reflection filtering, the water surface reflection filtering refers to filtering of the reflection signal of the sea surface mirror to the laser radar, the present application adopts a direct method to give filtering, taking the point cloud data after the point cloud posture correction as input, combining the ship draft depth and the sailing speed, determining the specific height z of the horizontal plane w Then, a certain size is expanded in space to give filtering, and the filtering function f w (x, y, z, e) satisfies the following formula:

[0031]

[0032] Where, ∨ is an or operation.

[0033] Wave reflection filtering refers to filtering out the waves formed on both sides and the tail of the ship body when the ship body is sailing at high speed. Generally, the direct filtering method is used for processing. For common high-speed unmanned ship lines, the ship body length is defined as L, the sailing speed is V, the single point cloud plane polar angle is θ, the ship head direction is the Y axis of the plane coordinate system, the right side of the ship is the X axis of the plane coordinate system, and the filtered plane range filtering function f b (x,y,z,e) satisfies the following formula:

[0034] f b (x,y,z,e)=f1(x,y,z,e)∨f2(x,y,z,e)

[0035]

[0036]

[0037] (2) Threshold filtering: set the reflectivity threshold to filter out white noise signals and sunlight noise point interference signals. For example, in the 0-255 reflectivity range, the reflectivity threshold is set to 10, which can effectively filter out white noise signals and sunlight noise point interference signals in space, and will not affect the obstacle reflection information. The filtering function f l (x,y,z,e) satisfies the following formula:

[0038]

[0039] (3) Space filtering: the point cloud data after the above processing process is input, combined with the ship body size and draft depth, the upper limit Z H and the lower limit Z L of the space filtering are set, and the point cloud data beyond the range is filtered out. The filtering function f s (x,y,z,e) satisfies the following formula:

[0040]

[0041] (4) Adaptive voxel filter: Conventional voxel filtering cannot distinguish between high-reflectivity point clouds and low-reflectivity point clouds, resulting in a simultaneous decrease in overall density, which cannot achieve the effect of highlighting the features of high-reflectivity obstacles. Moreover, due to the fixed grid size parameter, the filtering effect cannot be guaranteed to be consistent for different point cloud distribution environments, and may result in excessive filtering or poor filtering effect. To solve the above problems, the present application proposes an adaptive voxel filtering algorithm. First, the original point cloud is divided into low-reflectivity point cloud set S1, medium-reflectivity point cloud set S2 and high-reflectivity point cloud set S3 according to the reflectivity. Then, the grid size r of the voxel filter is determined according to the total number of point clouds Δ. The grid sizes r, r / 2 and r / 3 are used for the low-reflectivity point cloud set S1, the medium-reflectivity point cloud set S2 and the high-reflectivity point cloud set S3, respectively. As the reflectivity increases, the corresponding voxel filtering grid size decreases, which can retain high-resolution point clouds as much as possible and filter out low-resolution point clouds. In addition, the adaptive voxel filtering algorithm calculates the total number of point clouds after filtering. If the total number of point clouds is too high and does not meet the requirements, the adaptive voxel filtering algorithm will gradually adjust the voxel filtering grid size r according to the difference between the total number of point clouds and the target threshold, until the total number of point clouds after filtering meets the requirements of subsequent processing.

[0042] (5) Radius filtering: The processing idea of radius filtering is to determine whether there are near neighbor points around each point according to the specified maximum threshold distance, and to calculate the total number of near neighbor points in a point cloud cluster. For discrete points or points that do not meet the threshold requirements, they are determined as outliers and are filtered out. The radius filtering process can eliminate outliers, gradually separate the spatial point cloud cluster into multiple point cloud clusters, and reduce the connection between point cloud clusters, thereby preparing for subsequent feature clustering and segmentation.

[0043] Further, the specific process of step 400 feature clustering and segmentation is as follows:

[0044] The input of the Euclidean clustering algorithm is the entire point cloud data, and the output is N point cloud cluster data that meets the requirements (reflectivity, distance criterion, point cloud cluster capacity). Each point cloud cluster has similarity and nearness in Euclidean distance, and there is a clear spatial interval between point cloud clusters. Each point cloud cluster represents a transient obstacle target.

[0045] Further, the specific process of step 500 target extraction is as follows:

[0046] After the point cloud data is processed by clustering and segmentation, a series of point cloud clusters that are spatially unrelated are obtained. It can be initially considered that each point cloud cluster represents a transient obstacle target. Therefore, a target extraction algorithm for point cloud clusters is proposed, which can identify and analyze the morphological features of the clustered point cloud clusters to obtain a target list and target related information, including relative coordinates in the Cartesian coordinate system, size, contour and height, etc.

[0047] The target extraction processing process takes a cluster segmentation point cloud cluster as input, and the processing process of the point cloud cluster obtained for a single cluster is as follows:

[0048] Step 501: Cartesian coordinate system space projection: In order to simplify the calculation, first project the space point cloud onto the plane Cartesian coordinate system, calculate the morphological features of the point cloud cluster when traversing all point clouds, including point cloud centroid, three-axis coordinate system edge value, point cloud total number, point cloud density, etc., then store all point cloud sequence indexes, and finally obtain a binary point cloud graph on the plane.

[0049] Step 502: Morphological processing: In order to facilitate the envelope edge detection of step 503, it is necessary to eliminate the gaps and edge discontinuities in the binary graph, and the corresponding operation is dilation processing and two-dimensional filling operation. The dilation processing can expand the effective point cloud by a certain radius to realize the effect of internal gap filling, and the two-dimensional filling operation can detect the internal discontinuous area of the point cloud from the X and Y axis directions and give filling. After the above processing, the binary point cloud graph is continuous and gap-free inside, but the edge may have discontinuity or burr, etc., which is generally an X-type connection point, which can be detected and processed by using an X-type connection point expansion method.

[0050] Step 503: Envelope edge detection: Use the edge detection operator to select the edge points on the binary graph and store them in a dynamic array in a clockwise / counterclockwise order, then filter out the collinear edge points and only keep the two endpoints of the straight line segment. Since all point cloud data has been mapped and gridded, the point coordinates need to be offset relative to the original point coordinates, so the point cloud sequence index stored in step 501 is matched in reverse to convert the detected edge point coordinates to the original point cloud coordinates, achieving the maximum restoration of the target contour. The edge detection operator S r (x,y) form and filter function f(x,y) are as follows:

[0051]

[0052] Wherein A given matrix, the pixel points with 1 in S0 are retained, and the pixel points with 0 are filtered out, Represent the pixel block covered by the S0 operator when windowing, and * is the convolution symbol.

[0053]

[0054] Step 504: Output target information, including relative coordinates, size, shape contour and height information in the Cartesian coordinate system.

[0055] Further, the specific process of step 600 target coordinate conversion is as follows:

[0056] The result calculated by the target extraction process is the relative position (X, Y) of the obstacle target relative to the unmanned ship body, in order to facilitate subsequent target information processing operation and display, the relative position (X, Y) of the target needs to be converted into absolute latitude and longitude coordinates (L, B) in the WGS-84 geographic coordinate system by using the latitude and longitude positioning information (L0, B0) and the heading information yaw of the unmanned ship of the GPS component, and the earth radius is defined as R, the Mercator projection coordinates of the unmanned ship are (X0, Y0), and the Mercator projection coordinates of the obstacle target are (X t ,Y t ), and the conversion function is as follows:

[0057]

[0058] The obstacle target latitude and longitude coordinates (L, B) in the geographic coordinate system can be obtained by comprehensively considering the above equations as follows:

[0059]

[0060] The application provides a feasible unmanned ship three-dimensional point cloud processing method based on the clustering segmentation principle, and has the following advantages:

[0061] 1. The inertial component is used to correct the posture of the collected laser radar original point cloud, so that the point cloud is transferred from the ship body coordinate system to the world coordinate system, the influence of the ship body posture change on the point cloud feedback result is eliminated, and the target detection stability is improved.

[0062] 2. Before starting the feature clustering segmentation, a multi-level preprocessing filtering algorithm is used, which can effectively filter out white noise, discrete points, sunlight noise points, water surface wave reflection point clouds and other irrelevant point clouds, enhance the features of the target point cloud, and has excellent filtering effect, can significantly reduce the point cloud cluster capacity and reduce the calculation amount, and as much as possible to retain the obstacle contour information and feature point cloud, and highlight the target features.

[0063] 3. The point cloud cluster target extraction algorithm based on the Euclidean distance clustering segmentation is proposed, first, the radius filtering is used to improve the separation degree between the space point cloud clusters, the morphological features of the clustered point cloud clusters are analyzed, then the three-dimensional point cloud is compressed to a two-dimensional plane, and the related information of the obstacle target is obtained by using the plane binary processing method, including the relative coordinates in the Cartesian coordinate system, the size, the shape contour and the height and the like. The processing idea of the plane binary processing greatly improves the operation efficiency of the target extraction under the condition of losing less target feature information. BRIEF DESCRIPTION OF DRAWINGS

[0064] Figure 1 It is a flow chart of the unmanned ship three-dimensional point cloud processing method based on the clustering segmentation principle;

[0065] Figure 2 It is a schematic view of the carrier coordinate system and the world coordinate system.

[0066] Figure 3 is a three-dimensional coordinate system attitude rotation schematic diagram;

[0067] Figure 4 is an adaptive voxel filtering algorithm flowchart;

[0068] Figure 5 is a target extraction algorithm flowchart based on Euclidean distance clustering segmentation;

[0069] Figure 6 is an X-type connection point processing schematic diagram;

[0070] Figure 7 is an envelope edge detection schematic diagram. DETAILED DESCRIPTION

[0071] In order to make the purpose, technical scheme and advantages of the present application clearer, the present application will be further described in detail in combination with the drawings. The description introduces specific embodiments consistent with the principles of the present application by way of example but not by way of limitation, and the description of these embodiments is sufficiently detailed to enable those skilled in the art to practice the present application, other embodiments can be used and the structure of each element can be changed and / or replaced without departing from the scope and spirit of the present application. Therefore, the following detailed description should not be understood in a limiting sense.

[0072] Figure 1 is a flowchart of a three-dimensional point cloud processing method for unmanned ships based on the principle of clustering segmentation. It includes the following processing steps:

[0073] Step 100: Raw data acquisition and analysis: Obtain the raw point cloud data of the laser radar and analyze the distance and reflectivity of each laser reflection point.

[0074] Step 200: Point cloud attitude correction: Obtain the attitude data of the unmanned ship carrier platform by relying on the inertial component, and perform real-time attitude correction on the point cloud data.

[0075] Step 300: Point cloud data preprocessing filtering: The processing process includes water wave processing, threshold filtering, spatial filtering, point cloud distribution statistics, adaptive voxel filtering and radius filtering, etc.

[0076] Step 400: Feature clustering segmentation: Perform feature clustering segmentation on the preprocessed point cloud data, use the Euclidean clustering algorithm, cluster and separate the point cloud data with correlation, and form multiple point cloud clusters.

[0077] Step 500: Target extraction: Identify and analyze the morphological features of the clustered point cloud clusters to obtain a target list and target related information, including relative coordinates, size, shape contour and height information in the Cartesian coordinate system.

[0078] Step 600: Target coordinate conversion: rely on the positioning and orientation component to obtain the current position and sailing direction of the ship body, and convert the target relative coordinates obtained in step 500 into absolute latitude and longitude coordinates in the world coordinate system.

[0079] In order to improve the processing efficiency, thread 1 is responsible for data acquisition, point cloud posture correction and preprocessing filtering process, thread 2 is responsible for feature clustering segmentation and target extraction process, and data is exchanged between threads through cache variables. When thread 2 runs, thread 1 can continue the processing task of the next frame of laser point cloud.

[0080] The specific process of point cloud posture correction is as follows: when the unmanned ship sails on the sea, the point cloud coordinate system of the laser radar is fixed with the unmanned ship carrier coordinate system, and will produce violent attitude change with the sea wave fluctuation. The change of the ship body attitude will cause the ship body to roll, pitch and change the heading, so that the point cloud echoes of the same obstacle formed under different attitudes are different, which interferes with target recognition and continuity tracking. The point cloud posture correction can eliminate the influence of rolling, pitching and heading changes, and map the point cloud echoes from the carrier coordinate system to the world coordinate system. The specific method is as follows:

[0081] First, define the point cloud position P0 in the world coordinate system = [x0y0z0] T , the point cloud position P in the carrier coordinate system = [xyz] T ; according to the transformation from the world coordinate system to the ship body coordinate system, the rotation can be done in the following order: rotate roll around X0 axis → rotate pitch around Y0 axis → rotate yaw around Z0 axis. Then the rotation matrix of X, Y and Z coordinate axes from the carrier coordinate system to the world coordinate system is defined as follows:

[0082]

[0083]

[0084]

[0085] The rotation matrix between the carrier coordinate system and the world coordinate system obtained above is:

[0086]

[0087] Since only the relative position of the feedback point cloud relative to the unmanned ship needs to be calculated during point cloud posture correction, the absolute coordinate position can be converted after the target is finally formed, therefore, the influence of heading change is not considered during point cloud posture correction, and the following is obtained:

[0088]

[0089] P0 = [x0y0z0] Tand P = [xyz] T Obtainable:

[0090]

[0091] That is:

[0092]

[0093] From the above formula, the point cloud echo coordinates can be converted and mapped from the carrier coordinate system to the world coordinate system, eliminating the influence of ship body fluctuation on target detection and tracking.

[0094] Figure 2 and Figure 3 are the contrast schematic diagram of the carrier coordinate system and the world coordinate system and the three-dimensional coordinate system posture rotation schematic diagram, the world coordinate system is fixed and unchanged, and the carrier coordinate system changes with the ship body posture and heading, wherein the bow of the ship body is the X axis, the rotation along the X axis is the roll angle, the right side of the ship body is the Y axis, the rotation along the Y axis is the pitch angle, and the Z axis is through the ship body from top to bottom, and the rotation along the Z axis is the yaw angle, assuming that the state of the carrier coordinate system at a certain moment is (roll n , pitch n , yaw n ), which can be referred to Figure 3 The carrier coordinate system is transformed into the world coordinate system in the order of X axis, Y axis and Z axis.

[0095] The point cloud data needs to go through a pretreatment filtering process before starting feature clustering segmentation. The purpose of pretreatment filtering is to filter out irrelevant point clouds, enhance the features of target point clouds, and reduce the capacity of reflected point cloud clusters and improve processing efficiency, while preserving important target information as much as possible. The pretreatment filtering includes water wave processing, threshold filtering, spatial filtering, point cloud distribution statistics, adaptive voxel filtering and radius filtering processes. To detail the following pretreatment processes, define a filtering function f(x, y, z, e), wherein (x, y, z) represents the spatial coordinates of the point cloud, and e represents the reflectivity of the point cloud. The output value 1 of the filtering function f(x, y, z, e) represents filtering out the point cloud, and 0 represents retaining the point cloud.

[0096] (1) Water wave processing: including water surface reflection filtering and wave reflection filtering, water surface reflection filtering refers to filtering out the reflection signal of the sea surface mirror to the laser radar, the characteristics of this kind of reflection signal is low reflectivity and overall planar distribution, which can be found by a planar search function. Then extend a certain size in space to give filtering, this method requires high sea surface integrity, when the sea wave is severe, the search result is not ideal, therefore, the present application adopts a direct method to give filtering, taking the point cloud data after attitude correction as input, combining the draft depth and navigation speed of the ship body, determining the specific height z wThen give filtering in space by expanding a certain size w (x,y,z,e) satisfies the following formula:

[0097]

[0098] Where, ∨ is or operation.

[0099] Wave reflection filtering refers to filtering the waves formed on both sides and the tail of the ship body when the ship body is sailing at high speed. Such waves have a certain height, and the wave length and range change regularly with the increase of speed. Generally, the direct filtering method is used for processing. For common high-speed unmanned ship lines, the ship body length is defined as L, the sailing speed is V, the single point cloud plane polar angle is θ, the ship head direction is the Y axis of the plane coordinate system, and the ship right side direction is the X axis of the plane coordinate system. The filtered plane range filtering function f b (x,y,z,e) satisfies the following formula:

[0100] f b (x,y,z,e)=f1(x,y,z,e)∨f2(x,y,z,e)

[0101]

[0102]

[0103] (2) Threshold filtering: set the reflectivity threshold to filter white noise signals and sunlight noise point interference signals. For example, in the 0-255 reflectivity range, the reflectivity threshold is set to 10, which can effectively filter the white noise signals and sunlight noise point interference signals in space, and will not affect the obstacle reflection information. The filtering function f l (x,y,z,e) satisfies the following formula:

[0104]

[0105] (3) Spatial filtering: since the laser radar belongs to a three-dimensional perception type sensor, the laser beam is arranged in a divergent manner, and as the distance increases, higher height targets can be detected. Such targets will not affect the sea surface safe navigation of the unmanned ship, so spatial filtering is set to filter out. The filtering method is to take the point cloud data after the above processing process as the input, combine the ship body size and draft depth, set the upper limit Z H and the lower limit Z L of the spatial filtering, and the point cloud data beyond the range is filtered out. The filtering function f s (x,y,z,e) satisfies the following formula:

[0106]

[0107] (4) Adaptive voxel filter: The laser radar feedback point cloud belongs to a three-dimensional point cloud, and the operation amount is proportional to the cube of the number of point clouds. Therefore, in order to improve the operation efficiency of feature clustering segmentation and target extraction, an adaptive voxel filter algorithm is used to reduce the number of point clouds of the original point cloud. The conventional voxel filter can set the grid density for filtering the three-dimensional point cloud, and can greatly reduce the number of high-density point cloud regions while retaining the overall contour of the point cloud, thereby reducing the subsequent processing operation amount. The coordinates of the point cloud before filtering are defined as p(x, y, z, e), the coordinates of the point cloud after filtering are defined as p ′ (x ′ ,y ′ ,z ′ ,e ′ ), the voxel filter grid size is r, and the processing function of the voxel filter algorithm is as follows:

[0108]

[0109] Note: max(∏e) represents the maximum value of the point cloud reflectivity set falling in the current grid after the coordinates of the reflection point p(x, y, z, e) are rasterized.

[0110] However, the conventional voxel filter cannot distinguish between high reflectivity point clouds and low reflectivity point clouds, resulting in a simultaneous reduction in overall density, which cannot highlight the features of high reflectivity obstacles. Moreover, due to the fixed grid size parameter, the filtering effect cannot be guaranteed to be consistent for different point cloud distribution environments, and may result in excessive filtering or poor filtering effect. In view of the above problems, the present application proposes an adaptive voxel filter algorithm, Figure 4 is a flowchart of the adaptive voxel filter algorithm. First, the original point cloud is divided into a low reflectivity point cloud set S1, a medium reflectivity point cloud set S2 and a high reflectivity point cloud set S3 according to the reflectivity, and then the process of counting the number of point clouds is calculated to calculate the point cloud distribution characteristics and the total number. Then, the grid size r of the voxel filter is determined according to the total number of point clouds Δ. The grid size r, r / 2 and r / 3 are used as the grid size of the voxel filter for the low reflectivity point cloud set S1, the medium reflectivity point cloud set S2 and the high reflectivity point cloud set S3, respectively. With the increase of reflectivity, the voxel filter grid becomes smaller, which can retain the high-resolution point cloud as much as possible and filter out the low-resolution point cloud. In addition, the adaptive voxel filter algorithm calculates the total amount of point clouds after filtering. If the total amount of point clouds is too high and does not meet the requirements, the adaptive voxel filter algorithm will gradually adjust the voxel filter grid size r according to the difference between the total amount of point clouds and the target threshold, until the total amount of point clouds after filtering meets the requirements of subsequent processing.

[0111] (5) Radius filter: Due to the influence of factors such as equipment precision, operator experience, environment, registration operation process, detection angle of view, and obstacle shielding, the point cloud groups captured by the laser radar contain more or less noise points and outliers. Effective obstacle targets generally reflect multiple effective point clouds. For discrete points, relevant algorithms need to be used for filtering to avoid interference with subsequent feature clustering segmentation and target recognition. The processing idea of radius filtering is to determine whether there are near neighbor points around each point according to the specified maximum threshold distance, and calculate the total number of near neighbor points in a point cloud group. For discrete points or point clouds that do not meet the threshold requirements, they are determined as outliers and are filtered out. The radius filtering process can eliminate outliers, gradually separate the spatial point cloud group into multiple point cloud clusters, reduce the connection between point cloud clusters, and prepare for subsequent feature clustering segmentation.

[0112] After the raw point cloud output by the laser radar is subjected to the attitude correction and preprocessing filtering process, most of the white noise points, discrete points, sunlight noise points, water surface wave reflection points, and other irrelevant point clouds can be effectively eliminated. The point cloud data reflected by the obstacle target affecting the navigation of the unmanned ship can be effectively retained, and adaptive voxel filtering algorithm and radius filtering are used for adaptive sparsification processing and point cloud group discretization processing. The finally output point cloud data is a collection of multiple point cloud cluster data that are preliminarily separated. The feature clustering segmentation algorithm can gather the feature point clouds with greater dependency together. The basic idea is to divide the feature set into multiple cluster groups according to the correlation between features and the correlation between features and feature clusters. Common clustering algorithms include Euclidean clustering, DBSCAN clustering, K-means clustering, etc. The present application adopts Euclidean clustering as the main processing algorithm for clustering segmentation. The Euclidean clustering algorithm is a point cloud segmentation algorithm based on neighborhood information, and takes Euclidean distance as the distance judgment criterion. For a point Q in space, multiple nearest points to Q are found through the KD-Tree nearest neighbor search algorithm. These points with a distance less than a set threshold are clustered into a set O. If the number of elements in O no longer increases, the current clustering process ends. Then, a point in O other than Q needs to be selected, and the above process is iterated until all point cloud elements are traversed and the number of elements in O no longer increases.

[0113] The input of the Euclidean clustering algorithm is the entire point cloud data, and the output is N point cloud cluster data that meet the requirements (reflectivity, distance criterion, point cloud cluster capacity). Each point cloud cluster has similarity and proximity in Euclidean distance, and there is a clear spatial interval between point cloud clusters. Each point cloud cluster represents a transient obstacle target.

[0114] Figure 5is the flow chart of the target extraction algorithm based on Euclidean distance clustering segmentation. The target extraction processing algorithm takes the clustering segmented point cloud cluster as input. For the point cloud cluster obtained by a single clustering, firstly, the morphological features of the point cloud cluster are calculated in the Cartesian coordinate system space by using traversal method, including point cloud centroid, three-axis coordinate system edge value, point cloud total number, point cloud density, etc. Then, all point cloud sequence indexes are stored, and finally, the planar binary point cloud graph is obtained. Secondly, the planar binary graph morphological processing is carried out. The corresponding operations are inflation processing and two-dimensional filling operation, which can eliminate the internal gap and discontinuity of the binary point cloud graph. For the discontinuity or burr of the binary graph edge, the X-shaped connection point expansion method is used for detection and processing. Finally, the window edge detection operator is used to select the edge contour and arrange the end point order. The collinear end points are simplified and matched with the original point cloud index in reverse, and finally the target feature information is output, including the relative coordinates in the Cartesian coordinate system, size, shape contour and height, etc.

[0115] Figure 6 is the X-shaped connection point processing schematic diagram. From left to right, it is half X-shaped connection, X-shaped connection and processed situation. Half X-shaped connection and X-shaped connection will cause the binary graph to be truncated during edge detection. Therefore, the window method is used to detect half X-shaped connection and X-shaped connection, and then the blank in the window is filled to eliminate half X-shaped connection or X-shaped connection, avoiding problems in subsequent edge detection.

[0116] Figure 7 is the envelope edge detection schematic diagram. For the planar binary point cloud graph, the edge points on the binary graph are selected by using the edge detection operator and stored in the dynamic array in clockwise / inverse clockwise order. Then, the collinear edge points are filtered out, and only the two end points of the straight line segment are retained. Thus, the planar contour information of the target point cloud can be obtained.

[0117] The result calculated by the target extraction process is the relative position (X, Y) of the obstacle target relative to the unmanned ship body. In order to facilitate subsequent target information processing operation and display, the relative position (X, Y) of the target is converted into the absolute latitude and longitude coordinates (L, B) in the WGS-84 geographic coordinate system by using the latitude and longitude positioning information (L0, B0) and the heading information yaw of the GPS component of the unmanned ship. The earth radius is defined as R, the Mercator projection coordinates of the unmanned ship are (X0, Y0), and the Mercator projection coordinates of the obstacle target are (X t ,Y t ). The conversion function is as follows:

[0118]

[0119] The above equations are combined as follows:

[0120]

[0121] Then (L, B) is the longitude and latitude coordinates of the obstacle target in the geographic coordinate system.

Claims

1. A method for processing 3D point clouds of unmanned surface vessels based on the principle of clustering and segmentation, characterized in that, Specifically, it includes the following steps: Step 100: Raw Data Acquisition and Analysis: Acquire raw point cloud data from the lidar and analyze it to obtain the distance and reflectivity of each laser reflection point; Step 200: Point cloud attitude correction: Obtain the attitude data of the unmanned vessel carrier platform by relying on the inertial components, and perform real-time attitude correction on the point cloud data; Step 300: Point cloud data preprocessing: The preprocessing process includes water surface wave processing, threshold filtering, spatial filtering, point cloud distribution statistics, adaptive voxel filtering, and radius filtering; Step 400: Feature clustering and segmentation: The preprocessed point cloud data is segmented by feature clustering. The Euclidean clustering algorithm is used to separate the related point cloud data into multiple point cloud clusters. Step 500: Target Extraction: Identify and analyze the morphological features of the clustered point cloud clusters to obtain a list of targets and related information, including relative coordinates, size, shape and height in Cartesian coordinate system; Step 600: Target coordinate transformation: Using the positioning and orientation components, obtain the current position and direction of the ship, and transform the relative coordinates of the target obtained in step 500 into absolute latitude and longitude coordinates in the world coordinate system.

2. The method for processing 3D point clouds of unmanned surface vessels based on the principle of clustering segmentation as described in claim 1, characterized in that, The specific process for point cloud attitude correction in step 200 is as follows: First, define the point cloud position in the world coordinate system as P0 = [x0y0z0]. T The point cloud position in the carrier coordinate system is P = [xyz]. T The transformation from the world coordinate system to the ship's coordinate system involves rotations in the following order: roll around the X0 axis → pitch around the Y0 axis. Therefore, the X and Y axis rotation matrices from the carrier coordinate system to the world coordinate system are defined as follows: The rotation matrix between the carrier coordinate system and the world coordinate system obtained above is: Substitute P0 = [x0y0z0] T And P = [xyz] T have to: Right now: The above formula transforms and maps the point cloud coordinates from the carrier coordinate system to the world coordinate system.

3. The method for processing 3D point clouds of unmanned surface vessels based on the principle of clustering segmentation according to claim 1, characterized in that, The specific process of preprocessing in step 300 is as follows: Define a filtering function f(x,y,z,e), where (x,y,z) represent the spatial coordinates of the point cloud, e represents the reflectivity of the point cloud, and the output value of the filtering function is 1 to filter out the point cloud and 0 to keep the point cloud. (1) Surface wave processing: This includes surface reflection filtering and wave reflection filtering. Surface reflection filtering refers to filtering out the reflection signal from the sea surface mirror to the lidar. Using the point cloud data after attitude correction as input, combined with the ship's draft and speed, the specific height z of the horizontal plane is determined. w Then, the space is expanded by a certain size to allow for filtering, and the filtering function f w (x,y,z,e) satisfy the following equation: Where V represents the OR operation; Wave reflection filtering refers to filtering out waves generated on the sides and stern of a ship during high-speed navigation. For common high-speed unmanned surface vessel (USV) hull shapes, the hull length is defined as L, the speed as V, the polar coordinate angle of a single point cloud as θ, the bow direction as the Y-axis, and the starboard direction as the X-axis. The filtering function is f, which represents the range of planes to be filtered. b (x,y,z,e) satisfy the following equation: f b (x,y,z,e)=f1(x,y,z,e)Vf2(x,y,z,e) (2) Threshold filtering: Set a reflectance threshold to filter out white noise signals and sunlight noise interference signals. Taking the reflectance range of 0-255 as an example, the reflectance threshold is set to 10, and the filtering function f l (x,y,z,e) satisfy the following equation: (3) Spatial filtering: Using the point cloud data after surface wave processing and threshold filtering as input, and combining the ship's size and draft, the upper limit Z of spatial filtering is set. H and lower limit Z L Point cloud data outside this range are filtered out by the filtering function f. s (x,y,z,e) satisfy the following equation: (4) Adaptive voxel filtering: The adaptive voxel filtering algorithm is used to reduce the number of points in the original point cloud. First, the original point cloud is divided into low reflectivity point cloud set S1, medium reflectivity point cloud set S2 and high reflectivity point cloud set S3 according to different reflectivity. Second, the grid size r of voxel filtering is determined according to the total number of points Δ. For low reflectivity point cloud set S1, medium reflectivity point cloud set S2 and high reflectivity point cloud set S3, r, r / 2 and r / 3 are used as the grid size of voxel filtering, respectively, and voxel filtering is performed. (5) Radius filtering: Determine whether there are nearby points around each point based on the maximum threshold distance, and calculate the total number of nearby points in a point cloud. For discrete points or point clouds that do not meet the threshold requirements, they are identified as outliers and filtered out.

4. The method for processing 3D point clouds of unmanned surface vessels based on the principle of clustering segmentation according to claim 3, characterized in that, The adaptive voxel filtering algorithm calculates the total amount of point cloud after filtering. If the total amount of point cloud is too high and does not meet the requirements, the adaptive voxel filtering algorithm gradually adjusts the voxel filtering grid size r according to the difference between the total amount of point cloud and the target threshold until the total amount of point cloud after filtering meets the requirements of subsequent processing.

5. The method for processing 3D point clouds of unmanned surface vessels based on the principle of clustering segmentation according to claim 1, characterized in that, The specific process of feature clustering and segmentation in step 400 is as follows: Euclidean clustering is used as the clustering and segmentation algorithm, with Euclidean distance as the distance judgment criterion. The input of the Euclidean clustering algorithm is the entire point cloud data, and the output is N point cloud clusters that meet the requirements. Each point cloud cluster has similarity and proximity in Euclidean distance, and there is a clear spatial interval between the point cloud clusters. Each point cloud cluster represents an instantaneous obstacle target.

6. The method for processing 3D point clouds of unmanned surface vessels based on the principle of clustering segmentation according to claim 1, characterized in that, The specific process for target extraction in step 500 is as follows: The target extraction process takes point cloud clusters as input, and the processing procedure for a single point cloud cluster is as follows: Step 501: Cartesian coordinate system spatial projection: First, project the spatial point cloud onto the planar Cartesian coordinate system. When the projection traverses all point clouds, calculate the morphological characteristics of the point cloud cluster, including the centroid of the point cloud, the edge value of the three-axis coordinate system, the total number of point clouds, and the point cloud density. Next, store all point cloud sequence indices, and finally obtain a planar binarized point cloud map; Step 502: Morphological processing: The corresponding operations are dilation and two-dimensional filling. Dilation expands the effective point cloud by a preset radius to achieve the effect of filling the internal gaps. The two-dimensional filling operation detects discontinuous areas inside the point cloud from the X and Y axes and fills them. Step 503: Envelope Edge Detection: Edge points on the binary image are filtered out using an edge detection operator and stored in a dynamic array in clockwise / counterclockwise order. Then, collinear edge points are filtered out, retaining only the two endpoints of straight line segments. The point cloud sequence index stored in step 501 is matched in reverse to convert the coordinates of the detected edge points into the original point cloud coordinates. The edge detection operator S... r The (x,y) form and the filtering function f(x,y) are as follows: in, Given a matrix S0, pixels with a value of 1 are retained, while pixels with a value of 0 are filtered out. This represents the rectangular block of pixels covered by the S0 operator when the window is swiped; * is the convolution symbol. Step 504: Output target information, including relative coordinates, dimensions, outline, and height in Cartesian coordinate system.

7. The method for processing 3D point clouds of unmanned surface vessels based on the principle of clustering segmentation according to claim 6, characterized in that, The binarized point cloud image after morphological processing is continuous and without gaps inside, but there are discontinuities or burrs at the edges. The X-type connection point expansion method is used to detect and process these issues.

8. The method for processing 3D point clouds of unmanned surface vessels based on the principle of clustering segmentation according to claim 1, characterized in that, The specific process of target coordinate transformation in step 600 is as follows: The target extraction process calculates the relative position (X,Y) of the obstacle target relative to the unmanned surface vessel (USV). Using the USV's latitude and longitude positioning information (L0,B0) and heading information (yaw) from the GPS component, the target's relative position (X,Y) is converted to absolute latitude and longitude coordinates (L,B) in the WGS-84 geographic coordinate system. The Earth's radius is defined as R, the USV's Mercator projection coordinates as (X0,Y0), and the obstacle target's Mercator projection coordinates as (X0,Y0). t ,Y t The conversion function is shown below: Combining the above equations, we get: Then (L,B) represents the latitude and longitude coordinates of the obstacle target in the geographic coordinate system.

Citation Information

Patent Citations

  • Unmanned ship inland river obstacle sensing method based on laser radar

    CN112882059A

  • Multi-source sensing method and system for water surface unmanned equipment

    WO2020237693A1