An automatic calibration system for SLA light-curing printers
The automated calibration system identifies and calibrates the characteristic points and spot positions of the SLA 3D printer, solving the problems of low efficiency and limited accuracy of manual calibration in the existing technology and achieving efficient and accurate automatic calibration.
Patent Information
- Application Number
- CN202410523321.3
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2024-04-19
- Filing Date
- 2024-04-28
- Publication Date
- 2025-09-30
- Estimated Expiration
- 2044-04-28
AI Technical Summary
During the assembly or use of SLA 3D printers, the laser beam cannot accurately land at the expected position due to precision errors, affecting the printing accuracy. The existing calibration method relies on manual operation, which is inefficient and has limited accuracy.
An automatic calibration system is used to obtain the original images of the calibration plate and light spot through the image collector, identify the feature points, establish a feature point network, determine the actual position of the target feature points and light spot, and perform galvanometer calibration according to the deviation distance to achieve automatic calibration.
It improves the efficiency and accuracy of SLA printer calibration, reduces manual participation, reduces errors, and improves the accuracy of automated calibration.
Smart Images

Figure CN118386542B_ABST
Abstract
Description
[0001] This application claims priority to the invention patent application with application number 202410477779.X filed with the State Intellectual Property Office on April 19, 2024. The entire contents of the application are incorporated by reference into this application. Technical Field
[0002] The present application relates to laser 3D printing technology, and more particularly to an automatic calibration system for SLA (Solid Light Attachment) light-curing printers. Background Art
[0003] An SLA (Stereo Lithography Apparatus) 3D printer is a 3D printing device that uses stereolithography technology. It's a crucial process in 3D printing. It uses a focused laser beam of a specific intensity to illuminate the surface of a curable material (primarily photosensitive resin), printing one layer at a time through point-to-line and line-to-surface processes. After each layer is printed, the next layer is printed, and this cycle repeats until the final product is complete.
[0004] After an SLA 3D printer is assembled or has been used for a period of time, due to assembly precision errors or precision errors caused by use, the laser beam often fails to land in the expected position, thus affecting the printing accuracy. In this case, the beam needs to be calibrated. Summary of the Invention
[0005] In view of this, the present application provides an automatic calibration system for an SLA light-curing printer, which improves the calibration efficiency and accuracy of the printer.
[0006] The present application provides an automatic calibration system for an SLA (Solid Light Activation) light-curing printer, comprising a light source, a scanning galvanometer, a calibration plate, an image collector, and a processor connected to the image collector; the processor is configured to:
[0007] During the calibration process of the SLA light-curing printer, an original image obtained by capturing the calibration plate and the light spot is obtained from an image collector, and feature point recognition is performed based on the original image to obtain a feature point recognition result; wherein the light spot is obtained by reflecting a light beam emitted by a light source onto the calibration plate through a scanning galvanometer;
[0008] Establishing a feature point network on a calibration plate according to the feature point recognition results, and extracting a calibration plate image from the original image using the feature point network;
[0009] Based on the feature point network, the actual position of the target feature point in the calibration plate image is obtained; wherein the target feature point is a feature point of the input scanning galvanometer;
[0010] Performing light spot recognition on the calibration plate image to obtain the light spot in the calibration plate image and the actual position of the light spot;
[0011] The deviation distance is determined according to the actual position of the target feature point and the actual position of the light spot, and the galvanometer calibration is performed according to the deviation distance.
[0012] The present application obtains an original image by performing image acquisition on a calibration plate and a light spot reflected onto the calibration plate by a scanning lens, identifies feature points on the calibration plate based on the original image, establishes a feature point network on the calibration plate based on the feature point recognition results, and uses the feature point network to extract the calibration plate image from the original image; based on the feature point network, determines the actual position of the target feature point input to the scanning galvanometer and the actual position of the light spot respectively; and determines the deviation distance based on the actual positions of the two, and calibrates the galvanometer based on the deviation distance, thereby realizing automated calibration and improving the efficiency and accuracy of calibration.
[0013] It should be understood that the content described in this section is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become easily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0014] The accompanying drawings are provided to facilitate a better understanding of the present invention and do not constitute a limitation of the present application.
[0015] Figure 1a This is a flow chart of an automatic calibration method for an SLA light-curing printer provided in accordance with an embodiment of the present invention;
[0016] Figure 1b Schematic diagram of the principle of an automatic calibration system for an SLA light-curing printer provided by an embodiment of the present disclosure;
[0017] Figure 2a is a flow chart of another automatic calibration method for an SLA light-curing printer provided according to an embodiment of the present invention;
[0018] Figure 2b and Figure 2c Schematic diagrams of characteristic points in a calibration plate provided by an embodiment of the present invention;
[0019] Figure 2d is a schematic diagram of a feature point network provided by an embodiment of the present invention;
[0020] Figure 2e This is a schematic diagram of the principle of feature point recognition provided by an embodiment of the present invention;
[0021] Figure 3 This is a flowchart of another automatic calibration method for an SLA light-curing printer provided according to an embodiment of the present invention. DETAILED DESCRIPTION
[0022] The calibration scheme uses a standard steel calibration plate with cross-shaped calibration points. During calibration, the laser spot is manually adjusted. When the calibrator uses a magnifying glass to observe when the center of the laser spot coincides with the center of the calibration cross, the physical coordinates of the current calibration point and the galvanometer bit position are recorded. There are typically multiple such calibration points. During the calibration process, multiple sets of corresponding physical coordinates and bit coordinates are generated. These two sets of coordinates are fed into the galvanometer's built-in calibration program to complete the system calibration.
[0023] The above calibration method relies on manual operation by the calibrator, and the calibration workload is huge, resulting in low calibration efficiency. Moreover, since the human eye recognizes whether the laser spot and the calibration point are aligned, the calibration of the calibration point cannot be completely objective due to subjective factors such as fatigue and light, thus limiting the calibration accuracy.
[0024] Figure 1a This is a flow chart of a method for automatic calibration of an SLA light-curing printer according to an embodiment of the present application. The method is applicable to the case of automatic calibration of an SLA printer. The method can be executed by an automatic calibration system for an SLA light-curing printer, which can be implemented in software and / or hardware. Figure 1a As shown, the automatic calibration method of the SLA light-curing printer of this embodiment may include:
[0025] S101, during the calibration process of an SLA (Solid Light Aging) printer, obtaining an original image obtained by capturing a calibration plate and a light spot, and performing feature point recognition on the original image to obtain a feature point recognition result; wherein the light spot is obtained by reflecting a light beam emitted by a light source onto the calibration plate through a scanning galvanometer;
[0026] S102, establishing a feature point network on a calibration plate according to the feature point recognition results, and extracting a calibration plate image from the original image using the feature point network;
[0027] S103, based on the feature point network, obtaining the actual position of the target feature point in the calibration plate image; wherein the target feature point is the feature point of the input scanning galvanometer;
[0028] S104, performing light spot recognition on the calibration plate image to obtain the light spot in the calibration plate image and the actual position of the light spot;
[0029] S105 , determining a deviation distance according to the actual position of the target feature point and the actual position of the light spot, and performing galvanometer calibration according to the deviation distance.
[0030] Figure 1bThis is a schematic diagram of the structure of an automatic calibration system for an SLA light-curing printer provided in accordance with an embodiment of the present application. Figure 1b The automatic calibration system includes a light source (Laser) 11 for emitting a laser beam; a scanning galvanometer (X-YScanning mirror) 12 for deflecting the laser beam emitted by the light source and refracting it to the target printing position to solidify the material at the target printing position and construct a 3D printing model, that is, the laser beam is deflected onto a calibration plate 13 to form a light spot 14; the calibration plate 13 is provided with a number of feature points, the feature points can be black or circular feature points, and the calibration plate can be a white background; but without limitation, other high-contrast "feature point-background" color combinations or feature points of other shapes can also be selected to facilitate the high-definition camera to better identify and capture the light spot position when capturing images. The automatic calibration system also includes an image collector (not shown) for capturing the calibration plate 13 and the light spot 14 to obtain the original image, and a high-definition camera can be optionally used. During the calibration process, the light source 11 emits a laser beam, and the scanning galvanometer 12 deflects and reflects the laser beam onto the calibration plate 13 to form a light spot 14. The image collector captures the calibration plate 13 containing the feature points and the light spot 14 to obtain an original image.
[0031] The feature points on the calibration plate are arranged in an array. The feature point network is the array pattern of the feature points on the calibration plate. This means that the feature points in the feature point network are evenly spaced, with the spacing between rows and columns being the same. To improve calibration efficiency, the calibration plate can have at least two types of feature points: a first feature point and a second feature point, with the second feature point being larger than the first.
[0032] The automatic calibration system also includes a processor (not shown), which is connected to the image collector. The processor obtains the original image from the image collector and identifies the feature points on the calibration plate in the original image to obtain feature point recognition results, exemplarily obtaining the size, position, etc. of the feature points; and establishes a feature point network on the calibration plate based on the feature point recognition results, and uses the feature point network to extract the calibration plate image from the original image for subsequent processing. Feature point recognition is performed based on the original image to obtain feature point recognition results, and a feature point network on the calibration plate is constructed based on the feature point recognition results, and the calibration plate image is extracted from the original image using the feature point network, that is, the edge area outside the calibration plate is cut off. In other words, the edge of the original image is cut off using the feature point network, and only the calibration plate portion is cut off from the original image. The edge area is cut off, thereby reducing pixel interference in the image collector's field of view that is not related to the calibration plate, improving the efficiency and accuracy of subsequent image processing, and thus improving the efficiency and accuracy of automated calibration.
[0033] The target feature point is the feature point input into the galvanometer during the calibration process. In other words, the target feature point is the current calibration point and can be any feature point in the feature point network. The target feature point can be pre-assigned its serial number and used as the desired position of the laser beam. This desired position is converted into a bit by the galvanometer and input into the galvanometer, which controls the galvanometer to use this bit to deflect the laser beam and form a spot.
[0034] During the calibration process, the actual position of the target feature point in the calibration plate image is obtained based on the target feature point's serial number based on the feature point network. Spot recognition is performed on the calibration plate image to obtain the actual position of the spot in the calibration plate image. The distance between the target feature point and the actual position of the spot is used as the deviation distance to determine whether the deviation distance meets the calibration trigger condition. If the calibration trigger condition is met, calibration is determined to be necessary, and galvanometer calibration is performed based on the deviation distance, that is, the input of the scanning galvanometer is adjusted according to the deviation distance. If the calibration trigger condition is not met, calibration is stopped. The deviation distance threshold is the upper limit of the error that needs to be calibrated, which can be an empirical value and the unit can be microns.
[0035] During the calibration process, the original image is obtained by collecting the calibration plate and the light spot, and the feature point recognition is performed based on the original image to obtain the feature point recognition result. The feature point network on the calibration plate is established according to the feature point recognition result. The calibration plate image is extracted from the original image using the feature point network, and the edge image is cropped, thereby reducing the workload of subsequent processing; and by determining the actual position of the target feature point and the actual position of the light spot based on the calibration plate image, determining the deviation distance according to the two actual positions, and performing galvanometer calibration according to the deviation distance, the automatic calibration of the printer is realized without human intervention, which not only improves the calibration efficiency of the SLA printer, but also reduces error information, thereby improving the accuracy of the automatic calibration.
[0036] The technical solution provided by the embodiment of the present application is that the processor identifies feature points of the original image collected during the calibration process, establishes a feature point network on the calibration plate based on the feature point identification results, and uses the feature point network to extract the calibration plate image from the original image; and, by determining the actual position of the target feature point, performs light spot identification on the calibration plate image to obtain the actual position of the light spot, combines the actual positions of the two to determine the deviation distance, and adjusts the input of the scanning galvanometer according to the deviation distance, thereby realizing automatic calibration of the scanning galvanometer and improving the efficiency and accuracy of SLA printer calibration.
[0037] In an optional embodiment, the galvanometer calibration is performed according to the deviation distance, including: determining whether a calibration trigger condition is met according to the deviation distance; if the calibration trigger condition is met, using a predetermined conversion matrix to process the deviation distance to obtain a target offset that needs to be adjusted for the scanning galvanometer; and using the target offset to perform galvanometer calibration.
[0038] The calibration trigger condition is used to determine whether calibration is required. For example, if the deviation distance is equal to or greater than the deviation distance threshold, it is determined that the calibration trigger condition is met; otherwise, it is determined that the calibration trigger condition is not met. The conversion matrix is the conversion relationship between the expected position and the actual position of the light spot. For example, multiple groups of expected positions of the input scanning galvanometer and the actual position of the light spot are obtained in advance, and the conversion matrix is constructed based on each group of expected positions and actual positions. For example, the target offset that needs to be adjusted for the scanning galvanometer can be determined by the following formula:
[0039] ΔB=AΔC;
[0040] Where ΔB is the target offset that the galvanometer scanner needs to adjust; A is the conversion matrix; and ΔC is the offset distance. Specifically, the target offset that the galvanometer scanner needs to adjust can be converted into binary bits, and the conversion result can be input into the galvanometer scanner to calibrate the galvanometer scanner.
[0041] The processor determines whether the calibration trigger condition is met by comparing the deviation distance with a preset deviation distance threshold. When the calibration trigger condition is met, the deviation distance is processed by using a predetermined conversion matrix to obtain the target offset that needs to be adjusted for the scanning galvanometer, and the target offset is used to adjust the input of the scanning galvanometer to calibrate the scanning galvanometer. This eliminates the need to repeatedly determine the conversion relationship between the expected position and the actual position of the light spot during the calibration process, further reducing the calibration workload and thereby improving the calibration efficiency of the scanning galvanometer.
[0042] Figure 2a This is a flow chart of another automatic calibration method for SLA light-curing printers provided according to an embodiment of the present application. Figure 2a The automatic calibration method for an SLA light-curing printer of this embodiment may include:
[0043] S201, during the calibration process of the SLA (Solid Light Aging) printer, obtaining an original image obtained by capturing a calibration plate and a light spot, and performing feature point recognition on the original image to obtain a feature point recognition result; wherein the light spot is obtained by reflecting a light beam emitted by a light source onto the calibration plate through a scanning galvanometer;
[0044] S202, determining the sequence number of each directional feature point according to the position of each directional feature point in the feature point recognition result;
[0045] S203, establishing a feature point network on the calibration plate according to the feature point recognition results and the serial numbers of the oriented feature points, as well as the number of rows and columns of the feature point array in the calibration plate;
[0046] S204, segmenting the original image using the feature point network to obtain a calibration plate image;
[0047] S205, based on the feature point network, obtaining the actual position of the target feature point in the calibration plate image; wherein the target feature point is the feature point of the input scanning galvanometer;
[0048] S206, performing light spot recognition on the calibration plate image to obtain the light spot in the calibration plate image and the actual position of the light spot;
[0049] S207 , determining a deviation distance according to the actual position of the target feature point and the actual position of the light spot, and performing galvanometer calibration according to the deviation distance.
[0050] refer to Figure 2b The calibration plate can be provided with basic feature points 131 and directional feature points 132. The basic feature points 131 are used for reference calibration; the directional feature points 132 are used to determine the orientation of the calibration plate so as to number each feature point on the calibration plate, and also participate in the calibration. The basic feature points 131 can be of diameter feature points so that they can be better captured by the image collector; the directional feature points 132 can be feature points with a diameter of 20 mm to distinguish them from the basic feature points 131. The number of rows and columns of the feature point array in the calibration plate is predetermined and fixed, and the spacing of the feature point array can also be fixed, that is, the column spacing and row spacing can be the same and fixed.
[0051] For example, the position of each directional feature point 132 on the calibration plate can be obtained by performing feature point recognition based on the original image, and the serial number of each directional feature point 132 can be determined based on the position of each directional feature point 132, that is, the orientation of the calibration plate can be obtained. The row lines and column lines in the feature point array are drawn in combination with the position and serial number of each directional feature point 132, as well as the number of rows and columns of the feature point array, to obtain an evenly arranged feature point array, that is, a feature point network on the calibration plate. Establishing a feature point network through the above-mentioned processing lays the foundation for subsequent extraction of the calibration plate image, determination of the actual position of the target feature point, etc.; moreover, compared to identifying the position of each basic feature point in the calibration plate and constructing a feature point network using the position of each basic feature point, the efficiency of constructing the feature point network is also improved.
[0052] In an optional embodiment, the directional feature points are asymmetrically distributed. That is, the directional feature points form an asymmetrical pattern. Different directional feature points are distinguished by their asymmetric characteristics, and the serial numbers of the directional feature points are obtained, thereby accurately determining the orientation of the calibration plate and laying the foundation for the subsequent determination of the serial numbers of the feature points.
[0053] In an optional embodiment, a feature point network on the calibration plate is established based on the feature point recognition results and the serial numbers of each directional feature point, as well as the number of rows and columns of the feature point array in the calibration plate, including: using the positions of each directional feature point and the serial numbers of each directional feature point, as well as the number of rows and columns of the feature point array in the calibration plate to establish a feature point network on the calibration plate.
[0054] For example, the position of each directional feature point 132 can be used to draw the row and column where the directional feature point 132 is located to obtain the directional area, and the serial number of each directional feature point 132 and the number of rows and columns of the feature point array in the calibration plate can be used to supplement the rows and columns inside and outside the directional area until the feature point array is obtained. Specifically, the position of each directional feature point 132 can be used to draw the line segments where different directional feature points are located to obtain the directional area, and the serial number of the directional feature point 132 and the number of rows and columns of the feature point array can be used to supplement the feature points inside the directional area; and the feature points can be extended to the periphery of the directional area according to the number of rows and columns of the feature point array until the feature point array is obtained. By determining the position and serial number of each directional feature point 132, combined with the position and serial number of the directional feature point 132 and the number of rows and columns of the feature point array, a feature point network on the calibration plate is established, laying the foundation for subsequent extraction of the calibration plate image, determination of the actual position of the target feature point, etc.
[0055] In an optional embodiment, a feature point network on the calibration plate is established based on the feature point recognition results and the serial numbers of each directional feature point, as well as the number of rows and columns of the feature point array in the calibration plate, including: determining the serial number of each corner feature point based on the position of each corner feature point and the serial number of each directional feature point in the feature point recognition results; and establishing the feature point network on the calibration plate using the position of each corner feature point and the serial number of each corner feature point, as well as the number of rows and columns of the feature point array in the calibration plate.
[0056] The calibration plate is not only provided with basic feature points and orientation feature points, but also with corner feature points. Corner feature points are used to cut the edge of the original image so as to cut out the calibration plate from the original image. Corner feature points can be used Feature points are used to distinguish between basic feature points and directional feature points. Corner feature points also participate in calibration. Figure 2cThe calibration plate may be provided with basic feature points 131, four directional feature points 132, and four corner feature points 133. The corner feature points 133 are provided at the edge of the calibration plate. The directional feature points 132 are arranged asymmetrically, forming an asymmetrical pattern. That is, connecting the directional feature points 132 results in an asymmetrical pattern. The corner feature points 133 may be symmetrically distributed, for example, connecting the corner feature points 133 may form a rectangle. Alternatively, the corner feature points 133 may be asymmetrically distributed, and this is not specifically limited.
[0057] For example, the position of each corner feature point 133 and the position of each directional feature point 132 on the calibration plate can be obtained by performing feature point recognition based on the original image; the serial number of each directional feature point 132 is determined based on the asymmetric relationship between the directional feature points 132, and the serial number of each corner feature point 133 is determined according to the position of each corner feature point 133 and the serial number of each directional feature point 132; and the position of each corner feature point 133 and the serial number of each corner feature point are used together with the number of rows and columns of the feature point array in the calibration plate to establish a feature point network on the calibration plate (refer to Figure 2d ). Specifically, the position of each corner feature point 133 can be used to draw the row and column where the corner feature point 133 is located to obtain the corner feature area, and the serial number of each corner feature point 133, the number of rows and the number of columns of the feature point array are used to supplement the rows and columns of the corner feature area to obtain the feature point array. By using the position and serial number of each corner feature point 133 to establish a feature point network on the calibration plate, compared to using the position and serial number of each directional feature point 132 to establish a feature point network, since the corner feature point 133 is located at the edge of the calibration plate, the corner feature area composed of the corner feature points 133 covers most of the area of the feature point network, reducing the extension operation outside the diagonal feature area, thereby reducing the error in the feature point network construction and further improving the accuracy of the feature point network.
[0058] The technical solution provided by the embodiment of the present application is that, during the calibration plate image extraction process, the processor determines the serial number of each directional feature point according to the position of each directional feature point, establishes a feature point network according to the serial number of each directional feature point, and extracts the feature point network from the original image to obtain the calibration plate image, so that the calibration plate image is accurate and usable, thereby improving the efficiency of automatic calibration; or, by determining the serial number of each corner feature point according to the serial number of each directional feature point and the position of each corner feature point, establishing a feature point network according to the serial number of each corner feature point, and extracting the feature point network from the original image to obtain the calibration plate image, the accuracy of the calibration plate image is further improved, thereby improving the accuracy of automatic calibration.
[0059] In an optional embodiment, determining the serial number of each directional feature point according to the position of each directional feature point in the feature point recognition result includes: if three vectors formed by taking any directional feature point in the feature point recognition result as a starting point and the other three directional feature points as end points satisfy the following relationship, then the directional feature point is used as the second directional feature point, and the serial numbers of the other directional feature points are obtained:
[0060]
[0061]
[0062]
[0063] Among them, A, B, C and D are the first directional feature point, the second directional feature point, the third directional feature point and the fourth directional feature point respectively.
[0064] refer to Figure 2e For each directional feature point, the first, second, and third vectors are obtained with the directional feature point as the starting point and the other three directional feature points as the end points. The first, second, and third vectors are determined to satisfy the following relationship: the product between the first and second vectors is less than 0, the product between the third and second vectors is equal to 0, and the modulus of the first vector is less than the modulus of the second vector. If all of these conditions are met, the directional feature point is used as the second directional feature point B, the end point of the first vector is used as the first directional feature point A, the end point of the second vector is used as the third directional feature point C, and the end point of the third vector is used as the fourth directional feature point D. By determining the serial number of each directional feature point based on the angle between the vectors and the modulus of the vectors, the orientation of the calibration plate is obtained, which improves the recognition accuracy of the directional feature points, thereby improving the accuracy of the feature point network constructed based on the serial numbers of the directional feature points.
[0065] In an optional embodiment, the serial number of each corner feature point is determined based on the position of each corner feature point and the serial number of each directional feature point in the feature point recognition result, including: determining the module-length relationship of the vector between the directional feature point and the corner feature point based on the position of each corner feature point and the serial number of each directional feature point in the feature point recognition result, and determining the serial number of each corner feature point based on the module-length relationship.
[0066] The graph formed by each corner feature point and at least one directional feature point is also an asymmetric graph. That is, the asymmetric graph is formed by connecting each corner feature point with the directional feature point. For example, the modulus-length relationship between the vectors of the directional feature point and each corner feature point can be determined. The modulus lengths of each vector can be different, but the modulus-length relationship is fixed. Furthermore, the corner feature points can be distinguished based on the modulus-length relationship to obtain a sequence number for each corner feature point. Determining the sequence number for each corner feature point improves the recognition accuracy of the corner feature points, thereby improving the accuracy of the feature point network.
[0067] In an optional embodiment, determining the modulus length relationship of the vectors between the oriented feature points and the angular feature points based on the positions of the angular feature points and the serial numbers of the oriented feature points in the feature point recognition results, and determining the serial numbers of the angular feature points based on the modulus length relationship, includes: taking the fourth oriented feature point in the feature point recognition result as the starting point, and determining the serial numbers of the angular feature points if the modulus lengths of the vectors between the angular feature points satisfy the following relationship:
[0068]
[0069] Among them, D is the fourth directional feature point, E, F, G and H are the first corner feature point, the second corner feature point, the third corner feature point and the fourth corner feature point respectively.
[0070] Exemplarily, the graph formed by each corner feature point and the fourth directional feature point is an asymmetric graph. Figure 2e , the modulus relationship between the fourth directional feature point D and each corner feature point can be determined. The vectors can be sorted in ascending order of modulus, and the corner feature points in each vector are designated as the first corner feature point E, the second corner feature point F, the third corner feature point G, and the fourth corner feature point H. By comparing the modulus lengths of the vectors, the sequence number of each corner feature point is obtained, further improving the recognition accuracy of the diagonal feature points.
[0071] Figure 3 This is a flow chart of another automatic calibration method for SLA light-curing printers provided according to an embodiment of the present application. Figure 3 The automatic calibration method for an SLA light-curing printer of this embodiment may include:
[0072] S301, during the calibration process of the SLA (Solid Light Aging) printer, obtaining an original image obtained by capturing a calibration plate and a light spot, and performing feature point recognition on the original image to obtain a feature point recognition result; wherein the light spot is obtained by reflecting a light beam emitted by a light source onto the calibration plate through a scanning galvanometer;
[0073] S302, establishing a feature point network on a calibration plate according to the feature point recognition result, and extracting a calibration plate image from the original image using the feature point network;
[0074] S303, based on the feature point network, obtaining the actual position of the target feature point in the calibration plate image; wherein the target feature point is the feature point of the input scanning galvanometer;
[0075] S304, performing light spot recognition on the calibration plate image to obtain the light spot in the calibration plate image and the actual position of the light spot;
[0076] S305, determining the deviation distance of the current iteration round according to the actual position of the target feature point and the actual position of the light spot;
[0077] S306, determining whether the current iteration round meets the calibration trigger condition based on the deviation distance of the current iteration round and the current iteration round;
[0078] S307, if the current iteration round meets the calibration trigger condition, then using the predetermined transformation matrix, the offset of the scanning galvanometer in the previous iteration round, and the learnable correction parameter matrix to determine the corrected deviation distance of the current iteration round as the objective function;
[0079] S308, minimizing the objective function to obtain a correction parameter matrix learned in the current iteration round;
[0080] S309, using the conversion matrix, the learned correction parameter matrix and the current deviation distance, determining the target offset that needs to be adjusted for the scanning galvanometer in the current iteration round;
[0081] S310: calibrate the galvanometer using the target offset.
[0082] During the calibration process, the process can be repeated through multiple iterations, and a learnable correction parameter matrix can be introduced during the iteration process to further improve the calibration accuracy. For example, the processor can use artificial intelligence technology to learn the values of the correction parameter matrix, without any specific restrictions on the network structure used, such as a convolutional neural network.
[0083] The learnable correction parameter matrix is a local correction factor for the scanning galvanometer, used to learn the transformation relationship between the actual position of the target feature point and the actual position of the light spot. During the calibration process of the scanning galvanometer, not only can the transformation matrix be used to perform global translation and rotation between the actual position of the target feature point and the actual position of the light spot, but the introduction of the learnable correction parameter matrix can also learn the local changes between the two, further improving the accuracy of the transformation relationship and thus improving the calibration accuracy of the scanning galvanometer.
[0084] During the calibration process of the current iteration round, the deviation distance of the current iteration round can be determined based on the actual position of the target feature point and the actual position of the light spot in the current iteration round, and whether the current iteration round meets the calibration trigger condition can be determined based on the deviation distance of the current iteration round and the current iteration round. For example, if the current iteration round is greater than the preset round upper limit value, or if the deviation distance of the current iteration round is less than the preset deviation distance threshold, it is determined that the current iteration round does not meet the calibration trigger condition, the scanning galvanometer bit position of the current iteration round is recorded, and the calibration is ended; if the current iteration round is less than or equal to the preset round upper limit value, and the deviation distance of the current iteration round is equal to or greater than the preset deviation distance threshold, it is determined that the current iteration round meets the calibration trigger condition, and the calibration operation of the current iteration round is continued.
[0085] During the calibration process of the current iteration, the conversion matrix, the offset of the scanning galvanometer in the previous iteration, and the learnable correction parameter matrix are used to determine the corrected deviation distance of the current iteration, and the corrected deviation distance of the current iteration is used as the objective function. In addition, the gradient descent method can be used to learn and adjust the value of the correction parameter matrix to obtain the learned correction parameter matrix in the current iteration, that is, to obtain the local change of the scanning galvanometer in the current iteration. In addition, the conversion matrix, the learned correction parameter matrix, and the current deviation distance are used to determine the target offset that needs to be adjusted for the scanning galvanometer in the current iteration, and the target offset is used to calibrate the galvanometer. By iteratively learning the value of the correction parameter matrix, the learned correction parameter matrix is also introduced in the process of determining the target offset, further improving the accuracy of the target offset, thereby improving the calibration accuracy of the scanning galvanometer.
[0086] In an optional implementation, minimizing the objective function to obtain a learned correction parameter matrix in a current iteration round includes: learning the correction parameter matrix using a gradient descent method:
[0087]
[0088] Among them, num-1 and num represent the previous iteration round and the current iteration round respectively, X num and X num-1 are the values of the correction parameter matrix in the current iteration round and the previous iteration round, f is the correction deviation distance in the current iteration round, ΔB num-1 is the offset of the scanning galvanometer adjusted in the previous iteration, and α is the learning rate.
[0089] The objective function can be determined by the following formula:
[0090]
[0091] f is the objective function, C and C' are the actual position of the target feature point and the actual position of the light spot in the current iteration round respectively; X num and X num-1 It can be treated as a vector. In the current iteration round num, the objective function can be minimized, and the gradient descent method is used to update the correction parameter matrix to obtain the correction parameter matrix X learned in the current iteration round. num Using a matrix as a partial derivative is equivalent to using each element in the matrix as a partial derivative. The minimum value of the current iteration round num can be greater than the preset first-round threshold, for example, greater than 5; the learning rate can be a preset value, for example, 0.01. The above process yields the learned correction parameter matrix for the current iteration round, further improving the accuracy of the transformation relationship and, therefore, the accuracy of subsequent galvanometer calibration.
[0092] In an optional embodiment, the initial values of the correction parameter matrix and the initial offset of the scanning galvanometer adjustment are as follows:
[0093] X0=0.01×A -1 ;
[0094] ΔB0=AΔC0;
[0095] Where X0 is the initial value of the correction parameter matrix, A is the preset transformation matrix, ΔB0 is the initial offset for the scanning galvanometer adjustment, and ΔC0 is the initial deviation distance between the actual position of the feature point and the actual position of the light spot. By setting the initial value for the correction parameter matrix based on the transformation matrix and determining the initial offset for the scanning galvanometer adjustment based on the transformation matrix and the initial deviation distance, compared to randomly initializing the correction parameter matrix and the offset, the reliability of the initial value and initial offset of the correction parameter matrix can be improved, thereby improving the efficiency and accuracy of subsequent learning of the correction parameter matrix.
[0096] In an optional embodiment, determining the target offset that needs to be adjusted for the scanning galvanometer in the current iteration round by using the transformation matrix, the learned correction parameter matrix, and the current deviation distance includes: determining the target offset that needs to be adjusted for the scanning galvanometer in the current iteration round by using the following formula:
[0097]
[0098] in, is the target offset that needs to be adjusted in the current iteration, A is the transformation matrix, X is the value of the learned correction parameter matrix, and ΔC is the current deviation distance in the current iteration. In the current iteration, the target offset that needs to be adjusted for the scanning galvanometer can be determined based on the transformation matrix, the value of the learned correction parameter matrix, and the current deviation distance in the current iteration. This ensures that the target offset fully considers the effects of global and local changes, thereby improving the accuracy of the target offset.
[0099] In an optional embodiment, whether the current iteration round meets the calibration trigger condition is determined based on the deviation distance of the current iteration round and the current iteration round, including: if the deviation distance is equal to or greater than the preset deviation distance threshold, and the current iteration round is greater than the first round threshold and less than the second round threshold, then it is determined that the first sub-trigger condition is met; if the deviation distance is equal to or greater than the preset deviation distance threshold, and the current iteration round is less than or equal to the first round threshold, then it is determined that the second sub-trigger condition is met.
[0100] The first round threshold and the second round threshold are both empirical values, and the first round threshold is smaller than the second round threshold. For example, the first round threshold may be 5, and the second round threshold may be 50. For example, the deviation distance of the current iteration round may be compared with the deviation distance threshold. If the deviation distance is equal to or greater than the deviation distance threshold, the current iteration round is compared again. If the current iteration round is greater than the first round threshold and less than the second round threshold, the first sub-trigger condition is determined to be satisfied. If the current iteration round is less than the first round threshold, the second sub-trigger condition is determined to be satisfied.
[0101] That is to say, if the deviation distance of the current iteration round is equal to or greater than the deviation distance threshold, and the current iteration round is greater than the first round threshold and less than the second round threshold, it is determined that the first sub-trigger condition is met, and the conversion matrix and the learned correction parameter matrix are subsequently used to calibrate the galvanometer; if the deviation distance of the current iteration round is equal to or greater than the deviation distance threshold, and the current iteration round is less than or equal to the first round threshold, it is determined that the second sub-trigger condition is met, and only the conversion matrix is subsequently used to calibrate the galvanometer. It should also be noted that if the deviation distance of the current iteration round is less than the deviation distance threshold, or if the current iteration round is greater than the second round threshold, it is determined that the calibration trigger condition is not met and the calibration is stopped. By flexibly selecting the calibration method according to the deviation distance of the current iteration round and the current iteration round, the calibration method can be determined based on the degree of deviation of the scanning galvanometer, so that the accuracy and efficiency of the automated calibration can be taken into account, and the performance of the automated calibration system can be further improved.
[0102] The technical solution provided by the embodiment of the present application is that the processor obtains the learned correction parameter matrix in the iterative round through multiple iterative learning of the correction parameter matrix, uses the conversion matrix and the learned correction parameter matrix to process the deviation distance in the corresponding iterative round to obtain the target offset that needs to be adjusted, and uses the target offset to calibrate the galvanometer, fully considering the influence of global changes and local changes, thereby further improving the accuracy of automatic calibration.
[0103] In an optional embodiment, the above method also includes determining the conversion matrix in the following manner: obtaining N groups of spot position pairs collected in the preprocessing stage, wherein the i-th spot position pair includes the expected position of the i-th input scanning galvanometer and the actual position of the i-th spot; determining the conversion matrix between the expected position matrix and the actual position matrix based on the N expected position matrices and the N actual position matrices through the least squares method; wherein the expected position matrix is determined based on the expected position of the spot, and the actual position matrix is determined based on the actual position of the spot.
[0104] In the preprocessing stage, the preprocessing can be repeated N times. In the i-th preprocessing process, a feature point can be selected, and the expected position of the feature point can be converted into a bit input to the scanning galvanometer, so that the scanning galvanometer deflects the laser beam emitted by the light source to form a light spot, collects the calibration plate image, and processes the collected image to obtain the actual position B of the feature point i =(Bx i , By i ) and the actual position C of the corresponding light spot i =(Cx i , Cy i ). The actual position of the feature point B i =(Bx i , By i ) is to input the desired position of the scanning galvanometer. And, according to the input desired position B of the scanning galvanometer i Construct a 2×1 expectation matrix B i , construct a 2×1 spot matrix C according to the actual position of the spot i ; Through the least squares method, N groups of expected matrices and N groups of spot matrices are processed to obtain the transformation matrix A, so that the following relationship is satisfied: B i =AC i The value of N may be equal to or greater than 10, for example, 30; i may be a natural number and less than or equal to N.
[0105] Through multiple preprocessing, the expected position matrix and the actual position matrix of the input scanning galvanometer and the actual position of the light spot of each preprocessing are respectively determined; and each expected position matrix and the actual position matrix are processed to obtain a conversion matrix between the two, so that the conversion matrix can be used to calibrate the scanning galvanometer in the subsequent process. There is no need to determine the conversion matrix during the calibration process, thereby improving the efficiency of subsequent galvanometer calibration.
[0106] In addition, before performing feature point recognition based on the original image, the original image can also be preprocessed, including but not limited to grayscale and denoising the original image to remove reflective points on the calibration plate, thereby improving the efficiency and accuracy of feature point recognition and light spot recognition.
[0107] For example, the original image can be grayscaled as follows: That is to say, the pixel values of the original image in each color channel are averaged as the grayscale value of the pixel, and the grayscale image is obtained. In addition, the following convolution kernel can be used to perform median filtering on the grayscale image: Median filtering can remove noise from the image acquisition CCD (Charge Coupled Device) chip, which can reduce the efficiency of subsequent feature point recognition. A convolution kernel can also be used to convolve the image to remove reflective spots on the calibration plate, further improving the accuracy of feature point recognition.
[0108] In an optional embodiment, feature point recognition is performed based on the original image to obtain a feature point recognition result, including: determining a current black threshold based on a black threshold interval and a first step length, and if the pixel value of any pixel point in the original image is less than the current black threshold, setting the pixel value of the pixel point to a preset black value; otherwise, setting the pixel value of the pixel point to a preset white value to obtain a binarization result; performing connectivity analysis on the binarization result to obtain various categories whose pixel values are preset black values; using the pixel number interval of the feature point to screen various categories, and calculating the centroid coordinates of each category as the center of the circle, and calculating the average distance from the center of the circle to the class boundary as the radius; drawing a circle using the center of the circle and the radius, and calculating the intersection-and-union ratio between the area of the circle and the area of the region of the category, and taking the category whose intersection-and-union ratio is greater than the intersection-and-union ratio threshold as a feature point to obtain a feature point array composed of feature points.
[0109] When the feature points are black and circular and the calibration plate is white, the feature points can be identified in the following ways: 1) Dynamically binarize the grayscale image, set the color binarization threshold [30, 120] to black, and dynamically update the first threshold with a step size of 10; 2) Binarize the grayscale image according to the dynamically updated first threshold: if the pixel value is less than or equal to the first threshold, assign the pixel value to 0; otherwise, assign the pixel value to 255; 3) Perform connectivity analysis on the binarization result. Specifically, if the color value of a pixel is 0, then take the pixel as the current pixel and check the surrounding pixel values. If the surrounding pixel color values are also 0, then it is said that The connected pixel values are grouped together. The above process can be used to classify pixels with a color value of 0 in the image into multiple classes. 4) For each class, if the number of pixels in that class is within the number interval [a, b], the class is retained; otherwise, the class is discarded. 5) The centroid coordinates of each classified class are calculated and used as the center of the circle. 6) During the connectivity analysis of the binarized results, the boundaries of the connected regions are also counted, and the average distance from the center of the circle to all boundary points is calculated as the radius. 7) A circle is constructed using the center and radius of the class, and the intersection-over-union ratio (IoU) of the original class and the current circle is calculated. Classes with an IoU ratio less than a specified threshold, such as 0.9, are discarded, and the remaining classes are retained as feature points. The number interval [a, b] can be a preset empirical value. The above process yields feature point recognition results on the calibration plate, such as directional feature points and angular feature points on the calibration plate.
[0110] In an optional embodiment, light spot recognition is performed on the calibration plate image to obtain the light spot in the calibration plate image and the actual position of the light spot, including: determining the current white threshold based on the white threshold interval and the second step size, if the pixel value of any pixel point in the calibration plate image is greater than the current white threshold, setting the pixel value of the pixel point to a preset white value; otherwise, setting the pixel value of the pixel point to a preset black value to obtain a binarization result; performing connectivity analysis on the binarization result to obtain various classes whose pixel values are preset white values; using the pixel number interval of the light spot to screen various classes, and calculating the center of gravity coordinates of each class as the center of the circle, and calculating the average distance from the center of the circle to the class boundary as the radius; drawing a circle using the center of the circle and the radius, and calculating the intersection-and-union ratio between the area of the circle and the area of the region of the class, and taking the class with an intersection-and-union ratio greater than the intersection-and-union ratio threshold as the light spot.
[0111] When the feature point is black and circular and the calibration plate is white, the light spot is also white. The light spot can be identified by the following methods: 1) Dynamically binarize the grayscale image, set the color binarization threshold [100, 255] to white, and dynamically update the second threshold with a step size of 10; 2) Binarize the grayscale image according to the dynamically updated second threshold: if the pixel value is equal to or greater than the second threshold, assign the pixel value to 255, otherwise assign the pixel value to 0; 3) Perform connectivity analysis on the binarization result. The specific method is that if the pixel value of any pixel point in the calibration plate image is 255, take the pixel point as the current pixel point, and check the surrounding pixel values. If the surrounding pixel colors are If the value is also 255, it indicates that it is connected to the current pixel. These connected pixel values are grouped together. Through this process, pixels with a color value of 255 in the image can be divided into multiple classes. 4) For each class, if the number of pixels in that class falls within the number interval [c, d], the class is retained; otherwise, the class is discarded. 5) The centroid coordinates of each classified class are calculated and used as the center of the circle. 6) During the connectivity analysis of the binarized results, the boundaries of the connected regions are also counted, and the average distance from the circle center to all boundary points is calculated as the radius. 7) A circle is constructed using the center and radius of the class, and the intersection-over-union ratio (IoU) of the original class and the current circle is calculated. Classes with IoU ratios less than a specified threshold, such as 0.9, are discarded, and the remaining classes are retained as feature points. The number interval [c, d] can be a preset empirical value. Through this process, the light spot recognition result on the calibration plate is obtained.
[0112] The present application also provides an automatic calibration system for an SLA (Solid Light Aging) printer, comprising a light source, a scanning galvanometer, a calibration plate, an image collector, and a processor connected to the image collector; the processor is configured to:
[0113] During the calibration process of the SLA light-curing printer, an original image obtained by capturing the calibration plate and the light spot is acquired from the image collector, and feature point recognition is performed based on the original image to obtain a feature point recognition result; wherein the light spot is obtained by reflecting the light beam emitted by the light source onto the calibration plate through the scanning galvanometer;
[0114] Establishing a feature point network on a calibration plate according to the feature point recognition results, and extracting a calibration plate image from the original image using the feature point network;
[0115] Based on the feature point network, the actual position of the target feature point in the calibration plate image is obtained; wherein the target feature point is a feature point of the input scanning galvanometer;
[0116] Performing light spot recognition on the calibration plate image to obtain the light spot in the calibration plate image and the actual position of the light spot;
[0117] The deviation distance is determined according to the actual position of the target feature point and the actual position of the light spot, and the galvanometer calibration is performed according to the deviation distance.
[0118] In an optional implementation, the processor is specifically configured to:
[0119] Determine the sequence number of each directional feature point according to the position of each directional feature point in the feature point recognition result;
[0120] According to the feature point recognition results and the serial number of each oriented feature point, as well as the number of rows and columns of the feature point array in the calibration plate, a feature point network on the calibration plate is established;
[0121] The feature point network is used to segment the original image to obtain a calibration plate image.
[0122] In an optional embodiment, the processor is specifically configured to establish a feature point network on the calibration plate using the position and serial number of each directional feature point, and the number of rows and columns of the feature point array in the calibration plate.
[0123] In an optional implementation, the processor is specifically configured to:
[0124] Determine the serial number of each corner feature point according to the position of each corner feature point and the serial number of each directional feature point in the feature point recognition result;
[0125] The position and serial number of each corner feature point, as well as the number of rows and columns of the feature point array in the calibration plate, are used to establish a feature point network on the calibration plate.
[0126] In an optional implementation, the directional feature points are distributed asymmetrically.
[0127] In an optional embodiment, the processor is specifically configured to, if three vectors formed by taking any directional feature point in the feature point recognition result as a starting point and the other three directional feature points as end points satisfy the following relationship, then use the directional feature point as the second directional feature point and obtain the serial numbers of the other directional feature points:
[0128]
[0129]
[0130]
[0131] Among them, A, B, C and D are the first directional feature point, the second directional feature point, the third directional feature point and the fourth directional feature point respectively.
[0132] In an optional embodiment, the processor is specifically configured to determine the module-length relationship of the vectors between the directional feature points and the angular feature points based on the position of each angular feature point and the serial number of each directional feature point in the feature point recognition result, and determine the serial number of each angular feature point based on the module-length relationship.
[0133] In an optional embodiment, the processor is specifically configured to use the fourth directional feature point in the feature point recognition result as the starting point, and determine the sequence number of each corner feature point if the modulus length of the vector between the four directional feature points satisfies the following relationship:
[0134]
[0135] Among them, D is the fourth directional feature point, E, F, G and H are the first corner feature point, the second corner feature point, the third corner feature point and the fourth corner feature point respectively.
[0136] In an optional implementation, the processor is specifically configured to:
[0137] determining whether a calibration trigger condition is met according to the deviation distance;
[0138] If the calibration trigger condition is met, the deviation distance is processed using a predetermined conversion matrix to obtain a target offset that the scanning galvanometer needs to adjust;
[0139] The target offset is used to perform galvanometer calibration.
[0140] In an optional implementation, the processor is specifically configured to:
[0141] Determine whether the current iteration round meets the calibration trigger condition according to the deviation distance of the current iteration round and the current iteration round;
[0142] If the current iteration meets the calibration trigger condition, the predetermined transformation matrix, the offset of the scanning mirror in the previous iteration, and the learnable correction parameter matrix are used to determine the correction deviation distance of the current iteration as the objective function;
[0143] Minimize the objective function to obtain a modified parameter matrix learned in the current iteration round;
[0144] Using the transformation matrix, the learned correction parameter matrix, and the current deviation distance, determine the target offset that needs to be adjusted for the scanning mirror in the current iteration round;
[0145] The target offset is used to perform galvanometer calibration.
[0146] In an optional implementation, the processor is specifically configured to:
[0147] The gradient descent method is used to learn the correction parameter matrix:
[0148]
[0149] Among them, num-1 and num represent the previous iteration round and the current iteration round respectively, X num and X num-1 are the values of the correction parameter matrix in the current iteration round and the previous iteration round, f is the correction deviation distance in the current iteration round, ΔB num-1 is the offset of the scanning galvanometer adjusted in the previous iteration, and α is the learning rate.
[0150] In an optional embodiment, the initial values of the correction parameter matrix and the initial offset of the scanning galvanometer adjustment are as follows:
[0151] X0=0.01×A -1 ;
[0152] ΔB0=AΔC0
[0153] Among them, X0 is the initial value of the correction parameter matrix, A is the preset transformation matrix; ΔB0 is the initial offset of the scanning galvanometer adjustment, and ΔC0 is the initial deviation distance between the actual position of the feature point and the actual position of the light spot.
[0154] In an optional implementation, the processor is specifically configured to determine the target offset of the scanning galvanometer that needs to be adjusted in the current iteration round by using the following formula:
[0155]
[0156] in, is the target offset that needs to be adjusted in the current iteration round, A is the transformation matrix, X is the value of the learned correction parameter matrix, and ΔC is the current deviation distance in the current iteration round.
[0157] In an optional implementation, the processor is further configured to determine the conversion matrix in the following manner:
[0158] Obtain N sets of spot position pairs collected in the preprocessing stage, where the i-th spot position pair includes the expected position of the i-th input scanning galvanometer and the actual position of the i-th spot;
[0159] The conversion matrix between the expected position matrix and the actual position matrix is determined based on the N expected position matrices and the N actual position matrices by the least squares method; wherein the expected position matrix is determined based on the expected position of the light spot, and the actual position matrix is determined based on the actual position of the light spot.
[0160] In an optional implementation, the processor is specifically configured to:
[0161] If the deviation distance is equal to or greater than a preset deviation distance threshold, and the current iteration round is greater than the first round threshold and less than the second round threshold, it is determined that the first sub-trigger condition is met;
[0162] If the deviation distance is equal to or greater than a preset deviation distance threshold, and the current iteration round is less than or equal to the first round threshold, it is determined that the second sub-trigger condition is met.
[0163] It should be noted that the above-mentioned automatic calibration system for SLA light-curing printers and the automatic calibration method for SLA light-curing printers belong to the same inventive concept.
[0164] For ease of understanding, a specific embodiment of automatic calibration of an SLA light-curing printer is provided below, which may include a pre-processing stage and a calibration stage. The calibration plate includes basic feature points, directional feature points, and corner feature points.
[0165] The preprocessing phase can be performed 30 times. During each preprocessing step, the bits of the scanning galvanometer input and the actual position of the light spot are obtained. The expected position matrix is constructed using the bits of the scanning galvanometer, and the actual position matrix is constructed using the actual position of the light spot. Using the least squares method, each expected position matrix and each actual position matrix is processed to obtain a transformation matrix, which is a 2×2 matrix. The expected position matrix, actual position matrix, and transformation matrix satisfy the following mapping relationship: B = AC, where A, B, and C are the expected position matrix, transformation matrix, and actual position matrix, respectively.
[0166] During the calibration phase, the original image captured in the current iteration is acquired. The original image is preprocessed using grayscale conversion, denoising, and convolution to obtain the target image. Feature point recognition is performed on the target image to obtain the positions of the directional feature points and corner feature points. The sequence number of each directional feature point is determined based on the position of each directional feature point. The sequence number of each corner feature point is determined based on the position and sequence number of each directional feature point. A feature point network is established on the calibration plate based on the positions and sequence numbers of each corner feature point, as well as the number of rows and columns of the feature point array in the calibration plate. The feature point network is then used to extract the calibration plate image from the target image. Furthermore, based on the feature point network, the actual positions of the target feature points in the current iteration are acquired. Light spot recognition is performed on the calibration plate image to obtain the actual positions of the light spots. The deviation distance for the current iteration is determined based on the actual positions of the target feature points and the actual positions of the light spots.
[0167] If the deviation distance of the current iteration round is greater than the preset deviation distance threshold, and the current iteration round is less than or equal to the first round threshold, such as 5, the target offset that needs to be adjusted using the deviation distance of the current iteration round and the conversion matrix; if the deviation distance of the current iteration round is greater than the preset deviation distance threshold, the current iteration round is greater than the first round threshold and less than the second round threshold, such as greater than 5 and less than 50, then a learnable correction parameter matrix is also introduced, and the learned correction parameter matrix in the current iteration round is obtained through learning. The deviation distance of the current iteration round, the conversion matrix, and the learned correction parameter matrix are used to determine the target offset that needs to be adjusted in the current iteration round. If the deviation distance of the current iteration round is less than or equal to the deviation distance threshold, or the current iteration round is greater than the second round threshold, calibration is stopped.
[0168] It should be understood that the various forms of the processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions disclosed in this application can be achieved. This is not a limitation herein.
[0169] The above specific embodiments do not constitute a limitation on the scope of protection of this application. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this application shall be included within the scope of protection of this application.
Claims
1. An automatic calibration system for SLA light-curing printers, characterized in that: The system comprises a light source, a scanning galvanometer, a calibration plate, an image collector, and a processor connected to the image collector; the processor is configured to: During the calibration process of the SLA light-curing printer, an original image obtained by capturing the calibration plate and the light spot is acquired from the image collector, and feature point recognition is performed based on the original image to obtain a feature point recognition result; wherein the light spot is obtained by reflecting the light beam emitted by the light source onto the calibration plate through the scanning galvanometer; Establishing a feature point network on a calibration plate according to the feature point recognition results, and extracting a calibration plate image from the original image using the feature point network; Based on the feature point network, the actual position of the target feature point in the calibration plate image is obtained; wherein the target feature point is a feature point of the input scanning galvanometer; Performing light spot recognition on the calibration plate image to obtain the light spot in the calibration plate image and the actual position of the light spot; Determine a deviation distance according to the actual position of the target feature point and the actual position of the light spot, and perform galvanometer calibration according to the deviation distance; The processor is specifically configured to: Determine whether the current iteration round meets the calibration trigger condition according to the deviation distance of the current iteration round and the current iteration round; If the current iteration meets the calibration trigger condition, the predetermined transformation matrix, the offset of the scanning mirror in the previous iteration, and the learnable correction parameter matrix are used to determine the correction deviation distance of the current iteration as the objective function; Minimize the objective function to obtain a modified parameter matrix learned in the current iteration round; Using the transformation matrix, the learned correction parameter matrix, and the current deviation distance, determine the target offset that needs to be adjusted for the scanning mirror in the current iteration round; The target offset is used to perform galvanometer calibration.
2. The system according to claim 1, wherein: The processor is specifically configured to: Determine the sequence number of each directional feature point according to the position of each directional feature point in the feature point recognition result; According to the feature point recognition results and the serial number of each oriented feature point, as well as the number of rows and columns of the feature point array in the calibration plate, a feature point network on the calibration plate is established; The feature point network is used to segment the original image to obtain a calibration plate image.
3. The system according to claim 2, characterized in that The processor is specifically configured to establish a feature point network on the calibration plate using the position and serial number of each directional feature point, and the number of rows and columns of the feature point array in the calibration plate.
4. The system according to claim 2, wherein: The processor is specifically configured to: Determine the serial number of each corner feature point according to the position of each corner feature point and the serial number of each directional feature point in the feature point recognition result; The position and serial number of each corner feature point, as well as the number of rows and columns of the feature point array in the calibration plate, are used to establish a feature point network on the calibration plate.
5. The system according to any one of claims 2 to 4, characterized in that The directional feature points are distributed asymmetrically.
6. The system according to claim 5, characterized in that The processor is specifically configured to, if three vectors formed by taking any directional feature point in the feature point recognition result as a starting point and the other three directional feature points as end points satisfy the following relationship, use the directional feature point as the second directional feature point and obtain the serial numbers of the other directional feature points: Among them, A, B, C and D are the first directional feature point, the second directional feature point, the third directional feature point and the fourth directional feature point respectively.
7. The system according to claim 4, wherein: The processor is specifically configured to determine the module-length relationship of the vectors between the directional feature points and the angular feature points according to the positions of the angular feature points and the serial numbers of the directional feature points in the feature point recognition results, and determine the serial numbers of the angular feature points according to the module-length relationship.
8. The system according to claim 7, characterized in that The processor is specifically configured to use the fourth directional feature point in the feature point recognition result as a starting point, and determine the sequence number of each corner feature point if the modulus length of the vector between the fourth directional feature point and each corner feature point satisfies the following relationship: Among them, D is the fourth directional feature point, E, F, G and H are the first corner feature point, the second corner feature point, the third corner feature point and the fourth corner feature point respectively.
9. The system according to claim 1, wherein: The processor is specifically configured to: determining whether a calibration trigger condition is met according to the deviation distance; If the calibration trigger condition is met, the deviation distance is processed using a predetermined conversion matrix to obtain a target offset that the scanning galvanometer needs to adjust; The target offset is used to perform galvanometer calibration.
10. The system according to claim 1, wherein: The processor is specifically configured to: The gradient descent method is used to learn the correction parameter matrix: Among them, num-1 and num represent the previous iteration round and the current iteration round respectively, X num and X num-1 are the values of the correction parameter matrix in the current iteration round and the previous iteration round, f is the correction deviation distance in the current iteration round, ΔB num-1 is the offset of the scanning galvanometer adjusted in the previous iteration, and α is the learning rate.
11. The system according to claim 10, wherein: The initial values of the correction parameter matrix and the initial offset of the scanning galvanometer adjustment are as follows: X0=0.01×A -1 ; ΔB0=AΔC0 Among them, X0 is the initial value of the correction parameter matrix, A is the preset transformation matrix; ΔB0 is the initial offset of the scanning galvanometer adjustment, and ΔC0 is the initial deviation distance between the actual position of the feature point and the actual position of the light spot.
12. The system according to claim 1, wherein: The processor is specifically configured to determine the target offset of the scanning galvanometer that needs to be adjusted in the current iteration round by using the following formula: in, is the target offset that needs to be adjusted in the current iteration round, A is the transformation matrix, X is the value of the learned correction parameter matrix, and ΔC is the current deviation distance in the current iteration round.
13. The system according to any one of claims 9 to 12, characterized in that The processor is further configured to determine the transformation matrix by: Obtain N sets of spot position pairs collected in the preprocessing stage, where the i-th spot position pair includes the expected position of the i-th input scanning galvanometer and the actual position of the i-th spot; The conversion matrix between the expected position matrix and the actual position matrix is determined based on the N expected position matrices and the N actual position matrices by the least squares method; wherein the expected position matrix is determined based on the expected position of the light spot, and the actual position matrix is determined based on the actual position of the light spot.
14. The system according to claim 1, wherein: The processor is specifically configured to: If the deviation distance is equal to or greater than a preset deviation distance threshold, and the current iteration round is greater than the first round threshold and less than the second round threshold, it is determined that the first sub-trigger condition is met; If the deviation distance is equal to or greater than a preset deviation distance threshold, and the current iteration round is less than or equal to the first round threshold, it is determined that the second sub-trigger condition is met.