Point cloud fusion method, device and 3D printer
By using different laser parameters to scan and fuse point clouds in 3D printing, the problem of missing point clouds caused by low reflectivity or reflective heated beds is solved, improving the integrity of point cloud data and printing quality.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- SHENZHEN ORBBEC CO LTD
- Filing Date
- 2023-08-02
- Publication Date
- 2026-07-10
AI Technical Summary
During the 3D printing process, when encountering a heated bed with low reflectivity or reflective materials, the point cloud data obtained by the profilometer is prone to being missing, leading to unavoidable errors or mistakes in the subsequent printing process.
By scanning the object under test at the same location using different laser parameters, a first local point cloud and a second local point cloud are obtained. The points are then compared based on their position information and fused to obtain a complete local point cloud. This process complements the missing parts of the point cloud under different laser parameters.
This effectively reduces the errors and mistakes caused by missing point clouds in the subsequent printing process, and improves the quality and reliability of point cloud data.
Smart Images

Figure CN116958773B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of image processing, and more specifically, to a point cloud fusion method, apparatus, and 3D printer. Background Technology
[0002] With the development of 3D printing technology, 3D printing can obtain scan data of the object being measured through a profilometer, and then perform 3D printing through the print head. In this process, the profilometer of the 3D printer can provide high-precision scan data during the printing of the first layer or during leveling, thereby providing feedback on the current quality and status of the 3D printer.
[0003] However, during the use of a profilometer, if a heated bed with low reflectivity and a printing material, or a heated bed with a reflective material, is encountered, the point cloud data obtained by the profilometer may be incomplete. If data with incomplete point clouds is used, it will cause unavoidable errors or mistakes in the subsequent printing process.
[0004] Therefore, how to reduce the impact of missing point cloud data is an urgent problem to be solved. Summary of the Invention
[0005] This application provides a point cloud fusion method, apparatus, and 3D printer that can reduce the impact of missing point cloud data.
[0006] In a first aspect, a point cloud fusion method is provided, applied to a 3D printer including a laser profilometer and a processing device. The method includes: acquiring a first local point cloud and a second local point cloud; wherein the first local point cloud and the second local point cloud are obtained by the laser profilometer scanning a first position of the object under test with different laser parameters, the first local point cloud includes N first points, and the second local point cloud includes M second points, where N and M are positive integers; based on the comparison result of the position information of the nth first point and the mth second point, the fused local point cloud corresponding to the first position is obtained, where 1≤n≤N, 1≤m≤M, where n and m are positive integers.
[0007] The technical solution of this application involves scanning the same location of the object under test with different laser parameters to obtain different local point clouds. Based on the comparison of the positional information of each point in these different local point clouds, a fused local point cloud is obtained. This approach addresses the issue of missing point clouds by performing complementary processing on the point clouds under different laser parameters, which results in different point cloud effects at the same location. For example, at different exposure times, the missing portions of the point cloud at the same location may vary. The fusion method described above ensures that the point cloud data from scanned areas that are too dark or too bright at the same location under different exposure times is complete, avoiding errors or mistakes caused by missing point clouds in subsequent use, thereby improving the quality of the obtained point cloud data.
[0008] Secondly, a point cloud fusion device is provided, comprising an acquisition unit and a processing unit. The acquisition unit is used to acquire a first local point cloud and a second local point cloud, wherein the first local point cloud and the second local point cloud are obtained by scanning a first position of a measured object with a laser profilometer using different laser parameters. The first local point cloud includes N first points, and the second local point cloud includes M second points, where N and M are positive integers. The processing unit is used to obtain the fused local point cloud corresponding to the first position based on the comparison result of the position information of the nth first point and the mth second point, where 1≤n≤N, 1≤m≤M, and n and m are positive integers.
[0009] The technical effects of the device involved in the second aspect are similar to those in the first aspect, and will not be elaborated here.
[0010] Thirdly, a point cloud fusion apparatus is provided, comprising: a processor and a memory, the memory for storing a computer program, and the processor for calling and running the computer program stored in the memory to perform: a method as described in the first aspect or any possible implementation thereof.
[0011] Fourthly, a 3D printer is provided, comprising a heated bed, a print head, a laser profilometer, and a processing device, wherein: the print head is used to print a printing layer of a target object on the heated bed; the laser profilometer is used to acquire a first local point cloud and a second local point cloud of the heated bed or the printing layer under different laser parameters; and the processing device is used to control the print head and the laser profilometer, and to process the first local point cloud and the second local point cloud according to a method as described in the first aspect or any possible embodiment of the first aspect, to obtain a fused point cloud of the heated bed or the printing layer.
[0012] Fifthly, a computer-readable storage medium is provided for storing a computer program that causes a computer to perform a method as described in the first aspect or any possible implementation thereof. Attached Figure Description
[0013] Figure 1 This is a schematic diagram illustrating the working principle of a laser profilometer provided in an embodiment of this application;
[0014] Figure 2 This is a schematic diagram of a sub-pixel provided in an embodiment of this application;
[0015] Figure 3 This is a schematic diagram of the structure of a 3D printer provided in an embodiment of this application;
[0016] Figure 4 This is a schematic diagram of a point cloud missing element provided in an embodiment of this application;
[0017] Figure 5 This is a flowchart illustrating a point cloud fusion method provided in an embodiment of this application;
[0018] Figure 6 This is a flowchart illustrating another point cloud fusion method provided in an embodiment of this application;
[0019] Figure 7 This is a schematic diagram of a scanning mode provided in an embodiment of this application;
[0020] Figure 8 This is a schematic diagram of region division for another scanning mode provided in an embodiment of this application;
[0021] Figure 9 This is one of the embodiments provided in this application. Figure 8 A schematic diagram of the scanning methods corresponding to the region division;
[0022] Figure 10 This is a flowchart illustrating another point cloud fusion method provided in the embodiments of this application;
[0023] Figure 11 This is a schematic diagram illustrating the effect of a fused local point cloud provided in an embodiment of this application;
[0024] Figure 12 This is a schematic diagram of a point cloud fusion device provided in an embodiment of this application. Detailed Implementation
[0025] The technical solutions in the embodiments of this application will now be described with reference to the accompanying drawings.
[0026] To facilitate understanding of the embodiments of this application, the following points are made:
[0027] First, in this application, unless otherwise specified or there is a logical conflict, the terms and / or descriptions between different embodiments are consistent and can be referenced by each other. The technical features in different embodiments can be combined to form new embodiments according to their inherent logical relationship.
[0028] Second, in this application, "at least one" means one or more, and "more than one" means two or more. "And / or" describes the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can mean: A exists alone, A and B exist simultaneously, or B exists alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates that the preceding and following related objects are in an "or" relationship. "At least one of the following" or similar expressions refer to any combination of these items, including any combination of single or plural items. For example, at least one of a, b, and c can mean: a, or, b, or, c, or, a and b, or, a and c, or, b and c, or, a, b, and c. Here, a, b, and c can each be single or multiple.
[0029] Third, in this application, the terms "first," "second," and various numerical designations (e.g., #1, #2, etc.) indicate distinctions made for ease of description and are not intended to limit the scope of the embodiments of this application. For example, they distinguish different local point clouds, rather than describing a specific order or sequence. It should be understood that such described objects can be interchanged where appropriate to describe solutions other than those in the embodiments of this application. Furthermore, "first" and "second" are not used to limit the number of objects described in the embodiments of this application.
[0030] Fourth, in this application, descriptions such as "when," "under the circumstances," and "if" all refer to situations where corresponding actions will be taken under certain objective circumstances, and are not time-limited. They do not require a judgment action at the time of implementation, nor do they imply any other limitations. Furthermore, they do not mean that the judgment action following these conditional conjunctions is the only condition for achieving the result; other additional conditions may also be included to achieve the result.
[0031] Fifth, in this application, the terms “comprising” and “having”, and any variations thereof, are intended to cover non-exclusive inclusion, for example, a process, method, product, or apparatus that includes a series of steps or units is not necessarily limited to those steps or units that are explicitly listed, but may include other steps or units that are not explicitly listed or that are inherent to such process, method, product, or apparatus.
[0032] To facilitate understanding of the following solutions, the technical terms involved in the embodiments of this application will be briefly explained below.
[0033] 1. Laser profilometer
[0034] A laser profilometer consists of a transmitter and a receiver. The transmitter emits a laser beam, which is reflected off the surface of the object being measured. The reflected light is then received by the receiver. The receiver can be an image acquisition device, such as a complementary metal-oxide-semiconductor (CMOS) image sensor.
[0035] Figure 1 This is a schematic diagram illustrating the working principle of a laser profilometer according to an embodiment of this application. The laser profilometer includes a transmitter 110 and a receiver 120. The optical axes of the transmitter 110 and the receiver 120 can be relatively parallel or at a certain angle. This embodiment of the application does not limit the number of transmitters and receivers in the laser profilometer, nor does it limit the orientation of the transmitter and receiver. The laser emitted by the transmitter 110 can be a single line or multiple lines. Figure 1 The example presented shows that the transmitter 110 and the receiver 120 are at a certain angle, and it is a single-line laser.
[0036] like Figure 1 As shown, transmitter 110 emits a single-line laser, and receiver 120 receives the reflected light from the single-line laser. The point cloud acquired by receiver 120 is a point cloud that varies in the horizontal (x-direction) or vertical (y-direction). Figure 1 The transmitter shown emits a laser, such as Figure 1 As shown, the depth variation of the measured object is longitudinal. Multiple images were obtained after emitting multiple laser beams, as shown... Figure 1 The image shown can be used to obtain point cloud data of the object being measured.
[0037] It should be noted that this application uses the laser profilometer to obtain point cloud data of the measured object based on the principle of line structured light as an example for illustration. In other embodiments, the laser profilometer may also be a single-point rangefinder based on triangulation or single-point direct time of flight, a multi-line rangefinder, speckle structured light / binocular camera, or an indirect time of flight camera based on floodlight / speckle / linear array, etc., which are all devices that can acquire 3D information and fall within the scope of protection of this application.
[0038] 2. Subpixel
[0039] Subpixels are the subdivisions between two adjacent pixels. Figure 2 This is a schematic diagram of a sub-pixel provided in an embodiment of this application. For example... Figure 2 As shown, a large square represents one pixel, and a pixel can be divided into multiple regions, each of which is a sub-pixel.
[0040] The point cloud fusion method, apparatus, and 3D printer proposed in this application can be applied to 3D printing scenarios. To better understand the solutions in this application, the following will first combine... Figure 3 A brief description of the possible structures of 3D printers according to embodiments of this application is provided.
[0041] Figure 3 This is a schematic diagram of the structure of a 3D printer provided in an embodiment of this application. The 3D printer includes a heated bed 310, a calibration plate 320, a print head 330, a laser profilometer 340, and a processing device (not shown in the diagram). Figure 3 (As shown in the image). The laser profilometer 340 can, for example... Figure 1 As shown. The printhead 330 is used to obtain a printed layer on the heated bed 310. The laser profilometer 340 can scan the heated bed or the printed layer according to a preset scanning trajectory to obtain three-dimensional point cloud information of the surface contour of the heated bed or the printed layer. The processing unit is used to control the laser profilometer 340 and perform fusion processing on the scanned point cloud acquired by the laser profilometer 340. The calibration plate 320 is used to obtain the intrinsic and extrinsic parameters of the receiver 120. The intrinsic parameters of the receiver 120 can be used to correct the lens distortion of the laser profilometer, and the extrinsic parameters of the receiver 120 can be the rotation and translation matrix that transforms the coordinate system of the laser profilometer to the world coordinate system.
[0042] For example, before the laser profilometer works, a calibration image including a calibration plate parallel to the heated bed is acquired, and the internal and external parameters of the receiving end are obtained according to a preset calibration algorithm. The preset calibration may include Zhang Zhengyou calibration algorithm, etc.
[0043] As one possible implementation, the laser profilometer 340 is fixed to the printhead 330, for example, it can be mounted next to the printhead (e.g. Figure 1 As shown, it can also be installed inside the printhead, with the laser profilometer 340 moving along with the printhead 330. Once installed, the relative position of the laser profilometer 340 and the printhead 330 is fixed, meaning their Z-axis distance is fixed (here, Z-axis refers to the direction of the printer's Z-axis drive axis). Module tilting or inconsistent installation heights across different machines are acceptable; this installation error can be corrected using the calibration plate 320 without affecting functionality. The heated bed 310 and the calibration plate 320 are relatively parallel.
[0044] One possible implementation is that the processing device can be a circuit with instruction read and execute capabilities, such as a central processing unit (CPU), microprocessor, graphics processing unit (GPU) (which can be understood as a type of microprocessor), or digital signal processor (DSP). In another implementation, the processing device can achieve certain functions through the logical relationships of hardware circuits. These logical relationships can be fixed or reconfigurable. For example, the processing device can be implemented using application-specific integrated circuits (ASICs) or programmable logic devices (PLDs), such as field-programmable gate arrays (FPGAs). In reconfigurable hardware circuits, the process of the processing device loading a configuration document and configuring the hardware circuit can be understood as the process of the processing device loading instructions to achieve the functions of some or all of the aforementioned units. In addition, it can also be hardware circuits designed for artificial intelligence, which can be understood as a type of ASIC, such as a neural network processing unit (NPU), tensor processing unit (TPU), and deep learning processing unit (DPU). Furthermore, the processing device may also include memory for storing instructions. The processing device can call and execute instructions from the memory to achieve the corresponding functions.
[0045] The processing device of the 3D printer can then perform tasks such as heated bed leveling, flow calibration, and printing layer quality monitoring based on the global point cloud obtained by the point cloud fusion method in the embodiments of this application.
[0046] As one possible implementation, the laser profilometer 340 may also include a processor for processing the image acquired by the receiver to obtain a point cloud of the object under test in the laser profilometer coordinate system. The processor may contain independent dedicated circuitry, such as a system-on-chip (SOC) chip, FPGA chip, or ASIC chip composed of a CPU, memory, and bus. The processor may also contain general-purpose processing circuitry; for example, when the laser profilometer 340 is integrated into a 3D printer, the circuitry of the processing unit in the 3D printer can serve as at least part of the processor.
[0047] Currently, in the 3D printing process, the printing quality of the first layer or the leveling process has a significant impact on the printing quality of subsequent target objects. However, if the printing bed and printing material have low reflectivity, or if the printing bed has reflective material, the point cloud data obtained by the profilometer may be incomplete. Figure 4 This is a schematic diagram of a point cloud with missing data provided in an embodiment of this application. Figure 4 The point cloud data is obtained by scanning along the Y-axis using a laser profilometer. In other words, the point cloud data at the same location shows a change in the Z-axis (depth) along the X-axis. For example, ... Figure 4 As shown, point clouds with low exposure times may have missing points in dark areas, while point clouds with high exposure times may have missing points in bright areas. Using data with missing points will inevitably cause errors or mistakes in subsequent printing processes.
[0048] To address the aforementioned problems, embodiments of this application provide a point cloud fusion method, apparatus, and 3D printer. The following will combine... Figures 5 to 12 Detailed explanation.
[0049] Figure 5 This is a flowchart illustrating a point cloud fusion method provided in an embodiment of this application.
[0050] S510, acquire the first local point cloud and the second local point cloud. The first local point cloud and the second local point cloud are obtained by the laser profilometer scanning the first position of the object under test with different laser parameters. The first local point cloud includes N first points and the second local point cloud includes M second points, where N and M are positive integers.
[0051] It should be understood that the first local point cloud and the second local point cloud are datasets of multiple points in a certain coordinate system. Each point contains rich information, including three-dimensional coordinates, color, classification value, intensity value, and time. The coordinate system can be the laser profilometer coordinate system or the world coordinate system, and this application embodiment does not limit this.
[0052] It should also be understood that lasers with different parameters can be two lasers with different exposure times, such as a high-exposure-time laser and a low-exposure-time laser. Two lasers with different parameters can also be two light sources with different wavelengths, such as a long-wavelength light source and a short-wavelength light source. The specific number of laser parameters can also be three or even more.
[0053] For example, the first local point cloud can be obtained at a first location using a high-exposure-time laser, and the second local point cloud can be obtained at the first location using a low-exposure-time laser. Alternatively, the first local point cloud can be obtained at a first location using a long-wavelength laser, and the second local point cloud can be obtained at the first location using a short-wavelength laser. The number of first points in the first local point cloud and the number of second points in the second local point cloud can be the same or different.
[0054] It should also be understood that when three or more frames of point cloud data are collected at the first location by a laser profilometer, the first local point cloud can be a local point cloud after the fusion of any two frames of point cloud data, and the second local point cloud can be a local point cloud that has not yet been fused.
[0055] S520: Based on the comparison results of the position information of the nth first point and the mth second point, obtain the fused local point cloud corresponding to the first position, 1≤n≤N, 1≤m≤M, where n and m are positive integers.
[0056] In the above technical solution, different local point clouds are obtained by scanning the same location of the object under test with different laser parameters. A fused local point cloud is then obtained by comparing the positional information of each point in these different local point clouds. This results in different point cloud effects under different laser parameters, and by performing complementary processing on these local point clouds, the problem of missing point cloud data can be effectively addressed. For example, at different exposure times, the missing portions of the point cloud at the same location of the object under test will vary. The above fusion method ensures that the point cloud data from scanned areas that are too dark or too bright at the same location under different exposure times is complete, avoiding errors or mistakes caused by missing point cloud data in subsequent use, thereby improving the quality of the obtained point cloud data.
[0057] One possible implementation involves determining whether the difference in the x-coordinates of the nth first point and the mth second point is less than or equal to a first threshold, thus determining the fusion method for the nth first point and the mth second point. Based on the fusion method, a third point is obtained, and the fused local point cloud includes the third point. It should be understood that if the difference in the x-coordinates between two point clouds is within the first threshold range, it means that the two point clouds are relatively close in the horizontal direction (X direction).
[0058] In the above technical solution, by comparing the abscissas of the first and second points under different laser parameters, the relative positions of the two point clouds can be determined, which helps to determine a more suitable fusion method and thus improve the reliability of the fused point cloud.
[0059] As one possible implementation, when the difference between the x-coordinates of the nth first point and the mth second point is less than or equal to a first threshold, the difference between the y-coordinates of the nth first point and the mth second point is determined to be less than or equal to a second threshold, thus determining the fusion method. That is, when two point clouds are relatively close in the horizontal direction, the fusion method of the two point clouds is determined by whether the difference between their y-coordinates is within the range of the second threshold.
[0060] In the above technical solution, when the first point and the second point are relatively close in lateral position, by comparing the ordinates of the first point and the second point under different laser parameters, it can be determined whether there is inaccurate measurement of the point cloud under high exposure time, thereby further determining a more suitable fusion method and improving the reliability of the fused point cloud.
[0061] As one possible implementation, when the difference between the ordinates of the nth first point and the mth second point is less than or equal to a second threshold, the position information of the nth first point and the mth second point is averaged to obtain the third point. That is, when two point clouds are relatively close in both the horizontal (e.g., X direction) and vertical (e.g., Z direction) directions, the two point cloud data obtained at the first position under different laser parameters are relatively close, and the fused local point cloud can be obtained by averaging.
[0062] In the above technical solution, when the first and second points are relatively close in both the horizontal and vertical directions, it means that the point cloud data collected at the first position under different laser parameters are relatively close. By averaging, the reliability of the fused point cloud can be improved.
[0063] As one possible implementation, when the difference between the ordinates of the nth first point and the mth second point is greater than a second threshold, the average of the abscissas of the nth first point and the mth second point, and the ordinate of the nth first point, are taken as the third point. Here, the exposure time corresponding to the nth first point is less than the exposure time corresponding to the mth second point, or the light intensity response of the light source wavelength corresponding to the nth first point is less than the light intensity response of the light source wavelength corresponding to the mth second point.
[0064] When two point clouds are relatively close in the horizontal direction (e.g., the X-axis) but have a large data difference in the vertical direction (e.g., the Z-axis), the results of the vertical coordinate (e.g., the Z-axis) may be inaccurate due to different laser parameters. For example, for the reflected light obtained from a laser with a longer exposure time, the receiver will receive more light, resulting in a relatively high pixel value. Alternatively, based on the receiver's response capability to different wavelengths of light sources (i.e., spectral response), for a light source wavelength with a larger light intensity response, that is, a light source wavelength that matches the receiver's spectral response, the receiver will more effectively receive and sense the corresponding light beam under the same exposure time, thereby producing a higher pixel value. Therefore, this application uses the vertical coordinate of the point cloud with a relatively shorter exposure time or a smaller light intensity response of the light source wavelength as the vertical coordinate of the third point (i.e., the fused point cloud), which can improve the accuracy of the fused point cloud.
[0065] In the above technical solution, when the first and second points are similar in the horizontal direction but differ significantly in the vertical direction, the horizontal coordinate of the fused point cloud is determined by averaging. The vertical coordinate of the point cloud with a shorter exposure time or a smaller light intensity response of the light source wavelength is used as the vertical coordinate of the fused point cloud. This comprehensively considers the reliability of the horizontal coordinate and the influence of different laser parameters on the vertical coordinate, thereby improving the reliability of the fused point cloud.
[0066] As one possible implementation, when the difference between the x-coordinates of the nth first point and the mth second point is greater than a first threshold, the point cloud with the smaller x-coordinate between the nth first point and the mth second point is identified as the third point. That is, when the two point clouds are relatively far apart laterally, it means that under one of the laser parameters, there is a missing point cloud at the position corresponding to the larger x-coordinate value of the local point cloud.
[0067] In the above technical solution, the point cloud with the smaller horizontal coordinate in the two point clouds is taken as the third point, so that the fused point cloud is relatively complete and avoids data errors caused by missing point clouds.
[0068] One possible implementation is that when the x-coordinate of the nth first point is small, a fourth point is determined based on the comparison of the position information of the (n+1)th first point and the mth second point, and the fused local point cloud includes the fourth point. Alternatively, when the x-coordinate of the mth second point is small, a fifth point is determined based on the comparison of the position information of the nth first point and the (m+1)th second point, and the fused local point cloud includes the fifth point. In other words, after determining that the point cloud with the smaller x-coordinate is part of the fused local point cloud, the point cloud with the index of the smaller x-coordinate incremented by 1 is compared with the point cloud with the larger x-coordinate, and the next fused point cloud is determined based on the comparison result.
[0069] In the above technical solution, only the point cloud with a smaller horizontal coordinate is indexed and updated. The point cloud data collected at the same location under different laser parameters are compared one by one to avoid omissions during the comparison process. This makes the fused point cloud relatively complete and avoids data errors caused by missing point clouds.
[0070] As one possible implementation, when the current first point is the Nth first point, the fused local point cloud includes the remaining point cloud in the second local point cloud, where the current first point is either the nth or the (n+1)th first point. Alternatively, when the current second point is the Mth second point, the fused local point cloud includes the remaining point cloud in the first local point cloud, where the current second point is either the mth or the (m+1)th second point.
[0071] That is, after the point cloud fusion process, when any local point cloud in any frame of multi-frame point cloud data has been compared to the last point cloud, if there are still remaining point clouds in another local point cloud, the remaining point clouds in the other local point cloud are used as the fused point cloud.
[0072] In the above technical solution, since the number of point cloud data collected under different laser parameters may be different and there may be a situation where a certain first point is compared with multiple second points during the comparison process, the remaining point cloud of a certain local point cloud is used as the fused point cloud. This can ensure that the fused point cloud is relatively complete and avoid data errors caused by missing point clouds.
[0073] The following will be Figure 6 In S602 Figure 10 and Figure 11 This step will be explained in detail.
[0074] Figure 6 This is a flowchart illustrating another point cloud fusion method provided in an embodiment of this application.
[0075] S601, control the laser profile to scan the object under test according to a preset scanning trajectory and use two lasers with different parameters, and acquire at least two frames of local point clouds obtained under different laser parameters at each position of the object under test. The at least two frames of local point clouds include a first local point cloud and a second local point cloud. The first local point cloud includes N first points, and the second local point cloud includes M second points, where N and M are positive integers.
[0076] It should also be understood that the at least two frames of local point clouds used for subsequent fusion are at least two frames of local point clouds under two different laser parameters at the same location. In this application, the local point clouds used for subsequent fusion can be two frames, or three frames or more. The subsequent fusion process in this embodiment will be described in detail using the first and second local point clouds as examples. In this embodiment, "first" and "second" do not restrict the order in which the local point clouds are acquired.
[0077] As one possible implementation, the laser profilometer can scan using a single-line laser or a surface laser, i.e., multi-line laser scanning. Furthermore, at least two frames of local point cloud data can be point cloud data in the laser profilometer coordinate system or point cloud data in the world coordinate system; this application embodiment does not impose any limitations on this.
[0078] The following will first use single-line laser scanning as an example to explain how to obtain point cloud data in both the laser profilometer system and the world coordinate system; then, using area laser scanning as an example, it will explain how to obtain point cloud data in both the laser profilometer system and the world coordinate system.
[0079] For line laser scanning, there are two main types of lasers:
[0080] In scenario one, at least two frames of local point cloud data can be point cloud data in the laser profilometer coordinate system. Specifically, based on the principle of line laser scanning, a single-line laser is projected onto the object being measured using the transmitting end. The center line of the single-line laser is extracted from the image captured by the receiving end, and then the point cloud data in the laser profilometer coordinate system is obtained through the light plane equation.
[0081] For example, the emitting end of the laser profilometer emits a line laser beam towards the object being measured. This line laser beam forms a laser blade plane, and each laser blade plane corresponds to a laser blade plane equation, which can be obtained through calibration. The receiving end of the laser profilometer acquires the beam reflected from the object being measured, forming a line image on the imaging plane. Any point on the line laser beam in the line image is extracted, and a ray is formed from the optical center of the receiving end and this ray intersecting with the laser blade plane. The three-dimensional coordinates of this point are determined by finding the intersection of this ray with the laser blade plane, thus obtaining the point cloud of the object being measured in the laser profilometer coordinate system.
[0082] The accuracy of the point cloud obtained above can be further improved. As one possible implementation, the first and second local point clouds are obtained through the center point of the line laser's centerline, where the center point is a sub-pixel. Specifically, the centerline of the line laser in the line image is extracted using a centerline extraction algorithm. A ray is formed from the optical center at the receiving end and any center point of the line laser. The intersection of this ray with the laser blade plane is then determined to identify the three-dimensional coordinates of the corresponding center point, thus obtaining the point cloud of the measured object in the laser profilometer coordinate system.
[0083] In the above technical solution, compared with directly obtaining the local point cloud of the object under test through any point on the line laser, this embodiment obtains the corresponding center point with sub-pixel coordinates by calculating the center line on the line laser. Figure 2 As shown, point cloud data obtained through the center point of sub-pixels can improve the accuracy of point cloud data. For example, the pixel coordinates of any point based on the line laser are (1,1), while the sub-pixel coordinates based on the center line of the line laser can be (0.5,0.5). Therefore, the accuracy of the local point cloud obtained based on the center line of the line laser is improved.
[0084] Furthermore, the first and second local point clouds can be filtered to obtain filtered first and second local point clouds. Compared to directly obtaining the local point cloud of the measured object through any point on the line laser, filtering can improve the accuracy of the point cloud.
[0085] In the second scenario, the local point cloud data for at least two frames can also be point cloud data in world coordinates. Specifically, the point cloud in the laser profilometer coordinate system can be transformed to the world coordinate system using calibrated receiver extrinsic parameters to obtain point cloud data in the world coordinate system. The origin of the world coordinate system can be defined as one of the corner points on the heated bed, and the X and Y axes are the sides intersecting the corner point. It should be noted that the world coordinate system can also be constructed in other ways, and this application embodiment does not impose any limitations on it.
[0086] For surface laser scanning, when the laser profilometer uses surface scanning, if the beam emitted by the transmitter is a multi-line beam, the receiver will collect the multi-line beam reflected back from the object being measured to obtain a multi-line image. However, the ray formed by starting from any point on any line in the multi-line image and the optical center of the receiver will intersect with the light blade plane corresponding to the multi-line beam emitted by the transmitter to obtain multiple intersection points, which makes it impossible to uniquely determine the light plane equation corresponding to the current line in the multi-line image.
[0087] To uniquely determine the scalpel plane equation corresponding to the current line beam in a multi-line image, one possible approach is to encode each line beam in the multi-line beam emitted by the transmitter. This can be done by using a coding pattern to uniquely encode multiple line beams in the multi-line pattern, or by using the inherent properties of the multi-line beams (such as color or brightness) to encode each line beam. The receiver then acquires the reflected beams and generates an coded multi-line image. Decoding this coded multi-line image allows for the identification of each line beam, thus uniquely determining the scalpel plane equation corresponding to the current line beam.
[0088] For surface scanning, as a possible implementation, the transmitter can also emit a structured light pattern to the object being measured, and the receiver can receive the beam reflected back from the object to generate a structured light image. By processing the structured light image based on the principle of structured light and combining it with the intrinsic and extrinsic parameters of the laser profilometer, the point cloud data of the object being measured in the coordinate system of the laser profilometer and the point cloud data in the world coordinate system can be obtained.
[0089] As one possible implementation, the object under test can be a target object such as a heated bed or a printed layer, and this application embodiment does not limit this. The following detailed description mainly uses a heated bed or a printed layer as an example.
[0090] As one possible implementation, the preset scanning trajectory can be one of the following modes: fine scanning mode, sparse scanning mode, and sparse-fine scanning mode. The preset scanning trajectory can be pre-set in the processing unit of the 3D printer, and the processing unit controls the laser profilometer to move according to the preset scanning trajectory. This application does not limit the specific form of the preset scanning trajectory; the three scanning modes will be described in detail below:
[0091] First, sparse scanning mode.
[0092] In some implementations, the heated bed or the surface of the printed layer is divided into multiple regions, and the point cloud at the center of each region is obtained by moving the heated bed or moving the nozzle (i.e., moving the laser profilometer). The local point cloud of the region includes the point cloud.
[0093] Specifically, when the laser profilometer acquires the point cloud at the center of each region, it needs to scan the heated bed by driving the laser profilometer through the drive shaft on the 3D printer. Therefore, each frame of point cloud can be bound to the current position information based on the real-time (x, y) coordinates of the drive shaft, thereby obtaining the local point cloud corresponding to each region, so that it can be fused later to obtain the global point cloud. In other embodiments, multiple frames of point clouds with the same laser parameters at the center of each region can also be acquired. After processing these multiple frames of point clouds, such as filtering out flying points and outliers, the multiple frames of point clouds are averaged to obtain the point cloud corresponding to the corresponding region, so that it can be fused later to obtain the global point cloud.
[0094] In the above technical solution, compared to measuring each area once, the point cloud obtained by repeated measurement and processing can improve the accuracy of the acquired point cloud.
[0095] In some implementations, a laser profilometer can be used to perform a global sparse scan of the heated bed or printed layer surface to obtain multiple frames of sparse point clouds on the heated bed or printed layer surface. This involves setting a larger spacing between the multiple regions on the heated bed or printed layer surface, thereby reducing the number of regions on the heated bed or printed layer surface.
[0096] For example, Figure 7 This is a schematic diagram of a scanning mode provided in an embodiment of this application. For example... Figure 7 As shown, the surface of the heated bed or printed layer is divided into 5*5 identical regions, in which a small number of sparse point clouds can be used for subsequent point cloud fusion and global point cloud stitching processes.
[0097] In the above technical solution, the smaller number of regions can also shorten the time for the laser profilometer to acquire local point clouds. That is, by using the laser profilometer to sparsely scan the entire heated bed or the surface of the printing layer, the efficiency of leveling the heated bed can be improved, thereby achieving the goal of saving printing time.
[0098] Second, fine scanning mode.
[0099] In some implementations, a laser profilometer can be used to perform a global fine scan of the heated bed or printed layer surface to obtain multiple frames of dense point clouds of the heated bed. This involves setting the spacing between the multiple regions on the heated bed or printed layer surface to be smaller, so that the heated bed or printed layer surface is divided into a larger number of regions. Thus, the laser profilometer can be used to perform a fine scan of the heated bed or printed layer surface to obtain a larger number of local dense point clouds.
[0100] For example, Figure 8 This is a schematic diagram of region division for another scanning mode provided in an embodiment of this application. For example... Figure 8 The diagram shows a heated bed or printed layer divided into more subdivided regions. The interval between each region can be set to 1 mm. That is, the laser profilometer acquires a local point cloud every 1 mm of movement. It can be understood that since the measurement beam emitted by the laser profilometer can cover multiple regions at the same time, the width of a single measurement is relatively large, usually reaching tens or even hundreds of millimeters. Therefore, the laser profilometer will acquire local point clouds corresponding to multiple regions every 1 mm of movement. Figure 9 This is one of the embodiments provided in this application. Figure 8 A diagram illustrating the scanning methods corresponding to region division, as shown below. Figure 9 As shown, this allows the laser profilometer to follow... Figure 8The "bow" shaped pattern shown is moved to obtain the dense point cloud corresponding to each region of the hotbed.
[0101] In the above technical solution, the use of a "bow" shaped pattern allows the laser profilometer to move without stopping when it moves to the edge of the heated bed, enabling continuous scanning. Compared to always moving the laser profilometer in the same direction, the "bow" shaped pattern saves time in acquiring point clouds of the heated bed or printing layer.
[0102] Third, sparse fine scanning mode.
[0103] In some implementations, a global sparse scan is first performed on the heated bed or printed layer, followed by a local fine scan of specific areas of the heated bed or printed layer. Specifically, a sparse scan of the entire surface of the heated bed under test can be performed first to obtain multiple frames of sparse point clouds. Based on these multiple frames of sparse point clouds, the locations of regions with concave and convex features in the heated bed or printed layer are determined. Then, a local fine scan is performed on these regions to obtain multiple frames of local dense point clouds, which are then fused with the sparse and dense point clouds to obtain the global point cloud of the heated bed or printed layer.
[0104] In the above technical solution, compared with global fine scanning, by fusing global sparse scanning and local fine scanning, the number of point clouds acquired can be reduced, the global fine scanning process can be simplified, and the processing speed of laser profilometer can be improved.
[0105] It should be understood that the above scanning method only yields local point clouds under the same laser parameters. Obtaining the first and second local point clouds at the same location under different laser parameters can be achieved through the following methods.
[0106] As one possible implementation, a global scan is performed on the surface of the heated bed or printed layer under a laser with a high exposure time to obtain first global data; a global scan is performed on the surface of the heated bed or printed layer under a laser with a low exposure time to obtain second global data; and a portion of the point cloud in the first global data and the second global data at the same location is determined as the first local point cloud and the second local point cloud.
[0107] As another possible implementation, a first position on the surface of the heated bed or printed layer is scanned under a laser with a high exposure time to obtain a first local point cloud; and a second local point cloud is obtained by scanning the first position on the surface of the heated bed or printed layer under a laser with a low exposure time.
[0108] Optionally, before obtaining the first and second local point clouds, the dark or bright areas of the object under test are determined. For parts of the dark or bright areas, different local point clouds at the same location under lasers with different parameters can be obtained using the above method, and a fused local point cloud can be obtained through subsequent fusion. For areas without high contrast, scanning can be performed using a laser with a medium exposure time to obtain local point clouds for subsequent global stitching, without the need for local fusion.
[0109] The above technical solution can reduce the number of point clouds to be fused, thereby alleviating storage pressure and reducing the overall processing time.
[0110] It should also be understood that the embodiments of this application do not limit the direction of movement of the line laser. For example, it can be scanned along the longitudinal direction (Y direction), or it can be scanned along the transverse direction (X direction), or it can be scanned in an oblique direction. The following will take scanning along the longitudinal direction (Y direction) as an example, that is, the point cloud data obtained at the same location is distributed along the X and Z directions, such as... Figure 4 As shown.
[0111] S602, based on the comparison results of the position information of the nth first point and the mth second point, obtain the fused local point cloud corresponding to the first position, 1≤n≤N, 1≤m≤M, where n and m are positive integers.
[0112] The first position can be understood as any area scanned by the scanning mode in step S601, or the first position can also include the range corresponding to multiple areas in the above scanning mode.
[0113] It should be understood that the N first points in the first local point cloud can also be referred to as the reference point cloud, and the M second points in the second local point cloud can also be referred to as the source point cloud. The embodiments of this application do not limit the laser parameters corresponding to the reference point cloud and the source point cloud.
[0114] Figure 10 This is a flowchart illustrating another point cloud fusion method provided in the embodiments of this application.
[0115] S1001, determine the nth first point and the mth second point as the current first point and the current second point, respectively.
[0116] For example, during the initial fusion process, the first point and the second point are determined as the current first point and the current second point, respectively.
[0117] S1002, determine whether the difference between the x-coordinates of the current first point and the current second point is less than or equal to the first threshold.
[0118] It should be understood that, due to Figure 10In the point cloud fusion method shown, the laser profilometer moves in the Y direction. Therefore, the x-coordinates of the first and second points are the coordinates in the X direction, and the y-coordinates of the first and second points are the coordinates in the Z direction.
[0119] When the difference between the x-coordinates of the current first point and the current second point is less than or equal to the first threshold, S1003, determine whether the difference between the y-coordinates of the current first point and the current second point is less than or equal to the second threshold.
[0120] When the difference between the ordinates of the current first point and the current second point is less than or equal to the second threshold, S1004, the average value of the data of the current first point and the current second point is determined as the third point.
[0121] Specifically, the average of the x-coordinates of the current first point and the current second point is used as the x-coordinate of the third point; the average of the y-coordinates of the current first point and the current second point is used as the y-coordinate of the third point.
[0122] When the difference between the ordinates of the current first point and the current second point is greater than the second threshold, S1005, the ordinate of the point cloud with the shorter exposure time or the smaller light intensity response of the light source wavelength is determined as the ordinate of the third point, and the average of the abscissas of the current first point and the current point cloud is determined as the abscissa of the third point.
[0123] Figure 11 This is a schematic diagram of the effect of a fused local point cloud provided in an embodiment of this application.
[0124] For example, such as Figure 11 As shown, the coordinates of the e-th first point are (x... re ,z re The coordinates of the f-th second point are (x... sf ,z sf When x re and x sf The difference is less than or equal to the first threshold, and z re and z sf When the difference is less than or equal to the second threshold, x will be... re and x sf The average value of z is used as the x-coordinate of the third point. re and z sf The average value is used as the ordinate of the third point.
[0125] It should be understood that different laser parameters may lead to inaccurate results for the ordinate (e.g., the Z-axis). For example, for reflected light from a laser with a longer exposure time, the receiver will receive more light, resulting in a relatively high pixel value. Alternatively, based on the receiver's response capability to different wavelengths of light (i.e., spectral response), for a light source wavelength with a larger intensity response—that is, a wavelength that matches the receiver's spectral response—the receiver will more effectively receive and sense the corresponding light beam under the same exposure time, thus producing a higher pixel value. Therefore, using the ordinate of the point cloud with the shorter exposure time or the smaller light intensity response from the two point clouds as the ordinate of the third point (i.e., the fused point cloud) can improve the accuracy of the fused point cloud.
[0126] For example, such as Figure 11 As shown, the coordinates of the c-th first point are (x... rc ,z rc The coordinates of the d-th second point are (x... sd ,z sd When x rc and x sd The difference is less than or equal to the first threshold, and z rc and z sd When the difference is greater than the second threshold, the measurement data of the second point, which is the one with a longer exposure time or a larger light intensity response of the light source wavelength, is inaccurate. The cth first point, which has a shorter exposure time or a smaller light intensity response of the light source wavelength, is determined as the third point in the fused local point cloud.
[0127] After determining the third point in S1004 or S1005, in S1006, it is determined whether the current first point and the current second point have a point cloud that is the last point cloud. That is, it is determined whether there is an Nth first point or an Mth second point among the current first point and the current second point.
[0128] If neither the current first point nor the current second point has a point cloud that is the last point cloud, in step S1007, update the current first point to the (n+1)th first point and update the current second point to the (m+1)th second point. That is, update the current first point and the current second point to the next first point and the next second point, respectively. This involves incrementing the index of the current first point by 1 and the index of the current second point by 1.
[0129] If there is a point cloud that is the last point cloud between the current first point and the current second point, in step S1008, the remaining point clouds in the local point clouds corresponding to the non-last point clouds are determined as the fused point clouds. That is, the current first point is the Nth first point or the current second point is the Mth second point.
[0130] As one possible implementation, if the current first point is the Nth first point, then the remaining point cloud in the second local point cloud is determined as the fused point cloud.
[0131] As one possible implementation, if the current second point is the Mth second point, then the remaining point cloud in the first local point cloud is determined as the fused point cloud.
[0132] When the difference in the x-coordinates of the current first point and the current second point is greater than the first threshold, in step S1009, the point cloud with the smaller x-coordinate is identified as the third point. When the two point clouds are relatively far apart laterally, it means that, under one laser parameter, there is a missing point cloud at the location corresponding to the smaller x-coordinate value. Therefore, the point cloud with the smaller x-coordinate is identified as the third point, making the fused point cloud relatively complete and avoiding data errors caused by missing point clouds.
[0133] For example, such as Figure 11 As shown, the coordinates of the first point are (x... r1 ,z r1 The coordinates of the first second point are (x... s1 ,z s1 When x r1 and x s1 When the difference is greater than the first threshold, and the x-coordinate of the first point is large, there is a point cloud missing at the position corresponding to the first second point in the first local point cloud. Therefore, the point cloud with the smaller x-coordinate (i.e., x) is selected. s1 The first second point is identified as the third point in the fused local point cloud.
[0134] For example, such as Figure 11 As shown, the coordinates of the a-th first point are (x... ra ,z ra The coordinates of the b-th second point are (x... sb ,z sb When x ra and x sb When the difference is greater than the first threshold, and the x-coordinate of the b-th second point is relatively large, there is a point cloud missing at the position corresponding to the a-th first point in the second local point cloud. Therefore, the point cloud with the smaller x-coordinate (i.e., x...) is... ra The first point of the a-th node is determined to be the third point in the fused local point cloud.
[0135] S1010 determines whether there is a case where the current first point and the current second point are the last point cloud. For details, please refer to S1006, which will not be repeated here.
[0136] If neither the current first point nor the current second point has a point cloud that is the last point cloud, in step S1011, update the point cloud index number corresponding to the point cloud with the smaller x-coordinate, but do not update the point cloud index number corresponding to the point cloud with the larger x-coordinate. That is, increment the point cloud index number corresponding to the point cloud with the smaller x-coordinate by 1, and do not change the point cloud index number corresponding to the point cloud with the larger x-coordinate. The point cloud index number can refer to the number "n" of the nth first point mentioned above.
[0137] As one possible implementation, if the x-coordinate of the current first point is small, then the current first point is updated to the (n+1)th first point, and the current second point remains the mth second point.
[0138] As one possible implementation, if the x-coordinate of the current second point is small, then the current second point is updated to the (m+1)th second point, while the current first point remains the nth first point.
[0139] If there is a point cloud that is the last point cloud at the current first point and the current second point, in step S1008, the remaining point cloud in the local point cloud corresponding to the non-last point cloud is determined as the fused point cloud.
[0140] It should be understood that the above fusion process is a detailed explanation of the fusion method for two frames of local point clouds obtained from the same location of the object under two different laser parameters. If the number of frames of the local point cloud obtained from scanning the same location of the object is greater than or equal to three, then it can be used... Figure 5 or Figure 10 The point cloud fusion method shown.
[0141] One possible implementation is to fuse the local point clouds of any two frames to obtain a fused local point cloud, and then fuse the fused local point cloud with any frame of the remaining unprocessed local point cloud, and so on, to obtain the final fused local point cloud.
[0142] One possible approach is to fuse multiple local point clouds in pairs, and then fuse the fused local point clouds in pairs to obtain the final fused local point cloud.
[0143] It should be understood that when using area laser scanning, the multiple frames of local point clouds obtained from each laser line can be fused using the method described above. Subsequently, the point cloud of each laser line is distinguished through encoding or other methods. This achieves the fusion effect required for area laser scanning.
[0144] S603 controls the laser profilometer to scan at different positions, obtaining a fused local point cloud at different positions.
[0145] It should be understood that the fused local point cloud from different locations can be obtained through the fusion method of S602.
[0146] S604 stitches together the fused local point clouds from different locations to obtain the global point cloud of the object under test.
[0147] One possible implementation involves simultaneously recording the first coordinates of the laser profilometer or printhead at the first location in the world coordinate system when acquiring the first and second local point clouds. These first and second coordinates are then correlated, where the second coordinate is the coordinate of the fused local point cloud at the first location in the world coordinate system. Similarly, the coordinates of the laser profilometer or printhead at each location in the world coordinate system are correlated with the coordinates of the fused local point cloud at the first location in the world coordinate system. Based on the correlation between the coordinates of each location in the world coordinate system, the fused local point clouds at different locations are stitched together using the coordinates of the laser profilometer or printhead in the world coordinate system to obtain the global point cloud.
[0148] As another possible implementation, S1 involves preprocessing the fused local point cloud at each location, including denoising, filtering, and feature extraction. This helps reduce noise and unnecessary points while extracting important features. S2 uses iterative closest point (ICP) or other registration algorithms to estimate the transformation relationship between the fused local point cloud and the global point cloud at each location in the world coordinate system. S3 aligns the fused local point cloud at each location in the world coordinate system with the global coordinate system based on the transformation relationship (i.e., transforms the fused local point cloud at each location to the global coordinate system), and then stitches them together into a complete global point cloud frame using a stitching algorithm. Common stitching methods include voxel grid filtering, Euclidean clustering, and nearest neighbor search based on k-dimensional (KD) trees. S4 involves the optimization and refinement of the global point cloud: the stitched global point cloud may still contain some imperfections or inaccuracies. Optimization algorithms, such as nonlinear least squares or ICP iteration, can be applied to further optimize the fitting and accuracy of the global point cloud.
[0149] If the first and second local point clouds used for fusion in S602 are point cloud data in the laser profilometer coordinate system, then in S2 it is also necessary to convert the fused local point clouds to the world coordinate system according to the extrinsic parameters of the laser profilometer.
[0150] It should be understood that in the various embodiments of this application, the order of the above-mentioned processes does not imply the order of execution. The execution order of each process should be determined by its function and internal logic, and should not constitute any limitation on the implementation process of the embodiments of this application.
[0151] The above provides a detailed description of the method; the following will combine... Figure 12 A brief description of the apparatus is provided. It should be understood that the descriptions of the apparatus embodiments correspond to the descriptions of the method embodiments. Therefore, any details not described in detail can be found in the method embodiments above, and for the sake of brevity, will not be repeated here.
[0152] Figure 12 This is a schematic diagram of a point cloud fusion device provided in an embodiment of this application. The point cloud fusion device includes: an acquisition unit 1201 for acquiring a first local point cloud and a second local point cloud, wherein the first local point cloud and the second local point cloud are obtained by scanning a first position of a measured object with a laser profilometer using different laser parameters; the first local point cloud includes N first points and the second local point cloud includes M second points, where N and M are positive integers; and a processing unit 1202 for obtaining the fused local point cloud corresponding to the first position based on the comparison result of the position information of the nth first point and the mth second point, where 1≤n≤N, 1≤m≤M, and n and m are positive integers.
[0153] This application also provides a 3D printer including a heated bed 310, a print head 330, a laser profilometer 340, and a processing device. The print head is used to print a layer of a target object on the heated bed; the laser profilometer is used to collect a first local point cloud and a second local point cloud of the heated bed or the printed layer under different laser parameters; the processing device is used to control the print head and the laser profilometer, and to process the first local point cloud and the second local point cloud according to the point cloud fusion method provided in this application to obtain a fused point cloud of the heated bed or the printed layer.
[0154] Optionally, the processing device may be located in a cloud-based processing device. If the processing device is located in a cloud-based processing device, the 3D printer also includes means for receiving instructions from the processing device.
[0155] In this embodiment, the 3D printer may further include a memory for storing the computer program corresponding to the point cloud fusion method provided in this application for reading and execution by a processing device. Preferably, the memory may be volatile memory or non-volatile memory, or may include both volatile and non-volatile memory. The non-volatile memory may be read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), or flash memory. The volatile memory may be random access memory (RAM). By way of example, but not limitation, many forms of RAM are available, such as static random access memory (SRAM) or dynamic random access memory (DRAM), etc.
[0156] This application also provides a computer-readable medium storing program code that, when executed on a computer, causes the computer to perform the above-described actions. Figure 5 , Figure 6 or Figure 10 The method in the middle.
[0157] This application also provides a chip, including: at least one processor and a memory, wherein the at least one processor is coupled to the memory and is used to read and execute instructions in the memory to perform the above-mentioned... Figure 5 , Figure 6 or Figure 10 The method in the middle.
[0158] As used in this specification, the terms "component," "unit," "system," etc., are used to refer to computer-related entities, hardware, firmware, combinations of hardware and software, software, or software in execution. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, an execution thread, a program, and / or a computer. As illustrated, applications running on computing devices and computing devices can both be components. One or more components may reside in a process and / or an execution thread, and components may be located on a single computer and / or distributed among two or more computers. Furthermore, these components can be executed from various computer-readable media on which various data structures are stored. Components can communicate, for example, via local and / or remote processes based on signals having one or more data packets (e.g., data from two components interacting with another component between a local system, a distributed system, and / or a network, such as the Internet interacting with other systems via signals).
[0159] Those skilled in the art will recognize that the units and algorithm steps of the various examples described in conjunction with the embodiments disclosed herein can be implemented in electronic hardware, or a combination of computer software and electronic hardware. Whether these functions are implemented in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of this application.
[0160] Those skilled in the art will understand that, for the sake of convenience and brevity, the specific working processes of the systems, devices, and units described above can be referred to the corresponding processes in the foregoing method embodiments, and will not be repeated here.
[0161] In the several embodiments provided in this application, it should be understood that the disclosed systems, apparatuses, and methods can be implemented in other ways. For example, the apparatus embodiments described above are merely illustrative; for instance, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection between apparatuses or units may be electrical, mechanical, or other forms.
[0162] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0163] In addition, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit.
[0164] If the aforementioned functions are implemented as software functional units and sold or used as independent products, they can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or a portion of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, portable hard drives, read-only memory (ROM), random access memory (RAM), magnetic disks, or optical disks.
[0165] The above description is merely a specific embodiment of this application, but the scope of protection of this application is not limited thereto. Any variations or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in this application should be included within the scope of protection of this application. Therefore, the scope of protection of this application should be determined by the scope of the claims.
Claims
1. A point cloud fusion method, characterized in that, The method, applied to a 3D printer including a laser profilometer and a processing device, comprises: A first local point cloud and a second local point cloud are acquired; wherein the first local point cloud and the second local point cloud are obtained by the laser profilometer scanning the first position of the object under test with different laser parameters, the first local point cloud includes N first points, and the second local point cloud includes M second points, where N and M are positive integers; the different laser parameters include different exposure times or different laser wavelengths. Based on the comparison results of the position information of the nth first point and the mth second point, the fused local point cloud corresponding to the first position is obtained, where 1≤n≤N, 1≤m≤M, and n and m are positive integers.
2. The method according to claim 1, characterized in that, The step of obtaining the fused local point cloud corresponding to the first position based on the comparison result of the position information of the nth first point and the mth second point includes: Determine whether the difference between the x-coordinates of the nth first point and the mth second point is less than or equal to a first threshold, and determine the fusion method of the nth first point and the mth second point; According to the fusion method, a third point is obtained, and the fused local point cloud includes the third point.
3. The method according to claim 2, characterized in that, The method for determining the fusion of the nth first point and the mth second point includes: When the difference between the x-coordinates of the nth first point and the mth second point is less than or equal to the first threshold, determine whether the difference between the y-coordinates of the nth first point and the mth second point is less than or equal to the second threshold, and determine the fusion method.
4. The method according to claim 3, characterized in that, The third point obtained according to the fusion method includes: When the difference between the ordinates of the nth first point and the mth second point is less than or equal to the second threshold, the position information of the nth first point and the mth second point is averaged to obtain the third point; or, When the difference between the ordinates of the nth first point and the mth second point is greater than the second threshold, the average of the abscissas of the nth first point and the mth second point, and the ordinate of the nth first point, are taken as the third point; wherein the exposure time corresponding to the nth first point is less than the exposure time corresponding to the mth second point, or the light intensity response of the light source wavelength corresponding to the nth first point is less than the light intensity response of the light source wavelength corresponding to the mth second point.
5. The method according to claim 2, characterized in that, Based on the aforementioned fusion method, the third point includes: When the difference between the x-coordinates of the nth first point and the mth second point is greater than the first threshold, the point cloud with the smaller x-coordinate between the nth first point and the mth second point is determined as the third point.
6. The method according to claim 5, characterized in that, The method further includes: When the x-coordinate of the nth first point is small, a fourth point is determined based on the comparison of the position information of the (n+1)th first point and the mth second point, and the fused local point cloud includes the fourth point; or, When the x-coordinate of the m-th second point is small, the fifth point is determined based on the comparison of the position information of the n-th first point and the (m+1)-th second point, and the fused local point cloud includes the fifth point.
7. The method according to any one of claims 1 to 5, characterized in that, The method further includes: When the current first point is the Nth first point, the fused local point cloud includes the remaining point cloud in the second local point cloud, wherein the current first point is the nth first point; or, When the current second point is the Mth second point, the fused local point cloud includes the remaining point cloud in the first local point cloud, wherein the current second point is the mth second point.
8. A point cloud fusion device, characterized in that, include: The acquisition unit acquires a first local point cloud and a second local point cloud; wherein the first local point cloud and the second local point cloud are obtained by a laser profilometer scanning a first position of the object under test with different laser parameters, the first local point cloud includes N first points, and the second local point cloud includes M second points, where N and M are positive integers; the different laser parameters include different exposure times or different laser wavelengths; The processing unit obtains the fused local point cloud corresponding to the first position based on the comparison result of the position information of the nth first point and the mth second point, where 1≤n≤N, 1≤m≤M, and n and m are positive integers.
9. A 3D printer, characterized in that, The 3D printer includes a heated bed, a print head, a laser profilometer, and a processing unit, wherein: The print head is used to print a layer of the target object on the heated bed; The laser profilometer is used to acquire a first local point cloud and a second local point cloud of the heated bed or the printed layer under different laser parameters; the different laser parameters include different exposure times or different laser wavelengths. The processing device is used to control the printing nozzle and the laser profilometer, and to process the first local point cloud and the second local point cloud according to the point cloud fusion method as described in any one of claims 1-7, so as to obtain the fused point cloud of the heated bed or the printing layer.
10. A computer-readable storage medium, characterized in that, Used to store a computer program that causes a computer to perform the method as described in any one of claims 1 to 7.
Citation Information
Patent Citations
Binocular three-dimensional reconstruction method and binocular three-dimensional reconstruction system
CN106780725A
Method and device for fusing point cloud data and hybrid navigation system
CN108286976A