A method and system for detecting road obstacles based on three-dimensional point clouds

By using a road obstacle detection method based on 3D point clouds and employing a quad-camera and spatial clustering technology, the lack of depth information in traditional methods is solved, enabling accurate detection and distance calculation of obstacles and improving the safety of autonomous driving systems.

CN115359453BActive Publication Date: 2026-04-21SHANGHAI UNIV
View PDF 1 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
SHANGHAI UNIV
Filing Date
2022-08-12
Publication Date
2026-04-21

AI Technical Summary

Technical Problem

Traditional road obstacle detection methods rely solely on two-dimensional image data, lacking depth information and failing to accurately determine the distance and size of obstacles from vehicles. This results in deficiencies in path planning and obstacle avoidance for autonomous driving systems.

Method used

A road obstacle detection method based on 3D point cloud is adopted. Road scene data is acquired through four cameras, density-based spatial clustering is performed, and the width, height and distance of obstacles to vehicles are calculated. The method includes preprocessing, downsampling and outlier filtering.

Benefits of technology

It enables three-dimensional information perception of obstacles, accurately detects the presence, size, and distance of obstacles, improves the safety of autonomous driving systems, and reduces the occurrence of traffic accidents.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115359453B_ABST
    Figure CN115359453B_ABST
Patent Text Reader

Abstract

The application relates to a road obstacle detection method and system based on a three-dimensional point cloud, which is characterized in that: three-dimensional point cloud data of a road acquired by a four-camera is subjected to density-based spatial clustering to obtain a plurality of clusters; for each cluster, the width of an obstacle is obtained by calculating the difference between the maximum x-coordinate value and the minimum x-coordinate value of the point cloud in the three-dimensional coordinate axis; the height of the obstacle is obtained by calculating the difference between the maximum y-coordinate value and the minimum y-coordinate value of the point cloud; and the distance between the obstacle and the body is obtained by calculating the average value of the z-coordinate values of the point cloud. The method directly uses three-dimensional point cloud data generated by a four-camera, so that the perception module of an unmanned driving system obtains depth information, which can be one-to-one corresponding to the coordinates of a real object in a three-dimensional space. When the method is applied to the perception of road obstacles in an unmanned driving system, not only the existence of the obstacles can be detected, but also the size of the obstacles and the distance between the obstacles and the unmanned vehicle can be detected.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to three-dimensional point cloud processing technology and computer vision, and in particular to a method and system for detecting road obstacles based on three-dimensional point clouds. Background Technology

[0002] The advancement of autonomous driving technology has extraordinary research and social value for the entire automotive industry. It not only improves safety by preventing traffic accidents caused by drunk driving and fatigued driving, but also reduces traffic congestion caused by overtaking and cutting in line. A complete autonomous driving system mainly consists of three modules: perception, decision-making, and control. The perception module is the foundation for the functionality of other modules, and object detection is a crucial task of the perception module. It is used to acquire information about the position and category of objects in space (such as vehicles, pedestrians, and obstacles), which plays a vital guiding role in subsequent path planning and collision avoidance.

[0003] Object detection is one of the three major tasks in computer vision, aiming to acquire information about the location and category of objects. Road obstacle detection further refines the scope of object detection, first defining the scene as a road where vehicles travel, and then targeting pedestrians, vehicles, roadblocks, and other obstacles on the road. Road obstacle detection requires identifying all obstacles in the acquired data and locating and classifying them.

[0004] Traditional road obstacle detection methods, which only perform target detection on two-dimensional image data, can accurately identify targets in the image, but lack the depth information essential for the perception module when mapped to three-dimensional space. This means that while autonomous vehicles can sense the presence of obstacles, they cannot determine the distance or size of the obstacles, thus failing to provide adequate assistance for subsequent path planning and obstacle avoidance. Therefore, there is an urgent need for a road obstacle detection method and system that can determine the distance and size of obstacles. Summary of the Invention

[0005] The purpose of this invention is to provide a road obstacle detection method and system based on three-dimensional point clouds, which can be applied to the perception of road obstacles in autonomous driving systems. It can not only detect the existence of obstacles, but also detect the size of obstacles and the distance between them and autonomous vehicles, thereby greatly reducing the occurrence of traffic accidents involving autonomous vehicles and improving safety.

[0006] To achieve the above objectives, the present invention provides the following solution:

[0007] A method for detecting road obstacles based on 3D point clouds, comprising:

