A point cloud filtering method, apparatus, vehicle, and storage medium
By acquiring the original point cloud data of the target vehicle and the road boundary dataset, and filtering out point cloud data outside the target lane lines based on the laser point position, the problem of processing time and algorithm difficulty caused by excessive point cloud data is solved, and efficient point cloud data processing is achieved.
Patent Information
- Application Number
- CN202310419750.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-04-18
- Publication Date
- 2026-01-30
- Estimated Expiration
- 2043-04-18
AI Technical Summary
As the resolution of lidar increases, the number of lidar points in the point cloud increases, leading to increased information processing time and algorithm complexity. Existing technologies struggle to effectively filter out redundant point cloud data.
By acquiring the original point cloud data of the target vehicle and the road boundary dataset, the road boundary data corresponding to each laser point is determined from the road boundary dataset based on the location of the laser point. Laser points outside the target lane line are filtered out to obtain the target point cloud data.
It effectively filters out point cloud data other than the target lane lines, reducing processing time and algorithm difficulty, and ensuring that no target is missed within the road segment.
Smart Images

Figure CN116518993B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of autonomous driving, specifically to a point cloud filtering method, device, vehicle, and storage medium. Background Technology
[0002] In autonomous driving systems, with technological advancements and increasingly stringent resolution requirements for LiDAR, the number of laser points in the point cloud acquired by LiDAR is steadily growing. Currently, a single frame of point cloud typically contains hundreds of thousands of laser points, while high-resolution mechanical LiDAR systems can reach hundreds of thousands. This increased number of laser points effectively describes the driving scenario, acquiring a wealth of information and providing more features for the backend target output.
[0003] However, the abundance of information creates some obstacles for subsequent information processing, such as increasing processing time and raising the difficulty of algorithms. Summary of the Invention
[0004] This application provides a point cloud filtering method, apparatus, vehicle, and storage medium that can filter out excess point cloud data on both sides of a road.
[0005] In a first aspect, this application provides a point cloud filtering method, which includes: acquiring original point cloud data of a target vehicle; the original point cloud data includes multiple laser points; acquiring a road boundary dataset; the road boundary dataset includes multiple road boundary data; the multiple road boundary data correspond one-to-one with multiple target positioning points on the target lane line; each road boundary data is used to indicate the road boundary range at the corresponding target positioning point; the target lane line is the outermost lane line of the road segment where the target vehicle is located; the multiple target positioning points are used to indicate the position of the target lane line; determining the road boundary data corresponding to each laser point from the road boundary dataset based on the position of each laser point among the multiple laser points; and filtering out the laser points outside the target lane line in the original point cloud data based on the road boundary data corresponding to each laser point to obtain the target point cloud data.
[0006] Optionally, the road boundary dataset is a distance threshold set. Obtaining the road boundary dataset may include: obtaining the positioning information of the target vehicle; determining the road segment where the target vehicle is located based on the positioning information of the target vehicle; taking the outermost lane line of the road segment where the target vehicle is located in the high-precision map as the target lane line, and extracting multiple initial positioning points of the target lane line; determining multiple target positioning points based on the multiple initial positioning points; calculating the distance between each target positioning point and the target vehicle to obtain the road boundary dataset.
[0007] Optionally, determining multiple target positioning points based on multiple initial positioning points may include: fitting multiple initial positioning points to obtain a fitted lane line; starting from the intersection of the first angular direction in front of the target vehicle and the fitted lane line, inserting positioning points multiple times on the fitted lane line according to a preset step angle until reaching the intersection of the second angular direction in front of the target vehicle and the fitted lane line; the preset step angle is used to represent the difference in azimuth angle between each of the two inserted adjacent positioning points and the target vehicle; and obtaining multiple target positioning points based on the multiple inserted positioning points.
[0008] Optionally, calculating the distance between each target positioning point and the target vehicle from multiple target positioning points to obtain a road boundary dataset may further include: calculating the distance between each target positioning point and the target vehicle sequentially as a distance threshold according to the order in which positioning points are inserted into the fitted lane lines to obtain a road boundary dataset; for any first laser point among multiple laser points, determining the road boundary data corresponding to each laser point from the road boundary dataset based on the position of each laser point among multiple laser points, including: determining the direction angle of the first laser point on the target vehicle as a third angle based on the position of the first laser point; determining the first sequence number corresponding to the first laser point based on the first angle, the third angle, and a preset step angle; and selecting the distance threshold corresponding to the first sequence number from the road boundary dataset as the road boundary data corresponding to the first laser point.
[0009] Optionally, determining the first serial number corresponding to the first laser point based on the first angle, the third angle, and the preset step angle may include: obtaining a first value based on the quotient of the first angle difference and the preset step angle; the first angle difference is the difference between the first angle and the third angle; and rounding the first value to the nearest integer to obtain the first serial number.
[0010] Optionally, the road boundary dataset is a set of coordinate values. Obtaining the road boundary dataset may further include: acquiring a visual image of the front of the target vehicle; determining a cubic function curve of the outermost lane line of the road segment where the target vehicle is located based on the visual image of the front of the target vehicle; the coordinate system of the cubic function curve is the vehicle coordinate system of the target vehicle; the vehicle coordinate system refers to a coordinate system with the rear axle center of the target vehicle as the origin, the front orientation of the target vehicle as the first axis, and the direction perpendicular to the front orientation of the target vehicle and parallel to the ground as the second axis; starting from the origin, selecting the value of each target positioning point on the first axis from multiple target positioning points according to a preset step length; the preset step length is used to represent the difference between the values of two adjacent target positioning points on the first axis; obtaining the value of each target positioning point on the second axis based on the value of each target positioning point on the first axis and the cubic function curve; and obtaining the road boundary dataset based on the value of each target positioning point on the second axis.
[0011] Optionally, obtaining a road boundary dataset based on the value of each target positioning point on the second axis may include: sequentially using the values of each target positioning point on the second axis as road boundary data according to the order in which the values are selected on the first axis; for any first laser point among multiple laser points, determining the road boundary data corresponding to each laser point from the road boundary dataset based on the position of each laser point among the multiple laser points, including: determining the value of the first laser point on the first axis based on the position of the first laser point; determining a second value based on the quotient of the value of the first laser point on the first axis and a preset step length; rounding the second value to obtain a second index corresponding to the first laser point; and selecting the road boundary data corresponding to the second index from the road boundary dataset as the road boundary data corresponding to the first laser point.
[0012] The point cloud filtering method provided in this application can acquire the original point cloud data of the target vehicle and the road boundary dataset. The road boundary data corresponds one-to-one with multiple target positioning points on the target lane line. Based on the position of each laser point among the multiple laser points, the road boundary data corresponding to each laser point is determined from the road boundary dataset. Then, based on the road boundary data corresponding to each laser point, laser points outside the target lane line in the original point cloud data are filtered out. The resulting target point cloud data is the information after removing obstacle information. Compared with current point cloud filtering methods, the point cloud filtering method provided in this application ensures that targets within the road segment are not missed, and solves the problems of increased processing time and algorithm difficulty caused by excessive and complex point cloud data that easily affects the point cloud data within the lane.
[0013] Secondly, this application provides a point cloud filtering device, which is used to filter out redundant point cloud data. The device includes: an acquisition module and a processing module.
[0014] The acquisition module is used to acquire the raw point cloud data of the target vehicle; the raw point cloud data includes multiple laser points; the acquisition module acquires the road boundary dataset; the road boundary dataset includes multiple road boundary data, and the multiple road boundary data corresponds one-to-one with multiple target positioning points on the target lane line; each road boundary data is used to indicate the road boundary range at the corresponding target positioning point; the target lane line is the outermost lane line of the road segment where the target vehicle is located; the multiple target positioning points are used to indicate the position of the target lane line.
[0015] The processing module is used to determine the road boundary data corresponding to each laser point from the road boundary dataset based on the position of each laser point among multiple laser points.
[0016] The processing module is also used to filter out laser points outside the target lane line in the original point cloud data based on the road boundary data corresponding to each laser point, so as to obtain the target point cloud data.
[0017] Optionally, the acquisition module is also used to acquire the location information of the target vehicle; the processing module is also used to determine the road segment where the target vehicle is located based on the location information of the target vehicle; take the outermost lane line of the road segment where the target vehicle is located in the high-precision map as the target lane line, and extract multiple initial positioning points of the target lane line; determine multiple target positioning points based on the multiple initial positioning points; calculate the distance between each target positioning point and the target vehicle to obtain the road boundary dataset.
[0018] Optionally, the processing module is also used to fit multiple initial positioning points to obtain a fitted lane line; starting from the intersection of the first angular direction in front of the target vehicle and the fitted lane line, positioning points are inserted multiple times on the fitted lane line according to a preset step angle until the intersection of the second angular direction in front of the target vehicle and the fitted lane line is reached; the preset step angle is used to represent the difference in azimuth angle between each of the two inserted adjacent positioning points and the target vehicle; multiple target positioning points are obtained based on the multiple inserted positioning points.
[0019] Optionally, the processing module is further configured to sequentially calculate the distance between each of the multiple target positioning points and the target vehicle as a distance threshold according to the order in which the positioning points are inserted into the fitted lane lines, thereby obtaining a road boundary dataset; for any first laser point among the multiple laser points, determine the distance threshold corresponding to each laser point from the distance threshold set based on the position of each laser point among the multiple laser points, including: determining the direction angle of the first laser point on the target vehicle as a third angle based on the position of the first laser point; determining the first sequence number corresponding to the first laser point based on the first angle, the third angle, and a preset step angle; and selecting the distance threshold corresponding to the first sequence number from the road boundary dataset as the road boundary data corresponding to the first laser point.
[0020] Optionally, the processing module is further configured to obtain a first value based on the quotient of the first angle difference and the preset step angle; the first angle difference is the difference between the first angle and the third angle; and to round the first value to obtain a first sequence number.
[0021] Optionally, the acquisition module is further configured to acquire a visual image of the front of the target vehicle; the processing module is further configured to determine, based on the visual image of the front of the target vehicle, the cubic function curve of the outermost lane line of the road segment where the target vehicle is located; the coordinate system of the cubic function curve is the vehicle coordinate system of the target vehicle; the vehicle coordinate system refers to a coordinate system with the rear axle center of the target vehicle as the origin, the front orientation of the target vehicle as the first axis, and the direction perpendicular to the front orientation of the target vehicle and parallel to the ground as the second axis; starting from the origin, the value of each target positioning point on the first axis is selected from multiple target positioning points according to a preset step length; the preset step length is used to represent the difference between the values of two adjacent target positioning points on the first axis; based on the value of each target positioning point on the first axis and the cubic function curve, the value of each target positioning point on the second axis is obtained; based on the value of each target positioning point on the second axis, the road boundary dataset is obtained.
[0022] Optionally, the processing module is further configured to sequentially use the values of each target positioning point on the second axis as road boundary data according to the order in which the values are selected on the first axis, thereby obtaining a road boundary dataset; for any first laser point among multiple laser points, determine the road boundary data corresponding to each laser point from the road boundary dataset based on the position of each laser point among the multiple laser points, including: determining the value of the first laser point on the first axis based on the position of the first laser point; determining a second value based on the quotient of the value of the first laser point on the first axis and a preset step length; rounding the second value to obtain a second sequence number corresponding to the first laser point; and selecting the road boundary data corresponding to the second sequence number from the road boundary dataset as the road boundary data corresponding to the first laser point.
[0023] Thirdly, this application provides a computer program product that, when run on a computer, causes the computer to perform the steps of the related method described in the first aspect, so as to implement the method described in the first aspect.
[0024] Fourthly, this application provides an electronic device comprising: a processor and a memory; the memory storing processor-executable instructions; when the processor is configured to execute the instructions, causing the electronic device to perform the method described in the first aspect above.
[0025] Fifthly, this application provides a computer-readable storage medium comprising: computer software instructions; when the computer software instructions are executed in an electronic device, they cause the electronic device to perform the method described in the first aspect above.
[0026] The beneficial effects of the second to fifth aspects mentioned above can be referred to the first aspect, and will not be repeated here. Attached Figure Description
[0027] The accompanying drawings, which are incorporated in and form part of this specification, illustrate embodiments consistent with this application and, together with the description, serve to explain the principles of this application, and do not constitute an undue limitation of this application.
[0028] Figure 1 A schematic diagram illustrating the implementation environment of the point cloud filtering method provided in this application embodiment;
[0029] Figure 2 A schematic diagram illustrating the composition of the computing processing device 200 provided in an embodiment of this application;
[0030] Figure 3 A schematic flowchart of the point cloud filtering method provided in the embodiments of this application;
[0031] Figure 4 Another schematic flowchart of the point cloud filtering method provided in the embodiments of this application;
[0032] Figure 5 This is another schematic flowchart of the point cloud filtering method provided in the embodiments of this application;
[0033] Figure 6 This application provides a high-precision map lane line rendering achieved through straight line fitting, as shown in the embodiments of this application.
[0034] Figure 7 This is an interpolation diagram provided for an embodiment of this application;
[0035] Figure 8 This is another schematic flowchart of the point cloud filtering method provided in the embodiments of this application;
[0036] Figure 9 This is a schematic diagram illustrating the filtering of lane line information based on high-precision maps (in heavy traffic situations) provided in an embodiment of this application.
[0037] Figure 10 A schematic diagram illustrating the filtering of lane line information based on high-precision maps (with target vehicles heavily obscuring the view) provided in an embodiment of this application;
[0038] Figure 11 This is another schematic flowchart of the point cloud filtering method provided in the embodiments of this application;
[0039] Figure 12 The high-precision map lane line effect diagram provided by the embodiment of this application through cubic curve fitting;
[0040] Figure 13 This is another schematic flowchart of the point cloud filtering method provided in the embodiments of this application;
[0041] Figure 14 A schematic diagram of the coordinate value set provided in the embodiments of this application;
[0042] Figure 15 A schematic diagram illustrating lane line filtering based on the output of a forward-looking camera (in heavy traffic) as provided in an embodiment of this application;
[0043] Figure 16 A schematic diagram illustrating lane line filtering based on the output of a forward-looking camera (with the target vehicle heavily obscuring the lane lines) provided in an embodiment of this application.
[0044] Figure 17 This is another schematic flowchart of the point cloud filtering method provided in the embodiments of this application;
[0045] Figure 18 A schematic diagram illustrating the intersection scene filtering situation provided by the method in this application embodiment;
[0046] Figure 19 This is a schematic diagram of the point cloud filtering device provided in the embodiments of this application. Detailed Implementation
[0047] The technical solutions of the embodiments of this application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.
[0048] It should be noted that in the embodiments of this application, the words "exemplarily" or "for example" are used to indicate examples, illustrations, or explanations. Any embodiment or design scheme described as "exemplarily" or "for example" in the embodiments of this application should not be construed as being more preferred or advantageous than other embodiments or design schemes. Specifically, the use of the words "exemplarily" or "for example" is intended to present the relevant concepts in a specific manner.
[0049] To facilitate a clear description of the technical solutions of the embodiments of this application, the terms "first" and "second" are used in the embodiments of this application to distinguish the same or similar items with essentially the same function and effect. Those skilled in the art can understand that the terms "first" and "second" are not intended to limit the quantity or execution order.
[0050] In autonomous driving systems, with technological advancements and increasingly stringent resolution requirements for LiDAR, the number of laser points in the point cloud acquired by LiDAR is steadily growing. Currently, a single frame of point cloud typically contains hundreds of thousands of laser points, while high-resolution mechanical LiDAR systems can reach hundreds of thousands. This increased number of laser points effectively describes the driving scenario, acquiring a wealth of information and providing more features for the backend target output.
[0051] However, the abundance of information creates some obstacles for subsequent information processing, such as increasing processing time and raising the difficulty of algorithms.
[0052] Based on this, this application provides a point cloud filtering method, which can obtain the original point cloud data of the target vehicle and the road boundary dataset, determine the road boundary data corresponding to each laser point from the road boundary dataset according to the position of each laser point among multiple laser points, and filter out the laser points outside the target lane line in the original point cloud data according to the road boundary data corresponding to each laser point to obtain the target point cloud data.
[0053] The following description is provided in conjunction with the accompanying drawings.
[0054] Figure 1 This is a schematic diagram illustrating the implementation environment of the point cloud filtering method provided in this application embodiment. For example... Figure 1 As shown, the implementation environment of the point cloud filtering method may include a vehicle 100 and a computing processing device 200. The vehicle 100 and the computing processing device 200 can be connected via a wired network or a wireless network. This wired network or wireless network may include one or more media, devices, or lines capable of transmitting information acquired by the vehicle 100 to the computing processing device 200.
[0055] Vehicle 100 can be a passenger car equipped with an onboard computer, or a commercial vehicle equipped with an onboard computer, etc.
[0056] The specific functions of vehicle 100 can be found in the relevant technical documents, and will not be repeated here.
[0057] In some embodiments, vehicle 100 may include a lidar, which can be used to collect point cloud data.
[0058] In some embodiments, vehicle 100 may include a camera that can be used to capture visual images of the area in front of the vehicle.
[0059] In some embodiments, vehicle 100 may include a positioning module, which can be used to obtain the positioning information of vehicle 100.
[0060] The positioning information may include latitude and longitude coordinates and heading angle.
[0061] Optionally, the positioning module can be a Global Positioning System (GPS) or a BeiDou positioning module, etc. This application does not impose any limitations on this.
[0062] The computing processing device 200 can be a computer, a server, or an electronic control unit (ECU) installed in the vehicle 100, or other electronic devices with computing processing functions.
[0063] A server can be an electronic device that provides computing or application services to other clients (such as mobile phones, computers, or large equipment like train systems) on a network.
[0064] In some embodiments, the computing processing device 200 can be used to acquire point cloud data collected by the lidar in the vehicle 100.
[0065] The computing processing device 200 can also be used to filter the acquired point cloud data. The specific process can be referred to in the following method embodiments, and will not be repeated here.
[0066] It should be noted that the above Figure 1 The example provided illustrates that the vehicle 100 and the computing processing unit 200 are each independent devices. Optionally, the vehicle 100 and the computing processing unit 200 can also be combined into one device. For example, as described above, the computing processing unit 200 can also be the ECU in the vehicle 100. In this case, the vehicle 100 and the computing processing unit 200 can also be combined into a vehicle having the aforementioned function of filtering the acquired point cloud data.
[0067] The point cloud filtering method provided in this application embodiment is executed by a point cloud filtering device. Optionally, the point cloud filtering device may be the aforementioned computing processing device 200; or, the point cloud filtering device may be the processor in the aforementioned computing processing device 200; or, the point cloud filtering device may be an application (APP) installed in the aforementioned computing processing device 200 for executing the point cloud filtering method; or, the point cloud filtering device may be a functional module with point cloud filtering function in the aforementioned computing processing device 200, etc. This application embodiment does not impose any limitations on these aspects.
[0068] For simplicity, the following description will use the computing processing device 200 as the execution subject of the point cloud filtering method provided in the embodiments of this application.
[0069] Figure 2 This is a schematic diagram illustrating the composition of the computing processing device 200 provided in an embodiment of this application. Figure 2 As shown, the computing processing device 200 includes: a processor 10, a memory 20, a communication line 30, a communication interface 40, and an input / output interface 50.
[0070] The processor 10, memory 20, communication interface 40, and input / output interface 50 can be connected via communication line 30.
[0071] The processor 10 is configured to execute instructions stored in the memory 20 to implement the point cloud filtering method, apparatus, device, and storage medium provided in the following embodiments of this application. The processor 10 may be a central processing unit (CPU), a network processor (NP), a digital signal processor (DSP), a microprocessor, a microcontroller, a programmable logic device (PLD), or any combination thereof. The processor 10 may also be any other device with processing capabilities, such as a circuit, device, or software module; this application embodiment does not limit this. In one example, the processor 10 may include one or more CPUs, for example... Figure 2 CPU0 and CPU1 are mentioned. As an optional implementation, the computing processing device 200 may include multiple processors; for example, in addition to processor 10, it may also include processor 60. Figure 2 (The example shown is a dashed line).
[0072] The memory 20 is used to store instructions. For example, the instructions may be computer programs. Optionally, the memory 20 may be a read-only memory (ROM) or other types of static storage devices that can store static information and / or instructions; it may also be a random access memory (RAM) or other types of dynamic storage devices that can store information and / or instructions; it may also be an electrically erasable programmable read-only memory (EEPROM), a compact disc read-only memory (CD-ROM) or other optical disc storage, optical disc storage (including compressed optical discs, laser discs, optical discs, digital universal optical discs, Blu-ray discs, etc.), magnetic disk storage media, or other magnetic storage devices, etc. The embodiments of this application do not limit this.
[0073] It should be noted that the memory 20 may exist independently of the processor 10 or may be integrated with the processor 10. The memory 20 may be located within the computing processing device 200 or outside the computing processing device 200; this embodiment of the application does not impose any restrictions on this.
[0074] Communication line 30 is used to transmit information between the various components included in the computing processing device 200. Communication line 30 can be an industry standard architecture (ISA) line, a peripheral component interconnect (PCI) line, or an extended industry standard architecture (EISA) line, etc. This communication line 30 can be divided into address lines, data lines, control lines, etc. For ease of representation, Figure 2 The line is represented by a single solid line, but this does not mean that there is only one line or one type of line.
[0075] The communication interface 40 is used to communicate with other devices (such as the vehicle 100 described above) or other communication networks. These other communication networks can be Ethernet, radio access network (RAN), wireless local area network (WLAN), etc. The communication interface 40 can be a module, circuit, transceiver, or any device capable of enabling communication.
[0076] The input / output interface 50 is used to realize human-computer interaction between the user and the computing processing device 200. For example, it can realize action interaction, text interaction, or voice interaction between the user and the computing processing device 200.
[0077] For example, the input / output interface 50 may be a mouse, keyboard, display screen or touch screen, etc., through which the user and the computing processing device 200 can realize action interaction or text interaction.
[0078] It should be noted that, Figure 2 The structure shown does not constitute a limitation on the computing processing device 200, except... Figure 2 In addition to the components shown, the computing processing device 200 may include more or fewer components than shown, or combinations of certain components, or different component arrangements.
[0079] The point cloud filtering method provided in the embodiments of this application is described below with reference to the accompanying drawings.
[0080] Figure 3 This is a schematic flowchart of the point cloud filtering method provided in an embodiment of this application. Figure 3 As shown, the method includes S101 to S104.
[0081] S101. Obtain the raw point cloud data of the target vehicle.
[0082] The target vehicle in S101 can be the aforementioned vehicle 100. The raw point cloud data includes multiple laser points.
[0083] The raw point cloud data can be a collection of multiple vectors summarized in a three-dimensional coordinate system, with each vector recorded as a laser point, and each laser point containing three-dimensional coordinates. Optionally, the laser points may also include color information or reflection intensity information, etc. This application does not impose any limitations on this.
[0084] S102. Obtain the road boundary dataset.
[0085] The road boundary dataset includes multiple road boundary data points, each corresponding one-to-one with a target location point on the target lane line. Each road boundary data point indicates the road boundary extent at its corresponding target location point. The target lane line is the outermost lane line of the road segment where the target vehicle is located. The multiple target location points indicate the position of the target lane line.
[0086] For example, the target lane lines are the leftmost lane line and the rightmost lane line of the road segment where the target vehicle is located.
[0087] For example, the relationship between road boundary data and target location points on the target lane line can be shown in Table 1 below:
[0088] Table 1
[0089] Leftmost lane line Road boundary data rightmost lane line Road boundary data Positioning point 1 Data 1 Positioning point 4 Data 4 Positioning point 2 Data 2 Positioning point 5 Data 5 Positioning point 3 Data 3 Positioning point 6 Data 6
[0090] As shown in Table 1, this table can include the leftmost lane line, road boundary data, and the rightmost lane line. The leftmost lane line can include location point 1, location point 2, and location point 3. The road boundary data can include data 1, data 2, and data 3. The rightmost lane line can include location point 4, location point 5, and location point 6. The road boundary data can include data 4, data 5, and data 6. There is a correspondence between location point 1 and data 1; between location point 2 and data 2; between location point 3 and data 3; between location point 4 and data 4; between location point 5 and data 5; and between location point 6 and data 6.
[0091] The specific process of S102 can be referred to in the following embodiments, and will not be repeated here.
[0092] S103. Based on the position of each laser point among multiple laser points, determine the road boundary data corresponding to each laser point from the road boundary dataset.
[0093] The specific process of S103 can be referred to in the following embodiments, and will not be repeated here.
[0094] S104. Based on the road boundary data corresponding to each laser point, filter out the laser points outside the target lane line in the original point cloud data to obtain the target point cloud data.
[0095] The specific process of S104 can be referred to in the following embodiments, and will not be repeated here.
[0096] The point cloud filtering method provided in this application can acquire multiple road boundary datasets and select corresponding road boundary data for each laser point in the original point cloud data. Based on the road boundary data corresponding to each laser point, laser points outside the target lane line in the original point cloud data are filtered out, resulting in target point cloud data containing only laser points within the target lane line. Compared with the original point cloud data, the target point cloud data filters out point cloud data containing irrelevant objects (such as roadside trees or roadside buildings) outside the outermost lane line, reducing the number of laser points in the point cloud data that needs subsequent processing, thereby reducing processing time and algorithm complexity.
[0097] The following is a description of S102.
[0098] In some embodiments, the road boundary dataset may be a distance threshold set, which the computing processing device may obtain using a high-precision map. Figure 4 This is another schematic flowchart illustrating the point cloud filtering method provided in an embodiment of this application. Figure 4 As shown, S102 can specifically include S1021 to S1025.
[0099] S1021. Obtain the location information of the target vehicle.
[0100] The positioning information may include latitude and longitude coordinates and heading angle. The heading angle is the angle between the direction the vehicle is facing and its heading.
[0101] As described above, the target vehicle (vehicle 100) may include a positioning module, and the computing processing device can obtain the positioning information collected by the positioning module in the target vehicle.
[0102] Optionally, after obtaining the location information of the target vehicle, the computing processing device can also convert the latitude and longitude coordinates in the location information into Universal Transverse Mercator Grid System (UTM) coordinates.
[0103] S1022. Based on the location information of the target vehicle, determine the road segment where the target vehicle is located.
[0104] For example, as mentioned above, the location information of the target vehicle may include latitude and longitude coordinates. The computing and processing device can then determine the road segment corresponding to the latitude and longitude coordinates in a high-precision map based on the latitude and longitude coordinates, and use the road segment corresponding to the latitude and longitude coordinates as the road segment where the target vehicle is located.
[0105] Optionally, the computing processing device can further determine the specific lane (or sequence number) where the target vehicle is located based on the target vehicle's positioning information.
[0106] S1023. Take the outermost lane line of the road segment where the target vehicle is located in the high-precision map as the target lane line, and extract multiple initial positioning points of the target lane line.
[0107] For example, as mentioned above, the target lane lines are the leftmost and rightmost lane lines of the road segment where the target vehicle is located, and the computing processing device can extract multiple initial positioning points from each of these two lane lines.
[0108] Optionally, after extracting multiple initial positioning points, the computing processing device can also obtain the latitude and longitude coordinates of the initial positioning points and convert the latitude and longitude coordinates of the initial positioning points into UTM coordinates.
[0109] Optionally, after converting the latitude and longitude coordinates of the initial positioning point into UTM coordinates, the computing processing device can also convert the UTM coordinates of the initial positioning point into coordinates in the vehicle coordinate system of the target vehicle.
[0110] The vehicle coordinate system of the target vehicle refers to a coordinate system with the rear axle center of the target vehicle as the origin, the front direction of the target vehicle as the first axis, and the direction perpendicular to the front direction of the target vehicle and parallel to the ground as the second axis.
[0111] Optionally, the computing processing device can calculate the coordinates (x, y) of the initial positioning point in the vehicle coordinate system of the target vehicle according to the following formulas (1) and (2):
[0112] x=(utme-ego utme)×cos(heading)+(utmn-ego utmn)×sin(heading)
[0113] Formula (1);
[0114] In formula (1), x represents the value of the initial positioning point at the first axis. utme represents the eastward position of the initial positioning point. ego utme represents the eastward position of the target vehicle. heading represents the heading angle of the target vehicle. utm n represents the northward position of the initial positioning point. ego utmn represents the northward position of the target vehicle. The eastward and northward position values in the UTM coordinates can be found in relevant technical documents and will not be repeated here.
[0115] y=(utmn-ego utmn)×cos(heading)+(utmn-ego utmn)×sin(heading)
[0116] Formula (2);
[0117] In formula (2), y represents the value of the initial positioning point at the second axis.
[0118] Optionally, after converting the UTM coordinates of the initial positioning point into coordinates in the vehicle coordinate system of the target vehicle, the computing processing device can also arrange them in order of distance from the target vehicle from near to far (or in other words, the value of x at the first axis from small to large).
[0119] S1024. Determine multiple target positioning points based on multiple initial positioning points;
[0120] S1024 can be described with reference to the following embodiments, and will not be repeated here.
[0121] S1025. Calculate the distance between each target positioning point and the target vehicle among multiple target positioning points to obtain the road boundary dataset (distance threshold set).
[0122] The specific process of S1025 can be referred to in the following embodiments, and will not be repeated here.
[0123] The following is a description of S1024.
[0124] In some possible embodiments, the computing processing device may directly use the initial positioning point as the target positioning point.
[0125] In other possible embodiments, the computational processing device may fit multiple initial positioning points, interpolate the fitted lane lines, and use the interpolated points as target positioning points.
[0126] in this case, Figure 5 This is another schematic flowchart illustrating the point cloud filtering method provided in an embodiment of this application. Figure 5 As shown, the above S1024 may specifically include S10241 to S10243.
[0127] S10241. Fit multiple initial positioning points to obtain the fitted lane lines.
[0128] Optionally, the computing processing device can perform straight-line fitting on multiple initial positioning points to obtain a lane line after straight-line fitting.
[0129] Optionally, as described above, the calculation processing device can be arranged in order of distance from the target vehicle from near to far (or in other words, the value of x at the first axle from small to large). In this case, the calculation processing device can connect adjacent initial positioning points in sequence according to the arrangement result to obtain the lane line after straight line fitting.
[0130] For example, please refer to Figure 6 As shown, Figure 6 This is a high-precision map lane line effect diagram provided by the embodiment of this application through straight line fitting. Figure 6 An example is shown on a high-precision map the effect of fitting the leftmost and rightmost lane lines of the target vehicle to a straight line.
[0131] S10242. Starting from the intersection of the first angular direction in front of the target vehicle and the fitted lane line, insert positioning points multiple times on the fitted lane line according to the preset step angle until the intersection of the second angular direction in front of the target vehicle and the fitted lane line is reached.
[0132] The term "front of the target vehicle" can also be understood as the direction the front of the target vehicle faces (first axis). The first angle can be preset in the computing device by the administrator. For example, the first angle can be 60°, 70°, or 80°, etc. This application embodiment does not limit the specific value of the first angle. The preset step angle is used to represent the difference in azimuth angle between each of the two inserted adjacent positioning points and the target vehicle. The preset step angle can also be preset in the computing device by the administrator. For example, the preset step angle can be 0.1°, 0.2°, or 0.3°, etc. This application embodiment does not limit the specific value of the preset step angle. The second angle can also be preset in the computing device by the administrator. For example, the second angle can be -60°, -70°, or -80°, etc. This application embodiment does not limit the specific value of the second angle.
[0133] Optionally, the calculation processing device can start from a first angular direction in front of the target vehicle, emit a ray that intersects with the lane line on the left at a point, and then emit multiple rays by decreasing the preset step angle each time, intersecting with the lane line on the left or right at multiple points, until it reaches a second angular direction in front of the target vehicle.
[0134] For example, taking a first angle of 70°, a second angle of -70°, and a preset step angle of 0.2° as an example, in the area from -70° to 70° in front of the target vehicle, starting from the 70° direction, interpolation is performed on the fitted lane line in the -70° direction according to the standard of 0.2° until the intersection of the target vehicle in the -70° direction and the fitted lane line is reached. In this case, a total of (70°-(-70°) / 0.2°+1)=701 positioning points can be inserted.
[0135] For example, please refer to Figure 7 As shown, Figure 7 This is an interpolation diagram provided for an embodiment of this application. Figure 7 The example illustrates part of the process of interpolating the fitted lane lines by emitting rays from the target vehicle.
[0136] S10243. Based on the multiple insertions of positioning points, multiple target positioning points are obtained. Among them, the multiple insertions of positioning points include the intersection of the first angular direction and the lane line, and the intersection of the second angular direction and the lane line.
[0137] For example, a computing device can directly use multiple inserted positioning points as the target positioning point.
[0138] For example, if the first angle is 70°, the second angle is -70°, and the preset step angle is 0.2°, and 701 positioning points are inserted into the fitted lane line, then the target positioning points obtained by the calculation and processing device are the 701 inserted positioning points.
[0139] In some possible embodiments, Figure 8 This is another schematic flowchart illustrating the point cloud filtering method provided in an embodiment of this application. Figure 8 As shown, S1025 may specifically include S10251, and for any one of the multiple laser points, S103 may specifically include S1031 to S1033.
[0140] S10251. Following the order in which positioning points are inserted into the fitted lane lines, calculate the distance between each target positioning point and the target vehicle as a distance threshold to obtain the road boundary dataset (distance threshold set).
[0141] For example, using the same first angle of 70°, second angle of -70°, and preset step angle of 0.2°, if 701 positioning points are inserted into the fitted lane line, then the first positioning point inserted into the fitted lane line is the intersection of the target vehicle's 70° direction with the fitted lane line (referred to as the 70° point); the second positioning point inserted into the fitted lane line is the intersection of the target vehicle's 69.8° (70°-0.2°) direction with the fitted lane line (referred to as the 69.8° point); the third positioning point inserted into the fitted lane line is the intersection of the target vehicle's 69.6° (69.8°-0.2°) direction with the fitted lane line (referred to as the 69.8° point); ...; the 701st positioning point inserted into the fitted lane line is the intersection of the target vehicle's -70° (-69.8°-0.2°) direction with the fitted lane line (referred to as the -70° point).
[0142] The calculation and processing device can sequentially calculate the distance between the 70° point and the target vehicle as the first distance threshold in the distance threshold set; calculate the distance between the 69.8° point and the target vehicle as the second distance threshold in the distance threshold set; calculate the distance between the 69.6° point and the target vehicle as the third distance threshold in the distance threshold set; ...; calculate the distance between the -70° point and the target vehicle as the 701st distance threshold in the distance threshold set.
[0143] Optionally, the computing processing device can calculate the distance between each target positioning point and the target vehicle according to the following formula (3):
[0144]
[0145] In formula (3), dis represents the distance between the target positioning point and the target vehicle. X represents the value of the target positioning point at the first axis. Y represents the value of the target positioning point at the second axis.
[0146] S1031. Based on the position of the first laser point, determine the direction angle of the first laser point on the target vehicle as the third angle.
[0147] For example, as described above, the computing processing device can establish the vehicle coordinate system of the target vehicle. In this case, the third angle can also be understood as the angle between the first connecting line and the first axis in the vehicle coordinate system. The first connecting line is also the line connecting the first laser point and the target vehicle.
[0148] S1032. Determine the first sequence number corresponding to the first laser point based on the first angle, the third angle, and the preset step angle.
[0149] Optionally, S1032 may specifically include the following steps:
[0150] Step 1: Obtain the first value based on the quotient of the first angle difference and the preset step angle.
[0151] The first angle difference is the difference between the first angle and the third angle.
[0152] Step 2: Round the first value to the nearest integer to obtain the first serial number.
[0153] Alternatively, the computing processing device may specifically calculate the first sequence number according to the following formula (4):
[0154] int num1 = roundf((ba) / c) Formula (4);
[0155] In formula (4), num1 represents the first index. b represents the first angle. a represents the third angle. c represents the preset step angle. roundf represents rounding to the nearest integer. int num1 represents taking the integer part of the rounded result as the first index.
[0156] S1033. From the road boundary dataset (distance threshold set), select the distance threshold corresponding to the first serial number as the road boundary data (distance threshold) corresponding to the first laser point.
[0157] For example, taking the first angle as 70° and the preset step angle as 0.2° as an example, assuming the third angle is 60°, the calculation processing device can calculate the first sequence number as 50 (roundf(70°-60°) / 0.2°) according to the above formula (4), and select the 50th distance threshold from the distance threshold set obtained in S10251 as the distance threshold corresponding to the first laser point.
[0158] Optionally, if the road boundary dataset is a distance threshold, the above S104 may specifically include: deleting laser points in the original point cloud data whose distance from the target vehicle is greater than the corresponding road boundary data (distance threshold) to obtain the target point cloud data.
[0159] Optionally, the specific implementation of S104 above can also be understood as retaining laser points whose distance to the target vehicle is less than or equal to the corresponding distance threshold in the road boundary dataset to obtain target point cloud data. For example, taking the original point cloud data including laser point A, laser point B, and laser point C, and the distance threshold corresponding to laser point A as Da, the distance threshold corresponding to laser point B as Db, and the distance threshold corresponding to laser point C as Dc determined according to S1033 above as an example, assuming that the distance between laser point A and the target vehicle is greater than Da, the distance between laser point B and the target vehicle is less than Db, and the distance between laser point C and the target vehicle is equal to Dc, then the computing and processing device can delete laser point A and obtain laser point B and laser point C as target point cloud data.
[0160] For example, Figure 9 This is a schematic diagram illustrating the filtering of lane line information based on high-precision maps (in cases with heavy traffic) provided in an embodiment of this application. Figure 9 This example illustrates how lane line information is filtered out on a high-precision map when there are many vehicles on the road section where the target vehicle is located.
[0161] For example, Figure 10 This is a schematic diagram illustrating the filtering of lane line information based on high-precision maps (with the target vehicle heavily obscuring the lanes) as provided in an embodiment of this application. Figure 10 This example illustrates how lane line information is filtered out when the target vehicle is heavily obscured by obstacles, as shown in the high-precision map.
[0162] In other embodiments, the road boundary dataset may be a set of coordinate values, and the computing processing device may also use visual images (visual lane lines) captured by a camera in the target vehicle (vehicle 100) to obtain the set of coordinate values. Figure 11 This is another schematic flowchart illustrating the point cloud filtering method provided in an embodiment of this application. Figure 11 As shown, the above S102 may specifically include S1026 to S10210.
[0163] S1026. Obtain a visual image of the front of the target vehicle.
[0164] As described above, the target vehicle (vehicle 100) may include a camera, so the visual image of the front of the target vehicle acquired in S1026 is also the visual image of the front of the vehicle captured by the camera included in the target vehicle.
[0165] S1027. Based on the visual image in front of the target vehicle, determine the cubic function curve of the outermost lane line of the road segment where the target vehicle is located.
[0166] The coordinate system in which the cubic function curve is located is also the vehicle coordinate system of the target vehicle.
[0167] For example, the computing processing device can use a preset lane line recognition algorithm to identify the outermost lane line in a visual image and output the cubic function curve of the outermost lane line (y = a0 + a1x + a2x). 2 +a3x 3 ).
[0168] Optionally, the outermost lane line of the road segment where the target vehicle is located may include the leftmost lane line and the rightmost lane line. In this case, the cubic function curve of the outermost lane line determined by the calculation and processing device may include the cubic function curve of the leftmost lane line (e.g., it may be called the first curve) and the cubic function curve of the rightmost lane line (e.g., it may be called the second curve).
[0169] For example, Figure 12 The image shows a high-precision map lane line effect obtained by cubic curve fitting, as provided in the embodiments of this application. Figure 12 The example shows the display effect of lane lines after cubic curve fitting on a high-precision map.
[0170] S1028. Starting from the origin, select the value of each target positioning point on the first axis from multiple target positioning points according to the preset step length.
[0171] The preset step length represents the difference between the values of two selected adjacent target positioning points on the first axis. The preset step length can be preset by the administrator in the computing device. For example, the preset step length can be 0.1m, 0.2m, or 0.3m, etc. This application embodiment does not impose such limitations.
[0172] For example, taking a preset step length of 0.1m as an example, the calculation and processing device can start from the origin of the vehicle coordinate system and select a target positioning point on the first axis every 0.1m along the first axis.
[0173] For example, taking a preset step length of 0.1m as an example, assuming that the calculation and processing device selects the maximum value of the target positioning point on the first axis as 200m, the calculation and processing device can sequentially select 0m as the value of the first target positioning point on the first axis, select 0.1m as the value of the second target positioning point on the first axis, select 0.3m as the value of the third target positioning point on the first axis, ..., and select 200m as the value of the 2001st target positioning point on the first axis.
[0174] S1029. Based on the value of each target positioning point on the first axis and the cubic function curve, obtain the value of each target positioning point on the second axis.
[0175] Optionally, the computing device can substitute the value of the target positioning point on the first axis into the cubic function curve to obtain the value of the target positioning point on the second axis.
[0176] For example, taking the first axis as the x-axis and the second axis as the y-axis, assume the cubic function curve is y = a0 + a1x + a2x 2 +a3x 3 Then the computing device can substitute the x-value of the target positioning point into the cubic function curve to obtain the y-value of the target positioning point.
[0177] Optionally, as described above, the outermost lane line of the road segment where the target vehicle is located may include the leftmost lane line and the rightmost lane line. The cubic function curve of the outermost lane line determined by the calculation and processing device may include a first curve of the leftmost lane line and a second curve of the rightmost lane line. Then, the calculation and processing device can substitute the value of each target positioning point on the first axis into the first curve to obtain the value of the target positioning point on the leftmost lane line on the second axis; and substitute the value of each target positioning point on the first axis into the second curve to obtain the value of the target positioning point on the rightmost lane line on the second axis.
[0178] S10210. Based on the value of each target positioning point on the second axis, obtain the road boundary dataset.
[0179] Optionally, as described above, the computing device can calculate the values of the target positioning points on the leftmost lane line and the target positioning points on the rightmost lane line on the second axis, respectively. In this case, the road boundary dataset can specifically include the left lane line boundary coordinate value set and the right lane line boundary coordinate value set. That is, the computing device can specifically substitute the values of multiple target positioning points on the first axis into the first curve to obtain the values of each target positioning point on the leftmost lane line on the second axis, and use these values as the left lane line boundary coordinate value set; substitute the values of multiple target positioning points on the second axis into the second curve to obtain the values of each target positioning point on the rightmost lane line on the second axis, and use these values as the right lane line boundary coordinate value set.
[0180] It should be noted that the above Figure 4 S1021 to S1025 in this section Figure 11 S1026 to S10210 are steps in two parallel schemes, and the order of the step numbers does not constitute a limitation on the execution sequence.
[0181] In some possible embodiments, Figure 13This is another schematic flowchart illustrating the point cloud filtering method provided in an embodiment of this application. Figure 13 As shown, S10210 can specifically include S102101, and for any one of the multiple laser points, S103 can specifically include S1034 to S1037.
[0182] S102101. Following the order in which values are selected on the first axis, the values of each target positioning point on the second axis are used as road boundary data to obtain the road boundary dataset.
[0183] Optionally, as described above, the road boundary dataset may specifically include a set of coordinate values for the left lane line boundary and a set of coordinate values for the right lane line boundary. In this case, the computing processing device may specifically take the values of each target positioning point on the leftmost lane line on the second axis as road boundary data in the order of taking values on the first axis, to obtain the set of coordinate values for the left lane line boundary; and take the values of each target positioning point on the rightmost lane line on the second axis as road boundary data in the order of taking values on the first axis, to obtain the set of coordinate values for the right lane line boundary.
[0184] For example, Figure 14 This is a schematic diagram of the coordinate value set provided in an embodiment of this application. Figure 14 As shown, taking a preset step length of 0.1m as an example, Figure 14 An example is shown showing the distribution of selected target positioning points along the x-axis (first axis) at intervals of 0.1m, with the target vehicle as the origin, on the leftmost and rightmost lane lines.
[0185] S1034. Determine the value of the first laser point on the first axis based on the position of the first laser point.
[0186] For example, the location of the first laser point can be its latitude and longitude coordinates. The calculation and processing device can convert the latitude and longitude coordinates of the first laser point into UTM coordinates, then convert the UTM coordinates into coordinates in the vehicle coordinate system of the target vehicle, and determine the value of the first laser point on the first axis based on the coordinates in the vehicle coordinate system. The specific conversion process can be referred to in S1023 above, and will not be repeated here.
[0187] S1035. Determine the second value based on the quotient of the value of the first laser point on the first axis and the preset step length.
[0188] S1036. Round the second value to the nearest integer to obtain the second serial number corresponding to the first laser point.
[0189] Alternatively, the computing device may specifically calculate the second serial number according to the following formula (5):
[0190] int num2 = roundf(e / f) Formula (5);
[0191] In formula (5), num2 represents the second index. e represents the value of the first laser point on the first axis. f represents the preset step length. roundf represents rounding to the nearest integer. int num2 represents taking the integer part of the rounded result as the second index.
[0192] S1037. From the road boundary dataset, select the road boundary data corresponding to the second serial number as the road boundary data corresponding to the first laser point.
[0193] Optionally, as described above, the road boundary dataset may specifically include a set of coordinate values for the left lane line boundary and a set of coordinate values for the right lane line boundary. Furthermore, the values of the target positioning points on the second axis in both the left and right lane line boundary coordinate sets are obtained in the order of their values on the first axis (or in ascending order of their values on the first axis). In this case, the computational processing device can select values from the left and right lane line boundary coordinate sets respectively.
[0194] The coordinates of the left and right lane line boundaries corresponding to the second serial number are used as the road boundary data corresponding to the first laser point.
[0195] Optionally, when the road boundary dataset is a set of coordinate values, and the road boundary dataset specifically includes the coordinate value set of the left lane line boundary and the coordinate value set of the right lane line boundary, the above S104 may specifically include: if the value of the first laser point on the second axis falls within the road boundary interval, then the first laser point is determined to be a laser point within the target lane line and retained; if the value of the first laser point on the second axis is outside the road boundary interval, then the first laser point is determined to be a laser point outside the target lane line and filtered out.
[0196] Among them, the road boundary interval is either an open interval or a closed interval, and the two endpoints of the road boundary interval are the coordinate values of the left lane line boundary and the right lane line boundary corresponding to the second serial number mentioned above.
[0197] For example, with the same preset step length of 0.1m, Figure 14Taking the positive direction of the second axis (y-axis) as shown on the left as an example, assuming that the value of the first laser point on the first axis is 10, the calculation and processing device can calculate the second number as 100 (roundf(10 / 0.1)) according to the above formula (5), and select the 100th coordinate value from the above set of left lane line boundary coordinate values as the left lane line boundary coordinate value corresponding to the first laser point (left threshold), and select the 100th coordinate value from the above set of right lane line boundary coordinate values as the right lane line boundary coordinate value corresponding to the first laser point (right threshold). If the value of the first laser point on the second axis is within the road boundary interval (right threshold, left threshold), then the first laser point is determined to be a laser point within the target lane line and retained; if the value of the first laser point on the second axis is outside the road boundary interval (right threshold, left threshold), then the first laser point is determined to be a laser point outside the target lane line and filtered out.
[0198] For example, Figure 15 This is a schematic diagram illustrating lane line filtering based on the output of a forward-looking camera (in a heavy traffic situation), as provided in an embodiment of this application. Figure 15 This example illustrates how lane line information is filtered out when there are many vehicles on the road where the target vehicle is located.
[0199] For example, Figure 16 This is a schematic diagram illustrating lane line filtering based on the output of a forward-looking camera (with the target vehicle heavily obscuring the lane lines) as provided in an embodiment of this application. Figure 16 This example illustrates how lane line information is filtered out when the target vehicle is heavily obscured by obstacles, as shown by the forward-facing camera.
[0200] Based on the understanding of the above embodiments, Figure 17 This is another schematic flowchart illustrating the point cloud filtering method provided in this application embodiment. Optionally, this method can be implemented by a person having the above-described... Figure 2 The electronic device with the hardware structure shown performs, such as Figure 17 As shown, the method may include S201 to S208.
[0201] S201. Input a high-precision map or input the original radar point cloud.
[0202] If you choose to input a high-precision map, then execute S202; if you choose to input a raw radar point cloud, then execute S207 directly.
[0203] S202, Extract the location points of the road boundaries on the map.
[0204] S203, convert each positioning point to the vehicle's coordinates.
[0205] S204. Determine if the road length reaches 200m.
[0206] If the condition is met, proceed to step S205; otherwise, return to step S202.
[0207] S205. Perform linear fitting on the positioning points.
[0208] S206, Obtain the road boundary range.
[0209] S207. Filter out point clouds outside the road by using the boundary.
[0210] S208. Obtain the filtered point cloud.
[0211] S201 to S208 can be referred to in the above embodiments, and will not be repeated here.
[0212] For example, Figure 18 This is a schematic diagram illustrating the intersection scene filtering situation provided by the method in this application embodiment. Figure 18 An example is shown showing the scene filtering at the intersection where the target vehicle is located.
[0213] The foregoing primarily describes the solutions provided by the embodiments of this application from a methodological perspective. To achieve the aforementioned functions, it includes corresponding hardware structures and / or software modules for executing each function. Those skilled in the art should readily recognize that, in conjunction with the units and algorithm steps of the various examples described in the embodiments disclosed herein, this application can be implemented in hardware or a combination of hardware and computer software. Whether a function is executed in hardware or by computer software driving hardware depends on the specific application and design constraints of the technical solution. Those skilled in the art may use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0214] In an exemplary embodiment, this application also provides a point cloud filtering device, which can be applied to the above-described computing processing device 200. Figure 19 This is a schematic diagram illustrating the composition of the point cloud filtering device provided in an embodiment of this application. Figure 19 As shown, the device may include an acquisition module 301 and a processing module 302.
[0215] The acquisition module 301 is used to acquire the original point cloud data of the target vehicle; acquire the road boundary dataset; the road boundary dataset includes multiple road boundary data, and the multiple road boundary data corresponds one-to-one with multiple target positioning points on the target lane line; each road boundary data is used to indicate the road boundary range at the corresponding target positioning point; the multiple target positioning points are used to indicate the position of the target lane line; the processing module 302 is used to determine the road boundary data corresponding to each laser point from the road boundary dataset based on the position of each laser point among the multiple laser points; and filter out the laser points outside the target lane line in the original point cloud data based on the road boundary data corresponding to each laser point to obtain the target point cloud data.
[0216] In some possible embodiments, the acquisition module 301 is further configured to acquire the positioning information of the target vehicle; the processing module 302 is further configured to determine the road segment where the target vehicle is located based on the positioning information of the target vehicle; take the outermost lane line of the road segment where the target vehicle is located in the high-precision map as the target lane line, and extract multiple initial positioning points of the target lane line; determine multiple target positioning points based on the multiple initial positioning points; calculate the distance between each target positioning point and the target vehicle to obtain the road boundary dataset.
[0217] In some possible embodiments, the processing module 302 is further configured to fit multiple initial positioning points to obtain a fitted lane line; starting from the intersection of the first angular direction in front of the target vehicle and the fitted lane line, insert positioning points multiple times on the fitted lane line according to a preset step angle until the intersection of the second angular direction in front of the target vehicle and the fitted lane line is reached; the preset step angle is used to represent the difference in azimuth angle between each of the two inserted adjacent positioning points and the target vehicle; and multiple target positioning points are obtained based on the multiple inserted positioning points.
[0218] In some possible embodiments, the processing module 302 is further configured to: sequentially calculate the distance between each of the multiple target positioning points and the target vehicle as a distance threshold according to the order in which the positioning points are inserted into the fitted lane lines, thereby obtaining a road boundary dataset; determine the direction angle of the first laser point on the target vehicle as a third angle based on the position of the first laser point; determine the first sequence number corresponding to the first laser point based on the first angle, the third angle, and a preset step angle; and select the distance threshold corresponding to the first sequence number from the road boundary dataset as the road boundary data corresponding to the first laser point.
[0219] In some possible embodiments, the processing module 302 is further configured to obtain a first value based on the quotient of the first angle difference and the preset step angle; the first angle difference is the difference between the first angle and the third angle; and to round the first value to obtain a first sequence number.
[0220] In some possible embodiments, the acquisition module 301 is further configured to acquire a visual image of the front of the target vehicle; the processing module 302 is further configured to determine the cubic function curve of the outermost lane line of the road segment where the target vehicle is located based on the visual image of the front of the target vehicle; starting from the origin, select the value of each target positioning point on the first axis according to a preset step length; the preset step length is used to represent the difference between the values of two adjacent target positioning points on the first axis; obtain the value of each target positioning point on the second axis according to the value of each target positioning point on the first axis and the cubic function curve; and obtain the road boundary dataset according to the value of each target positioning point on the second axis.
[0221] In some possible embodiments, the processing module 302 is further configured to: sequentially use the values of each target positioning point on the second axis as road boundary data according to the order in which the values are selected on the first axis, to obtain a road boundary dataset; determine the value of the first laser point on the first axis according to the position of the first laser point; determine a second value according to the quotient of the value of the first laser point on the first axis and a preset step length; round the second value to obtain a second serial number corresponding to the first laser point; and select the road boundary data corresponding to the second serial number from the road boundary dataset as the road boundary data corresponding to the first laser point.
[0222] In an exemplary embodiment, this application also provides a computer-readable storage medium storing computer program instructions thereon; when the computer program instructions are executed by an electronic device, the electronic device causes the electronic device to perform the method described in the foregoing embodiments. The computer-readable storage medium may be a non-transitory computer-readable storage medium, such as a ROM, random access memory (RAM), CD-ROM, magnetic tape, floppy disk, and optical data storage device.
[0223] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented using software programs, implementation can be, in whole or in part, in the form of a computer program product. This computer program product includes one or more computer-executable instructions. When these computer-executable instructions are loaded and executed on a computer, all or part of the flow or function according to the embodiments of this application is generated. The computer can be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer-executable instructions can be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, computer-executable instructions can be transmitted from one website, computer, server, or data center to another via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means.
[0224] Although this application has been described herein in conjunction with various embodiments, those skilled in the art, by reviewing the accompanying drawings, disclosure, and appended claims, will understand and implement other variations of the disclosed embodiments in carrying out the claimed application. In the claims, the word "comprising" does not exclude other components or steps, and "a" or "an" does not exclude multiple components. A single processor or other unit can implement several functions listed in the claims. While different dependent claims may recite certain measures, this does not mean that these measures cannot be combined to produce good results.
[0225] Although this application has been described in conjunction with specific features and embodiments, it is obvious that various modifications and combinations can be made thereto without departing from the spirit and scope of this application. Accordingly, this specification and drawings are merely exemplary illustrations of this application as defined by the appended claims, and are considered to cover any and all modifications, variations, combinations, or equivalents within the scope of this application. Clearly, those skilled in the art can make various alterations and modifications to this application without departing from the spirit and scope of this application. Thus, if such modifications and modifications of this application fall within the scope of the claims of this application and their equivalents, this application is also intended to include such modifications and modifications.
Claims
1. A method of point cloud filtering, the method comprising: The method comprises: acquiring original point cloud data of a target vehicle; the original point cloud data comprises a plurality of laser points; acquiring a visual image in front of the target vehicle; determining a cubic function curve of an outermost lane line of a road section where the target vehicle is located based on the visual image in front of the target vehicle; the coordinate system where the cubic function curve is located is a vehicle coordinate system of the target vehicle; the vehicle coordinate system refers to a coordinate system with a rear axle center of the target vehicle as an origin, a vehicle head direction of the target vehicle as a first axis, and a direction perpendicular to the vehicle head direction of the target vehicle and parallel to the ground as a second axis; starting from the origin, selecting a value of each target positioning point on the target lane line on the first axis according to a preset step length; the preset step length is used to represent the difference between the values of two adjacent target positioning points on the first axis; the target lane line is the outermost lane line of the road section where the target vehicle is located; the plurality of target positioning points are used to indicate the position of the target lane line; obtaining the value of each target positioning point on the second axis according to the value of each target positioning point on the first axis and the cubic function curve; in the order of selecting the values on the first axis, sequentially taking the value of each target positioning point on the second axis as road boundary data to obtain a coordinate value set; the coordinate value set comprises a plurality of road boundary data; the plurality of road boundary data correspond to the plurality of target positioning points one by one; each road boundary data is used to indicate the road boundary range at the corresponding target positioning point; for any first laser point in the plurality of laser points, determining the value of the first laser point on the first axis according to the position of the first laser point; determining a second value according to the quotient of the value of the first laser point on the first axis and the preset step length; rounding the second value to obtain a second serial number corresponding to the first laser point; from the coordinate value set, selecting the road boundary data corresponding to the second serial number as the road boundary data corresponding to the first laser point; filtering out laser points other than the target lane line in the original point cloud data according to the road boundary data corresponding to each laser point in the plurality of laser points to obtain target point cloud data.
2. A point cloud filtering method, characterized in that, The method comprises: acquiring original point cloud data of a target vehicle; the original point cloud data comprises a plurality of laser points; acquiring positioning information of the target vehicle; determining a road section where the target vehicle is located according to the positioning information of the target vehicle; taking the outermost lane line of the road section where the target vehicle is located in a high-definition map as a target lane line, and extracting a plurality of initial positioning points of the target lane line; the target lane line is the outermost lane line of the road section where the target vehicle is located; fitting the plurality of initial positioning points to obtain a fitted lane line; The preset step angle is used to represent the difference between the azimuth angles of two adjacent positioning points inserted. A plurality of target positioning points are obtained according to the plurality of inserted positioning points; the plurality of target positioning points are used to indicate the position of the target lane line. According to the order of inserting the positioning points in the fitted lane line, the distance between each target positioning point in the plurality of target positioning points and the target vehicle is calculated as a distance threshold value in sequence to obtain a distance threshold value set; the distance threshold value set includes a plurality of road boundary data; the plurality of road boundary data correspond to the plurality of target positioning points on the target lane line one by one; each road boundary data is used to indicate the road boundary range at the corresponding target positioning point. For any first laser point in the plurality of laser points, according to the position of the first laser point, the direction angle of the first laser point to the target vehicle is determined as a third angle. According to the first angle, the third angle, and the preset step angle, a first serial number corresponding to the first laser point is determined. From the distance threshold value set, a distance threshold value corresponding to the first serial number is selected as road boundary data corresponding to the first laser point. According to the road boundary data corresponding to each laser point in the plurality of laser points, the laser points other than the target lane line in the original point cloud data are filtered out to obtain target point cloud data.
3. The method of claim 2, wherein, The first serial number corresponding to the first laser point is determined according to the first angle, the third angle, and the preset step angle, including: A first value is obtained according to the quotient of the first angle difference and the preset step angle; the first angle difference is the difference between the first angle and the third angle. The first value is rounded to obtain the first serial number.
4. A point cloud filtering apparatus, characterized by, The device includes an acquisition module and a processing module. The acquisition module is used to acquire the original point cloud data of the target vehicle; the original point cloud data includes a plurality of laser points. The acquisition module is also used to acquire a visual image in front of the target vehicle. The processing module is further configured to determine a cubic function curve of an outermost lane line of a road segment on which the target vehicle is located based on a visual image in front of the target vehicle; the coordinate system in which the cubic function curve is located is a vehicle coordinate system of the target vehicle; the vehicle coordinate system refers to a coordinate system with a rear axle center of the target vehicle as an origin, a vehicle head direction of the target vehicle as a first axis, and a direction perpendicular to the vehicle head direction of the target vehicle and parallel to the ground as a second axis; a value of each target positioning point on the first axis is selected from the origin according to a preset step length; the preset step length is used to represent a difference between values of adjacent target positioning points on the first axis; the target lane line is the outermost lane line of the road segment on which the target vehicle is located; the target positioning points are used to indicate positions of the target lane line; a value of each target positioning point on the second axis is obtained according to the value of each target positioning point on the first axis and the cubic function curve; The processing module is further configured to sequentially take the value of each target positioning point on the second axis as road boundary data according to an order in which the values on the first axis are selected, to obtain a coordinate value set; the coordinate value set includes a plurality of road boundary data; the plurality of road boundary data correspond to the plurality of target positioning points one by one; and each road boundary data is used to indicate a road boundary range at a corresponding target positioning point. The processing module is configured to, for any first laser point in the plurality of laser points, determine a value of the first laser point on the first axis according to a position of the first laser point, determine a second value according to a quotient of the value of the first laser point on the first axis and the preset step length, obtain a second serial number corresponding to the first laser point by rounding off the second value, select road boundary data corresponding to the second serial number from the coordinate value set as road boundary data corresponding to the first laser point, and filter out laser points other than the target lane line in the original point cloud data according to the road boundary data corresponding to each laser point in the plurality of laser points, to obtain target point cloud data.
5. A vehicle characterized by comprising: The vehicle includes a memory and a processor. The memory stores instructions executable by the processor. The processor is configured to execute the instructions, so that the vehicle implements the method in any one of claims 1-3.
6. A computer-readable storage medium, characterized in that, The computer-readable storage medium includes computer software instructions. When the computer software instructions run in the electronic device, the electronic device implements the method in any one of claims 1-3.
Citation Information
Patent Citations
Road boundary detection method based on multi-line laser radar
CN105404844A
Road edge identification method and a road edge identification system
CN109522804A
Lane line generation method and device, storage medium and electronic equipment
CN111811530A