Method, apparatus, device, and storage medium for determining the contour of an obstacle

By obtaining coordinate information of non-ground point clouds, clustering processing and center of mass connection line analysis are used to identify obstacle profiles, the problem of undersegment caused by uneven distribution of lidar point clouds is solved, and the accurate identification of each obstacle is achieved.

CN114252886BActive Publication Date: 2025-08-05AUTOMOTIVE INTELLIGENCE & CONTROL OF CHINA CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202111486968.6
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2021-12-07
Publication Date
2025-08-05
Estimated Expiration
2041-12-07

AI Technical Summary

Technical Problem

During autonomous driving, uneven distribution of lidar point clouds leads to problems of oversegment and undersegment. Especially when multiple obstacles are distributed at small intervals, it is difficult to accurately identify the outline of each obstacle.

Method used

By obtaining coordinate information of non-ground point clouds, a clustering processing method is used to determine the clustering data information of the obstacle group, and the outline of each obstacle is identified based on the clustering results and clustering radius, and the edge of the obstacle is judged by the center of mass connection line and the number of projection points.

Benefits of technology

Accurately identifying each obstacle solves the problem of undersegment when multiple obstacles are distributed in small intervals, and improves the accuracy of obstacle profile recognition.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114252886B_ABST
    Figure CN114252886B_ABST
Patent Text Reader

Abstract

A method for determining the contour of an obstacle provided by the present application, the method being applied to an autonomous vehicle, the method comprising: obtaining coordinate information of non-ground point clouds; wherein, the non-ground point clouds are data information of the front environment of the autonomous vehicle acquired by a sensor; performing clustering processing according to the coordinate information of the non-ground point clouds to obtain a clustering result; wherein, the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle; determining clustering data information of each obstacle group according to the clustering result; determining the contour of each obstacle according to the clustering data information of each obstacle group. By adopting the technical solution, each obstacle can be accurately identified, thereby solving the problem of under-segmentation caused by small intervals between multiple obstacles.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of autonomous driving technology, and particularly to a method, device, equipment and storage medium for determining the contour of an obstacle. Background Art

[0002] During the process of autonomous driving, lidar point clouds of an autonomous driving vehicle are obtained through a lidar, and obstacles are identified through the lidar point clouds. During the identification process, it is necessary to segment the ground point clouds, cluster the non-ground point clouds into obstacles, and classify and detect the obstacles.

[0003] Due to the uneven distribution of lidar point clouds, there are often problems of over-segmentation and under-segmentation during the clustering process. Especially when there are multiple obstacles distributed at small intervals, it is more likely to cause the problem of under-segmentation.

[0004] There is an urgent need for a method to identify the contour of an obstacle, which can accurately identify each obstacle, and thus solve the problem of under-segmentation caused by multiple obstacles distributed at small intervals. Summary of the Invention

[0005] This application provides a method, device, equipment and storage medium for determining the contour of an obstacle, which can accurately identify each obstacle, and thus solve the problem of under-segmentation caused by multiple obstacles distributed at small intervals.

[0006] In a first aspect, this application provides a method for determining the contour of an obstacle. The method is applied to an autonomous driving vehicle, and the method includes:

[0007] Obtain the coordinate information of non-ground point clouds; wherein, the non-ground point clouds are data information of the front environment of the autonomous driving vehicle obtained by a sensor;

[0008] Perform clustering processing according to the coordinate information of the non-ground point clouds to obtain a clustering result; wherein, the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle;

[0009] Determine the clustering data information of each obstacle group according to the clustering result;

[0010] Determine the contour of each obstacle according to the clustering data information of each obstacle group.

[0011] In one example, performing clustering processing according to the coordinate information of the non-ground point clouds to obtain a clustering result includes:

[0012] Determine the distance value between each non-ground point cloud and the sensor according to the coordinate information of the non-ground point clouds;

[0013] Determine a clustering radius according to the distance value; different distance values correspond to different clustering radii;

[0014] Determine a clustering result according to the clustering radius.

[0015] In one example, determining a clustering result according to the clustering radius includes:

[0016] Arbitrarily select a point cloud in the non-ground point cloud as an initial center of the sphere, and make a sphere with the clustering radius as the radius to obtain the non-ground point cloud in the initial sphere;

[0017] Arbitrarily select a point cloud in the non-ground point cloud in the initial sphere as a second center of the sphere, and make a sphere with the clustering radius as the radius to obtain the non-ground point cloud in the second sphere;

[0018] Determine a clustering result according to the non-ground point cloud in the initial sphere and the non-ground point cloud in the second sphere.

[0019] In one example, determining the contour of each obstacle according to the clustering data information of each obstacle group includes:

[0020] Determine the clustering radius of each obstacle according to the clustering data information of each obstacle group;

[0021] Identify the clustering result of each obstacle according to the clustering radius of each obstacle;

