VCSEL array peak power determination method and device

By acquiring and splicing the local images of the VCSEL array in batches, using twin networks and feature matching models, the problem of peak power measurement of large-area VCSEL chip arrays is solved, high-precision and fast peak power calculation are achieved, and product quality is improved.

CN119228797AActive Publication Date: 2024-12-31ZHEJIANG EAGLE SEMICON TECH CO LTD
View PDF 13 Cites 0 Cited by

Patent Information

Application Number
CN202411740550.7
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-28
Publication Date
2024-12-31
Estimated Expiration
2044-11-28

AI Technical Summary

Technical Problem

The prior art lacks effective and fast methods to measure peak power of large-area VCSEL chip arrays, affecting product optimization and quality improvement.

Method used

By obtaining multiple local images of the VCSEL array in batches, the feature information is extracted using the twin network, the feature matching model determines the image matching result, obtains the best stitching corner point set, realizes image stitching, and calculates the peak power based on the stitching image.

Benefits of technology

It improves the calculation accuracy and speed of peak power of VCSEL arrays, and is suitable for large-area VCSEL chip arrays with high precision requirements, ensuring the accuracy and quality of image stitching, helping to evaluate chip performance and improve product quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119228797A_ABST
    Figure CN119228797A_ABST
Patent Text Reader

Abstract

The invention relates to a VCSEL array peak power determination method and device, computer equipment, a computer readable storage medium and a computer program product. The method comprises the following steps: acquiring a plurality of local images representing the full view of a VCSEL array to be detected in batches; inputting any two local images into a twin network so as to carry out function solution on similarity and difference information of the two local images; function solving results are used as respective feature information; inputting the feature information representing each local image into a feature matching model to determine a feature matching result of each local image; obtaining an optimal splicing angular point set of each local image; splicing the local images according to the feature matching result and the optimal splicing corner point set to obtain a spliced image representing the VCSEL array to be detected; and determining the peak power of the VCSEL array to be measured according to the spliced image. By adopting the method, the precision and speed of image fusion can be improved. Meanwhile, the requirement for manual intervention is reduced, and image fusion is more efficient and intelligent.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present 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 peak power of a VCSEL array. Background Art

[0002] The size of a conventional VCSEL chip array is several hundred microns, but under the requirements of certain special application scenarios, the size and shape of the VCSEL chip array need to be customized and developed. For example, the length of the VCSEL chip array used for linear laser scanning and cutting is more than 5mm, and the aperture of the emission hole is tens of microns. The length and width of the 2D array VCSEL chip array used for solid-state lidar development are both more than 5mm, and the diameter of the light-emitting hole is 20 to 30 microns. Peak power is an important indicator for evaluating the performance of this type of VCSEL chip array. Efficient, fast and accurate measurement of peak power is of great significance for optimizing design and improving product quality. However, there is currently a lack of effective and fast calculation methods for the peak power of such large-area VCSEL chip arrays. Summary of the invention

[0003] Based on this, it is necessary to provide a VCSEL array peak power determination method, apparatus, computer equipment, computer-readable storage medium and computer program product that can improve the accuracy of VCSEL array peak power calculation in order to solve the above technical problems.

[0004] In a first aspect, the present application provides a VCSEL array peak power determination method, comprising:

[0005] Acquire multiple local images representing the entire VCSEL array to be tested in batches;

[0006] Extracting feature information contained in each of the partial images; wherein the step of extracting feature information of each of the partial images comprises: inputting any two partial images into a twin network to perform function solving on the similarity and difference information between each other; using the function solving result as the respective feature information;

[0007] Inputting feature information representing each of the partial images into a feature matching model to determine a feature matching result of each of the partial images;

[0008] Obtaining an optimal stitching corner point set for each of the local images;

[0009] Splicing the local images according to the feature matching results and the optimal splicing corner point set to obtain a spliced ​​image representing the VCSEL array to be tested;

[0010] The peak power of the VCSEL array to be tested is determined according to the spliced ​​image.

[0011] In a second aspect, the present application further provides a VCSEL array peak power determination device, comprising:

[0012] An image acquisition module is used to acquire multiple local images representing the entire VCSEL array to be tested in batches;

[0013] A feature extraction module is used to extract feature information contained in each of the local images; wherein the step of extracting feature information of each of the local images comprises: inputting any two local images into a twin network to perform function solving on the similarity and difference information between each other; and using the function solving result as the respective feature information;

[0014] A feature matching module, used for inputting feature information representing each of the local images into a feature matching model to determine a feature matching result of each of the local images;

[0015] An acquisition module, used for acquiring an optimal splicing corner point set for each of the local images;

[0016] A stitching module, used for stitching the local images according to the feature matching result and the optimal stitching corner point set to obtain a stitching image representing the VCSEL array to be tested;

[0017] A peak power determination module is used to determine the peak power of the VCSEL array to be tested according to the spliced ​​image.

[0018] In a third aspect, the present application further provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the processor executes the computer program, the following steps are implemented:

[0019] Acquire multiple local images representing the entire VCSEL array to be tested in batches;

[0020] Extracting feature information contained in each of the partial images; wherein the step of extracting feature information of each of the partial images comprises: inputting any two partial images into a twin network to perform function solving on the similarity and difference information between each other; using the function solving result as the respective feature information;

[0021] Inputting feature information representing each of the partial images into a feature matching model to determine a feature matching result of each of the partial images;

[0022] Obtaining an optimal stitching corner point set for each of the local images;

[0023] Splicing the local images according to the feature matching results and the optimal splicing corner point set to obtain a spliced ​​image representing the VCSEL array to be tested;

[0024] The peak power of the VCSEL array to be tested is determined according to the spliced ​​image.

[0025] In a fourth aspect, the present application further provides a computer-readable storage medium having a computer program stored thereon, wherein when the computer program is executed by a processor, the following steps are implemented:

[0026] Acquire multiple local images representing the entire VCSEL array to be tested in batches;

[0027] Extracting feature information contained in each of the partial images; wherein the step of extracting feature information of each of the partial images comprises: inputting any two partial images into a twin network to perform function solving on the similarity and difference information between each other; using the function solving result as the respective feature information;

[0028] Inputting feature information representing each of the partial images into a feature matching model to determine a feature matching result of each of the partial images;

[0029] Obtaining an optimal stitching corner point set for each of the local images;

[0030] Splicing the local images according to the feature matching results and the optimal splicing corner point set to obtain a spliced ​​image representing the VCSEL array to be tested;

[0031] The peak power of the VCSEL array to be tested is determined according to the spliced ​​image.

[0032] In a fifth aspect, the present application further provides a computer program product, including a computer program, which implements the following steps when executed by a processor:

[0033] Acquire multiple local images representing the entire VCSEL array to be tested in batches;

[0034] Extracting feature information contained in each of the partial images; wherein the step of extracting feature information of each of the partial images comprises: inputting any two partial images into a twin network to perform function solving on the similarity and difference information between each other; using the function solving result as the respective feature information;

[0035] Inputting feature information representing each of the partial images into a feature matching model to determine a feature matching result of each of the partial images;

[0036] Obtaining an optimal stitching corner point set for each of the local images;

[0037] Splicing the local images according to the feature matching results and the optimal splicing corner point set to obtain a spliced ​​image representing the VCSEL array to be tested;

[0038] The peak power of the VCSEL array to be tested is determined according to the spliced ​​image.

[0039] The above-mentioned VCSEL array peak power determination method, device, computer equipment, computer-readable storage medium and computer program product obtain multiple local images representing the overall appearance of the VCSEL array to be tested in batches; ensure that all important details of the VCSEL array to be tested can be captured, and provide high-quality original 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 twin network to solve the function of the similarity and difference information between each other; using the function solution result as the respective feature information; using the twin network to solve 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 particularly suitable for high-precision occasions 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 results of each of the local images; through a special feature matching model, matching points between local images can be found more accurately, thereby improving the accuracy and reliability of image stitching.

[0042] The optimal stitching corner point set of each of the local images is obtained; the selection of the optimal stitching corner point set can minimize the stitching error and ensure that the stitched image more truly reflects the actual condition of the VCSEL chip array.

