Method and apparatus for detecting a curb using a lidar sensor
Patent Information
- Application Number
- CN202210639830.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2021-06-08
- Filing Date
- 2022-06-08
- Publication Date
- 2026-10-09
- Estimated Expiration
- 2042-06-08
Smart Images

Figure CN115451936B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to a method and apparatus for detecting curbs using LiDAR sensors, and a recording medium storing a program for performing the method. Background Technology
[0002] To process massive 3D point clouds acquired by LiDAR (Light Detection and Ranging) sensors during autonomous driving in real time using limited computing resources, heuristic algorithms based on the scanning patterns of the LiDAR sensors can be used instead of algorithms involving complex computations, such as Random Sample Consensus Algorithm (RANSAC). The scanning patterns / methods / rules inherent to the LiDAR sensors can be used as heuristics to configure the LiDAR logic.
[0003] When using the aforementioned heuristic algorithm to detect curbs, errors exist in the detected curb information regardless of LiDAR performance. This is because not only objects like walls or vehicles, but also uneven road surfaces have similar physical characteristics to curbs. Therefore, research is underway to accurately detect curb information from point clouds acquired by LiDAR sensors. Summary of the Invention
[0004] Therefore, the embodiments relate to a method and apparatus for detecting curbs using LiDAR sensors, and a recording medium storing a program to perform the method, which substantially eliminates one or more problems caused by the limitations and disadvantages of the prior art.
[0005] The embodiments provide a method and apparatus for detecting curbs using a LiDAR sensor capable of accurately detecting curbs, and a recording medium storing a program for performing the method.
[0006] However, the objectives to be achieved by the embodiments are not limited to those described above, and other objectives not mentioned herein will be clearly understood by those skilled in the art from the following description.
[0007] The method for detecting curbs using a LiDAR sensor according to an embodiment may include: selecting road points from the point cloud acquired by the LiDAR sensor; and detecting a plurality of consecutive points having a constant first slope in a first plane viewed from above and a second slope with a constant sign in a second plane viewed from the side as curb candidate points among the road points, the curb candidate points being candidates for curb points.
[0008] For example, detecting the curb candidate points may include: identifying from the road points a plurality of consecutive current points having a height equal to or less than a threshold height and being located at a first interval distance from a previous point, the first interval distance being shorter than a first threshold distance; determining whether the first slope formed by the plurality of consecutive current points is constant; when the first slope is constant, determining whether the sign of the second slope is constant; and when the sign of the second slope is constant, finally identifying the plurality of consecutive current points as the curb candidate points.
[0009] For example, discovering the plurality of consecutive current points may include: determining whether the height of sample points selected sequentially from the road points in the order of sample indices in each layer is equal to or less than the threshold height; storing the coordinates of the sample points with heights equal to or less than the threshold height when the previous point selected before the sample point with a height equal to or less than the threshold height does not exist; storing the coordinates of the sample point when the previous point exists and when the first interval distance between the sample point and the previous point is shorter than the first threshold distance; checking the height of the sample points when the number of sample points with stored coordinates is not "1"; and determining the "1" sample points as the plurality of consecutive current points discovered when the number of sample points with stored coordinates is "1", where "1" is a positive integer of 2 or greater.
[0010] For example, determining whether the first slope is constant may include: selecting points spaced at constant intervals from a plurality of consecutive current points found; determining whether at least one of the following from the selected points—the difference between adjacent slopes of adjacent points, the difference between non-adjacent slopes of non-adjacent points that are not adjacent to each other, or the difference between all slopes including the adjacent slopes and the non-adjacent slopes—is within a predetermined range of permissible values; and determining the first slope as constant when at least one of the difference between adjacent slopes, the difference between non-adjacent slopes, or the difference between all slopes including the adjacent slopes and the non-adjacent slopes is within the predetermined range of permissible values.
[0011] For example, ultimately identifying multiple consecutive current points as curb candidates may include identifying the “I” sample points with the stored coordinates as curb candidates when the sign of the second slope is determined to be constant.
[0012] For example, the method may further include a first error verification step, namely, when multiple neighboring points in a layer adjacent to the layer where the curb candidate point is located are non-road points instead of the road points, points other than the curb points are detected from the curb candidate points based on the variance and average of the coordinates of the multiple neighboring points.
[0013] For example, the first error verification step may include: determining whether the plurality of adjacent points are the non-road points; when the plurality of adjacent points are the non-road points, obtaining the average value and the variance of the coordinates of the plurality of adjacent points; determining whether the variance is less than a threshold variance; determining whether a first absolute value is less than a threshold average value, as follows: |AV-P|<THa (where "|AV-P|" represents the first absolute value, "AV" represents the average value, "P" represents the coordinates of the curb candidate point, and "THa" represents the threshold average value); and determining that the curb candidate point is not the curb point when the variance is less than the threshold variance and when the first absolute value is less than the threshold average value.
[0014] For example, the first error verification step may include: a first-1 error verification step, namely determining whether the curb candidate point with a slope closer to the vertical axis is not the curb point; and a first-2 error verification step, namely determining whether the curb candidate point with a slope closer to the horizontal axis is not the curb point.
[0015] For example, in the first-1 error verification step or the first-2 error verification step, the variance may correspond to the variance of the weighted sum of the horizontal and vertical coordinates of the plurality of adjacent points; the average may correspond to the average of the weighted sum of the horizontal and vertical coordinates of the plurality of adjacent points; and "P" may represent the weighted sum of the horizontal and vertical coordinates of the curb candidate point. A vehicle equipped with the LiDAR sensor can travel in a first direction parallel to the vertical axis, and a second direction parallel to the horizontal axis may intersect the first direction.
[0016] For example, in the layer adjacent to the layer where the curb candidate point is located, when the neighboring point located near the azimuth of the curb candidate point is the non-road point, points other than the curb point are detected from the curb candidate points based on the variance and the average value.
[0017] For example, the method may further include a second error verification step, namely: using a reference line segment formed by the curb candidate points belonging to any layer and a target line segment formed by the curb candidate points belonging to the layer adjacent to the arbitrary layer, to detect points other than the curb points from the curb candidate points belonging to the arbitrary layer.
[0018] For example, the second error verification step may include: selecting a reference start point and a reference end point from the curb candidate points belonging to the arbitrary layer to form the reference line segment; when the reference start point and the reference end point are located in the same layer, obtaining the length of the reference line segment formed by the reference start point and the reference end point; when the length of the reference line segment is shorter than a threshold length, obtaining the coefficient of the reference line segment; selecting a target start point from the curb candidate points belonging to the layer adjacent to the arbitrary layer, and selecting a target end point that exists in the same layer as the target start point and is located within a second threshold distance from the target start point; using the target... The coordinates of the starting point and the coefficient are used to obtain a second interval distance between the reference line segment and the target starting point; the target starting point and the target ending point are used to form the target line segment; the reference slope of the reference line segment, the target slope of the target line segment, the third interval distance between the reference starting point and the target starting point, and the third slope of the straight line connecting the target starting point and the reference ending point are obtained; and at least one of the reference slope, the target slope, the second interval distance, the third interval distance, or the third slope is used to find points other than the curb points from the curb candidate points belonging to the arbitrary layer.
[0019] For example, finding points other than the curb point from the curb candidate points may include: determining whether a second absolute value of the difference between the reference slope and the target slope is less than a first threshold; when the second absolute value is less than the first threshold, determining whether the second interval distance is shorter than a third threshold distance; when the second interval distance is shorter than the third threshold distance, determining whether the third interval distance is shorter than a fourth threshold distance; when the third interval distance is shorter than the fourth threshold distance, determining whether a third absolute value of the difference between the reference slope and the third slope is less than a second threshold; and when the second absolute value is equal to or greater than the first threshold, when the second interval distance is equal to or greater than the third threshold distance, when the third interval distance is equal to or greater than the fourth threshold distance, or when the third absolute value is equal to or greater than the second threshold, and when both the target start point and the target end point are selected in the layers adjacent to the arbitrary layer, determining that the curb candidate point belonging to the arbitrary layer is not the curb point.
[0020] For example, the method may further include a third error verification step, namely, determining that the curb candidate point is not the curb point when the absolute value of the difference in the vertical axis coordinates between the point in free space and the curb candidate point is less than a third threshold, and when the absolute value of the difference in the horizontal axis coordinates between the point in free space and the curb candidate point is less than a fourth threshold. A vehicle equipped with the LiDAR sensor can travel in a first direction parallel to the vertical axis, and a second direction parallel to the horizontal axis may intersect the first direction.
[0021] An apparatus for detecting curbs using a LiDAR sensor, according to another embodiment, may include: a road point selector configured to select road points from a point cloud acquired by the LiDAR sensor; and a curb candidate point detector configured to detect a plurality of consecutive points having a constant first slope in a first plane viewed from above and a second slope with a constant sign in a second plane viewed from the side as curb candidates among the road points, the curb candidates being candidates for curb points.
[0022] For example, the apparatus may further include a first error verifier configured to detect points other than the curb point from the curb candidate points based on the variance and average of the coordinates of the plurality of neighboring points when a plurality of neighboring points in a layer adjacent to the layer where the curb candidate point is located are non-road points, rather than the road points.
[0023] For example, the apparatus may further include a second error verifier configured to detect points other than the curb points from the curb candidates belonging to the arbitrary layer using a reference line segment formed by the curb candidate points belonging to any layer and a target line segment formed by the curb candidate points belonging to the layer adjacent to the arbitrary layer.
[0024] For example, the device may further include a third error verifier configured to determine that the curb candidate is not the curb point when the absolute value of the difference in the vertical axis coordinates between the point in free space and the curb candidate is less than a third threshold, and when the absolute value of the difference in the horizontal axis coordinates between the point in free space and the curb candidate is less than a fourth threshold. A vehicle equipped with the LiDAR sensor can travel in a first direction parallel to the vertical axis, and a second direction parallel to the horizontal axis may intersect the first direction.
[0025] According to another embodiment, a recording medium containing a program for performing a method of detecting curbs using a LiDAR sensor may store a program for: selecting road points from the point cloud acquired by the LiDAR sensor; and detecting a plurality of consecutive points having a constant first slope in a first plane viewed from above and a constant-signed second slope in a second plane viewed from the side as curb candidate points among the road points. The curb candidate points are candidates for curb points. The recording medium may be read by a computer system.
[0026] For example, the program may also implement: a first error verification function, i.e., when multiple adjacent points in a layer adjacent to the layer containing the curb candidate point are non-road points instead of the road point, detecting points other than the curb point from the curb candidate points based on the variance and average of the coordinates of the multiple adjacent points; a second error verification function, i.e., using a reference line segment formed by the curb candidate points belonging to any layer and a target line segment formed by the curb candidate points belonging to the layer adjacent to the arbitrary layer, detecting points other than the curb point from the curb candidate points belonging to the arbitrary layer; and a third error verification function, i.e., when the absolute value of the difference in the vertical axis coordinates between the point in free space and the curb candidate point is less than a third threshold, and when the absolute value of the difference in the horizontal axis coordinates between the point in free space and the curb candidate point is less than a fourth threshold, determining that the curb candidate point is not a curb point. A vehicle equipped with the LiDAR sensor can travel in a first direction parallel to the vertical axis, and a second direction parallel to the horizontal axis may intersect the first direction. Attached Figure Description
[0027] The accompanying drawings, which are included to provide a further understanding of embodiments of the invention and are incorporated in and constitute a part of this application, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention. In the drawings:
[0028] Figure 1 This is a flowchart illustrating the curb detection method according to an embodiment;
[0029] Figure 2 This is a schematic block diagram of a curb detection device according to an embodiment;
[0030] Figure 3 It is used for explanation Figure 1 A flowchart of an embodiment of step 120 shown;
[0031] Figure 4 It is used to help understand Figure 3 The view shown in step 220;
[0032] Figure 5 It is used for explanation Figure 3 A flowchart of an embodiment of step 220 is shown;
[0033] Figure 6 It is used for explanation Figure 3 A view of an embodiment of step 230 shown;
[0034] Figure 7 It is used to help understand Figure 6 The view shown is for step 230A;
[0035] Figure 8 It is used for explanation Figure 3 A view of an embodiment of step 240 shown;
[0036] Figure 9 and Figure 10 It is used to help understand Figure 8 The view shown is for step 240A;
[0037] Figure 11 It is used for explanation Figure 3 A view of an embodiment of step 250 shown;
[0038] Figure 12 (a) to Figure 12 (c) is for the purpose of helping to understand Figure 11 The view shown is for step 250A;
[0039] Figure 13 yes Figure 2 A block diagram of one embodiment of the curb detector is shown.
[0040] Figure 14 This is a flowchart illustrating an object tracking method according to an embodiment; and
[0041] Figure 15 (a) and Figure 15 (b) is a view showing the final curb point obtained by the curb detection method according to an embodiment. Detailed Implementation
[0042] The invention will now be described more fully with reference to the accompanying drawings, in which various embodiments are shown. However, these examples may be embodied in many different forms and should not be construed as limiting to the embodiments described herein. Rather, these embodiments are provided to make the invention more thorough and complete, and to more fully convey the scope of the invention to those skilled in the art.
[0043] It should be understood that when an element is referred to as being "on" or "below" another element, it may be directly on / below the element, or there may be one or more intermediate elements.
[0044] When an element is referred to as "on" or "below", it can be described as "below the element" or "on the element".
[0045] Furthermore, relational terms such as “first,” “second,” “upper / upper part / above,” and “lower / lower part / below” are used only to distinguish one object or element from another, and do not necessarily require or involve any physical or logical relationship or order between the objects or elements.
[0046] Hereinafter, a method 100 and an apparatus 1000 for detecting curbs using a LiDAR sensor, and a recording medium storing a program for performing the method 100, according to embodiments, will be described with reference to the accompanying drawings.
[0047] For ease of description, a Cartesian coordinate system (x-axis, y-axis, z-axis) will be used to describe the method 100 and apparatus 1000 for detecting curbs using a LiDAR sensor, as well as the recording medium storing a program for executing the method 100. However, other coordinate systems may also be used for description. In a Cartesian coordinate system, the x-axis, y-axis, and z-axis are perpendicular to each other, but the embodiments are not limited to this. That is, according to another embodiment, the x-axis, y-axis, and z-axis may intersect each other at an angle.
[0048] Figure 1 This is a flowchart illustrating the curb detection method 100 according to an embodiment, and Figure 2 This is a schematic block diagram of the curb detection device 1000 according to an embodiment.
[0049] Figure 1 The curb detection method 100 shown will be described as being by Figure 2 The curb detection device 1000 shown is used, but the embodiments are not limited to this.
[0050] The curb detection device 1000 may include a light detection and ranging (LiDAR) sensor 500 and a curb detector 600.
[0051] According to the curb detection method of embodiment 100, a point cloud generated by the LiDAR sensor 500 is first acquired (step 110). For example, the point cloud can be acquired by parsing the points acquired by the LiDAR sensor 500. Here, the points acquired by the LiDAR sensor 500 can be received in the form of Ethernet packets. In this case, "parsing" refers to the process of converting the packets into a point cloud with an easily processed point structure.
[0052] Multiple LiDAR sensors 500 may be provided, and the multiple LiDAR sensors 500 may be mounted at various locations on the vehicle (hereinafter referred to as the "main vehicle"). For example, the LiDAR sensors 500 may be located at various locations on the main vehicle, such as on the roof, front side, and rear side of the main vehicle. However, the embodiments are not limited to any particular location of the LiDAR sensors 500 in the main vehicle or any particular number of LiDAR sensors 500.
[0053] For example, the LiDAR sensor 500 can excite (or radiate or emit) a single circular laser pulse (or laser beam) with a wavelength of 905 nm to 1550 nm around the host vehicle and can measure the time taken for the laser pulse reflected from an object within the measurement range to return, thereby sensing information about the object, such as the distance from the LiDAR sensor 500 to the object, the object's orientation, the object's velocity, the object's temperature, the object's material distribution, and the object's concentration characteristics. Here, the object can be, for example, another vehicle (or adjacent vehicle), a person, or an obstacle (such as a wall) located outside the host vehicle equipped with the LiDAR sensor 500. To better understand the method 100 and apparatus 1000 for detecting curbs according to the embodiments, among the objects sensed by the LiDAR sensor 500, another vehicle (or adjacent vehicle), a person, or an obstacle (such as a wall) will be considered an object, but the road surface or curb will not be considered an object. The embodiments are not limited to any particular type of object.
[0054] After step 110, the curb detector 600 can detect points corresponding to the curb (hereinafter referred to as "curb points") from the point cloud provided by the LiDAR sensor 500, and can output the detection results to the output terminal OUT1 (step 120).
[0055] The following description will refer to the accompanying drawings. Figure 1 Example 120A of step 120 shown.
[0056] Figure 3 It is used for explanation Figure 1 The flowchart of embodiment 120A showing step 120.
[0057] First, points corresponding to the road surface (hereinafter referred to as "road points") are selected (or detected) from the point cloud acquired by the LiDAR sensor 500 in step 110 (step 210).
[0058] According to an embodiment, road points can be found by examining the entire point cloud acquired by the LiDAR sensor 500. For example, since the corresponding points in the point cloud have sample indices (e.g., 0, 1, ...) and layer indices (e.g., 0, 1, ..., 31), these indices can be used to perform step 210, but the embodiment is not limited thereto.
[0059] After step 210, candidate points for curb points (hereinafter referred to as "curb candidate points") are detected from the road points (step 220).
[0060] Due to the small height difference between the curb and the road surface, the curb can be classified as part of the road surface. Therefore, the following description will assume that curb candidate points are detected from road points, but the embodiments are not limited thereto. That is, according to another embodiment, if the road surface is accurately identified, the curb point may be included among the points associated with the object (hereinafter referred to as "object points") instead of the road points. In this case, curb candidate points can be detected from the object points instead of the road points.
[0061] Figure 4 It is used to help understand Figure 3 The view shown is for step 220.
[0062] Figure 4 The X-axis shown is an axis parallel to a first direction, which is the direction in which the main vehicle 10 equipped with the LiDAR sensor 500 travels, and is also referred to as the vertical axis. Figure 4 The Y-axis shown is an axis parallel to a second direction that intersects the first direction, and is also referred to as the horizontal axis. Figure 4 The Z-axis shown is an axis parallel to a third direction that intersects each of the first and second directions.
[0063] In the following text, such as Figure 4 As exemplarily shown, the plane formed by the X-axis and Y-axis will be referred to as "first plane PL1", and the plane formed by the X-axis and Z-axis will be referred to as "second-1st plane PL21". Although not shown, the plane formed by the Y-axis and Z-axis will be referred to as "second-2nd plane PL22". Furthermore, at least one of the second-1st plane PL21 or the second-2nd plane PL22 will be referred to as "second plane". The first plane PL1 may correspond to the plane when the main vehicle 10 is viewed from above, and the second plane PL2 may correspond to the plane when the main vehicle 10 is viewed from the side.
[0064] Reference Figure 4 It can be seen that the LiDAR scanning pattern of the curb differs from that of the road surface. Specifically, a sharp increase in height is observed in the curb compared to the road surface. This phenomenon can be used to detect curb candidate points from road points.
[0065] According to an embodiment, in road points, a plurality of consecutive points having a constant slope in a first plane PL1 and a slope with a constant sign in a second plane (e.g., PL21) are detected as curb candidate points (step 220).
[0066] In the following text, the slope of the line segment formed by two arbitrary points in the first plane PL1 will be referred to as the "first slope", and the slope of the line segment formed by two arbitrary points in the second plane PL2 (PL21 or PL22) will be referred to as the "second slope".
[0067] The state where the first slope is constant means that the difference between the slopes of line segments connecting multiple consecutive points in the first plane is within a predetermined range of permissible values. The state where the second slope has a constant sign means that the second slope does not have alternating negative (-) and positive (+) signs, but only one of negative (-) and positive (+) signs in the second plane.
[0068] According to this embodiment, unlike road points, multiple consecutive points can be detected as curb candidate points, wherein the first slope of the multiple consecutive points is constant and the second slope of the multiple consecutive points has a constant sign.
[0069] The following description will refer to the accompanying drawings. Figure 3 An embodiment of step 220 is shown.
[0070] Figure 5 It is used for explanation Figure 3 The flowchart of embodiment 220A of step 220 is shown.
[0071] After step 210, find multiple consecutive current points from the road points that have a height H equal to or less than the threshold height THH and a first interval distance D1 from them to the previous point that is less than the first threshold distance THD1 (i.e., shorter than the first threshold distance THD1), and store the coordinates of the current points (steps 302 to 310).
[0072] In each layer, sample points are selected sequentially from the road points according to the order of the sample index (step 302). "Current point" is the sample point currently selected in step 302, and "previous point" is the sample point selected in step 302 at a time point before the current point was selected in step 302.
[0073] The LiDAR sensor 500 acquires points by emitting lasers while rotating 360° and receiving the laser light reflected back from an object. Here, "sample index" is the index assigned to the points according to the order in which the points are acquired, and "sample index order" is the order in which the indices are assigned.
[0074] Following step 302, it is determined whether the height H of the selected sampling point is equal to or less than the threshold height THH (step 304). Here, the height H of the sampling point is the length in the Z-axis direction that can be obtained using the Z-axis coordinate of the sampling point. For example, the threshold height THH can be from 0.2m to 0.7m, and is preferably 0.5m. However, the embodiments are not limited to any specific value of the threshold height THH. For example, the threshold height THH can be equal to or greater than the height of the curb of the road on which the method 100 and apparatus 1000 for detecting curbs according to the embodiments are to be used (or the height of the curb as specified in traffic regulations).
[0075] If the height H of the current point is equal to or less than the threshold height THH, determine whether there is a previous point (step 306).
[0076] If no previous point exists, store the coordinates of the currently selected sample point (i.e., the current point) (step 310).
[0077] On the other hand, when a previous point exists, it is determined whether the first interval distance D1 between the current point and the previous point is shorter than a first threshold distance THD1 (step 308). Here, the first threshold distance THD1 can be a variable that varies depending on the coordinates or "rho" or distance of the current point (or previous point), or it can be a constant. The term "rho" refers to the radius of a circle in polar coordinates. When the main vehicle is the center of a circle in a two-dimensional plane, the rho value of a point is the straight-line distance between the point and the center of the circle formed by orthogonally projecting the corresponding point onto the two-dimensional plane, i.e., the radius of the circle. When the first interval distance D1 is shorter than the first threshold distance THD1, the coordinates of the current point, which is the currently selected sample point, are stored (step 310). For example, in step 310, the coordinates can be stored in a memory called an "array" (not shown).
[0078] However, when the height H of the current point is not equal to or less than the threshold height THH in step 304, or when the first interval distance D1 is not less than the first threshold distance THD1 in step 308, the coordinates stored in the array can be initialized and deleted (step 324). After step 324, the process proceeds to step 302 to select the next point from the road points as the sample point. Thereafter, steps 302 to 310 can be repeated.
[0079] After step 310, determine whether the number of current points with coordinates stored in the array is "I" (step 312). Here, "I" is the sample size and can be a positive integer of 2 or greater.
[0080] For example, whenever the coordinates of a sample point are stored in the array in step 310, the sample count can be incremented by "1", and step 312 can be executed to determine whether the value of the sample count is "1".
[0081] The following description of the embodiments will assume that "I" is 4, unless otherwise stated. However, the following description may also apply to cases where "I" is another value (e.g., 8).
[0082] When the number of sample points with coordinates stored in the array is “I”, “I” sample points with coordinates stored in the array can be identified as “multiple consecutive current points found”, and the process proceeds to step 314.
[0083] Subsequently, it is determined whether the first slope formed by the multiple (i.e., "I") consecutive current points found in steps 302 to 312 is constant (steps 314 and 316).
[0084] From the “I” consecutive current points discovered by performing steps 302 to 312, select points that are spaced apart by a constant interval Δ (step 314). The points selected in step 314 are not physically spaced apart, but rather indicate the index interval formed by increasing the index of the sample points with stored coordinates to the constant interval Δ.
[0085] For example, when the eight (“I” = 8) consecutive sampling points with coordinates stored in the array found by performing steps 302 to 312 are the zeroth to the seventh current points, if the constant interval Δ is “1”, then the zeroth to the seventh current points can be selected in step 314. If the constant interval Δ is “2”, then the zeroth, second, fourth, and sixth current points, or the first, third, fifth, and seventh current points, can be selected in step 314. If the constant interval Δ is “3”, then the zeroth, third, and sixth current points, or the first, fourth, and seventh current points, can be selected in step 314. The number of current points existing between adjacent points among the current points selected in step 314 can be calculated using Equation 1 below.
[0086] Equation 1 Δ-1
[0087] Next, it is determined whether the first slope formed by the points selected in step 314 is constant (step 316). That is, it can be determined whether the difference between the slopes of the line segments connecting the points selected in step 314 is within a predetermined range of allowable values.
[0088] In the following text, the slope of the line segment connecting adjacent points among the points selected in step 314 will be referred to as the "adjacent slope," and the slope of the line segment connecting non-adjacent points among the points selected in step 314 will be referred to as the "non-adjacent slope." To determine whether the first slope is constant, it can be determined whether at least one of the differences between adjacent slopes, the differences between non-adjacent slopes, or the differences between all slopes including adjacent and non-adjacent slopes is within a predetermined range of permissible values (step 316).
[0089] For example, when "I" is eight ("I" = 8), "Δ" is two ("Δ" = 2), and the zeroth, second, fourth, and sixth current points are selected in step 314, the zeroth and second current points are adjacent, the second and fourth current points are adjacent, and the fourth and sixth current points are adjacent. Furthermore, in this case, the zeroth current point and either the fourth or sixth current point are not adjacent, and the second and sixth current points are not adjacent. Therefore, the adjacent slope refers to the slope 02 of the line segment connecting the zeroth and second current points, the slope 24 of the line segment connecting the second and fourth current points, and the slope 46 of the line segment connecting the fourth and sixth current points. Moreover, the non-adjacent slope refers to the slope 04 of the line segment connecting the zeroth and fourth current points, the slope 06 of the line segment connecting the zeroth and sixth current points, and the slope 26 of the line segment connecting the second and sixth current points.
[0090] According to one embodiment, it can be determined whether the difference between slopes 02, 24 and 46, which are adjacent slopes, is within a predetermined range of permissible values (step 316).
[0091] According to another embodiment, it can be determined whether the difference between slope 04, slope 06 and slope 26, which are non-adjacent slopes, is within a predetermined range of allowable values (step 316).
[0092] According to yet another embodiment, it can be determined whether the difference between slope 02, slope 24, slope 46, slope 04, slope 06 and slope 26, which are adjacent and non-adjacent slopes, is within a predetermined range of allowable values (step 316).
[0093] In the various embodiments described above in conjunction with step 316, it can be determined that the first slope is not constant when the difference between the slopes is not within a predetermined range of permissible values.
[0094] When the first slope is not constant, the process proceeds to step 324 to initialize the coordinates stored in the array, and then proceeds to step 302 (step 324).
[0095] On the other hand, when the first slope is constant, the process proceeds to step 318.
[0096] For example, the first slope can be represented based on the X-axis using Equation 2 below.
[0097]
[0098] Here, “slopeXYAngle[i]” represents the first slope between the i-th point and the (i+jΔ)-th point in the first plane PL1 based on the X-axis among the multiple consecutive current points found, 0≤i≤i-1, “x[i]” represents the X-axis coordinate of the i-th point, “y[i]” represents the Y-axis coordinate of the i-th point, “x[i+jΔ]” represents the X-axis coordinate of the (i+jΔ)-th point, “y[i+jΔ]” represents the Y-axis coordinate of the (i+jΔ)-th point, and “j” can be represented by Equation 3 below.
[0099]
[0100] For example, when j is 1, “slopeXYAngle[i]” in Equation 2 represents the first slope between the i-th point and the (i+Δ)-th point in the first plane PL1 based on the X-axis. When j is 2, “slopeXYAngle[i]” represents the first slope between the i-th point and the (i+2)-th point in the first plane PL1 based on the X-axis. When j is 3, “slopeXYAngle[i]” represents the first slope between the i-th point and the (i+3)-th point in the first plane PL1 based on the X-axis.
[0101] Subsequently, when the first slope represented in Equation 2 satisfies the condition shown in Equation 4 below, it can be determined that the first slope is constant.
[0102] Equation 4
[0103] |SlopeXYAngle[i]-SlopeXYAngle[i+Δ]|<SDTH
[0104] Here, “slopeXYAngle[i+Δ]” represents the first slope between the i+Δth point and the i+(j+1)Δth point among multiple consecutive current points found in the first plane, and “SDTH” represents the threshold slope value.
[0105] On the other hand, when the first slope represented in Equation 2 does not satisfy the condition shown in Equation 4, the process proceeds to step 324 to initialize the coordinates stored in the array, and proceeds to step 302 (step 324).
[0106] When the first slope is constant, determine whether the sign of the second slope is constant (steps 318 to 320).
[0107] For example, when the first slope is constant relative to all “i”, if SlopeXYAngle[i] (where i = 0, Δ, ..., and I-2Δ) is equal to or less than the first threshold angle SlopeXYTH, then the second slope can be represented based on the X-axis using Equation 5 below (step 318).
[0108] Equation 5
[0109]
[0110] Here, “SlopeXZAngle[i]” represents the second slope between the i-th point and the i+Δ-th point in the (2-1)-th plane PL21 based on the X-axis among the multiple consecutive current points found, “z[i]” represents the Z-axis coordinate of the i-th point, “Z[i+Δ]” represents the Z-axis coordinate of the i+Δ-th point, and “x[i+Δ]” represents the X-axis coordinate of the i+Δ-th point.
[0111] After step 318, it is determined whether the sign of the second slope SlopeXZAngle[i] (where i = 0, Δ, ..., and I-2Δ) in Equation 5 is constant (step 320). When it is determined that the sign of the second slope SlopeXZAngle[i] is constant, the process proceeds to step 322. Because it is necessary to check adjacent and non-adjacent slopes to determine whether the first slope is constant, the variable "j" is used, as shown in Equations 2 and 3. On the other hand, because it is not necessary to check non-adjacent slopes to determine whether the sign of the second slope is constant, the variable "j" is not used.
[0112] When the sign of the second slope SlopeXZAngle[i] is constant, multiple (in) will be discovered by performing steps 302 to 312. Figure 5 In the case of “I” consecutive current points, the road edge candidate points are determined (step 322).
[0113] Alternatively, with Figure 5 The situation is different. When the sign of the second slope SlopeXZAngle[i] is determined to be constant, it is determined whether the second slope SlopeXZAngle[i] satisfies the condition shown in Equation 6 below. When the second slope SlopeXZAngle[i] satisfies the condition shown in Equation 6 below, the process proceeds to step 322.
[0114] Equation 6
[0115] SlopeXZTH1≤|SlopeXZAngle[i]|≤SlopeXZTH2, or180°-SlopeXZTH2≤|SlopeXZAngle[i]|≤180°-SlopeXZTH1
[0116] Here, “SlopeXZTH1” represents the second threshold angle, and “SlopeXZTH2” represents the third threshold angle.
[0117] When the second slope SlopeXZAngle[i] satisfies the conditions shown in Equation 6 above, multiple (in) will be discovered by executing steps 302 to 312. Figure 5 In the case of “I” consecutive current points, the road edge candidate points are determined (step 322). On the other hand, when the second slope SlopeXZAngle[i] has a constant sign but does not satisfy the condition shown in Equation 6 above, the coordinates stored in the array are initialized (step 324).
[0118] Alternatively, when the first slope is constant relative to all “i”, if the first slope SlopeXYAngle[i] satisfies the condition shown in Equation 7 below, then the second slope can be represented based on the Y-axis using Equation 8 below (step 318).
[0119] Equation 7
[0120] 90°-SlopeXYTH<SlopeXYAngle[i]<90°+SlopeXYTH
[0121] Equation 8
[0122]
[0123] Here, “SlopeYZAngle[i]” represents the second slope between the i-th point and the i+Δ-th point among multiple consecutive current points found in the 2-2 plane PL22, and “y[i+Δ]” represents the Y-axis coordinate of the i+Δ-th point.
[0124] Determine whether the sign of the second slope SlopeYZAngle[i] (where i = 0, Δ, ..., and I-2Δ) in Equation 8 is constant (step 320). When it is determined that the sign of the second slope SlopeYZAngle[i] is constant, the process proceeds to step 322. When the second slope SlopeXZAngle[i] has a constant sign, the multiple signs found by performing steps 302 to 312 (in...) Figure 5 In the case of “I” consecutive current points, the road edge candidate points are determined (step 322).
[0125] Alternatively, with Figure 5 The situation is different. When it is determined that the sign of the second slope SlopeYZAngle[i] is constant, it is determined whether the second slope SlopeYZAngle[i] satisfies the condition shown in Equation 9 below. When the second slope SlopeYZAngle[i] satisfies the condition shown in Equation 9 below, the process proceeds to step 322.
[0126] Equation 9
[0127] SlopeYZTH1≤|SlopeYZAngle[i]|≤SlopeYZTH2, or180°-SlopeYZTH2≤|SlopeYZAngle[i]|≤180°-SlopeYZTH1
[0128] Here, “SlopeYZTH1” represents the fourth threshold angle in the second-to-second plane PL22, and “SlopeYZTH2” represents the fifth threshold angle in the second-to-second plane PL22.
[0129] When the second slope SlopeYZAngle[i] satisfies the conditions shown in Equation 9 above, multiple (in) discovered by executing steps 302 to 312 will be found. Figure 5 In the case of “I” consecutive current points, the road edge candidate points are determined (step 322). On the other hand, when the second slope SlopeYZAngle[i] has a constant sign but does not satisfy the condition shown in Equation 9 above, the coordinates stored in the array are initialized (step 324).
[0130] According to the embodiment, when the first slope is constant relative to all "i", if SlopeXYAngle[i] (where i = 0, Δ, ..., and I-2Δ) is equal to or less than the first threshold angle SlopeXYTH, then the flag can be assigned the value "1". Furthermore, when the first slope is constant relative to all "i", if the first slope SlopeXYAngle[i] (where i = 0, Δ, ..., and I-2Δ) satisfies the condition shown in Equation 7 above, then the flag can be assigned the value "2".
[0131] Subsequently, when the flag is "1", Equation 5 can be used to obtain the second slope, and when the flag is "2", Equation 8 can be used to obtain the second slope.
[0132] However, when the first slope is constant relative to all “i”, if the first slope SlopeXYAngle[i] is not equal to or less than the first threshold angle SlopeXYTH, and if the first SlopeXZAngle[i] does not satisfy the condition shown in Equation 7, the process proceeds to step 324 to initialize the coordinates stored in the array (step 324).
[0133] Refer again Figure 3 As described above, points other than curb points (hereinafter referred to as "non-curb points") can be detected from the curb candidate points detected in step 220 (steps 230, 240 and 250).
[0134] The steps for detecting non-curb points from curb candidate points (hereinafter referred to as the "error verification steps") will be described below with reference to the accompanying drawings.
[0135] After step 220, when multiple points (hereinafter referred to as "neighboring points") in a layer (hereinafter referred to as "adjacent layer") adjacent to the layer in which curb candidate points are located are object points (e.g., points associated with another vehicle or wall) rather than road points (hereinafter referred to as "non-road points"), a first error verification step may be performed to verify (or detect) whether the curb candidate point is a non-curb point based on the variance and mean of the coordinates of the multiple neighboring points (step 230).
[0136] According to this embodiment, when performing the first error verification step, the azimuth angle may be considered. Here, the azimuth angle is the angular position of a point measured clockwise along a circle centered on the main vehicle. When considering the azimuth angle, if multiple points located near the azimuth angle of a candidate curb point among adjacent points are non-road points, the first error verification step may be performed to determine the candidate curb point as a non-curb point based on the variance and average of the coordinates of the multiple non-road points (step 230).
[0137] Thus, the first error verification step is used to eliminate curb candidate points detected in association with objects other than the road surface. Road points can be detected from points associated with objects (e.g., another vehicle or wall), and correspondingly, curb candidate points can be detected from the objects. Therefore, the first error verification step can be performed to eliminate erroneously detected points.
[0138] Figure 6 It is used for explanation Figure 3 A view of embodiment 230A showing step 230.
[0139] Figure 7 It is used to help understand Figure 6 The view shown is for step 230A. Figure 7 This shows neighboring points NP located in the adjacent layer NL and curb candidate points located in the candidate layer CL. Multiple (e.g., "I") neighboring points NP can be selected, which is consistent with... Figure 7The difference is shown. That is, according to the application example of this embodiment, "I" points located sequentially from the front of the adjacent layer NL, "I" points located sequentially from the back of the adjacent layer NL, or "I" points located in the middle of the adjacent layer NL can be selected as adjacent points NP.
[0140] Figure 6 Step 230A shown can be performed on curb candidate points (hereinafter referred to as "horizontal candidate points") whose slope is closer to the Y-axis (or horizontal axis) than the X-axis (or vertical axis), and can also be performed on curb candidate points (hereinafter referred to as "vertical candidate points") whose slope is closer to the X-axis than the Y-axis. Therefore, Figure 6 Step 230A shown corresponds to the first-1 error verification step of determining whether a vertical candidate point is a non-curb point rather than a curb point, and may also correspond to the first-2 error verification step of determining whether a horizontal candidate point is a non-curb point rather than a curb point.
[0141] Following step 220, it is determined whether multiple adjacent points are non-road points (step 342). For example, refer to... Figure 7 It can be determined whether the adjacent point NP in the adjacent layer NL that is adjacent to the candidate layer CL in which the curb candidate point CP1 is located is a non-road point (step 342).
[0142] According to an embodiment, the adjacent layer where adjacent points are located can be a layer with the same azimuth angle as the candidate layer where curb candidate points are located, but the embodiment is not limited to this.
[0143] when Figure 6 When step 230A is the first or second error verification step, it can be determined in step 342 that the [(SIdx+i)*N+ALIdx]th point is a non-road point, not a road point. Here, "SIdx" represents the sample index of the curb candidate point. The sample index is generated when the points in a layer are stored in the form of array A (A[0],A[1],...,A[M]). That is, in array A, "[0],[1],...,[M]" corresponds to the sample index. Here, "i" can be a positive or negative number, can be greater than "I-1", and can be set differently depending on the application example of the embodiment. For example, 0≤i≤I-1. "N" represents the total number of layers, and "ALIdx" represents the index of the adjacent layer with the same azimuth angle as the candidate layer, or represents the index of the adjacent layer without the same azimuth angle as the candidate layer.
[0144] When multiple adjacent points are determined not to be non-road points, the curb candidate point is no longer verified as a non-curb point in each of the first-1 and first-2 error verification steps.
[0145] On the other hand, when multiple neighboring points are non-road points, the coordinates of multiple neighboring points are collected, and the average and variance of the collected coordinates are obtained (step 344). Here, the number of neighboring points collected may be equal to or different from the number of curb candidate points I.
[0146] For example, when Figure 7 When the adjacent point NP shown is a non-road point, the coordinates of the four adjacent points NP can be collected, and the variance and mean of the collected coordinates can be obtained.
[0147] when Figure 6 When step 230A is the first or second error verification step, the average and variance of the X-axis and Y-axis coordinates of multiple adjacent points collected can be used to perform the first or second error verification.
[0148] According to one embodiment, when Figure 6 Step 230A, as shown, is the first error verification step, where the variance of the Y-axis coordinates of multiple neighboring points (e.g., NP) and the average of the Y-axis coordinates of multiple neighboring points (e.g., NP) are obtained (step 344). However, when Figure 6 Step 230A shown is the first and second error verification steps, in which the variance of the X-axis coordinates of multiple neighboring points (e.g., NP) and the average of the X-axis coordinates of multiple neighboring points (e.g., NP) are obtained (step 344).
[0149] According to another embodiment, when Figure 6 When step 230A is the first or second error verification step, weights can be assigned to the X-axis and Y-axis coordinates to obtain their variance and mean.
[0150] In other words, when the angle formed by consecutive curb candidate points with the X-axis or Y-axis is 0 degrees, the average and variance can be obtained using only the Y-axis coordinates or X-axis coordinates of adjacent points. However, when the angle formed by consecutive curb candidate points with the X-axis or Y-axis is not 0 degrees, the average and variance can be obtained by weighting the product of the Y-axis coordinate multiplied by weight W1 and the X-axis coordinate multiplied by weight W2, as shown in Equation 10 below.
[0151] Equation 10W1×Y-axis coordinate + W2×X-axis coordinate
[0152] Here, each of the weights W1 and W2 has a value ranging from 0 to 1.
[0153] For example, when the angle formed by the continuous curb candidate points and the X-axis is 30 degrees, in Equation 10, W1 can be determined to be 2 / 3 and W2 can be determined to be 1 / 3.
[0154] After step 344, the variance σ can be determined.2 Is it less than a threshold variance THσ (step 346)? For example, the threshold variance THσ can be 0.1m to 0.2m, and is preferably 0.15m. However, the embodiments are not limited thereto.
[0155] The threshold variance THσ in the first-1 error validation step and the threshold variance THσ in the first-2 error validation step can be set to be different from each other, or they can be set to be equal to each other.
[0156] Alternatively, similar to Equation 10 above, where the weights depend on the angle formed by the continuous curb candidate points and the X-axis or Y-axis, the threshold variance THσ can also be weighted and can vary depending on the angle.
[0157] When the variance σ 2 When the variance is less than the threshold variance THσ, as shown in Equation 11 below, determine whether the first absolute value is less than the threshold average value THa (step 348).
[0158] Equation 11 |AV-P|<THa
[0159] Here, "|AV-P|" represents the first absolute value, "AV" represents the average value obtained in step 344, and "P" represents the coordinates of the curb candidate point.
[0160] when Figure 6 Step 230A shown is the first error verification step, where P represents the Y-axis coordinate of the vertical candidate point. When Figure 6 When step 230A is the first or second error verification step, P represents the X-axis coordinate of the horizontal candidate point. Alternatively, similar to Equation 10 above, where the weight depends on the angle formed by the consecutive curb candidate points and the X-axis or Y-axis, "P" in Equation 11 can be the coordinate of the weighted sum of the products of the X-axis coordinate and the Y-axis coordinate multiplied by the weight.
[0161] For example, the threshold average value THa can be from 0.1m to 0.2m, and is preferably 0.15m. However, the embodiments are not limited thereto.
[0162] The threshold average THa in the first error verification step and the threshold average THa in the first error verification step can be set to be different from each other, or they can be set to be equal to each other.
[0163] Alternatively, similar to Equation 10 above, where the weights depend on the angle formed by the continuous curb candidate points and the X-axis or Y-axis, the threshold average value THa can also be weighted and can vary depending on the angle.
[0164] When the first absolute value in Equation 11 is less than the threshold average value THa, the curb candidate point (i.e., the vertical candidate point or the horizontal candidate point) is determined as a non-curb point, rather than a curb point (step 350). For example, by performing the first error verification step, the curb candidate point can be determined as a non-curb point. Figure 7 The candidate curb points shown are determined to be non-curb points (NCPs).
[0165] On the other hand, when variance σ 2 If the first absolute value is not less than the threshold variance THσ, or if the first absolute value is not less than the threshold average value THa, then the candidate edge point is no longer verified as a non-edge point in each of the first-1 and first-2 error verification steps.
[0166] Despite Figure 6 The illustration shows that step 348 is performed after step 346, but the embodiment is not limited thereto. That is, according to another embodiment, with Figure 6 The difference shown is that step 346 can be executed after step 348, or steps 346 and 348 can be executed simultaneously.
[0167] Therefore, in the first error verification step, when the variance σ of the coordinates of a certain number of neighboring points (e.g., as many as the sample size I) 2 When the variance is less than the threshold variance THσ, it means that the neighboring points belong to flat objects (such as vehicles or walls), and when the first absolute value of the difference between the average coordinates of the neighboring points and the coordinates of the curb candidate point is less than the threshold average value THa, it means that the curb candidate point is closely associated with the object (such as a wall or vehicle). Therefore, non-curb points associated with the object (such as another vehicle or wall) can be considered to have been incorrectly detected as curb candidates (step 350).
[0168] Refer again Figure 3 After step 230, using the reference line segment RL formed by curb candidate points belonging to any layer (hereinafter referred to as "any candidate layer") and the target line segment TL formed by curb candidate points belonging to the layer adjacent to the arbitrary candidate layer (hereinafter referred to as "adjacent candidate layer"), a second error verification step can be performed to detect non-curb points from the curb candidate points belonging to the arbitrary candidate layer, instead of curb points (step 240).
[0169] Thus, in the second error verification step, curb candidate points that are not detected simultaneously in multiple layers are treated as non-curb points and removed.
[0170] Similar to the first error verification step, the second error verification step can also be performed on each of the vertical and horizontal candidate points.
[0171] Figure 8 It is used for explanation Figure 3 A view of embodiment 240A showing step 240.
[0172] Figure 9 and Figure 10 It is used to help understand Figure 8 The view shown is for step 240A.
[0173] Following step 230, a reference start point RSP and a reference end point REP for forming a reference line segment RL are selected from the curb candidate points belonging to any candidate layer (step 362). For example, the first discovered curb candidate point in any candidate layer can be selected as the reference start point RSP, and a point with an index obtained by adding the value represented in Equation 12 below to the index obtained when selecting the reference start point can be selected as the reference end point representative.
[0174] Equation 12 I-1
[0175] After step 362, it is determined whether the reference start point RSP and the reference end point REP are located in the same layer (step 364). This can be done by checking the layer index. That is, it can be determined whether the layer index of the reference start point RSP and the layer index of the reference end point REP are the same as each other.
[0176] When the reference start point RSP and the reference end point REP are in the same layer, the length of the reference line segment RL formed by interconnecting the reference start point RSP and the reference end point REP is obtained using the following equation 13 (step 366).
[0177]
[0178] Here, "L" represents the length of the reference line segment RL, "REP[x]" represents the X-axis coordinate of the reference endpoint REP, "REP[y]" represents the Y-axis coordinate of the reference endpoint REP, "RSP[x]" represents the X-axis coordinate of the reference starting point RSP, and "RSP[y]" represents the Y-axis coordinate of the reference starting point RSP.
[0179] According to another embodiment, with Figure 8 The difference shown can be that step 364 is executed after step 366. In this case, step 366 is executed after step 362, step 364 is executed after step 366, and step 368 is executed when the reference start point RSP and the reference end point REP are in the same layer.
[0180] After step 366, it is determined whether the length L of the reference line segment RL is shorter than the threshold length THL (step 368). For example, the threshold length THL can be 1m to 3m, and preferably 2m. However, the embodiments are not limited to this.
[0181] When the reference start point RSP and the reference end point REP are not on the same layer, or when the length L of the reference line segment RL is not shorter than the threshold length THL, the process proceeds to step 362 to reselect the reference start point RSP and the reference end point REP (step 362), and steps 364 to 368 are repeated.
[0182] On the other hand, when the reference start point RSP and the reference end point REP are located in the same layer and when the length L of the reference line segment RL is shorter than the threshold length THL, the coefficients a, b, and c of the linear equation of the reference line segment RL formed by interconnecting the reference start point RSP and the reference end point REP are obtained (step 370). The linear equation of the reference line segment RL can be expressed using the following equation 14.
[0183] Equation 14 ax + by + c = 0
[0184] Despite Figure 8 The illustration shows steps 366 and 368 being performed after step 364, but the embodiment is not limited thereto. That is, according to another embodiment, with Figure 8 The difference is that step 364 can be executed after steps 366 and 368, or steps 366 and 368 can be executed simultaneously with step 364.
[0185] Following step 370, a target start point (TSP) and a target end point (TEP) are selected to form the target line segment TL (step 372). For example, curb candidate points can be found in adjacent candidate layers with a layer index that is "1" larger or smaller than the index of any candidate layer, and the first found curb candidate point can be selected as the target start point (TSP). Furthermore, among the curb candidate points existing in the same layer as the target start point (TSP), points located within a second threshold distance (THD2) from the target start point (TSP) can be selected as the target end point (TEP). For example, the second threshold distance (THD2) can be 1m to 3m, and preferably 2m. However, the embodiments are not limited to this.
[0186] Following step 372, among the curb candidate points belonging to adjacent candidate layers, the second interval distance between the reference line segment RL and the target start point TSP is obtained using the coordinates of the target start point TSP used to form the target line segment TL, along with coefficients a, b, and c (step 374). For example, the second interval distance D2 can be obtained using the following equation 15.
[0187]
[0188] Here, "x1" and "y1" represent the X-axis coordinate and Y-axis coordinate of the target starting point TSP, respectively.
[0189] For example, after step 374, a target line segment TL that interconnects the target start point TSP and the target end point TEP can be formed (step 376).
[0190] After step 376, the reference slope RS of the reference line segment RL, the target slope TS of the target line segment TL, the third interval distance D3 between the reference starting point RSP and the target starting point TSP, and the third slope S3 of the line segment (or straight line) that connects the target starting point TSP and the reference ending point REP are obtained (step 378).
[0191] For example, the reference slope RS can be obtained using Equation 16 below, the target slope TS can be obtained using Equation 17 below, the third interval distance D3 can be obtained using Equation 18 below, and the third slope S3 can be obtained using Equation 19 below.
[0192]
[0193]
[0194] Here, “TEP[x]” represents the X-axis coordinate of the target endpoint TEP, “TEP[y]” represents the Y-axis coordinate of the target endpoint TEP, “TSP[X]” represents the X-axis coordinate of the target starting point TSP, and “TSP[y]” represents the Y-axis coordinate of the target starting point TSP.
[0195]
[0196]
[0197] After step 378, non-edge points are found from edge candidate points belonging to any candidate layer using at least one of the reference slope RS, target slope TS, second interval distance D2 and third interval distance D3, or third slope S3 (steps 380 to 390).
[0198] Use Equation 20 below to determine whether the second absolute value of the difference between the reference slope RS and the target slope TS is less than the first threshold TH1 (step 380).
[0199] Equation 20 |RS-TS|<TH1
[0200] Here, "|RS-TS|" represents the second absolute value. For example, the first threshold TH1 can be from 1° to 10°, and is preferably 5°. However, the embodiments are not limited to this.
[0201] When the second absolute value in Equation 20 is less than the first threshold TH1, it is determined whether the second interval distance D2 is shorter than the third threshold distance THD3 (step 382). For example, the third threshold distance THD3 may be greater than 0m and less than 5m, and may preferably be 1m. However, the embodiments are not limited to this.
[0202] When the second interval distance D2 is shorter than the third threshold distance THD3, determine whether the third interval distance D3 is shorter than the fourth threshold distance THD4 (step 384). For example, the fourth threshold distance THD4 can be 5m to 15m, and preferably 10m. However, the embodiments are not limited to this.
[0203] When the third interval distance D3 is shorter than the fourth threshold distance THD4, use the following equation 21 to determine whether the third absolute value of the difference between the reference slope RS and the third slope S3 is less than the second threshold TH2 (step 386).
[0204] Equation 21 |RS-S3|<TH2
[0205] Here, "|RS-S3|" represents the third absolute value. For example, the second threshold TH2 can be from 1° to 10°, and is preferably 5°. However, the embodiments are not limited to this.
[0206] When the third absolute value is less than the second threshold TH2, it is uncertain whether a candidate point belonging to any candidate layer is a non-curb point. That is, when the second absolute value is less than the first threshold TH1, when the second interval distance D2 is shorter than the third threshold distance THD3, when the third interval distance D3 is shorter than the fourth threshold distance THD4, and when the third absolute value is less than the second threshold TH2, it is uncertain whether a candidate point belonging to any candidate layer is a non-curb point, and the process proceeds to step 250.
[0207] However, when the second absolute value is equal to or greater than the first threshold TH1, when the second interval distance D2 is equal to or greater than the third threshold distance THD3, when the third interval distance D3 is equal to or greater than the fourth threshold distance THD4, or when the third absolute value is equal to or greater than the second threshold TH2, it is determined whether both the target start point TSP and the target end point TEP have been selected in the adjacent candidate layers (step 388). When neither the target start point TSP nor the target end point TEP has been selected in the adjacent candidate layers, the process proceeds to step 372 to reselect the target start point TSP and the target end point TEP.
[0208] However, when both the target start point (TSP) and the target end point (TEP) have been selected in the adjacent candidate layers, the curb candidate point belonging to any candidate layer is determined to be a non-curb point (step 390).
[0209] Figure 8Steps 380 to 390 shown can be performed an equal number of times as the sample size “I”.
[0210] refer to Figure 10 As can be seen, by performing the second error verification step described above, non-curb points 20 were eliminated from the curb candidate points.
[0211] Refer again Figure 3 The illustration shows that the second error verification step (step 240) is performed after the first error verification step (step 230), but the embodiment is not limited thereto. That is, according to another embodiment, the first error verification step (step 230) may be performed after the second error verification step (step 240), or the first error verification step (step 230) and the second error verification step (step 240) may be performed simultaneously.
[0212] After performing the first error verification step (step 230) and the second error verification step (step 240), a third error verification step is performed to use the point FSP located in free space to finally determine the point that remains a curb point after eliminating non-curb points from the curb candidate points (step 250). Here, the point FSP located in free space refers to the point in the location where the first non-line-of-sight (NLOS) is generated.
[0213] For example, point FSPs can be detected by performing clustering. Alternatively, according to the application example of this embodiment, point FSPs can be detected independently of clustering.
[0214] In this way, in the third error verification step, when a curb candidate point is close to an NLOS point, the curb candidate point is considered a non-curb point associated with an object (such as another vehicle or a wall) and is eliminated.
[0215] Figure 11 It is used for explanation Figure 3 A view of embodiment 250A showing step 250.
[0216] Figure 12 (a) to Figure 12 (c) is for the purpose of helping to understand Figure 11 The view shown is for step 250A.
[0217] After step 240, use the following equation 22 to determine in Figure 12 (a) shows the X-axis coordinates of the point FSP in free space (FSPx) and the X-axis coordinates of the curb candidate point (x). i Is the absolute value of the difference less than the third threshold TH3 (step 392)?
[0218] Equation 22 |FSPx-x i |<TH3
[0219] When the absolute value of the coordinate difference in Equation 22 is less than the third threshold TH3, Equation 23 below is used to determine the Y-axis coordinates FSPy of the point FSP in free space and the Y-axis coordinates y of the curb candidate point. i Is the absolute value of the difference less than the fourth threshold TH4 (step 394)?
[0220] Equation 23 |FSPy-y i |<TH4
[0221] The third threshold TH3 and the fourth threshold TH4 may be equal to or different from each other. For example, each of the third threshold TH3 and the fourth threshold TH4 may be greater than 0 and less than 0.2m, and may preferably be 0.1m.
[0222] When the absolute value of the coordinate difference in Equation 23 is less than the fourth threshold TH4, the curb candidate point is determined as a non-curb point (step 396). When the absolute value of each of the X-axis coordinate difference and the Y-axis coordinate difference between the point FSP in free space and the curb candidate point is less than, for example, 0.1m (i.e., when the curb candidate point is within 0.1m of the non-curb point), the curb candidate point is determined as a non-curb point and is eliminated.
[0223] Reference Figure 12 (b) and Figure 12 (c) It can be seen that by performing the third error verification step described above, non-curb points 30 were eliminated from the curb candidate points.
[0224] On the other hand, when the absolute value of the coordinate difference in Equation 22 is equal to or greater than the third threshold TH3, or when the absolute value of the coordinate difference in Equation 23 is equal to or greater than the fourth threshold TH4, the candidate curb point is finally determined as the curb point (step 398).
[0225] Simultaneously, the recording medium stores a program for executing method 100 for detecting curbs using a LiDAR sensor. This program enables the selection of road points from a point cloud acquired by the LiDAR sensor and the detection of multiple consecutive points having a constant first slope in a first plane viewed from above and a constant-signed second slope in a second plane viewed from the side as curb candidate points (which are candidates for curb points). The recording medium is readable by a computer system.
[0226] Furthermore, the program for performing the method for detecting curbs may also implement at least one of the following: a first error verification function, i.e., when multiple neighboring points in a layer adjacent to the layer in which curb candidate points are located are non-road points rather than road points, detecting points other than curb points from curb candidate points based on the variance and average of the coordinates of the multiple neighboring points; a second error verification function, i.e., using a reference line segment formed by curb candidate points belonging to any layer and a target line segment formed by curb candidate points belonging to the layer adjacent to any layer, detecting points other than curb points from curb candidate points belonging to any layer; or a third error verification function, i.e., determining that a curb candidate point is not a curb point when the absolute value of the difference in the vertical axis coordinates between a point in free space and a curb candidate point is less than a third threshold, and when the absolute value of the difference in the horizontal axis coordinates between a point in free space and a curb candidate point is less than a fourth threshold. In this case, the vehicle equipped with the LiDAR sensor travels in a first direction parallel to the vertical axis, and a second direction parallel to the horizontal axis intersects the first direction.
[0227] Computer-readable recording media include various types of recording devices that store data readable by a computer system. Examples of computer-readable recording media include read-only memory (ROM), random access memory (RAM), optical disc ROM (CD-ROM), magnetic tape, floppy disk, and optical data storage devices. Computer-readable recording media can also be distributed across a network-connected computer system, enabling the distributed storage and execution of computer-readable code. Furthermore, the functional programs, code, and code segments for implementing the method 100 for detecting curbs using a LiDAR sensor can be readily designed by those skilled in the art to which this disclosure pertains.
[0228] In the following description, with reference to the accompanying drawings, the configuration and operation of an apparatus 1000 for detecting curbs using a LiDAR sensor according to an embodiment will be described.
[0229] Figure 13 yes Figure 2 The diagram shows a block diagram of one embodiment 600A of the curb detector.
[0230] Figure 13 The curb detector 600A shown may include a road point selector 652, a curb candidate point detector 654, and first to third error verifiers 656, 658 and 662.
[0231] Figure 13 The curb detector 600A shown is performing... Figure 1 Steps 120 and 120 shown Figure 3 The step 120A shown can correspond to Figure 2 The illustrated curb detector 600 is an embodiment, but the embodiment is not limited thereto. That is to say, Figure 13 The curb detector 600A shown can be used with Figure 3 Step 120A shown is executed in different ways. Figure 1 Step 120 is shown. Alternatively, Figure 3 Step 120A shown can be performed by different methods. Figure 13 The curb detector 600A configuration shown is executed by the curb detector.
[0232] The road point selector 652 receives the point cloud acquired by the LiDAR sensor 500 via the input terminal IN, selects road points from the point cloud, and outputs the selected road points to the curb candidate detector 654. In other words, the road point selector 652 is used to perform... Figure 3 Step 210 is shown.
[0233] The curb candidate detector 654 can detect multiple consecutive points among the road points output from the road surface selector 652 that have a constant first slope in a first plane viewed from above and a second slope with a constant sign in a second plane viewed from the side as curb candidates (which are candidates for curb points), and can output the detected curb candidate points to the first error verifier 656. That is, the curb candidate detector 654 is used to perform Figure 3 Step 220 is shown.
[0234] When multiple neighboring points in a layer adjacent to the layer containing curb candidate points detected by curb candidate point detector 654 are non-road points instead of road points, the first error validator 656 detects points other than curb points from the curb candidate points based on the variance and mean of the coordinates of the multiple neighboring points. That is, the first error validator 656 is used to perform... Figure 3 Step 230 is shown.
[0235] Using a reference line segment formed by curb candidate points belonging to any layer and a target line segment formed by curb candidate points belonging to layers adjacent to that layer, the second error verifier 658 detects points other than curb points from the curb candidate points belonging to any layer. For this purpose, the second error verifier 658 may only receive curb candidate points detected by the curb candidate point detector 654 that were determined not to be curb points by the first error verifier 656 and were eliminated. In other words, the second error verifier 658 is used to perform... Figure 3 Step 240 is shown.
[0236] When the absolute value of the difference in the X-axis coordinate between a point in free space and a curb candidate point is less than a third threshold, and when the absolute value of the difference in the Y-axis coordinate between a point in free space and a curb candidate point is less than a fourth threshold, the third error verifier 662 can determine that the curb candidate point is not a curb point, and can output the determined result through the output terminal OUT1. For this purpose, the third error verifier 662 can only receive curb candidate points that have been determined not to be curb points and eliminated by the second error verifier 658, but the embodiment is not limited to this. That is, the third error verifier 662 can perform... Figure 3 Step 250 is shown.
[0237] The curb points detected by the curb detection method 100 described above can be used in various fields.
[0238] According to one embodiment, the final curb line fitting can be performed using curb points detected by the curb detection method 100 according to the embodiment. For example, information about the curb line formed by the curb points can be used for high-definition map-based localization of the main vehicle. High-definition map-based localization is a process of estimating the position of the main vehicle by comparing the curbs in the high-definition map with the curb lines detected by the method according to the embodiment.
[0239] According to another embodiment, an object tracking method 400 according to this embodiment can be implemented to track objects using curb points detected by the curb detection method 100 described above.
[0240] Figure 14 This is a flowchart illustrating the object tracking method 400 according to an embodiment.
[0241] Figure 14 The object tracking method 400 shown includes acquiring a point cloud generated by the LiDAR sensor 500 (step 110). Here, since step 110 is related to... Figure 1 The steps shown are the same as steps 110, therefore the same reference numerals are assigned to them, and their repeated descriptions will be omitted.
[0242] Following step 110, the point cloud generated by the LiDAR sensor 500 can be preprocessed (step 130). For example, data related to reflections from the body of the host vehicle can be removed in step 130. That is, because there are areas shielded by the body of the host vehicle depending on the mounting location and the field of view of the LiDAR sensor 500, a reference coordinate system can be used in step 130 to remove data related to reflections from the body of the host vehicle.
[0243] Following step 130, clustering is performed on the preprocessed points (step 140). The term "clustering" refers to the process of classifying preprocessed points into groups such that each group includes points associated with the same object. For example, the preprocessed points in step 130 may be classified into groups such that each group includes points associated with the same object.
[0244] After step 140, the clustering results are converted into multiple geometric box shapes for each channel, and at least one of the box's width, length, position, or orientation (or direction of travel) is output as information about the box in order to analyze the shape of the object (step 150).
[0245] After step 150, the object whose shape has been analyzed can be tracked and identified as an obstacle, vehicle, person, road surface, or curb (step 160). For this purpose, curb points detected by the curb detection method 100 according to the embodiment can be used.
[0246] For example, it can be Figure 14 Perform in step 130 as shown Figure 3 Steps 210 to 240 are shown. In this case, step 250 may be... Figure 1 Perform this step in step 140 as shown, or you can perform this step in the following way: Figure 14 After step 140 shown and during execution Figure 14 Step 150 shown is performed separately prior to the above. Alternatively, step 140 can be performed during the execution of... Figure 3 After step 240 shown and during execution Figure 3 Perform this step before step 250 shown.
[0247] Furthermore, point FSPs located in free space can be detected by performing clustering in step 140, which is the execution of... Figure 3 Steps 250 and 250 shown Figure 11 Steps 392 and 394 shown are necessary. However, the embodiments are not limited thereto.
[0248] In the following text, a comparative example of the implementation scheme and a curb detection method will be described with reference to the accompanying drawings.
[0249] Unlike cameras, LiDAR sensors cannot acquire visual information such as color, and therefore require only geometric information about points to identify objects. The curb detection method according to the comparative example uses the geometric characteristics of points located on the curb to identify it. However, the curb detection method according to the comparative example, which only uses the absolute height of points (i.e., the Z-axis coordinate), has limitations in curb recognition accuracy. This is because the Z-axis coordinate value increases or decreases under conditions of uneven roads or vehicle vibrations compared to the ideal situation where the road is flat or the vehicle is moving smoothly.
[0250] Instead, the curb detection method 100 according to the embodiment uses relative values (such as slope) derived from the relationship between adjacent points rather than absolute values such as Z-axis coordinates to detect curb points.
[0251] Figure 15 (a) and Figure 15 (b) is a view showing the final curb point obtained by the curb detection method 100 according to an embodiment.
[0252] When using relative values such as slope to detect curb points, points associated with objects having a slope similar to that of the curb (e.g., another vehicle or a wall) may be incorrectly detected as curb points. To prevent this, according to an embodiment, first to third error verification steps are performed to eliminate non-curb points from the curb candidate points. Figure 15 (b) shown and located as Figure 15 When obtaining curb candidate points associated with the curb near the driving master vehicle 10 shown in (a), a first error verification step is performed to eliminate errors. Figure 15 (b) Non-curb point 40, perform the second error verification step to eliminate it. Figure 15 (b) Non-curb point 50, and perform the third error verification step to eliminate it. Figure 15 (b) Non-curb point 60, from which the point associated with the curb can ultimately be obtained ( Figure 15 (b) Point 70).
[0253] Therefore, according to embodiments, curb points can be accurately detected from point clouds acquired using LiDAR sensors, and precise localization can be performed using the detected curb points. Precise localization using LiDAR sensors is paramount in Level 4 or higher autonomous driving. However, depending on the environment of the road on which the vehicle travels, precise localization can be difficult to perform. For example, in environments where the objects required for precise localization (e.g., buildings or walls) are insufficient or scarce, curbs present on the road on which the vehicle travels can be used as the basis for precise localization data.
[0254] Furthermore, the reason for performing precise positioning is to identify the lanes of the road on which vehicles travel. In most cases, the road and curb exist together, and therefore the curb can be considered the best baseline data for precise positioning.
[0255] With this in mind, information about the curb is accurately detected by methods and apparatus for using LiDAR sensors and by a recording medium storing programs for performing the methods according to embodiments, and is used for Level 4 or higher autonomous driving.
[0256] It is evident from the above description that, according to the method and apparatus for detecting road sources using LiDAR sensors and the recording medium storing a program for executing the method according to embodiments, curb points can be accurately detected. Furthermore, the detected curb points can be used for precise positioning and are therefore useful for autonomous driving at Level 4 or higher. Additionally, the detected curb points can also be used for object tracking.
[0257] However, the effects achievable through the embodiments are not limited to those described above, and those skilled in the art will clearly understand from the above description other effects not mentioned herein.
[0258] The various embodiments described above may be combined with each other without departing from the scope of this disclosure, unless they are incompatible with each other.
[0259] Furthermore, for any element or process not described in detail in any of the various embodiments, reference may be made to the description of the element or process having the same reference numerals in another embodiment, unless otherwise stated.
[0260] While the invention has been specifically shown and described with reference to exemplary embodiments thereof, these embodiments are provided for illustrative purposes only and are not intended to limit the invention. It will be apparent to those skilled in the art that various changes in form and detail may be made without departing from the essential characteristics of the embodiments set forth herein. For example, the various configurations set forth in the embodiments may be modified and applied. Furthermore, such modifications and applications should be interpreted as falling within the scope of the invention as defined by the appended claims.
Claims
1. A method for detecting curbs using a LiDAR sensor, the method comprising: The LiDAR sensor is used to acquire point clouds; Select road points from the point cloud acquired by the LiDAR sensor; as well as Multiple consecutive points that have a constant first slope in a first plane viewed from above and a second slope with a constant sign in a second plane viewed from the side are detected as curb candidate points in the road points, the curb candidate points being candidates for curb points; The candidate points of the curb are used to identify the curb so that vehicles equipped with the LiDAR sensor and in motion can be located in the lane of the road that coexists with the curb.
2. The method according to claim 1, wherein detecting the curb candidate point comprises: From the road points, a plurality of consecutive current points with an altitude equal to or less than a threshold height are found and located at a first interval distance from the previous point, the first interval distance being shorter than the first threshold distance; Determine whether the first slope formed by the multiple consecutive current points discovered is constant; When the first slope is constant, determine whether the sign of the second slope is constant; as well as When the sign of the second slope is constant, the multiple consecutive current points discovered are finally determined as the curb candidate points.
3. The method of claim 2, wherein discovering the plurality of consecutive current points comprises: Determine whether the height of the sample points selected sequentially from the road points according to the sample index in each layer is equal to or less than the threshold height; If the previous point selected before selecting the sample point with a height equal to or less than the threshold height does not exist, store the coordinates of the sample point with a height equal to or less than the threshold height; When the previous point exists and when the first interval distance between the sample point and the previous point is shorter than the first threshold distance, store the coordinates of the sample point; as well as When the number of sample points with stored coordinates is not "1", continue to determine whether the height of the sample points is equal to or less than the threshold height, and when the number of sample points with stored coordinates is "1", determine the "1" sample points as a plurality of consecutive current points found, where "1" is a positive integer of 2 or greater.
4. The method of claim 3, wherein determining whether the first slope is constant comprises: Select points that are spaced at constant intervals from each other from the multiple consecutive current points discovered; Determine whether the difference between adjacent slopes of adjacent points, the difference between non-adjacent slopes of non-adjacent points that are not adjacent to each other, or the difference between all slopes including the adjacent slopes and the non-adjacent slopes, is within a predetermined range of allowable values from the selected points; as well as The first slope is determined to be constant when the difference between the adjacent slopes, the difference between the non-adjacent slopes, or the difference between all the slopes including the adjacent slopes and the non-adjacent slopes is within a predetermined range of the allowable value.
5. The method of claim 4, wherein finally determining the plurality of consecutive current points as the curb candidate points comprises: When the sign of the second slope is determined to be constant, the "I" sample points with the stored coordinates are determined as the curb candidate points.
6. The method according to claim 1 further includes a first error verification step, namely: when multiple neighboring points located in a layer adjacent to the layer where the curb candidate point is located are non-road points instead of the road points, points other than the curb points are detected from the curb candidate points based on the variance and average of the coordinates of the multiple neighboring points.
7. The method of claim 6, wherein the first error verification step comprises: Determine whether the plurality of adjacent points are non-road points; When the plurality of adjacent points are non-road points, the average value and variance of the coordinates of the plurality of adjacent points are obtained; Determine whether the variance is less than a threshold variance; Determine whether the first absolute value is less than the threshold average, as shown below: Where "|AV-P|" represents the first absolute value, "AV" represents the average value, "P" represents the coordinates of the curb candidate point, and "THa" represents the threshold average value; as well as When the variance is less than the threshold variance and when the first absolute value is less than the threshold average, the candidate curb point is determined not to be the curb point.
8. The method of claim 7, wherein the first error verification step comprises: The first error verification step is to determine whether the candidate curb point with a slope closer to the vertical axis is not the curb point. as well as The first and second error verification steps are: determining whether the candidate curb point with a slope closer to the horizontal axis is not the curb point.
9. The method according to claim 8, wherein, In the first-1 error verification step or the first-2 error verification step: The variance corresponds to the variance of the weighted sum of the horizontal and vertical coordinates of the plurality of adjacent points; The average value corresponds to the average of the weighted sum of the horizontal axis coordinates and the vertical axis coordinates of the plurality of adjacent points; The "P" represents the weighted sum of the horizontal and vertical coordinates of the candidate curb point; and The vehicle is configured to travel in a first direction parallel to the vertical axis, and in a second direction parallel to the horizontal axis intersecting the first direction.
10. The method according to claim 6, wherein, In the layer adjacent to the layer where the curb candidate point is located, when the neighboring point located near the azimuth angle of the curb candidate point is the non-road point, points other than the curb point are detected from the curb candidate points based on the variance and the average value.
11. The method of claim 6, further comprising a second error verification step, namely: using a reference line segment formed by the curb candidate points belonging to any layer and a target line segment formed by the curb candidate points belonging to a layer adjacent to the arbitrary layer, to detect points other than the curb points from the curb candidate points belonging to the arbitrary layer.
12. The method of claim 11, wherein the second error verification step comprises: Select the reference start point and reference end point from the candidate curb points belonging to the arbitrary layer to form the reference line segment; When the reference start point and the reference end point are located in the same layer, the length of the reference line segment formed by the reference start point and the reference end point is obtained; When the length of the reference line segment is shorter than the threshold length, the coefficients of the straight line equation of the reference line segment are obtained; Select a target starting point from the curb candidate points belonging to the layer adjacent to the arbitrary layer, and select a target ending point that exists in the same layer as the target starting point and is located within a second threshold distance from the target starting point; The second interval distance between the reference line segment and the target starting point is obtained using the coordinates of the target starting point and the coefficient. The target line segment is formed using the target starting point and the target ending point; Obtain the reference slope of the reference line segment, the target slope of the target line segment, the third interval distance between the reference starting point and the target starting point, and the third slope of the straight line connecting the target starting point and the reference ending point; as well as Using the reference slope, the target slope, the second interval distance, the third interval distance, or the third slope, find points other than the curb points from the curb candidate points belonging to the arbitrary layer.
13. The method of claim 12, wherein finding points other than the curb points from the curb candidate points comprises: Determine whether the second absolute value of the difference between the reference slope and the target slope is less than a first threshold. When the second absolute value is less than the first threshold, it is determined whether the second interval distance is shorter than the third threshold distance; When the second interval distance is shorter than the third threshold distance, determine whether the third interval distance is shorter than the fourth threshold distance; When the third interval distance is shorter than the fourth threshold distance, determine whether the third absolute value of the difference between the reference slope and the third slope is less than the second threshold. as well as When the second absolute value is equal to or greater than the first threshold, when the second interval distance is equal to or greater than the third threshold distance, when the third interval distance is equal to or greater than the fourth threshold distance, or when the third absolute value is equal to or greater than the second threshold, and when both the target start point and the target end point are selected from the layers adjacent to the arbitrary layer, it is determined that the curb candidate point belonging to the arbitrary layer is not the curb point.
14. The method of claim 11, further comprising: The third error verification step is as follows: when the absolute value of the difference in the vertical axis coordinates between the point in free space and the candidate curb point is less than a third threshold, and when the absolute value of the difference in the horizontal axis coordinates between the point in free space and the candidate curb point is less than a fourth threshold, the candidate curb point is determined not to be the curb point, wherein the vehicle is configured to travel in a first direction parallel to the vertical axis and a second direction parallel to the horizontal axis intersects the first direction.
15. An apparatus for detecting curbs, the apparatus comprising: A road point selector configured to select road points from a point cloud acquired by a LiDAR sensor; as well as A curb candidate point detector is configured to detect a plurality of consecutive points having a constant first slope in a first plane viewed from above and a second slope with a constant sign in a second plane viewed from the side as curb candidate points among the road points, the curb candidate points being candidates for curb points, and to use the curb candidate points to identify curbs so that vehicles equipped with the LiDAR sensor and in motion can be located in the lane of the road that coexists with the curb.
16. The apparatus of claim 15, further comprising a first error verifier configured to: when a plurality of neighboring points located in a layer adjacent to the layer containing the curb candidate point are non-road points, rather than the road points, detect points other than the curb points from the curb candidate points based on the variance and average of the coordinates of the plurality of neighboring points.
17. The apparatus of claim 16, further comprising a second error verifier configured to: detect points other than the curb points from the curb candidates belonging to the arbitrary layer using a reference line segment formed by the curb candidate points belonging to any layer and a target line segment formed by the curb candidate points belonging to a layer adjacent to the arbitrary layer.
18. The apparatus of claim 17, further comprising a third error verifier configured to: determine that the curb candidate is not the curb point when the absolute value of the difference in the vertical axis coordinates between the point in free space and the curb candidate is less than a third threshold, and when the absolute value of the difference in the horizontal axis coordinates between the point in free space and the curb candidate is less than a fourth threshold, wherein the vehicle is configured to travel in a first direction parallel to the vertical axis and a second direction parallel to the horizontal axis intersects the first direction.
19. A non-transitory computer-readable recording medium having recorded a program for performing a method for detecting a curb, the computer-readable recording medium storing the program to implement: The ability to select road points from point clouds acquired by LiDAR sensors; and The function of detecting multiple consecutive points with a constant first slope in a first plane viewed from above and a second slope with a constant sign in a second plane viewed from the side as curb candidate points in the road points, the curb candidate points being candidates for curb points; The function of using candidate points of the curb to identify the curb so that a vehicle equipped with the LiDAR sensor and in motion can be located in the lane of the road that coexists with the curb.
20. The computer-readable recording medium of claim 19, wherein the program further implements: The first error verification function is as follows: when multiple neighboring points in a layer adjacent to the layer where the curb candidate point is located are non-road points instead of the road points, points other than the curb points are detected from the curb candidate points based on the variance and average of the coordinates of the multiple neighboring points. The second error verification function is: using a reference line segment formed by the curb candidate points belonging to any layer and a target line segment formed by the curb candidate points belonging to the layer adjacent to the arbitrary layer, to detect points other than the curb points from the curb candidate points belonging to the arbitrary layer; as well as The third error verification function is that when the absolute value of the difference between the vertical axis coordinates of the point in free space and the candidate curb point is less than the third threshold, and when the absolute value of the difference between the horizontal axis coordinates of the point in free space and the candidate curb point is less than the fourth threshold, the candidate curb point is determined to be not the curb point. as well as The vehicle is configured to travel in a first direction parallel to the vertical axis, and a second direction parallel to the horizontal axis intersects the first direction.
Citation Information
Patent Citations
Road edge identification method and device based on laser point cloud
CN110033482A
Road edge identification method and system based on laser point cloud
CN112147602A