[0022] Determine the contour of each obstacle according to the clustering result of each obstacle.

[0023] In one example, determining the contour of each obstacle according to the clustering result of each obstacle includes:

[0024] Determine the centroid of each obstacle according to the clustering result of each obstacle;

[0025] Establish a connecting line of the centroids of adjacent obstacles, and determine the number of projection points of the point cloud on the connecting line;

[0026] Determine the contour of each obstacle according to the relationship between the number of projection points of the point cloud on the connecting line and a threshold.

[0027] In one example, establishing a connecting line of the centroids of adjacent obstacles and determining the number of projection points of the point cloud on the connecting line includes:

[0028] Obtain the connecting line of the centroids of the adjacent obstacles, equally divide the connecting line at intervals to obtain a division result;

[0029] According to the division result, count the number of projection points of the point cloud on the connecting line.

[0030] In a second aspect, the present application provides an apparatus for determining the contour of an obstacle. The apparatus is applied to an autonomous driving vehicle and includes:

[0031] An acquisition unit configured to acquire coordinate information of non-ground point clouds; wherein, the non-ground point clouds are data information of the front environment of the autonomous driving vehicle acquired by a sensor;

[0032] A first determination unit configured to perform clustering processing according to the coordinate information of the non-ground point clouds to obtain a clustering result; wherein, the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle;

[0033] A second determination unit configured to determine clustering data information of each obstacle group according to the clustering result;

[0034] A third determination unit configured to determine the contour of each obstacle according to the clustering data information of each obstacle group.

[0035] In one example, the first determination unit includes:

[0036] A first determination module configured to determine the distance value between each non-ground point cloud and the sensor according to the coordinate information of the non-ground point clouds;

[0037] A second determination module configured to determine a clustering radius according to the distance value; different distance values correspond to different clustering radii;

[0038] A third determination module configured to determine a clustering result according to the clustering radius.

[0039] In one example, the third determination module includes:

[0040] Arbitrarily select a point cloud in the non-ground point clouds as an initial center of the sphere, and make a sphere with the clustering radius as the radius to obtain the non-ground point clouds in the initial sphere;

[0041] Arbitrarily select a point cloud in the non-ground point clouds in the initial sphere as a second center of the sphere, and make a sphere with the clustering radius as the radius to obtain the non-ground point clouds in the second sphere;

[0042] Determine a clustering result according to the non-ground point clouds in the initial sphere and the non-ground point clouds in the second sphere.

[0043] In one example, the third determination unit includes:

[0044] A first determination module configured to determine the clustering radius of each obstacle according to the clustering data information of each obstacle group;

[0045] An identification module, configured to identify the clustering result of each obstacle according to the clustering radius of each obstacle;

[0046] A second determination module, configured to determine the contour of each obstacle according to the clustering result of each obstacle.

[0047] In one example, the second determination module includes:

[0048] Determine the centroid of each obstacle according to the clustering result of each obstacle;

[0049] Establish a connection line between the centroids of adjacent obstacles, and determine the number of projection points of the point cloud on the connection line;

[0050] Determine the contour of each obstacle according to the relationship between the number of projection points of the point cloud on the connection line and the threshold.

[0051] The second determination module is specifically configured to:

[0052] Obtain the connection line between the centroids of the adjacent obstacles, equally divide the connection line to obtain a division result;

[0053] According to the division result, count the number of projection points of the point cloud on the connection line.

[0054] In a third aspect, the present application provides an electronic device, including: a processor, and a memory communicatively connected to the processor;

[0055] The memory stores computer-executable instructions;

[0056] The processor executes the computer-executable instructions stored in the memory to implement the method as described in the first aspect.

[0057] In a fourth aspect, the present application provides a computer-readable storage medium, in which computer-executable instructions are stored, and when the computer-executable instructions are executed by a processor, they are used to implement the method as described in the first aspect.

[0058] In a fifth aspect, the present application provides a computer program product, including a computer program, and when the computer program is executed by a processor, it implements the method as described in the first aspect.

[0059] A method for determining the contour of an obstacle provided by this application is applied to an autonomous vehicle. The method includes: obtaining the coordinate information of non-ground point clouds; where the non-ground point clouds are data information of the front environment of the autonomous vehicle acquired by a sensor; performing clustering processing on the coordinate information of the non-ground point clouds to obtain a clustering result; where the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle; determining the clustering data information of each obstacle group according to the clustering result; and determining the contour of each obstacle according to the clustering data information of each obstacle group. By adopting this technical solution, each obstacle can be accurately identified, thereby solving the problem of under-segmentation caused by small intervals between multiple obstacles. BRIEF DESCRIPTION OF THE DRAWINGS

[0060] The accompanying drawings herein are incorporated into the specification and constitute a part of this specification, showing embodiments consistent with this application, and are used together with the specification to explain the principles of this application.

[0061] Figure 1 is a schematic flowchart of a method for determining the contour of an obstacle according to Embodiment 1 of this application;