[0043] The local images are stitched together according to the feature matching results and the optimal stitching corner point set to obtain a stitched image representing the VCSEL array to be tested; under the guidance of the feature matching results and the optimal stitching corner point set, high-precision image alignment is achieved, the quality of the stitched image is guaranteed, and the final image can accurately represent the overall picture of the VCSEL chip array.

[0044] The peak power of the VCSEL array to be tested is determined based on the stitched image. Based on the high-quality stitched image, the peak power of the VCSEL chip array can be calculated more accurately, which is crucial for evaluating the performance of the VCSEL chip array and helps to improve product quality and performance. BRIEF DESCRIPTION OF THE DRAWINGS

[0045] In order to more clearly illustrate the technical solutions in the embodiments of the present application or related technologies, the drawings required for use in the embodiments of the present application or related technical descriptions will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other related drawings can be obtained based on these drawings without paying creative work.

[0046] FIG1 is a diagram showing an application environment of a method for determining a VCSEL array peak power in one embodiment;

[0047] FIG2 is a schematic flow chart of a method for determining a VCSEL array peak power in one embodiment;

[0048] FIG3 is a schematic diagram of an implementation process of a method for determining a VCSEL array peak power in one embodiment;

[0049] FIG4 is a schematic diagram of the architecture of a VCSEL array peak power determination model in one embodiment;

[0050] FIG5 is a schematic flow chart of a method for determining a VCSEL array peak power in another embodiment;

[0051] FIG6 is a structural block diagram of a device for determining a peak power of a VCSEL array in one embodiment;

[0052] FIG7 is a structural block diagram of a device for determining a VCSEL array peak power in another embodiment;

[0053] FIG. 8 is a diagram showing the internal structure of a computer device in one embodiment. DETAILED DESCRIPTION

[0054] In order to make the purpose, technical solution and advantages of the present application more clearly understood, the present application is further described in detail below in conjunction with the accompanying drawings and embodiments. It should be understood that the specific embodiments described herein are only used to explain the present application and are not used to limit the present application.

[0055] The VCSEL array peak power determination method provided in the embodiment of the present application can be applied in the application environment shown in FIG. 1 . Among them, the terminal 102 communicates with the server 104 through the network. The data storage system can store the data that the server 104 needs to process. The data storage system can be integrated on the server 104, or it can be placed on the cloud or other network servers. The terminal 102 generates a VCSEL array peak power determination request, and sends the VCSEL array peak power determination request to the server 104, so that the server 104 determines the peak power of the VCSEL array to be tested according to the spliced ​​image. . Among them, the terminal 102 can be, but is not limited to, various personal computers, laptops, smart phones, tablet computers, Internet of Things devices and portable wearable devices. The Internet of Things devices can be smart speakers, smart TVs, smart air conditioners, smart car devices, projection devices, etc. Portable wearable devices can be smart watches, smart bracelets, head-mounted devices, etc. The head-mounted device can be a virtual reality (VR) device, an augmented reality (AR) device, smart glasses, etc. The server 104 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides cloud computing services.

[0056] In an exemplary embodiment, as shown in FIG2 , a method for determining the peak power of a VCSEL array is provided, and the method is applied to the server 104 in FIG1 as an example for description, including the following steps 202 to 212. Among them:

[0057] Step 202 , acquiring multiple local images representing the entire VCSEL array to be tested in batches.

[0058] Among them, the VCSEL array to be tested refers to an array composed of multiple VCSEL units, which can be VCSELs of the same or different specifications. In some special application scenarios, such as linear laser scanning cutting and solid-state laser radar, the size and shape of the VCSEL array need to be customized and developed, for example, the length can reach more than 5mm, and the diameter of the light-emitting hole ranges from tens to twenty or thirty microns. A local image refers to an image obtained by shooting in batches with a camera (such as a CMOS image sensor or a CCD camera) that only contains a part of the VCSEL array to be tested. Due to the limitations of the camera's resolution, magnification, and field of view, one shot cannot cover the entire VCSEL array, so multiple shots are required, and each shot obtains a local image. It can be understood that each local image reflects a local area of ​​the VCSEL array, and these local images need to be combined into a complete image through image stitching technology for subsequent analysis and processing.

[0059] Specifically, first ensure that the shooting equipment (such as CMOS image sensor or CCD camera) is in the best condition to obtain high-quality local images. And plan the camera's movement path and shooting position to ensure that the entire VCSEL array to be tested can be covered. Then obtain the first local image as a benchmark for subsequent shooting. Gradually shoot other parts of the VCSEL array until the entire array is covered. Ensure that the quality and coverage of all local images meet the requirements. And number, name and save all the captured local images in the order of shooting to ensure consistent file format for subsequent processing.

[0060] Step 204, extracting 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 twin network to solve a function for the similarity and difference information between each other; and using the function solution result as the respective feature information.

[0061] Among them, the twin network refers to a special neural network architecture, which is mainly used to compare the similarity or difference between two input samples. It consists of two sub-networks that share weights, each of which processes an input sample and finally outputs the feature representation of the two samples. In this application, the twin network is used to compare the similarity and difference information between any two local images to extract feature information. Similarity refers to the use of quantifying the degree of similarity between any two local images to help determine their relative position and matching relationship during the splicing process. Difference information refers to the use of identifying different features between any two local images to help extract more distinctive feature information. The function solution result refers to the similarity and difference information between any two local images calculated by the twin network. These results are used as feature information for subsequent feature matching and image splicing. Feature information refers to important features extracted from local images that can reflect the content of the image. The similarity and difference information calculated by the twin network are used as feature information for subsequent feature matching and image splicing.

[0062] Specifically, first, two images are randomly or sequentially selected from the existing partial images. Make sure that the two selected images have a certain overlapping area to facilitate subsequent feature matching and image stitching. Then the two selected partial images are input into the two sub-networks of the twin network respectively. And make sure that the two sub-networks share the same weights to improve computational efficiency and consistency of feature representation. Each sub-network of the twin network extracts the multi-dimensional feature representation of the input image through multiple convolution and pooling operations. Then use a similarity function (such as cosine similarity, Euclidean distance, etc.) to calculate the similarity of the two images. For example, two feature vectors f1 and f2 are input into the similarity function to calculate their similarity S (f1, f2). Use a difference information function (such as absolute difference, square difference, etc.) to calculate the difference information of the two partial images. For example, calculate the absolute difference D (f1, f2) = |f1-f2 | between the two feature vectors f1 and f2. Finally, the similarity S (f1, f2) and the difference information D (f1, f2) are saved as feature information. It can be understood that the above steps are repeated to calculate the similarity and difference information of all partial image pairs to generate feature information of each partial image, and the extracted feature information is sorted and stored to facilitate subsequent feature matching and image stitching.

[0063] Step 206 , inputting feature information representing each local image into a feature matching model to determine a feature matching result for each local image.

[0064] Among them, the feature matching model refers to an algorithm or model used to determine the corresponding relationship between feature points of two images. It compares the feature points in the image and finds the best matching point pair to achieve alignment between the images. It can be understood that in the image stitching process, the feature matching model is used to determine the matching relationship between multiple local images to ensure that they can be correctly stitched together. The feature matching result refers to the matching point pairs and their matching quality output by the feature matching model. These results are used to determine the relative position and alignment relationship between the local images. For example, the feature matching results include but are not limited to: matching point pairs, matching quality, and the number of inliers, where: matching point pairs refer to the corresponding feature point pairs in the two images, usually expressed as a pair of coordinates (x1, y1) and (x2, y2). Matching quality refers to the quality score of each matching point pair, which is used to evaluate the reliability of the match. Common quality scoring indicators include Euclidean distance, cosine similarity, etc. The number of inliers refers to the number of feature point pairs that meet the model, which is used to evaluate the robustness and accuracy of the model.

