Method and apparatus for determining peak power of a vcse array
By acquiring local images of the VCSEL array in stages and using a Siamese network and feature matching model for image stitching, the efficiency and accuracy issues of peak power calculation for large-area VCSEL chip arrays are solved, and efficient peak power determination is achieved.
Patent Information
- Application Number
- CN202411740550.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-11-28
- Publication Date
- 2025-11-11
- Estimated Expiration
- 2044-11-28
AI Technical Summary
Existing technologies lack an effective and fast method for calculating the peak power of large-area VCSEL chip arrays, which affects product optimization and quality improvement.
By acquiring local images of the VCSEL array in stages, using a Siamese network to extract feature information, and combining a feature matching model and the optimal stitching corner point set, image stitching is achieved and peak power is calculated.
It improves the accuracy and speed of VCSEL array peak power calculation, ensures high quality and accuracy of image processing, and supports product performance evaluation and optimization.
Smart Images

Figure CN119228797B_ABST
Abstract
Description
Technical Field
[0001] This application relates to the field of computer technology, and in particular to a method, apparatus, computer device, computer-readable storage medium, and computer program product for determining the peak power of a VCSEL array. Background Technology
[0002] Conventional VCSEL chip arrays are several hundred micrometers in size. However, in certain specialized applications, the size and shape of VCSEL chip arrays need to be customized. For example, VCSEL chip arrays used for linear laser scanning cutting can be over 5mm in length, while the aperture diameter is only tens of micrometers. 2D area VCSEL chip arrays used in solid-state lidar development have lengths and widths both exceeding 5mm, with aperture diameters of twenty to thirty micrometers. Peak power is a crucial indicator for evaluating the performance of such VCSEL chip arrays. Efficient, rapid, and accurate measurement of peak power is essential for optimizing design and improving product quality. However, currently, there is a lack of effective and rapid methods for calculating the peak power of such large-area VCSEL chip arrays. Summary of the Invention
[0003] Therefore, it is necessary to provide a method, apparatus, computer device, computer-readable storage medium, and computer program product for determining the peak power of a VCSEL array, which can improve the accuracy of VCSEL array peak power calculation, in response to the above-mentioned technical problems.
[0004] Firstly, this application provides a method for determining the peak power of a VCSEL array, including:
[0005] Multiple local images representing the overall appearance of the VCSEL array under test were acquired in stages.
[0006] The feature information contained in each of the local images is extracted; wherein the step of extracting the feature information of each of the local images includes: inputting any two local images into a Siamese network to solve for the similarity and difference information between them; and using the solution of the function as the feature information of each.
[0007] The feature information representing each of the local images is input into a feature matching model to determine the feature matching result of each of the local images;
[0008] Obtain the optimal set of stitched corner points for each of the local images;
[0009] Based on the feature matching results and the optimal stitching corner point set, the local images are stitched together to obtain a stitched image representing the VCSEL array under test;
[0010] The peak power of the VCSEL array under test is determined based on the stitched image.
[0011] Secondly, this application also provides a VCSEL array peak power determination device, comprising:
[0012] The image acquisition module is used to acquire multiple local images representing the overall view of the VCSEL array under test in stages;
[0013] The feature extraction module is used to extract feature information contained in each of the local images; wherein the step of extracting feature information from each of the local images includes: inputting any two local images into a Siamese network to solve for their similarity and difference information using a function; and using the function solution as their respective feature information.
[0014] The feature matching module is used to input the feature information representing each of the local images into a feature matching model to determine the feature matching result of each of the local images;
[0015] The acquisition module is used to acquire the optimal set of stitching corner points for each of the local images;
[0016] The stitching module is used to stitch together each of the local images according to the feature matching results and the optimal stitching corner point set to obtain a stitched image representing the VCSEL array under test;
[0017] The peak power determination module is used to determine the peak power of the VCSEL array under test based on the stitched image.
[0018] Thirdly, this application also provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to perform the following steps:
[0019] Multiple local images representing the overall appearance of the VCSEL array under test were acquired in stages.
[0020] The feature information contained in each of the local images is extracted; wherein the step of extracting the feature information of each of the local images includes: inputting any two local images into a Siamese network to solve for the similarity and difference information between them; and using the solution of the function as the feature information of each.
[0021] The feature information representing each of the local images is input into a feature matching model to determine the feature matching result of each of the local images;
[0022] Obtain the optimal set of stitched corner points for each of the local images;
[0023] Based on the feature matching results and the optimal stitching corner point set, the local images are stitched together to obtain a stitched image representing the VCSEL array under test;
[0024] The peak power of the VCSEL array under test is determined based on the stitched image.
[0025] Fourthly, this application also provides a computer-readable storage medium having a computer program stored thereon, which, when executed by a processor, performs the following steps:
[0026] Multiple local images representing the overall appearance of the VCSEL array under test were acquired in stages.
[0027] The feature information contained in each of the local images is extracted; wherein the step of extracting the feature information of each of the local images includes: inputting any two local images into a Siamese network to solve for the similarity and difference information between them; and using the solution of the function as the feature information of each.
[0028] The feature information representing each of the local images is input into a feature matching model to determine the feature matching result of each of the local images;
[0029] Obtain the optimal set of stitched corner points for each of the local images;
[0030] Based on the feature matching results and the optimal stitching corner point set, the local images are stitched together to obtain a stitched image representing the VCSEL array under test;
[0031] The peak power of the VCSEL array under test is determined based on the stitched image.
[0032] Fifthly, this application also provides a computer program product, including a computer program that, when executed by a processor, performs the following steps:
[0033] Multiple local images representing the overall appearance of the VCSEL array under test were acquired in stages.
[0034] The feature information contained in each of the local images is extracted; wherein the step of extracting the feature information of each of the local images includes: inputting any two local images into a Siamese network to solve for the similarity and difference information between them; and using the solution of the function as the feature information of each.
[0035] The feature information representing each of the local images is input into a feature matching model to determine the feature matching result of each of the local images;
[0036] Obtain the optimal set of stitched corner points for each of the local images;
[0037] Based on the feature matching results and the optimal stitching corner point set, the local images are stitched together to obtain a stitched image representing the VCSEL array under test;
[0038] The peak power of the VCSEL array under test is determined based on the stitched image.
[0039] The aforementioned method, apparatus, computer equipment, computer-readable storage medium, and computer program product for determining the peak power of a VCSEL array acquire multiple local images representing the overall picture of the VCSEL array under test in stages; this ensures that all important details of the VCSEL array under test can be captured, providing high-quality raw data for subsequent image processing.
[0040] The feature information contained in each of the local images is extracted; wherein, the step of extracting the feature information of each of the local images includes: inputting any two local images into a Siamese network to solve for the similarity and difference information between them; using the solution of the function as the feature information of each; using the Siamese network to solve for the similarity and difference information of any two local images. This method can not only improve the speed of feature extraction, but also enhance the accuracy of feature extraction, and is especially suitable for high-precision applications such as large-area VCSEL chip arrays.
[0041] The feature information representing each of the local images is input into a feature matching model to determine the feature matching result of each local image; through a specialized feature matching model, matching points between local images can be found more accurately, thereby improving the accuracy and reliability of image stitching.
[0042] Obtain the optimal stitching corner point set for each of the local images; the selection of the optimal stitching corner point set can minimize stitching errors and ensure that the stitched image more realistically reflects the actual condition of the VCSEL chip array.
[0043] Based on the feature matching results and the optimal stitching corner point set, the local images are stitched together to obtain a stitched image representing the VCSEL array under test. Guided by the feature matching results and the optimal stitching corner point set, high-precision image alignment is achieved, ensuring the quality of the stitched image and enabling the final image to accurately represent the entire VCSEL chip array.
[0044] The peak power of the VCSEL array under test is determined based on the stitched image. High-quality stitched images allow for more accurate calculation of the peak power of the VCSEL chip array, which is crucial for evaluating its performance and helps improve product quality and performance. Attached Figure Description
[0045] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments of this application or related technologies will be briefly introduced below. Obviously, the drawings described below are only some embodiments of this application. For those skilled in the art, other related drawings can be obtained based on these drawings without creative effort.
[0046] Figure 1 This is an application environment diagram of the VCSEL array peak power determination method in one embodiment;
[0047] Figure 2 This is a flowchart illustrating a method for determining the peak power of a VCSEL array in one embodiment.
[0048] Figure 3 This is a schematic diagram illustrating the implementation process of a method for determining the peak power of a VCSEL array in one embodiment;
[0049] Figure 4 This is a schematic diagram of the architecture of a VCSEL array peak power determination model in one embodiment;
[0050] Figure 5 This is a flowchart illustrating the method for determining the peak power of a VCSEL array in another embodiment;
[0051] Figure 6 This is a structural block diagram of a VCSEL array peak power determination device in one embodiment;
[0052] Figure 7 This is a structural block diagram of the VCSEL array peak power determination device in another embodiment;
[0053] Figure 8 This is an internal structural diagram of a computer device in one embodiment. Detailed Implementation
[0054] To make the objectives, technical solutions, and advantages of this application clearer, the following detailed description is provided in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are merely illustrative and not intended to limit the scope of this application.
[0055] The VCSEL array peak power determination method provided in this application embodiment can be applied to, for example... Figure 1In the application environment shown, terminal 102 communicates with server 104 via a network. A data storage system can store the data that server 104 needs to process. The data storage system can be integrated onto server 104 or placed in the cloud or on other network servers. Terminal 102 generates a VCSEL array peak power determination request and sends it to server 104, so that server 104 can determine the peak power of the VCSEL array under test based on the stitched image. Terminal 102 can be, but is not limited to, various personal computers, laptops, smartphones, tablets, IoT devices, and portable wearable devices. IoT devices can be smart speakers, smart TVs, smart air conditioners, smart in-vehicle devices, projection devices, etc. Portable wearable devices can be smartwatches, smart bracelets, head-mounted devices, etc. Head-mounted devices can be virtual reality (VR) devices, augmented reality (AR) devices, smart glasses, etc. Server 104 can be a standalone physical server, a server cluster or distributed system composed of multiple physical servers, or a cloud server providing cloud computing services.
[0056] In one exemplary embodiment, such as Figure 2 As shown, a method for determining the peak power of a VCSEL array is provided, which can be applied to... Figure 1 Taking server 104 as an example, the explanation includes the following steps 202 to 212. Wherein:
[0057] Step 202: Acquire multiple local images representing the overall appearance of the VCSEL array under test in stages.
[0058] The VCSEL array under test refers to an array composed of multiple VCSEL units, which can be VCSELs of the same or different specifications. In certain special applications, such as linear laser scanning cutting and solid-state lidar, the size and shape of the VCSEL array need to be customized, for example, the length can be more than 5 mm, and the diameter of the light-emitting aperture can range from tens to tens of micrometers. A local image refers to an image containing only a part of the VCSEL array under test, obtained by taking multiple shots with a camera (such as a CMOS image sensor or CCD camera). Due to limitations in camera resolution, magnification, and field of view, a single shot cannot cover the entire VCSEL array, so multiple shots are required, each yielding a local image. Each local image reflects a local area of the VCSEL array, and these local images need to be combined into a complete image using image stitching technology for subsequent analysis and processing.
[0059] Specifically, first, ensure the imaging equipment (such as a CMOS image sensor or CCD camera) is in optimal condition to acquire high-quality local images. Plan the camera's movement path and shooting position to ensure coverage of the entire VCSEL array under test. Then, acquire the first local image as a baseline for subsequent shots. Gradually capture images of other parts of the VCSEL array until the entire array is covered. Ensure all local images meet the required quality and coverage. Number, name, and save all captured local images in the shooting order, ensuring consistent file format for easy subsequent processing.
[0060] Step 204: Extract the feature information contained in each local image; wherein, the step of extracting the feature information of each local image includes: inputting any two local images into a Siamese network to solve for the similarity and difference information between them; and using the solution of the function as the feature information of each.
[0061] Siamese networks, in this context, refer to a special neural network architecture primarily used to compare the similarity or difference between two input samples. It consists of two sub-networks sharing weights, each processing one input sample and ultimately outputting feature representations of both samples. In this application, Siamese networks are used to compare the similarity and difference information between any two local images, thereby extracting feature information. Similarity refers to quantifying the degree of similarity between any two local images, helping to determine their relative positions and matching relationships during the stitching process. Difference information refers to identifying the different features between any two local images, helping to extract more discriminative feature information. The function solution results refer to the similarity and difference information between any two local images calculated by the Siamese network. These results serve as feature information for subsequent feature matching and image stitching. Feature information refers to important features extracted from local images that reflect the image content. The similarity and difference information calculated by the Siamese network are used as feature information for subsequent feature matching and image stitching.
[0062] Specifically, two images are first randomly or sequentially selected from existing local images. The selected images are ensured to have some overlap to facilitate subsequent feature matching and image stitching. Then, the two selected local images are input into two sub-networks of the Siamese network, respectively. The two sub-networks are ensured to share the same weights to improve computational efficiency and consistency of feature representations. Each sub-network of the Siamese network extracts multidimensional feature representations of the input images through multiple convolution and pooling operations. A similarity function (e.g., cosine similarity, Euclidean distance, etc.) is then used to calculate the similarity between the two images. For example, two feature vectors f1 and f2 are input into the similarity function to calculate their similarity S(f1, f2). A difference information function (e.g., absolute difference, squared difference, etc.) is used to calculate the difference information between the two local images. For example, the absolute difference D(f1, f2) = |f1-f2| is calculated between the two feature vectors f1 and f2. Finally, the similarity S(f1, f2) and the difference information D(f1, f2) are stored as feature information. Understandably, the above steps are repeated to calculate similarity and difference information for all local image pairs, generating feature information for each local image. The extracted feature information is then organized and stored to facilitate subsequent feature matching and image stitching.
[0063] Step 206: Input the feature information representing each local image into a feature matching model to determine the feature matching result of each local image.
[0064] Feature matching models are algorithms or models used to determine the correspondence between feature points in two images. They compare feature points in the images to find the best matching point pairs, thus aligning the images. In image stitching, feature matching models determine the matching relationships between multiple local images, ensuring they are correctly stitched together. Feature matching results refer to the matching point pairs and their matching quality output by the feature matching model. These results are used to determine the relative positions and alignment relationships between local images. For example, feature matching results include, but are not limited to: matching point pairs, matching quality, and inlier count. A matching point pair refers to a pair of corresponding feature points in two images, typically represented as a pair of coordinates (x1, y1) and (x2, y2). Matching quality refers to the quality score of each matching point pair, used to evaluate the reliability of the match. Common quality scoring metrics include Euclidean distance and cosine similarity. The inlier count refers to the number of feature point pairs that conform to the model, used to evaluate the robustness and accuracy of the model.
[0065] Specifically, first, a suitable feature matching model is selected based on actual needs and application scenarios. Common models include RANSAC, PROSAC, SIFT, and ORB. Model parameters, such as the number of iterations and thresholds, are then configured to optimize the matching effect. Next, the feature information of each local image is input into the feature matching model. It is ensured that the format of the input feature information is consistent with the model requirements. The feature matching model (such as RANSAC or PROSAC) processes the input feature information to find matching point pairs between each pair of local images. A list of matching point pairs is then generated, with each pair containing the coordinate information of two feature points.
[0066] Next, a quality score is calculated for each matching point pair using a quality scoring function (such as Euclidean distance or cosine similarity). Then, in algorithms like RANSAC, the optimal matching point pair is determined through model fitting and inlier count validation. For example, the RANSAC algorithm randomly selects some matching point pairs, fits a homography matrix, and calculates the number of inliers whose distance from the model is less than a threshold. Finally, the optimal matching point pair is selected based on the matching quality and the number of inliers. The final feature matching results are generated, including the matching point pairs and their quality scores. These results are then organized and stored for subsequent image stitching and processing.
[0067] Step 208: Obtain the optimal set of stitching corner points for each local image.
[0068] The optimal stitching corner set refers to the set of corner points determined by feature matching and optimization algorithms from multiple local images that enables the most accurate alignment of the images during stitching. These corner points typically possess high matching quality and robustness, effectively reducing stitching errors. Understandably, in this application, the optimal stitching corner set is used to guide the image registration and stitching process, ensuring that multiple local images can be seamlessly stitched into a complete image, thereby accurately representing the overall structure of the VCSEL array under test.
[0069] Specifically, the process begins by selecting high-quality matching point pairs from the feature matching results to ensure the reliability of subsequent processing. This includes setting a quality score threshold to select high-quality matching point pairs. Matching point pairs with quality scores higher than the threshold are selected from the feature matching results. The selected high-quality matching point pairs are saved to a new list. Next, outliers are removed, including selecting the pair with the highest quality score from the high-quality matching point pairs as initial point pairs. A homography matrix is fitted using the initial point pairs. The distance between all matching point pairs and the fitted model is calculated, and point pairs with distances less than the threshold are selected as inliers. The number of point pairs is gradually increased, continuously optimizing the model until the model with the most inliers is found. The model with the most inliers and its inlier set are saved. Finally, the corner point set is optimized, including using the least squares method to optimize the inlier set, making the distribution of inliers more uniform and reasonable. Gradient descent is used to optimize the inlier set, minimizing the error between the inliers and the model. The optimized inlier set is saved as the optimal stitching corner point set. The optimized inlier set is then organized according to image number and name and saved to a file, ensuring consistent file format for easy subsequent processing.
[0070] Step 210: Based on the feature matching results and the optimal stitching corner point set, stitch together each local image to obtain a stitched image representing the VCSEL array to be tested.
[0071] In this context, image stitching refers to merging multiple local images into a single, complete image using image stitching techniques. This image accurately represents the overall structure of the VCSEL array under test, ensuring good alignment and fusion between the various local images.
[0072] Specifically, the process begins with image registration, which involves calculating the homography matrix using matching point pairs from the optimal stitching corner set. Using the calculated homography matrix, each local image is geometrically transformed to align it with the other images. Next, the size of the stitched image is determined, including calculating the size based on the width of the input image and the size of the overlapping region. For example, the final image size is determined by calculating the bounding boxes of all local images. Then, the overlapping region is constructed based on the feature point matching results. The overlapping region is the common portion between the aligned local images. A weighting function, such as a linear weighting function or a Gaussian weighting function, is defined. This weighting function calculates the weight of each pixel based on its position. Finally, all the processed local images are merged into a single, complete image.
[0073] Step 212: Determine the peak power of the VCSEL array under test based on the stitched image.
[0074] Peak power refers to the maximum output power of a large-area VCSEL (vertical cavity surface emitter laser) chip array under specific conditions.
[0075] Specifically, the stitched image is first converted to a grayscale image. If the stitched image is already grayscale, this step can be skipped. Image processing software (such as OpenCV) is used to read the grayscale image and extract the grayscale value of each pixel. These grayscale values are stored in an array or matrix for subsequent processing. Then, the grayscale value array or matrix is traversed, and the sum of the grayscale values of all pixels in the stitched image is calculated, providing the basic data for power calculation. Finally, a mathematical model representing the relationship between grayscale values and received power is obtained, used to calculate the peak power. The calculated sum of grayscale values is substituted into the obtained mathematical model to calculate the peak power of the VCSEL array under test.
[0076] In one embodiment, the stitched images are subjected to a fade-in / fade-out weighted fusion process to obtain a fused image; the peak power of the VCSEL array under test is determined based on the fused image.
[0077] Among them, the fused image refers to a seamless, high-quality complete image generated by smoothly transitioning multiple local images through image fusion technology. This image can more accurately represent the overall picture of the VCSEL array under test.
[0078] Specifically, for each pixel, its weight within the overlapping region is first calculated. A weighted average is then used to fuse the pixel values in the overlapping region, calculated using the following formula:
[0079] I fused (x, y) = w (x, y) × I1 (x, y) + (1-w (x, y)) × I2 (x, y)
[0080] Among them, I fused (x, y) represents the merged pixel value, and I1(x, y) and I2(x, y) represent the pixel values of the two local images in the overlapping region, respectively.
[0081] Then merge all the processed local images into a single complete image. Ensure there are no obvious stitching marks and the image transitions are smooth and natural. Save the merged image to a file for subsequent processing.
[0082] Because fade-in / fade-out weighted blending ensures a smooth and natural transition in overlapping areas of the stitched images, it avoids obvious stitching marks and boundary effects. Furthermore, the weighted averaging method effectively reduces artifacts caused by stitching, such as inconsistent brightness and color deviations, thus improving the overall image quality.
[0083] In one embodiment, the grayscale value of each VCSEL channel in the fused image is obtained; the sum of grayscale values of the VCSEL array under test is obtained based on the grayscale values of each VCSEL channel; and the peak power of the VCSEL array under test is obtained based on the sum of grayscale values.
[0084] In this context, the grayscale value of each VCSEL channel refers to the grayscale value of the pixel region corresponding to each VCSEL unit (i.e., each VCSEL channel) in the fused image. These grayscale values reflect the luminous intensity of each VCSEL channel. Understandably, by obtaining the grayscale value of each VCSEL channel, we can gain a detailed understanding of the operating state and luminous intensity of each VCSEL unit, providing fundamental data for subsequent grayscale value summation calculations and peak power determination. The total grayscale value of the VCSEL array under test refers to the sum of the grayscale values of all VCSEL channels, resulting in the total grayscale value of the entire VCSEL array. This sum reflects the overall luminous intensity of the entire VCSEL array. Understandably, by calculating the total grayscale value, we can quantitatively evaluate the luminous performance of the entire VCSEL array, providing crucial data for peak power calculation.
[0085] Specifically, the fused image is first read using image processing software (such as OpenCV). Based on the design and layout of the VCSEL array, the position of each VCSEL channel in the fused image is determined. For example, assume the position information of the VCSEL channels is stored in a list. The position of each VCSEL channel is iterated, and the grayscale value of the corresponding region is extracted. Then, the grayscale values of all VCSEL channels are summed to obtain the total grayscale value. Using a defined mathematical model, the sum of grayscale values is substituted to calculate the peak power of the VCSEL array under test. For example, there is a linear relationship between peak power and the sum of grayscale values; the peak power of the VCSEL array under test is calculated using the following formula:
[0086] P = k × G + C
[0087] Where k is a scaling factor, representing the efficiency factor of the camera's photosensitive material in converting the acquired energy into grayscale values; C is a perturbation term constant used to account for the influence of other imaging factors on the image; G is the sum of grayscale values; and P is the peak power of the VCSEL array under test.
[0088] By extracting the grayscale value of each VCSEL channel, data integrity and reliability are ensured, avoiding overall measurement errors caused by anomalies in individual channels. The calculation of the sum of grayscale values ensures data consistency, reducing the impact of inconsistencies in local image quality. Furthermore, based on the sum of grayscale values, a mathematical model is used to calculate peak power, allowing for a more accurate evaluation of the VCSEL array's performance.
[0089] In one embodiment, a subset of feature points is randomly selected from the feature information, and multiple feature points in the subset are output to an initial matching model for iterative training. The initial matching model generates matching point pairs corresponding to each feature point in the subset, each pair containing two matching feature points. For each matching pair, the Euclidean distance between the two matching feature points is determined. Based on the Euclidean distance between the two matching feature points, the quality of the matching pair is determined. Target matching pairs with quality less than a preset quality threshold are identified from the multiple matching pairs. If the number of target matching pairs is less than or equal to the preset matching pair threshold, the initial matching model is optimized. Multiple feature points from the randomly selected subset of feature points in the feature information are continued to be input to the optimized matching model for iterative training until the number of target matching pairs determined by the optimized matching model exceeds the preset matching pair threshold, at which point the iterative training stops, and the matching model obtained after stopping the iterative training is used as the feature matching model.
[0090] In this context, a subset of feature points refers to a randomly selected portion of feature points from all feature points. These feature points are used to train and optimize the feature matching model. Understandably, selecting a subset of feature points for training reduces computational complexity and improves training efficiency. The initial matching model refers to the preliminary model used to generate feature point matching pairs. It can be a simple matching algorithm, such as nearest neighbor matching or SIFT matching. In this application, the initial matching model is used to generate preliminary matching point pairs, providing a foundation for subsequent optimization. A matching point pair is a pair generated by the initial matching model that contains two mutually matching feature points. The two feature points in each matching point pair are considered to correspond to the same physical location in different images. In this application, matching point pairs are used to evaluate the quality of feature matching, ensuring the accuracy of image alignment. A preset quality threshold is a set value used to evaluate the quality of matching point pairs. Euclidean distance is typically used as the standard for quality evaluation. In this application, by using a preset quality threshold, high-quality matching point pairs can be selected, while low-quality matching point pairs can be excluded, improving matching accuracy. Similarly, a preset matching pair threshold is a set value used to determine the number of matching point pairs that meet the quality requirements. The model is considered complete when the number of matching point pairs meeting the quality requirements reaches or exceeds this threshold. In this application, the preset matching pair threshold is used to control the termination condition of model training, ensuring that the model stops training after reaching a certain matching quality. The feature matching model refers to the final model obtained after optimization and training, used to generate high-quality matching point pairs to ensure the accuracy of image alignment. In this application, the feature matching model is used in practical applications to match new feature points, generate high-quality matching point pairs, and ensure the accuracy of image stitching and registration.
[0091] Specifically, firstly, a subset of feature points is randomly selected from all feature points to form a feature point subset. This subset is then input into the initial matching model to generate preliminary matching point pairs. Iterative training is performed to gradually optimize the matching model. Next, the initial matching model is used to generate matching point pairs for each feature point, and the Euclidean distance between the two feature points in each matching point pair is calculated. A preset quality threshold is set to filter out high-quality matching point pairs. Another preset matching pair threshold is set to determine if the number of high-quality matching point pairs reaches the threshold. If the threshold is not reached, the initial matching model continues to be optimized. The feature point subset is then input into the optimized matching model for iterative training. Training stops when the number of generated high-quality matching point pairs exceeds the preset matching pair threshold.
[0092] By setting a preset quality threshold, the generated matching point pairs are ensured to meet the required quality, while low-quality matching point pairs are excluded. Furthermore, by setting a preset matching pair threshold, the number of high-quality matching point pairs generated is ensured to meet the requirements, improving the reliability of the matching. During training, the model is dynamically adjusted based on the quality and quantity of matching point pairs to ensure the model is always in an optimal state. Setting reasonable stopping conditions avoids overtraining and improves the model's generalization ability.
[0093] In one embodiment, each local image is converted into a grayscale image; the overlapping group sparse total variation algorithm is used to process each grayscale image to eliminate the staircase artifacts in each grayscale image.
[0094] The Overlapping Group Sparse Total Variation Algorithm is an image processing technique primarily used to remove noise and artifacts from images while preserving edge details. This algorithm combines sparse representation and total variation regularization, enabling it to maintain the structural features of the image while removing noise. Step artifacts refer to the unnatural, stepped or jagged edges that appear at image edges during image processing, particularly in denoising and deblurring, due to algorithm limitations.
[0095] Specifically, each local image is read using an image processing library (such as OpenCV). Each color image is converted to grayscale. Then, the parameters of the overlapping group sparsity total variation algorithm are set, such as the weights of total variation regularization, the dictionary of sparse representation, the block size, and the overlap size. The grayscale image is divided into overlapping blocks (or groups). Sparse representation and total variation regularization are applied to each block. The processed blocks are then reassembled into a complete image, i.e., the denoised grayscale image.
[0096] The overlapping group sparse total variation algorithm effectively removes noise from images, improving the signal-to-noise ratio. While removing noise and artifacts, this algorithm also preserves image details and structural features well, enhancing the visual quality. Removing noise and artifacts reduces false matching of feature points, improving the quality of matched point pairs.
[0097] In one embodiment, any two local images are input into two encoders for multiple convolution and pooling processes to obtain two multidimensional feature vectors; the two multidimensional feature vectors are input into two comparison networks to obtain two one-dimensional feature vectors; and the two one-dimensional feature vectors are fed into a fully connected layer to solve for the activation function.
[0098] The encoder, a crucial component of the Siamese network, is responsible for converting the input image into a multi-dimensional feature vector. It typically consists of multiple convolutional and pooling layers. Through convolution and pooling, the encoder extracts high-level features of the image, such as edges, textures, and shapes. The multi-dimensional feature vector, the output of the encoder, is a high-dimensional vector containing multi-level feature information of the input image. In this application, the multi-dimensional feature vector is used to capture the complex features of the image, providing a foundation for subsequent feature comparison. The comparison network, another important component of the Siamese network, is responsible for converting the multi-dimensional feature vector into a one-dimensional feature vector. It typically consists of multiple fully connected layers and activation functions. Through these layers, the comparison network further extracts and compresses feature information, generating a one-dimensional feature vector. The one-dimensional feature vector, processed by the comparison network, is a low-dimensional vector containing high-level feature information of the input image. In this application, the one-dimensional feature vector is used to capture the high-level features of the image, providing a foundation for subsequent similarity and difference calculations. A fully connected layer is a layer in a neural network where each neuron is connected to all neurons in the previous layer. Fully connected layers are typically used for further feature extraction and classification. In Siamese networks, fully connected layers are used to merge two one-dimensional feature vectors and solve for activation functions to calculate the similarity and difference information between two images.
[0099] Specifically, firstly, two local images are read using an image processing library (such as PyTorch). An encoder containing multiple convolutional and pooling layers is predefined. The two local images are input into two identical encoders respectively, extracting multi-dimensional feature vectors. Then, a comparison network containing multiple fully connected layers and activation functions is predefined. The two multi-dimensional feature vectors are input into two identical comparison networks respectively, extracting one-dimensional feature vectors. Finally, a fully connected layer containing multiple fully connected layers and activation functions is predefined. The two one-dimensional feature vectors are concatenated into a longer vector. A non-linear transformation using the fully connected layer and activation functions is then applied to generate the final similarity or difference information.
[0100] Through multiple convolutional and pooling processes by the encoder, multi-level features of the image, such as edges, textures, and shapes, can be extracted. These high-level features are crucial for subsequent similarity and difference calculations. By comparing the fully connected layers and activation functions of the network, multi-dimensional feature vectors can be compressed into one-dimensional feature vectors. This not only reduces the dimensionality of the features but also preserves the most important feature information. Finally, through fully connected layers and activation functions, a non-linear transformation can be performed on the two one-dimensional feature vectors to generate the final similarity or difference information. This step can capture the complex relationships between features, improving the accuracy of similarity and difference information.
[0101] In one embodiment, for any two consecutive convolutional processes in multiple convolutional processes, channel attention processing is performed on the feature vector obtained after the first convolutional process in the two consecutive convolutional processes by using preset channel weight parameters to obtain a channel feature vector representation; spatial attention processing is performed on the channel feature vector representation by using preset spatial weight parameters to obtain a spatial feature vector representation.
[0102] The preset channel weight parameters refer to a set of predefined weight values used to weight features from different channels in the channel attention mechanism. These weight parameters highlight important channel features and suppress unimportant ones, thereby improving the accuracy and robustness of feature representation. The channel feature vector representation refers to the feature vector obtained after channel attention processing, where each channel's feature is assigned a different weight. Channel feature vector representation can better capture the important information of each channel in the feature map, improving the feature representation capability. The preset spatial weight parameters refer to a set of predefined weight values used to weight features at different locations in the spatial attention mechanism. In this application, these weight parameters highlight important spatial regions and suppress unimportant ones, thereby improving the accuracy and robustness of feature representation. The spatial feature vector representation refers to the feature vector obtained after spatial attention processing, where each feature at each location is assigned a different weight. Spatial feature vector representation can better capture the important information at each location in the feature map, improving the feature representation capability.
[0103] Specifically, firstly, multiple consecutive convolutional layers, channel attention modules, and spatial attention modules are predefined. Optionally, the channel attention modules and spatial attention modules are placed between every two consecutive convolutional layers, and the size and depth of the multiple consecutive convolutional layers increase sequentially. Then, taking two consecutive convolutional layers as an example, the input image is input into the first convolutional layer. Channel attention processing is performed on the feature vector after the first convolution using preset channel weight parameters. Finally, spatial attention processing is performed on the channel feature vector representation using preset spatial weight parameters to obtain the final spatial feature vector representation.
[0104] By applying channel attention to the feature vectors using preset channel weight parameters, important channel features can be highlighted while unimportant ones are suppressed. This helps the model better capture key information in the image and improves the accuracy of feature representation. Furthermore, by applying spatial attention to the channel feature vector representations using preset spatial weight parameters, important spatial regions can be highlighted while unimportant ones are suppressed. This helps the model better focus on key regions in the image, further improving the accuracy of feature representation.
[0105] In one embodiment, corner detection is performed on each local image to obtain a spliced corner point set representing the edge features of each local image; each spliced corner point set is filtered to obtain the optimal spliced corner point set.
[0106] The stitched corner point set refers to a group of corner points obtained by corner detection of local images. These corner points can characterize the edge features and structural information of the image. In this application, the stitched corner point set is used for subsequent image stitching and registration to help determine the relative positions and alignment methods between images. The optimal stitched corner point set refers to the set of most representative and stable corner points retained after filtering the stitched corner point set. These corner points can more accurately characterize the edge features of the image and have higher reliability and accuracy in image stitching and registration. In this application, the optimal stitched corner point set is used to improve the accuracy and stability of image stitching and reduce the impact of mismatches and noise.
[0107] Specifically, each local image is first read using an image processing library (such as OpenCV). Corner detection algorithms are then used to extract corners from the local images, forming a stitched corner set. Next, filtering criteria are predefined, such as corner response values, distribution density, and edge features. Finally, filtering is applied to remove redundant and unstable corners, retaining the most representative and stable corners to form the optimal stitched corner set.
[0108] By filtering, the most representative and stable corner points are retained, further improving the accuracy of the stitching and reducing the impact of mismatches and noise. Furthermore, filtering removes redundant and unstable corner points, reducing the computational load in subsequent processing and improving computational efficiency.
[0109] In one embodiment, multiple candidate pixels are obtained in each local image; a test geometry is constructed using the multiple candidate pixels, and the gray value of the pixel located at the center of the test geometry is determined; if the difference between the gray value of an adjacent candidate pixel and the gray value of the pixel located at the center of the test geometry is greater than a preset threshold, then the splicing corner point set of the edge features of each local image is determined based on the pixel located at the center of the test geometry.
[0110] In this context, candidate pixels refer to pixels that may become corners in a local image. These pixels are typically edges or feature points in the image. In this application, candidate pixels are used for further corner detection and verification to determine which pixels are true corners. A test geometry is a geometric shape constructed around a candidate pixel to detect whether the pixel is a corner. Common test geometries include squares, circles, or other polygons. By using the test geometry, the grayscale changes around the candidate pixel can be evaluated to determine whether the pixel is a corner. A preset threshold is a pre-set value used to determine whether the difference in grayscale value between the candidate pixel and the center pixel on the test geometry is large enough to determine if the pixel is a corner. In this application, the preset threshold is used to filter out candidate pixels with insignificant grayscale changes and retain pixels with significant grayscale changes as corners.
[0111] Specifically, the process begins by reading local images and using edge detection or gradient calculation to initially screen potential corner points as candidate pixels. Next, a test geometry is constructed to evaluate the grayscale changes around each candidate pixel, including building a test geometry around each candidate pixel (e.g., a 3x3 square). The grayscale value of the pixel at the center of the test geometry is then obtained. Finally, candidate pixels with insignificant grayscale changes are filtered out using a preset threshold, retaining true corner points. This involves checking the difference between the grayscale values of adjacent candidate pixels on the test geometry and the grayscale value of the center pixel. If the difference is greater than the preset threshold, the center pixel is considered a corner point and added to the stitched corner point set. Through these steps, a stitched corner point set representing edge features in each local image can be effectively obtained.
[0112] By using preliminary screening and grayscale difference analysis, unnecessary calculations are reduced, improving computational efficiency. Furthermore, by testing the grayscale difference on geometric shapes, true corner points can be identified more accurately, reducing false positives and false negatives. High-quality corner points reduce the probability of mismatches, improve image stitching quality, and avoid obvious stitching marks and unnatural transitions during the stitching process.
[0113] In one embodiment, based on the pixel values corresponding to each of the multiple stitching corner points, the derivatives in the horizontal and vertical directions of each of the multiple stitching corner points are determined; a derivative product map is obtained using the derivatives in the horizontal and vertical directions of each of the multiple stitching corner points; based on the derivative product map and corner point response conditions, the corner point response function value corresponding to each of the multiple stitching corner points is determined; based on the local regions where each of the multiple stitching corner points is located and their corresponding corner point response function values, the stitching corner point corresponding to the maximum corner point response function value in each local region is determined; a preset corner point threshold is obtained, and the optimal stitching corner point set is determined based on the stitching corner points in each local region whose maximum corner point response function value is greater than the preset corner point threshold.
[0114] In image stitching, corner points are key points used to align two or more images. These points are typically locations with unique features in the image, such as edge intersections or areas with significant texture changes, and they play a role in localization during the stitching process. A derivative product map is a graph obtained by calculating the derivatives of the corner points in the horizontal and vertical directions and multiplying these derivatives. This graph reflects the gradient changes around each corner point, helping to determine which corner points are truly useful for stitching. Corner response criteria are the standards used to judge whether a point is suitable as a stitching corner point. Factors such as the stability and uniqueness of the corner point are usually considered. For example, a good corner point should have significant intensity changes in its neighborhood, meaning that the pixel values around the point vary considerably. This can be evaluated by calculating the corner response function value. The corner response function value is a quantitative indicator used to measure the quality of a point as a corner point. It is usually calculated based on the changes in pixel values around the point, such as by calculating the product of the derivatives of the point in different directions to reflect its likelihood of being a corner point. A higher corner response function (CRF) value indicates a better quality corner. The preset corner threshold is a standard value used when selecting the best stitching corner. Only when a point's CRF value exceeds this threshold is it considered a valid stitching corner. Setting an appropriate threshold helps filter out high-quality corners and eliminate weak corners that may cause mismatches. A local region refers to a small area in the image surrounding each candidate corner. Within this region, the CRF value is calculated to determine the best corner. The maximum CRF value is calculated by comparing the CRF values of all candidate corners within each local region; the point with the highest CRF value is considered the most likely to be a valid stitching corner. This is because a high CRF value indicates that the point has strong features suitable for image stitching.
[0115] Specifically, firstly, for each stitching corner, the horizontal and vertical derivatives of the corner are calculated. Optionally, this can be achieved by calculating the difference between adjacent pixel values. Then, the product of the horizontal and vertical derivatives at each stitching corner is calculated, forming a derivative product map. Understandably, the derivative product map reflects the gradient change at each stitching corner. Then, based on the derivative product map and corner response conditions (such as the corner response function in Harris corner detection), the corner response function value for each stitching corner is calculated using the following formula:
[0116] Where M is the derivative product matrix, det(M) is the determinant of matrix M, trace(M) is the trace of matrix M, k is a small constant (usually between 0.04 and 0.06), and R is the corner response function value.
[0117] Next, within each local region, the stitching corner with the maximum corner response function value is found. This step typically involves non-maximum suppression, meaning that if a point's corner response function value is not the maximum value within its local region, it is excluded. Finally, stitching corners with maximum corner response function values greater than a preset corner threshold in each local region are selected to form the optimal stitching corner set. The entire process aims to select the most suitable corners from multiple candidate stitching corners for image stitching and registration. By calculating derivatives, generating derivative product maps, calculating corner response function values, determining the maximum response value in local regions, and finally selecting the optimal stitching corner set, the accuracy and robustness of the stitching results are ensured.
[0118] By calculating the derivatives of each stitched corner point in both the horizontal and vertical directions, the gradient changes around the corner can be reflected more accurately. The derivative product map further integrates information from both the horizontal and vertical directions, making corner detection more sensitive and accurate. Using corner response function values (such as the R-value in Harris corner detection) can effectively distinguish between true and non-corner points. By using non-maximum suppression (NMS) to filter out the maximum response value within a local region, false positives and false negatives can be reduced, ensuring that the detected corner points are truly salient points.
[0119] In one embodiment, reference Figure 3 The image fusion process for large-area VCSELs is divided into image acquisition, image preprocessing, feature point extraction, image registration, and image fusion, specifically including the following steps:
[0120] Step 1: Acquire images of the VCSEL chip using a CMOS image sensor or CCD camera through panning. Step 2: Preprocessing is necessary to improve image fusion quality, as the captured images may contain noise. Step 3: Feature point extraction is performed using an improved Siamese Network. Siamese Networks allow two inputs to share weights, facilitating efficient similarity finding between images. Step 4: Image registration is performed using an improved ORB algorithm. This process involves detecting corners using a FAST corner detector, measuring corners using the Harris operator, applying ANMS (Adaptive Non-Maximum Suppression) filtering, and finally using an improved PROSAC algorithm for image registration. Step 5: A fade-in / fade-out weighted fusion algorithm is used to fuse multiple images together, resulting in a smoother and more natural transition.
[0121] In one embodiment, reference Figure 4 The ResNet-50 network structure with the addition of the CBAM (Convolutional Block Attention Module) is an improvement on the original ResNet-50, enhancing the network's ability to focus on and capture features. Specifically, it includes:
[0122] Initialize the ResNet-50 model: Initialize the standard ResNet-50 model, which is a deep neural network with 50 layers and is widely used in image recognition tasks. It solves the gradient vanishing problem in deep networks by introducing residual blocks and is able to better capture the hierarchical features of images.
[0123] Adding a CBAM module: A CBAM module is inserted between the convolutional blocks (conv2_x, conv3_x, conv4_x, conv5_x) of the ResNet-50. The CBAM module consists of two parts: Channel Attention (CA) and Spatial Attention (SA). The Channel Attention module compresses the input feature map through global average pooling and max pooling operations, and then computes importance weights for each channel through fully connected layers. These weights are applied to the original feature map to enhance the feature representation of important channels. The Spatial Attention module first performs convolutional operations on the input feature map, and then computes importance weights for each spatial location through fully connected layers. These weights are also applied to the original feature map to enhance the feature representation of important locations, ultimately resulting in a feature map that includes features of important channels and spatial locations.
[0124] Feature training: After convolution and pooling operations, the network outputs a feature map that reflects the extracted feature information.
[0125] Training: Finally, the improved ResNet-50 model is trained based on the dataset (training set, test set, validation set).
[0126] In one exemplary embodiment, such as Figure 5 As shown, steps 502 to 518 are included. Wherein:
[0127] Step 502: Acquire multiple local images representing the overall appearance of the VCSEL array under test in stages;
[0128] Step 504: Convert each local image into a grayscale image; use the overlapping group sparse total variation algorithm to process each grayscale image to eliminate the step artifacts in each grayscale image.
[0129] Step 506: Extract the feature information contained in each local image; wherein the step of extracting the feature information of each local image includes: inputting any two local images into two encoders for multiple convolution and pooling processes to obtain two multi-dimensional feature vectors; inputting the two multi-dimensional feature vectors into two comparison networks to obtain two one-dimensional feature vectors; feeding the two one-dimensional feature vectors into a fully connected layer for activation function solving; using the function solution results as their respective feature information; for any two consecutive convolution processes in the multiple convolution processes, using preset channel weight parameters, performing channel attention processing on the feature vector obtained after the first convolution process in the targeted two consecutive convolution processes to obtain a channel feature vector representation; performing spatial attention processing on the channel feature vector representation using preset spatial weight parameters to obtain a spatial feature vector representation;
[0130] Step 508: Randomly select a subset of feature points from the feature information, and output multiple feature points from the subset to the initial matching model for iterative training; generate matching point pairs corresponding to each feature point in the subset through the initial matching model, each matching point pair including two mutually matched feature points; for each matching pair, determine the Euclidean distance between the two mutually matched feature points in the matching point pair; determine the quality of the matching point pair based on the Euclidean distance between the two mutually matched feature points in the matching point pair; identify target matching pairs with quality less than a preset quality threshold among multiple matching pairs; if the number of target matching pairs is less than or equal to the preset matching pair threshold, optimize the initial matching model; continue to input multiple feature points from the randomly selected subset of feature points in the feature information into the optimized matching model for iterative training until the number of target matching pairs determined by the optimized matching model is greater than the preset matching pair threshold, then stop iterative training, and use the matching model obtained after stopping iterative training as the feature matching model;
[0131] Step 510: Input the feature information representing each local image into a feature matching model to determine the feature matching result of each local image;
[0132] Step 512: Obtain multiple candidate pixels in each local image; construct a test geometry using the multiple candidate pixels, and determine the grayscale value of the pixel located at the center of the test geometry; if the difference between the grayscale value of an adjacent candidate pixel and the grayscale value of the pixel located at the center of the test geometry is greater than a preset threshold, then determine the splicing corner point set of the edge features of each local image based on the pixel located at the center of the test geometry; determine the position of each splicing corner point in the horizontal direction based on the pixel values corresponding to each of the multiple splicing corner points. The derivatives in the horizontal and vertical directions are used to obtain a derivative product map. Based on the derivative product map and corner response conditions, the corner response function values corresponding to each of the multiple splicing corner points are determined. Based on the local regions where the multiple splicing corner points are located and their corresponding corner response function values, the splicing corner point corresponding to the maximum corner response function value in each local region is determined. A preset corner threshold is obtained, and the optimal splicing corner point set is determined based on the splicing corner points whose maximum corner response function value in each local region is greater than the preset corner threshold.
[0133] Step 514: Based on the feature matching results and the optimal stitching corner point set, stitch together each local image to obtain a stitched image representing the VCSEL array to be tested;
[0134] Step 516: Perform a fade-in / fade-out weighted fusion process on the stitched image to obtain a fused image; the peak power of the VCSEL array under test is determined based on the fused image;
[0135] Step 518: Obtain the grayscale value of each VCSEL channel in the fused image; obtain the sum of grayscale values of the VCSEL array under test based on the grayscale values of each VCSEL channel; obtain the peak power of the VCSEL array under test based on the sum of grayscale values.
[0136] In summary, this application provides a method for directly calculating the peak power of a large-area VCSEL array by fusing images. On the other hand, it employs an improved deep learning network to achieve image stitching and fusion. Compared with traditional image stitching algorithms, this application can automatically extract features from images and learn how to effectively match and fuse features from different images through training, thereby improving computational speed, reducing the complexity of manually designed feature descriptors, and improving the accuracy, real-time performance, precision, and quality of image stitching.
[0137] It should be understood that although the steps in the flowcharts of the above embodiments are shown sequentially according to the arrows, these steps are not necessarily executed in the order indicated by the arrows. Unless explicitly stated herein, there is no strict order restriction on the execution of these steps, and they can be executed in other orders. Moreover, at least some steps in the flowcharts of the above embodiments may include multiple steps or multiple stages. These steps or stages are not necessarily completed at the same time, but can be executed at different times. The execution order of these steps or stages is not necessarily sequential, but can be performed alternately or in turn with other steps or at least some of the steps or stages of other steps.
[0138] Based on the same inventive concept, this application also provides a VCSEL array peak power determination device for implementing the VCSEL array peak power determination method described above. The solution provided by this device is similar to the implementation described in the above method; therefore, the specific limitations in one or more chip peak power testing device embodiments provided below can be found in the limitations of the VCSEL array peak power determination method described above, and will not be repeated here.
[0139] In one exemplary embodiment, such as Figure 6 As shown, a VCSEL array peak power determination device 600 is provided, including: an image acquisition module 602, a feature extraction module 604, a feature matching module 606, an acquisition module 608, a stitching module 610, and a peak power determination module 612, wherein:
[0140] Image acquisition module 602 is used to acquire multiple local images representing the overall view of the VCSEL array under test in stages;
[0141] The feature extraction module 604 is used to extract the feature information contained in each local image; wherein, the steps for extracting the feature information of each local image include: inputting any two local images into a Siamese network to solve for the similarity and difference information between them; and using the solution of the function as the feature information of each local image.
[0142] The feature matching module 606 is used to input the feature information representing each local image into a feature matching model to determine the feature matching result of each local image;
[0143] Module 608 is used to obtain the best set of stitching corner points for each local image;
[0144] The stitching module 610 is used to stitch together the local images according to the feature matching results and the best stitching corner point set to obtain a stitched image representing the VCSEL array under test;
[0145] Peak power determination module 612 is used to determine the peak power of the VCSEL array under test based on the stitched image.
[0146] In one embodiment, the VCSEL array peak power determination device further includes a fade-in / fade-out weighted fusion module 614, which performs fade-in / fade-out weighted fusion processing on the stitched image to obtain a fused image; the peak power of the VCSEL array under test is determined based on the fused image.
[0147] In one embodiment, the peak power determination module 612 is used to obtain the grayscale value of each VCSEL channel in the fused image; obtain the sum of grayscale values of the VCSEL array under test based on the grayscale values of each VCSEL channel; and obtain the peak power of the VCSEL array under test based on the sum of grayscale values.
[0148] In one embodiment, the VCSEL array peak power determination device further includes a feature matching model construction module 616, which is used to randomly select a subset of feature points from the feature information, output multiple feature points in the feature point subset to an initial matching model for iterative training; generate matching point pairs corresponding to each of the multiple feature points in the feature point subset through the initial matching model, wherein each matching point pair includes two mutually matched feature points; for each matching pair, determine the Euclidean distance between the two mutually matched feature points in the targeted matching point pair; determine the quality of the targeted matching point pair based on the Euclidean distance between the two mutually matched feature points in the targeted matching point pair; determine target matching pairs with quality less than a preset quality threshold among multiple matching pairs; if the number of target matching pairs is less than or equal to the preset matching pair threshold, optimize the initial matching model; continue to input multiple feature points from the randomly selected feature point subset in the feature information to the optimized matching model for iterative training until the number of target matching pairs determined by the optimized matching model is greater than the preset matching pair threshold, and stop iterative training, and use the matching model obtained after stopping iterative training as the feature matching model.
[0149] In one embodiment, the VCSEL array peak power determination device further includes a grayscale processing module 618, which is used to convert each local image into a grayscale image; and to process each grayscale image using an overlap group sparsity total variation algorithm to eliminate the step artifacts of each grayscale image.
[0150] In one embodiment, the feature extraction module 604 is used to input any two local images into two encoders for multiple convolution and pooling processes to obtain two multidimensional feature vectors; input the two multidimensional feature vectors into two comparison networks to obtain two one-dimensional feature vectors; and feed the two one-dimensional feature vectors into a fully connected layer for activation function solving.
[0151] In one embodiment, the feature extraction module 604 is used to perform channel attention processing on the feature vector obtained after the first convolution process in any two consecutive convolution processes in multiple convolution processes, by using preset channel weight parameters, to obtain a channel feature vector representation; and to perform spatial attention processing on the channel feature vector representation by using preset spatial weight parameters, to obtain a spatial feature vector representation.
[0152] In one embodiment, the acquisition module 608 is used to perform corner detection on each local image to obtain a spliced corner set representing the edge features of each local image; and to filter each spliced corner set to obtain the optimal spliced corner set.
[0153] In one embodiment, the acquisition module 608 is used to acquire multiple candidate pixels in each local image; construct a test geometry using the multiple candidate pixels, and determine the gray value of the pixel located at the center of the test geometry; if the difference between the gray value of an adjacent candidate pixel and the gray value of the pixel located at the center of the test geometry is greater than a preset threshold, then the splicing corner point set of the edge features of each local image is determined based on the pixel located at the center of the test geometry.
[0154] In one embodiment, the acquisition module 608 is configured to: determine the derivatives of each of the multiple stitching corner points in the horizontal and vertical directions based on the pixel values corresponding to each of the multiple stitching corner points; obtain a derivative product map using the derivatives of each of the multiple stitching corner points in the horizontal and vertical directions; determine the corner response function value corresponding to each of the multiple stitching corner points based on the derivative product map and the corner response condition; determine the stitching corner point corresponding to the maximum corner response function value in each local region based on the local region where each of the multiple stitching corner points is located and its corresponding corner response function value; acquire a preset corner threshold; and determine the optimal stitching corner point set based on the stitching corner points in each local region whose maximum corner response function value is greater than the preset corner threshold.
[0155] In another embodiment, such as Figure 7 As shown, Figure 7 Here is a structural block diagram of a VCSEL array peak power determination device 600 in another embodiment, including: an image acquisition module 602, a feature extraction module 604, a feature matching module 606, an acquisition module 608, a stitching module 610, a peak power determination module 612, a fade-in / fade-out weighted fusion module 614, a feature matching model construction module 616, and a grayscale processing module 618, wherein:
[0156] The fade-in / fade-out weighted fusion module 614 is used to perform fade-in / fade-out weighted fusion processing on the stitched image to obtain a fused image; the peak power of the VCSEL array under test is determined based on the fused image.
[0157] The feature matching model construction module 616 is used to randomly select a subset of feature points from the feature information, output multiple feature points from the feature point subset to the initial matching model for iterative training; generate matching point pairs corresponding to each feature point in the feature point subset through the initial matching model, each matching point pair including two mutually matched feature points; for each matching pair, determine the Euclidean distance between the two mutually matched feature points in the target matching point pair; determine the quality of the target matching point pair based on the Euclidean distance between the two mutually matched feature points in the target matching point pair; identify target matching pairs with quality less than a preset quality threshold among multiple matching pairs; if the number of target matching pairs is less than or equal to the preset matching pair threshold, optimize the initial matching model; continue to input multiple feature points from the randomly selected feature point subset in the feature information into the optimized matching model for iterative training until the number of target matching pairs determined by the optimized matching model is greater than the preset matching pair threshold, then stop iterative training, and use the matching model obtained after stopping iterative training as the feature matching model.
[0158] The grayscale processing module 618 is used to convert each local image into a grayscale image; the overlapping group sparse total variation algorithm is used to process each grayscale image to eliminate the step artifacts of each grayscale image.
[0159] Each module in the aforementioned chip peak power testing device can be implemented entirely or partially through software, hardware, or a combination thereof. These modules can be embedded in the processor of a computer device in hardware form or independent of it, or stored in the memory of a computer device in software form, so that the processor can call and execute the operations corresponding to each module.
[0160] In one exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be as follows: Figure 8As shown, this computer device includes a processor, memory, input / output (I / O) interfaces, and a communication interface. The processor, memory, and I / O interfaces are connected via a system bus, and the communication interface is also connected to the system bus via the I / O interfaces. The processor provides computational and control capabilities. The memory includes non-volatile storage media and internal memory. The non-volatile storage media stores the operating system, computer programs, and a database. The internal memory provides the environment for the operation of the operating system and computer programs in the non-volatile storage media. The database stores data related to VCSEL array peak power determination. The I / O interfaces are used for information exchange between the processor and external devices. The communication interface is used for communication with external terminals via a network connection. When executed by the processor, the computer program implements a method for determining the peak power of a VCSEL array.
[0161] Those skilled in the art will understand that Figure 8 The structure shown is merely a block diagram of a portion of the structure related to the present application and does not constitute a limitation on the computer device to which the present application is applied. Specific computer devices may include more or fewer components than those shown in the figure, or combine certain components, or have different component arrangements.
[0162] In one exemplary embodiment, a computer device is also provided, including a memory and a processor, wherein the memory stores a computer program, and the processor executes the computer program to implement the steps in the above-described method embodiments.
[0163] In one embodiment, a computer-readable storage medium is provided having a computer program stored thereon that, when executed by a processor, implements the steps in the above method embodiments.
[0164] In one embodiment, a computer program product is provided, including a computer program that, when executed by a processor, implements the steps in the above method embodiments.
[0165] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties, and the collection, use and processing of the relevant data must comply with relevant regulations.
[0166] Those skilled in the art will understand that all or part of the processes in the methods of the above embodiments can be implemented by a computer program instructing related hardware. The computer program can be stored in a non-volatile computer-readable storage medium. When executed, the computer program can include the processes of the embodiments of the above methods. Any references to memory, databases, or other media used in the embodiments provided in this application can include at least one of non-volatile memory and volatile memory. Non-volatile memory can include read-only memory (ROM), magnetic tape, floppy disk, flash memory, optical memory, high-density embedded non-volatile memory, resistive random access memory (ReRAM), magnetic random access memory (MRAM), ferroelectric random access memory (FRAM), phase change memory (PCM), graphene memory, etc. Volatile memory can include random access memory (RAM) or external cache memory, etc. By way of illustration and not limitation, RAM can take many forms, such as Static Random Access Memory (SRAM) or Dynamic Random Access Memory (DRAM). The databases involved in the embodiments provided in this application may include at least one type of relational database and non-relational database. Non-relational databases may include, but are not limited to, blockchain-based distributed databases. The processors involved in the embodiments provided in this application may be general-purpose processors, central processing units, graphics processing units, digital signal processors, programmable logic devices, quantum computing-based data processing logic devices, artificial intelligence (AI) processors, etc., and are not limited to these.
[0167] The technical features of the above embodiments can be combined in any way. For the sake of brevity, not all possible combinations of the technical features in the above embodiments are described. However, as long as there is no contradiction in the combination of these technical features, they should be considered to be within the scope of this application.
[0168] The above embodiments are merely illustrative of several implementation methods of this application, and their descriptions are relatively specific and detailed. However, they should not be construed as limiting the scope of this application. It should be noted that those skilled in the art can make various modifications and improvements without departing from the concept of this application, and these all fall within the protection scope of this application. Therefore, the protection scope of this application should be determined by the appended claims.
Claims
1. A method for determining the peak power of a VCSEL array, characterized in that, The method includes: Multiple local images representing the overall appearance of the VCSEL array under test were acquired in stages. The feature information contained in each of the local images is extracted; wherein the step of extracting the feature information of each of the local images includes: inputting any two local images into a Siamese network to solve for the similarity and difference information between them; and using the solution of the function as the feature information of each. The feature information representing each of the local images is input into a feature matching model to determine the feature matching result of each of the local images; Obtain the optimal set of stitched corner points for each of the local images; Based on the feature matching results and the optimal stitching corner point set, the local images are stitched together to obtain a stitched image representing the VCSEL array under test; The peak power of the VCSEL array under test is determined based on the stitched image; The method further includes: The stitched image is subjected to a fade-in / fade-out weighted fusion process to obtain a fused image; the peak power of the VCSEL array under test is determined based on the fused image; Determining the peak power of the VCSEL array under test based on the fused image includes: Obtain the grayscale value of each VCSEL channel in the fused image; The sum of gray values of the VCSEL array under test is obtained based on the gray values of each VCSEL channel. The peak power of the VCSEL array under test is obtained based on the sum of the gray values. The feature information is a set of multiple feature point subsets, and each feature point subset includes multiple feature points; the method for constructing the feature matching model includes: Randomly select a subset of feature points from the feature information, and output multiple feature points from the subset of feature points to the initial matching model for iterative training; The initial matching model generates matching point pairs corresponding to multiple feature points in the feature point subset, and each matching point pair includes two mutually matching feature points. For each matching pair, determine the Euclidean distance between the two matching feature points in the matching point pair. The quality of the target matching point pair is determined based on the Euclidean distance between two matching feature points in the target matching point pair; among multiple matching pairs, target matching pairs with quality less than a preset quality threshold are identified; if the number of target matching pairs is less than or equal to the preset matching pair threshold, the initial matching model is optimized. Multiple feature points from the randomly selected feature point subset in the feature information are input into the optimized matching model for iterative training until the number of target matching pairs determined by the optimized matching model is greater than the preset matching pair threshold. The iterative training is then stopped, and the matching model obtained after stopping the iterative training is used as the feature matching model. Before extracting the feature information contained in each local image, the following steps are also included: Each of the aforementioned local images is converted into a grayscale image; An overlapping group sparse total variation algorithm is used to process each grayscale image to eliminate the staircase artifacts in each grayscale image.
2. The method for determining the peak power of a VCSEL array according to claim 1, characterized in that, The step of inputting any two local images into a Siamese network to solve for their similarity and difference information using a function is as follows: include: Two local images are input into two encoders respectively and subjected to multiple convolution and pooling processes to obtain two multidimensional feature vectors. Two multidimensional feature vectors are input into two comparison networks respectively to obtain two one-dimensional feature vectors; Two one-dimensional feature vectors are fed into a fully connected layer to solve for the activation function.
3. The method for determining the peak power of a VCSEL array according to claim 2, characterized in that, The method further includes: For any two consecutive convolutional processes in multiple convolutional processes, channel attention processing is performed on the feature vector obtained after the first convolutional process in any two consecutive convolutional processes by using preset channel weight parameters, so as to obtain the channel feature vector representation. By using preset spatial weight parameters, spatial attention processing is applied to the channel feature vector representation to obtain a spatial feature vector representation.
4. The method for determining the peak power of a VCSEL array according to claim 1, characterized in that, The step of obtaining the optimal stitching corner point set for each of the local images includes: Corner detection is performed on each of the local images to obtain a spliced corner set representing the edge features of each local image; Each splicing corner point set is filtered to obtain the optimal splicing corner point set.
5. The method for determining the peak power of a VCSEL array according to claim 4, characterized in that, The step of performing corner detection on each of the local images to obtain a spliced corner set representing the edge features of each local image includes: Obtain multiple candidate pixels in each of the local images; A test geometry is constructed using the multiple candidate pixels, and the grayscale value of the pixel located at the center of the test geometry is determined. If the difference between the gray value of an adjacent candidate pixel and the gray value of the pixel at the center of the test geometry is greater than a preset threshold, then the splicing corner point set of each local image edge feature is determined based on the pixel at the center of the test geometry.
6. The method for determining the peak power of a VCSEL array according to claim 4, characterized in that, The step of filtering each splicing corner point set to obtain the optimal splicing corner point set includes: Based on the pixel values corresponding to each of the multiple splicing corner points, determine the derivatives of each of the multiple splicing corner points in the horizontal direction and the derivatives in the vertical direction. A derivative product diagram is obtained by taking the derivatives of each of the multiple splicing corner points in the horizontal and vertical directions. Based on the derivative product diagram and the corner response conditions, determine the corner response function values corresponding to each of the multiple spliced corner points; Based on the local regions where the multiple splicing corner points are located and their corresponding corner point response function values, determine the splicing corner point corresponding to the maximum corner point response function value in each local region; Obtain a preset corner threshold, and determine the optimal splicing corner set based on the splicing corners in each local region whose maximum corner response function value is greater than the preset corner threshold.
7. A VCSEL array peak power determination device, used to execute the VCSEL array peak power determination method according to claim 1, characterized in that, include: The image acquisition module is used to acquire multiple local images representing the overall view of the VCSEL array under test in stages; The feature extraction module is used to extract feature information contained in each of the local images; wherein the step of extracting feature information from each of the local images includes: inputting any two local images into a Siamese network to solve for their similarity and difference information using a function; and using the function solution as their respective feature information. The feature matching module is used to input the feature information representing each of the local images into a feature matching model to determine the feature matching result of each of the local images; The acquisition module is used to acquire the optimal set of stitching corner points for each of the local images; The stitching module is used to stitch together each of the local images according to the feature matching results and the optimal stitching corner point set to obtain a stitched image representing the VCSEL array under test; The peak power determination module is used to determine the peak power of the VCSEL array under test based on the stitched image.
Citation Information
Patent Citations
Real-time monitoring method for large-size laser faculae
CN102721467A
Feature optimization-based unmanned aerial vehicle remote sensing image splicing method
CN114897705A
Image registration method and device and storage medium
CN117523226A