[0062] Figure 2 is a schematic flowchart of a method for determining the contour of an obstacle according to Embodiment 2 of this application;

[0063] Figure 3 is a schematic diagram of the contour of an obstacle according to Embodiment 2 of this application;

[0064] Figure 4 is a schematic diagram of the projection points of the point clouds on a connection line according to Embodiment 2 of this application;

[0065] Figure 5 is a projection point histogram according to Embodiment 2 of this application;

[0066] Figure 6 is a schematic diagram of a device for determining the contour of an obstacle according to Embodiment 3 of this application;

[0067] Figure 7 is a schematic diagram of a device for determining the contour of an obstacle according to Embodiment 4 of this application;

[0068] Figure 8 is a block diagram of an electronic device shown according to an exemplary embodiment.

[0069] Through the above-mentioned accompanying drawings, specific embodiments of the present application have been shown, and there will be a more detailed description hereinafter. These drawings and the textual description are not intended to limit the scope of the concept of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. Detailed Description of the Embodiment

[0070] Here, the exemplary embodiments will be described in detail, and the examples are shown in the accompanying drawings. When the following description refers to the accompanying drawings, unless otherwise indicated, the same numerals in different drawings represent the same or similar elements. The embodiments described in the following exemplary embodiments do not represent all embodiments consistent with the present application. On the contrary, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0071] The method for determining the contour of an obstacle provided by the present application aims to solve the above technical problems in the prior art.

[0072] The following uses specific embodiments to detail the technical solution of the present application and how the technical solution of the present application solves the above technical problems. These several specific embodiments can be combined with each other, and the same or similar concepts or processes may not be repeated in some embodiments. The embodiments of the present application will be described below in conjunction with the accompanying drawings.

[0073] Figure 1 FIG. is a schematic flowchart of a method for determining the contour of an obstacle according to Embodiment 1 of the present application. The method is applied to an autonomous driving vehicle, and Embodiment 1 includes the following steps:

[0074] S101. Obtain the coordinate information of non-ground point clouds; wherein, the non-ground point clouds are data information of the front environment of the autonomous driving vehicle obtained by a sensor.

[0075] Exemplarily, the non-ground point clouds refer to point cloud information that is not the ground. The point clouds are obtained by a sensor mounted on the autonomous driving vehicle, and the sensor can be a lidar sensor. The point clouds include about 40% to 50% of ground point clouds. The non-ground point clouds and the ground point clouds together constitute the point clouds obtained by the lidar sensor. The coordinate information of the obtained non-ground point clouds takes the sensor mounted on the autonomous driving vehicle as the origin, and the sensor is generally mounted at the center of the autonomous driving vehicle. The vertical connection line between the sensor and the obstacle in the front environment is taken as the y-coordinate direction, the direction parallel to the autonomous driving vehicle of the sensor is taken as the x-coordinate direction, and the direction perpendicular to the autonomous driving vehicle is taken as the z-coordinate direction.

[0076] S102. Perform clustering processing based on the coordinate information of non-ground point clouds to obtain a clustering result. Among them, the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle.

[0077] Exemplarily, the coordinate information of non-ground point clouds is different. The non-ground point clouds are divided according to different y coordinates, specifically, according to different numerical range values of the y coordinate. These range values can be 0m - 5m, 5m - 10m, 10m - 15m, and 15m - 20m. Clustering processing is performed on the non-ground point clouds according to different range values. Among them, the method of clustering processing is the Euclidean clustering algorithm, and different clustering results are obtained. Further, if the obstacles within the numerical range value of the same y coordinate have the same feature, the point clouds of the obstacles with this feature can be clustered to obtain a clustering result. For example, within the range value of 0m - 5m, there are obstacles with two features. Then, these two types of obstacles are clustered separately, and two clustering results can be obtained within the range value of 0m - 5m. Among them, the obstacles in each clustering result have the same feature, but the number of obstacles may be more than one. For example, within the range value of 0m - 5m, there are obstacles with two densities. Then, these two types of obstacles with different densities are clustered separately, and two clustering results can be obtained within the range value of 0m - 5m. Among them, there are two obstacles in the clustering result of the obstacles with the first density, and three obstacles in the clustering result of the obstacles with the second density.

[0078] S103. Determine the clustering data information of each obstacle group according to the clustering result.

[0079] Exemplarily, after obtaining the clustering result, obtain the center of each obstacle group in the clustering result. Take the center of this obstacle group as the origin of the coordinate system, and take the maximum value of the x-axis coordinate value, the maximum value of the y-axis coordinate value, and the maximum value of the z-axis coordinate value of the point cloud coordinate information in this obstacle group as the length, width, and height of a rectangle to obtain the clustering data information of each obstacle group.

[0080] S104. Determine the contour of each obstacle according to the clustering data information of each obstacle group.