[0065] Specifically, first select a suitable feature matching model based on actual needs and application scenarios. Common models include RANSAC, PROSAC, SIFT, ORB, etc. And configure model parameters, such as the number of iterations, thresholds, etc., to optimize the matching effect. Then input the feature information of each local image into the feature matching model. Make sure that the format of the input feature information is consistent with the model requirements. Use a feature matching model (such as RANSAC, PROSAC, etc.) to process the input feature information and find matching point pairs between each pair of local images. And generate a list of matching point pairs, each of which contains the coordinate information of two feature points.

[0066] Next, the quality score of each matching point pair is calculated using a quality scoring function (such as Euclidean distance, cosine similarity, etc.). In algorithms such as RANSAC, the best matching point pair is determined through model fitting and internal point number verification. For example, the RANSAC algorithm randomly selects some matching point pairs, fits the homography matrix, and calculates the number of internal points whose distance to the model is less than a threshold. Finally, the best matching point pair is selected based on the matching quality and the number of internal points. The final feature matching result is generated, including the matching point pairs and their quality scores. The feature matching results are organized and stored for subsequent image stitching and processing.

[0067] Step 208: Obtain the best stitching corner point set for each local image.

[0068] Among them, the best stitching corner point set refers to the set of corner points in multiple local images, which is determined by feature matching and optimization algorithms and can make the images aligned most accurately when stitching. These corner points usually have high matching quality and robustness, and can effectively reduce stitching errors. It can be understood that in this application, the best stitching corner point set is used to guide the image registration and stitching process to ensure that multiple local images can be seamlessly stitched into a complete image, thereby accurately characterizing the overall picture of the VCSEL array to be tested.

[0069] Specifically, firstly, matching point pairs with higher quality scores are screened out from the feature matching results to ensure the reliability of subsequent processing, including: setting a quality score threshold for screening high-quality matching point pairs. From the feature matching results, matching point pairs with quality scores higher than the threshold are selected. The screened high-quality matching point pairs are saved in a new list. Then, outliers are removed, including: selecting the point pairs with the highest quality scores from the high-quality matching point pairs as the initial point pairs. The homography matrix is ​​fitted using the initial point pairs. The distances between all matching point pairs and the fitting model are calculated, and the point pairs with distances less than the threshold are selected as inliers. The number of point pairs is gradually increased, and the model is continuously optimized until the model with the largest number of inliers is found. The model with the largest number of inliers and its inlier set are saved. Finally, the corner point set is optimized, including: optimizing the inlier set using the least squares method to make the distribution of the inliers more uniform and reasonable. The inlier set is optimized using the gradient descent method to minimize the error between the inliers and the model. The optimized inlier set is saved as the best splicing corner point set. The optimized inlier set is sorted according to the image number and name, and saved in a file to ensure that the file format is consistent for subsequent processing.

[0070] Step 210 , stitching the local images according to the feature matching results and the optimal stitching corner point set to obtain a stitching image representing the VCSEL array to be tested.

[0071] The stitched image refers to merging multiple partial images into a complete image through image stitching technology. This image can accurately represent the overall picture of the VCSEL array to be tested and ensure good alignment and fusion effects between the partial images.

[0072] Specifically, the first step is image registration, including calculating the homography matrix using the matching point pairs in the best stitching corner point set. Using the calculated homography matrix, each local image is geometrically transformed to align it with other images. Then the size of the stitched image is determined, including calculating the size of the stitched image based on the width of the input image and the size of the overlapping area. For example, the size of the final image is determined by calculating the bounding box of all local images. Next, based on the feature point matching results, the overlapping area is constructed. The overlapping area is the common part after alignment between the local images. Define a weight function, such as a linear weight function and a Gaussian weight function. The weight function can be used to calculate the weight of each pixel based on the pixel position. Finally, all processed local images are merged into a complete image.

[0073] Step 212: determine the peak power of the VCSEL array to be tested according to the spliced ​​image.

[0074] Peak power refers to the maximum output power of a large-area VCSEL (vertical-cavity surface-emitting laser) chip array under specific conditions.

[0075] Specifically, first convert the stitched image into a grayscale image. If the stitched image is already a grayscale image, this step can be skipped. Use image processing software (such as OpenCV) to read the grayscale image and extract the grayscale value of each pixel. And store the grayscale value in an array or matrix for subsequent processing. Then traverse the grayscale value array or matrix to calculate the sum of the grayscale values ​​of all pixels in the stitched image to provide basic data for power calculation. Finally, obtain a mathematical relationship model that characterizes the relationship between the grayscale value and the received power for calculating the peak power. Substitute the calculated sum of the grayscale values ​​into the obtained mathematical relationship model to calculate the peak power of the VCSEL array to be tested.

[0076] In one of the embodiments, the stitched images are subjected to a fade-in and fade-out weighted fusion process to obtain a fused image; and the peak power of the VCSEL array to be tested is determined based on the fused image.

[0077] The fused image is a seamless, high-quality complete image generated by smoothing the transition of multiple local images through image fusion technology. This image can more accurately represent the overall appearance of the VCSEL array to be tested.

[0078] Specifically, first, for each pixel, its weight in the overlapping area is calculated. The pixel values ​​in the overlapping area are fused using the weighted average method, which is 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) is the pixel value after fusion, I1(x, y) and I2(x, y) are the pixel values ​​of the two local images in the overlapping area.

[0081] Then merge all processed partial images into a complete image. Make sure there are no obvious stitching marks and the image transition is smooth and natural. Save the fused image to a file for subsequent processing.

[0082] The weighted fusion process of fading in and out can ensure smooth and natural transition of the stitched images in the overlapping area, avoiding obvious stitching marks and boundary effects. And through the weighted average method, it can effectively reduce the artifacts caused by stitching, such as inconsistent brightness and color deviation, and improve the overall quality of the image.

[0083] In one of the embodiments, the grayscale value of each VCSEL channel in the fused image is obtained; the sum of the grayscale values ​​of the VCSEL array to be tested is obtained according to the grayscale value of each VCSEL channel; and the peak power of the VCSEL array to be tested is obtained according to the sum of the grayscale values.

[0084] Among them, the grayscale value of each VCSEL channel refers to the grayscale value of the pixel area 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. It can be understood that by obtaining the grayscale value of each VCSEL channel, the working status and luminous intensity of each VCSEL unit can be understood in detail, providing basic data for the subsequent calculation of the total grayscale value and the determination of the peak power. The total grayscale value of the VCSEL array to be tested refers to the sum of the grayscale values ​​of the entire VCSEL array obtained by adding the grayscale values ​​of all VCSEL channels. This sum reflects the overall luminous intensity of the entire VCSEL array. It can be understood that by calculating the total grayscale value, the luminous performance of the entire VCSEL array can be quantitatively evaluated, providing key data for the calculation of the peak power.

[0085] Specifically, first use image processing software (such as OpenCV) to read the fused image. According to the design and layout of the VCSEL array, determine the position of each VCSEL channel in the fused image. For example, assume that the position information of the VCSEL channel is stored in a list. Traverse the position of each VCSEL channel and extract the grayscale value of the corresponding area. Then add the grayscale values ​​of all VCSEL channels to obtain the sum of the grayscale values. Use a determined mathematical relationship model and substitute the sum of the grayscale values ​​to calculate the peak power of the VCSEL array to be tested. For example, there is a linear relationship between the peak power and the sum of the grayscale values. The peak power of the VCSEL array to be tested is calculated by the following formula:

[0086] P=k×G+C

[0087] Where k is the proportionality coefficient, which represents the efficiency factor of the camera's photosensitive material in converting the acquired energy into grayscale values. C is the disturbance term constant, which is used to consider the impact of other imaging factors on the image. G is the total grayscale value. P is the peak power of the VCSEL array to be tested.

[0088] By extracting the grayscale value of each VCSEL channel, the integrity and reliability of the data are ensured, avoiding the overall measurement error caused by abnormalities in individual channels. The calculation of the sum of grayscale values ​​ensures the consistency of the data and reduces the impact of inconsistent local image quality. Based on the sum of grayscale values, the peak power is calculated using a mathematical relationship model, which can more accurately evaluate the performance of the VCSEL array.

