Laser radar depth calibration method, equipment, storage medium and program product
By setting multiple targets with different azimuth angles on the calibration site of the lidar, acquiring and analyzing point cloud data, and constructing a drift error-pulse width correction table, the problem of drift error in lidar depth measurement is solved, and measurement accuracy and reliability are improved.
Patent Information
- Application Number
- CN202411889098.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-12-20
- Publication Date
- 2025-03-14
- Estimated Expiration
- 2044-12-20
AI Technical Summary
LiDAR has drift errors in depth measurement, resulting in reduced measurement accuracy, especially in complex scenarios, with limited application performance of reliability and high-precision perception tasks.
By setting multiple targets with different azimuth angles on the calibration site, the point cloud data generated by the lidar scan is obtained, the point cloud depth information and pulse width of the laser point cloud data of the target are extracted, and the drift error is determined compared with the depth truth value of the target. Build a drift error-pulse width correction table, and compensate for the drift error with pulse width information to achieve accurate correction of lidar depth measurement.
By accurately identifying and quantifying drift errors and correcting them through correction tables, the ranging accuracy of lidar is significantly improved, the depth measurement accuracy is optimized, and reliability and high-precision perception capabilities are enhanced in complex scenarios.
Smart Images

Figure CN119335512B_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the field of laser radar technology, and in particular to a depth calibration method, equipment, storage medium and program product of a laser radar. Background Art
[0002] Laser radar (LiDAR) is a radar system that uses the principle of laser emission and reception to achieve high-precision depth measurement. It has significant advantages such as accurate depth measurement, fast speed, and strong anti-interference ability. It has been widely used in robotics, intelligent driving, rail transportation, and surveying and mapping. At present, mainstream laser radars mostly use the TOF (Time of Flight) method, which calculates the depth of the target object in the laser radar coordinate system by emitting short pulse lasers and recording the time intervals experienced during the emission, reflection, and reception process.
[0003] The TOF method relies on a time-to-digital converter (TDC) to accurately measure the time difference between the emission of the laser pulse and the echo signal. Specifically, the lidar detects the trigger point of the echo signal by setting a threshold. However, the light pulse has a limited rising slope from the initial energy emission to the peak value, which will cause the echo intensity to change under different environmental conditions. The echo signal of the target at the same distance may have different slopes due to different intensities. The intersection position of the echo signal and the detection threshold shifts with the change of intensity, which in turn causes an error in depth measurement. This error is also called drift error. The drift error directly affects the ranging accuracy of the lidar, which is specifically manifested in problems such as target depth estimation deviation and point cloud data stratification. It not only reduces the reliability of the lidar in complex scenes, but also limits its application performance in high-precision perception tasks.
[0004] The industry has not yet proposed a better solution to the above problems. Summary of the invention
[0005] The embodiments of the present invention provide a depth calibration method, device, storage medium and program product of a laser radar, which are used to solve at least one of the above-mentioned technical problems.
[0006] In a first aspect, an embodiment of the present invention provides a depth calibration method for a laser radar, comprising: obtaining calibration site point cloud data generated by a laser radar scanning a calibration site; the calibration site is provided with a plurality of targets, and each of the targets has a different azimuth angle relative to the laser radar; extracting target laser point cloud data corresponding to each target from the calibration site point cloud data; for each of the targets, extracting point cloud depth information and pulse width of the corresponding target laser point cloud data, and comparing the extracted point cloud depth information with a true target depth value corresponding to the target to determine a corresponding drift error; constructing a drift error-pulse width correction table for depth calibration of the laser radar according to each extracted pulse width and the corresponding drift error; the drift error-pulse width correction table records a plurality of calibration pulse widths and corresponding calibration drift error correction amounts.
[0007] In a second aspect, an embodiment of the present application provides a laser point cloud depth extraction method, comprising: obtaining first depth information and a first pulse width corresponding to a laser point cloud collected by a laser radar; determining a first drift error correction amount matching the first pulse width based on a drift error-pulse width correction table; the drift error-pulse width correction table records a plurality of calibrated pulse widths and corresponding calibrated drift error correction amounts; and calibrating the first depth information based on the first drift error correction amount to determine target depth information.
[0008] In a third aspect, an embodiment of the present application provides a storage medium, which stores one or more programs including execution instructions, and the execution instructions can be read and executed by an electronic device (including but not limited to a computer, a server, or a network device, etc.) to execute any of the above-mentioned laser radar depth calibration methods or laser point cloud depth extraction methods of the present application.
[0009] In a fourth aspect, an electronic device is provided, comprising: at least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute any one of the above-mentioned laser radar depth calibration methods or laser point cloud depth extraction methods of the present application.
[0010] In a fifth aspect, an embodiment of the present application also provides a computer program product, which includes a computer program stored on a storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer executes any one of the above-mentioned laser radar depth calibration methods or laser point cloud depth extraction methods.
[0011] The beneficial effects of the embodiments of the present application are at least:
[0012] By extracting the laser point cloud data of each target from the point cloud data of the calibration site and comparing it with the true depth value of the target, and using multiple targets in different orientations for calibration, it is possible to fully cover the pulse width variation characteristics under different environmental conditions and accurately identify and quantify the drift error. Furthermore, by constructing a drift error-pulse width correction table and compensating for the drift error in combination with the pulse width information, accurate correction of the depth measurement of the LiDAR is achieved. Thus, according to the pulse width characteristics of the echo signal, the error caused by the slope change is corrected. The corrected depth data can effectively reduce the measurement error caused by the difference in echo intensity, thereby improving the ranging accuracy of the LiDAR and optimizing the depth measurement accuracy of the LiDAR. BRIEF DESCRIPTION OF THE DRAWINGS
[0013] In order to more clearly illustrate the technical solutions of the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying any creative work.
[0014] Figure 1 A flowchart of an example of a depth calibration method of a laser radar according to an embodiment of the present application is shown;
[0015] Figure 2 A schematic diagram showing the simulation effect of an example of pulse width and drift error;
[0016] Figure 3 A schematic diagram showing the effect of an example of a setting method of a target relative to a laser radar according to an embodiment of the present application;
[0017] Figure 4 A schematic diagram showing an example of a simulated relationship between the number of pixels and the spot size and distance;
[0018] Figure 5 A schematic diagram showing an example of arranging multiple targets in a calibration site according to an embodiment of the present application;
[0019] Figure 6 An operation flow chart of an example of extracting target laser point cloud data according to an embodiment of the present application is shown;
[0020] Figure 7 An operation flow chart of an example of constructing a drift error-pulse width correction table according to an embodiment of the present application is shown;
[0021] Figure 8 A schematic diagram showing a simulation effect of an example of drift error-pulse width sampling point according to an embodiment of the present application is shown;
[0022] Fig. 9A schematic diagram showing a simulation effect of an example of a drift error-pulse width correction table according to an embodiment of the present application is shown;
[0023] Fig.10 A schematic diagram of simulation effect of an example of an initial drift error-pulse width correction table is shown;
[0024] Fig.11 An operation flow chart showing an example of determining the accuracy of a correction table according to the point cloud correction accuracy according to an embodiment of the present application is shown;
[0025] Fig.12 A flowchart of an example of a depth calibration method of a laser radar according to an embodiment of the present application is shown;
[0026] Fig.13 An operation flow chart of an example of a laser point cloud depth extraction method according to an embodiment of the present application is shown;
[0027] Fig.14 It is a schematic structural diagram of an embodiment of an electronic device of the present application. DETAILED DESCRIPTION
[0028] In order to make the purpose, technical scheme and advantages of the embodiments of the present application clearer, the technical scheme in the embodiments of the present application will be clearly and completely described below in conjunction with the drawings in the embodiments of the present application. Obviously, the described embodiments are part of the embodiments of the present application, rather than all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in the field without making creative work are within the scope of protection of the present application. It should be noted that the embodiments in the present application and the features in the embodiments can be combined with each other without conflict.
[0029] It should also be noted that, in this article, the terms "include" and "comprise" include not only those elements, but also other elements not explicitly listed, or elements inherent to such processes, methods, articles or equipment. In the absence of further restrictions, the elements defined by the sentence "include..." do not exclude the existence of other identical elements in the process, method, article or equipment that includes the elements.
[0030] In the technical solution of this application, the collection, storage, use, processing, transmission, provision and disclosure of user personal information involved shall comply with the provisions of relevant laws and regulations and shall not violate public order and good morals.
[0031] Figure 1 A flowchart of an example of a depth calibration method for a laser radar according to an embodiment of the present application is shown.
[0032] Regarding the execution subject of the method of the embodiment of the present application, it can be any controller or processor with computing or processing capabilities, executing the depth calibration method of the laser radar, by accurately calibrating the drift error of the laser radar, and dynamically correcting the depth measurement error in combination with the pulse width correction table, it can significantly improve the ranging accuracy, point cloud data quality and system adaptability of the laser radar in complex scenes. In some examples, the method of the embodiment of the present application can be integrated and configured in an electronic device or terminal through software, hardware or a combination of software and hardware, and the type of the terminal or electronic device can be diverse, such as a mobile phone, a tablet computer or a desktop computer, etc.
[0033] like Figure 1 As shown, in step S110, the calibration site point cloud data generated by the laser radar scanning the calibration site is obtained, wherein a plurality of targets are set at the calibration site, and the azimuth angles of the targets relative to the laser radar are different.
[0034] In some embodiments, multiple targets are set in the calibration site, and the physical size, distance and reflection characteristics of each target should be representative. For example, the distance, shape, reflectivity and azimuth angle of each target are different, and the target setting can be circular or rectangular. Preferably, the coverage range of all targets relative to the azimuth angle of the laser radar (for example, not less than 120°) is large enough to ensure that the radar has a wide scanning coverage of the target, so that the laser radar can obtain echo data from various angles. The laser radar is used to perform a comprehensive scan of the calibration site, and the laser radar should be able to generate point cloud data containing the features of each target. Thus, through the arrangement of targets with multiple distances, multiple reflectivities and multiple angles, point cloud data with a large pulse width range can be obtained.
[0035] In step S120, target laser point cloud data corresponding to each target is extracted from the calibration site point cloud data.
[0036] Specifically, the target point cloud is extracted from the overall point cloud by segmenting the calibration site point cloud. In one example, since the target has a specific shape and geometric features, the corresponding point cloud data can be extracted according to the geometric shape of the target (such as a circle or a rectangle). In another example, the corresponding target point cloud can also be extracted according to the real position information of the target (such as the azimuth relative to the laser radar).
[0037] In step S130, for each target, the point cloud depth information and pulse width of the corresponding target laser point cloud data are extracted, and the extracted point cloud depth information is compared with the target depth true value corresponding to the target to determine the corresponding drift error.
[0038] In some embodiments, the depth value of each point is calculated from the extracted target point cloud, for example, by measuring the flight time between the transmitted signal and the received signal to calculate the distance of the target point. Pulse width refers to the time length of the laser pulse signal during the propagation process. By analyzing the received echo signal, the pulse width information of each point cloud data is extracted, and the change of pulse width can reflect the influence of the target surface characteristics and environmental factors on the echo signal.
[0039] In addition, in the calibration site, the true depth value of each target is known and can be pre-measured by various high-precision measurement tools (such as total stations). By comparing the extracted point cloud depth information with the true depth value of the target, the depth deviation (i.e. drift error) of each target is calculated. Therefore, the pulse width already contains information about environmental factors at different azimuths, and can better reflect the intensity changes of the echo signal caused by the above factors. The depth deviation caused by the above factors can be better quantified by the drift error.
[0040] Figure 2 A schematic diagram showing simulation effects of an example of pulse width and drift error is shown.
[0041] In the LiDAR system, pulse width refers to the duration of the light pulse, which is the time from the start of laser emission to the peak of signal energy. Since the rise and fall of the light pulse is not instantaneous, the echo signal will experience a continuous rise process when returning to the receiver, generating a corresponding rise slope. The light pulse does not reach its maximum value instantly, but there is a rise process. Therefore, the receiver also has a rise stage when receiving energy, such as Figure 2 As shown on the left side of FIG, a single echo pulse has a certain width from the start of reception to the stop of reception.
[0042] Pulse ToF measurements use a threshold to detect whether a signal has arrived. Figure 2 As shown on the left side of the figure, the echo signal strength reflected by the targets with the same distance and different reflectivity is different, and the slope of energy rise is different. When the energy reaches the threshold (i.e., V th ) time, that is, the pulse width is different. This difference in time and pulse width will cause different timing endpoints of echo detection during depth measurement, resulting in differences in depth measurement. This difference is called drift error. "Clipping" means that part of the signal will be cut off when it reaches the set threshold. During the rise of the echo signal, when the signal strength reaches a certain preset threshold (such as V th ), the portion of the signal that exceeds this threshold will be clipped.
[0043] The comparator is used to detect whether the echo signal reaches the set threshold. When the echo signal strength rises and reaches the threshold, the output of the comparator will jump. This jump signal is used to mark the arrival time of the echo, that is, the time point of ToF measurement. "Comparator input" represents the strength of the echo signal after the rising process, and "comparator output" is the digital signal output by the comparator when the signal strength reaches the threshold, indicating the end of the pulse width measurement. The "stop" signal means that when the intensity of the echo signal drops to a certain level (usually below the threshold), the comparator stops recording the signal. It is the end signal of the echo measurement process (such as Figure 2 Stop 1, Stop 2).
[0044] exist Figure 2 The right side shows the relationship curve between drift error and pulse width. According to experimental data and theoretical analysis, pulse width will affect drift error. For example, the larger the pulse width (that is, the longer the rising process of the echo signal), the smaller the drift error. "Compensation" is a correction method for drift error caused by pulse width. Through the compensation mechanism, drift error can be corrected, thereby improving the accuracy of depth measurement.
[0045] In step S140, a drift error-pulse width correction table for depth calibration of the laser radar is constructed according to each extracted pulse width and the corresponding drift error. The drift error-pulse width correction table records multiple calibration pulse widths and corresponding calibration drift error correction amounts.
[0046] In some embodiments, the pulse width information and corresponding drift errors of all targets are sorted and summarized to generate a drift error-pulse width correction table. In one example, the correlation between the pulse width information and the drift error is analyzed to achieve the construction of a relationship model between the drift error and the pulse width. In another example, by pre-defining the pulse width range in the correction table, when the extracted pulse widths cannot cover the pulse width range, the correction table is constructed through multiple calibration experiments or correlation analysis methods (e.g., regression analysis or data fitting, etc.).
[0047] Through the embodiments of the present application, depth calibration is performed using multiple targets in the calibration site, so that the laser point cloud data of targets in different orientations can be accurately extracted, and the drift error can be identified and quantified by comparing the deviation between the point cloud depth information and the true value of the target depth. Therefore, the calibration method based on the true target depth can significantly reduce the drift error caused by the change in the echo signal intensity. Using the correction table constructed by the embodiments of the present application, the laser radar can look up the corresponding error correction amount according to the current pulse width in actual use, and make real-time corrections to the corresponding depth measurement results, providing a reliable depth correction mechanism for the laser radar.
[0048] In some examples of the embodiments of the present application, the targets are arranged at intervals according to a preset target spacing, and the first target spacing corresponding to the first target is smaller than the second target spacing corresponding to the second target, wherein the relative distance between the first target and the laser radar is greater than the relative distance between the second target and the laser radar.
[0049] Here, the targets in the calibration site are arranged at different distances and angles, so that the laser radar can scan the calibration site to obtain calibration points with a wide pulse width coverage. In addition, the target spacing is small near and large far, which can maximize the use of target information, avoid waste of target information and resources, and save calibration costs.
[0050] Figure 3 A schematic diagram showing the effect of an example of the setting method of the target relative to the laser radar according to an embodiment of the present application is shown.
[0051] It should be noted that during the LiDAR depth calibration process, the layout of the target directly affects the calibration accuracy and the quality of the target point cloud data. In order to ensure that the LiDAR obtains sufficient coverage and valid data during the calibration process, it is necessary to reasonably arrange the position, size, and angle relationship between the target and the LiDAR.
[0052] The target size depends on the actual distribution of the light spot on the target. The targets should be evenly distributed within the field of view of the LiDAR to ensure that the point cloud data of the target can be effectively measured from multiple angles. The target distribution method should be designed according to the horizontal and vertical field of view (FOV) of the LiDAR.
[0053] like Figure 3 As shown in the figure, the laser radar has a known horizontal angular resolution of 0.125°, a vertical angular resolution of 0.21°, a horizontal FOV of 100°, and a vertical FOV of 20°. Let the target size height be h and the distance be d. Specifically, by calculating factors such as the spot size, pixel spacing, and target height at different distances, the measurement accuracy and data utilization efficiency of the laser radar are optimized. According to the resolution and field of view of the laser radar, the spot size projected by the laser radar on the target and the changing trend of the spot at different distances can be calculated.
[0054] Specifically, the calculation formula for the spot size is:
[0055] , Formula (1)
[0056] In the formula, is the target distance, Assuming the horizontal angular resolution of the laser radar is 0.125° and the vertical angular resolution is 0.21°, the field of view can be adjusted according to different distances. Calculate the spot size .
[0057] The calculation formula for pixel pitch is:
[0058] , Formula (2)
[0059] , Formula (3)
[0060] In the formula, represents half of the vertical angular resolution, represents half of the horizontal angular resolution, Indicates the pixel spacing in the horizontal direction, Indicates the pixel spacing in the vertical direction.
[0061] From this, the pixel spacing of the lidar in the vertical and horizontal directions at different distances is calculated.
[0062] Height of target Directly affects the number of light spots received by the laser radar. When the target height is greater than the spot size When the target height is , the complete light spot can be received, otherwise, only part of the light spot can be received. Therefore, the design of the target height needs to meet the following two conditions:
[0063] - When the target height When the target is focused, it can receive the complete light spot and obtain a higher number of point cloud data.
[0064] - When the target height When , the target only receives part of the light spot, and the number of point clouds at this time is , that is, the number of received point clouds is determined by the ratio of the target height to the pixel spacing.
[0065] Table 1 Point cloud parameters that can be received by targets with a height of 1m and 1.5m at different distances
[0066]
[0067] Figure 4 A schematic diagram of an example of the simulated relationship between the number of pixels and the spot size and distance is shown. Figure 4 As shown in the figure, as the distance increases, the spot size increases, while the change trend of the pixel number PIX_NUM slows down. Therefore, the target spacing is appropriately reduced at close distances, and the target spacing is appropriately increased at long distances. While ensuring the measurement accuracy, the utilization rate of the target and the site is fully improved.
[0068] Specifically, at a close distance (e.g., 1.5m to 3m), the spot size received by the target is small, and the number of pixels changes greatly. In order to improve the measurement accuracy, the target spacing should be appropriately reduced to ensure that the spot can cover a sufficient number of pixels. In addition, at a long distance (e.g., 15m to 24m), the spot size is large, and the number of point clouds received by the target tends to change slowly. At this time, the target spacing can be appropriately increased to ensure measurement accuracy while reducing unnecessary target arrangements and improving the utilization rate of the calibration site.
[0069] In some examples of the embodiments of the present application, the multiple targets include a third target having multiple standard reflectivity regions, and each standard reflectivity region has a different reflectivity.
[0070] In the design of the third target, the target can be divided into multiple standard reflectivity areas, each of which can be realized by different materials, coatings or surface treatment processes. For example, different areas of the target surface can be coated with specific reflective materials (such as metal, reflective coating, etc.) so that different areas of the target have different reflectivities.
[0071] Here, the distribution form of the standard reflectivity area in the target can be diverse, such as the central area and edge area, upper area and lower area of the target, etc. The different reflectivity of each standard reflectivity area will affect the intensity of the laser signal reflected back by the laser radar.
[0072] Through the embodiments of the present application, by adopting a multi-distance, multi-reflectivity, and multi-angle target arrangement, point cloud data with a large pulse width range can be obtained. Compared with a single reflectivity target or a single distance target solution, a wider pulse width range can be obtained, and the point cloud data is more realistic.
[0073] As a further preferred embodiment, the plurality of targets further include a fourth target, the reflectivity of the fourth target being greater than the reflectivity of each standard reflectivity region in the third target. By using targets with different reflectivity characteristics, a rich point cloud pulse width range can be obtained.
[0074] Figure 5 A schematic diagram showing an example of arranging multiple targets in a calibration site according to an embodiment of the present application is shown.
[0075] like Figure 5As shown, the laser radar 20 is fixed on the stand 30, and the laser radar is used to scan the calibration site. There are 6 targets in the calibration site, including 5 multi-reflectivity targets (11-15) and 1 high-reflectivity target 16. Each multi-reflectivity target consists of two standard reflectivity areas of 80% and 10%. In order to maximize the use of target information, the distance between targets adopts the rule of small near and large far, and the distance between multi-reflectivity targets is arranged according to 3m, 5m, 10m, 15m, and 20m. The surface of the high-reflectivity target 16 is covered with a high-reflectivity film and is arranged at a distance of 3m from the radar without blocking other targets. In addition, the surface of the high-reflectivity target 16 can strongly reflect the laser signal, and because the distance is close (3m), the signal strength of the laser echo at the receiving end is extremely high, which can help obtain a saturated echo signal with a large pulse width (for example, 15ns), supplement the pulse width coverage range, and make the drift error-pulse width correction table generated in the end more comprehensive. The targets are arranged at different distances, reflectivities and angles. The laser radar scanning calibration site can obtain calibration points with a wide pulse width coverage range.
[0076] Specifically, when the laser radar detects the high reflectivity target 16 at 3m, the average pulse width is measured to be 15ns, and when the laser radar detects the target at 20m, the average pulse width in the low reflectivity area is 9.3ns. By setting the high reflectivity target, a saturated echo signal with a larger pulse width can be obtained, and the collection of large pulse width data can be realized. In addition, each multi-reflectivity target includes 80% and 10% standard reflectivity areas, ensuring that the target can provide multi-level echo signals and enrich the pulse width range of the point cloud.
[0077] Through the embodiments of the present application, by arranging targets at different distances, different reflectivities, and different angles in the venue, the radar can obtain rich pulse width data. The pulse width obtained through data collection already includes quantitative information under the influence of factors such as different distances, different reflectivities, and angles. Therefore, the drift error-pulse width correction table finally obtained can simultaneously correct the drift errors caused by the above factors.
[0078] Figure 6 An operational flowchart of an example of extracting target laser point cloud data according to an embodiment of the present application is shown.
[0079] like Figure 6 As shown, in step S610, the initial point cloud position of the depth true value of the target reference point corresponding to the third target is determined from the calibration site point cloud data, and the reference point cloud position corresponding to the third target is determined based on the average value of the coordinates of each point within a preset distance range around the initial point cloud position.
[0080] In some embodiments, in the point cloud data collected at the calibration site, the initial point cloud position is first determined based on the true depth value of the target. Next, a distance range is preset around the initial point cloud position, that is, all relevant point cloud data are searched within this range. The information dimensions of the point cloud data may include xyz Three-axis coordinates, reflectivity, horizontal angle and vertical angle, etc. Exemplarily, assuming that the target reference point is the center point of the target, within a preset distance range around the center point of the target, these points are traversed and their average coordinates are calculated.
[0081] Therefore, by determining the reference point cloud position by averaging the point cloud around the initial position, the position deviation caused by noise points or abnormal points can be effectively reduced, ensuring the stability and accuracy of the reference point cloud position.
[0082] In one example, for each target in the calibration site, the reference point cloud position of the corresponding target can be solved by implementing the above operations. In another example, since the actual position of each target in the calibration site is fixed during the calibration process, the above reference point cloud position solution process can be implemented only for one of the targets (for example, the target closest to the radar), and the reference point cloud positions of other targets can be calculated based on the relative position with the target, thereby saving system computing resources. Specifically, the relative orientation of the sixth target relative to the fifth target is obtained, and then the reference point cloud position of the sixth target is determined according to the relative orientation of the target and the reference point cloud position of the fifth target.
[0083] It should be noted that the fifth target can be a target that is closer to the laser radar (for example, the target closest to the radar). Since the target is closer to the radar, the quality of the point cloud data is relatively high and the error is small. During the calibration process, the reference point cloud position is first extracted from the point cloud data of the fifth target as the initial reference point in the calibration process. The sixth target can be a target other than the fifth target, which includes a target that is slightly farther from the radar. In addition, the reference point cloud position of the sixth target is calculated by the relative position and the position of the fifth target, avoiding the problem that the long-distance target cannot be effectively extracted due to the large point cloud error.
[0084] For example, after the site layout is determined, the horizontal angle and vertical angle between the targets can be determined, and the center coordinates of each target or the closest target can be obtained by the total station and written into the configuration file. The relative position of the center of all targets relative to the closest target is calculated by the center coordinates of each target, and then after the target center point cloud position of the reference point of the fifth target is determined, the target center point cloud position of each of the other sixth targets can be calculated using the target relative position.
[0085] It should be noted that before radar calibration, there are often zero bias and point cloud jitter. The target may not be found according to the absolute coordinates measured by the total station. The farther the distance, the greater the error of the point cloud relative to the total station coordinates, and the more difficult it is to extract the target. Therefore, by extracting the reference point cloud position of the closest target (i.e., the fifth target), and then extracting other targets based on the relative positions of other targets relative to the closest target, it is possible to avoid the situation where the point cloud of a distant target cannot be extracted due to too large a deviation in the point cloud, thereby ensuring the robustness of the target point cloud extraction operation.
[0086] In step S620, a point cloud traversal list is created according to the reference point cloud position, the distance between the target reference point and the target boundary, and the preset window step size.
[0087] Here, the distance between the boundary of the target and the target reference point can be calculated based on the known size of the target, such as the radius of a circular target or the side length of a rectangular target. The window step size can be set according to actual needs and the resolution of the point cloud data. The setting of the window step size determines the position of each sliding window during the traversal process. If the step size is too large, it will cause important data to be skipped, and if the step size is too small, it will increase the amount of calculation. Therefore, it is necessary to make a suitable choice based on the point cloud density and computing resources. Then, a point cloud traversal list containing a series of point cloud traversal positions is generated, which records the point cloud area to be visited after each sliding window.
[0088] It should be noted that the size of the window can be pre-set, and can comprehensively consider factors such as the resolution of the point cloud data, the physical size of the target, the computing resources, and the location of the target to ensure that both the extraction accuracy of the point cloud data can be improved and the computing efficiency can be guaranteed. For example, if the target is small and the point cloud resolution is high, a smaller window can be selected. In addition, if the target is large or the data points are sparse, a larger window can be selected.
[0089] In step S630, a sliding window traversal is performed on the target laser point cloud data based on the point cloud traversal list to extract the target laser point cloud data corresponding to the fifth target.
[0090] In some embodiments, when the target laser point cloud data is traversed by a sliding window, valid point cloud data is extracted from the traversed area according to the window step size, which may be point cloud data after noise reduction processing. For example, during the sliding window traversal process, the extracted data may contain some noise or abnormal points, and invalid data caused by environmental changes (such as illumination, edge noise, etc.) or equipment errors are removed to form valid point cloud data to ensure that the valid point cloud data is a real reflection signal from the target. Then, all the extracted data are integrated to obtain the target laser point cloud data of the fifth target.
[0091] More specifically, under the condition that the target size and distance are determined, the horizontal and vertical angle spans of each target will also be determined, and data within the range of the horizontal angle span and vertical angle span of each target can be obtained from the point cloud.
[0092] Through the embodiments of the present application, the positioning error caused by noise, interference or irregular point cloud distribution can be effectively eliminated by using the initial point cloud position correction and the average processing of the reference point cloud position, so as to more accurately locate the position of each specific target in the laser point cloud. Furthermore, the target point cloud data is extracted by sliding window traversal, so that each sliding window traversal can accurately access the data of the target area, ensuring the comprehensiveness of the point cloud data extraction and improving the quality of the target laser point cloud data.
[0093] Combination Figure 5 In the example, a box window is preset to filter the point cloud in the field to find the target point cloud. Specifically, a box window is preset, the width of the box is equal to the horizontal angle span, the height of the box is equal to the vertical angle span, and the box thickness can be set to 1 meter. In order to improve robustness, the box side lengths can be multiplied by 1.1 to expand the box size. The target box size is box11 (hor_size, ver_size, d_size). For example, the box size of target 11 is (10°, 20°, 1.1m), and a corresponding box window can be configured for each target.
[0094] For the nearest target true value acquisition, the target true value can obtain the horizontal angle, vertical angle, and distance of the center position of the field target 11, which is recorded as true certer11 (θ 11 ,φ 11 , d 11 ).
[0095] Extract true from point cloud certer11 (θ 11 ,φ 11 , d 11 ) point cloud within a certain range near, for example, the extraction range in the horizontal, vertical and distance directions can be (θ 11 - 10°, θ 11 + 10°), (φ 11 -10°, φ 11 +10°), (d 11 -2,d 11 +2), average the extracted point cloud to obtain the coordinates of the target center 11 (θ 11 ,φ 11 , d 11), thereby obtaining the center coordinates of the target 11 in the actual point cloud.
[0096] With certer 11 As the center, create traversal lists in the horizontal and vertical dimensions respectively (use d11 obtained in the previous step to filter in the distance direction). Taking the horizontal direction as an example, assuming the horizontal resolution is θ = 0.2°, the traversal range of the box center is (θ 11 - hor_size, θ 11 +hor_size), then from θ 11 - Start at hor_size / 2, to θ 11 +hor_size / 2, create a traversal list of the box center with a step size of 0.2°, for example, the traversal list is pos=(θ 11 -hor_size / 2+0.2,θ 11 -hor_size / 2+0.4…).
[0097] Traverse according to the traversal list. Taking the horizontal direction as an example, suppose the first value of the traversal list pos[0]=10°, then the boundary range of the box is (10°- hor_size / 2, 10°+hor_size / 2), extract the point cloud of the above boundary range, and record the current maximum number of points as num_max. Then calculate the next position pos[1]=10.2° in the traversal list, extract the point cloud in the range of (10.2°-hor_size / 2, 10.2°+hor_size / 2), if the point cloud is greater than num_max, record the current position and update num_max. Repeat the above process until the traversal of the traversal list is completed. You can get pos_hor when the point cloud num_max is the maximum, and this pos_hor is the horizontal angle coordinate of the target.
[0098] Filter the point cloud within the range of (pos_hor- hor_size / 2, pos_hor+ hor_size / 2), and based on the above filtered point cloud, perform traversal steps for the vertical angles.
[0099] After the window traversal is completed, the center coordinates of the box when the horizontal and vertical points are the largest can be obtained. 11 ,φ 11 , d 11 ), the point cloud of target 11 can be extracted according to the box size, and the extraction range is (θ 11 - hor_size / 2,θ 11 + hor_size / 2 ), (φ 11 - ver_size / 2,φ 11+ ver_size / 2), (d 11 - d_size / 2, d 11 + d_size / 2).
[0100] Obtaining certer 11 After the precise coordinates of the target 12 are obtained, the sliding window traversal and point cloud extraction can be performed on the other targets according to their relative positions relative to the target 11. For example, the horizontal coordinate difference of the center of target 12 relative to the center of target 11 is 20°, the vertical difference is 1°, and the distance difference is 5 meters (the above differences can be determined after the site layout is completed, the changes with the radar are very small and can be corrected by the algorithm), then the center coordinates of target 12 are set to certer 12 (θ 11 +20,φ 11 +1,d 11 +5), and then perform a similar point cloud sliding traversal operation as described above to extract the point cloud of the target 12.
[0101] The point cloud sliding traversal operation adopted in the embodiment of the present application has the advantage of strong robustness. Before radar calibration, there are often phenomena such as zero bias and point cloud jitter. The point cloud of the target at the closest distance is extracted by the dynamic sliding window method, and then the point clouds of other targets are extracted by relative position. This solves the technical problem that it is difficult to extract the target point cloud in the presence of zero bias, point cloud jitter and other phenomena, and can adapt to the differences in performance of different radar hardware on the production line. In addition, the accuracy of point cloud extraction can be improved by controlling the step size of the sliding window, the point cloud resolution is high, and good extraction efficiency is obtained at the same time.
[0102] Figure 7 An operation flow chart of an example of constructing a drift error-pulse width correction table according to an embodiment of the present application is shown.
[0103] like Figure 7 As shown, in step S710, each extracted pulse width is matched with a preset calibrated pulse width list to determine at least one missing calibrated pulse width that is not covered by the calibrated pulse width list.
[0104] Specifically, under the influence of factors such as the distance, reflectivity, and angle of different targets, correspondingly diverse laser pulse widths will be generated, but these laser pulse widths may not cover all required pulse width segments. At this time, the pulse width of each point extracted from the calibration site point cloud data is compared with the preset calibration pulse width list to identify which pulse widths are not covered, that is, the missing calibration pulse widths.
[0105] Figure 8 A schematic diagram of simulation effect of an example of drift error-pulse width sampling point according to an embodiment of the present application is shown.
[0106] It should be noted that the pulse width range is pre-calculated. Specifically, the echo pulse width of the product to different targets was tested before calibration, and the overall range was between 0 and 16ns. This determined the pulse width range that the final output correction table should cover.
[0107] In addition, by setting the pulse width step of the final output table (depending on the memory usage requirements and the calibration accuracy of the pulse width), for example, setting it to 0.1, the points corresponding to the final output pulse width are (0, 0.1, 0.2, ..., 15.8, 15.9), which are the preset pulse width points, forming the calibration pulse width list. Then, use the measured data obtained at the calibration site (such as Figure 8 However, the test data in the field is often uneven, with some pulse width data missing and some pulse width data may be too much.
[0108] In step S720, the drift errors corresponding to the missing calibration pulse widths are calculated by using a spline interpolation algorithm according to the drift errors corresponding to the extracted pulse widths.
[0109] like Figure 8 As shown, LD1 and LD2 represent different VCSELs (Vertical-Cavity Surface-Emitting Lasers). The test data in the field is often uneven, and some pulse width data may be missing. In some pulse widths, there may be a lot of data. In one example processing method, curve fitting is used to characterize the overall law of the data using the curve equation. In another example processing method, spline interpolation can be used, that is, a certain pulse width range is preset, such as (0, 0.1, 0.2, ..., 15.8, 15.9), and the field measured data is interpolated to the preset pulse width to obtain uniformly covered data.
[0110] Here, for the uncovered calibration pulse width, a spline interpolation algorithm (e.g., cubic spline interpolation, B-spline interpolation, or cubic spline interpolation, etc.) is used to calculate the drift error of the missing pulse width through the existing pulse width-drift error data. The interpolation process predicts the intermediate missing values through a smooth curve between known data points, and generates drift errors for these missing calibration pulse widths, so that the error changes under different pulse widths are smoother and more continuous.
[0111] Fig. 9 A schematic diagram of simulation effect of an example of a drift error-pulse width correction table according to an embodiment of the present application is shown.
[0112] It should be noted that the disadvantage of curve fitting is that it loses the details of complex graphics. Fig. 9There is a fluctuation in the relationship between drift error and pulse width at 12~14ns in the curve fitting, which will be ignored in the overall curve fitting, resulting in reduced ranging accuracy in this pulse width range. In contrast, spline interpolation can retain the original data details to the maximum extent, smoothly transition the data, and fill in the missing pulse width data.
[0113] In some embodiments, cubic spline interpolation can be performed by calling the scipy library function of python. Specifically, a given data interval is divided into several subintervals. For example, (0, 0.1, 0.2, ..., 15.8, 15.9). In each subinterval, the spline function is a cubic polynomial. In order to ensure the overall smoothness of the curve, it is required that the first-order derivative and the second-order derivative of the function are continuous at the node. Thus, by solving a set of linear equations, the coefficients of the cubic polynomial in each subinterval can be determined, thereby obtaining the entire spline function.
[0114] In step S730, a drift error-pulse width correction table is constructed according to the calibrated pulse width list and the corresponding drift errors.
[0115] Specifically, based on the known calibration pulse width and its corresponding drift error, combined with the missing calibration pulse width and the corresponding spline interpolation results, a complete drift error-pulse width correction table is constructed. The drift error-pulse width correction table records the drift error correction amount corresponding to different pulse widths, providing a real-time correction basis for the depth calibration process of the lidar.
[0116] It should be noted that the pulse width points where drift error is not measured (i.e., missing calibration pulse width) include two types of pulse width. In the first type of missing calibration pulse width, the points not covered in the collected data interval (e.g., missing 8ns of data in the 9ns~14ns interval) can be filled and smoothed using the above-mentioned cubic spline interpolation.
[0117] In the second type of missing calibrated pulse width, the pulse width interval data that cannot be obtained in the field (such as 0~7ns data) can be filled with empirical values, and then the intersection can be smoothed. For example, the empirical value can be the drift error-pulse width data obtained by off-site testing. Then, this data can be combined with the data in the field to supplement the pulse width data that cannot be obtained in the field. Finally, the following is obtained: Fig. 9 The discrete point data in is the scatter plot display of the drift error-pulse width correction table, where the horizontal axis is the pulse width (unit: nanosecond) and the vertical axis is the discrete point set of the drift error (unit: meter).
[0118] Exemplarily, before calibration, an off-site test is first performed using a gold machine to collect data using targets at different distances and with different reflectivities, and then the above-mentioned spline interpolation method is used to obtain an initial drift error-pulse width correction table (denoted as basic_error).
[0119] Fig.10 A schematic diagram of simulation effect of an example of an initial drift error-pulse width correction table is shown.
[0120] This data can be used for subsequent calibration of all radars to fill in the pulse width interval data that cannot be obtained in the field. Specifically, align the maximum drift error in the initial drift pulse width-error correction table with the maximum drift error tested in the radar field, and then directly find the corresponding drift error based on the pulse width and fill it in the drift error-pulse width correction table. The calculation formula is as follows:
[0121] mod_basic_error = basic_error – (basic_error_max – test_error_max), formula (4)
[0122] Where mod_basic_error is the corrected initial drift error value, basic_error is the initial drift error value of the off-site test, basic_error_max is the maximum value in basic_error, and test_error_max is the maximum value of the drift error during the on-site calibration.
[0123] It should be understood that the method of using the difference of the maximum value to calculate the initial drift error value in the calculation process of the above-mentioned combination formula (4) is only used as an example, and the difference of other values (such as the minimum value or other intermediate values) can also be used for calculation. It should be noted that in the calculation process of the above-mentioned combination formula (4), the maximum drift error is usually the most representative extreme value, which can often reflect the performance of the system under the maximum error range. By correcting the maximum value, it can ensure that the error range of the entire correction table is consistent with the field test and avoid over-correction.
[0124] Find the uncovered pulse width in the drift error-pulse width correction table, then look up the table in mod_basic_error, and directly fill the drift error-pulse width correction table with the value in mod_basic_error. Perform data smoothing again to obtain the final drift error-pulse width correction table.
[0125] In step S740, for each extracted point cloud depth information, the extracted point cloud depth information is corrected based on the drift error-pulse width correction table to obtain the corrected point cloud depth information, and the corrected point cloud depth information is compared with the corresponding target depth true value to determine the corresponding point cloud correction accuracy.
[0126] Here, according to the pulse width value of each point, the corresponding correction value is found from the drift error-pulse width correction table, and the correction value is applied to the depth information of each point. In this way, the original depth information is corrected to a more accurate depth value. Then, the corrected point cloud depth information is compared with the target depth true value, and the deviation error between the corrected point cloud data and the target true value is calculated.
[0127] In step S750, the accuracy of the correction table is determined according to the correction accuracy of each point cloud.
[0128] In one example of the embodiment of the present application, various statistical analysis methods (e.g., mean square error, absolute error, etc.) can be used to perform statistical analysis on the accuracy of each point cloud correction, calculate the corresponding error index, and thus obtain the accuracy of the correction table. In another example of the embodiment of the present application, the laser radar may have multiple signal receiving channels, each channel is responsible for laser scanning and data reception in different directions or at different angles, and the accuracy of different channels can be evaluated separately through the point cloud correction accuracy, so that the accuracy of the correction table can be more refined.
[0129] Through the embodiment of the present application, the drift error of the missing pulse width is accurately estimated using the spline interpolation method, thereby improving the accuracy of the correction table. In addition, by correcting the depth measurement value using the constructed efficient drift error-pulse width correction table and comparing it with the target true value, the correction effect can be accurately evaluated, thereby ensuring the application reliability of the drift error-pulse width correction table.
[0130] Fig.11 An operational flowchart of an example of determining the accuracy of a correction table based on point cloud correction accuracy according to an embodiment of the present application is shown.
[0131] In step S1110, the extracted point cloud depth information is grouped according to the radar receiving channel to obtain at least one corresponding channel point cloud group.
[0132] Here, the lidar system is usually equipped with multiple receiving channels, each channel is responsible for receiving echo signals from different areas or different angles. According to the receiving mechanism of the lidar, all extracted point cloud depth information is grouped according to its corresponding receiving channel to obtain the corresponding channel point cloud group.
[0133] In step S1120, for each channel point cloud group, the channel point cloud correction accuracy corresponding to the channel point cloud grouping is calculated according to the point cloud correction accuracy corresponding to each point cloud depth information in the channel point cloud group.
[0134] In some embodiments, for each channel point cloud group, the statistics of the correction accuracy of all points, such as the mean value, variance, etc., are calculated. The accuracy index (statistic) reflects the accuracy and consistency of the channel data correction, thereby generating a corresponding channel correction accuracy for each channel.
[0135] In step S1130, the accuracy of the correction table is determined based on the correction accuracy of each channel point cloud.
[0136] In some implementations, the weight of each channel (for example, preset according to the importance of the channel) may be combined to perform weighted averaging on the correction accuracies of the point clouds of each channel to obtain the correction table accuracy.
[0137] Here, the accuracy of the correction table can indicate the channel point cloud correction accuracy of each receiving channel, which can ensure that the correction table can achieve higher accuracy in the application of all channels.
[0138] In step S1140, based on the accuracy of the correction table, it is evaluated whether the drift error-pulse width correction table meets the standard.
[0139] In some embodiments, the accuracy of the correction table and / or the correction accuracy of each channel point cloud is evaluated according to a preset accuracy threshold. The correction accuracy threshold can be set according to the needs of the actual application and can be adjusted according to the needs of different business scenarios. The accuracy of the correction table and the correction accuracy of each channel are evaluated by comparing with the preset accuracy threshold. For example, if the correction accuracy of a channel does not reach the threshold, it is marked as not up to standard.
[0140] In other embodiments, the evaluation of whether the correction table accuracy meets the standard may also adopt other calculation schemes, such as weighted calculation of the correction accuracy of each point cloud or selecting part of the point cloud to calculate the correction accuracy, etc. According to the accuracy of the correction table, it can be evaluated whether the correction table meets the standard. If it meets the standard, it can be used in other application tasks, and if it does not meet the standard, it needs to be corrected.
[0141] Furthermore, a notification of accuracy correction reaching the target or a notification of accuracy correction not reaching the target can be generated based on the evaluation results. For example, if the accuracy reaches the target, the drift error-pulse width correction table can be considered to be up to standard, and the subsequent application tasks can continue to be performed. If the accuracy does not reach the target, the correction table can be considered to be not up to standard, and the system can automatically trigger the calibration process to recalibrate the receiving channel with poor accuracy. For example, the notification content includes the accuracy evaluation results of the correction table, the specific accuracy problems of the channel that did not reach the target, and the subsequent correction suggestions. By automatically generating notifications, problems in the calibration process can be quickly fed back, which is convenient for engineers to conduct cause analysis, analyze site layout, algorithm parameter settings, hardware factors, etc.
[0142] Fig.12A flowchart of an example of a depth calibration method for a laser radar according to an embodiment of the present application is shown.
[0143] like Fig.12 As shown in the figure, the depth calibration method of LiDAR includes the following operations:
[0144] a) Point cloud data acquisition: Use a laser radar sensor to scan the calibration site and obtain the point cloud data of the calibration site. The point cloud data includes information such as the pulse width, depth, and angle of each point.
[0145] b) Extract the target point cloud. According to the preset target distance, the dynamic sliding window method is used to extract the point cloud data of each target, which is recorded as point cloud A. The dynamic sliding window method process is as follows: Set the window size of the dynamic sliding window. The window size is calculated according to the target size (for example, the window size can be 1.1 times the target size), and then translate it by angular resolution to obtain the first target on the left ( Figure 5 The positions of other targets can be calculated based on the angle of the right edge of the first target and the angle difference between the right edges of each two adjacent targets. The point cloud data are obtained in sequence using a dynamic sliding window method according to the positions of other targets.
[0146] c) Select calibration points. For each target point cloud data extracted in step b, select the point cloud in the center area of each target as the calibration point, recorded as point cloud B.
[0147] d) Drift error calculation. The depth measurement value of each point is subtracted from the true value of the target depth to obtain the drift error of each point cloud data. The drift error needs to be calculated for both point cloud A and point cloud B.
[0148] e) Calculation of drift error-pulse width correction table. Set the minimum and maximum values and step length of the pulse width to form a pulse width list. Using the drift error of point cloud B obtained in step d, calculate the drift error corresponding to each pulse width in the pulse width list within the pulse width range of point cloud B. Pulse width points without drift error data use linear interpolation to calculate the drift error.
[0149] f) Uncovered pulse width processing. For pulse width points that still have no drift error after processing in step e, interpolation calculation is performed using the drift error of point cloud A obtained in step d. The final drift error-pulse width correction table can be obtained by smoothing the data.
[0150] g) Calculation of accuracy after correction. Use the obtained drift error-pulse width correction table to correct the depth of point cloud A and calculate the accuracy of the corrected point cloud depth. The calibration result is judged as qualified (PASS) or unqualified (FAIL) based on the accuracy index.
[0151] Through the embodiments of the present application, based on the target arrangement of multiple distances, multiple reflectivities, and multiple angles, point cloud data with a large pulse width range can be obtained, which has a wider pulse width range than that obtained by a single reflectivity target or a single distance target solution, and the point cloud data is more realistic. The use of a target spacing arrangement with small near and large far distances can maximize the use of target information, avoid waste of target information and resources, and save calibration costs. By drawing a drift error-pulse width correction table, the drift error is corrected based on the underlying logic of the drift error. This has higher accuracy than the drift error-intensity and drift error-distance solutions, can better reflect the underlying cause of the drift error, and is more adaptable to different environments and different radars.
[0152] Fig.13 An operational flowchart of an example of a laser point cloud depth extraction method according to an embodiment of the present application is shown.
[0153] like Fig.13 As shown, in step S1310, first depth information and a first pulse width corresponding to the laser point cloud collected by the laser radar are obtained.
[0154] Here, the laser radar scans the target scene and collects point cloud data related to the laser signal reflected by the objects in the scene, such as the scanning of the road environment by the vehicle-mounted laser radar, and then extracts the first depth information and the first pulse width corresponding to the laser point cloud.
[0155] In step S1320, a first drift error correction amount matching the first pulse width is determined based on a drift error-pulse width correction table, wherein the drift error-pulse width correction table records a plurality of calibrated pulse widths and corresponding calibrated drift error correction amounts.
[0156] It should be noted that in the actual laser measurement process, the pulse width is affected by factors such as reflectivity, target distance, angle, etc., resulting in drift errors in the measurement results. The calibration process based on a single factor cannot meet the accuracy requirements of depth correction, and the calibration calculation process based on multiple factors is complex and has high requirements on the system and algorithm. Here, the pulse width is used as a basis to quantify the drift error of the measurement result. The pulse width itself will be affected by factors such as target reflectivity, depth, angle, etc., which can achieve a high-precision and efficient correction process without the need for complex algorithm design or system resource consumption.
[0157] In step S1330 , the first depth information is calibrated based on the first drift error correction amount to determine the target depth information.
[0158] Specifically, if the drift error is calculated using "drift error = measured value - true value", then the drift error is used as "depth correction result = measured value - drift error". The measured value is the original depth output by the radar, the drift error is the drift error correction calculated by looking up the drift error - pulse width correction table, and the depth correction result is the depth after eliminating the drift error.
[0159] It should be noted that the pulse width itself will be affected by factors such as target reflectivity, depth, angle, etc., and the generation of drift error is also related to the above factors. However, the above factors all affect the pulse width and thus generate drift error. Therefore, in the embodiment of the present application, it is proposed that the correction of drift error only needs to focus on the pulse width, and the result of the combined effect of the above factors is corrected by the pulse width, without the need to specifically correct a certain factor.
[0160] Through the embodiment of the present application, the rich pulse width data in the drift error-pulse width correction table is used to query the drift error under the corresponding pulse width for correction, effectively compensating for the different target echo intensities and drift errors caused by factors such as target reflectivity, depth, and angle. Through the association of drift error and pulse width, the depth information in the laser point cloud is automatically calibrated, making the depth correction process simpler and more accurate, realizing the calibration of laser radar depth measurement, and improving the accuracy of laser radar depth measurement.
[0161] It should be emphasized that the echo intensity will be affected by the depth, reflectivity, placement angle and other factors of the target, which in turn affects the pulse width, so the pulse width is the result of the combined effect of the above factors. Through the embodiments of the present application, not only is it to achieve personalized calibration for targets with different reflectivities or other single factors, but also includes calibration after the combined effect of factors such as depth and angle through pulse width, which can achieve a higher precision depth correction effect.
[0162] Regarding the implementation details of the above step S1320, in some embodiments, when there is a target calibration pulse width that is the same as the first pulse width among the calibration pulse widths, the first drift error correction amount is determined according to the calibration drift error correction amount corresponding to the target calibration pulse width.
[0163] Here, if a completely matched pulse width is found, the calibration drift error correction corresponding to the pulse width is directly extracted, which reflects the error caused by the pulse width and has taken into account the combined effects of reflectivity, angle, target depth and other factors.
[0164] On the other hand, when there is no target calibrated pulse width identical to the first pulse width among the calibrated pulse widths, a second calibrated pulse width and a third calibrated pulse width adjacent to the first pulse width are determined from among the calibrated pulse widths.
[0165] Here, when there is no target calibrated pulse width that is exactly the same as the first pulse width in the drift error-pulse width correction table, adjacent pulse width values will be searched from the calibrated pulse width list. These pulse widths are the calibrated pulse widths closest to the first pulse width, and the corresponding drift error correction amounts are recorded in the correction table.
[0166] Furthermore, the first drift error correction amount is determined according to the second calibrated pulse width, the third calibrated pulse width and the corresponding calibrated drift error correction amount.
[0167] It should be noted that, since the differences between the second calibrated pulse width and the third calibrated pulse width and the first pulse width are relatively small, the first drift error correction amount can be calculated by linear weighted interpolation.
[0168] , Formula (5)
[0169] In the formula, represents the first drift error correction, , and Respectively represent the first pulse width, the second calibrated pulse width and the third calibrated pulse width, Indicates the calibration drift error correction corresponding to the second calibration pulse width, Indicates the calibration drift error correction amount corresponding to the third calibration pulse width.
[0170] Through the embodiments of the present application, even if there is no completely matching pulse width in the table, the drift error correction amount corresponding to the first pulse width can be obtained by interpolation calculation of adjacent pulse widths, and the error can still be effectively corrected, thereby improving the robustness and adaptability of the correction system.
[0171] It should be noted that, for the aforementioned method embodiments, for the sake of simplicity of description, they are all expressed as a series of actions combined, but those skilled in the art should be aware that the present application is not limited by the described order of actions, because according to the present application, certain steps can be performed in other orders or simultaneously. Secondly, those skilled in the art should also be aware that the embodiments described in the specification are all preferred embodiments, and the actions and modules involved are not necessarily required by the present application. In the above embodiments, the description of each embodiment has its own emphasis. For parts that are not described in detail in a certain embodiment, please refer to the relevant description of other embodiments.
[0172] In some embodiments, the embodiments of the present application also provide a computer program product, which includes a computer program stored on a non-volatile computer-readable storage medium, and the computer program includes program instructions. When the program instructions are executed by a computer, the computer executes any one of the above-mentioned laser radar depth calibration methods or laser point cloud depth extraction methods.
[0173] In some embodiments, the embodiments of the present application also provide an electronic device, comprising: at least one processor, and a memory communicatively connected to the at least one processor, wherein the memory stores instructions executable by the at least one processor, and the instructions are executed by the at least one processor so that the at least one processor can execute a laser radar depth calibration method or a laser point cloud depth extraction method.
[0174] The above-mentioned device of the embodiment of the present application can be used to execute the depth calibration method of the laser radar or the laser point cloud depth extraction method of the embodiment of the present application, and accordingly achieve the technical effect achieved by the depth calibration method of the laser radar or the laser point cloud depth extraction method of the embodiment of the present application, which will not be repeated here. In the embodiment of the present application, the relevant functional modules can be implemented by a hardware processor.
[0175] Fig.14 is a schematic diagram of the hardware structure of an electronic device for executing a depth calibration method of a laser radar or a depth extraction method of a laser point cloud provided in another embodiment of the present application, such as Fig.14 As shown, the device includes:
[0176] One or more processors 1410 and memory 1420, Fig.14 A processor 1410 is taken as an example.
[0177] The device for executing the laser radar depth calibration method or the laser point cloud depth extraction method may also include: an input device 1430 and an output device 1440 .
[0178] The processor 1410, the memory 1420, the input device 1430 and the output device 1440 may be connected via a bus or other means. Fig.14 The example of connecting through bus is taken in the following.
[0179] The memory 1420, as a non-volatile computer-readable storage medium, can be used to store non-volatile software programs, non-volatile computer executable programs and modules, such as the program instructions / modules corresponding to the depth calibration method of the laser radar or the laser point cloud depth extraction method in the embodiments of the present application. The processor 1410 executes various functional applications and data processing of the server by running the non-volatile software programs, instructions and modules stored in the memory 1420, that is, the depth calibration method of the laser radar or the laser point cloud depth extraction method in the above method embodiment is realized.
[0180] The memory 1420 may include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function; the data storage area may store data created according to the use of the device, etc. In addition, the memory 1420 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other non-volatile solid-state storage device. In some embodiments, the memory 1420 may optionally include a memory remotely arranged relative to the processor 1410, and these remote memories may be connected to the device via a network. Examples of the above-mentioned network include, but are not limited to, the Internet, an intranet, a local area network, a mobile communication network, and combinations thereof.
[0181] The input device 1430 may receive input digital or character information and generate signals related to user settings and function control of the device. The output device 1440 may include a display device such as a display screen.
[0182] The one or more modules are stored in the memory 1420, and when executed by the one or more processors 1410, perform the laser radar depth calibration method or laser point cloud depth extraction method in any of the above method embodiments.
[0183] The above-mentioned product can execute the method provided in the embodiment of the present application, and has the functional modules and beneficial effects corresponding to the execution method. For technical details not fully described in this embodiment, please refer to the method provided in the embodiment of the present application.
[0184] The electronic devices of the embodiments of the present application exist in various forms, including but not limited to:
[0185] (1) Mobile communication devices: These devices are characterized by their mobile communication functions and their main purpose is to provide voice and data communications. These terminals include: smart phones (such as iPhone), multimedia phones, functional phones, and low-end phones.
[0186] (2) Ultra-mobile personal computer devices: These devices fall into the category of personal computers, have computing and processing capabilities, and generally also have mobile Internet access features. These terminals include: PDA, MID and UMPC devices, such as iPad.
[0187] (3) Portable entertainment devices: These devices can display and play multimedia content. They include audio and video players (such as iPods), handheld game consoles, e-books, as well as smart toys and portable car navigation devices.
[0188] (4) Server: A device that provides computing services. The server consists of a processor, hard disk, memory, system bus, etc. The server is similar to a general computer architecture, but because it needs to provide highly reliable services, it has higher requirements in terms of processing power, stability, reliability, security, scalability, and manageability.
[0189] (5) Other electronic devices with data interaction functions.
[0190] In some embodiments, the present application further provides a mobile platform, which is equipped with a computer device described in any embodiment of the present application. The mobile platform includes but is not limited to a vehicle, a tracked robot, a bipedal robot, a quadrupedal robot, etc., wherein the vehicle may be a passenger car, a pickup truck, a truck, etc. It should be noted that the above is only an example, and the present application does not limit the specific form of the mobile platform.
[0191] The device embodiments described above are merely illustrative, wherein the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place or distributed on multiple network units. Some or all of the modules may be selected according to actual needs to achieve the purpose of the solution of this embodiment.
[0192] Through the description of the above implementation methods, those skilled in the art can clearly understand that each implementation method can be implemented by means of software plus a general hardware platform, and of course, by hardware. Based on this understanding, the above technical solution, in essence, or the part that contributes to the relevant technology, can be embodied in the form of a software product, which can be stored in a computer-readable storage medium, such as ROM / RAM, a disk, an optical disk, etc., including a number of instructions for a computer device (which can be a personal computer, a server, or a network device, etc.) to execute the methods described in each embodiment or some parts of the embodiment.
[0193] Finally, it should be noted that the above embodiments are only used to illustrate the technical solutions of the present application, rather than to limit it. Although the present application has been described in detail with reference to the aforementioned embodiments, those skilled in the art should understand that they can still modify the technical solutions described in the aforementioned embodiments, or make equivalent replacements for some of the technical features therein. However, these modifications or replacements do not deviate the essence of the corresponding technical solutions from the spirit and scope of the technical solutions of the embodiments of the present application.
Claims
1. A depth calibration method for a laser radar, comprising: Obtaining calibration site point cloud data generated by laser radar scanning the calibration site; the calibration site is provided with a plurality of targets, each of which has a different azimuth angle relative to the laser radar; the plurality of targets includes a third target having a plurality of standard reflectivity areas, each of which has a different reflectivity; Extracting target laser point cloud data corresponding to each target from the calibration site point cloud data; For each of the targets, extracting the point cloud depth information and pulse width of the corresponding target laser point cloud data, and comparing the extracted point cloud depth information with the target depth true value corresponding to the target to determine the corresponding drift error; Constructing a drift error-pulse width correction table for depth calibration of the laser radar according to each extracted pulse width and the corresponding drift error; The drift error-pulse width correction table records a plurality of calibrated pulse widths and corresponding calibrated drift error correction amounts; Wherein, each of the targets is arranged at intervals according to a preset target spacing, and a first target spacing corresponding to the first target is smaller than a second target spacing corresponding to the second target, wherein the relative distance between the first target and the laser radar is smaller than the relative distance between the second target and the laser radar.
2. The method according to claim 1, wherein: The plurality of targets further include a fourth target, wherein a reflectivity of the fourth target is greater than a reflectivity of each standard reflectivity region in the third target.
3. The method according to claim 1, wherein: The step of extracting target laser point cloud data corresponding to each target from the calibration site point cloud data includes: Determine an initial point cloud position of a depth true value of a target reference point corresponding to the fifth target from the calibration site point cloud data, and determine the reference point cloud position corresponding to the fifth target according to an average value of coordinates of each point within a preset distance range around the initial point cloud position; Creating a point cloud traversal list according to the reference point cloud position, the distance between the target reference point and the target boundary, and a preset window step size; A sliding window traversal is performed on the target laser point cloud data based on the point cloud traversal list to extract the target laser point cloud data corresponding to the fifth target.
4. The method according to claim 3, wherein: After determining an initial point cloud position of a depth true value of a target reference point corresponding to the fifth target from the calibration site point cloud data, and determining the reference point cloud position corresponding to the fifth target according to an average value of coordinates of each point within a preset distance range around the initial point cloud position, the method further includes: Acquiring a relative position of a sixth target relative to the fifth target; The reference point cloud position of the sixth target is determined according to the relative orientation of the targets and the reference point cloud position of the fifth target.
5. The method according to claim 1, wherein: The method of constructing a drift error-pulse width correction table for depth calibration of the laser radar according to each extracted pulse width and the corresponding calibration drift error correction amount includes: Matching each of the extracted pulse widths with a preset calibrated pulse width list to determine at least one missing calibrated pulse width that is not covered by the calibrated pulse width list; According to the drift errors corresponding to the extracted pulse widths, the drift errors corresponding to the missing calibration pulse widths are calculated by a spline interpolation algorithm; A drift error-pulse width correction table is constructed according to the calibrated pulse width list and the corresponding drift errors.
6. The method according to claim 1, wherein: After constructing a drift error-pulse width correction table for depth calibration of the laser radar according to each extracted pulse width and the corresponding drift error, the method further includes: For each of the extracted point cloud depth information, the extracted point cloud depth information is corrected based on the drift error-pulse width correction table to obtain corrected point cloud depth information, and the corrected point cloud depth information is compared with the corresponding target depth true value to determine the corresponding point cloud correction accuracy; Determining the accuracy of the correction table according to the correction accuracy of each point cloud; According to the accuracy of the correction table, it is evaluated whether the drift error-pulse width correction table meets the standard.
7. A laser point cloud depth extraction method, comprising: Acquire first depth information and a first pulse width corresponding to a laser point cloud collected by a laser radar; Determining a first drift error correction amount matching the first pulse width based on a drift error-pulse width correction table; The drift error-pulse width correction table records a plurality of calibrated pulse widths and corresponding calibrated drift error correction amounts, and the drift error-pulse width correction table is constructed by applying the depth calibration method of the laser radar as claimed in claim 1; The first depth information is calibrated based on the first drift error correction amount to determine target depth information.
8. The method according to claim 7, wherein: The step of determining a first drift error correction amount matching the first pulse width based on a drift error-pulse width correction table includes: When there is a target calibration pulse width that is the same as the first pulse width among the calibration pulse widths, determining the first drift error correction amount according to the calibration drift error correction amount corresponding to the target calibration pulse width; When there is no target calibrated pulse width identical to the first pulse width among the calibrated pulse widths, determining a second calibrated pulse width and a third calibrated pulse width adjacent to the first pulse width from the calibrated pulse widths; A first drift error correction amount is determined according to the second calibrated pulse width, the third calibrated pulse width and the corresponding calibrated drift error correction amount.
9. A computer device comprising a memory, a processor and a computer program stored in the memory, characterized in that: The processor executes the computer program to implement the steps of the method according to any one of claims 1 to 8.
10. A computer-readable storage medium having a computer program / instruction stored thereon, characterized in that: When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
11. A computer program product comprising a computer program / instructions, characterized in that When the computer program / instructions are executed by a processor, the steps of the method according to any one of claims 1 to 8 are implemented.
Citation Information
Patent Citations
Laser radar calibration point determination method and device, equipment and storage medium
CN115032615A
Target-based laser radar and camera calibration method and system, and electronic equipment
CN115685160A
Ranging method of laser radar, laser radar and storage medium
CN115755078A