[0081] Exemplarily, determine the number of obstacles in the obstacle group in the clustering data information of each obstacle group, and cluster each obstacle in this obstacle group. After obtaining the clustering result, determine the contour of each obstacle.

[0082] A method for determining the contour of an obstacle provided by the present application is applied to an autonomous driving vehicle. The method includes: obtaining the coordinate information of non-ground point clouds; where the non-ground point clouds are data information of the front environment of the autonomous driving vehicle obtained by a sensor; performing clustering processing based on the coordinate information of the non-ground point clouds to obtain a clustering result; where the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle; determining the clustering data information of each obstacle group according to the clustering result; and determining the contour of each obstacle according to the clustering data information of each obstacle group. By adopting the technical solution, each obstacle can be accurately identified, and thus the problem of under-segmentation caused by the small interval distribution of multiple obstacles can be solved.

[0083] Figure 2 It is a schematic flowchart of a method for determining the contour of an obstacle according to Embodiment 2 of the present application. The method is applied to an autonomous driving vehicle. Embodiment 2 includes the following steps:

[0084] S201. Obtain the coordinate information of non-ground point clouds; where the non-ground point clouds are data information of the front environment of the autonomous driving vehicle obtained by a sensor.

[0085] Exemplarily, this step can refer to the above step S101 and will not be elaborated here.

[0086] S202. Determine the distance value between each non-ground point cloud and the sensor according to the coordinate information of the non-ground point clouds.

[0087] In this embodiment, the sensor is generally mounted at the center position of the autonomous driving vehicle. Taking the vertical connection line between the sensor and the obstacle in the front environment as the y coordinate direction, calculate the y coordinate of each non-ground point cloud in the y coordinate direction with respect to the sensor y coordinate, and take the y coordinate as the distance value between the non-ground point cloud and the sensor. For example, if the y coordinate of the point cloud of the obstacle in the front environment and the sensor is 12m, then 12m is the distance value between the non-ground point cloud and the sensor.

[0088] S203. Determine the clustering radius according to the distance value; different distance values correspond to different clustering radii.

[0089] In this embodiment, the range is divided according to different distance values, and the clustering radius is the same within the same range.

[0090] For example, within the range of distance values from 0 to 5m, the clustering radius is 0.1m; within the range of distance values from 5 to 10m, the clustering radius is 0.15m; within the range of distance values from 10 to 15m, the clustering radius is 0.3m; within the range of distance values from 15 to 20m, the clustering radius is 0.5m. Among them, the above clustering radii can be set by oneself, and only examples are given here, not limited to the above values.

[0091] S204. Determine the clustering result according to the clustering radius.

[0092] In this embodiment, determining the clustering result according to the clustering radius includes:

[0093] Arbitrarily select a point cloud in the non-ground point cloud as the initial center of the sphere, and make a sphere with the clustering radius as the radius to obtain the non-ground point cloud in the initial sphere. Arbitrarily select a point cloud in the non-ground point cloud in the initial sphere as the second center of the sphere, and make a sphere with the clustering radius as the radius to obtain the non-ground point cloud in the second sphere.

[0094] Determine the clustering result according to the non-ground point cloud in the initial sphere and the non-ground point cloud in the second sphere.

[0095] In this embodiment, after determining a non-ground point cloud in the initial sphere, arbitrarily select a point cloud in the sphere as the second sphere, and so on until there is no point cloud in the non-ground point cloud that meets the requirements. Then obtain a clustering result, and remove the clustered point clouds from the non-ground point cloud. After repeating the initial sphere and the second sphere until all the point clouds in the non-ground point cloud are in the clustering result. Specifically, this process can refer to the traditional Euclidean clustering algorithm.

[0096] S205. Determine the clustering data information of each obstacle group according to the clustering result.

[0097] Exemplarily, this step can refer to step S103 above and will not be elaborated here.

[0098] S206. Determine the clustering radius of each obstacle according to the clustering data information of each obstacle group.

[0099] In this embodiment, each obstacle group is divided again according to different distance values. The clustering radius is the same within the same range, and the clustering radius of each obstacle in each obstacle group is different.

[0100] S207. Identify the clustering result of each obstacle according to the clustering radius of each obstacle.

[0101] In this embodiment, arbitrarily select a point cloud in each obstacle point cloud as the initial center of the sphere, and make a sphere with the clustering radius as the radius to obtain the point cloud in the initial sphere. Arbitrarily select a point cloud in the point cloud in the initial sphere as the second center of the sphere, and make a sphere with the clustering radius as the radius to obtain the point cloud in the second sphere. Determine the clustering result of each obstacle according to the point cloud in the initial sphere and the point cloud in the second sphere.

[0102] S208. Determine the contour of each obstacle according to the clustering result of each obstacle.