[0089] In one of the embodiments, a feature point subset is randomly selected from the feature information, and multiple feature points in the feature point subset are output to the initial matching model for iterative training; matching point pairs corresponding to each of the multiple feature points in the feature point subset are generated by the initial matching model, and the matching point pairs include two mutually matching feature points; for each matching pair, the Euclidean distance between the two mutually matching feature points in the matching point pair is determined; according to the Euclidean distance between the two mutually matching feature points in the matching point pair, the quality of the matching point pair is determined; among the multiple matching pairs, a target matching pair whose quality is less than a preset quality threshold is determined, and if the number of target matching pairs is less than or equal to the preset matching pair threshold, the initial matching model is optimized; the multiple feature points in the feature point subset randomly selected from the feature information are continuously input 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, the iterative training is stopped, and the matching model obtained after stopping the iterative training is used as the feature matching model.

[0090] Among them, the feature point subset refers to a part of the feature points randomly selected from all the feature points. These feature points are used to train and optimize the feature matching model. It can be understood that by selecting a part of the feature points for training, the computational complexity can be reduced and the training efficiency can be improved. The initial matching model refers to a preliminary model for generating feature point matching pairs. It can be a simple matching algorithm, such as nearest neighbor matching, SIFT matching, etc. In this application, the initial matching model is used to generate preliminary matching point pairs to provide a basis for subsequent optimization. Matching point pairs refer to pairs of two mutually matching feature points generated by the initial matching model. The two feature points in each matching point pair are considered to be points corresponding to the same physical position in different images. In this application, matching point pairs are used to evaluate the quality of feature matching and ensure the accuracy of image alignment. The preset quality threshold refers to a set value used to evaluate the quality of matching point pairs. Euclidean distance is usually used as a standard for quality evaluation. In this application, by presetting the quality threshold, high-quality matching point pairs can be screened out, low-quality matching point pairs can be excluded, and the accuracy of matching can be improved. The preset matching pair threshold also refers to a set value used to determine the number of matching point pairs that meet the quality requirements. When the number of matching point pairs that meet the quality requirements reaches or exceeds this threshold, the model training is considered complete. In this application, the preset matching pair threshold is used to control the termination condition of model training to ensure 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, which is 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, first randomly select a part of feature points from all feature points to form a feature point subset. Input the feature point subset into the initial matching model to generate preliminary matching point pairs. Perform iterative training and gradually optimize the matching model. Then use the initial matching model to generate matching point pairs for each feature point. And calculate the Euclidean distance between the two feature points in each matching point pair. Set a preset quality threshold to filter out high-quality matching point pairs. Set a preset matching pair threshold to determine whether the number of high-quality matching point pairs reaches the threshold. If the threshold is not reached, continue to optimize the initial matching model. Continue to input the feature point subset into the optimized matching model for iterative training. Stop training until the number of high-quality matching point pairs generated is greater than the preset matching pair threshold.

[0092] By setting a preset quality threshold, the quality of the generated matching point pairs is ensured to meet the requirements, and low-quality matching point pairs are excluded. By setting a preset matching pair threshold, the number of high-quality matching point pairs generated is ensured to meet the requirements, thereby improving the reliability of matching. In addition, during the training process, the model is dynamically adjusted according to the quality and quantity of matching point pairs to ensure that the model is always in the optimal state. Reasonable stop conditions are set to avoid overtraining and improve the generalization ability of the model.

[0093] In one embodiment, each local image is converted into a grayscale image; and each grayscale image is processed using an overlapping group sparsity total variation algorithm to eliminate staircase artifacts of each grayscale image.

[0094] Among them, the overlapping group sparsity total variation algorithm refers to an image processing technology that is mainly used to remove noise and artifacts in images while maintaining the edges and details of the image. The algorithm combines the sparse representation and total variation regularization methods to remove noise while maintaining the structural characteristics of the image. Staircase artifacts refer to the unnatural phenomenon of staircase or jagged edges on the edges of images due to the limitations of the algorithm during image processing, especially in the process of image denoising and deblurring.

[0095] Specifically, use an image processing library (such as OpenCV) to read each partial image. Convert each color image to a grayscale image. Then set the parameters of the overlapping group sparsity total variation algorithm, such as the weight of the total variation regularization, the dictionary of the sparse representation, the block size, and the overlap size. Divide the grayscale image into overlapping blocks (or groups). Perform sparse representation and total variation regularization on each block. Reassemble the processed blocks into a complete image, i.e., a denoised grayscale image.

[0096] Due to the sparsity of overlapping groups, the total variation algorithm can effectively remove noise from the image and improve the signal-to-noise ratio of the image. While removing noise and artifacts, the algorithm can better preserve the details and structural features of the image and improve the visual effect of the image. Removing noise and artifacts can reduce the mismatching of feature points and improve the quality of matching point pairs.

[0097] In one of the embodiments, any two local images are respectively input into two encoders for multiple convolution processing and multiple pooling processing to obtain two multi-dimensional feature vectors; the two multi-dimensional feature vectors are respectively input into two comparison networks to obtain two one-dimensional feature vectors; the two one-dimensional feature vectors are sent to a fully connected layer to solve the activation function.

[0098] Among them, the encoder refers to an important component in the twin network, which is responsible for converting the input image into a multi-dimensional feature vector. The encoder is usually composed of multiple convolutional layers and pooling layers. Through convolution and pooling processing, the encoder can extract high-level features of the image, such as edges, textures, and shapes. The multi-dimensional feature vector refers to the feature representation output by the encoder. It is a high-dimensional vector that contains 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 and provide a basis for subsequent feature comparison. The comparison network refers to another important component in the twin network, which is responsible for converting the multi-dimensional feature vector into a one-dimensional feature vector. The comparison network is usually composed of multiple fully connected layers and activation functions. Through the fully connected layers and activation functions, the comparison network can further extract and compress feature information to generate a one-dimensional feature vector. The one-dimensional feature vector refers to the feature representation after being processed by the comparison network. It is a low-dimensional vector that contains 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 and provide a basis for the subsequent solution of similarity and difference information. 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 usually used for further feature extraction and classification. In a Siamese network, a fully connected layer is used to merge two one-dimensional feature vectors and solve an activation function to calculate the similarity and difference information between two images.

[0099] Specifically, first, two local images are read using an image processing library (such as PyTorch). Since an encoder containing multiple convolutional layers and pooling layers is predefined, the two local images are input into two identical encoders to extract multi-dimensional feature vectors. Then, since 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 to extract one-dimensional feature vectors. Finally, since a fully connected layer containing multiple fully connected layers and activation functions is predefined, the two one-dimensional feature vectors are connected into a longer vector. The fully connected layer and activation function are used for nonlinear transformation to generate the final similarity or difference information.

[0100] Due to the multiple convolution and pooling processes of the encoder, multi-level features of the image, such as edges, textures, and shapes, can be extracted. These high-level features are very important for the subsequent calculation of similarity and difference information. By comparing the fully connected layer and activation function of the network, the multi-dimensional feature vector can be compressed into a one-dimensional feature vector. This not only reduces the dimension of the feature, but also retains the most important feature information. Finally, through the fully connected layer and activation function, the two one-dimensional feature vectors can be nonlinearly transformed to generate the final similarity or difference information. This step can capture the complex relationship between features and improve the accuracy of similarity and difference information.

[0101] In one of the embodiments, for any two consecutive convolution processes in multiple convolution processes, channel attention processing is performed on the feature vector obtained after the first convolution process in any two consecutive convolution processes by presetting the channel weight parameters to obtain a channel feature vector representation; and spatial attention processing is performed on the channel feature vector representation by presetting the spatial weight parameters to obtain a spatial feature vector representation.

[0102] Among them, the preset channel weight parameter refers to a set of predefined weight values ​​used to weight the features of different channels in the channel attention mechanism. Through these weight parameters, important channel features can be highlighted and unimportant channel features can be suppressed, thereby improving the accuracy and robustness of feature representation. Channel feature vector representation refers to the feature vector obtained after channel attention processing, in which the features of each channel are assigned different weights. The channel feature vector representation can better capture the important information of each channel in the feature map and improve the representation ability of the feature. The preset spatial weight parameter refers to a set of predefined weight values ​​used to weight the features at different positions in the spatial attention mechanism. In this application, through these weight parameters, important spatial regions can be highlighted and unimportant spatial regions can be suppressed, thereby improving the accuracy and robustness of feature representation. The spatial feature vector representation refers to the feature vector obtained after spatial attention processing, in which the features of each position are assigned different weights. The spatial feature vector representation can better capture the important information of each position in the feature map and improve the representation ability of the feature.