[0008] Density-based spatial clustering is performed on the target point cloud data to obtain several clusters; the target point cloud data is obtained by capturing road scene images with a quad-camera; each cluster is regarded as an obstacle;

[0009] For each cluster, the difference between the maximum and minimum x-coordinate values ​​of the point cloud in the cluster in the three-dimensional coordinate system is calculated to obtain the width of the obstacle; the three-dimensional coordinate system is a coordinate system established with the vehicle as the origin and the vehicle's forward direction as the z-axis.

[0010] The height of the obstacle is obtained by calculating the difference between the maximum and minimum y-coordinate values ​​of the point cloud in the cluster.

[0011] The mean z-coordinate of each point cloud in the cluster is calculated to obtain the distance between the vehicle and the obstacle.

[0012] As an optional implementation, before performing density-based spatial clustering on the target point cloud data, the method further includes: preprocessing the 3D point cloud data acquired by the four-view camera.

[0013] Region of interest extraction is performed on the three-dimensional point cloud data;

[0014] The extracted region of interest point cloud data is downsampled to obtain downsampled point cloud data;

[0015] Outlier points are filtered out from the downsampled point cloud data.

[0016] As an optional implementation, the step of downsampling the extracted region of interest point cloud data to obtain downsampled point cloud data specifically includes:

[0017] The point cloud data of the region of interest is divided into several cubic grids;

[0018] Select a non-empty cube grid cell from the cube grid;

[0019] For each of the aforementioned non-empty cubic grids, the centroid of all points in the non-empty cubic grid is calculated to obtain the centroid point;

[0020] By replacing all points in the non-empty cubic grid with the centroid point, the downsampling point corresponding to the non-empty cubic grid is obtained.

[0021] As an optional implementation, the outlier filtering of the downsampled point cloud data specifically includes:

[0022] Calculate the average distance between each downsampled point and its k nearest neighbors to obtain the average distance for each downsampled point;

[0023] Obtain the mean and standard deviation of the average distance;

[0024] Noise data is obtained based on the average distance, the mean, the standard deviation, and a set threshold.

[0025] The noise data is filtered out from the downsampled point cloud data.

[0026] As an optional implementation, obtaining noise data based on the average distance, the mean, the standard deviation, and a set threshold specifically includes:

[0027] For each point p in the downsampled point cloud data, determine whether point p satisfies the formula. If so, then point p is determined to be a noise point; otherwise, point p is not a noise point.

[0028] As an optional implementation, the density-based spatial clustering of the road surface 3D point cloud data acquired by the four-eye cameras specifically includes:

[0029] Obtain the point cloud set S to be processed {p1, p2, ..., p...} n The point cloud set to be processed is composed of the three-dimensional point cloud data.

[0030] Initialize the core object set Ω = φ, the number of clusters k = 0, the set of unvisited samples = S, and the set of clusters C = φ;