[0103] In this embodiment, according to the clustering results, the contour of each obstacle is labeled, and then each obstacle is recognized. Specifically, reference can be made to Figure 3 The schematic diagram of the contour of an obstacle shown in. It can be seen that on the left is the clustering result of each obstacle group, which is labeled by a cuboid graph, and on the right is the contour of each obstacle recognized according to the clustering result of each obstacle. It can be seen that it is labeled by 4 cuboid graphs. In this way, the contours of 4 obstacles can be labeled.

[0104] In this embodiment, according to the clustering result of each obstacle, determining the contour of each obstacle includes:

[0105] According to the clustering result of each obstacle, determine the centroid of each obstacle; establish a connecting line of the centroids of adjacent obstacles, and determine the number of projection points of the point cloud on the connecting line; according to the relationship between the number of projection points of the point cloud on the connecting line and the threshold, determine the contour of each obstacle.

[0106] In this embodiment, after determining the clustering result of each obstacle, determine the centroid of each obstacle, connect the centroids, project the point cloud on the centroid connecting line in the horizontal direction, and determine the number of projection points of the point cloud on the connecting line. Specifically, reference can be made to Figure 4 The schematic diagram of the projection points of the point cloud on a connecting line shown in. It can be seen from the figure that P1, P2, P3, and P4 are the clustering results of 4 obstacles respectively. Among them, C1 is the centroid of the clustering result P1, C2 is the centroid of the clustering result P2, C3 is the centroid of the clustering result P3, and C4 is the centroid of the clustering result P4. Connect C1 and C2, project the connecting line of C1 and C2 in the horizontal direction, and obtain the number of projection points of the C1C2 connecting line. Connect C2 and C3, project the connecting line of C2 and C3 in the horizontal direction, and obtain the number of projection points of the C2C3 connecting line. Connect C3 and C4, project the connecting line of C3 and C4 in the horizontal direction, and obtain the number of projection points of the C3C4 connecting line. Compare the relationship between the number of projection points of the C1C2 connecting line and the threshold. If the projection points on this connecting line are less than the threshold, then the part of the projection points less than the threshold is used as the contour edge of each obstacle. The C2C3 connecting line and the C3C4 connecting line are also used to determine the contour of each obstacle in the above manner.

[0107] In an example, establishing a connecting line of the centroids of adjacent obstacles and determining the number of projection points of the point cloud on the connecting line includes:

[0108] Obtain the connecting line of the centroids of adjacent obstacles, equally divide the connecting line at intervals, and obtain the division result;

[0109] According to the division result, count the number of projection points of the point cloud on the connecting line.

[0110] In this embodiment, the C1C2 connection line, the C2C3 connection line, and the C3C4 connection line are equally spaced and segmented. For example, the above connection lines can be divided into 8 parts, and the number of projected points of the point cloud in each part is counted to draw a histogram. Among them, the histogram can be referred to Figure 5 a projected point histogram shown in Figure 5 In 4-5 , 12-13 and 20-21 , the average values of the projected points in the intervals of the 4th and 5th, 12th and 13th, and 20th and 21st are set as n

[0111] A method for determining the contour of an obstacle provided by this application is applied to an autonomous driving vehicle. The method includes: obtaining the coordinate information of non-ground point clouds; where the non-ground point clouds are data information of the front environment of the autonomous driving vehicle obtained by a sensor; according to the coordinate information of the non-ground point clouds, determining the distance value between each non-ground point cloud and the sensor, and determining the clustering radius according to the distance value; according to the clustering result of each obstacle, determining the contour of each obstacle. By adopting this technical solution, the basis for judging the contour of each obstacle is introduced, and the accuracy of identifying the contour of each obstacle is improved.

[0112] Figure 6 is a schematic diagram of a device for determining the contour of an obstacle provided in Embodiment 3 of this application. The device is applied to an autonomous driving vehicle. The device 60 in Embodiment 3 includes:

[0113] An acquisition unit 601, configured to acquire the coordinate information of non-ground point clouds; where the non-ground point clouds are data information of the front environment of the autonomous driving vehicle obtained by a sensor;

[0114] A first determination unit 602, configured to perform clustering processing according to the coordinate information of the non-ground point clouds to obtain a clustering result; where the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle;

[0115] A second determination unit 603, configured to determine the clustering data information of each obstacle group according to the clustering result;

[0116] A third determination unit 604, configured to determine the contour of each obstacle according to the clustering data information of each obstacle group.

[0117] Those skilled in the art can clearly understand that for the convenience and conciseness of description, the specific working process of the above-described device can refer to the corresponding process in the foregoing method embodiment, and will not be elaborated herein.

[0118] Figure 7 FIG. 6 is a schematic diagram of an apparatus for determining the contour of an obstacle according to Embodiment 4 of the present application. The apparatus is applied to an autonomous vehicle. The apparatus 70 in Embodiment 4 includes:

[0119] An acquisition unit 701, configured to acquire coordinate information of non-ground point clouds; wherein, the non-ground point clouds are data information of the front environment of the autonomous vehicle acquired by a sensor;

