Apparatus and method for calibrating a three-dimensional scanner and optimizing point cloud data
By generating and optimizing offset grids on LiDAR devices, the problems of cumbersome calibration and large errors in LiDAR devices are solved, enabling more efficient and accurate measurements.
Patent Information
- Application Number
- CN202180059659.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2021-09-28
- Publication Date
- 2026-02-27
- Estimated Expiration
- 2041-09-28
AI Technical Summary
Existing LiDAR equipment requires a cumbersome calibration process before measurement and suffers from systematic errors and noise due to atmospheric instability, which affects measurement accuracy.
By generating a spot containing a laser beam that moves across the surface of a 3D calibration device, using a photodetector to receive the reflected laser light to calculate the time of flight, a point cloud structure is generated. The LiDAR device is then calibrated using an iterative offset mesh optimization method to reduce measurement errors.
It improves the accuracy and efficiency of LiDAR measurements, reduces the workload of the calibration process, and enhances measurement precision.
Smart Images

Figure CN116261674B_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present disclosure relates to three-dimensional (3D) point cloud processing, and more particularly, to a method and apparatus for calibrating a 3D scanner and optimizing point cloud data. BACKGROUND
[0002] Light detection and ranging (LiDAR) is an optical remote sensing technology that densely scans and samples the surface of a sensed target. LiDAR typically employs an active optical sensor that transmits a laser (i.e., it can include a laser beam, a laser pulse, or a combination thereof) toward a target as it moves along a specific survey route. The reflection of the laser from the target is detected and analyzed by a receiver in the LIDAR sensor.
[0003] LiDAR devices typically include a laser source and a scanner that directs the laser source in different directions toward a target to be imaged. The steering of the laser can be performed using rotating materials, micro-electro-mechanical systems (MEMS), solid-state scanning using silicon photonics, or other devices such as Risley prisms. The incident light is reflected from the target being scanned.
[0004] The received reflections form a three-dimensional (3D) point cloud of data, which can be used in many applications such as simultaneous localization and mapping (SLAM), building reconstruction, and road marking extraction. Normal vector estimation is a fundamental task in 3D point cloud processing. Known normal vector estimation methods can be classified into regression-based methods, Voronoi-based methods, and deep learning methods.
[0005] However, because implementing the applications described above using a LIDAR device involves measurement technology and metrology, calibration prior to measurement can be required. That is, a LiDAR device can encounter systematic errors and / or noise due to atmospheric instability, resulting in inaccurate time-of-flight (ToF) measurement bias, and thus the LiDAR needs to be calibrated to compensate for the measurement bias. Accordingly, techniques using a LiDAR device depend on calibration to reduce measurement errors for different applications and purposes. Current techniques for calibration are cumbersome, which can require effort to acquire data for calibration, and rely on known parameters from the LiDAR device. For example, to perform calibration of a LiDAR device, the following parameters are required; relative positions of a laser source and a receiver with respect to the LiDAR device; relative positions of a calibration target with respect to the LiDAR device; and geometry (e.g., size, dimension, etc.) of the calibration target. Thus, there is a certain level of effort, and it is desirable to reduce the effort or improve the efficiency of the calibration technique of the LiDAR device in this technology. SUMMARY
[0006] To improve the accuracy of LiDAR measurements, the present invention provides an apparatus and method for calibrating LiDAR measurements by a method of iteratively measuring a calibration device and then optimizing a scanner offset grid until a certain convergence criterion is met. According to one aspect of the present invention, a calibration method is provided as follows. A laser comprising at least one laser beam and a series of laser pulses is generated by a directional laser source. The laser source directs a spot onto a surface of a three-dimensional (3D) calibration device and moves the spot along the surface. At the same time, the laser is emitted from the laser source to the directed area of the surface. A photodetector accordingly receives the reflected laser and calculates its time-of-flight (ToF), thereby producing a point cloud structure of the calibration device surface. A distance measurement offset grid relative to a 3D scanner is generated by a calibration unit from the calculated difference between the aperture measured by the 3D scanner and its manually measured actual physical aperture. An iteration index t of an iteration loop is set by the calibration unit, where t is an integer. At the tth iteration, a point cloud (of the LiDAR device) is generated by the calibration unit. A measurement error (i.e., of the 3D scanner) is obtained by calculating the difference between the measured aperture and the physical aperture of the LiDAR device. By considering the aperture, the measurement error of the 3D scanner relative to a target distance and a target incident angle can be determined. This set of measurement offsets at different distances and different incident angles can be referred to as an "offset grid". The point cloud at the tth iteration can be optimized by subtracting the acquired offsets and produce a point cloud at the t+1th iteration. A new measurement error (i.e., equivalently, offset grid) can thus be calculated, and the new measurement error is accumulated to the old offset grid.
[0007] According to one embodiment of the present invention, in the iteration loop, the optimization is performed more than once, whereby the accuracy of LiDAR measurements is further improved.
[0008] According to another embodiment of the present invention, prior to the calibration method described above, a testing method is provided as follows. A track comprising a plurality of parallel bars is placed such that a LiDAR device is in front of the track. The distance from the LiDAR device to one of the bars and the separation between two parallel bars are measured in order to calculate and obtain physical distance and incident angle information. The measured distance and incident angle information are calculated by a calibration unit from the point cloud. The physical distance and incident angle information are compared to the measured distance and incident angle information by the calibration unit in order to determine whether to perform the calibration method.
[0009] According to another embodiment of the present invention, a LiDAR system for implementing the calibration method described above is provided, wherein the LiDAR system comprises a LiDAR device and a controller. The LiDAR device comprises a laser, a scanner, and a photodetector. The controller is in electrical communication with the LiDAR device and comprises a calibration unit.
[0010] By providing a calibration method, an initial point cloud matrix is generated using an input point cloud (i.e., the point cloud can have a plurality of data points arranged in a matrix to generate an initial point cloud matrix), and an initial offset profile in the form of a function of distance and angle of incidence is calculated. The initial point cloud matrix can be optimized by the initial offset profile, and then a point cloud matrix of the next iteration is generated. In the iterative loop of the calibration method, the optimization can be performed one or more times, and the output of the final iteration includes a final point cloud and a final offset grid. The final point cloud can contain measured distance information close to physical distance information, thereby improving distance accuracy. The final offset grid contains a function representing information about the calibration or modification of the measured values for the LiDAR device. BRIEF DESCRIPTION OF DRAWINGS
[0011] Embodiments of the present application are described below in more detail with reference to the accompanying drawings, in which:
[0012] Figure 1 depicts a LiDAR system according to an embodiment of the present application;
[0013] Figure 2 is a flowchart showing a method of pre-processing a LiDAR system before performing a 3D point cloud scanning process according to an embodiment of the present application;
[0014] Figure 3 shows the relative positional relationship between the track and the LiDAR system in pre-processing;
[0015] Figure 4 is a LiDAR system located at different positions with respect to the track according to an embodiment of the present application;
[0016] Figure 5 shows a flowchart of the operation for processing step S70 in Figure 1 to generate offset calibration according to an embodiment of the present application; and
[0017] Figure 6 demonstrates a function δ MESH (r, ψ) according to an embodiment of the present application. DETAILED DESCRIPTION
[0018] In the following description, devices and methods for calibrating three-dimensional (3D) scanners and optimizing point cloud data, etc. are set forth as preferred examples. Modifications incorporating additions and / or substitutions will be apparent to those skilled in the art without departing from the scope and spirit of the present application. Specific details can be omitted in order not to obscure the application; however, the disclosure is written to enable others skilled in the art to practice the teachings herein without undue experimentation.
[0019] Referring to Figure 1A light detection and ranging (LiDAR) system 10 that quantifies surface flatness is depicted in accordance with an embodiment of the present invention. The LiDAR system 10 includes a laser source 20 that emits light 60, which is typically passed through optics 30, such as a collimating lens. The laser 20 can be, for example, a 600-1000 nm band laser or a 1550 nm band laser. In some embodiments, the light 60 can be a laser that includes a laser beam, a series of laser pulses, or a combination thereof. In some embodiments, a single laser source or multiple laser sources can be used. In alternative embodiments, a flash LiDAR camera can be employed.
[0020] The light 60 is incident on a scanning device 90. The scanning device 90 can be a rotating mirror (polygonal or flat), a MEMS device, a prism, or another other type of device that can scan a laser beam over the surface of a target object 100 to be scanned. The image development speed is controlled by the speed at which the target object 100 is to be scanned. The scanner beam 65 is reflected as a reflected beam 75 that is directed away from the scanning device 90 into a beam 70 via optics 40 and into a photodetector 80. The photodetector 80 can be selected from a solid state photodetector such as a silicon avalanche photodiode or photomultiplier, a CCD, a CMOS device, or the like. A controller 50 is in electrical communication with the laser source 20, the photodiode 80, and the scanning device 90 as part of the LiDAR apparatus, and thus electrical communication between the controller 50 and the LiDAR apparatus is established. The controller 50 can be one or more processing devices such as one or more microprocessors, and the techniques of the present invention can be implemented in hardware, software, or application specific integrated circuitry. The controller 50 includes a calibration unit 52 that can be configured to perform a calibration process in accordance with at least one programmable instruction stored in the controller 50.
[0021] The LIDAR system 10 generates a point cloud of data. A point cloud is a collection of data points that represent a three-dimensional shape or feature. Each point in the point cloud is associated with a color from a pixel of an image for color imaging. For measurement applications, a 3D model is generated from the point cloud from which measurements can be made.
[0022] From the point cloud, the target object 100 properties can be converted to coordinates along the coordinate axes. That is, each point in the point cloud can be analyzed to produce a distance "r", a height "0", and an azimuth angle such that each point can be expressed as In particular, the distance "r" (i.e., also referred to as a radius) defines the physical distance from the origin (i.e., the spot at which the LIDAR system is located) to the target point. The height "0" or azimuth angle defines the location of the target point on a unit sphere without the distance.
[0023] The accuracy of the measurements using the LiDAR system can be within the distance "r" and the angle of incidence "ψ" of the laser beam traveling from the LiDAR system to the target point. Accordingly, the factor of accuracy can be collected as a measurement offset δ(r, ψ), where r ∈ [0, +∞) and ψ ∈ [0, π / 2). In some embodiments, the offset calibration module is stored in the calibration unit 52 and can be executed to optimize the point cloud obtained from the measurements, thereby improving the accuracy of the measurements.
[0024] Figure 2 is a flowchart showing a method of pre-processing a LiDAR system before performing a 3D point cloud scanning process according to an embodiment of the present application. The pre-processing method includes steps S10, S20, S30, S40, S50, S60, and S70, where step S10 is placing a track including a plurality of parallel bars; step S20 is measuring the interval between two bars and the distance from the LiDAR system to one of the bars; step S30 is constructing the geometry of the track; step S40 is performing a 3D point cloud scanning process; step S50 is determining whether the measured values are acceptable; step S60 is starting to scan a target object; and step S70 is generating an offset calibration module. Herein, the term "generating" can include generating by "updating", "optimizing", or "accumulating". Figure 3 The relative positional relationship between the track 110 in pre-processing and the LiDAR system 10 is shown. The LiDAR system 10 in pre-processing can have a similar or the same configuration as the LiDAR system of Figure 1 .
[0025] In step S10, the track 110 and the LiDAR system 10 can be disposed as shown in Figure 3 . The track 110 includes "15" bars 112 arranged in parallel lines (i.e., some bars are omitted in the illustration in order not to make the illustration too complex), and the LiDAR system 10 is placed in front of the track 110.
[0026] In step S20, the interval 114 between any two adjacent bars 112 and the width 116 of each bar 112 can be measured. In some embodiments, the measurement is achieved by using a tool with high accuracy, such as a range finder, a vernier caliper, or a ruler tool. Thus, the interval 114 between any two adjacent bars 112 and the width 116 of each bar 112 are known parameters. For example, the interval 114 between any two adjacent bars 112 is 0.8 m. In addition, the distance from the LiDAR system 10 to any one of the bars 112 of the track 110 can be a known parameter. For example, the LiDAR system 10 is separated from the first bar (the leftmost bar among the bars 112) of the track 110 by 0.2 m, which can be determined by measurement.
[0027] In step S30, with the known parameters as described in step S20, the distance from the LiDAR system 10 to each of the tracks 112 of the track 110 and the angle of incidence of the light beam (e.g., one of the light beams 118) provided from the LiDAR system 10 relative to each of the tracks 112 of the track 110 can be calculated, thereby constructing the geometric configuration of the track 110. The calculated distances and angles of incidence can be recorded as physical distance information and physical angle of incidence information, respectively, in the calibration unit (e.g., the calibration unit 52 in the Figure 1 . Figure 3 In the exemplary illustration of the track 110, because the number of the tracks 112 of the track 110 is “15”, a set of 15 data points will be recorded.
[0028] In step S40, the LiDAR system 10 can be turned on to perform a 3D point cloud scanning process relative to the environment, which is achieved by scanning the surrounding environment including the tracks 112 of the track 110. By performing the scanning process, a set of measured data points relative to the tracks 112 of the track 110 is obtained and recorded in the form as previously described in . All the distances “r” in the set of measured data points can be referred to as measured distance information. From the measured data points, the measured angles of incidence at each of the tracks 112 can be calculated. For example, relative to a point P1 at a first track 112 of the track 110, the LiDAR system 10 is located at the origin (0, 0, 0) in a Cartesian coordinate system; the point P1 is located at the coordinate (x1, y1, z1) in the same Cartesian coordinate system; and the normal vector at the point P1 can be calculated from the surface constructed by the points in the vicinity of the point P1, where this calculation can also be referred to as normal vector estimation. Then, the angle between the connecting line from the origin (0, 0, 0) to the coordinate (x1, y1, z1) and the normal vector is calculated as the measured angle of incidence, and all the measured angles of incidence can be collected as measured angle of incidence information.
[0029] In step S50, the measured distance information is compared with the physical distance information, and the measured angle of incidence information is compared with the physical angle of incidence information, in order to determine whether the measurements of the LiDAR system 10 are acceptable. If the comparison result (e.g., the extent of the difference between the measured distance information and the physical distance information or the extent of the difference between the measured angle of incidence information and the physical angle of incidence information) is within a desired range, it means that the measurements of the LiDAR system 10 are acceptable, and the next step after step S50 is step S60. On the other hand, if the comparison result is outside the desired range, it means that the measurements of the LiDAR system 10 will be calibrated or modified, and the next step after step S50 is step S70.
[0030] In step S60, because the LiDAR system 10 is determined to be acceptable, the LiDAR system 10 can be configured to perform another 3D point cloud scanning process, whereby the target object is scanned for a desired purpose.
[0031] In step S70, because the LiDAR system 10 is determined to require calibration or modification, the calibration unit (i.e., the calibration unit 52 in Figure 1 ) can generate an offset calibration using the measured data points stored therein with an offset calibration module. In some embodiments, the generation of the offset calibration is performed by existing offset calibration or updating the existing offset calibration.
[0032] In some embodiments, the LiDAR system 10 can be displaced to different positions to perform the 3D point cloud scanning process multiple times with respect to the track 110 in the same position. For example, Figure 4 An LiDAR system 10 located in different positions with respect to the track 110 according to an embodiment of the present application is shown in . There are four pre-specified positions of the LiDAR system 10. That is, the LiDAR system 10 can perform the 3D point cloud scanning process at a first position PT1, and then the LiDAR system 10 is displaced to a second position PT2, a third position PT3 and a fourth position PT4 to perform the 3D point cloud scanning process three times, respectively. Herein, the term "pre-specified position" means that the distance of the LiDAR system 10 at each position to the first strip 112 of the track 110 is a known parameter. In this way, because 15 data points in each of the 3D point cloud scanning processes can be obtained, it will eventually obtain 60 data points. In other words, by displacing the LiDAR system 10 to different positions to perform the 3D point cloud scanning process, the measured data points that can be collected as measured distance and incident angle information can be as evenly sampled as possible, which will facilitate further determination of whether the measurement values of the LiDAR system 10 are acceptable.
[0033] Figure 5 The mechanism of generating the offset calibration module by the calibration unit is provided as follows. Referring to Figure 1with step S70 in FIG. 7 to generate an offset calibration. Step S70 includes operations S72, S74, S76, S78, S80, S82, S84, S86, S88, S90, and S92. Operation S72 is to input a point cloud to a calibration unit; operation S74 is to generate an offset grid; operation S76 is to set an iteration index; operation S78 is to generate a point cloud; operation S80 is to generate a measurement error from a point cloud matrix (i.e., a point cloud can have a plurality of data points arranged in a matrix to generate a point cloud matrix); operation S82 is to generate an offset profile from the measurement error; operation S84 is to construct an equation to update the point cloud matrix; operation S86 is to call the offset profile to the offset grid; operation S88 is to determine whether to proceed to a next iteration; operation S90 is to update the iteration index; and operation S92 is to output the point cloud matrix and the offset grid. In some embodiments, operations S78 through S90 can be processed as an iteration loop, and thus operations S78 through S90 can be processed more than once,
[0034] In operation S72, a set of measured data points of a point cloud is input to a calibration unit (i.e., calibration unit 52 in Figure 1 Figure 1 In some embodiments, a controller (i.e., controller 50 in Figure 2 For example, after a 3D point cloud scanning process is performed by a LiDAR system (e.g., a scanning process as previously described in step S40 of FIG. 4), a point cloud obtained from the scanning process and containing a set of measured data points can be stored in a memory, and then the measured data points of the point cloud can be delivered to the calibration unit in response to computer programmable instructions.
[0035] In operation S74, an offset grid is generated by the calibration unit, where the offset grid can be updated in subsequent operations involved in an iteration loop. In some embodiments, the offset grid can be set to zero or null to be updated before any update to the offset grid.
[0036] In operation S76, an iteration index "t" is set by the calibration unit, where "t" is an integer. In some embodiments, the iteration index "t" starts at 0. For example, as operations S78 through S90 collectively form an iteration loop, during a first iteration of the iteration loop, the iteration index "t" can be set to "0" (i.e., t = 0), and then the iteration index "t" is incremented to "t + 1" (i.e., t = 1) when a second iteration of the iteration loop starts.
[0037] In operation S78, a point cloud matrix "PCL" is generated by the calibration. In some embodiments, the point cloud matrix is generated from the measured data points of the point cloud delivered from the memory. In other embodiments, the point cloud matrix is generated from the measured data points of the point cloud that is the output produced by a previous iteration. For example, operation S78 with iteration index "t+1" can generate the point cloud matrix based on the output of operations S78 to S90 with iteration index "t". Since each of the measured data points contains a distance "r", an elevation angle "0", and an azimuth angle Therefore, the point cloud matrix "PCL" can be expressed as follows:
[0038]
[0039] In the case where "t" is the iteration index, each of the measured data points is expressed as and "i" is the point index of the corresponding measured data point and is defined as a positive integer from 1 to N. For example, when operation S78 is processed in the first iteration of the iteration loop, the iteration index "t" is "0", and therefore the point cloud matrix "PCL" in the case where t = 0 can be expressed as follows:
[0040]
[0041] In operation S80, from the point cloud matrix generated in operation S78, the measured incident angle "ψ" can be calculated with respect to each of the measured data points, and then the measured distance and the measured incident angle of the point cloud matrix are collected to generate the measurement error δ(r i ,ψ i ), where r i ∈ [0, +∞), ψ i ∈ [0, π / 2], and "i" is the same as defined previously. Since the number of the measured data points of the point cloud matrix is N, the number of the measurement errors is also N, such as δ(r1, ψ1), δ(r2, ψ2)... δ(r N ,ψ N ). In some embodiments, some of the measured data points act as transition data and can not be applied in the calculation of the offset grid.
[0042] In operation S82, from the measurement error δ(r i ,ψ i ), the offset profile can be generated by the calibration unit, where the offset profile is a function of the measured distance and the measured incident angle. That is, the offset profile can be expressed as a function δ MESH (r, ψ) using the measured distance and the measured incident angle as the independent variables. In some embodiments, the function δ MESH (r, ψ) is shown in Figure 6 , which means that the function δMESH (r, ψ) can be expressed as a three-dimensional mesh. Furthermore, the measurement error δ(r) i ,ψ i Each of the elements in the equation acts as a function δ, which is then generated using statistical methods. MESH Part of the total information of (r, ψ). For example, by substitution, the function δ MESH The set of (r, ψ) can be expressed as δ MESH (r1,ψ1),δ MESH (r2,ψ2)…δ MESH (r N ,ψ N In some embodiments, statistical methods may include interpolation, linear regression, multinomial fitting, other suitable methods, or combinations thereof.
[0043] In operation S84, the calibration unit constructs an update equation, to which the point cloud matrix and offset profile (replacing the measurement error) are incorporated. For example, the update equation can be expressed as follows:
[0044]
[0045] Where “t” is the iteration index defined above. As operation S84 is processed in the first iteration of the iterative loop, the iteration index “t” will become “0”, and the corresponding update equation can be calculated as follows:
[0046]
[0047] In other words, using δ MESH (0) (r, ψ) to optimize PCL (0) In order to generate PCL (1) And PCL (1) It can be called dependent on PCL (0) and δ MESH (0) (r, ψ). In this respect, because δ MESH (0) (r, ψ) are from PCL (0) Calculate, so δ MESH (0) (r, ψ) and PCL (0) The measurement offset exists in the PCL. Therefore, by... (0) Subtract δ MESH (0) (r, ψ) to optimize PCL (0) This can improve distance accuracy. Furthermore, PCL (1) There may still be an error in the measured distance relative to the true distance, but this error is less than that of PCL. (0)reduced, and this technique can also be applied to future iterations.
[0048] In the step of S86, the function d used in the calculation of the update equation of the measurement error is not replaced by the offset profile MESH (0) (r, y) calls to the offset grid, such that the offset grid is updated by summing the current record with the function d MESH (0) (r, y).
[0049] In the step of S88, the convergence criterion can be set by the calibration unit, and the calibration unit can be further configured to determine whether to successively find the point cloud matrix in the next iteration (i.e., the point cloud matrix labeled as PCL (2) In some embodiments, the convergence criterion is the degree of difference between the offset grids before and after the update. For example, the offset grid can be characterized by a function as "y = a / (b*exp(-dx)*ln(ex) + c", where the coefficients a, b, c, d, and e are parameters of the respective offset grid. After each iteration update, the percentage change of the parameter set (a, b, c, d, e) is checked, and if the percentage change is less than a certain threshold (e.g., a preset threshold), the convergence criterion is satisfied. Then, if the comparison result is outside the convergence criterion, it will continue the iteration loop and proceed to operation S90. Otherwise, if the comparison result is within the convergence criterion, it will end the iteration loop and proceed to operation S92.
[0050] In operation S90, the iteration index "t" is updated by the calibration unit to become "t+1". For example, as the iteration loop is processed with the second iteration, the iteration index "t" changes from "0" to "1". In the iteration loop with the second iteration, the PCL (1) generated in the first iteration is called in order to process operation S78 in the second iteration (i.e., t = 1).
[0051] In particular, in operation S80 where t = 1, the measured incidence angle "y" is calculated with respect to each data point of PCL (1) , and then the measured distance and the measured incidence angle of PCL (1) are collected to generate a set of measurement errors, labeled as d (1) (r i , y i ) for t = 1. In operation S82 where t = 1, the offset profile is generated by the calibration unit according to the measurement errors and expressed as a function d MESH (1) (r, y) in operation S84 in the second iteration, the update equation is calculated as follows:
[0052]
[0053] Similarly, the function δ MESH (1) (r, ψ) is employed to optimize the PCL (1) so as to generate the PCL (2) and the PCL (2) can be referred to as depending on the PCL (1) and the function δ MESH (1) (r, ψ). In operation S86, where t = 1, the function δ MESH (1) (r, ψ) used in the calculation of the update equation of the measurement error is not replaced, such that the offset grid is updated by summing the current record with the function δ MESH (1) (r, ψ) (e.g., updated to "0 + δ MESH (0) (r, ψ) + δ MESH (1) (r, ψ)"). In step S88, where t = 1, the offset grid before and after the update is compared to each other according to a convergence criterion in order to determine whether the next iteration (i.e., the third iteration, where t = 2) is performed.
[0054] If the next iteration is determined to continue by the calibration unit, it will generate the function δ MESH (2) (r, ψ) to optimize the PCL (2) so as to generate the PCL (3) and then again update the offset grid by summing the current record with the function δ MESH (2) (r, ψ). This method is followed by, after each iteration, generating the optimized PCL (t+1) and updating the offset grid.
[0055] In operation S92, the PCL (t+1) and the offset grid in the final iteration are output by the calibration unit. For example, if the iteration loop ends at the fifth iteration (i.e., iteration index "t" is "6"), the PCL (7) and the offset grid are updated by summing the initial set values and the function δ MESH (0) (r, ψ) to δ MESH (6) (r, ψ) is output. The output PCL (t+1)The final PCL and the final offset grid can be referred to as "final PCL" and "final offset grid", respectively. After operation S92, operation S50 can be operated again in order to determine whether the calibrated measurement is acceptable. If it is acceptable, the calibration can be considered complete, and operation S60 is then executed to terminate the calibration.
[0056] The final PCL contains an optimized point cloud with respect to the scanned environment containing tracks with bars. In the case of an optimized point cloud, the measured distance information of the final PCL can be close to the physical distance information as described earlier, thereby improving the distance accuracy. The final offset grid contains a function representing information about a calibration or modification of a measurement of a LiDAR system, e.g., a measured distance of the measurement. The final offset grid can be applied to serve as an offset calibration module stored in the calibration unit, so that the calibration unit can be configured to calibrate another measurement of the same LiDAR by executing the offset calibration module. For example, when a new 3D point cloud scanning process is performed by the same LiDAR system, the offset calibration module can be applied to the measurement of the LiDAR system to optimize the measurement, thereby improving the accuracy of the LiDAR system. In other words, the offset calibration module can be reused.
[0057] The electronic embodiments disclosed herein can be implemented using general or special purpose computing devices, computer processors or electronic circuitry, including but not limited to application specific integrated circuits (ASICs), field programmable gate arrays (FPGAs), and other programmable logic devices configured or programmed in accordance with the teachings of the present disclosure. Computer instructions or software code running in general or special purpose computing devices, computer processors or programmable logic devices can be readily made by those skilled in software or electronic arts based on the teachings of the present disclosure.
[0058] All or part of the electronic embodiments can be executed in one or more general or computing devices including server computers, personal computers, laptop computers, mobile computing devices such as smartphones, and tablet computers.
[0059] The electronic embodiments include computer storage media having computer instructions or software code stored therein, which can be used to program a computer or microprocessor to perform any of the processes of the present invention. The storage media can include, but is not limited to, floppy disks, optical disks, Blu-ray disks, DVDs, CD-ROMs, and magneto-optical disks, ROMs, RAMs, flash memory devices, or any type of media or device suitable for storing instructions, code, and / or data.
[0060] Various embodiments of the present application can also be implemented in distributed computing environments and / or cloud computing environments where machine instructions are executed over one or more processing devices that are interconnected via a communication network, e.g., an intranet, the World Wide Web, a wide area network (WAN), a local area network (LAN), the Internet, and other forms of data transmission media.
[0061] The foregoing description of the application has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the application to the precise form disclosed. Many modifications and variations are possible in light of the above teachings.
[0062] The embodiments were chosen and described in order to best explain the principles of the application and the practical application, and to thereby enable others skilled in the art to best utilize the application, and various modifications as are suited to the particular use contemplated.
Claims
1. A light detection and ranging device, characterized in that, include: A laser source, configured to generate a laser beam; A scanner configured to scan the laser beam along a three-dimensional (3D) target surface; A photodetector configured to detect a point cloud of light reflected from the target surface; as well as The controller includes a calibration unit configured to perform at least the following operations: Generate offset mesh; Define the iteration index t of the iteration loop, where t is an integer; Generate the point cloud matrix for the t-th iteration; The measurement error of the t-th iteration is generated, wherein the measurement error of the t-th iteration includes a set of distance and incident angle information calculated based on the point cloud matrix of the t-th iteration; The offset profile of the t-th iteration is generated as a function of distance and angle of incidence based on the measurement error of the t-th iteration; The point cloud matrix of the t-th iteration is optimized by replacing the measurement error of the t-th iteration with the offset profile of the t-th iteration, so that the point cloud matrix of the (t+1)-th iteration is obtained; The offset grid is updated by incorporating the offset profile of the t-th iteration onto it; as well as Determine whether to output the point cloud matrix and the updated offset mesh for the (t+1)th iteration.
2. The optical detection and ranging device according to claim 1, characterized in that, The calibration unit is further configured to perform the following operations: Set convergence criteria; and Compare the offset meshes before and after the update; When the comparison result is within the convergence criterion, the point cloud matrix and the updated offset mesh for the (t+1)th iteration are output.
3. The optical detection and ranging device according to claim 1, characterized in that, The calibration unit is further configured to perform the following operations: Set convergence criteria; and Compare the offset meshes before and after the update; When the comparison result is outside the convergence criterion, the calibration unit is further configured to perform the following operations: The measurement error of the (t+1)th iteration is generated, wherein the measurement error of the (t+1)th iteration includes a set of distance and incident angle information calculated based on the point cloud matrix of the (t+1)th iteration; The offset profile of the (t+1)th iteration is generated as a function of distance and angle of incidence based on the measurement error of the (t+1)th iteration; The point cloud matrix of the (t+1)th iteration is optimized by using the offset profile of the (t+1)th iteration that replaces the measurement error of the (t+1)th iteration, so that the point cloud matrix of the (t+2)th iteration is obtained. The offset grid is updated by incorporating the offset profile from the (t+1)th iteration; as well as The convergence criterion determines whether to output the point cloud matrix and the updated offset mesh for the (t+2)th iteration.
4. The optical detection and ranging device according to claim 1, characterized in that, The optimization is performed by calculating the difference between the distance value of the point cloud matrix in the t-th iteration and the offset profile in the t-th iteration that replaces the measurement error of the t-th iteration, such that the distance value of the point cloud matrix in the t-th iteration is different from the distance value of the point cloud matrix in the (t+1)-th iteration.
5. The optical detection and ranging device according to claim 1, characterized in that, The point cloud in the t-th iteration has the same height value and the same azimuth value as the point cloud in the (t+1)-th iteration.
6. The optical detection and ranging device according to claim 1, characterized in that, Executing the iterative loop causes the offset mesh to be updated more than once.
7. The optical detection and ranging device according to claim 1, characterized in that, The point cloud matrix of the first iteration is generated based on the point cloud detected by the photodetector.
8. The optical detection and ranging device according to claim 1, characterized in that, The scanner is selected from a mirror, a polygonal mirror, or a MEMS device.
Citation Information
Patent Citations
Method of generating a smooth image from point cloud data
US20130342877A1
Systems and Methods for Identifying Traffic Control Devices and Testing the Retroreflectivity of the Same
US20170193312A1