[0031] Traverse the sample set S according to formula N ε (p i )={p i ∈S|distance(p i ,p j )≤r} and Ω={p i ∈S||N r (p i If |≥MinPts}, then obtain point p in the core object set. i ;

[0032] Determine whether the core object set is empty to obtain a first determination result; if the first determination result is yes, then the process ends; otherwise, randomly select a core object ω from the core object set and initialize the current cluster core object set Ω. cur Let {ω} be the number of clusters, k ∈ k+1, and initialize the current cluster sample set C. k For {ω}, update the unvisited sample set Φ = Φ - {ω};

[0033] Determine if the current set of cluster core objects is empty to obtain a second determination result; if the second determination result is negative, update the core object set Ω = Ω - C. k Otherwise, the current cluster C will be... k Add it to the cluster set C, and according to Ω = Ω - C k Update the core object set and return to the step "Determine whether the core object set is an empty set";

[0034] From the current cluster core object set Ω cur Extract a core object ω' from the dataset, and obtain a set N of neighborhood samples whose Euclidean distance to ω' is less than or equal to ∈. ∈ (ω'), let Δ=N r (ω′)∩Φ, update the current cluster sample set C k Ground C k ∪Δ, update the unvisited sample set Φ = Φ - Δ, update Ω cur =Ω cur ∪(Δ∩Ω)-ω′, proceed to step “determine whether the current cluster core object set is an empty set”.

[0035] The present invention also provides a road obstacle detection system based on three-dimensional point clouds, comprising:

[0036] A clustering model is used to perform density-based spatial clustering of target point cloud data to obtain several clusters; the target point cloud data is obtained by capturing road scene images with a quad-camera; each cluster is regarded as an obstacle;

[0037] The obstacle width calculation module is used to calculate the difference between the maximum and minimum x-coordinate values ​​of the point cloud in the cluster in a three-dimensional coordinate system for each cluster, so as to obtain the width of the obstacle; the three-dimensional coordinate system is a coordinate system established with the vehicle as the origin and the vehicle's forward direction as the z-axis;

[0038] The obstacle height calculation module is used to calculate the difference between the maximum and minimum y-coordinate values ​​of the point cloud in the cluster to obtain the height of the obstacle.

[0039] The distance calculation module is used to calculate the average z-coordinate value of each point cloud in the cluster to obtain the distance between the body and the obstacle.

[0040] Optionally, the system further includes a preprocessing module for preprocessing the 3D point cloud data acquired by the four cameras before performing density-based spatial clustering on the target point cloud data.

[0041] Optionally, the preprocessing module specifically includes:

[0042] The Region of Interest Extraction submodule is used to extract the region of interest from the 3D point cloud data of the road surface;

[0043] The downsampling submodule is used to downsample the extracted point cloud data of the region of interest to obtain downsampled point cloud data.

[0044] The outlier filtering submodule is used to filter out outliers from the downsampled point cloud data.

[0045] Optionally, the downsampling submodule specifically includes:

[0046] The sub-unit is used to divide the point cloud data of the region of interest into several cubic grids;

[0047] A non-empty cube grid selection sub-unit is used to select non-empty cube grids within the cube grid.

[0048] The centroid calculation subunit is used to calculate the centroid of all points in each non-empty cubic grid to obtain the centroid point.

[0049] The downsampling subunit is used to replace all points in the non-empty cube grid with the centroid point to obtain the downsampling point corresponding to the non-empty cube grid.

[0050] According to specific embodiments provided by the present invention, the present invention discloses the following technical effects:

[0051] This invention provides a method and system for road obstacle detection based on 3D point clouds. First, density-based spatial clustering is performed on the 3D point cloud data of the road surface acquired by a quad-camera to obtain several clusters, where each cluster is considered an obstacle. For each cluster, the width of the obstacle is obtained by calculating the difference between the maximum and minimum x-coordinate values ​​of the point clouds in the cluster on the 3D coordinate axes; the height of the obstacle is obtained by calculating the difference between the maximum and minimum y-coordinate values ​​of the point clouds in the cluster; and the distance between the obstacle and the obstacle is obtained by calculating the mean of the z-coordinate values ​​of all point clouds in the cluster. This obstacle detection method directly utilizes the 3D point cloud data generated by the quad-camera, enabling the perception module of the autonomous driving system to obtain depth information, which can be mapped one-to-one with the physical coordinates of objects in 3D space. Applying this method to the perception of road obstacles in autonomous driving systems can not only detect the presence of obstacles but also their size and distance to the autonomous vehicle, thereby significantly reducing the occurrence of traffic accidents involving autonomous vehicles and improving safety. Attached Figure Description

[0052] To more clearly illustrate the technical solutions in the embodiments of the present invention or the prior art, the drawings used in the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present invention. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.

[0053] Figure 1 The flowchart of the road obstacle detection method based on three-dimensional point cloud provided in Embodiment 1 of the present invention is shown below.

[0054] Figure 2 The diagram shows the effect of the road obstacle detection method based on three-dimensional point cloud provided in Embodiment 1 of the present invention.

[0055] Figure 3 This is the original point cloud effect diagram provided in Embodiment 1 of the present invention;

[0056] Figure 4 This is an example of selecting the region of interest from the original point cloud according to Embodiment 1 of the present invention.

[0057] Figure 5 This is an illustration of the effect of downsampling the point cloud of the region of interest provided in Embodiment 1 of the present invention;

[0058] Figure 6 This is an illustration of the effect of filtering out outliers from a downsampled point cloud, as provided in Embodiment 1 of the present invention.

[0059] Figure 7 This is a diagram illustrating the effect of clustering the point cloud after filtering out outliers, as provided in Embodiment 1 of the present invention.

[0060] Figure 8 This is an obstacle detection result diagram provided in Embodiment 1 of the present invention;

[0061] Figure 9 This is a clustering example diagram provided in Embodiment 1 of the present invention. Detailed Implementation

[0062] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.

[0063] The purpose of this invention is to provide a road obstacle detection method and system based on three-dimensional point clouds, which can be applied to the perception of road obstacles in autonomous driving systems. It can not only detect the existence of obstacles, but also detect the size of obstacles and the distance between them and autonomous vehicles, thereby greatly reducing the occurrence of traffic accidents involving autonomous vehicles and improving safety.

[0064] To make the above-mentioned objects, features and advantages of the present invention more apparent and understandable, the present invention will be further described in detail below with reference to the accompanying drawings and specific embodiments.

[0065] Example 1

[0066] This embodiment provides a road obstacle detection method based on 3D point clouds. Please refer to [link / reference]. Figure 1 and Figure 2 ,include:

[0067] S1. Perform density-based spatial clustering on the target point cloud data to obtain several clusters; the target point cloud data is obtained by capturing the road scene with a quad-camera; each cluster is regarded as an obstacle.

[0068] As an optional implementation, before step S1, the method further includes:

[0069] S0. Preprocess the 3D point cloud data of the road surface acquired by the four-eye camera;

[0070] Specifically, the preprocessing may include:

[0071] S01. Extract the region of interest from the three-dimensional point cloud data of the road surface.

[0072] according to Figure 3 As shown in the original 3D point cloud data, the point cloud data generated by the quad-camera inevitably includes some scenes outside the road surface, and there are also some noise points near the camera. These are unnecessary in road obstacle detection, as they not only increase the amount of computation but also reduce the detection accuracy. Therefore, it is necessary to select the region of interest and perform targeted processing on the point cloud of the region of interest.

[0073] This embodiment employs a threshold segmentation method. First, a three-dimensional coordinate system is established, placing the original road surface 3D point cloud data below the three-dimensional coordinate axes. This three-dimensional coordinate system is established with the vehicle as the origin and the vehicle's forward direction as the z-axis. Then, a first threshold is set along the x-axis, and point cloud data with values ​​greater than the first threshold in the x-axis direction are filtered out, effectively removing noise from both sides of the road surface. Next, a second threshold is set along the z-axis to filter out noise near the camera position, thus obtaining point cloud data containing only road surface information, such as... Figure 4 As shown.

[0074] When establishing a three-dimensional coordinate system with the autonomous vehicle as the origin, since the camera is usually set on the autonomous vehicle, point clouds with z-axis values ​​less than the second threshold should be filtered out in order to filter out noise near the camera position.

[0075] S02. Downsample the extracted point cloud data of the region of interest to obtain downsampled point cloud data.

[0076] Specifically, this embodiment employs a voxel downsampling method, dividing the 3D point cloud data of the region of interest into several s×s×s cubic grids (voxels). Then, a centroid is calculated for all points within each non-empty voxel, and this centroid replaces all points within that voxel, thus achieving the point cloud downsampling effect. Figure 5 As shown.

[0077] center of mass p of a voxel c (x c y c , z c The calculation formula is as follows:

[0078]

[0079] Where n represents the number of point cloud data within a voxel, x i y i and z i These represent the coordinates of the point cloud data within the voxel along the x-axis, y-axis, and z-axis, respectively.

[0080] S03. Filter out outliers from the downsampled point cloud data.

[0081] Since some outliers still exist in the downsampled point cloud data, these outliers need to be filtered out.

[0082] As an optional implementation, the outlier filtering is based on a statistical outlier filtering method, which first calculates the outlier filtering results for each point p. i (x i y i , z i The average distance between it and its k-neighbors The calculation formula is as follows:

[0083]

[0084] Where, x j y j and z j For point p i The point p in the k-neighborhood j The coordinates.

[0085] Statistical analysis of the average distance between all points in the 3D point cloud data and their k-neighborhoods yields a result that approximates a Gaussian distribution. Therefore, the mean μ and standard deviation σ of this distribution can be obtained using the following formulas:

[0086]

[0087]

[0088] Where n represents the number of points in the 3D point cloud data.

[0089] Set a threshold t to determine whether point p should be kept or filtered out. The calculation formula is as follows:

[0090]

[0091] in, Let p represent the average distance between point p and all points in the k-neighborhood. If the difference from the mean μ is less than t times the standard deviation σ, then point p is retained; otherwise, point p is considered noise and filtered out.

[0092] After the above preprocessing, noisy data in the point cloud data acquired by the four cameras was filtered out, such as... Figure 6 As shown. To identify road obstacles, the point cloud data also needs to be clustered, that is, the point cloud data is divided into several clusters, and each cluster can be regarded as a detected obstacle. This embodiment uses the density-based spatial clustering (DBSCAN) method, and the specific implementation steps are as follows:

[0093] S11. Obtain the point cloud set to be processed S = {p1, p2, ..., p...} n}, and initialize the core object set Ω = φ, the number of clusters k = 0, the unvisited sample set = S, and the cluster set C = φ; the point cloud set to be processed is composed of the road surface 3D point cloud data;

[0094] S12. Traverse the sample set S according to formula N ε (p i )={p i ∈S|distance(p i ,p j )≤r} and Ω={p i ∈S||N r (p i If |≥MinPts}, then obtain point p in the core object set. i ;

[0095] Where, distance(p) i p j) represents point p i and point p j The Euclidean distance, where r represents the radius of the neighborhood, N r (p i ) represents the point p in the sample set S. i The sample set consists of points within a circle centered at a radius of r. MinPts represents the minimum number of points required for a cluster to be included, and |·| represents the total number of elements in the set. r (p i )| represents N r (p i The number of samples in the set, if set N r (p i If the number of ) is not less than MinPts, then p i It is recorded as a core object.

[0096] S13. Determine whether the core object set is empty to obtain a first determination result; if the first determination result is yes, then end; otherwise, randomly select a core object ω from the core object set and initialize the core object set Ω. cur ={ω}, let the number of clusters k = k + 1, and initialize the current cluster sample set C. k ={ω}, update the unvisited sample set Φ = Φ - {ω};

[0097] S14. Determine whether the current cluster core object set is empty, and obtain the second determination result; if the second determination result is negative, update the core object set Ω = Ω - C. k Otherwise, the current cluster C will be... k Add it to the cluster set C, and according to Ω = Ω - C k Update the core object set and return to step S13;

[0098] S15, from the current cluster core object set Ω cur Extract a core object ω' from the dataset, and obtain a set N of neighborhood samples whose Euclidean distance to ω' is less than or equal to ∈. ∈ (ω'), let Δ=N r (ω′)∩Φ, update the current cluster sample set C k =C k ∪Δ, update the unvisited sample set Φ = Φ - Δ, update Ω cur =Ω cur ∪(Δ∩Ω)-ω′, proceed to step “determine whether the current cluster core object set is an empty set”. Figure 7 , 8 The results of clustering and obstacle detection are shown respectively.

[0099] To enable those skilled in the art to more clearly understand the clustering process provided in this embodiment, an example is provided for illustration. Please refer to [link / reference]. Figure 9 :

[0100] Execute S11:

[0101] After the previous steps, we obtain the point cloud set S = {a, b, c, d, e, f, g, ω1, ω2, ω3, ω4}. We then initialize the unvisited sample set Φ = S = {a, b, c, d, e, f, g, ω1, ω2, ω3, ω4}, and the core object set. The number of clusters k = 0, the cluster set Execute S12:

[0102] The core object set Ω = {ω1, ω2, ω3, ω4} is obtained.

[0103] Execute S13:

[0104] If the core object set Ω is not empty, then ω2 is randomly selected from the core object set Ω = {ω1, ω2, ω3, ω4} as the current processing sample, and the core object set Ω of the current cluster is initialized. cur ={ω2}, let the number of clusters k=1, initialize the current cluster sample set C1={ω2}, and update the unvisited sample set Φ=Φ-{ω2}={a, b, c, d, e, f, g, ω1, ω3, ω4}.

[0105] Execute S14:

[0106] Current cluster core object set Ω cur ={ω2}, which is not an empty set, so update the core object set Ω = Ω - C1 = {ω1, ω3, ω4}.

[0107] Execute S15:

[0108] In the current cluster core object set Ω cur Take a core object ω2 from the given data, and find the set N of neighborhood samples whose Euclidean distance from ω2 does not exceed r. r (ω2)={b,ω1,ω3}, let Δ=N r (ω2)∩Φ={b,ω1,ω3}, update the current cluster sample set C1=C1∪Δ={b,ω1,ω2,ω3}, update the unvisited sample set Φ=Φ-Δ={a,c,d,e,f,g,ω4}, update Ω cur =Ω cur ∪(Δ∩Ω)-ω2={ω1,ω3}

[0109] Execute S14:

[0110] Current cluster core object set Ω cur={ω1, ω3}, which is not an empty set, so update the core object set Ω = Ω - C1 = {ω4}.

[0111] Execute S15:

[0112] Take out a core object ω1 from the current cluster core object set Ω cur and find the neighborhood sample set N r (ω1) = {a, b, ω2}. Let Δ = N r (ω1) ∩ Φ = {a}, update the current cluster sample set C1 = C1 ∪ Δ = {a, b, ω1, ω2, ω3}, update the unvisited sample set Φ to Φ - Δ = {c, d, e, f, g, ω4}, and update Ω cur = Ω cur ∪ (Δ ∩ Ω) - ω1 = {ω3}

[0113] Execute S14:

[0114] The current cluster core object set Ω cur = {ω3}, which is not an empty set, so update the core object set Ω = Ω - C1 = {ω4}.

[0115] Execute S15:

[0116] Take out a core object ω3 from the current cluster core object set Ω cur and find the neighborhood sample set N r (ω3) = {c, ω2}. Let Δ = N r (ω3) ∩ Φ = {c}, update the current cluster sample set C1 = C1 ∪ Δ = {a, b, c, ω1, ω2, ω3}, update the unvisited sample set Φ to Φ - Δ = {d, e, f, g, ω4}, and update Execute S14:

[0117] If the current cluster core object set then it means that the current cluster C1 has been completely generated. At this time, the current cluster C1 needs to be added to the cluster set C, that is, C = C ∪ C1 = {{a, b, c, ω1, ω2, ω3}}, and then update the core object set Ω = Ω - C1 = {ω4}, and enter step (S13).

[0118] Execute S13:

[0119] If the core object set Ω is not an empty set, then randomly select ω4 from the core object set Ω = {ω4} as the current processing sample, and initialize the current cluster core object set Ω cur={ω4}, let the number of clusters k=2, initialize the current cluster sample set C2={ω4}, and update the unvisited sample set Φ=Φ-{ω4}={d,e,f,g}.

[0120] Execute S15:

[0121] In the current cluster core object set Ω cur Take a core object ω4 from the given data, and find the set N of neighborhood samples whose Euclidean distance to ω4 does not exceed ∈ . r (ω4)={d,e}, let Δ=N r (ω4)∩Φ={d,e}, update the current cluster sample set C2=C2∪Δ={d,e,ω4}, update the unvisited sample set Φ=Φ-Δ={f,g}, update

[0122] Execute S14:

[0123] If the current cluster core object set This indicates that the current cluster C2 has been fully generated. At this point, the current cluster C2 needs to be added to the cluster set C, i.e., C = C∪C2 = {{a, b, c, ω1, ω2, ω3}, {d, e, ω4}}, and then the core object set should be updated. Enter S13. Execute S13:

[0124] The algorithm terminates when the core object set Ω is empty. The resulting cluster set is C: {{a, b, c, ω1, ω2, ω3}, {d, e, ω4}}.

[0125] After the above process, two clusters are finally obtained: {a, b, c, ω1, ω2, ω3} is one cluster, and {d, e, ω4} is another cluster.

[0126] S2. For each cluster, calculate the difference between the maximum and minimum x-coordinates of the point cloud in the cluster under the three-dimensional coordinate axes to obtain the width of the obstacle.

[0127] The calculation formula is: W i =max(P i (x))-min(P i (x)).

[0128] S3. Calculate the difference between the maximum and minimum y-coordinates of the point cloud in the cluster to obtain the height of the obstacle.

[0129] The calculation formula is: H i =max(P i (y))-min(P i (y)).

[0130] S4. Calculate the mean z-coordinate value of each point cloud in the cluster to obtain the distance between the body and the obstacle.

[0131] D i =mean(P i (z))

[0132] Since the three-dimensional coordinate system is established with the autonomous vehicle body as the origin, the distance between the vehicle body and the obstacle can be obtained by calculating the average z-coordinate value of each point cloud in the cluster.

[0133] The obstacle detection provided in this embodiment can be achieved directly through 3D point cloud data generated by a quad-camera system. This allows the perception module of the autonomous driving system to obtain depth information, which can be mapped one-to-one with the physical coordinates of objects in 3D space. When applied to obstacle perception in an autonomous driving system, this method can not only detect the presence of obstacles but also their size and distance from the autonomous vehicle, thereby significantly reducing the occurrence of traffic accidents involving autonomous vehicles and improving safety.

[0134] Example 2

[0135] This embodiment provides a road obstacle detection system based on three-dimensional point clouds, including:

[0136] Clustering model M1 is used to perform density-based spatial clustering on target point cloud data to obtain several clusters; the target point cloud data is obtained by capturing road scene images with a quad-camera; each cluster is considered as an obstacle;

[0137] The obstacle width calculation module M2 is used to calculate the difference between the maximum and minimum x-coordinates of the point cloud in the three-dimensional coordinate system for each cluster, so as to obtain the width of the obstacle.

[0138] The obstacle height calculation module M3 is used to calculate the difference between the maximum and minimum y-coordinate values ​​of the point cloud in the cluster to obtain the height of the obstacle.

[0139] The distance calculation module M4 is used to calculate the average z-coordinate value of each point cloud in the cluster to obtain the distance between the body and the obstacle.

[0140] Optionally, the system further includes a preprocessing module M0, used to preprocess the road surface 3D point cloud data acquired by the four-eye camera before performing density-based spatial clustering on the road surface 3D point cloud data acquired by the four-eye camera.

[0141] Optionally, the preprocessing module M0 specifically includes:

[0142] The region of interest extraction submodule M01 is used to extract the region of interest from the three-dimensional point cloud data of the road surface.

[0143] The downsampling submodule M02 is used to downsample the extracted point cloud data of the region of interest to obtain downsampled point cloud data.

[0144] The outlier filtering submodule M03 is used to filter out outliers from the downsampled point cloud data.

[0145] Optionally, the downsampling submodule M02 specifically includes:

[0146] The sub-unit is used to divide the point cloud data of the region of interest into several cubic grids;

[0147] A non-empty cube grid selection sub-unit is used to select non-empty cube grids within the cube grid.

[0148] The centroid calculation subunit is used to calculate the centroid of all points in each non-empty cubic grid to obtain the centroid point.

[0149] The downsampling subunit is used to replace all points in the non-empty cube grid with the centroid point to obtain the downsampling point corresponding to the non-empty cube grid.

[0150] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For the systems disclosed in the embodiments, since they correspond to the methods disclosed in the embodiments, the descriptions are relatively simple; relevant parts can be referred to the method section.

[0151] This document uses specific examples to illustrate the principles and implementation methods of the present invention. The descriptions of the above embodiments are only for the purpose of helping to understand the method and core ideas of the present invention. Furthermore, those skilled in the art will recognize that, based on the ideas of the present invention, there will be changes in the specific implementation methods and application scope. Therefore, the content of this specification should not be construed as a limitation of the present invention.

Claims

1. A method for detecting road obstacles based on a three-dimensional point cloud, characterized in that, include: Density-based spatial clustering is performed on the target point cloud data to obtain several clusters; The target point cloud data was obtained by capturing the road scene using a quad-camera. Each of the aforementioned clusters is considered an obstacle; For each cluster, the difference between the maximum and minimum x-coordinates of the point cloud in the cluster in the three-dimensional coordinate system is calculated to obtain the width of the obstacle; The three-dimensional coordinate system is a coordinate system established with the vehicle as the origin and the vehicle's forward direction as the z-axis; The height of the obstacle is obtained by calculating the difference between the maximum and minimum y-coordinate values ​​of the point cloud in the cluster. Calculate the mean z-coordinate value of each point cloud in the cluster to obtain the distance between the vehicle and the obstacle; Prior to performing density-based spatial clustering on the target point cloud data, the method further includes: preprocessing the 3D point cloud data acquired by the four-eye cameras. Regions of interest are extracted from the 3D point cloud data; a threshold segmentation method is used to set a first threshold along the x-axis and filter out point clouds with values ​​greater than the first threshold along the x-axis, thereby filtering out noise on both sides of the road surface; then a second threshold is set along the z-axis to filter out noise near the camera position, thus obtaining point cloud data containing only road surface information; The extracted region of interest point cloud data is downsampled to obtain downsampled point cloud data; The outlier removal process for the downsampled point cloud data specifically includes: Calculate the average distance between each downsampling point and its k nearest neighboring points to obtain the average distance corresponding to each downsampling point; Obtain the mean and standard deviation of the average distance; Noise data is obtained based on the average distance, the mean, the standard deviation, and a set threshold. The noise data is filtered out from the downsampled point cloud data; The step of obtaining noise data based on the average distance, the mean, the standard deviation, and a set threshold specifically includes: For each point p in the down-sampled point cloud data, it is judged whether the point p satisfies the formula If yes, the point p is determined as a noise point, otherwise the point p is not a noise point. wherein, represents the average distance of point p to all points within the k-neighborhood, represents the standard deviation of the distribution, represents the mean of the distribution, t represents the threshold value.

2. The method of claim 1, wherein, The step of downsampling the extracted region of interest point cloud data to obtain downsampled point cloud data specifically includes: The point cloud data of the region of interest is divided into several cubic grids; Select a non-empty cube grid cell from the cube grid; For each of the aforementioned non-empty cubic grids, the centroid of all points in the non-empty cubic grid is calculated to obtain the centroid point; By replacing all points in the non-empty cubic grid with the centroid point, the downsampling point corresponding to the non-empty cubic grid is obtained.

3. The method of claim 1, wherein, The density-based spatial clustering of the target point cloud data specifically includes: acquiring a point cloud set to be processed ; the point cloud set to be processed is composed of the three-dimensional point cloud data; initializing the core object set , number of clusters , set of unvisited samples , set of clusters ; Traverse the sample set S according to the formula and Obtain the points in the core object set. ; Point and The Euclidean distance; r represents the radius of the neighborhood; In the sample set S, point... MinPts represents the minimum number of points contained in a cluster, centered at a point and within a circle of radius r. Indicates the total number of elements in the set; determining whether the core object set is empty, to obtain a first determination result; if the first determination result is yes, ending; otherwise, randomly selecting a core object from the core object set , and initializing a current cluster core object set , setting the cluster number , initializing a current cluster sample set , and updating an unvisited sample set ; determining whether the current cluster core object set is empty, obtaining a second determination result; if the second determination result is no, updating the core object set ; otherwise, adding the current cluster to the cluster set C, and updating the core object set according to the step of "determining whether the core object set is empty"; from the current cluster core object set take out one core object , get the neighborhood sample set with the 'Euclidean distance less than or equal to , let , update the current cluster sample set , update the unvisited sample set , update , go to step "judge whether the current cluster core object set is empty set".

4. A three-dimensional point cloud based road surface obstacle detection system, characterized in that, include: The preprocessing module is used to preprocess the 3D point cloud data acquired by the four cameras before performing density-based spatial clustering on the target point cloud data. A clustering model is used to perform density-based spatial clustering of target point cloud data to obtain several clusters; the target point cloud data is obtained by capturing road scene images with a quad-camera. Each of the aforementioned clusters is considered an obstacle; The obstacle width calculation module is used to calculate the difference between the maximum and minimum x-coordinates of the point cloud in the three-dimensional coordinate system for each cluster, so as to obtain the width of the obstacle. The three-dimensional coordinate system is a coordinate system established with the vehicle as the origin and the vehicle's forward direction as the z-axis; The obstacle height calculation module is used to calculate the difference between the maximum and minimum y-coordinate values ​​of the point cloud in the cluster to obtain the height of the obstacle. The distance calculation module is used to calculate the average z-coordinate value of each point cloud in the cluster to obtain the distance between the body and the obstacle. The preprocessing module specifically includes: The Region of Interest (ROI) extraction submodule is used to extract the ROI from the 3D point cloud data of the road surface. It adopts a threshold segmentation method, sets a first threshold along the x-axis, and filters out point clouds with values ​​greater than the first threshold along the x-axis to achieve the effect of filtering out noise on both sides of the road surface. Then, a second threshold is set along the z-axis to filter out noise near the camera position, thereby obtaining point cloud data containing only road surface information. The downsampling submodule is used to downsample the extracted point cloud data of the region of interest to obtain downsampled point cloud data. The outlier removal submodule is used to remove outliers from the downsampled point cloud data, specifically including: Calculate the average distance between each downsampling point and its k nearest neighboring points to obtain the average distance corresponding to each downsampling point; Obtain the mean and standard deviation of the average distance; Noise data is obtained based on the average distance, the mean, the standard deviation, and a set threshold. The noise data is filtered out from the downsampled point cloud data; The step of obtaining noise data based on the average distance, the mean, the standard deviation, and a set threshold specifically includes: For each point p in the downsampled point cloud data, determine whether point p satisfies the formula. If so, then point p is determined to be a noise point; otherwise, point p is not a noise point. wherein, represents the average distance of point p to all points within the k-neighborhood, represents the standard deviation of the distribution, represents the mean of the distribution, t represents the threshold value.

5. The system of claim 4, wherein, The downsampling submodule specifically includes: The sub-unit is used to divide the point cloud data of the region of interest into several cubic grids; A non-empty cube grid selection sub-unit is used to select non-empty cube grids within the cube grid. The centroid calculation subunit is used to calculate the centroid of all points in each non-empty cubic grid to obtain the centroid point. The downsampling subunit is used to replace all points in the non-empty cube grid with the centroid point to obtain the downsampling point corresponding to the non-empty cube grid.

Citation Information

Patent Citations

  • Train obstacle detection method based on laser radar

    CN110501719A