[0120] A first determination unit 702, configured to perform clustering processing on the basis of the coordinate information of the non-ground point clouds to obtain a clustering result; wherein, the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle;

[0121] A second determination unit 703, configured to determine clustering data information of each obstacle group according to the clustering result;

[0122] A third determination unit 704, configured to determine the contour of each obstacle according to the clustering data information of each obstacle group.

[0123] In one example, the first determination unit 702 includes:

[0124] A first determination module 7021, configured to determine the distance value between each non-ground point cloud and the sensor according to the coordinate information of the non-ground point clouds;

[0125] A second determination module 7022, configured to determine a clustering radius according to the distance value; different distance values correspond to different clustering radii;

[0126] A third determination module 7023, configured to determine a clustering result according to the clustering radius.

[0127] In one example, the third determination module 7023 includes:

[0128] Arbitrarily select a point cloud in the non-ground point clouds as an initial center of a sphere, and make a sphere with the clustering radius as the radius to obtain the non-ground point clouds in the initial sphere;

[0129] Arbitrarily select a point cloud in the non-ground point clouds in the initial sphere as a second center of a sphere, and make a sphere with the clustering radius as the radius to obtain the non-ground point clouds in the second sphere;

[0130] Determine a clustering result according to the non-ground point clouds in the initial sphere and the non-ground point clouds in the second sphere.

[0131] In one example, the third determination unit 704 includes:

[0132] A first determination module 7041, configured to determine the clustering radius of each obstacle according to the clustering data information of each obstacle group;

[0133] An identification module 7042, configured to identify the clustering result of each obstacle according to the clustering radius of each obstacle;

[0134] A second determination module 7043, configured to determine the contour of each obstacle according to the clustering result of each obstacle.

[0135] In one example, the second determination module 7043 includes:

[0136] Determine the centroid of each obstacle according to the clustering result of each obstacle;

[0137] Establish a connection line of the centroids of adjacent obstacles, and determine the number of projected points of the point cloud on the connection line;

[0138] Determine the contour of each obstacle according to the relationship between the number of projected points of the point cloud on the connection line and the threshold.

[0139] The second determination module 7043 is specifically configured to:

[0140] Obtain the connection line of the centroids of adjacent obstacles, equally divide the connection line, and obtain the division result;

[0141] According to the division result, count the number of projected points of the point cloud on the connection line.

[0142] Those skilled in the art can clearly understand that for the convenience and conciseness of description, the specific working process of the above-described device can refer to the corresponding process in the foregoing method embodiment, and will not be repeated here.

[0143] Figure 8 It is a block diagram of an electronic device shown according to an exemplary embodiment. The device may be a mobile phone, a computer, a digital broadcast terminal, a messaging device, a game console, a tablet device, a medical device, a fitness device, a personal digital assistant, etc.

[0144] The apparatus 800 may include one or more of the following components: a processing component 802, a memory 804, a power component 806, a multimedia component 808, an audio component 810, an input / output (I / O) interface 812, a sensor component 814, and a communication component 816.

[0145] The processing component 802 generally controls the overall operation of the device 800, such as operations associated with display, telephone calls, data communication, camera operations, and recording operations. The processing component 802 may include one or more processors 820 to execute instructions to complete all or part of the steps of the above methods. In addition, the processing component 802 may include one or more modules to facilitate the interaction between the processing component 802 and other components. For example, the processing component 802 may include a multimedia module to facilitate the interaction between the multimedia component 808 and the processing component 802.

[0146] The memory 804 is configured to store various types of data to support the operation of the device 800. Examples of such data include instructions for any application or method operating on the device 800, contact data, phone book data, messages, pictures, videos, etc. The memory 804 may be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic memory, flash memory, magnetic disks, or optical disks.

[0147] The power component 806 provides power to various components of the device 800. The power component 806 may include a power management system, one or more power supplies, and other components associated with generating, managing, and distributing power for the device 800.

[0148] The multimedia component 808 includes a screen that provides an output interface between the device 800 and the user. In some embodiments, the screen may include a liquid crystal display (LCD) and a touch panel (TP). If the screen includes a touch panel, the screen may be implemented as a touch screen to receive input signals from the user. The touch panel includes one or more touch sensors to sense touches, swipes, and gestures on the touch panel. The touch sensors may not only sense the boundaries of the touch or swipe actions, but also detect the duration and pressure associated with the touch or swipe operation. In some embodiments, the multimedia component 808 includes a front camera and / or a rear camera. When the device 800 is in an operating mode, such as a shooting mode or a video mode, the front camera and / or the rear camera may receive external multimedia data. Each of the front camera and the rear camera may be a fixed optical lens system or have a focal length and optical zoom capabilities.