[0103] Specifically, first predefine multiple consecutive convolutional layers, channel attention modules and spatial attention modules. Optionally, the channel attention module and the spatial attention module are set in the middle of every two consecutive convolutional layers, and the size and depth of multiple consecutive convolutional layers increase successively. Then take two consecutive convolutional layers as an example. Input the input image into the first convolutional layer. Use the preset channel weight parameters to perform channel attention processing on the feature vector after the first convolution processing. Finally, use the preset spatial weight parameters to perform spatial attention processing on the channel feature vector representation to obtain the final spatial feature vector representation, that is, the spatial feature vector representation.

[0104] By performing channel attention processing on the feature vector through preset channel weight parameters, important channel features can be highlighted and unimportant channel features can be suppressed. This helps the model better capture the key information of the image and improve the accuracy of feature representation. By performing spatial attention processing on the channel feature vector representation through preset spatial weight parameters, important spatial areas can be highlighted and unimportant spatial areas can be suppressed. This helps the model better focus on the key areas in the image and further improve the accuracy of feature representation.

[0105] In one embodiment, corner point detection is performed on each local image to obtain a splicing corner point set representing edge features of each local image; and each splicing corner point set is filtered to obtain an optimal splicing corner point set.

[0106] Among them, the stitching corner point set refers to a set of corner points obtained by performing corner point detection on a local image, and these corner points can characterize the edge features and structural information of the image. In the present application, the stitching corner point set is used for subsequent image stitching and registration to help determine the relative position and alignment between images. The best stitching corner point set refers to the most representative and stable set of corner points retained after filtering the stitching corner point set. These corner points can more accurately characterize the edge features of the image and have higher reliability and accuracy during image stitching and registration. In the present application, the best stitching corner point set is used to improve the accuracy and stability of image stitching and reduce the impact of mismatching and noise.

[0107] Specifically, first use an image processing library (such as OpenCV) to read each local image. Use a corner detection algorithm to extract corner points in the local image to form a set of splicing corner points. Then predefine filtering criteria, such as filtering based on the response value, distribution density, edge features, etc. of the corner points. Finally, apply filtering processing to remove redundant and unstable corner points, retain the most representative and stable corner points, and form the best set of splicing corner points.

[0108] By filtering, the most representative and stable corner points are retained, which further improves the accuracy of stitching and reduces the impact of mismatching and noise. In addition, by filtering, redundant and unstable corner points are removed, which reduces the amount of calculation for subsequent processing and improves calculation efficiency.

[0109] In one of the embodiments, a plurality of candidate pixel points in each local image are obtained; a test geometric figure is constructed through the plurality of candidate pixel points, and the grayscale value of the pixel point located at the center of the test geometric figure is determined; if the difference between the grayscale value of adjacent candidate pixel points among the plurality of candidate pixel points on the test geometric figure and the grayscale value of the pixel point located at the center of the test geometric figure is greater than a preset threshold, then a set of stitching corner points of the edge features of each local image is determined based on the pixel point located at the center of the test geometric figure.

[0110] Among them, candidate pixels refer to pixels that may become corner points in a local image. These pixels are usually edges or feature points in the image. In this application, candidate pixels are used for further corner point detection and verification to determine which pixels are true corner points. Test geometry refers to a geometric shape built around a candidate pixel, which is used to detect whether the pixel is a corner point. Common test geometries include squares, circles or other polygons. Through the test geometry, the grayscale changes around the candidate pixel can be evaluated to determine whether the pixel is a corner point. The preset threshold refers to a pre-set value used to determine whether the grayscale value difference between the candidate pixel and the center pixel on the test geometry is large enough to determine whether the pixel is a corner point. In this application, the preset threshold is used to filter out candidate pixels whose grayscale changes are not significant, and retain those pixels whose grayscale changes are significant as corner points.

[0111] Specifically, first read the local image, and preliminarily screen out possible corner points as candidate pixels through edge detection or gradient calculation. Then build a test geometry to evaluate the grayscale changes around the candidate pixels, including building a test geometry around each candidate pixel, such as a 3x3 square. And get the grayscale value of the pixel at the center of the test geometry. Finally, filter out candidate pixels with insignificant grayscale changes through a preset threshold, and retain the true corner points, including 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 to be a corner point and is added to the splicing corner point set. Through the above steps, the splicing corner point set that represents the edge features in each local image can be effectively obtained.

[0112] Because of the preliminary screening and gray value difference judgment, unnecessary calculations are reduced and the calculation efficiency is improved. And by testing the gray value difference judgment on the geometric figure, the real corner points can be identified more accurately, reducing false detection and missed detection. High-quality corner points can reduce the probability of false matching, improve the effect of image stitching, and avoid obvious stitching marks and unnatural transitions in the stitching process.

[0113] In one of the embodiments, according to the pixel values ​​corresponding to each of the multiple stitching corner points, the derivatives of each of the multiple stitching corner points in the horizontal direction and the derivatives of each of the multiple stitching corner points in the vertical direction are determined; a derivative product map is obtained through the derivatives of each of the multiple stitching corner points in the horizontal direction and the derivatives of each of the multiple stitching corner points in the vertical direction; according to the derivative product map and the corner point response conditions, the corner point response function values ​​corresponding to each of the multiple stitching corner points are determined; according to the local areas where the multiple stitching corner points are located and the corner point response function values ​​corresponding to each of the multiple stitching corner points, the stitching corner point corresponding to the maximum corner point response function value in each local area is determined; a preset corner point threshold is obtained, and the best stitching corner point set is determined according to the stitching corner points in each local area whose maximum corner point response function value is greater than the preset corner point threshold.

[0114] Among them, the stitching corner point refers to the key point used to align two or more images during the image stitching process. These points are usually locations with unique features in the image, such as the intersection of edges or places where the texture changes significantly, and they play a positioning role in the image stitching process. The derivative product map refers to a map obtained by calculating the derivatives of the stitching corner point in the horizontal and vertical directions and multiplying the derivatives in these two directions. This map reflects the gradient changes around each corner point, which helps to determine which corner points are truly useful stitching points in the future. The corner point response condition refers to the standard used to determine 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 a significant intensity change in its neighborhood, which means that the pixel values ​​around the point vary greatly, which can be evaluated by calculating the corner point response function value. The corner point response function value refers to a quantitative indicator used to measure the quality of a point as a corner point. It is usually calculated based on the changes in the pixel values ​​around the point, such as by calculating the derivative product of the point in different directions to reflect its possibility as a corner point. The higher the corner response function value, the better the quality of the point as a corner point. The preset corner threshold refers to a standard value used when selecting the best corner point for stitching. Only when the corner response function value of a point exceeds this threshold, it will be considered a valid corner point for stitching. Setting a suitable threshold can help screen out high-quality corner points and exclude weak corner points that may cause mismatching. The local area refers to a small area around each candidate corner point in the image. Within this area, the corner response function value is calculated to determine the best corner point in the area. The maximum corner response function value means that within each local area, the corner response function values ​​of all candidate corner points are compared, and the point with the highest corner response function value is considered to be the point most likely to become a valid corner point for stitching. This is because a high corner response function value indicates that the point has a strong feature and is suitable for image stitching.

[0115] Specifically, first, for each splicing corner point, the derivatives of the splicing corner point in the horizontal direction and the derivatives in the vertical direction are calculated. Optionally, this is achieved by calculating the difference between adjacent pixel values. Then the product of the horizontal derivative and the vertical derivative at each splicing corner point is calculated to form a derivative product graph. It can be understood that the derivative product graph reflects the gradient changes at each splicing corner point. Based on the derivative product graph, combined with the corner response conditions (such as the corner response function in Harris corner detection), the corner response function value of each splicing corner point is calculated, and it is calculated by the following formula:

