Lane determination method, device, equipment and storage medium
Through the curve fitting and segmented processing of the data point of the lane line, we obtain a more accurate control point set, solve the problem of poor lane line fit, and improve the effect of car navigation rendering and driving safety.
Patent Information
- Application Number
- CN202210313624.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2022-03-28
- Publication Date
- 2025-01-24
- Estimated Expiration
- 2042-03-28
AI Technical Summary
In the prior art, the fitting degree of lane lines is poor, resulting in poor smoothness of lane lines, affecting the rendering effect of on-board navigation.
Based on the lane -based data point set to determine the first control point set, the curve fixes, the segments are processed to obtain multiple curve segments, and the control point set of each curve segment is processed. , So as to get more accurate target lane lines.
Improve the accuracy of lane line fitting, improve the effect of car navigation rendering, and then improve user experience and driving safety.
Smart Images

Figure CN114647816B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of data processing technology, and in particular to the fields of intelligent transportation, autonomous driving, smart cockpits and high-precision map technologies. Background Art
[0002] In the lane line mapping and fitting scenario, the smoothness of the lane line will affect the rendering effect of the vehicle. At present, the lane line fitting degree of many maps is poor, which affects the smoothness of the lane line and makes the rendering effect of the vehicle navigation poor. Summary of the invention
[0003] The present invention provides a lane line determination method, device, equipment and storage medium.
[0004] According to one aspect of the present disclosure, a method for determining a lane line is provided, comprising:
[0005] Determine a first control point set based on the lane line data point set;
[0006] Performing curve fitting based on the first control point set to obtain a first curve;
[0007] Performing segmentation processing on the first curve to obtain a plurality of curve segments;
[0008] Determine a control point subset corresponding to each curve segment in the plurality of curve segments in the first control point set;
[0009] Processing a subset of control points corresponding to each curve segment based on each curve segment and lane line data point set to obtain a second control point set;
[0010] A target lane line is obtained based on the second control point set.
[0011] According to another aspect of the present disclosure, a lane line determination device is provided, comprising:
[0012] A determination module, configured to determine a first control point set based on a lane line data point set;
[0013] A first processing module, configured to perform curve fitting based on a first control point set to obtain a first curve;
[0014] A second processing module is used to perform segment processing on the first curve to obtain multiple curve segments;
[0015] A third processing module, configured to determine, from the first control point set, a control point subset corresponding to each of the plurality of curve segments;
[0016] A fourth processing module, configured to process a control point subset corresponding to each curve segment based on each curve segment and lane line data point set to obtain a second control point set;
[0017] The target lane line determination module is used to obtain the target lane line based on the second control point set.
[0018] According to another aspect of the present disclosure, there is provided an electronic device, comprising:
[0019] at least one processor; and
[0020] a memory communicatively connected to at least one processor; wherein,
[0021] The memory stores instructions that can be executed by at least one processor, and the instructions are executed by at least one processor so that the at least one processor can execute any lane line determination method in the embodiments of the present disclosure.
[0022] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, wherein the computer instructions are used to enable a computer to execute any one of the lane line determination methods in the embodiments of the present disclosure.
[0023] According to another aspect of the present disclosure, a computer program product is provided, including a computer program, and when the computer program is executed by a processor, it implements any one of the lane line determination methods in the embodiments of the present disclosure.
[0024] One embodiment of the above application has the following advantages or beneficial effects:
[0025] Curve fitting is performed on the first control point set determined based on the lane line data point set to obtain a first curve, and then the first curve is segmented to obtain multiple curve segments, and a control point subset corresponding to each curve segment is processed based on each curve segment and the lane line data point set. In this way, the first curve is segmented and the control point subsets are processed separately to obtain a more accurate second control point set, so that the target lane line obtained based on the second control point set is more accurate, thereby improving the vehicle navigation rendering effect.
[0026] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present disclosure, nor is it intended to limit the scope of the present disclosure. Other features of the present disclosure will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0027] The accompanying drawings are used to better understand the present solution and do not constitute a limitation of the present disclosure.
[0028] Figure 1 is a flowchart of a method for determining a lane line according to an embodiment of the present disclosure;
[0029] Figure 2is a flowchart of a method for determining a lane line according to another embodiment of the present disclosure;
[0030] Figure 3 is a flowchart of a method for determining a lane line according to another embodiment of the present disclosure;
[0031] Figure 4 is a flowchart of a method for determining a lane line according to another embodiment of the present disclosure;
[0032] Figure 5 is a specific schematic diagram of a method for determining a lane line according to an embodiment of the present disclosure;
[0033] Figure 6 is a block diagram of a lane line determination device according to an embodiment of the present disclosure;
[0034] Figure 7 It is a block diagram of an electronic device used to implement the lane line determination method of the embodiment of the present disclosure. DETAILED DESCRIPTION
[0035] The following is a description of exemplary embodiments of the present disclosure in conjunction with the accompanying drawings, including various details of the embodiments of the present disclosure to facilitate understanding, which should be considered as merely exemplary. Therefore, it should be recognized by those of ordinary skill in the art that various changes and modifications may be made to the embodiments described herein without departing from the scope and spirit of the present disclosure. Similarly, for the sake of clarity and conciseness, descriptions of well-known functions and structures are omitted in the following description.
[0036] Figure 1 FIG. 1 is a flow chart of a method for determining a lane line according to an embodiment of the present disclosure. Figure 1 As shown, the method may include:
[0037] S101, determining a first control point set based on a lane line data point set;
[0038] S102, performing curve fitting based on the first control point set to obtain a first curve;
[0039] S103, performing segmentation processing on the first curve to obtain multiple curve segments;
[0040] S104, determining a control point subset corresponding to each curve segment in the first control point set;
[0041] S105, processing a control point subset corresponding to each curve segment based on each curve segment and lane line data point set to obtain a second control point set;
[0042] S106. Obtain a target lane line based on the second control point set.
[0043] Exemplarily, the lane line data point set includes a plurality of original lane line data points for fitting the lane line, and the original lane line data points may be obtained based on road image detection, or may be obtained based on data reported by each vehicle. In this embodiment, a plurality of original lane line data points may be randomly selected from the lane line data point set as the first control point set, or a plurality of original lane line data points may be randomly selected, and then the selected plurality of original lane line data points are calculated, and the calculated data points are used as the first control point set.
[0044] For example, after obtaining the first curve, the first curve may be segmented according to the distance to obtain multiple curve segments; or the first curve may be segmented according to the number of fitted first control points to obtain multiple curve segments. For example, every four first control points are divided into one curve segment.
[0045] For example, the control points in the control point subset corresponding to the curve segment may be modified, increased or decreased based on all lane line data points and curve segments in the lane line data point set; the lane line data points corresponding to each curve segment may be determined in the lane line data point set, and the control points in the control point subset corresponding to the curve segment may be modified, increased or decreased based on the lane line data points and curve segments corresponding to each curve segment. A second control point set is then obtained based on all control point subsets after the control points are modified, increased or decreased. The target lane line may be fitted more accurately based on the second control point set.
[0046] In the technical solution disclosed in the present invention, curve fitting is performed based on a first control point set determined based on a lane line data point set to obtain a first curve, and then the first curve is segmented to obtain multiple curve segments, and a control point subset corresponding to each curve segment is processed based on each curve segment and the lane line data point set. In this way, the first curve is segmented and the control point subsets are processed separately to obtain a more accurate second control point set, so that the target lane line obtained based on the second control point set is more accurate, thereby improving the rendering effect of the vehicle navigation, and then improving the user experience, while improving the driving safety.
[0047] In one embodiment, Figure 2 As shown, the target lane line is obtained based on the second control point set, including:
[0048] S201, performing curve fitting based on a second control point set to obtain a second curve;
[0049] S202, processing the second control point set based on the second curve and the lane line data point set to obtain a third control point set;
[0050] S203: Obtain a target lane line based on the third control point set.
[0051] Exemplarily, after obtaining the second control point set, a second curve is fitted according to the second control point set, and the error of each control point in the second control point set can be determined according to the distance from each point in the lane line data point set to the second curve, so that each control point is modified, deleted or added, and the second curve is globally optimized to obtain a third control point set, and then the target lane line is fitted according to the third control point set, further improving the accuracy of the target lane fitting.
[0052] In one embodiment, Figure 3 As shown, determining a first control point set based on a lane line data point set includes:
[0053] S301, determining a plurality of lane line data points in a lane line data point set;
[0054] S302, determining a slope unit vector corresponding to the i-th lane line data point among a plurality of lane line data points;
[0055] S303, determining a first control point corresponding to the ith lane line data point based on a distance between the ith lane line data point and the (i-1)th lane line data point of the plurality of lane line data points and a slope unit vector corresponding to the ith lane line data point; wherein i is greater than 1 and is a positive integer;
[0056] S304: Add the first control point corresponding to the i-th lane line data point to the first control point set.
[0057] For example, multiple lane line data points may be randomly selected from the lane line data point set, and the slope unit vector corresponding to each lane line data point in the multiple lane line data points may be calculated, thereby ensuring the diversity of the data and making the fitted curve more accurate.
[0058] Exemplarily, a lane line data point adjacent to the i-th lane line data point is found in the lane line data point set, and a slope unit vector is obtained by performing slope calculation based on the i-th lane line data point and its adjacent lane line data points. The slope unit vector is then mapped to the X-axis and Y-axis of the Cartesian coordinate system, respectively, to obtain the X-axis component and the Y-axis component. It should be noted that when processing the first lane line data point and the second lane line data point among multiple lane line data points, the first control point corresponding to the first lane line data point and the first control point corresponding to the second lane line data point can be obtained simultaneously.
[0059] In this embodiment, the distance between the i-th lane line data point (x2, y2) and the i-1-th lane line data point (x1, y1) in the lane line data point set is determined, and is recorded as dt. The above distance is then multiplied by the X-axis component and the Y-axis component respectively, and the calculation is performed based on the multiplication result and the i-th lane line data point, so as to determine a more accurate first control point.
[0060] The calculation formula for the first control point is as follows:
[0061]
[0062]
[0063] Among them, (x′2, y′2) represents the coordinates of the first control point, Δx represents the X-axis component, Δy represents the Y-axis component, and dt represents the distance between the i-th lane line data point (x2, y2) and the i-1-th lane line data point (x1, y1).
[0064] In one embodiment, Figure 4 As shown, based on each curve segment and lane line data point set, a control point subset corresponding to each curve segment is processed, including:
[0065] S401, determining a lane line data point in a lane line data point set corresponding to a j-th curve segment among a plurality of curve segments;
[0066] S402, calculating a first error based on a distance between a lane line data point corresponding to the j-th curve segment and the j-th curve segment;
[0067] S403. Processing a subset of control points corresponding to the j-th curve segment based on the first error; wherein j is a positive integer.
[0068] In this embodiment, the first curve is segmented once for every four first control points, each curve segment contains four first control points, and the range of the curve segment is determined according to the coordinates of the first and last first control points. According to this range, the corresponding lane line data point is determined in the lane line data points.
[0069] The sum of the squares of the distances from each corresponding lane line data point to the curve segment is calculated, and the square root of the calculated sum of squares is taken to obtain a first error. The first error can reflect the fitting condition of the curve segment, such as underfitting or overfitting, so that the control points in the control point subset can be increased or decreased according to the curve fitting condition, so as to achieve a better curve fitting effect.
[0070] In one embodiment, processing a subset of control points corresponding to the j-th curve segment based on the first error includes:
[0071] When the first error is greater than the first threshold, at least one control point is added to the control point subset corresponding to the j-th curve segment.
[0072] For example, when the first error is greater than the first threshold, it indicates that the curve segment is underfitted, so at least one new control point needs to be added. The new control point can be determined based on a lane line data point set, or based on other lane line data points. The first threshold can be set according to actual needs.
[0073] In this embodiment, when the first error is greater than the first threshold, the calculation of the subsequent curve segments of the curve segment is stopped, and the two first control points with the farthest distance are determined among the four first control points of the curve segment, and at least one new control point is added to the above two first control points. The four control points are grouped as a group and re-divided into multiple control point subsets, and the calculation is continued until the calculated first error is not greater than the first threshold. By solving the problem of under-fitting of the curve of each curve segment separately, re-fitting the entire first curve is avoided, the amount of calculation is reduced, and the fitting speed of the target lane line is accelerated.
[0074] Furthermore, the method of adding at least one new control point to the above-mentioned two first control points includes: determining two corresponding lane line data points in the lane line point set based on the above-mentioned two first control points, and selecting a new lane line data point between the determined two lane line data points in the lane line set, and calculating a new control point based on the new lane line data point.
[0075] In one embodiment, processing a subset of control points corresponding to the j-th curve segment based on the first error includes:
[0076] When the first error is not greater than the first threshold, based on the first curve, a preset distance is extended on the j-th curve segment to obtain an extended segment of the j-th curve segment;
[0077] Determine the lane line data point corresponding to the extended section in the lane line data point set;
[0078] Calculating a second error based on a distance between the lane line data point corresponding to the extended segment and the extended segment;
[0079] When the second error is greater than the second threshold, at least one control point is deleted from the control point subset corresponding to the j-th curve segment.
[0080] Exemplarily, when the first error is not greater than the first threshold, it indicates that the curve segment does not have under-fitting. Therefore, an extended segment is obtained by extending the preset distance on both sides of the curve segment. It should be noted that the extended segment is extended according to the fitting of the curve itself. Therefore, it is possible to determine whether the curve segment has over-fitting based on the second error calculated based on the distance between the lane line data point corresponding to the extended segment and the extended segment. If the second error is greater than the second threshold, it indicates that the curve segment has over-fitting. Therefore, at least one control point can be deleted from the control point subset, so that the target lane line can be fitted with the least control points. In this way, only a few control points need to be modified to complete the addition or modification of the lane line. Among them, the preset distance and the second threshold can be set as needed.
[0081] In this embodiment, when the first error is not greater than the first threshold, the curve segment is extended by a preset distance on both sides of the curve segment according to the first curve fitting situation to obtain an extended segment of the curve segment. The lane line data point corresponding to the extended segment of the curve segment is determined in the lane line data point set. First, the sum of the squares of the distances between the lane line data points corresponding to the left extended segment and the right extended segment and the extended segment are calculated respectively to obtain the sum of the squares of the left extended segment and the sum of the squares of the right extended segment. Then, a sum operation is performed on the sum of the squares of the left extended segment and the sum of the squares of the right extended segment, and a square root operation is performed on the sum operation result to obtain a second error. Compare the second error with the second threshold to determine whether the curve segment is overfitted. If so, compare the sum of the squares of the left extended segment and the sum of the squares of the right extended segment; determine the control points to be deleted based on the comparison result.
[0082] In one embodiment, processing the control point subset corresponding to the j-th curve segment based on the first error further includes:
[0083] When the second error is not greater than the second threshold, it is determined that the control point subset corresponding to the j-th curve segment has been processed.
[0084] For example, if the second error is not greater than the second threshold, it means that the curve segment does not have overfitting. Then the control point subset of the curve segment can be output, thereby completing the optimization of the curve segment. When each curve segment is optimized, all optimized control point subsets are used as the third control point set, and then a more accurate target lane line is obtained according to the third control point set.
[0085] In order to more thoroughly understand the features and technical contents of the embodiments of the present disclosure, a specific application example is provided below for illustration. It should be understood that the following application example is only for reference and does not limit the specific implementation process.
[0086] In an application example, Figure 5As shown, the lane line set includes multiple lane line data points, and multiple data points to be processed are randomly selected from the multiple lane line data points, and the distance between each two adjacent data points to be processed is calculated, which is recorded as dt. The two points in front of the data point to be processed and the two points behind the data point to be processed are determined in the lane line set, and the slope unit vector of each data point to be processed in the lane line set is calculated based on the five points. When the data point to be processed is the starting point or the end point in the lane line set, the four points behind the starting point or the four points in front of the end point are selected to calculate the slope unit vector. For the calculated slope unit vector, it is divided into two directions, the X-axis and the Y-axis, and multiplied by dt and then by 1 / 3, and then added to the coordinates of the corresponding data point to be processed to obtain the first control point.
[0087] The first control point is fitted to obtain the first Bezier curve, and the first Bezier curve is segmented with four control points as units to obtain multiple curve segments. The lane line control points corresponding to each curve segment are determined in the lane line set, and then the sum of the squares of the distances from the lane line control points corresponding to each curve segment to each curve segment is calculated, and the square root operation is performed on the sum of the squares (simplex direct search algorithm, Nelder mead simplex) to obtain the first error. Determine whether the first error is greater than a first threshold value. If the first error is greater than the first threshold value, it indicates that the curve segment is under-fitted, and the calculation of subsequent curve segments of the curve segment is stopped. The two first control points with the farthest distance are determined among the four first control points of the curve segment, and the two first control points are searched in the lane line point set to determine the corresponding two lane line data points, and a new lane line data point between the determined two lane line data points is selected in the lane line set. The new lane line data point is calculated according to the above method of calculating the first control point to obtain a new control point, and then the new control point is added between the two first control points with the farthest distance, and then the four control points are grouped together and redivided into multiple control point subsets, and the calculation is continued until the calculated first error is no greater than the first threshold value.
[0088] If the first error is not greater than the first threshold, it means that the curve segment does not have underfitting. According to the first curve fitting situation, the curve segment is extended by 1 meter on both the left and right sides. The lane line data points corresponding to the left and right 1-meter extension segments are determined in the lane line data point set. First, the sum of the squares of the distances between the lane line data points corresponding to the left and right 1-meter extension segments and the left and right 1-meter extension segments are calculated to obtain the sum of the squares of the left extension segment and the sum of the squares of the right extension segment. Then, the sum of the squares of the left extension segment and the sum of the squares of the right extension segment are summed up, and the square root of the sum operation result is performed to obtain the second error. Compare the second error with the second threshold. If yes, compare the sum of the squares of the left extension segment and the sum of the squares of the right extension segment. When the sum of the squares of the left extension segment is greater than the sum of the squares of the right extension segment, delete the second control point on the left of the four first control points; when the sum of the squares of the left extension segment is not greater than the sum of the squares of the right extension segment, delete the second control point on the right of the four first control points. Then, four control points are grouped together and divided into multiple control point subsets. The calculation is continued until the calculated second error is not greater than the second threshold. The control points of multiple curve segments are output as the second control point set, thereby realizing the segmented optimization of the Bezier curve. The second Bezier curve is fitted according to the second control point set, and the sum of the squares of the distances between the lane line data point set and the second Bezier curve is calculated. The square root of the sum of squares is taken (Nelder mead simplex), and the third error is obtained. If the third error is not greater than the third threshold, the control points are output as the third control point set, thereby realizing the global optimization of the Bezier curve. Finally, based on the third control point set, a more accurate target lane line can be fitted.
[0089] Figure 6 is a block diagram of a lane line determination device according to an embodiment of the present disclosure. Figure 6 As shown, the device may include:
[0090] A determination module 601 is used to determine a first control point set based on a lane line data point set;
[0091] A first processing module 602 is used to perform curve fitting based on the first control point set to obtain a first curve;
[0092] A second processing module 603 is used to perform segment processing on the first curve to obtain multiple curve segments;
[0093] A third processing module 604 is used to determine a control point subset corresponding to each curve segment in the first control point set;
[0094] A fourth processing module 605 is configured to process a control point subset corresponding to each curve segment based on each curve segment and the lane line data point set to obtain a second control point set;
[0095] The target lane line determination module 606 is used to obtain the target lane line based on the second control point set.
[0096] In one implementation, the target lane line determination module 606 is further configured to:
[0097] Performing curve fitting based on the second control point set to obtain a second curve;
[0098] Processing the second control point set based on the second curve and the lane line data point set to obtain a third control point set;
[0099] The target lane line is obtained based on the third control point set.
[0100] In one implementation, the determining module 601 is further configured to:
[0101] Determine a plurality of lane line data points in the lane line data point set;
[0102] Determine a slope unit vector corresponding to an i-th lane line data point among the plurality of lane line data points;
[0103] Determine a first control point corresponding to the i-th lane line data point based on a distance between the i-th lane line data point and the i-1-th lane line data point among the multiple lane line data points and a slope unit vector corresponding to the i-th lane line data point; wherein i is a positive integer greater than 1;
[0104] Add the first control point corresponding to the i-th lane line data point to the first control point set.
[0105] In one implementation, the third processing module 604 is further configured to:
[0106] Determine a lane line data point in the lane line data point set corresponding to a j-th curve segment among the plurality of curve segments;
[0107] Calculating a first error based on a distance between a lane line data point corresponding to the j-th curve segment and the j-th curve segment;
[0108] A subset of control points corresponding to the j-th curve segment is processed based on the first error.
[0109] In one implementation, the step of processing the control point subset corresponding to the j-th curve segment based on the first error includes:
[0110] When the first error is greater than a first threshold, at least one control point is added to the control point subset corresponding to the j-th curve segment.
[0111] In one implementation, the step of processing the control point subset corresponding to the j-th curve segment based on the first error includes:
[0112] When the first error is not greater than a first threshold, extending the j-th curve segment by a preset distance based on the first curve to obtain an extended segment of the j-th curve segment;
[0113] Determine a lane line data point in the lane line data point set corresponding to the extended segment;
[0114] Calculating a second error based on a distance between a lane line data point corresponding to the extended segment and the extended segment;
[0115] When the second error is greater than a second threshold, at least one control point is deleted from the control point subset corresponding to the j-th curve segment.
[0116] In one implementation, the processing of the control point subset corresponding to the j-th curve segment based on the first error further includes:
[0117] When the second error is not greater than a second threshold, it is determined that the control point subset corresponding to the j-th curve segment has been processed.
[0118] In this way, the device of the embodiment of the present invention performs curve fitting based on the first control point set determined by the lane line data point set to obtain a first curve, then performs segmented processing on the first curve to obtain multiple curve segments, and processes the control point subset corresponding to each curve segment based on each curve segment and the lane line data point set. In this way, the first curve is segmented and the control point subsets are processed separately to obtain a more accurate second control point set, so that the target lane line obtained based on the second control point set is more accurate, thereby improving the rendering effect of the vehicle navigation, and then improving the user experience, while improving driving safety.
[0119] In the technical solution disclosed herein, the acquisition, storage and application of user personal information involved are in compliance with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0120] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium and a computer program product.
[0121] Figure 7A schematic block diagram of an example electronic device 700 that can be used to implement an embodiment of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital processing, cellular phones, smart phones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely examples and are not intended to limit the implementation of the present disclosure described and / or required herein.
[0122] like Figure 7 As shown, the device 700 includes a computing unit 701, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 702 or a computer program loaded from a storage unit 708 into a random access memory (RAM) 703. In the RAM 703, various programs and data required for the operation of the device 700 can also be stored. The computing unit 701, the ROM 702, and the RAM 703 are connected to each other via a bus 704. An input / output (I / O) interface 705 is also connected to the bus 704.
[0123] A number of components in the device 700 are connected to the I / O interface 705, including: an input unit 706, such as a keyboard, a mouse, etc.; an output unit 707, such as various types of displays, speakers, etc.; a storage unit 708, such as a disk, an optical disk, etc.; and a communication unit 709, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 709 allows the device 700 to exchange information / data with other devices through a computer network such as the Internet and / or various telecommunication networks.
[0124] The computing unit 701 may be a variety of general and / or special processing components with processing and computing capabilities. Some examples of the computing unit 701 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units running machine learning model algorithms, digital signal processors (DSPs), and any appropriate processors, controllers, microcontrollers, etc. The computing unit 701 performs the various methods and processes described above, such as the lane line determination method. For example, in some embodiments, the lane line determination method may be implemented as a computer software program, which is tangibly contained in a machine-readable medium, such as a storage unit 708. In some embodiments, part or all of the computer program may be loaded and / or installed on the device 700 via the ROM 702 and / or the communication unit 709. When the computer program is loaded into the RAM 703 and executed by the computing unit 701, one or more steps of the lane line determination method described above may be performed. Alternatively, in other embodiments, the computing unit 701 may be configured to perform the lane line determination method in any other appropriate manner (e.g., by means of firmware).
[0125] Various implementations of the systems and techniques described above herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), systems on chips (SOCs), complex programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various implementations can include: being implemented in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0126] The program code for implementing the method of the present disclosure may be written in any combination of one or more programming languages. These program codes may be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device, so that the program code, when executed by the processor or controller, enables the functions / operations specified in the flow chart and / or block diagram to be implemented. The program code may be executed entirely on the machine, partially on the machine, partially on the machine and partially on a remote machine as a stand-alone software package, or entirely on a remote machine or server.
[0127] In the context of the present disclosure, a machine-readable medium may be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, device, or equipment. A machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium may include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device, or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium may include an electrical connection based on one or more lines, 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 disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0128] To provide 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 pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the 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).
[0129] The systems and techniques described herein may be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer with a graphical user interface or a web browser through which a user can interact with implementations 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 may 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.
[0130] A computer system may include a client and a server. The client and the server are generally remote from each other and usually interact through a communication network. The relationship of client and server is generated by computer programs running on respective computers and having a client-server relationship with each other. The server may be a cloud server, a server of a distributed system, or a server combined with a blockchain.
[0131] It should be understood that the various forms of processes shown above can be used to reorder, add or delete steps. For example, the steps recorded in this disclosure can be executed in parallel, sequentially or in different orders, as long as the desired results of the technical solutions disclosed in this disclosure can be achieved, and this document does not limit this.
[0132] The above specific implementations do not constitute a limitation on the protection scope of the present disclosure. It should be understood by those skilled in the art that various modifications, combinations, sub-combinations and substitutions can be made according to design requirements and other factors. Any modification, equivalent substitution and improvement made within the spirit and principle of the present disclosure shall be included in the protection scope of the present disclosure.
Claims
1. A method for determining a lane line, comprising: Determine a first control point set based on the lane line data point set; Performing curve fitting based on the first control point set to obtain a first curve; Performing segmentation processing on the first curve to obtain a plurality of curve segments; Determine, from the first control point set, a control point subset corresponding to each curve segment in a plurality of curve segments; Based on each curve segment and the lane line data point set, a subset of control points corresponding to each curve segment is processed to obtain a second set of control points; wherein the processing method includes at least one of the following to improve the problem of overfitting or underfitting of fitting the target lane line by using the curve segment: adding control points, deleting control points, and modifying control points; A target lane line is obtained based on the second control point set.
2. The method according to claim 1, wherein obtaining a target lane line based on the second control point set comprises: Performing curve fitting based on the second control point set to obtain a second curve; Processing the second control point set based on the second curve and the lane line data point set to obtain a third control point set; The target lane line is obtained based on the third control point set.
3. The method according to claim 1 or 2, wherein: The determining of the first control point set based on the lane line data point set includes: Determine a plurality of lane line data points in the lane line data point set; Determine a slope unit vector corresponding to an i-th lane line data point among the plurality of lane line data points; Determine a first control point corresponding to the ith lane line data point based on a distance between the ith lane line data point and the i-1th lane line data point among the multiple lane line data points and a slope unit vector corresponding to the ith lane line data point; wherein i is an integer greater than 1; Add the first control point corresponding to the i-th lane line data point to the first control point set.
4. The method according to claim 1, wherein the processing of the control point subset corresponding to each curve segment based on each curve segment and the lane line data point set comprises: Determine a lane line data point in the lane line data point set corresponding to the j-th curve segment in the plurality of curve segments; wherein j is a positive integer; Calculating a first error based on a distance between a lane line data point corresponding to the j-th curve segment and the j-th curve segment; A subset of control points corresponding to the j-th curve segment is processed based on the first error.
5. The method according to claim 4, wherein: The processing of the control point subset corresponding to the j-th curve segment based on the first error includes: When the first error is greater than a first threshold, at least one control point is added to the control point subset corresponding to the j-th curve segment.
6. The method according to claim 4, wherein: The processing of the control point subset corresponding to the j-th curve segment based on the first error includes: When the first error is not greater than a first threshold, extending the j-th curve segment by a preset distance based on the first curve to obtain an extended segment of the j-th curve segment; Determine a lane line data point in the lane line data point set corresponding to the extended segment; Calculating a second error based on a distance between a lane line data point corresponding to the extended segment and the extended segment; When the second error is greater than a second threshold, at least one control point is deleted from the control point subset corresponding to the j-th curve segment.
7. The method according to claim 6, wherein: The processing of the control point subset corresponding to the j-th curve segment based on the first error further includes: When the second error is not greater than a second threshold, it is determined that the control point subset corresponding to the j-th curve segment has been processed.
8. A lane line determination device, comprising: A determination module, configured to determine a first control point set based on a lane line data point set; A first processing module, configured to perform curve fitting based on the first control point set to obtain a first curve; A second processing module, used for performing segment processing on the first curve to obtain a plurality of curve segments; A third processing module, configured to determine, from the first control point set, a control point subset corresponding to each of the plurality of curve segments; A fourth processing module is used to process the control point subset corresponding to each curve segment based on each curve segment and the lane line data point set to obtain a second control point set; wherein the processing method includes at least one of the following to improve the problem of overfitting or underfitting of fitting the target lane line with the curve segment: adding control points, deleting control points and modifying control points; A target lane line determination module is used to obtain a target lane line based on the second control point set.
9. The device according to claim 8, wherein the target lane line determination module is further configured to: Performing curve fitting based on the second control point set to obtain a second curve; Processing the second control point set based on the second curve and the lane line data point set to obtain a third control point set; The target lane line is obtained based on the third control point set.
10. The device according to claim 8 or 9, wherein: The determining module is further used for: Determine a plurality of lane line data points in the lane line data point set; Determine a slope unit vector corresponding to an i-th lane line data point among the plurality of lane line data points; Determine a first control point corresponding to the i-th lane line data point based on a distance between the i-th lane line data point and the i-1-th lane line data point among the multiple lane line data points and a slope unit vector corresponding to the i-th lane line data point; wherein i is a positive integer greater than 1; Add the first control point corresponding to the i-th lane line data point to the first control point set.
11. The device according to claim 8, wherein the third processing module is further configured to: Determine a lane line data point in the lane line data point set corresponding to the j-th curve segment in the plurality of curve segments; wherein, j is a positive integer; Calculating a first error based on a distance between a lane line data point corresponding to the j-th curve segment and the j-th curve segment; A subset of control points corresponding to the j-th curve segment is processed based on the first error.
12. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 7.
13. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-7.
14. A computer program product, comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Unmanned aerial vehicle (UAV) path correction method and system based on quasi-uniform spline curve
CN107085438A