[0149] The audio component 810 is configured to output and / or input audio signals. For example, the audio component 810 includes a microphone (MIC) that is configured to receive external audio signals when the device 800 is in an operating mode, such as a call mode, a recording mode, and a voice recognition mode. The received audio signals can be further stored in the memory 804 or transmitted via the communication component 816. In some embodiments, the audio component 810 further includes a speaker for outputting audio signals.

[0150] The I / O interface 812 provides an interface between the processing component 802 and a peripheral interface module, and the peripheral interface module may be a keyboard, a click wheel, buttons, etc. These buttons may include but are not limited to: a home button, a volume button, a power button, and a lock button.

[0151] The sensor component 814 includes one or more sensors for providing an assessment of various aspects of the state of the device 800. For example, the sensor component 814 can detect the on / off state of the device 800, the relative positioning of components, such as the display and keypad of the device 800, the sensor component 814 can also detect a change in the position of the device 800 or a component of the device 800, the presence or absence of user contact with the device 800, the orientation or acceleration / deceleration of the device 800, and the temperature change of the device 800, the sensor component 814 may include a proximity sensor configured to detect the presence of nearby objects without any physical contact. The sensor component 814 may also include a light sensor, such as a CMOS or CCD image sensor, for use in imaging applications. In some embodiments, the sensor component 814 may further include an acceleration sensor, a gyro sensor, a magnetic sensor, a pressure sensor, or a temperature sensor.

[0152] The communication component 816 is configured to facilitate communication between the device 800 and other devices in a wired or wireless manner. The device 800 can access a wireless network based on a communication standard, such as WiFi, 2G, or 3G, or a combination thereof. In an exemplary embodiment, the communication component 816 receives a broadcast signal or broadcast-related information from an external broadcast management system via a broadcast channel. In an exemplary embodiment, the communication component 816 further includes a near field communication (NFC) module to facilitate short-range communication. For example, the NFC module can be implemented based on radio frequency identification (RFID) technology, infrared data association (IrDA) technology, ultra-wideband (UWB) technology, Bluetooth (BT) technology, and other technologies.

[0153] In an exemplary embodiment, the apparatus 800 may be implemented by one or more application specific integrated circuits (ASICs), digital signal processors (DSPs), digital signal processing devices (DSPDs), programmable logic devices (PLDs), field programmable gate arrays (FPGAs), controllers, microcontrollers, microprocessors, or other electronic components for performing the above method.

[0154] In an exemplary embodiment, a non-transitory computer-readable storage medium including instructions, such as a memory 804 including instructions, is also provided. The above instructions can be executed by a processor 820 of the apparatus 800 to complete the above method. For example, the non-transitory computer-readable storage medium may be a ROM, a random access memory (RAM), a CD-ROM, a magnetic tape, a floppy disk, an optical data storage device, etc.

[0155] A non-transitory computer-readable storage medium, when the instructions in the storage medium are executed by a processor of a terminal device, enables the terminal device to execute the method for determining the contour of an obstacle of the terminal device as described above.

[0156] This application also discloses a computer program product, including a computer program, which implements the method as described in this embodiment when executed by a processor.

[0157] Various embodiments of the systems and techniques described above in this application can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system on a chip systems (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include: being implemented in one or more computer programs, the one or more computer programs being executable and / or interpretable on a programmable system including at least one programmable processor, the programmable processor being a dedicated or general programmable processor, receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting the data and instructions to the storage system, the at least one input device, and the at least one output device.

[0158] The program code for implementing the method of this application can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing devices, such that when the program codes are executed by the processor or controller, the functions / operations specified in the flowchart and / or block diagram are implemented. The program codes can be executed entirely on the machine, partially on the machine, as an independent software package partially on the machine and partially on a remote machine, or entirely on a remote machine or an electronic device.

[0159] In the context of this application, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in connection with an instruction execution system, apparatus, or device. The machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. The machine-readable medium can include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of the machine-readable storage medium would include an electrical connection based on one or more wires, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), an optical fiber, a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0160] To provide for interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and a pointing device (e.g., a mouse or a trackball) by which the user can provide input to the computer. Other kinds of devices can also be used to provide for interaction with the user; for example, feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).

[0161] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data electronic device), or a computing system that includes middleware components (e.g., an application electronic device), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which the user can interact with an implementation of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include: a local area network (LAN), a wide area network (WAN), and the Internet.

[0162] A computer system may include a client and an electronic device. The client and the electronic device are generally far from each other and usually interact via a communication network. The relationship between the client and the electronic device is generated by computer programs running on respective computers and having a client-electronic device relationship with each other. The electronic device may be a cloud electronic device, also known as a cloud computing electronic device or a cloud host, which is a host product in a cloud computing service system, solving the defects of difficult management and weak business scalability existing in traditional physical hosts and VPS services ("Virtual Private Server", or simply "VPS"). The electronic device may also be an electronic device of a distributed system, or an electronic device combined with a blockchain. It should be understood that various forms of processes shown above can be used, reordering, adding or deleting steps. For example, the steps described in this application can be executed in parallel, sequentially or in a different order, as long as the desired results of the technical solutions disclosed in this application can be achieved, and no limitation is made herein.