[0116] Where M is the derivative product matrix, det(M) is the determinant of the matrix M, trace(M) is the trace of the matrix M, k is a small constant (usually between 0.04 and 0.06), and R is the corner response function value.

[0117] Next, in each local area, find the stitching corner point with the maximum corner response function value. This step usually involves non-maximum suppression, that is, if the corner response function value of a point is not the maximum value in its local area, it will be excluded. Finally, the stitching corner points with the maximum corner response function value greater than the preset corner threshold in each local area are screened out to form the best stitching corner point set. The whole process aims to select the most suitable corner point from multiple candidate stitching corner points for image stitching and registration. By calculating derivatives, generating derivative product graphs, calculating corner response function values, determining the maximum response value of the local area, and finally screening out the best stitching corner point set, the accuracy and robustness of the stitching result are ensured.

[0118] By calculating the derivatives of each spliced ​​corner point in the horizontal and vertical directions, the image gradient changes around the corner point can be more accurately reflected. The derivative product map further integrates the information in the horizontal and vertical directions, making the corner point detection more sensitive and accurate. The use of the corner point response function value (such as the R value in Harris corner point detection) can effectively distinguish between true corner points and non-corner points. By filtering out the maximum response value in the local area through non-maximum suppression (NMS), false detection and missed detection can be reduced, ensuring that the detected corner points are truly points with significant features.

[0119] In one embodiment, referring to FIG. 3 , the image fusion process for a large-area VCSEL is divided into image acquisition, image preprocessing, feature point extraction, image registration and image fusion, and specifically includes the following steps:

[0120] Step 1: Use a CMOS image sensor or CCD camera to obtain an image of the VCSEL chip by panning. Step 2: Since the captured image may contain noise, in order to improve the quality of image fusion, the image needs to be preprocessed first. Step 3: Use the improved Siamese Network to extract feature points. The Siamese Network allows two inputs to share weights, which helps to efficiently find similarities between images. Step 4: Use the improved ORB algorithm for image registration. The process includes detecting corners using the FAST corner detector, then using the Harris operator for corner measurement and applying ANMS (adaptive non-maximum suppression) screening, and finally using the improved PROSAC algorithm to achieve image registration. Step 5: Use the fade-in and fade-out weighted fusion algorithm to fuse multiple images together to make the image transition smoother and more natural.

[0121] In one embodiment, referring to FIG4 , the ResNet-50 network structure after adding the CBAM (Convolutional Block Attention Module) module is improved on the basis of the original ResNet-50 to enhance the network's ability to focus on and capture features. Specifically, it includes:

[0122] Initialize 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 can better capture the hierarchical features of images.

[0123] Add CBAM module: Insert the CBAM module between the convolution blocks (conv2_x, conv3_x, conv4_x, conv5_x) of 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 maximum pooling operations, and then calculates the importance weight of each channel through a fully connected layer. These weights are applied to the original feature map to enhance the feature representation of important channels. The spatial attention module first performs a convolution operation on the input feature map, and then calculates the importance weight of each spatial position through a fully connected layer. These weights are also applied to the original feature map to enhance the feature representation of important positions, and finally obtain a feature map containing important channel features and spatial position features.

[0124] Feature training: After convolution and pooling operations, the network output obtains a feature map, which reflects the extracted feature information.

[0125] Training: Finally, the improved ResNet-50 model is trained based on the data set (training set, test set, validation set).

[0126] In an exemplary embodiment, as shown in FIG5 , steps 502 to 518 are included. Among them:

[0127] Step 502, acquiring multiple local images representing the entire VCSEL array to be tested in batches;

[0128] Step 504, converting each local image into a grayscale image; using an overlapping group sparsity total variation algorithm to process each grayscale image to eliminate the staircase artifacts of each grayscale image;

[0129] Step 506, extracting 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 respectively for multiple convolution processing and multiple pooling processing to obtain two multi-dimensional feature vectors; inputting the two multi-dimensional feature vectors into two comparison networks respectively to obtain two one-dimensional feature vectors; sending the two one-dimensional feature vectors into a fully connected layer to solve the activation function; using the function solution result as the respective feature information; for any two consecutive convolution processings in the multiple convolution processings, by presetting the channel weight parameters, performing channel attention processing on the feature vector obtained after the first convolution processing in any two consecutive convolution processings, to obtain a channel feature vector representation; by presetting the spatial weight parameters, performing spatial attention processing on the channel feature vector representation, to obtain a spatial feature vector representation;

[0130] Step 508, randomly select a feature point subset from the feature information, output multiple feature points in the feature point subset to the initial matching model for iterative training; generate matching point pairs corresponding to multiple feature points in the feature point subset through the initial matching model, and the matching point pair includes two mutually matching feature points; for each matching pair, determine the Euclidean distance between the two mutually matching feature points in the matching point pair; determine the quality of the matching point pair according to the Euclidean distance between the two mutually matching feature points in the matching point pair; determine a target matching pair whose quality is less than a preset quality threshold among the multiple matching pairs, and 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 in the feature point subset randomly selected from 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 the iterative training, and use the matching model obtained after stopping the iterative training as the feature matching model;

[0131] Step 510, inputting feature information representing each local image into a feature matching model to determine a feature matching result of each local image;

[0132] Step 512, obtain multiple candidate pixel points in each local image; construct a test geometric figure through the multiple candidate pixel points, and determine the grayscale value of the pixel point located at the center of the test geometric figure; if the difference between the grayscale value of the adjacent candidate pixel points in the multiple candidate pixel points on the test geometric figure and the grayscale value of the pixel point located at the center of the test geometric figure is greater than a preset threshold, then determine the splicing corner point set of the edge features of each local image according to the pixel point located at the center of the test geometric figure; determine the horizontal direction of each of the multiple splicing corner points according to the pixel values ​​corresponding to each of the multiple splicing corner points The derivatives in the horizontal direction and the derivatives in the vertical direction of the plurality of splicing corner points are obtained to obtain a derivative product graph; according to the derivative product graph and the corner point response condition, the corner point response function values ​​corresponding to the plurality of splicing corner points are determined; according to the local areas where the plurality of splicing corner points are located and the corresponding corner point response function values, the splicing corner point corresponding to the maximum corner point response function value in each local area is determined; the preset corner point threshold is obtained, and the optimal splicing corner point set is determined according to the splicing corner points in each local area whose maximum corner point response function value is greater than the preset corner point threshold;

[0133] Step 514, stitching the local images according to the feature matching results and the optimal stitching corner point set to obtain a stitching image representing the VCSEL array to be tested;

[0134] Step 516, performing fade-in and fade-out weighted fusion processing on the spliced ​​image to obtain a fused image; the peak power of the VCSEL array to be tested is determined based on the fused image;

[0135] Step 518, obtaining the grayscale value of each VCSEL channel in the fused image; obtaining the sum of the grayscale values ​​of the VCSEL array to be tested according to the grayscale values ​​of each VCSEL channel; and obtaining the peak power of the VCSEL array to be tested according to the sum of the grayscale values.

[0136] In summary, on the one hand, this application provides a method for directly calculating the peak power of a large-area VCSEL array by fusing images, and on the other hand, it adopts an improved deep learning network to realize image stitching and fusion. Compared with traditional image stitching algorithms, this application can automatically extract features in images, and learn through training how to effectively match and fuse features of different images, thereby improving calculation 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 involved in the above embodiments are displayed in sequence according to the indication of the arrows, these steps are not necessarily executed in sequence according to the order indicated by the arrows. Unless there is a clear explanation in this article, the execution of these steps is not strictly limited in order, and these steps can be executed in other orders. Moreover, at least a part of the steps in the flowcharts involved in the above embodiments may include multiple steps or multiple stages, and these steps or stages are not necessarily executed at the same time, but can be executed at different times, and the execution order of these steps or stages is not necessarily carried out in sequence, but can be executed in turn or alternately with other steps or at least a part of the steps or stages in other steps.

