Road surface pit detection method, device and equipment and storage medium
By performing multi-angle filtering on the point cloud of a single scanning line of a lidar, reliable pothole target points are obtained, solving the problem of insufficient detection accuracy in existing technologies. This enables accurate detection of road potholes and is applicable to both single-line and multi-line lidar.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- UISEE SHANGHAI AUTOMOTIVE TECH LTD
- Filing Date
- 2022-09-14
- Publication Date
- 2026-06-12
AI Technical Summary
Existing lidar pit detection methods are not accurate enough in cases of multiple reflections or object occlusion, and cannot be applied to single-line lidar, thus limiting their application scenarios.
The first fitting curve is obtained by fitting the point cloud on a single scanning line of the lidar, and a set of primary candidate points is selected. A set of secondary candidate points is obtained by segmenting according to the azimuth angle, and a set of tertiary candidate points is selected by using the second fitting curve. Finally, the potholes on the road surface are determined from the set of tertiary candidate points.
It improves the accuracy of pothole detection and is compatible with single-line and multi-line LiDAR, expanding its application scenarios.
Smart Images

Figure CN115424228B_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present invention relate to the field of autonomous driving technology, and in particular to a method, apparatus, equipment and storage medium for detecting road potholes. Background Technology
[0002] With the rapid development of autonomous driving technology, autonomous vehicles are becoming increasingly common in daily life. Whether on open roads or in closed factory areas, potholes on the road can cause vehicles to bump, get stuck, or even have tire blowouts, thus affecting the operation of autonomous vehicles.
[0003] To ensure the normal operation of autonomous vehicles, using lidar to detect potholes is a common method. When using lidar for pothole detection, a threshold classification method is typically employed. This method projects the 3D point cloud acquired by the lidar into a 2D occupancy grid. Then, the radial distance between adjacent lidar scan lines is calculated. Finally, the presence of a pothole between two lidar scan lines is determined by whether the actual calculated radial distance is greater than the theoretical threshold for radial distance between adjacent scan lines.
[0004] However, if points on the scan line are not scanned to their theoretical positions due to multiple reflections or obstruction by objects, the radial distance between adjacent scan lines will increase, leading to false detections in the interval threshold classification method. Furthermore, if the radar installed on the autonomous vehicle is a single-line lidar, the above method cannot be used for pothole detection. Therefore, the existing lidar pothole detection methods not only affect the accuracy of pothole detection but are also limited in their applicability to single-line lidar application scenarios. Summary of the Invention
[0005] This invention provides a method, apparatus, device, and storage medium for detecting road potholes, so as to achieve accurate detection of road potholes.
[0006] In a first aspect, embodiments of the present invention provide a method for detecting road potholes, applied to unmanned vehicles, comprising: fitting a point cloud on a single scan line of a lidar to obtain a first fitting curve; filtering the point cloud radially based on the first fitting curve to obtain a set of primary candidate points; obtaining the azimuth angle of each point in the set of primary candidate points, and filtering the set of primary candidate points segmentally based on the azimuth angle to obtain a set of secondary candidate points; fitting the set of secondary candidate points to obtain a second fitting curve, and filtering the set of secondary candidate points based on the first fitting curve and the second fitting curve to obtain a set of tertiary candidate points; obtaining a target point from the set of tertiary candidate points, and determining a road pothole based on the target point.
[0007] Secondly, embodiments of the present invention provide a road pothole detection device, including: a first fitting curve acquisition module, used to fit the point cloud on a single scanning line of a lidar to acquire a first fitting curve;
[0008] The primary candidate point set acquisition module is used to perform radial distance filtering on the point cloud based on the first fitted curve to obtain a primary candidate point set.
[0009] The secondary candidate point set acquisition module is used to acquire the azimuth angle of each point in the primary candidate point set, and to perform segmented filtering of the primary candidate point set based on the azimuth angle to acquire the secondary candidate point set;
[0010] The third-level candidate point set acquisition module is used to fit the second-level candidate point set to obtain a second fitting curve, and to filter the second-level candidate point set according to the first fitting curve and the second fitting curve to obtain a third-level candidate point set.
[0011] The road pothole detection module is used to obtain target points from the three-level candidate point set and determine road potholes based on the target points.
[0012] Thirdly, embodiments of the present invention provide an electronic device, the electronic device comprising:
[0013] One or more processors;
[0014] Storage device for storing one or more programs.
[0015] When one or more programs are executed by one or more processors, the one or more processors implement the above method.
[0016] Fourthly, embodiments of the present invention provide a computer-readable storage medium having a computer program stored thereon, characterized in that the program, when executed by a processor, implements the method described above.
[0017] The technical solution of this invention obtains reliable pothole target points by multi-angle screening of the point cloud on a single scanning line of a lidar, and determines road potholes based on the obtained pothole target points, thereby making the pothole detection results more accurate. It is also compatible with both single-line and multi-line lidar, and has a wider range of application scenarios. Attached Figure Description
[0018] To more clearly illustrate the technical solutions of the embodiments of the present invention, the accompanying drawings used in the embodiments will be briefly introduced below. It should be understood that the following drawings only show some embodiments of the present invention and should not be regarded as a limitation on the scope. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a flowchart of the road surface pothole detection method provided in Embodiment 1 of the present invention;
[0020] Figure 2 This is a schematic diagram of a distributed laser radar beam provided by the present invention;
[0021] Figure 3 This is a flowchart of a method for detecting potholes in road surfaces provided by the present invention;
[0022] Figure 4 This is a schematic diagram of the detection results of road surface potholes provided by the present invention;
[0023] Figure 5 This is a flowchart of a method for detecting potholes in road surfaces provided by the present invention;
[0024] Figure 6 This is a schematic diagram of the structure of a road surface pothole detection device provided by the present invention;
[0025] Figure 7 This is a schematic diagram of the structure of an electronic device provided by the present invention. Detailed Implementation
[0026] The present invention will now be described in further detail with reference to the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are for illustrative purposes only and are not intended to limit the scope of the invention.
[0027] It should also be noted that, for ease of description, the accompanying drawings show only the parts relevant to the invention, not all of them. Before discussing exemplary embodiments in more detail, it should be mentioned that some exemplary embodiments are described as processes or methods depicted as flowcharts. Although the flowcharts describe the operations (or steps) as sequential processes, many of the operations can be performed in parallel, concurrently, or simultaneously. Furthermore, the order of the operations can be rearranged. The process can be terminated when its operation is completed, but it may also have additional steps not included in the drawings. The process can correspond to a method, software implementation, hardware implementation, etc.
[0028] Figure 1 This is a flowchart of a road surface pothole detection method provided by an embodiment of the present invention. This embodiment is applicable to the detection of road surface potholes. The method can be executed by the road surface pothole detection device in this embodiment of the present invention, which can be implemented in software and / or hardware. Figure 1 As shown, the method specifically includes the following operations:
[0029] Step S101: Fit the point cloud on a single scanning line of the lidar to obtain the first fitting curve.
[0030] Optionally, before fitting the point cloud on a single scan line of the lidar to obtain the first fitting curve, the method further includes: obtaining the point cloud on a single scan line in the lidar coordinate system; performing coordinate transformation on the point cloud on the single scan line in the lidar coordinate system to obtain the point cloud on the single scan line in the vehicle coordinate system, wherein the vehicle coordinate system is centered on the rear axle of the vehicle, with the right side of the vehicle as the horizontal axis, the direction of vehicle travel as the vertical axis, and the direction perpendicular to the horizontal plane as the vertical axis.
[0031] Specifically, the autonomous vehicle in this embodiment can be equipped with two 16-line LiDARs, which are respectively installed at the front left and front right of the vehicle. The LiDAR beam distribution is as follows: Figure 2 As shown. After acquiring the point cloud along a single scan line in the lidar coordinate system, the point cloud data is transformed from the lidar coordinate system to a vehicle coordinate system with the rear axle of the vehicle as the origin, the right side of the vehicle as the horizontal axis X, the vehicle's driving direction as the horizontal axis Y, and the direction perpendicular to the horizontal plane as the vertical axis Z. Furthermore, this embodiment specifically acquires the point cloud along a single scan line within a certain angular range in front of the vehicle; the specific numerical value of this angular range is not limited in this embodiment.
[0032] Optionally, a first fitting curve is obtained by fitting the point cloud on a single scan line of the lidar, including: obtaining the point cloud on a single scan line of the lidar; and using the RANSAC algorithm to fit the points in the point cloud to obtain the first fitting curve.
[0033] It is worth mentioning that after obtaining the point cloud on a single scan line in the vehicle coordinate system, the RANSAC algorithm is used to fit the points in the point cloud to obtain the first fitting curve. The first fitting curve can be specifically represented by the following formula (1):
[0034] y = ax 2 +bx+c (1)
[0035] In the process of fitting points in a point cloud using the RANSAC algorithm, the coefficients (a, b, c) in formula (1) can be obtained, where a is called the first aperture of the first fitted curve. The principle of fitting points based on known points using the RANSAC algorithm is not the focus of this application, so it will not be elaborated in this embodiment.
[0036] Step S102: Based on the first fitted curve, the point cloud is filtered by radial distance to obtain a set of first-level candidate points.
[0037] Optionally, a first-level candidate point set is obtained by radial distance filtering of the point cloud based on the first fitted curve, including: obtaining the radial distance between the midpoint of the point cloud and the first fitted curve, and the vertical height of the midpoint of the point cloud; and selecting points whose radial distance to the midpoint of the point cloud is greater than a distance threshold and whose vertical height is less than a height threshold as the first-level candidate point set.
[0038] Specifically, when obtaining the first fitted curve, the radial distance and vertical height between a point in the point cloud and the first fitted curve are calculated. For example, if there is a point A in the point cloud, and the coordinates of point A in the vehicle coordinate system are (x1, y1, z1), substituting the x-coordinate of point A into the first fitted curve, we obtain a point (x1, y2) on the first curve. Then, the radial distance d between point A and the first fitted curve is y1 - y2, and the vertical height of point A refers to the value z1 of point A on the vertical axis in the vehicle coordinate system. Of course, this embodiment only uses point A as an example for illustration. The method for obtaining the radial distance and vertical height of other points in the point cloud is roughly the same, and will not be elaborated further in this embodiment.
[0039] It should be noted that in this embodiment, points in the point cloud can be filtered based on their radial distance and vertical height. For example, with a distance threshold of 0.1m and a height threshold of 0.2m, if the radial distance of a point in the point cloud is greater than 0.1m and its vertical height is less than 0.2m, then that point is retained, and all retained points form a first-level candidate point set. Therefore, in this embodiment, points in the point cloud are initially filtered based on radial distance and vertical height to obtain a first-level candidate point set. For example, if the radial distance d of point A is determined to be 0.15m and its vertical height to be 0.1m, then point A can be determined to belong to the first-level candidate point set.
[0040] Step S103: Obtain the azimuth angle of each point in the first-level candidate point set, and perform segmented filtering on the first-level candidate point set based on the azimuth angle to obtain the second-level candidate point set.
[0041] Optionally, the set of primary candidate points is segmented and filtered according to the azimuth angle to obtain the set of secondary candidate points. This includes: determining the continuity of each point in the set of primary candidate points based on the azimuth angle, and obtaining segmented candidate point sets based on the continuous points; obtaining relevant parameters for each segmented candidate point set, including the total value of continuous azimuth angles, the total number of points, and the maximum value of the horizontal coordinate difference between the points; and retaining the segmented candidate point sets whose relevant parameters meet the preset conditions to obtain the set of secondary candidate points.
[0042] Specifically, after obtaining the set of primary candidate points, the azimuth angle of each point in the set is also obtained. This is done by rotating counter-clockwise from 0 degrees along the positive Y-axis to the positive X-axis, using 1 degree as the minimum unit, and obtaining the ray formed by the center and each point. The angle between this ray and the Y-axis is then calculated, and this angle is used as the azimuth angle of each point. After obtaining the azimuth angle of each point in the primary candidate point set, the continuity of each point in the set is determined based on the azimuth angle, and a segmented candidate point set is obtained based on the continuous points.
[0043] For example, the primary candidate point set includes {ABCDEFGHIJKLMN}, with corresponding azimuth angles of {1 2 3 4 5 6 9 10 11 12 13 14 19 20} degrees. Taking 1 degree as the smallest unit, it can be concluded that the azimuth angles of points F and G differ by 3 degrees, thus they are disconnected; the azimuth angles of points K and L differ by 5 degrees, thus they are also disconnected. Therefore, three segmented candidate point sets {ABCDEF}, {GHIJKL}, and {MN} can be obtained. Of course, this embodiment is merely an example and does not limit the number of points in the primary candidate point set.
[0044] It should be noted that in this embodiment, after obtaining the segmented candidate point set, relevant parameters of each segmented candidate point set are also obtained. These parameters specifically include the total value of consecutive azimuth angles, the total number of points, and the maximum horizontal coordinate difference between points. For example, for the segmented candidate point set {ABCDEF}, the total value of its corresponding consecutive azimuth angles is 5 degrees, the total number of points is 6, and the point corresponding to the minimum value on the horizontal axis in the segmented candidate point set is point A, with a horizontal axis coordinate value x... A =0.1, the point corresponding to the maximum value on the horizontal axis is point D, and the horizontal axis coordinate is x. D =1.3, therefore the maximum horizontal coordinate difference Δx = 1.2 in the candidate point set of this segment; for the candidate point set of segment {GHIJKL}, the total number of consecutive azimuth angles is 5 degrees, the total number of points is 6, and the maximum horizontal coordinate difference Δx = 1; for the candidate point set of segment {MN}, the total number of consecutive azimuth angles is 1 degree, the total number of points is 2, and the maximum horizontal coordinate difference Δx = 0.5.
[0045] It should be noted that after obtaining the segmented candidate point set and its corresponding parameters, the segmented candidate point set that meets the preset conditions will be retained. The preset conditions specifically refer to the following: the total value of the continuous azimuth angles must be greater than 2 and less than 10; the total number of points must be greater than 5 and less than 100; and the maximum value of the horizontal coordinate difference of the points must be less than 2. Thus, the segmented candidate point sets that meet the above preset conditions are {ABCDEF} and {GHIJKL}. Therefore, {ABCDEF} and {GHIJKL} that meet the preset conditions are used as the secondary candidate point sets. Of course, this embodiment does not limit the specific number of secondary candidate point sets.
[0046] Step S104: Fit the set of secondary candidate points to obtain a second fitting curve, and filter the set of secondary candidate points according to the first fitting curve and the second fitting curve to obtain a set of tertiary candidate points.
[0047] Optionally, the set of secondary candidate points is filtered based on the first fitting curve and the second fitting curve to obtain the set of tertiary candidate points, including: obtaining the first opening of the first fitting curve and the second opening of the second fitting curve corresponding to the set of secondary candidate points; and taking the set of secondary candidate points whose second opening is within a specified range and is less than a specified multiple of the first opening as the set of tertiary candidate points.
[0048] Specifically, after obtaining the secondary candidate point set, the RANSAC algorithm is used again to fit the points in the secondary candidate point set to obtain the second fitting curve. Therefore, each secondary candidate point set corresponds to a second fitting curve. For example, the second fitting curve obtained by fitting the secondary candidate point set {ABCDEF} can be represented by the following formula (2):
[0049] y = ex 2 +fx+g (2)
[0050] When using the RANSAC algorithm to fit the points in the secondary candidate point set, the coefficients (e, f, g) in formula (2) can be obtained, and e is called the second opening of the second fitted curve.
[0051] It should be noted that when the second opening is within the specified range and less than a specified multiple of the first opening, the set of second-level candidate points is taken as the set of third-level candidate points. That is, the second opening of the set of third-level candidate points needs to satisfy the following formula (3).
[0052]
[0053] Where k is a specified multiple, e min e is the minimum opening value.max is the maximum opening value.
[0054] For example, when k = 5, e min = -20, e max = -0.1, that is, when the second opening value satisfies e < 5a and -20 < e < -0.1, it is determined that the secondary candidate point set {A B C D E F} is used as the tertiary candidate point set. Of course, in this real-time method, only an example is given for a specified range and a specified multiple, and specific values are not limited. The determination method for the secondary candidate point set {G H I J K L} is roughly the same, and will not be elaborated in this embodiment. Thus, by screening according to the opening, it is determined that the qualified tertiary candidate point set is {A B C D E F}.
[0055] Step S105, obtain target points from the tertiary candidate point set, and determine the road surface potholes according to the target points.
[0056] Optionally, obtaining target points from the tertiary candidate point set and determining the road surface potholes according to the target points includes: obtaining a pre-determined ground equation, and determining the target points below the ground in the tertiary candidate point set according to the ground equation; obtaining the average distance from the target points to the ground; when the average distance is greater than the depth threshold, clustering the target points to obtain a clustering cluster; obtaining the associated information of the clustering cluster, and determining the road surface potholes according to the associated information, where the associated information includes the coverage range of the clustering cluster and the central position of the clustering cluster.
[0057] Specifically, after screening the point cloud on a single scan line of the lidar according to three angles of radial distance, continuous azimuth angle, and opening, a qualified tertiary candidate point set is obtained. Since the points in the tertiary candidate point set are related to the road surface potholes, the road surface potholes can be detected according to the tertiary candidate point set.
[0058] The technical solution of the embodiment of the present invention obtains reliable pothole target points by screening the point cloud on a single scan line of the lidar from multiple angles, and determines the road surface potholes based on the obtained pothole target points, so that the pothole detection result is more accurate, and it can be compatible with single-line and multi-line lidars at the same time, and the application scenario is wider.
[0059] Figure 3 is a flowchart of the road surface pothole detection method provided by the embodiment of the present invention. This embodiment is based on the above embodiment, and specifically describes the operation of obtaining target points from the tertiary candidate point set in step S105 above and determining the road surface potholes according to the target points. The method steps specifically include the following operations:
[0060] Step S201: Obtain the predetermined ground equation, and determine the target points located below the ground in the three-level candidate point set based on the ground equation.
[0061] Specifically, in this embodiment, the ground equations determined in advance in the vehicle coordinate system are obtained, and the ground equations are shown in the following formula (4):
[0062] mx + ny + oz + p = 0 (4)
[0063] After obtaining the ground equation, the target points located below the ground in the three-level candidate point set will be determined based on the ground equation. The specific target points can be determined using the following formula (5):
[0064]
[0065] Calculate the d of point A in the third-level candidate point set {ABCDEF} according to formula (5). A After the value, if d A If the value of *o is less than 0, then point A is located below the ground. Similarly, the points in the three-level candidate point set are calculated separately using the above method. If each point satisfies the above formula (5), then all points ABCDEF in the three-level candidate point set are located below the ground, and points ABCDEF are taken as the target points.
[0066] Step S202: Obtain the average distance from the target point to the ground.
[0067] After identifying the target points, the average distance from all target points to the ground is obtained. For example, if target points AB CDEF have distances to the ground of |d1|, |d2|, |d3|, |d4|, |d5|, and |d6| respectively, then the average distance D can be determined as (|d1|+|d2|+|d3|+|d4|+|d5|+|d6|) / 6. Of course, this embodiment is merely an example and does not limit the specific number of target points.
[0068] Step S203: When the average distance is greater than the depth threshold, cluster the target points to obtain clusters.
[0069] After obtaining the average distance, it is determined whether the average distance D is greater than the depth threshold. For example, if the depth threshold is 0.4, and D > 0.4, the target points are clustered to obtain clusters. When performing clustering, K-Means clustering, mean-shift clustering, or density-based clustering can be used. This embodiment does not limit the specific method used to cluster the target points, and the specific principle of clustering is not the focus of this application, so it will not be elaborated in this embodiment.
[0070] Step S204: Obtain the association information of the clusters and determine the potholes on the road surface based on the association information.
[0071] Specifically, in this embodiment, after clustering, the association information corresponding to each cluster is obtained. This association information includes the coverage area of the cluster and the center position of the cluster. The location of the pothole in the vehicle coordinate system is determined based on the center position of the cluster, while the size of the pothole is determined based on the coverage area. Figure 4 The diagram shown is a schematic representation of the detection results of road surface potholes obtained in this embodiment. Figure 4 The identified potholes are marked with dashed boxes.
[0072] The technical solution of this invention obtains reliable pothole target points by multi-angle screening of the point cloud on a single scan line of a LiDAR, and determines road potholes based on the obtained pothole target points, thereby making the pothole detection results more accurate. It is also compatible with both single-line and multi-line LiDAR, broadening its application scenarios. Specifically, it obtains road potholes through clustering operations based on target points located below the ground in a three-level candidate point set, thus making the identified road potholes more accurate.
[0073] Figure 5 This is a flowchart of a road surface pothole detection method provided in an embodiment of the present invention. This embodiment is based on the above embodiment. Specifically, after obtaining the target point from the three-level candidate point set and determining the road surface pothole based on the target point, the road surface pothole detection result is verified. The method steps specifically include the following operations:
[0074] Step S301: Fit the point cloud on a single scanning line of the lidar to obtain the first fitting curve.
[0075] Optionally, before fitting the point cloud on a single scan line of the lidar to obtain the first fitting curve, the method further includes: obtaining the point cloud on a single scan line in the lidar coordinate system; performing coordinate transformation on the point cloud on the single scan line in the lidar coordinate system to obtain the point cloud on the single scan line in the vehicle coordinate system, wherein the vehicle coordinate system is centered on the rear axle of the vehicle, with the right side of the vehicle as the horizontal axis, the direction of vehicle travel as the vertical axis, and the direction perpendicular to the horizontal plane as the vertical axis.
[0076] Step S302: Based on the first fitted curve, the point cloud is filtered by radial distance to obtain a set of first-level candidate points.
[0077] Optionally, a first-level candidate point set is obtained by radial distance filtering of the point cloud based on the first fitted curve, including: obtaining the radial distance between the midpoint of the point cloud and the first fitted curve, and the vertical height of the midpoint of the point cloud; and selecting points whose radial distance to the midpoint of the point cloud is greater than a distance threshold and whose vertical height is less than a height threshold as the first-level candidate point set.
[0078] Step S303: Obtain the azimuth angle of each point in the first-level candidate point set, and perform segmented filtering on the first-level candidate point set according to the azimuth angle to obtain the second-level candidate point set.
[0079] Optionally, the set of primary candidate points is segmented and filtered according to the azimuth angle to obtain the set of secondary candidate points. This includes: determining the continuity of each point in the set of primary candidate points based on the azimuth angle, and obtaining segmented candidate point sets based on the continuous points; obtaining relevant parameters for each segmented candidate point set, including the total value of continuous azimuth angles, the total number of points, and the maximum value of the horizontal coordinate difference between the points; and retaining the segmented candidate point sets whose relevant parameters meet the preset conditions to obtain the set of secondary candidate points.
[0080] Step S304: Fit the set of secondary candidate points to obtain a second fitting curve, and filter the set of secondary candidate points according to the first fitting curve and the second fitting curve to obtain a set of tertiary candidate points.
[0081] Optionally, the set of secondary candidate points is filtered based on the first fitting curve and the second fitting curve to obtain the set of tertiary candidate points, including: obtaining the first opening of the first fitting curve and the second opening of the second fitting curve corresponding to the set of secondary candidate points; and taking the set of secondary candidate points whose second opening is within a specified range and is less than a specified multiple of the first opening as the set of tertiary candidate points.
[0082] Step S305: Obtain the target point from the set of three-level candidate points, and determine the potholes on the road surface based on the target point.
[0083] Optionally, the target point is obtained from the set of three-level candidate points, and the pothole is determined based on the target point. This includes: obtaining a predetermined ground equation, and determining the target point located below the ground in the set of three-level candidate points based on the ground equation; obtaining the average distance from the target point to the ground; when the average distance is greater than a depth threshold, clustering the target points to obtain clusters; obtaining the association information of the clusters, and determining the pothole based on the association information, wherein the association information includes the coverage area of the cluster and the center position of the cluster.
[0084] Step S306: Verify the results of the road surface pothole detection.
[0085] Specifically, in this embodiment, after determining the road surface potholes based on the target point, the road surface pothole detection results are also verified. Specifically, the actual road surface potholes within the detection range are obtained, and the actual road surface potholes are compared with the obtained road surface potholes. If the difference exceeds 10%, the road surface pothole detection is determined to be invalid. In the case of invalid detection, an alarm message will be issued to prompt the user to optimize or adjust the equipment to further ensure the accuracy of road surface pothole detection.
[0086] The technical solution of this invention obtains reliable pothole target points by multi-angle filtering of the point cloud on a single scan line of a LiDAR, and determines road potholes based on the acquired target points, thereby making the pothole detection results more accurate. It is also compatible with both single-line and multi-line LiDAR, broadening its application scenarios. By verifying the road pothole detection results, an alarm is issued when the detection is invalid, prompting the user to optimize or adjust the equipment to further ensure the accuracy of road pothole detection.
[0087] Figure 6 The diagram below shows the structure of a road pothole detection device provided in an embodiment of the present invention. The device includes: a first fitting curve acquisition module 410, a first-level candidate point set acquisition module 420, a second-level candidate point set acquisition module 430, a third-level candidate point set acquisition module 440, and a road pothole detection module 450.
[0088] The first fitting curve acquisition module 410 is used to fit the point cloud on a single scanning line of the lidar to obtain the first fitting curve.
[0089] The first-level candidate point set acquisition module 420 is used to obtain the first-level candidate point set by radial distance filtering of the point cloud based on the first fitted curve.
[0090] The secondary candidate point set acquisition module 430 is used to acquire the azimuth angle of each point in the primary candidate point set, and to segment and filter the primary candidate point set according to the azimuth angle to obtain the secondary candidate point set.
[0091] The third-level candidate point set acquisition module 440 is used to fit the second-level candidate point set to obtain a second fitting curve, and to filter the second-level candidate point set according to the first fitting curve and the second fitting curve to obtain the third-level candidate point set.
[0092] The road pothole detection module 450 is used to obtain target points from a set of three-level candidate points and determine road potholes based on the target points.
[0093] Optionally, the device also includes a coordinate transformation module for acquiring point clouds on a single scan line in the lidar coordinate system;
[0094] The point cloud on a single scan line in the lidar coordinate system is transformed to obtain the point cloud on a single scan line in the vehicle coordinate system. The vehicle coordinate system is centered on the rear axle of the vehicle, with the right side of the vehicle as the horizontal axis, the direction of vehicle travel as the vertical axis, and the direction perpendicular to the horizontal plane as the vertical axis.
[0095] Optionally, the first fitting curve acquisition module is used to acquire the point cloud on a single scan line of the lidar;
[0096] The RANSAC algorithm is used to fit the points in the point cloud to obtain the first fitted curve.
[0097] Optionally, a first-level candidate point set acquisition module is used to obtain the radial distance between the midpoint of the point cloud and the first fitted curve, as well as the vertical height of the midpoint of the point cloud;
[0098] Points in the point cloud whose radial distance is greater than a distance threshold and whose vertical height is less than a height threshold are selected as the first-level candidate point set.
[0099] Optionally, a secondary candidate point set acquisition module is used to determine the continuity of each point in the primary candidate point set based on the azimuth angle, and to acquire a segmented candidate point set based on the continuous points.
[0100] Obtain relevant parameters for each segment of candidate point set, including the total value of continuous azimuth angles, the total number of points, and the maximum value of the horizontal coordinate difference of the points;
[0101] The set of segmented candidate points that meet the preset conditions is retained to obtain the set of secondary candidate points.
[0102] Optionally, a three-level candidate point set acquisition module is used to acquire the first opening of the first fitted curve and the second opening of the second fitted curve corresponding to the second-level candidate point set.
[0103] The set of second-level candidate points whose second opening is within a specified range and less than a specified multiple of the first opening is taken as the set of third-level candidate points.
[0104] Optionally, a road surface pothole detection module is used to obtain a predetermined ground equation and determine the target point located below the ground in the three-level candidate point set based on the ground equation;
[0105] Obtain the average distance from the target point to the ground;
[0106] When the average distance is greater than the depth threshold, clustering is performed on the target points to obtain clusters;
[0107] Obtain the association information of the clusters and determine the potholes on the road surface based on the association information. The association information includes the coverage area of the clusters and the center location of the clusters.
[0108] The above-described apparatus can execute the road surface pothole detection method provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects for executing the method. Technical details not described in detail in this embodiment can be found in the methods provided in any embodiment of the present invention.
[0109] Figure 7 A schematic diagram of an electronic device 10 that can be used to implement embodiments of the present invention is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.
[0110] like Figure 7 As shown, the electronic device 10 includes at least one processor 11 and a memory, such as a read-only memory (ROM) 12 or a random access memory (RAM) 13, communicatively connected to the at least one processor 11. The memory stores computer programs executable by the at least one processor. The processor 11 can perform various appropriate actions and processes based on the computer program stored in the ROM 12 or loaded from storage unit 18 into the RAM 13. The RAM 13 may also store various programs and data required for the operation of the electronic device 10. The processor 11, ROM 12, and RAM 13 are interconnected via a bus 14. An input / output (I / O) interface 15 is also connected to the bus 14.
[0111] Multiple components in electronic device 10 are connected to I / O interface 15, including: input unit 16, such as keyboard, mouse, etc.; output unit 17, such as various types of displays, speakers, etc.; storage unit 18, such as disk, optical disk, etc.; and communication unit 19, such as network card, modem, wireless transceiver, etc. Communication unit 19 allows electronic device 10 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.
[0112] Processor 11 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 11 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 11 performs the various methods and processes described above, such as pothole detection methods.
[0113] In some embodiments, the pothole detection method may be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 18. In some embodiments, part or all of the computer program may be loaded and / or installed on electronic device 10 via ROM 12 and / or communication unit 19. When the computer program is loaded into RAM 13 and executed by processor 11, one or more steps of the pothole detection method described above may be performed. Alternatively, in other embodiments, processor 11 may be configured to perform the pothole detection method by any other suitable means (e.g., by means of firmware).
[0114] Various embodiments of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field-programmable gate arrays (FPGAs), application-specific integrated circuits (ASICs), application-specific standard products (ASSPs), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.
[0115] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.
[0116] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.
[0117] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including sound input, voice input, or tactile input).
[0118] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.
[0119] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.
[0120] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.
[0121] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.
Claims
1. A method for detecting potholes in road surfaces, applied to unmanned vehicles, characterized in that, include: The first fitting curve is obtained by fitting the point cloud on a single scan line of the lidar. Based on the first fitted curve, the point cloud is filtered by radial distance to obtain a set of first-level candidate points; Obtain the azimuth angle of each point in the first-level candidate point set, and perform segmented filtering based on the azimuth angle to obtain the second-level candidate point set; The set of secondary candidate points is fitted to obtain a second fitting curve, and the set of secondary candidate points is filtered according to the first fitting curve and the second fitting curve to obtain a set of tertiary candidate points; The target point is obtained from the set of three candidate points, and the pothole is determined based on the target point; The step of obtaining target points from the set of three-level candidate points and determining potholes based on the target points includes: obtaining a predetermined ground equation and determining target points located below the ground in the set of three-level candidate points based on the ground equation; obtaining the average distance from the target points to the ground; when the average distance is greater than a depth threshold, clustering the target points to obtain clusters; obtaining association information of the clusters and determining the potholes based on the association information, wherein the association information includes the coverage area of the clusters and the center position of the clusters.
2. The method according to claim 1, characterized in that, Before fitting the point cloud on a single scan line of the lidar to obtain the first fitting curve, the method further includes: Obtain the point cloud along a single scan line in the lidar coordinate system; The point cloud on a single scan line in the lidar coordinate system is transformed to obtain the point cloud on a single scan line in the vehicle coordinate system. The vehicle coordinate system is centered on the rear axle of the vehicle, with the right side of the vehicle as the horizontal axis, the direction of vehicle travel as the vertical axis, and the direction perpendicular to the horizontal plane as the vertical axis.
3. The method according to claim 2, characterized in that, The step of fitting the point cloud on a single scan line of the lidar to obtain the first fitting curve includes: Obtain the point cloud along a single scan line of the lidar; The first fitted curve is obtained by fitting the points in the point cloud using the RANSAC algorithm.
4. The method according to claim 3, characterized in that, The step of obtaining a primary candidate point set by radial distance filtering of the point cloud based on the first fitted curve includes: Obtain the radial distance between the midpoint of the point cloud and the first fitted curve, and the vertical height of the midpoint of the point cloud; Points in the point cloud whose radial distance is greater than a distance threshold and whose vertical height is less than a height threshold are selected as the first-level candidate point set.
5. The method according to claim 2, characterized in that, The step of segmenting and filtering the primary candidate point set according to the azimuth angle to obtain the secondary candidate point set includes: The continuity of each point in the first-level candidate point set is determined based on the azimuth angle, and a segmented candidate point set is obtained based on the continuous points. Obtain relevant parameters for each of the segmented candidate point sets, wherein the relevant parameters include the total value of continuous azimuth angles, the total number of points, and the maximum value of the horizontal coordinate difference of the points; The set of segmented candidate points whose relevant parameters meet the preset conditions is retained to obtain the set of secondary candidate points.
6. The method according to claim 1, characterized in that, The step of filtering the secondary candidate point set based on the first fitting curve and the second fitting curve to obtain the tertiary candidate point set includes: Obtain the first opening of the first fitted curve and the second opening of the second fitted curve corresponding to the set of secondary candidate points; The set of secondary candidate points whose second opening is within a specified range and is less than a specified multiple of the first opening is taken as the set of tertiary candidate points.
7. A road surface pothole detection device, characterized in that, include: The first fitting curve acquisition module is used to fit the point cloud on a single scanning line of the lidar to obtain the first fitting curve. The primary candidate point set acquisition module is used to perform radial distance filtering on the point cloud based on the first fitted curve to obtain a primary candidate point set. The secondary candidate point set acquisition module is used to acquire the azimuth angle of each point in the primary candidate point set, and to perform segmented filtering of the primary candidate point set based on the azimuth angle to acquire the secondary candidate point set; The third-level candidate point set acquisition module is used to fit the second-level candidate point set to obtain a second fitting curve, and to filter the second-level candidate point set according to the first fitting curve and the second fitting curve to obtain a third-level candidate point set. A road pothole detection module is used to obtain target points from the three-level candidate point set and determine road potholes based on the target points; The road surface pothole detection module is used to obtain a predetermined ground equation and determine the target point located below the ground in the three-level candidate point set based on the ground equation. Obtain the average distance from the target point to the ground; when the average distance is greater than a depth threshold, cluster the target point to obtain a cluster; obtain the association information of the cluster, and determine the pothole based on the association information, wherein the association information includes the coverage area of the cluster and the center position of the cluster.
8. An electronic device, characterized in that, The electronic device includes: One or more processors; Storage device for storing one or more programs. When the one or more programs are executed by the one or more processors, the one or more processors implement the method as described in any one of claims 1-6.
9. A computer-readable storage medium having a computer program stored thereon, characterized in that, When the program is executed by the processor, it implements the method as described in any one of claims 1-6.