[0163] After considering the specification and practicing the invention disclosed herein, those skilled in the art will readily conceive of other embodiments of this application. This application is intended to cover any variations, uses or adaptations of this application, which follow the general principles of this application and include well-known knowledge or conventional technical means in this technical field not disclosed in this application. The specification and examples are only regarded as exemplary, and the true scope and spirit of this application are pointed out by the following claims.

[0164] It should be understood that this application is not limited to the exact structures already described and shown in the drawings, and various modifications and changes can be made without departing from its scope. The scope of this application is only limited by the appended claims.

Claims

1. A method for determining the outline of an obstacle, characterized in that: The method is applied to an autonomous driving vehicle, and the method includes: Acquire coordinate information of a non-ground point cloud; wherein the non-ground point cloud is data information of the environment in front of the autonomous driving vehicle acquired by a sensor; Determining a distance value between each non-ground point cloud and the sensor according to the coordinate information of the non-ground point cloud; Determine the cluster radius according to the distance value; different distance values correspond to different cluster radii; Determining a clustering result based on the clustering radius; wherein the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle; Determining clustering data information of each obstacle group based on the clustering results; Determining a cluster radius of each obstacle based on the cluster data information of each obstacle group; According to the clustering radius of each obstacle, identify the clustering result of each obstacle; According to the clustering results of each obstacle, determine the centroid of each obstacle; Establishing a connecting line of the centroids of adjacent obstacles, projecting the point cloud on the connecting line of the centroids in the horizontal direction, and determining the number of projection points of the point cloud on the connecting line; Determine the outline of each obstacle based on the relationship between the number of projection points of the point cloud on the connecting line and a threshold; The threshold is 20% of the average value of the number of projection points of the connection line divided into a preset number of parts at equal intervals.

2. The method according to claim 1, characterized in that Determining a clustering result according to the cluster radius includes: Randomly selecting a point cloud in the non-ground point cloud as the initial sphere center, making a sphere with the cluster radius as the radius, and obtaining the non-ground point cloud in the initial sphere; Randomly selecting a point cloud from the non-ground point cloud in the initial sphere as the second sphere center, and making a sphere with the clustering radius as the radius to obtain the non-ground point cloud in the second sphere; A clustering result is determined according to the non-ground point cloud in the initial sphere and the non-ground point cloud in the second sphere.

3. The method according to claim 1, characterized in that Establishing a connecting line between the centroids of adjacent obstacles and determining the number of projection points of the point cloud on the connecting line includes: Obtaining a connecting line of the centroids of the adjacent obstacles, and dividing the connecting line into equal intervals to obtain a segmentation result; According to the segmentation result, the number of projection points of the point cloud on the connecting line is counted.

4. A device for determining the outline of an obstacle, characterized in that: The device is applied to an autonomous driving vehicle, and includes: An acquisition unit, configured to acquire coordinate information of a non-ground point cloud; wherein the non-ground point cloud is data information of the environment in front of the autonomous driving vehicle acquired by a sensor; a first determining unit configured to perform clustering processing based on the coordinate information of the non-ground point cloud to obtain a clustering result; wherein the clustering result includes at least one obstacle group, and each obstacle group includes at least one obstacle; a second determining unit, configured to determine clustering data information of each obstacle group based on the clustering result; a third determining unit, configured to determine the outline of each obstacle based on the clustering data information of each obstacle group; The third determining unit includes: A first determining module, configured to determine a cluster radius of each obstacle based on the clustering data information of each obstacle group; An identification module, used to identify the clustering result of each obstacle according to the clustering radius of each obstacle; A second determination module is configured to determine the centroid of each obstacle based on the clustering result of each obstacle; establish a connecting line between the centroids of adjacent obstacles, horizontally project the point cloud on the connecting line of the centroids, and determine the number of projected points of the point cloud on the connecting line; and determine the outline of each obstacle based on the relationship between the number of projected points of the point cloud on the connecting line and a threshold; The threshold is 20% of the average value of the number of projection points of the connection line divided into a preset number of parts at equal intervals; The first determining unit includes: A first determining module is configured to determine a distance value between each non-ground point cloud and the sensor based on coordinate information of the non-ground point cloud; A second determining module is used to determine a clustering radius according to the distance value; different distance values correspond to different clustering radii; The third determining module is configured to determine a clustering result according to the clustering radius.

5. An electronic device, characterized in that: include: a processor, and a memory communicatively connected to the processor; The memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 3.

6. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which are used to implement the method according to any one of claims 1 to 3 when executed by a processor.

7. A computer program product, characterized in that The invention comprises a computer program, which implements the method according to any one of claims 1 to 3 when being executed by a processor.