[0138] Based on the same inventive concept, the embodiment of the present application also provides a VCSEL array peak power determination device for implementing the VCSEL array peak power determination method involved above. The implementation solution provided by the device to solve the problem is similar to the implementation solution recorded in the above method, so the specific limitations in the one or more chip peak power test device embodiments provided below can refer to the above limitations on the VCSEL array peak power determination method, which will not be repeated here.

[0139] In an exemplary embodiment, as shown in FIG6 , a VCSEL array peak power determination device 600 is provided, comprising: an image acquisition module 602, a feature extraction module 604, a feature matching module 606, an acquisition module 608, a splicing module 610, and a peak power determination module 612, wherein:

[0140] An image acquisition module 602 is used to acquire multiple local images representing the overall appearance of the VCSEL array to be tested in batches;

[0141] The feature extraction module 604 is used to extract feature information contained in each local image; wherein the step of extracting feature information of each local image includes: inputting any two local images into a twin network to perform function solving on the similarity and difference information between each other; and using the function solving result as the respective feature information;

[0142] A feature matching module 606, used to input feature information representing each local image into a feature matching model to determine a feature matching result of each local image;

[0143] An acquisition module 608 is used to acquire an optimal splicing corner point set for each local image;

[0144] A stitching module 610 is used to stitch the local images according to the feature matching results and the best stitching corner point set to obtain a stitching image representing the VCSEL array to be tested;

[0145] The peak power determination module 612 is used to determine the peak power of the VCSEL array to be tested according to the spliced ​​image.

[0146] In one embodiment, the VCSEL array peak power determination device further includes a fade-in and fade-out weighted fusion module 614, which is used to perform fade-in and fade-out weighted fusion processing on the spliced ​​image to obtain a fused image; the peak power of the VCSEL array to be tested 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 the grayscale values ​​of the VCSEL array to be tested according to the grayscale value of each VCSEL channel; and obtain the peak power of the VCSEL array to be tested according to the sum of the grayscale values.

[0148] In one of the embodiments, the VCSEL array peak power determination device also includes a feature matching model construction module 616, which is used to randomly select a feature point subset from the feature information, and output multiple feature points in the feature point subset to the initial matching model for iterative training; generate matching point pairs corresponding to multiple feature points in the feature point subset through the initial matching model, and the matching point pair includes two mutually matching feature points; for each matching pair, determine the Euclidean distance between the two mutually matching feature points in the matching point pair; determine the quality of the matching point pair according to the Euclidean distance between the two mutually matching feature points in the matching point pair; determine a target matching pair whose quality is less than a preset quality threshold among the multiple matching pairs, and 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 in the feature point subset randomly selected from 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 the iterative training is stopped, and the matching model obtained after the iterative training is stopped is used 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 use an overlapping group sparsity total variation algorithm to process each grayscale image to eliminate the staircase 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 processing and multiple pooling processing to obtain two multi-dimensional feature vectors; input the two multi-dimensional feature vectors into two comparison networks to obtain two one-dimensional feature vectors; and send the two one-dimensional feature vectors into a fully connected layer to solve the activation function.

