A spot correction method based on a parallel processor and a parallel processor
By using a parallel processor-based spot correction method, and by utilizing cache rotation and feature parameter deviation calculation, jitter and warpage compensation signals are generated. This solves the stability and accuracy problems of spot correction under complex disturbances in existing technologies, and achieves high-precision spot correction results.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- SHENZHEN SEICHITECH TECHN CO LTD
- Filing Date
- 2026-04-27
- Publication Date
- 2026-07-14
Smart Images

Figure CN122391038A_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of image processing, and more particularly to a spot correction method based on a parallel processor and a parallel processor. Background Technology
[0002] In applications such as high-precision imaging, precision focusing, and optical inspection, the photographed equipment or optical system is susceptible to mechanical vibration, environmental disturbances, and structural deformation during operation. This can lead to positional shifts, morphological distortions, or decreased sharpness of the target spot in the image. These problems not only reduce image quality but also adversely affect subsequent measurement, recognition, and control accuracy.
[0003] Currently, spot correction is mainly achieved through image acquisition and unified feedback. After calculating the spot deviation, the system drives the actuator to reset its position. However, in practical applications, spot errors are often caused by a combination of disturbances with different frequency characteristics. Because existing technologies typically use a uniform control gain or a single feedback loop, they cannot balance the compensation requirements for errors of different natures in the time domain. This leads to problems such as over-response or compensation failure under complex disturbance conditions, making it difficult to maintain high-precision and stable control. Summary of the Invention
[0004] To address the aforementioned technical problems, this application provides a spot correction method and a parallel processor based on a parallel processor, which can improve the accuracy and stability of spot correction.
[0005] The technical solution provided in this application is described below:
[0006] The first aspect of this application provides a spot correction method based on a parallel processor, including: Receive image data output from the acquisition camera, and write the image data into the first buffer and the second buffer in turn according to the acquisition order of the image data; The target cache is identified based on the completion status of the image data writing, and the image data is read from the target cache to obtain the current image data; The maximum inter-class variance method is used to isolate the spot regions of the current image data; Confirm the characteristic parameters of the light spot region; The deviation between the feature parameters and the preset spot parameters is calculated to obtain the error vector; The error vector is perturbed and classified according to a preset rule to obtain a weight parameter combination, which includes a first weight parameter and a second weight parameter. The first weight parameter and the error vector are input into the jitter compensation algorithm to obtain the jitter compensation signal; The error vector is input into the warp compensation algorithm to obtain the warp compensation signal; The target control signal is obtained by weighting the jitter compensation signal and the warpage compensation signal using the second weighting parameter.
[0007] Optionally, the step of inputting the first weight parameter and the error vector into the jitter compensation algorithm to obtain the jitter compensation signal includes: Acquire the feedforward signal, which is the control signal of the previous control cycle; The weight ratios of the displacement vector and distortion vector in the error vector are determined based on the first weight parameter, and the initial error signal is calculated based on the weight ratios. The initial error signal is corrected using the gain matrix to obtain the target error signal; The initial jitter compensation signal is obtained by calculating the target error signal as the signal increment and the feedforward signal. Obtain the convergence state and iteration number of the initial jitter compensation signal; When the initial jitter compensation signal satisfies the convergence state or the number of iterations reaches the upper limit, the initial jitter compensation signal is output as a jitter compensation signal.
[0008] Optionally, inputting the error vector into the warp compensation algorithm to obtain the warp compensation signal includes: A warping perturbation term is constructed using a nonlinear function and the distortion vector in the error vector. A displacement prediction function is constructed based on the warping disturbance term and the displacement vector in the error vector; A preset time period is obtained, and a prediction error sequence within the preset time period is generated based on the displacement prediction function; The prediction error sequence is input into the cost function and minimized to obtain the warpage compensation signal.
[0009] Optionally, the step of calculating the deviation between the feature parameters and the preset spot parameters to obtain an error vector includes: The centroid coordinates, frequency bandwidth, and shape parameters of the light spot region are obtained from the feature parameters. The difference between the centroid coordinate parameters and the centroid coordinate parameters in the preset spot parameters is calculated to obtain the planar displacement components. The difference between the frequency domain width parameter and the frequency domain width parameter in the preset spot parameters is calculated to obtain the axial displacement component. The planar displacement component and the axial displacement component are combined to obtain a displacement vector; The difference between the shape parameter and the shape parameter in the preset spot parameter is calculated to obtain the distortion vector; The error vector is obtained by combining the displacement vector and the distortion vector.
[0010] Optionally, the step of perturbing and classifying the error vector according to a preset rule to obtain a weight parameter combination, the weight parameter combination including a first weight parameter and a second weight parameter, including: Feature analysis is performed on the displacement vector and distortion vector in the error vector to obtain displacement change features and distortion change features; The disturbance type is determined based on the amplitude and frequency relationship between the displacement change characteristics and the distortion change characteristics. Based on the disturbance type, select the corresponding weight parameter combination from the preset parameter combination table to obtain the first weight parameter and the second weight parameter.
[0011] Optionally, after obtaining the target control signal by weighting the jitter compensation signal and the warp compensation signal using the second weighting parameter, the method further includes: The target control signal is decomposed into macro-motion signal and micro-motion signal; A pulse curve is generated based on the macro-motion signal, and the output voltage is determined based on the micro-motion signal; The macro control device is controlled according to the pulse curve, and the micro control device is controlled according to the output voltage.
[0012] Optionally, before perturbing and classifying the error vector according to preset rules to obtain the weight parameter combination, the method further includes: Kalman filtering is applied to the error vector to suppress the noise effect in the error vector.
[0013] A second aspect of this application provides a parallel processor, the parallel processor comprising: Data processing unit and image processing unit; The data processing unit is connected to the host computer, and the image processing unit is connected to the acquisition camera. The image processing unit feeds back its operating parameters to the data processing unit through a data interface, so that the operating parameters are displayed on the host computer in real time. The image processing unit includes a buffer, a detection module, and an output module; The buffer includes a first buffer and a second buffer, and the buffer is used to cache the image data fed back by the acquisition camera; The detection module is used to detect the error state of image data and calculate compensation signals, including jitter compensation signals and warpage compensation signals. The output module is used to convert the compensation signal into a target control signal for output.
[0014] Optionally, the image processing unit further includes a finite state machine, which is used to receive the frame synchronization signal fed back by the acquisition camera, and to perform a rotation check between the first buffer area and the second buffer area to confirm the target buffer area after a frame of image data is written.
[0015] Optionally, the detection module includes a feature extraction submodule and an algorithm control submodule. The feature extraction submodule is used to extract the error vector of the image data, and the algorithm control submodule is used to calculate a compensation signal based on the error vector.
[0016] Optionally, the output module is used to decompose the target control signal into pulse signals and voltage signals.
[0017] As can be seen from the above technical solutions, this application has the following advantages: By buffering and writing image data output from the acquisition camera in rotation and confirming the target buffer area based on the writing completion status, parallel acquisition and stable reading of image data are achieved. The current image data is isolated by spot regions and the feature parameters of the spot regions are confirmed. Then, the deviation between the feature parameters and the preset spot parameters is calculated to obtain an error vector. The error vector is perturbed and classified to obtain a weight parameter combination, so that the parameter configuration used under different perturbed states is targeted. The first weight parameter and the error vector are used to generate a jitter compensation signal. At the same time, the error vector is input into the warp compensation algorithm to generate a warp compensation signal. The two types of compensation signals are weighted and calculated by the second weight parameter to obtain the target control signal, thereby realizing the comprehensive correction of spot position deviation and shape deviation, improving imaging stability and control accuracy. Attached Figure Description
[0018] To more clearly illustrate the technical solutions in this application, the accompanying drawings used in the description of the embodiments will be briefly introduced below. Obviously, the accompanying drawings described below are only some embodiments of this application. For those skilled in the art, other drawings can be obtained based on these drawings without creative effort.
[0019] Figure 1 This is a schematic flowchart of an embodiment of the spot correction method based on a parallel processor in this application; Figure 2a This is a schematic flowchart of an embodiment of the spot correction method based on a parallel processor in this application; Figure 2b This is a schematic flowchart of an embodiment of the spot correction method based on parallel processor in this application. Figure 2c This is a schematic flowchart of an embodiment of the spot correction method based on a parallel processor in this application. Figure 3 This is a schematic diagram of an embodiment of the parallel processor in this application. Detailed Implementation
[0020] The technical solution described in this application will be further explained below with reference to specific embodiments. It should be noted that the steps of the method described in this application are not limited to being performed by a specific execution entity; they can be performed by a server, terminal device, embedded system, or other device with data processing capabilities, or collaboratively by processing units within the aforementioned devices. In this embodiment, for ease of explanation and understanding, a parallel processor is used as the execution entity of the method to describe the technical solution, but this description does not constitute a limitation on the scope of protection of this application.
[0021] Specifically, the parallel processor is used to uniformly schedule and control the acquisition camera, programmable logic devices, and the processor to collaboratively complete image acquisition, buffer management, and spot feature analysis. The parallel processor includes at least an acquisition camera, a Field Programmable Gate Array (FPGA), an ARM (Advanced RISC Machine) processor, and external memory. The acquisition camera is used to acquire spot image data, the FPGA is used to perform high-speed data reception, buffer control, and some image preprocessing, the ARM is used to execute control logic and upper-level algorithm scheduling, and the external memory is used to store image data and intermediate processing results.
[0022] The technical solutions of this application will be clearly and completely described below with reference to the accompanying drawings of the embodiments. Obviously, the described embodiments are only some embodiments of this application, and not all embodiments. Based on the embodiments of this application, all other embodiments obtained by those of ordinary skill in the art without creative effort are within the scope of protection of this application.
[0023] Please see Figure 1 This application first provides an embodiment of a spot correction method based on a parallel processor, which includes: S101. Receive image data output by the acquisition camera, and write the image data into the first buffer and the second buffer in turn according to the acquisition order of the image data; The parallel processor controls the camera to output spot image data and sends the image data to the FPGA for reception and processing. The parallel processor divides the external memory into a first buffer and a second buffer. The first buffer stores the image data of the current acquisition frame, and the second buffer stores the image data of the previous frame that has been written.
[0024] At any given time, the parallel processor writes only the image data of the current acquisition frame to the first buffer, while simultaneously providing the image data of the previous frame from the second buffer to the spot detection and feature extraction process. After the first buffer completes the writing of one frame of image data, the parallel processor controls the first and second buffers to exchange their functional roles, making the buffer that has completed the writing the new image reading buffer, and making the original image reading buffer the new image writing buffer.
[0025] By having the first and second buffers alternately handle the write and read functions, the parallel execution of image acquisition writing and image processing reading is achieved.
[0026] S102. Confirm the target cache based on the image data writing completion status, and read the image data from the target cache to obtain the current image data; The parallel processor periodically retrieves the write completion status flags for the first and second buffers. These flags indicate whether a complete frame of image data has been stored in the corresponding buffer. When the parallel processor detects that the write completion status flag for the first buffer is complete, it designates the first buffer as the target buffer. Similarly, when it detects that the write completion status flag for the second buffer is complete, it designates the second buffer as the target buffer. Because both buffers generate write completion status flags frame-by-frame, they will alternately generate these flags based on the order of the input images, allowing the parallel processor to identify the target buffer.
[0027] After the target buffer is determined, the parallel processor obtains the starting storage address and frame data length information corresponding to the target buffer, and reads the image data from the target buffer in line order or pixel order to form complete image data.
[0028] The parallel processor caches the image data read from the target cache into the internal processing cache and identifies this image data as the current image data for subsequent spot region isolation and feature parameter extraction processing.
[0029] S103. Use the maximum inter-class variance method to isolate the spot regions of the current image data; The parallel processor performs grayscale statistical analysis on the current image data, constructs the grayscale histogram corresponding to the current image data, and calculates the image segmentation threshold based on the maximum inter-class variance method.
[0030] Specifically, the parallel processor performs binarization processing on the current image data based on the segmentation threshold, classifying pixels with gray values greater than or equal to the segmentation threshold as foreground pixels, and pixels with gray values less than the segmentation threshold as background pixels, and determining the connected regions formed by the foreground pixels as spot regions.
[0031] After completing the isolation of the spot region, the parallel processor performs edge detection operations on the spot region, calculates the gradient of the spot region using the Sobel operator, and extracts the boundary contour information of the spot region, providing a boundary basis for subsequent calculation of spot feature parameters.
[0032] S104. Confirm the characteristic parameters of the light spot region; Based on the pixel distribution in the spot region, the parallel processor performs regional statistical analysis on the spot region, calculates the coordinate values of each pixel in the spot region in the image coordinate system, and calculates the centroid coordinates of the spot region according to the coordinate distribution of each pixel, which is used to represent the position of the spot in the imaging plane.
[0033] The parallel processor calculates the frequency bandwidth parameter corresponding to the spot region based on the grayscale distribution or spectral distribution of the spot region, which is used to represent the degree of diffusion of spot energy in the frequency domain.
[0034] The parallel processor performs geometric analysis on the spot region based on the boundary contour information of the spot region, calculates the area parameter of the spot region, and performs principal axis direction analysis on the spot region to obtain the principal axis length parameter of the spot region, which is used to represent the scale and morphological characteristics of the spot.
[0035] The parallel processor determines the centroid coordinate parameters and the shape parameters, including the area parameters and the principal axis length parameters, as the feature parameters of the spot region, and outputs the feature parameters of the spot region to the subsequent deviation calculation and error vector construction steps.
[0036] S105. Calculate the deviation between the feature parameters and the preset spot parameters to obtain the error vector; The parallel processor pre-stores preset spot parameters corresponding to the standard imaging state. The preset spot parameters are used to represent the reference characteristics of the ideal spot in terms of position and shape.
[0037] The parallel processor compares and calculates the spot region feature parameters obtained in step S104 with the corresponding preset spot parameters to obtain the difference information between each feature parameter at the current position and the reference state.
[0038] The parallel processor constructs an error vector based on the difference information corresponding to each feature parameter. The error vector is used to comprehensively represent the degree of deviation of the current spot from the reference spot in terms of spatial position and geometric shape.
[0039] The parallel processor uses the error vector as input data for subsequent perturbation classification and compensation calculations.
[0040] S106. The error vector is perturbed and classified according to a preset rule to obtain a weight parameter combination, the weight parameter combination including a first weight parameter and a second weight parameter. The parallel processor analyzes and processes the error vector obtained in step S105, and classifies the perturbation characteristics corresponding to the error vector according to the pre-set perturbation judgment rules.
[0041] The preset rules are used to describe the correspondence between different perturbation types and weight allocation methods. The parallel processor determines the weight parameter combination that matches the current perturbation type from the preset parameter combinations based on the perturbation classification results.
[0042] The parallel processor uses the determined weight parameter combination as the parameter input for the subsequent compensation algorithm. The first weight parameter is used to adjust the participation of jitter compensation related operations, and the second weight parameter is used to adjust the fusion ratio between the jitter compensation result and the warp compensation result.
[0043] S107. Input the first weight parameter and the error vector into the jitter compensation algorithm to obtain the jitter compensation signal; The parallel processor weights each component in the error vector based on a first weight parameter to obtain a weighted error signal representing the dynamic offset. The parallel processor performs iterative compensation calculations on the weighted error signal, generating compensation increments to offset the effects of dynamic disturbances, and updates the current compensation result based on these increments until the compensation result meets a preset convergence condition or reaches a preset number of iterations. The parallel processor then determines the compensation result that meets the conditions as the jitter compensation signal.
[0044] S108. Input the error vector into the warp compensation algorithm to obtain the warp compensation signal; The parallel processor constructs a predictive model based on the error vector to describe the characteristics of static or slowly varying deviations, and estimates the future trend of deviation changes based on the predictive model to obtain predicted deviation information. The parallel processor performs optimization calculations with the predicted deviation information as constraints to obtain the compensation result used to correct the static morphological deviation, and determines this compensation result as the warpage compensation signal.
[0045] It should be noted that the jitter compensation algorithm and the warpage compensation algorithm are executed synchronously after the weight parameter combination is determined by the parallel processor.
[0046] S109. The jitter compensation signal and the warp compensation signal are weighted and calculated using the second weighting parameter to obtain the target control signal.
[0047] The parallel processor performs a weighted fusion calculation on the jitter compensation signal and the warp compensation signal according to the following relationship: u=αu_jitter+(1 α)·u_warp Where u represents the target control signal, α represents the second weighting parameter with a value range of 0 to 1, u_jitter represents the jitter compensation signal, and u_warp represents the warp compensation signal.
[0048] The parallel processor adjusts the value of the second weighting parameter to change the proportion of jitter compensation signal and warpage compensation signal in the target control signal. When the value of the second weighting parameter is large, the proportion of jitter compensation signal in the target control signal increases, which enhances the compensation capability for dynamic disturbances; when the value of the second weighting parameter is small, the proportion of warpage compensation signal in the target control signal increases, which enhances the correction capability for static or slowly changing morphological deviations.
[0049] The parallel processor outputs the target control signal obtained by weighted fusion to the actuator control process, which is used to drive the controlled object to adjust its position or attitude.
[0050] This embodiment constructs a dual-buffer rotation mechanism to achieve parallel execution of image acquisition and writing and image processing and reading, avoiding read-write conflicts and improving the real-time performance and stability of image data processing. By combining the maximum inter-class variance method with an edge detection algorithm, adaptive isolation and reliable extraction of the spot region are achieved, improving the accuracy of spot feature parameter acquisition. Based on the perturbation classification and dynamic weight allocation mechanism of the error vector, jitter compensation and warpage compensation are weighted and fused, enabling the system to simultaneously take into account the correction requirements of dynamic perturbations and static deformations, thereby improving the spot correction accuracy and the overall robustness of the system.
[0051] Please see Figures 2a to 2c This application provides another embodiment of a spot correction method based on a parallel processor, which includes: S201. Receive image data output by the acquisition camera, and write the image data into the first buffer and the second buffer in turn according to the acquisition order of the image data; S202. Confirm the target cache based on the image data writing completion status, and read the image data from the target cache to obtain the current image data; S203. Use the maximum inter-class variance method to isolate the spot regions of the current image data; S204. Confirm the characteristic parameters of the light spot region; Steps S201 to S204 in this embodiment are similar to steps S101 to S104 in the previous embodiment, and will not be described in detail here.
[0052] S205. Obtain the centroid coordinate parameters, frequency domain width parameters, and shape parameters of the light spot region from the feature parameters; Specifically, the parallel processor extracts the centroid coordinate parameters of the spot region from the feature parameters of the spot region. The centroid coordinate parameters represent the center position of the spot in the imaging plane. The parallel processor performs frequency domain analysis on the spot region based on the current image data and calculates the frequency domain width parameter.
[0053] The parallel processor performs Fourier transform processing on the spot region in the current image data to obtain the distribution result of the spot region in the frequency domain, and calculates the width parameter of the spot after Fourier transform based on the frequency domain distribution result, which is used as the frequency domain width parameter. The frequency domain width parameter is used to represent the degree of diffusion of the spot in the frequency domain.
[0054] The parallel processor extracts the shape parameters of the spot region from the feature parameters of the spot region. The shape parameters are used to represent the area characteristics, principal axis length characteristics, and contour morphology characteristics of the spot region.
[0055] The parallel processor uses the centroid coordinate parameters, frequency domain width parameters, and shape parameters as inputs for subsequent displacement vector and distortion vector calculations.
[0056] S206. Calculate the difference between the centroid coordinate parameters and the centroid coordinate parameters in the preset spot parameters to obtain the planar displacement components. After acquiring the centroid coordinate parameters, the parallel processor simultaneously acquires the centroid coordinate parameters from the pre-stored preset spot parameters. These preset centroid coordinate parameters represent the center position of the reference spot in the imaging plane. In practice, before receiving image data output from the acquisition camera, a preliminary manual calibration is performed on the shooting structure to calibrate the preset spot parameters.
[0057] The parallel processor calculates the difference between the centroid coordinate parameters of the spot region in the horizontal and vertical directions and the preset centroid coordinate parameters, respectively, to obtain the horizontal displacement component and the vertical displacement component.
[0058] The parallel processor determines the horizontal and vertical displacement components as planar displacement components, which are used to represent the offset of the light spot relative to the reference position in the imaging plane.
[0059] S207. Calculate the difference between the frequency domain width parameter and the frequency domain width parameter in the preset spot parameters to obtain the axial displacement component; The parallel processor obtains the frequency domain width parameter from the pre-stored preset spot parameters. The preset frequency domain width parameter is used to represent the frequency domain width characteristics of the reference spot under ideal focusing conditions.
[0060] The parallel processor calculates the difference between the frequency domain width parameter and the preset frequency domain width parameter to obtain the frequency domain width difference. Then, based on a scaling factor, it performs a scaling transformation on the frequency domain width difference to obtain the axial displacement component. The axial displacement component represents the degree of offset of the light spot along the optical axis relative to the reference focal point position.
[0061] S208. Combine the planar displacement component with the axial displacement component to obtain a displacement vector; Specifically, the parallel processor denotes the horizontal displacement component as Δx, the vertical displacement component as Δy, and the axial displacement component as Δz, and concatenates them according to a unified coordinate system to form a displacement vector: V = [Δx, Δy, Δz]. The displacement vector is used to represent the overall offset of the light spot in space.
[0062] S209. Calculate the difference between the shape parameter and the shape parameter in the preset spot parameters to obtain the distortion vector; The parallel processor calculates the difference between the ellipticity parameter in the shape parameters and the ellipticity parameter in the preset shape parameters to obtain the ellipticity deviation, and records the ellipticity deviation as e. The parallel processor calculates the difference between the area parameter in the shape parameters and the area parameter in the preset shape parameters to obtain the area deviation, and records the area deviation as ΔA. The parallel processor calculates the difference between the principal axis direction parameter in the shape parameters and the principal axis direction parameter in the preset shape parameters to obtain the direction angle deviation, and records the direction angle deviation as Δθ.
[0063] The parallel processor combines the ellipticity deviation e, the area deviation ΔA, and the orientation angle deviation Δθ to form a distortion vector: D = [e, ΔA, Δθ]. The distortion vector is used to represent the degree of change in the spot shape relative to the reference state.
[0064] S210. Combine the displacement vector with the distortion vector to obtain the error vector; Specifically, the parallel processor concatenates the displacement vector V and the distortion vector D according to a preset dimensional order to form a unified error vector: E=[Δx, Δy, Δz, e, ΔA, Δθ] Where Δx, Δy, and Δz are the components of the displacement vector, and e, ΔA, and Δθ are the components of the distortion vector. The error vector is used to simultaneously represent the comprehensive deviation of the light spot from the reference light spot in both spatial position and geometric shape, and serves as the input for subsequent filtering and perturbation classification steps.
[0065] S211. Perform Kalman filtering on the error vector to suppress the noise effect in the error vector; The parallel processor takes the error vector E as the observation input of the Kalman filter, performs prediction update processing on each component of the error vector based on the pre-established error state model, obtains the predicted value of the error vector, and combines it with the observation error vector at the current time to correct and update the predicted value to obtain the filtered error vector.
[0066] During the filtering process, the parallel processor suppresses random fluctuations in the error vector caused by image acquisition noise, edge detection error, and calculation error, based on the preset process noise covariance matrix and measurement noise covariance matrix.
[0067] The parallel processor uses the error vector processed by Kalman filtering as a smoothed error vector and outputs the smoothed error vector to the subsequent displacement change feature and distortion change feature analysis steps.
[0068] S212. Perform feature analysis on the displacement vector and distortion vector in the error vector to obtain displacement change features and distortion change features; The parallel processor extracts the displacement vector components [Δx, Δy, Δz] and the distortion vector components [e, ΔA, Δθ] from the smoothed error vector E.
[0069] The parallel processor performs statistical analysis on the numerical changes of the displacement vector components over multiple consecutive control cycles, calculates the magnitude and rate of change of the displacement vector components, and uses this to form displacement change characteristics.
[0070] The parallel processor performs statistical analysis on the numerical changes of the distortion vector components over multiple consecutive control cycles, calculates the magnitude and rate of change of the distortion vector components, and uses this to form distortion change characteristics.
[0071] Displacement variation features are used to represent the intensity and rate of change of spot position offset, while distortion variation features are used to represent the intensity and rate of change of spot shape.
[0072] For example, when the parallel processor detects that |Δx| or |Δy| exhibits high-frequency fluctuation characteristics within a continuous control cycle, and the values of e, ΔA, and Δθ are close to zero or remain stable, the parallel processor includes these characteristics in the displacement change characteristics to represent changes in behavior dominated by position offset.
[0073] When the parallel processor detects that the value of e is greater than a preset threshold, or that ΔA and Δθ deviate continuously and change at a low frequency, the parallel processor includes this type of feature in the distortion change feature to represent change behavior that is mainly morphological.
[0074] S213. Determine the disturbance type based on the amplitude relationship and frequency relationship between the displacement change characteristics and the distortion change characteristics; Specifically, the parallel processor compares the magnitude of the displacement change feature with the magnitude of the distortion change feature, and also compares the frequency of the displacement change feature with the frequency of the distortion change feature.
[0075] When the amplitude and frequency of displacement change characteristics are large, while the amplitude of distortion change characteristics is small or close to stable, the parallel processor determines the current disturbance type as jitter-dominated disturbance. When the amplitude and frequency of distortion change characteristics are large, while the amplitude of displacement change characteristics is small or slow, the parallel processor determines the current disturbance type as warping-dominated disturbance.
[0076] S214. Select the corresponding weight parameter combination from the preset parameter combination table according to the disturbance type to obtain the first weight parameter and the second weight parameter. The parallel processor pre-stores the correspondence between perturbation types and weight parameter combinations, forming a preset parameter combination table.
[0077] The parallel processor searches a preset parameter combination table for a weight parameter combination that matches the current disturbance type based on the disturbance type. When the disturbance type is jitter-dominated, the parallel processor selects a weight parameter combination with a larger first weight parameter value and a weight parameter combination with a higher jitter compensation ratio corresponding to the second weight parameter. When the disturbance type is warpage-dominated, the parallel processor selects a weight parameter combination with a smaller first weight parameter value and a weight parameter combination with a higher warpage compensation ratio corresponding to the second weight parameter.
[0078] The parallel processor determines the parameters in the selected weight parameter combination as the first weight parameter and the second weight parameter, and outputs them to the subsequent jitter compensation calculation and warpage compensation calculation steps.
[0079] S215. Obtain the feedforward signal, wherein the feedforward signal is the control signal of the previous control cycle; The parallel processor reads the control signal output from the previous control cycle from the control signal storage unit. It uses this control signal as a feedforward signal, which serves as the initial reference input for compensation calculations in the current control cycle. The feedforward signal reflects the control results used by the system to compensate for disturbances in the previous control cycle, providing historical control information for subsequent error signal correction.
[0080] S216. Determine the weight ratio of the displacement vector and the distortion vector in the error vector according to the first weight parameter, and calculate the initial error signal according to the weight ratio; The parallel processor determines the weight ratio of the displacement vector in the error composition based on the first weight parameter, and determines the weight ratio of the distortion vector in the error composition based on the complementary relationship corresponding to the first weight parameter.
[0081] The parallel processor performs weighted calculations on the displacement vector component and the distortion vector component in the smoothed error vector, and combines the weighted results to obtain the initial error signal. The initial error signal is used to comprehensively represent the error state dominated by displacement change or morphological change under the current disturbance type.
[0082] S217. The initial error signal is corrected by the gain matrix to obtain the target error signal; The parallel processor acquires a pre-defined gain matrix, which describes the amplification or suppression ratio of each component of the error signal in the compensation calculation. The parallel processor performs matrix operations on the initial error signal and the gain matrix, weighting and correcting each component of the initial error signal to obtain the corrected error signal. The parallel processor then determines the corrected error signal as the target error signal and uses it as input for subsequent jitter compensation calculations.
[0083] Specifically, the target error signal Error(k) is represented as: Error(k)=w1[Δx, Δy, Δz]+w2·[e, ΔA, Δθ] Where w1 and w2 are the first weighting parameters, [Δx, Δy, Δz] are the displacement components in the error vector, and [e, ΔA, Δθ] are the distortion components in the error vector.
[0084] S218. Calculate the initial jitter compensation signal by using the target error signal as the signal increment and the feedforward signal; The parallel processor uses the target error signal as the compensation increment for the current control cycle and superimposes the compensation increment with the feedforward signal to calculate the compensation result for the current control cycle. The parallel processor then uses this compensation result as the initial jitter compensation signal. The initial jitter compensation signal represents the jitter compensation control quantity after correcting for the current error, based on the previous control result.
[0085] S219. Obtain the convergence state and iteration number of the initial jitter compensation signal; The parallel processor monitors the error changes corresponding to the initial jitter compensation signal and obtains the number of iterations for the current compensation calculation. Based on the magnitude of the target error signal's change within a continuous control cycle, the parallel processor determines whether the initial jitter compensation signal has entered a stable state and takes this stable state as the convergence state. Simultaneously, the parallel processor counts the number of iterations during the compensation calculation process to indicate the number of update rounds that have been executed.
[0086] S220. When the initial jitter compensation signal satisfies the convergence state or the number of iterations reaches the upper limit, the initial jitter compensation signal is output as a jitter compensation signal. When the parallel processor detects that the change amplitude of the target error signal is less than the preset threshold in multiple consecutive control cycles, it determines that the compensation calculation process corresponding to the initial jitter compensation signal has reached a stable state, and identifies this stable state as a convergence state.
[0087] When the parallel processor detects that the number of iterations executed in the compensation calculation process has reached a preset upper limit, it determines that the current compensation calculation process will no longer continue iterating. If convergence is achieved, the parallel processor determines the current initial jitter compensation signal as the jitter compensation signal. If the number of iterations reaches the upper limit, the parallel processor directly determines the current initial jitter compensation signal as the jitter compensation signal. This ensures the stability of the compensation calculation while avoiding infinite iterations, thus improving the real-time performance of the jitter compensation calculation.
[0088] S221. Construct a warping perturbation term using a nonlinear function and the distortion vector in the error vector; The parallel processor extracts the distortion vector component D from the smoothed error vector E. Based on the distortion vector component, the parallel processor constructs a warping perturbation term, which is used to represent the nonlinear perturbation effect caused by static deformation or slowly changing shape.
[0089] Parallel processors use nonlinear functions to map the distortion vector components, obtaining the warping perturbation term: d(k)=f(D(k))=f(e(k),ΔA(k),Δθ(k)) Where d(k) represents the warping perturbation term at time k, f(·) represents the nonlinear function, D(k) represents the distortion vector at time k, e(k) represents the ellipticity deviation, ΔA(k) represents the area deviation, and Δθ(k) represents the orientation angle deviation.
[0090] S222. Construct a displacement prediction function based on the warping disturbance term and the displacement vector in the error vector; The parallel processor reads pre-stored system model parameters, which represent the correspondence between the control input of the actuator and the changes in displacement state. Based on these parameters, a displacement prediction model is constructed. A displacement prediction function is then obtained, used to predict the evolution of the displacement state within future control cycles.
[0091] In the system model parameters, the state transition matrix A and the control input matrix B are pre-calibrated. The state transition matrix A is used to represent the natural evolution relationship of the displacement state between adjacent control cycles, and the control input matrix B is used to represent the influence relationship of the control input of the actuator on the displacement state.
[0092] The system model parameters are calibrated offline during the system calibration phase based on the structural and response characteristics of the actuators and stored in a parallel processor.
[0093] The parallel processor constructs the displacement prediction function as follows: x(k+1)=A·x(k)+B·u_warp(k)+d(k) Where x(k) represents the displacement state vector at time k, A represents the state transition matrix, B represents the control input matrix, u_warp(k) represents the warp compensation control input at time k, and d(k) represents the warp disturbance term at time k. The parallel processor initializes the displacement state vector as displacement vector components: x(k) = [Δx(k), Δy(k), Δz(k)] Where Δx(k), Δy(k), and Δz(k) represent the horizontal displacement component, the vertical displacement component, and the axial displacement component, respectively.
[0094] S223. Obtain a preset time period, and generate a prediction error sequence within the preset time period based on the displacement prediction function; The j-th prediction error e(j) in the prediction error sequence is composed of the difference between the predicted displacement state and the preset reference displacement state of the corresponding prediction step. The predicted displacement state is obtained by recursion from the displacement prediction function, and the preset reference displacement state is the displacement reference value corresponding to the ideal imaging conditions.
[0095] The parallel processor obtains a preset time period length N, and based on the displacement prediction function, recursively predicts the displacement state at the next N time moments to obtain a predicted displacement state sequence.
[0096] The parallel processor generates prediction error sequences e(1) to e(N) based on the predicted displacement state sequence. The prediction error sequence is used to represent the trend of deviation change within a preset time period in the future.
[0097] Where N represents the prediction time period length, e(j) represents the prediction error vector corresponding to the j-th prediction step, and the value of j ranges from 1 to N.
[0098] S224. The prediction error sequence is input into the cost function and minimized to obtain the warpage compensation signal; The parallel processor constructs a cost function using the prediction error sequence e(1) to e(N) as constraint information, and performs a minimization solution using the warp compensation control input sequence u_warp(1) to u_warp(N) as optimization variables to obtain the optimal warp compensation control result.
[0099] The cost function is constructed as follows: J=Σ[Q·||e(j)||²+R·||u_warp(j)||²], j=1…N Where J represents the cost function, Q represents the preset error weight matrix, R represents the preset control weight matrix, e(j) represents the prediction error vector corresponding to the j-th prediction step, u_warp(j) represents the warp compensation control input corresponding to the j-th prediction step, and N represents the prediction time period length.
[0100] The parallel processor obtains the warp compensation control input for correcting the effects of warp disturbances by minimizing the cost function J, and determines the warp compensation control input output in the current control cycle as the warp compensation signal u_warp.
[0101] S225. The jitter compensation signal and the warp compensation signal are weighted and calculated using the second weighting parameter to obtain the target control signal.
[0102] Step S225 in this embodiment is similar to step S109 in the previous embodiment, and will not be described in detail here.
[0103] S226. Decompose the target control signal into macro-motion signal and micro-motion signal; The parallel processor performs amplitude decomposition processing on the target control signal according to the preset step resolution and micro-motion resolution, dividing the target control signal into macro-motion signals for large stroke adjustment and micro-motion signals for fine compensation.
[0104] Macro signals are used to indicate the amount of displacement that needs to be completed by the macro actuator, while micro signals are used to indicate the small amount of displacement that needs to be completed by the micro actuator after the macro adjustment.
[0105] S227. Generate a pulse curve based on the macro-motion signal and determine the output voltage based on the micro-motion signal; The number of pulses and direction of motion are calculated based on the amplitude of the macro-motion signal, and a pulse curve is generated based on a preset acceleration and deceleration control strategy.
[0106] Pulse curves are used to represent the timing and frequency changes of pulse output during the motion of a macro actuator.
[0107] The parallel processor converts the micro-motion signal into a corresponding driving voltage value based on the amplitude of the micro-motion signal and a preset voltage gain parameter, and then determines the driving voltage value as the output voltage.
[0108] S228. Control the macro control device according to the pulse curve, and control the micro control device according to the output voltage.
[0109] The parallel processor sends the pulse curve to the macro-motion control device, which then controls the macro-motion control device to perform displacement adjustment according to the pulse curve. The parallel processor also sends the output voltage to the micro-motion control device, which then outputs a drive voltage of corresponding amplitude to achieve minute displacement compensation. Through the coordinated operation of the macro-motion control device and the micro-motion control device, precise execution of the displacement adjustment amount corresponding to the target control signal is achieved.
[0110] This embodiment achieves continuous acquisition and stable reading of image data through dual-buffered alternating writing combined with write completion status confirmation, providing reliable input for subsequent processing. By calculating the deviations of centroid coordinate parameters, frequency domain width parameters, and shape parameters from corresponding preset parameters, displacement vectors and distortion vectors are formed and combined into an error vector, providing a unified representation of positional and morphological deviations. Kalman filtering is applied to the error vector to suppress the influence of noise on the error components and improve data reliability. The disturbance type is determined based on the change characteristics of the displacement and distortion vectors, and a first weight parameter and a second weight parameter are selected from the parameter combination table to make the compensation strategy targeted. A jitter compensation signal is generated using the first weight parameter, and a warp compensation signal is generated based on the error vector. The two types of compensation signals are then weighted and fused using the second weight parameter to obtain the target control signal. Finally, the target control signal is decomposed into macro-motion signals and micro-motion signals to drive the actuator, achieving fine adjustment of the focus state, thereby improving imaging stability and control accuracy.
[0111] The above provides a detailed description of the spot correction method based on a parallel processor in the embodiments of this application. The parallel processor will be described in detail below.
[0112] Please see Figure 3 This application provides an embodiment of a parallel processor, which includes: Data processing unit 1 and image processing unit 2; The data processing unit 1 is connected to the host computer 3, and the image processing unit 2 is connected to the acquisition camera 4. The image processing unit 2 feeds back its operating parameters to the data processing unit 1 through a data interface, so that the operating parameters are displayed in real time on the host computer 3. The image processing unit 2 includes a buffer 21, a detection module 22, and an output module 23; The buffer includes a first buffer 211 and a second buffer 212, wherein the buffer 21 is used to buffer the image data fed back by the acquisition camera 4; The detection module 22 is used to detect the error state of the image data and calculate the compensation signal, which includes a jitter compensation signal and a warpage compensation signal. The output module 23 is used to convert the compensation signal into a target control signal for output.
[0113] In this embodiment, the detection module 22 includes a feature extraction submodule 221 and an algorithm control submodule 222. The feature extraction submodule 221 is used to extract the error vector of the image data, and the algorithm control submodule 222 is used to calculate the compensation signal based on the error vector.
[0114] In this embodiment, the output module 23 is used to decompose the target control signal into pulse signals and voltage signals.
[0115] In this embodiment, the parallel processor has two computing cores: an ARM-SOC corresponding to data processing unit 1 and an FPGA corresponding to image processing unit 2. An embedded Linux operating system is established on the data processing unit 1. The application layer is mainly composed of data processing unit 1, the kernel layer is the connection interface between data processing unit 1 and host computer 3 and image processing unit 2, and the physical layer is composed of image processing unit 2 and acquisition camera 4.
[0116] Specifically, the Linux system installs the drivers for the PCIe (PCI Express, high-speed serial computer expansion bus) and Ethernet hardware modules, i.e., the network card drivers, so that the Linux application layer can recognize the PCIe and Ethernet hardware modules to generate the device node dev / corresponding to image processing unit 2. The data processing unit 1 is connected to the image processing unit 2 and the host computer 3 via the PCIe hardware module interface 13 and the Ethernet communication hardware module interface 14, respectively. The data processing unit 1 is the PCIe host, and the image processing unit 2 is the PCIe endpoint. The two achieve high-speed bidirectional data interaction through the PCIe bus.
[0117] Among them, the device node dev / of image processing unit 2 This is used to set parameters for specific modules in image processing unit 2 and to complete mmap (memory map), mapping kernel-level user virtual addresses to physical addresses in cache 21, enabling application-level access to image data on the FPGA. The network interface eth0 registered by the Ethernet driver will be used to configure Ethernet MAC address, PHY mode, and transmission speed parameters to achieve Ethernet communication with host computer 3; specific details are not limited here.
[0118] The Linux application layer of data processing unit 1 is configured with an application layer image buffer 11 (U_buffer) and an application layer network transmission buffer 12 (M_buffer). The application layer image buffer 11 obtains the image data and module output information stored in the buffer 21 of image processing unit 2 through mmap memory mapping. The application layer network transmission buffer 12 allocates memory space through malloc memory allocation to cache the image data and working parameters to be transmitted to the host computer 3 through the eth0 network interface. The data is filled from the application layer image buffer to the application layer network transmission buffer through memcpy memory copy.
[0119] Image processing unit 2 communicates with acquisition camera 4 via Camera Link interface 25 and stores the acquired image data in buffer area 21 (including first buffer area 211 and second buffer area 212). Detection module 22 acquires image data from buffer area 21, performs spot detection and feature extraction on the image data, detects the error state of the image data, and calculates compensation signals, including jitter compensation signals and warpage compensation signals. Output module 23 converts the compensation signals into target control signals and outputs them to control external devices via SPI bus and PWM signals. The external devices include: a micro-motion drive unit 5 (micro-motion signal target device) that outputs signals to the DAC interface via SPI bus and a stepper motor drive unit 6 (macro-motion signal target device) that is controlled via PWM communication.
[0120] The image data acquired by the image acquisition module and the output information of the detection module 22 will be fed back to the application layer of the data processing unit 1 through the XDMA IP (Xilinx Direct Memory Access Intellectual Property, a high-performance configurable DMA controller IP core for PCIe bus) core 26.
[0121] The image data originally stored in cache 21 is mapped via virtual address mapping, allowing the Linux kernel layer to obtain the physical address of the image data in cache 21. Then, the image data in cache 21 is copied to the cache allocated by the application layer using mmap. The parameters of the detection module 22 are read through the device node in the application layer. The host computer 3 reads and displays the images and processed data through the Ethernet interface. In the Linux application layer, parameters such as data transmission scale, MAC address, and transmission speed are configured through the network stack interface eth0.
[0122] The network stack interface eth0, implemented at the application layer, copies data to the u_buffer buffer allocated by malloc (memcpy) using memcpy (memory copy), fills the data, and triggers transmission via APIs such as send(). The kernel layer is responsible for the encapsulation and scheduling of data packets and Ethernet frames, while the hardware performs the physical transmission.
[0123] In this embodiment, the image processing unit 2 further includes a finite state machine 24, which is used to receive the frame synchronization signal fed back by the acquisition camera 4, and after a frame of image data is written, to perform a rotation confirmation of the target buffer between the first buffer 211 and the second buffer 212.
[0124] The image processing unit 2 receives image data and frame synchronization signals from the acquisition camera 4 through the Camera Link interface 25, then transmits the data to the FIFO buffer (to prevent data burst overflow), and then writes the data to the buffer 21 which is currently in the write state.
[0125] Finite state machine 24 (FSM) is used to manage the read and write state switching of the buffer 21. The finite state machine receives the frame synchronization signal. When a single frame of image data is written, the finite state machine triggers the switching state according to the switching flag (Switch state) to complete the switching of the current writing target buffer (for example: the first buffer 211 switches from the write state to the read state, and the second buffer 212 switches from the read state to the write state).
[0126] The double-buffered structure is used for parallel execution of image acquisition and processing. Specifically, the image acquisition module writes image data to one sub-buffer of the buffer 21, while the downstream detection module 22 reads image data from the other sub-buffer of the buffer 21.
[0127] This embodiment achieves conflict-free parallel execution of image acquisition and processing through heterogeneous parallel processing of dual computing cores, combined with a dual buffer structure and precise FSM scheduling; it significantly improves the accuracy, stability and real-time performance of spot correction by weighted fusion adaptation of jitter and warp dual compensation algorithms to adapt to composite disturbances, while relying on the Linux system to achieve efficient real-time interaction with the host computer.
[0128] 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 an indirect coupling or communication connection between apparatuses or units through some interfaces, and may be electrical, mechanical, or other forms.
[0129] 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.
[0130] Furthermore, 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. The integrated unit can be implemented in hardware or as a software functional unit.
[0131] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it 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 all or part 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.
Claims
1. A spot correction method based on a parallel processor, characterized in that, The parallel processor includes: Data processing unit and image processing unit; The data processing unit is connected to the host computer, and the image processing unit is connected to the acquisition camera. The image processing unit feeds back its operating parameters to the data processing unit through a data interface, so that the operating parameters are displayed on the host computer in real time. The image processing unit includes a buffer, a detection module, and an output module; The buffer includes a first buffer and a second buffer, and the buffer is used to cache the image data fed back by the acquisition camera; The detection module is used to detect the error state of image data and calculate compensation signals, including jitter compensation signals and warpage compensation signals. The output module is used to convert the compensation signal into a target control signal for output. The spot correction method includes: Receive image data output by the acquisition camera, and write the image data into the first buffer and the second buffer in turn according to the acquisition order of the image data; The target cache is identified based on the completion status of the image data writing, and the image data is read from the target cache to obtain the current image data; The maximum inter-class variance method is used to isolate the spot regions of the current image data; Confirm the characteristic parameters of the light spot region; The deviation between the feature parameters and the preset spot parameters is calculated to obtain the error vector; The error vector is perturbed and classified according to a preset rule to obtain a weight parameter combination, which includes a first weight parameter and a second weight parameter. The first weight parameter and the error vector are input into the jitter compensation algorithm to obtain the jitter compensation signal; The error vector is input into the warp compensation algorithm to obtain the warp compensation signal; The target control signal is obtained by weighting the jitter compensation signal and the warpage compensation signal using the second weighting parameter.
2. The spot correction method according to claim 1, characterized in that, The step of inputting the first weight parameter and the error vector into the jitter compensation algorithm to obtain the jitter compensation signal includes: Acquire the feedforward signal, which is the control signal of the previous control cycle; The weight ratios of the displacement vector and distortion vector in the error vector are determined based on the first weight parameter, and the initial error signal is calculated based on the weight ratios. The initial error signal is corrected using the gain matrix to obtain the target error signal; The initial jitter compensation signal is obtained by calculating the target error signal as the signal increment and the feedforward signal. Obtain the convergence state and iteration number of the initial jitter compensation signal; When the initial jitter compensation signal satisfies the convergence state or the number of iterations reaches the upper limit, the initial jitter compensation signal is output as a jitter compensation signal.
3. The spot correction method according to claim 1, characterized in that, The step of inputting the error vector into the warp compensation algorithm to obtain the warp compensation signal includes: A warping perturbation term is constructed using a nonlinear function and the distortion vector in the error vector. A displacement prediction function is constructed based on the warping disturbance term and the displacement vector in the error vector; A preset time period is obtained, and a prediction error sequence within the preset time period is generated based on the displacement prediction function; The prediction error sequence is input into the cost function and minimized to obtain the warpage compensation signal.
4. The spot correction method according to claim 1, characterized in that, The step of calculating the deviation between the feature parameters and the preset spot parameters to obtain the error vector includes: The centroid coordinates, frequency bandwidth, and shape parameters of the light spot region are obtained from the feature parameters. The difference between the centroid coordinate parameters and the centroid coordinate parameters in the preset spot parameters is calculated to obtain the planar displacement components. The difference between the frequency domain width parameter and the frequency domain width parameter in the preset spot parameters is calculated to obtain the axial displacement component. The planar displacement component and the axial displacement component are combined to obtain a displacement vector; The difference between the shape parameter and the shape parameter in the preset spot parameter is calculated to obtain the distortion vector; The error vector is obtained by combining the displacement vector and the distortion vector.
5. The spot correction method according to claim 1, characterized in that, The error vector is perturbed and classified according to a preset rule to obtain a weight parameter combination, the weight parameter combination including a first weight parameter and a second weight parameter, including: Feature analysis is performed on the displacement vector and distortion vector in the error vector to obtain displacement change features and distortion change features; The disturbance type is determined based on the amplitude and frequency relationship between the displacement change characteristics and the distortion change characteristics. Based on the disturbance type, select the corresponding weight parameter combination from the preset parameter combination table to obtain the first weight parameter and the second weight parameter.
6. The method according to any one of claims 1 to 5, characterized in that, After obtaining the target control signal by weighting the jitter compensation signal and the warp compensation signal using the second weighting parameter, the method further includes: The target control signal is decomposed into macro-motion signal and micro-motion signal; A pulse curve is generated based on the macro-motion signal, and the output voltage is determined based on the micro-motion signal; The macro control device is controlled according to the pulse curve, and the micro control device is controlled according to the output voltage.
7. The spot correction method according to any one of claims 1 to 5, characterized in that, Before perturbating and classifying the error vector according to preset rules to obtain the weight parameter combination, the method further includes: Kalman filtering is applied to the error vector to suppress the noise effect in the error vector.
8. The spot correction method according to any one of claims 1 to 5, characterized in that, The image processing unit further includes a finite state machine, which is used to receive the frame synchronization signal fed back by the acquisition camera, and after a frame of image data is written, to perform a rotation check between the first buffer area and the second buffer area to confirm the target buffer area.
9. The spot correction method according to any one of claims 1 to 5, characterized in that, The detection module includes a feature extraction submodule and an algorithm control submodule. The feature extraction submodule is used to extract the error vector of the image data, and the algorithm control submodule is used to calculate the compensation signal based on the error vector.
10. The spot correction method according to any one of claims 1 to 5, characterized in that, The output module is used to decompose the target control signal into pulse signals and voltage signals.