[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 processing in any two consecutive convolution processings in multiple convolution processings by presetting channel weight parameters to obtain a channel feature vector representation; and perform spatial attention processing on the channel feature vector representation by presetting spatial weight parameters to obtain a spatial feature vector representation.

[0152] In one embodiment, the acquisition module 608 is used to perform corner point detection on each local image to obtain a splicing corner point set representing edge features of each local image; and filter each splicing corner point set to obtain an optimal splicing corner point set.

[0153] In one of the embodiments, the acquisition module 608 is used to acquire multiple candidate pixel points in each local image; a test geometric figure is constructed through the multiple candidate pixel points, and the grayscale value of the pixel point located at the center of the test geometric figure is determined; if the difference between the grayscale value of adjacent candidate pixel points among the multiple candidate pixel points on the test geometric figure and the grayscale value of the pixel point located at the center of the test geometric figure 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 point located at the center of the test geometric figure.

[0154] In one of the embodiments, the acquisition module 608 is used to determine the derivatives of the multiple stitching corner points in the horizontal direction and the derivatives in the vertical direction according to the pixel values ​​corresponding to the multiple stitching corner points; obtain a derivative product map through the derivatives of the multiple stitching corner points in the horizontal direction and the derivatives in the vertical direction; determine the corner point response function values ​​corresponding to the multiple stitching corner points according to the derivative product map and the corner point response conditions; determine the stitching corner point corresponding to the maximum corner point response function value in each local area according to the local areas where the multiple stitching corner points are located and the corresponding corner point response function values; obtain a preset corner point threshold, and determine the best stitching corner point set according to the stitching corner points in each local area whose maximum corner point response function value is greater than the preset corner point threshold.

[0155] In another embodiment, as shown in FIG. 7 , FIG. 7 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 splicing module 610, a peak power determination module 612, a fade-in and fade-out weighted fusion module 614, a feature matching model construction module 616, and a grayscale processing module 618, wherein:

[0156] The fade-in and fade-out weighted fusion module 614 is used to perform fade-in and fade-out weighted fusion processing on the spliced ​​images to obtain a fused image; the peak power of the VCSEL array to be tested is determined based on the fused image.

[0157] The feature matching model construction module 616 is used to randomly select a feature point subset from the feature information, and output multiple feature points in the feature point subset to the initial matching model for iterative training; generate matching point pairs corresponding to multiple feature points in the feature point subset through the initial matching model, and the matching point pairs include two mutually matching feature points; for each matching pair, determine the Euclidean distance between the two mutually matching feature points in the matching point pair; determine the quality of the matching point pair according to the Euclidean distance between the two mutually matching feature points in the matching point pair; determine the target matching pairs whose quality is less than a preset quality threshold among the multiple matching pairs, and 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 in the feature point subset randomly selected from 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 the iterative training is stopped, and the matching model obtained after stopping the iterative training is used as the feature matching model.

[0158] The grayscale processing module 618 is used to convert each local image into a grayscale image; and use the overlapping group sparsity total variation algorithm to process each grayscale image to eliminate the staircase artifacts of each grayscale image.

[0159] Each module in the above chip peak power test device can be implemented in whole or in part by software, hardware and their combination. Each module can be embedded in or independent of the processor in the computer device in the form of hardware, or can be stored in the memory of the computer device in the form of software, so that the processor can call and execute the operations corresponding to each module above.

[0160] In an exemplary embodiment, a computer device is provided, which may be a server, and its internal structure diagram may be shown in FIG8. The computer device includes a processor, a memory, an input / output interface (Input / Output, referred to as I / O) and a communication interface. The processor, the memory and the input / output interface are connected through a system bus, and the communication interface is connected to the system bus through the input / output interface. The processor of the computer device is used to provide computing and control capabilities. The memory of the computer device includes a non-volatile storage medium and an internal memory. The non-volatile storage medium stores an operating system, a computer program and a database. The internal memory provides an environment for the operation of the operating system and the computer program in the non-volatile storage medium. The database of the computer device is used to store data related to the determination of the peak power of the VCSEL array. The input / output interface of the computer device is used to exchange information between the processor and an external device. The communication interface of the computer device is used to communicate with an external terminal through a network connection. When the computer program is executed by the processor, a method for determining the peak power of a VCSEL array is implemented.

[0161] Those skilled in the art will understand that the structure shown in FIG. 8 is merely a block diagram of a partial structure related to the solution of the present application, and does not constitute a limitation on the computer device to which the solution of the present application is applied. The specific computer device may include more or fewer components than shown in the figure, or combine certain components, or have a different arrangement of components.

[0162] In an exemplary embodiment, in one embodiment, a computer device is further provided, including a memory and a processor, wherein a computer program is stored in the memory, and the processor implements the steps in the above-mentioned method embodiments when executing the computer program.

[0163] In one embodiment, a computer-readable storage medium is provided, on which a computer program is stored. When the computer program is executed by a processor, the steps in the above-mentioned method embodiments are implemented.

[0164] In one embodiment, a computer program product is provided, including a computer program, which implements the steps in the above method embodiments when executed by a processor.

[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, stored data, displayed data, 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 relevant data must comply with relevant regulations.

[0166] Those skilled in the art can understand that all or part of the processes in the above-mentioned embodiments can be completed by instructing the relevant hardware through a computer program, and the computer program can be stored in a non-volatile computer-readable storage medium. When the computer program is executed, it can include the processes of the embodiments of the above-mentioned methods. Among them, any reference to the memory, database or other medium 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. As an illustration and not limitation, RAM can be in various forms, such as static random access memory (SRAM) or dynamic random access memory (DRAM). The database involved in each embodiment provided in this application may include at least one of a relational database and a non-relational database. Non-relational databases may include distributed databases based on blockchains, etc., but are not limited to this. The processor involved in each embodiment provided in this application may be a general-purpose processor, a central processing unit, a graphics processor, a digital signal processor, a programmable logic device, a data processing logic device based on quantum computing, an artificial intelligence (AI) processor, etc., but are not limited to this.

[0167] The technical features of the above embodiments may be combined arbitrarily. To make the description concise, 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 only express several implementation methods of the present application, and the descriptions thereof are relatively specific and detailed, but they cannot be understood as limiting the scope of the present application. It should be pointed out that, for a person of ordinary skill in the art, several variations and improvements can be made without departing from the concept of the present application, and these all belong to the protection scope of the present application. Therefore, the protection scope of the present application shall be subject to the attached claims.

Claims

1. A method for determining the peak power of a VCSEL array, characterized in that: The method comprises: Acquire multiple local images representing the entire VCSEL array to be tested in batches; Extracting feature information contained in each of the partial images; wherein the step of extracting feature information of each of the partial images comprises: inputting any two partial images into a twin network to perform function solving on the similarity and difference information between each other; using the function solving result as the respective feature information; Inputting feature information representing each of the partial images into a feature matching model to determine a feature matching result of each of the partial images; Obtaining an optimal stitching corner point set for each of the local images; Splicing the local images according to the feature matching results and the optimal splicing corner point set to obtain a spliced ​​image representing the VCSEL array to be tested; The peak power of the VCSEL array to be tested is determined according to the spliced ​​image.

2. The method for determining the peak power of a VCSEL array according to claim 1, characterized in that: The method further comprises: The spliced ​​images are subjected to a fade-in and fade-out weighted fusion process to obtain a fused image; and the peak power of the VCSEL array to be tested is determined based on the fused image.

3. The method for determining the peak power of a VCSEL array according to claim 2, characterized in that: Determining the peak power of the VCSEL array to be tested according to the fused image includes: Obtaining the grayscale value of each VCSEL channel in the fused image; Obtaining the sum of the grayscale values ​​of the VCSEL array to be tested according to the grayscale values ​​of each VCSEL channel; The peak power of the VCSEL array to be tested is obtained according to the sum of the grayscale values.

4. The method for determining the peak power of a VCSEL array according to claim 1, characterized in that: The feature information is a collection of multiple feature point subsets, and each feature point subset includes multiple feature points; the method for constructing the feature matching model includes: Randomly selecting a feature point subset from the feature information, and outputting a plurality of feature points in the feature point subset to an initial matching model for iterative training; Generate matching point pairs corresponding to each of the plurality of feature points in the feature point subset by using an initial matching model, wherein the matching point pairs include two mutually matching feature points; For each matching pair, determining the Euclidean distance between two mutually matching feature points in the matching point pair; Determine the quality of the targeted matching point pair according to the Euclidean distance between two mutually matching feature points in the targeted matching point pair; Determine a target matching pair whose quality is less than a preset quality threshold among multiple matching pairs, and if the number of the target matching pairs is less than or equal to the preset matching pair threshold, optimize the initial matching model; Multiple feature points in the feature point subset randomly selected from the feature information continue to be 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, and the iterative training is stopped, and the matching model obtained after stopping the iterative training is used as the feature matching model.

5. The method for determining the peak power of a VCSEL array according to claim 1, characterized in that: Before extracting the feature information contained in each local image, it also includes: Convert each of the local images into a grayscale image; The overlapping group sparsity total variation algorithm is used to process each grayscale image to eliminate the staircase artifacts of each grayscale image.

6. The method for determining the peak power of a VCSEL array according to any one of claims 1 to 5, characterized in that: The step of inputting any two partial images into a twin network to solve the function of the similarity and difference information between them includes: Input any two local images into two encoders respectively for multiple convolution and multiple pooling processes to obtain two multi-dimensional feature vectors; Input the two multi-dimensional feature vectors into two comparison networks respectively to obtain two one-dimensional feature vectors; The two one-dimensional feature vectors are fed into a fully connected layer to solve the activation function.

7. The method for determining the peak power of a VCSEL array according to claim 6, characterized in that: The method further comprises: For any two consecutive convolution processes in multiple convolution processes, by presetting channel weight parameters, channel attention processing is performed on the feature vector obtained after the first convolution process in any two consecutive convolution processes to obtain a channel feature vector representation; By presetting spatial weight parameters, spatial attention processing is performed on the channel feature vector representation to obtain a spatial feature vector representation.

8. The method for determining the peak power of a VCSEL array according to any one of claims 1 to 5, characterized in that: The step of obtaining the best stitching corner point set for each of the local images comprises: Performing corner point detection on each of the local images to obtain a splicing corner point set representing edge features of each of the local images; A filtering process is performed on each splicing corner point set to obtain the optimal splicing corner point set.

9. The method for determining the peak power of a VCSEL array according to claim 8, characterized in that: The step of performing corner point detection on each of the local images to obtain a splicing corner point set representing edge features of each of the local images comprises: Acquire a plurality of candidate pixel points in each of the local images; Constructing a test geometric figure through the multiple candidate pixel points, and determining the grayscale value of the pixel point located at the center of the test geometric figure; If the difference between the grayscale value of adjacent candidate pixels among the multiple candidate pixels on the test geometric figure and the grayscale value of the pixel located at the center of the test geometric figure is greater than a preset threshold, then the splicing corner point set of each local image edge feature is determined based on the pixel located at the center of the test geometric figure.

10. The method for determining the peak power of a VCSEL array according to claim 8, characterized in that: The step of filtering each splicing corner point set to obtain the optimal splicing corner point set comprises: Determine, according to the pixel values ​​corresponding to the plurality of stitching corner points, the derivatives in the horizontal direction and the derivatives in the vertical direction of the plurality of stitching corner points; Obtaining a derivative product graph through the derivatives of each of the plurality of splicing corner points in the horizontal direction and the derivatives in the vertical direction; Determining corner point response function values ​​corresponding to each of the plurality of splicing corner points according to the derivative product graph and the corner point response condition; Determine, according to the local areas where the plurality of splicing corner points are located and the corresponding corner point response function values, a splicing corner point corresponding to the maximum corner point response function value in each local area; A preset corner point threshold is obtained, and an optimal splicing corner point set is determined according to the splicing corner points whose maximum corner point response function value in each local area is greater than the preset corner point threshold.

11. A device for determining peak power of a VCSEL array, characterized in that: include: An image acquisition module is used to acquire multiple local images representing the entire VCSEL array to be tested in batches; A feature extraction module is used to extract feature information contained in each of the local images; wherein the step of extracting feature information of each of the local images comprises: inputting any two local images into a twin network to perform function solving on the similarity and difference information between each other; and using the function solving result as the respective feature information; A feature matching module, used for inputting feature information representing each of the local images into a feature matching model to determine a feature matching result of each of the local images; An acquisition module, used for acquiring an optimal splicing corner point set for each of the local images; A stitching module, used for stitching the local images according to the feature matching result and the optimal stitching corner point set to obtain a stitching image representing the VCSEL array to be tested; A peak power determination module is used to determine the peak power of the VCSEL array to be tested according to the spliced ​​image.

Citation Information

Patent Citations

  • Real-time monitoring method for large-size laser faculae

    CN102721467A

  • Alignment and coupling method and device of array waveguide component based on particle swarm optimization

    CN103513350A

  • FPGA-based real-time panoramic image mosaic method

    CN105761233A

  • VCSEL array for a depth camera

    CN105992960A

  • Method and system for real-time splicing of microscopic images and computer equipment

    CN111815690A