Bump image splicing method and device, storage medium and computer program product
By detecting pad blocks on chip pad images, determining their location categories, and performing template matching and stitching, the problems of automation and poor quality in chip pad image stitching are solved, and automatic stitching and inspection of global images are realized.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- RICOH CO LTD
- Filing Date
- 2024-12-05
- Publication Date
- 2026-06-05
Smart Images

Figure CN122155939A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of image processing, and more particularly to a chip pad image stitching method, a chip pad image stitching device, a computer-readable storage medium, and a computer program product. Background Technology
[0002] During wire bonding, after the chip wires are soldered to pads on the substrate's bonding area, images of the pads corresponding to different local areas within the bonding area can be captured simultaneously for subsequent soldering inspection and troubleshooting. Typically, to facilitate operator inspection of the soldering condition and fault location, multiple pad images reflecting only local soldering conditions are stitched together to form a larger, more comprehensive image. Furthermore, all pad images taken for the same substrate can be stitched together into a single global image, facilitating overall soldering inspection and image storage.
[0003] Therefore, there is a need for a chip pad image stitching method, a chip pad image stitching device, a computer-readable storage medium, and a computer program product that can automatically stitch together multiple pad images. Summary of the Invention
[0004] To address the aforementioned technical problems, according to one aspect of the present invention, a chip pad image stitching method is provided, comprising: acquiring a chip pad image, wherein the chip pad image is sequentially associated with pad positions, detecting pad blocks on the chip pad image, and determining a position category of the chip pad image based on the detected pad blocks; determining the relative position of at least one pair of adjacent images in the chip pad image based on the position category of the chip pad image; and stitching the at least one pair of adjacent images based on the relative position to obtain at least one stitched image.
[0005] According to another aspect of the present invention, a chip pad image stitching apparatus is provided, comprising: an acquisition unit configured to acquire chip pad images, wherein the chip pad images are sequentially associated with pad positions; a position category determination unit configured to detect pad blocks on the chip pad images and determine the position category of the chip pad images based on the detected pad blocks; a relative position determination unit configured to determine the relative position of at least one pair of adjacent images in the chip pad images based on the position category of the chip pad images; and a stitching unit configured to stitch the at least one pair of adjacent images based on the relative positions to obtain at least one stitched image.
[0006] According to another aspect of the present invention, a chip pad image stitching apparatus is provided, comprising: a processor; and a memory storing a computer program, wherein the computer program, when executed by the processor, causes the processor to perform the following steps: acquiring chip pad images, wherein the chip pad images are sequentially associated with pad positions; detecting pad blocks on the chip pad images and determining a position category of the chip pad images based on the detected pad blocks; determining the relative positions of at least one pair of adjacent images in the chip pad images based on the position category of the chip pad images; and stitching the at least one pair of adjacent images based on the relative positions to obtain at least one stitched image.
[0007] According to another aspect of the present invention, a computer-readable storage medium is provided having a computer program stored thereon, wherein the computer program, when executed by a processor, performs the following steps: acquiring a chip pad image, wherein the chip pad image is sequentially associated with pad positions; detecting pad blocks on the chip pad image; and determining a position category of the chip pad image based on the detected pad blocks; determining the relative position of at least one pair of adjacent images in the chip pad image based on the position category of the chip pad image; and stitching the at least one pair of adjacent images based on the relative position to obtain at least one stitched image.
[0008] According to another aspect of the present invention, a computer program product is provided, comprising a computer program, wherein when the computer program is executed by a processor, it performs the following steps: acquiring a chip pad image, wherein the chip pad image is sequentially associated with pad positions; detecting pad blocks on the chip pad image and determining a position category of the chip pad image based on the detected pad blocks; determining the relative position of at least one pair of adjacent images in the chip pad image based on the position category of the chip pad image; and stitching the at least one pair of adjacent images based on the relative position to obtain at least one stitched image.
[0009] According to the chip pad image stitching method, chip pad image stitching apparatus, computer-readable storage medium, and computer program product described above, it is possible to stitch two adjacent chip pad images by detecting pad blocks in an image. Furthermore, by using a template matching-based stitching algorithm, chip pad image stitching is better adapted to the characteristics of chip pad images compared to other image stitching algorithms, thus achieving better stitching results. In addition, during template matching, an appropriate stitching template can be automatically determined, eliminating the need to manually select a portion of the image as the stitching template, thus achieving fully automatic image stitching. Attached Figure Description
[0010] The above and other objects, features, and advantages of the present invention will become clearer from the detailed description of the embodiments of the present invention in conjunction with the accompanying drawings.
[0011] Figure 1 A flowchart of a chip pad image stitching method 100 according to an embodiment of the present invention is shown;
[0012] Figure 2 An example of multiple chip pad images sequentially associated with pad locations according to an embodiment of the present invention is shown;
[0013] Figure 3 An example of pad blocks detected on a chip pad image according to an embodiment of the present invention is shown;
[0014] Figure 4 An example of stitching together a pair of adjacent images based on their relative positions, according to an embodiment of the present invention, is shown;
[0015] Figure 5 Another example of stitching adjacent images based on their relative positions according to an embodiment of the present invention is shown;
[0016] Figure 6 Another example of stitching together a pair of adjacent images based on their relative positions, according to an embodiment of the present invention, is shown;
[0017] Figure 7 An example of stitching together multiple stitched images to obtain a global image according to an embodiment of the present invention is shown;
[0018] Figure 8 A block diagram of a chip pad image stitching apparatus 800 according to an embodiment of the present invention is shown;
[0019] Figure 9 A block diagram of a chip pad image stitching apparatus 900 according to an embodiment of the present invention is shown. Detailed Implementation
[0020] The chip pad image stitching method, chip pad image stitching apparatus, and computer-readable storage medium according to embodiments of the present invention will now be described with reference to the accompanying drawings. In the drawings, the same reference numerals denote the same elements throughout. It should be understood that the embodiments described herein are merely illustrative and should not be construed as limiting the scope of the invention.
[0021] Figure 1 A flowchart of a chip pad image stitching method 100 according to an embodiment of the present invention is shown. Refer below... Figure 1 A chip pad image stitching method according to an embodiment of the present invention is described.
[0022] In step S101, a chip pad image can be obtained, wherein the chip pad image is sequentially associated with the pad position.
[0023] Typically, during chip wire bonding, the entire bonding area on the substrate is divided into several local regions and bonded sequentially (e.g., clockwise or counterclockwise). Accordingly, the chip pad images sequentially associated with the pad positions according to embodiments of the present invention can be images captured synchronously during the wire bonding process. For example, after a wire bonding machine (such as a pressure bonding machine) bonds pads in a certain local region, an image of the pad corresponding to that local region can be captured synchronously, and after the wire bonding machine moves to bond pads in the next local region, an image of the pad corresponding to the next local region can be captured. In this way, multiple captured chip pad images are sequentially associated with the pad positions. Accordingly, chip pad images according to embodiments of the present invention can be captured synchronously using a miniature camera on the wire bonding machine. However, the present invention is not limited to this, and image capture devices located in other positions or of other types can be employed.
[0024] In another example, instead of capturing pad images simultaneously during wire bonding, different local areas or positions on the soldering area can be photographed sequentially (e.g., clockwise or counterclockwise) along the soldering area after all pads have been soldered, to obtain chip pad images that are sequentially associated with the pad positions according to embodiments of the present invention.
[0025] Figure 2 An example of multiple chip pad images sequentially associated with pad locations according to an embodiment of the present invention is shown. Figure 2 In the Nth image, the pad shown in the soldering area is located between the pads shown in the (N-1)th and (N+1)th images, where N is a positive integer greater than 1. That is, the pads shown in two adjacent chip pad images according to the embodiment of the present invention are also adjacent in actual physical location (i.e., in the soldering area).
[0026] In step S102, pad blocks on the chip pad image can be detected, and the location category of the chip pad image can be determined based on the detected pad blocks. The pad blocks can correspond to areas on the chip pad image where several pads are clustered or concentrated.
[0027] In this step, pad blocks on the chip pad image can be detected using machine learning or deep learning methods. For example, optionally, a trained deep learning network model (such as the YOLO model) can be used to detect pad blocks on the chip pad image. However, the invention is not limited to this, and other methods can be used to detect pad blocks. Furthermore, pad blocks on the soldering area may typically have different orientations, such as vertical or horizontal. Accordingly, in this step, individual pad blocks with different orientations on the chip pad image can be identified, for example, using a trained model.
[0028] In one example, detecting pad blocks on a chip pad image and determining the position category of the chip pad image based on the detected pad blocks may include: detecting pad blocks with a first orientation and a second orientation on the chip pad image; and determining the position category of the chip pad image based at least on the number of pad blocks with the first orientation and the second orientation. The first orientation and the second orientation may represent a vertical orientation and a horizontal orientation, respectively, but the invention is not limited thereto. For example, the first orientation and the second orientation may also represent a horizontal orientation and a vertical orientation, respectively, without limitation.
[0029] Figure 3 An example of pad blocks detected on a chip pad image according to an embodiment of the present invention is shown. Figure 3 As exemplarily shown, pad blocks 311, 321-322, 331, and 341-342 are detected on chip pad images 31-34, respectively. Furthermore, different pad blocks with different orientations may be detected on the same chip pad image, typically indicating that the pads on that chip pad image are located at corners of the soldering area. For example, pad blocks 321 and 322 with vertical and horizontal orientations are detected on chip pad image 32, and pad blocks 341 and 342 with vertical and horizontal orientations are detected on chip pad image 34. Based on the relative positions of the vertical and horizontal orientation pad blocks, the pads on chip pad image 32 are located at the lower left corner of the soldering area, while the pads on chip pad image 34 are located at the lower right corner of the soldering area. Conversely, if only a single orientation pad block is detected on the same chip pad image, it typically means that the pads on that chip pad image are not located at corners of the soldering area, but rather in the area between two corners of the soldering area. Accordingly, the approximate location of the pads in the soldering area of a chip pad image can be determined based on the number (and relative position) of pad blocks with a specific orientation detected on the chip pad image, thus identifying the location category of each chip pad image. The specific method for determining the location category of a chip pad image based on this principle will be described below.
[0030] Specifically, in this embodiment, determining the position category of a chip pad image based at least on the number of pad blocks in the first orientation and the second orientation may include: determining the position category based on the orientation of the detected pad blocks when only pad blocks in the first orientation or the second orientation are detected on the chip pad image; and determining the position category based on the relative position of the pad blocks in the first orientation and the second orientation when both pad blocks in the first orientation and the second orientation are detected on the chip pad image.
[0031] More specifically, assuming that only pad blocks with a first orientation or a second orientation are detected on the chip pad image, the location category of the chip pad image can be determined as the category corresponding to the first orientation or the second orientation. For example, referring again... Figure 3 If only vertically oriented pad blocks 311 are detected on chip pad image 31 (meaning that the pads on chip pad image 31 are located in the vertical region of the soldering area), then the position category of chip pad image 31 can be determined as category V (i.e., vertical category); and if only horizontally oriented pad blocks 331 are detected on chip pad image 33 (meaning that the pads on chip pad image 33 are located in the horizontal region of the soldering area), then the position category of chip pad image 33 can be determined as category H (i.e., horizontal category).
[0032] Furthermore, if both first-oriented and second-oriented pad blocks are detected on the chip pad image (e.g., simultaneously detecting vertically and horizontally oriented pad blocks), the position category can be determined based on the relative positions of the first-oriented and second-oriented pad blocks. Optionally, in this case, the coordinates of the center points of the first-oriented and second-oriented pad blocks can be determined, thereby determining the relative positions of the first-oriented and second-oriented pad blocks by comparing the coordinates of the two center points.
[0033] For example, refer to again Figure 3 Pad blocks 321 and 322, with vertical and horizontal orientations respectively, were detected on chip pad image 32. The coordinates of the center points of pad blocks 321 and 322 can then be determined and compared. By comparing the coordinates of the center points of pad blocks 321 and 322, it can be determined that the center point of the vertically oriented pad block 321 is located to the upper left of the center point of the horizontally oriented pad block 322 (meaning the pads on chip pad image 32 are located at the lower left corner of the soldering area). Therefore, the position category of chip pad image 32 can be determined as LB category (i.e., Left Bottom category). Similarly, if it is determined that the center point of the vertically oriented pad block is located to the upper right of the center point of the horizontally oriented pad block (e.g., ...), ... Figure 3The pad blocks 341 and 342 shown in the image indicate that the pads on the chip pad image are located at the bottom right corner of the soldering area. Therefore, the position category of the chip pad image can be determined as RB (i.e., Right Bottom). If the center point of the vertically oriented pad block is determined to be located to the lower right of the center point of the horizontally oriented pad block (meaning the pads on the chip pad image are located at the top right corner of the soldering area), then the position category of the chip pad image can be determined as RT (i.e., Right Top). Furthermore, if the center point of the vertically oriented pad block is determined to be located to the lower left of the center point of the horizontally oriented pad block (meaning the pads on the chip pad image are located at the top left corner of the soldering area), then the position category of the chip pad image can be determined as LT (i.e., Left Top).
[0034] It should be noted that the position categories such as V, H, LB, RB, RT, and LT mentioned above are merely examples. Those skilled in the art can use other category labels as position categories for chip pad images according to specific circumstances, and there are no restrictions here.
[0035] In step S103, the relative positions of at least one pair of adjacent images in the chip pad images can be determined based on the position category of the chip pad images.
[0036] In this step, determining the relative positions of at least one pair of adjacent images in the chip pad images based on the position categories of the chip pad images may include: determining the capture order of the chip pad images based on the position categories of the chip pad images; and determining the relative positions of at least one pair of adjacent images based on the capture order of the chip pad images. More specifically, in order to determine the capture order of chip pad images sequentially associated with the pad positions, after obtaining the position categories of the chip pad images, the position categories can be sequentially arranged according to the image order to obtain a position category sequence, and the capture order of the chip pad images can be determined based on the order of the position categories corresponding to the corners of the solder area (e.g., top left, bottom left, top right, and bottom right) in the position category sequence.
[0037] For illustrative purposes, and more specifically, assuming a total of 16 chip pad images sequentially associated with the pad locations were captured, and the location category of each image was determined through step S102, the location categories of these 16 images can be sequentially arranged from the 1st image to the 16th image to obtain the following location category sequence:
[0038] V→V→V→V→LB→H→H→RB→V→V→V→V→RT→H→H→LT.
[0039] Based on the order of the position categories corresponding to the corners of the soldering area in the above position category sequence (i.e., LB→……→RB→……→RT→……→LT), it can be determined that the capture order of these 16 chip pad images is "bottom left corner → bottom right corner → top right corner → top left corner", that is, counterclockwise order.
[0040] Subsequently, the relative positions of at least one pair of adjacent images can be determined based on the capture order of the chip pad images. For example, in the example of the position category sequence above, the relative positions of any pair of adjacent images (including image pairs 5→6, 6→7, 7→8, where the image pair numbers described herein and given below represent the image order) between the 5th to 8th images in position categories LB and RB are from left to right (hereinafter referred to as L_R), and the relative positions of any pair of adjacent images (including image pairs 8→9, 9→10, 10→11, 11→12, 12→13) between the 8th to 13th images in position categories RB and RT are from left to right. For images with positions from bottom to top (hereinafter referred to as B_T), the relative positions of any pair of adjacent images (including image pairs 13→14, 14→15, 15→16) between the 13th and 16th images in position categories RT and LT are from right to left (hereinafter referred to as R_L), and the relative positions of any pair of adjacent images (including image pairs 16→1, 1→2, 2→3, 3→4, 4→5) between the 16th and 5th images in position categories LT and LB are from top to bottom (hereinafter referred to as T_B).
[0041] In step S104, at least one pair of adjacent images can be stitched together based on their relative positions to obtain at least one stitched image.
[0042] In an idealized, simple example, assuming that there is no overlapping area between adjacent images (i.e., the image edges overlap) and they are aligned along the pad blocks, then after determining the relative positions, the corresponding edges of a pair of adjacent images can be directly stitched together based on the relative positions to obtain at least one stitched image.
[0043] Figure 4 An example of stitching together adjacent images based on their relative positions, according to an embodiment of the present invention, is shown. Figure 4 As shown, assuming the relative position of a pair of adjacent images 401 and 402 is determined to be T_B, and there is no overlapping area between adjacent images 401 and 402 and they are aligned along the pad block (i.e., the center lines of the pad blocks 4011 and 4021 are aligned along the X direction), then the lower edge of image 401 and the upper edge of image 402 can be directly stitched together based on the relative position T_B to obtain the stitched image 403.
[0044] Furthermore, if adjacent images are not aligned along the pad blocks (e.g., refer to...) Figure 4 (Assuming that the center lines 4011 and 4021 of the pad block are not aligned along the X direction, the two images can be aligned along the center lines of the pad block before stitching together the corresponding edges of the two images.)
[0045] However, typically, adjacent images captured do not necessarily have overlapping edges, but rather overlap within the images themselves. In this case, stitching together at least one pair of adjacent images based on their relative positions can include: stitching together at least one pair of adjacent images using template matching based on their relative positions.
[0046] Figure 5 Another example of stitching adjacent images based on their relative positions according to an embodiment of the present invention is shown. For example... Figure 5 As shown, although a pair of adjacent images 501 and 502 are aligned along the pad blocks (i.e., the center lines 5011 and 5021 of the pad blocks are aligned along the X direction), they do not overlap at the edges but rather have a certain overlapping area inside. In this case, it is not possible to directly stitch images 501 and 502 together by splicing the lower edge of image 501 and the upper edge of image 502. Instead, images 501 and 502 can be stitched together using template matching.
[0047] Specifically, stitching at least one pair of adjacent images based on relative position using template matching can include: determining a stitching template on a first image in the at least one pair of adjacent images based on the relative position; determining a matching stitching region on a second image in the at least one pair of adjacent images based on the stitching template; and stitching the at least one pair of adjacent images based on the stitching template and the stitching region. More specifically, the approximate location of the overlapping region on the second image can be determined based on the relative position on the first image, such as the top, bottom, left, or right region of the image, as the stitching template for performing the template matching operation.
[0048] Continue to refer to Figure 5 To illustrate, the first image and the second image can be, for example, Figure 5The diagram shows a pair of adjacent images 501 and 502. Based on the relative position T_B of images 501 and 502, it can be determined that there is an overlapping region near the lower edge of image 501 and near the upper edge of image 502. Therefore, region 5012 near the lower edge of image 501 can be determined as the stitching template. The width W0 of region 5012 can be set to be equal to the width of image 501, and the height H0 of region 5012 can be set to span several pixels upwards from the lower edge of the image. The number of pixels (i.e., the size of the height H) should be less than or equal to the width of the overlapping region when the image was captured. Subsequently, a template matching operation can be performed on image 502 based on this stitching template to find the region 5022 on image 502 that is closest to / matches the stitching template as the stitching region. Finally, a stitched image 503 can be obtained by stitching the region 5012, which serves as the stitching template, and the matched region 5022, which serves as the stitching region, in an overlapping manner. Region 5031 in the stitched image 503 is the region formed by stitching the regions 5012 and 5022 in an overlapping manner.
[0049] It should be noted that the above description is merely an example, and the present invention is not limited thereto. For example, in order to perform a stitching operation on images 501 and 502, image 502 can also be used as the first image. Based on the relative position T_B of images 501 and 502, the area near the upper edge of image 502 can be determined as a stitching template. Subsequently, a template matching operation can be performed on image 501 based on the stitching template to find a matching stitching area. This is not a limitation.
[0050] In other cases, besides the edges not coinciding, the two adjacent images may not be aligned along the pad blocks. In such cases, a more complex method is needed to more accurately determine the position and size of the appropriate stitching template to achieve better template matching and stitching results.
[0051] In this case, determining the stitching template on the first image of at least one pair of adjacent images based on relative position may include: determining an initial position of the stitching template on the first image based on the relative position; and determining a final position of the stitching template based on the initial position and the positions of pad blocks detected on the first and second images. More specifically, a specific region (top region, bottom region, left region, or right region) on the first image may be determined as the initial position of the stitching template based on the relative position of the two adjacent images, and then the final position of the stitching template may be determined based on this initial position and the position of the center line (i.e., the stitching reference line) of the pad blocks with the same orientation on the first and second images.
[0052] Next Figure 6Let's take an example to illustrate the specific methods for more accurately determining the position and size of splicing templates. Figure 6 Another example of stitching together a pair of adjacent images based on their relative positions, according to an embodiment of the present invention, is shown. Figure 6 The pair of adjacent images 601 and 602 shown can be used as examples of the first and second images described above, respectively.
[0053] In this embodiment, the right region of image 601 and the left region of image 602 can be determined to overlap based on the relative positions L_R of images 601 and 602. This allows us to determine that the initial position (approximate position) of the stitching template should be located in the right region of the first image. Subsequently, the final position of the stitching template can be determined based on this initial position and the positions of the horizontal pads detected in the first and second images. This ensures that the final determined stitching template facilitates the alignment of the center lines (i.e., stitching reference lines) of the pad blocks with the same orientation in two adjacent images, and that the area serving as the stitching template does not exceed the overlapping area of the two adjacent images.
[0054] Continue to refer to Figure 6 Let's illustrate this with an example. In one example, suppose in Figure 6 The center lines 6011 and 6012 of the horizontal pad blocks, which serve as the stitching reference lines, are Y_1 and Y_2 in the Y direction, respectively. The heights of images 601 and 602 are H_1 and H_2, and their widths are W_1 and W_2, respectively. The preset width of the stitching template is W0. The smaller value between Y_1 and Y_2 can be denoted as d1 (d1 = Y_2 in this example), and the smaller value between H_1 - Y_1 and H_2 - Y_2 can be denoted as d2 (d2 = H_1 - Y_1 in this example). Therefore, the coordinates of the upper left corner of the stitching template can be determined as (W_1 - W0, Y_1 - d1), and the coordinates of the lower right corner of the stitching template can be determined as (W_1, Y_1 + d2). This determines the region 6012 corresponding to the above coordinates as the final position of the stitching template. It is necessary to reasonably set the preset width W0 of the stitching template so that it is less than or equal to the width of the overlapping area when the images were captured.
[0055] Subsequently, a template matching operation can be performed on image 602 based on region 6012, which serves as the stitching template, to find the region 6022 on image 602 that is closest to / matches the stitching template as the stitching region. Finally, the stitched image 603 can be obtained by stitching region 6012 and the matched region 6022 in an overlapping manner. Region 6031 in stitched image 603 is the region formed by stitching regions 6012 and 6022 in an overlapping manner. As an example, blank areas in stitched image 603 are filled with black pixels.
[0056] The following describes the specific methods for determining the final position of the splicing template for other types of relative positions.
[0057] Specifically, assuming that the left region of the first image coincides with the right region of the second image based on the relative position R_L of the first and second images, the initial position of the stitching template can be determined to be in the left region of the first image. Subsequently, assuming that the coordinates of the center lines of the horizontal pad blocks on the first and second images in the Y direction are Y_1 and Y_2 respectively, the heights of the first and second images are H_1 and H_2 respectively, and the widths are W_1 and W_2 respectively, and the preset width of the stitching template is W0, then the smaller value of Y_1 and Y_2 can be denoted as d1, and the smaller value of H_1 - Y_1 and H_2 - Y_2 can be denoted as d2. Thus, the coordinates of the upper left corner of the stitching template can be determined as (0, Y_1 - d1), and the coordinates of the lower right corner of the stitching template can be determined as (W0, Y_1 + d2), thereby determining the region corresponding to the above coordinates as the final position of the stitching template. It is necessary to reasonably set the preset width W0 of the stitching template so that it is less than or equal to the width of the overlapping area when the images were captured.
[0058] Similarly, in another example, assuming that the bottom region of the first image coincides with the top region of the second image based on the relative position T_B of the first and second images, the initial position of the stitching template can be determined to be in the bottom region of the first image. Subsequently, assuming that the coordinates of the center lines of the vertical pad blocks on the first and second images in the X direction are X_1 and X_2 respectively, the heights of the first and second images are H_1 and H_2 respectively, and the widths are W_1 and W_2 respectively, and the preset height of the stitching template is H0, then the smaller value of X_1 and X_2 can be denoted as d1, and the smaller value of W_1-X_1 and W_2-X_2 can be denoted as d2. Thus, the coordinates of the upper left corner of the stitching template can be determined as (X_1-d1, H_1-H0), and the coordinates of the lower right corner of the stitching template can be determined as (X_1+d2, H_1), thereby determining the region corresponding to the above coordinates as the final position of the stitching template. This requires setting the preset height H0 of the splicing template appropriately, so that it is less than or equal to the height of the overlapping area when the image is captured.
[0059] Similarly, in another example, assuming that the top region of the first image coincides with the bottom region of the second image based on the relative position B_T of the first and second images, the initial position of the stitching template can be determined to be in the top region of the first image. Subsequently, assuming that the coordinates of the center lines of the vertical pad blocks on the first and second images in the X direction are X_1 and X_2 respectively, the heights of the first and second images are H_1 and H_2 respectively, and the widths are W_1 and W_2 respectively, and the preset height of the stitching template is H0, then the smaller value of X_1 and X_2 can be denoted as d1, and the smaller value of W_1-X_1 and W_2-X_2 can be denoted as d2. Thus, the coordinates of the upper left corner of the stitching template can be determined as (X_1-d1, 0), and the coordinates of the lower right corner of the stitching template can be determined as (X_1+d2, H0), thereby determining the region corresponding to the above coordinates as the final position of the stitching template. This requires setting the preset height H0 of the splicing template appropriately, so that it is less than or equal to the height of the overlapping area when the image is captured.
[0060] It should be noted that the above calculation process and the final determined splicing template coordinates are only examples. Those skilled in the art can modify them as needed, as long as it ensures that a suitable splicing template can be determined.
[0061] As described above, after determining the region on the first image as the stitching template using the above method, a template matching operation can be performed on the second image based on the stitching template to find the region on the second image that is closest to / matches the stitching template as the stitching region. Finally, the stitched image can be obtained by stitching the stitching template and the matched stitching region in an overlapping manner.
[0062] In a further embodiment, each pair of adjacent images in the chip pad image can be stitched together based on the above method to obtain multiple stitched images, and each pair of adjacent images in the multiple stitched images can be stitched together to obtain a global image.
[0063] Figure 7 An example is shown of stitching together multiple images to obtain a global image according to an embodiment of the present invention. For example... Figure 7 As shown, the numbers below the stitched images 701-706 indicate which two adjacent images were stitched together to form the stitched image. For example, the number "1_2" indicates that the stitched image 701 above it was formed by stitching together the first and second adjacent chip pad images. After obtaining multiple stitched images 701-706, each pair of adjacent images can be stitched together, for example, stitching images 701 and 702, stitching images 702 and 703, and so on. During stitching, corresponding parts of two adjacent stitched images can be stitched together in an overlapping manner. For example, when stitching images 701 and 702, the parts of images 701 and 702 corresponding to the second chip pad image can be stitched together in an overlapping manner. Finally, as shown... Figure 7 As shown on the right, a global image 707 can be formed by stitching together each pair of adjacent images in the stitched images 701-706.
[0064] In summary, the chip pad image stitching method according to embodiments of the present invention can stitch two adjacent chip pad images by detecting pad blocks in the image. Furthermore, multiple stitched images can be stitched together to form a global image, facilitating image storage and overall soldering status inspection. Moreover, by using a template matching-based stitching algorithm for chip pad image stitching, compared to other image stitching algorithms (e.g., feature point-based or deep learning-based algorithms), it is better suited for chip pad images with overlapping areas and no significant scale changes or distortions, thus achieving better stitching results. Additionally, during template matching, an appropriate stitching template can be automatically determined based on the detection of pad blocks in the image, eliminating the need to manually select a portion of the image as the stitching template, thus achieving fully automatic image stitching.
[0065] Below, refer to Figure 8 The chip pad image stitching apparatus 800 according to an embodiment of the present invention will be described. Figure 8 A block diagram of a chip pad image stitching apparatus 800 according to an embodiment of the present invention is shown. Figure 8 As shown, the chip pad image stitching device 800 includes an acquisition unit 810, a position category determination unit 820, a relative position determination unit 830, and a stitching unit 840. Besides these units, the chip pad image stitching device 800 may also include other components; however, since these components are not relevant to the content of this embodiment, their illustrations and descriptions are omitted here. Furthermore, the specific details of the operations performed by the chip pad image stitching device 800 according to this embodiment are consistent with those described above. Figure 1 The details described are the same, so repeated descriptions of the same details are omitted here to avoid repetition.
[0066] Figure 8 The acquisition unit 810 can acquire chip pad images, wherein the chip pad images are sequentially associated with the pad positions.
[0067] The chip pad images acquired by the acquisition unit 810, which are sequentially associated with the pad positions, can be images captured synchronously during the wire bonding process. For example, after a wire bonding machine (such as a pressure bonding machine) solders pads in a certain local area, an image of the pads corresponding to that local area can be captured synchronously, and after the wire bonding machine moves to solder pads in the next local area, an image of the pads corresponding to the next local area can be captured. In this way, the multiple captured chip pad images are sequentially associated with the pad positions.
[0068] In another example, instead of capturing pad images simultaneously during wire bonding, different local areas or positions on the soldering area can be photographed sequentially (e.g., clockwise or counterclockwise) along the soldering area after all pads have been soldered, thereby capturing chip pad images that are sequentially associated with the pad positions acquired by the acquisition unit 810.
[0069] Figure 8 The position category determination unit 820 can detect pad blocks on the chip pad image and determine the position category of the chip pad image based on the detected pad blocks. The pad blocks can correspond to areas on the chip pad image where several pads are clustered or concentrated.
[0070] The location category determination unit 820 can detect pad blocks on the chip pad image using machine learning or deep learning. For example, optionally, the location category determination unit 820 can use a trained deep learning network model (such as the YOLO model) to detect pad blocks on the chip pad image. However, the invention is not limited to this, and other methods can be used to detect pad blocks. Furthermore, pad blocks on the soldering area may typically have different orientations, such as vertical or horizontal. Accordingly, in this step, the location category determination unit 820 can, for example, use a trained model to identify individual pad blocks on the chip pad image with different orientations.
[0071] In one example, the location category determination unit 820 detects pad blocks on a chip pad image and determines the location category of the chip pad image based on the detected pad blocks. This may include: detecting pad blocks with a first orientation and a second orientation on the chip pad image; and determining the location category of the chip pad image based at least on the number of pad blocks with the first orientation and the second orientation. The first orientation and the second orientation may represent a vertical orientation and a horizontal orientation, respectively, but the invention is not limited thereto. For example, the first orientation and the second orientation may also represent a horizontal orientation and a vertical orientation, respectively, without limitation.
[0072] Specifically, in this embodiment, the location category determination unit 820 may determine the location category of the chip pad image based at least on the number of pad blocks in the first orientation and the second orientation, including: determining the location category based on the orientation of the detected pad blocks when only pad blocks in the first orientation or the second orientation are detected on the chip pad image; and determining the location category based on the relative position of the pad blocks in the first orientation and the second orientation when both pad blocks in the first orientation and the second orientation are detected on the chip pad image.
[0073] More specifically, assuming that only pad blocks with a first orientation or a second orientation are detected on the chip pad image, the position category determination unit 820 can determine the position category of the chip pad image as the category corresponding to the first orientation or the second orientation.
[0074] Furthermore, if both first-oriented and second-oriented pad blocks are detected on the chip pad image (e.g., simultaneously detecting vertically and horizontally oriented pad blocks), the position category determination unit 820 can determine the position category based on the relative positions of the first-oriented and second-oriented pad blocks. Optionally, in this case, the position category determination unit 820 can determine the coordinates of the center points of the first-oriented and second-oriented pad blocks, thereby determining the relative positions of the first-oriented and second-oriented pad blocks by comparing the coordinates of the two center points.
[0075] Figure 8 The relative position determination unit 830 can determine the relative position of at least one pair of adjacent images in the chip pad image based on the position category of the chip pad image.
[0076] The relative position determination unit 830, based on the position category of the chip pad images, determines the relative position of at least one pair of adjacent images in the chip pad images. This can include: determining the capture order of the chip pad images based on their position categories; and determining the relative position of at least one pair of adjacent images based on their capture order. More specifically, to determine the capture order of the chip pad images sequentially associated with the pad positions, after obtaining the position categories of the chip pad images, the relative position determination unit 830 can sequentially arrange the position categories according to the image order to obtain a position category sequence, and determine the capture order of the chip pad images based on the order of the position categories corresponding to the corners of the soldering area (e.g., top left, bottom left, top right, and bottom right).
[0077] Figure 8 The stitching unit 840 can stitch together at least one pair of adjacent images based on their relative positions to obtain at least one stitched image.
[0078] In an idealized, simplified example, assuming that there is no overlapping area between adjacent images (i.e., the image edges overlap) and they are aligned along the pad blocks, then after determining the relative positions, the stitching unit 840 can directly stitch the corresponding edges of a pair of adjacent images based on the relative positions to obtain at least one stitched image.
[0079] However, typically, adjacent images captured do not necessarily have overlapping edges, but rather overlap within the images themselves. In this case, the stitching unit 840 may stitch at least one pair of adjacent images based on their relative positions by performing template matching based on their relative positions.
[0080] Specifically, the stitching unit 840 may stitch at least one pair of adjacent images based on relative position using template matching, including: determining a stitching template on a first image in the at least one pair of adjacent images based on the relative position; determining a matching stitching region on a second image in the at least one pair of adjacent images based on the stitching template; and stitching the at least one pair of adjacent images based on the stitching template and the stitching region. More specifically, the approximate location of the overlapping region on the second image may be determined based on the relative position on the first image, such as the top, bottom, left, or right region of the image, as a stitching template for performing the template matching operation.
[0081] In other cases, besides the edges not coinciding, the two adjacent images may not be aligned along the pad blocks. In such cases, a more complex method is needed to more accurately determine the position and size of the appropriate stitching template to achieve better template matching and stitching results.
[0082] In this case, the stitching unit 840 determining the stitching template on the first image in at least one pair of adjacent images based on the relative position may include: determining the initial position of the stitching template on the first image based on the relative position; and determining the final position of the stitching template based on the initial position and the positions of pad blocks detected on the first image and the second image.
[0083] Continue to refer to Figure 6 In this embodiment, the stitching unit 840 can first determine, based on the relative positions L_R of images 601 and 602, that the right region of image 601 coincides with the left region of image 602. This allows it to determine that the initial position (i.e., approximate position) of the stitching template should be located in the right region of the first image. Subsequently, the stitching unit 840 can determine the final position of the stitching template based on this initial position and the positions of the horizontal pads detected in the first and second images. This ensures that the final determined stitching template facilitates the alignment of the center lines (i.e., stitching reference lines) of the pad blocks with the same orientation in two adjacent images, and that the area serving as the stitching template does not exceed the overlapping area of the two adjacent images.
[0084] Continue to refer to Figure 6 Let's illustrate this with an example. In one example, suppose in Figure 6 The center lines 6011 and 6012 of the horizontal pad blocks shown as the splicing reference lines have coordinates Y_1 and Y_2 in the Y direction, respectively. The heights of images 601 and 602 are H_1 and H_2, and their widths are W_1 and W_2, respectively. The preset width of the splicing template is W0. The smaller value of Y_1 and Y_2 can be denoted as d1 (d1=Y_2 in this example), and the smaller value of H_1-Y_1 and H_2-Y_2 can be denoted as d2 (d2=H_1-Y_1 in this example). Thus, the splicing unit 840 can determine the coordinates of the upper left corner of the splicing template as (W_1-W0, Y_1-d1) and the coordinates of the lower right corner of the splicing template as (W_1, Y_1+d2), thereby determining the region 6012 corresponding to the above coordinates as the final position of the splicing template. This requires setting the preset width W0 of the splicing template appropriately, so that it is less than or equal to the width of the overlapping area when the image is captured.
[0085] Subsequently, the stitching unit 840 can perform a template matching operation on the image 602 based on the region 6012 used as the stitching template, thereby finding the region 6022 on the image 602 that is closest to / matches the stitching template as the stitching region. Finally, the stitching unit 840 can obtain the stitched image 603 by stitching the region 6012 used as the stitching template and the matched region 6022 in an overlapping manner. The region 6031 in the stitched image 603 is the region formed by stitching the regions 6012 and 6022 in an overlapping manner. As an example, the blank areas in the stitched image 603 are filled with black pixels.
[0086] The following describes the specific method by which the splicing unit 840 determines the final position of the splicing template for other types of relative positions.
[0087] Specifically, assuming that the left region of the first image coincides with the right region of the second image based on the relative position R_L of the first and second images, the stitching unit 840 can determine that the initial position of the stitching template is located in the left region of the first image. Subsequently, assuming that the coordinates of the center lines of the horizontal pad blocks on the first and second images in the Y direction are Y_1 and Y_2 respectively, the heights of the first and second images are H_1 and H_2 respectively, and the widths are W_1 and W_2 respectively, and the preset width of the stitching template is W0, then the smaller value of Y_1 and Y_2 can be denoted as d1, and the smaller value of H_1-Y_1 and H_2-Y_2 can be denoted as d2. Thus, the stitching unit 840 can determine the coordinates of the upper left corner of the stitching template as (0, Y_1-d1) and the coordinates of the lower right corner of the stitching template as (W0, Y_1+d2), thereby determining the region corresponding to the above coordinates as the final position of the stitching template. This requires setting the preset width W0 of the splicing template appropriately, so that it is less than or equal to the width of the overlapping area when the image is captured.
[0088] Similarly, in another example, assuming that the bottom region of the first image coincides with the top region of the second image based on the relative position T_B of the first and second images, the stitching unit 840 can determine that the initial position of the stitching template is located in the bottom region of the first image. Subsequently, assuming that the coordinates of the center lines of the vertical pad blocks on the first and second images in the X direction are X_1 and X_2 respectively, the heights of the first and second images are H_1 and H_2 respectively, the widths are W_1 and W_2 respectively, and the preset height of the stitching template is H0, then the smaller value of X_1 and X_2 can be denoted as d1, and the smaller value of W_1 - X_1 and W_2 - X_2 can be denoted as d2. Thus, the stitching unit 840 can determine the coordinates of the upper left corner of the stitching template as (X_1 - d1, H_1 - H0), and the coordinates of the lower right corner of the stitching template as (X_1 + d2, H_1), thereby determining the region corresponding to the above coordinates as the final position of the stitching template. This requires setting the preset height H0 of the splicing template appropriately, so that it is less than or equal to the height of the overlapping area when the image is captured.
[0089] Similarly, in another example, assuming that the top region of the first image coincides with the bottom region of the second image based on the relative position B_T of the first and second images, the stitching unit 840 can determine that the initial position of the stitching template is located in the top region of the first image. Subsequently, assuming that the coordinates of the center lines of the vertical pad blocks on the first and second images in the X direction are X_1 and X_2 respectively, the heights of the first and second images are H_1 and H_2 respectively, the widths are W_1 and W_2 respectively, and the preset height of the stitching template is H0, then the smaller value of X_1 and X_2 can be denoted as d1, and the smaller value of W_1 - X_1 and W_2 - X_2 can be denoted as d2. Thus, the stitching unit 840 can determine the coordinates of the upper left corner of the stitching template as (X_1 - d1, 0) and the coordinates of the lower right corner of the stitching template as (X_1 + d2, H0), thereby determining the region corresponding to the above coordinates as the final position of the stitching template. This requires setting the preset height H0 of the splicing template appropriately, so that it is less than or equal to the height of the overlapping area when the image is captured.
[0090] As described above, after the stitching unit 840 determines the region on the first image as the stitching template in the above manner, it can perform a template matching operation on the second image based on the stitching template to find the region on the second image that is closest to / matches the stitching template as the stitching region. Finally, the stitched image can be obtained by stitching the stitching template and the matched stitching region in an overlapping manner.
[0091] In a further embodiment, the stitching unit 840 may stitch together each pair of adjacent images in the chip pad image in the manner described above to obtain multiple stitched images, and stitch together each pair of adjacent images in the multiple stitched images to obtain a global image.
[0092] In summary, the chip pad image stitching device according to embodiments of the present invention can stitch two adjacent chip pad images by detecting pad blocks on the image. Furthermore, the chip pad image stitching device can also stitch multiple stitched images to form a global image, facilitating image storage and overall soldering status inspection. Moreover, the chip pad image stitching device uses a template matching-based stitching algorithm to stitch chip pad images. Compared to other image stitching algorithms (e.g., feature point-based stitching algorithms or deep learning-based stitching algorithms), it is better suited for chip pad images with overlapping areas and no significant scale changes or distortions, thus achieving better stitching results. Additionally, during template matching, the chip pad image stitching device can automatically determine an appropriate stitching template based on the detection of pad blocks on the image, eliminating the need to manually select a portion of the image as a stitching template, thus achieving fully automatic image stitching.
[0093] Below, refer to Figure 9 This invention describes a chip pad image stitching apparatus according to an embodiment of the present invention. Figure 9 A block diagram of a chip pad image stitching apparatus 900 according to an embodiment of the present invention is shown. Figure 9 As shown, the device 900 can be a computer or a server.
[0094] like Figure 9 As shown, the chip pad image stitching device 900 includes one or more processors 910 and a memory 920. In addition, the chip pad image stitching device 900 may also include input devices, output devices (not shown), etc., and these components can be interconnected via a bus system and / or other forms of connection mechanisms. It should be noted that... Figure 9 The components and structure of the chip pad image stitching device 900 shown are exemplary and not limiting. The chip pad image stitching device 900 may also have other components and structures as needed.
[0095] The processor 910 may be a central processing unit (CPU) or other form of processing unit with data processing capabilities and / or instruction execution capabilities, and may utilize a computer program stored in the memory 920 to perform a desired function, which may include: acquiring a chip pad image, wherein the chip pad image is sequentially associated with pad locations; detecting pad blocks on the chip pad image and determining the location category of the chip pad image based on the detected pad blocks; determining the relative position of at least one pair of adjacent images in the chip pad image based on the location category of the chip pad image; and stitching the at least one pair of adjacent images based on the relative position to obtain at least one stitched image.
[0096] The memory 920 may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. One or more computer programs may be stored on the computer-readable storage medium, and the processor 910 may execute the program instructions to implement the functions of the chip pad image stitching apparatus of the embodiments of the present invention described above, and / or other desired functions, and / or execute the chip pad image stitching method according to the embodiments of the present invention. Various application programs and various data may also be stored in the computer-readable storage medium.
[0097] The following describes a computer-readable storage medium according to embodiments of the present invention, on which a computer program is stored, wherein the computer program, when executed by a processor, performs the following steps: acquiring a chip pad image, wherein the chip pad image is sequentially associated with pad positions; detecting pad blocks on the chip pad image and determining a position category of the chip pad image based on the detected pad blocks; determining the relative position of at least one pair of adjacent images in the chip pad image based on the position category of the chip pad image; and stitching the at least one pair of adjacent images based on the relative position to obtain at least one stitched image.
[0098] The following describes a computer program product according to an embodiment of the present invention, comprising a computer program, wherein the computer program, when executed by a processor, performs the following steps: acquiring a chip pad image, wherein the chip pad image is sequentially associated with pad positions; detecting pad blocks on the chip pad image and determining a position category of the chip pad image based on the detected pad blocks; determining the relative position of at least one pair of adjacent images in the chip pad image based on the position category of the chip pad image; and stitching the at least one pair of adjacent images based on the relative position to obtain at least one stitched image.
[0099] Of course, the specific embodiments described above are merely examples and not limitations. Those skilled in the art can combine and integrate some steps and devices from the various embodiments described separately above to achieve the effects of the present invention. Such combined and integrated embodiments are also included in the present invention, but will not be described one by one here.
[0100] Note that the advantages, benefits, and effects mentioned in this invention are merely examples and not limitations, and should not be considered as essential features of every embodiment of the invention. Furthermore, the specific details described above are for illustrative and illustrative purposes only, and are not intended to limit the invention. These details do not limit the invention from being implemented solely by employing these specific details.
[0101] The block diagrams of devices, apparatuses, devices, and systems involved in this invention are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.
[0102] The flowcharts and method descriptions in this invention are merely illustrative examples and are not intended to require or imply that the steps of the various embodiments must be performed in the given order. As those skilled in the art will recognize, the steps in the above embodiments can be performed in any order. Words such as "then," "next," etc., are not intended to limit the order of steps; these words are only used to guide the reader through the description of these methods. Furthermore, any reference to a singular element, such as the use of the articles "a," "one," or "the," is not to be construed as limiting that element to the singular.
[0103] Furthermore, the steps and apparatus in the various embodiments herein are not limited to any one embodiment. In fact, new embodiments can be conceived by combining relevant steps and apparatus in the various embodiments herein with the concepts of the present invention, and these new embodiments are also included within the scope of the present invention.
[0104] Each operation described above can be performed by any suitable means capable of performing the corresponding function. Such means may include various hardware and / or software components and / or modules, including but not limited to circuits, application-specific integrated circuits (ASICs), or processors.
[0105] The various exemplified logic blocks, modules, and circuits described herein can be implemented or performed using a general-purpose processor, digital signal processor (DSP), ASIC, field-programmable gate array (FPGA) or other programmable logic device (PLD), discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but alternatively, it may be any commercially available processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors cooperating with a DSP core, or any other such configuration.
[0106] The steps of the methods or algorithms described in this invention can be directly embedded in hardware, in a software module executed by a processor, or a combination of both. The software module can reside in any form of tangible storage medium. Some examples of usable storage media include random access memory (RAM), read-only memory (ROM), flash memory, EPROM, EEPROM, registers, hard disks, removable disks, CD-ROMs, etc. The storage medium can be coupled to the processor so that the processor can read information from and write information to the storage medium. Alternatively, the storage medium can be integral with the processor. The software module can be a single instruction or many instructions, and can be distributed across several different code segments, different programs, and across multiple storage media.
[0107] The method of this invention includes one or more actions for implementing the method. The methods and / or actions may be interchanged without departing from the scope of the claims. In other words, unless a specific order of actions is specified, the order and / or use of specific actions may be modified without departing from the scope of the claims.
[0108] The described functionality can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functionality can be stored as one or more instructions on a physical computer-readable medium. The storage medium can be any available physical medium that can be accessed by a computer. By way of example, and not limitation, such a computer-readable medium can include RAM, ROM, EEPROM, CD-ROM or other optical disc storage, disk storage or other magnetic storage devices, or any other physical medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. As used herein, a disc includes a compact disc (CD), a laser disc, an optical disc, a digital universal disc (DVD), a floppy disk, and a Blu-ray disc.
[0109] Therefore, a computer program product can perform the operations described herein. For example, such a computer program product can be a computer-readable tangible medium having instructions tangibly stored (and / or encoded) thereon, which can be executed by one or more processors to perform the operations described herein. The computer program product may include packaging materials.
[0110] Software or instructions can also be transmitted via a transmission medium. For example, software can be transmitted from a website, server, or other remote source using transmission media such as coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, or microwave.
[0111] Furthermore, modules and / or other suitable means for carrying out the methods and techniques described herein can be downloaded and / or obtained by user terminals and / or base stations as appropriate. For example, such a device can be coupled to a server to facilitate the transmission of means for carrying out the methods described herein. Alternatively, the various methods described herein can be provided via storage components (e.g., RAM, ROM, physical storage media such as CDs or floppy disks) so that user terminals and / or base stations can obtain the various methods when coupled to the device or when providing storage components to the device. Furthermore, any other suitable techniques for providing the methods and techniques described herein to the device can be utilized.
[0112] Other examples and implementations are within the scope and spirit of this invention and the appended claims. For example, due to the nature of software, the functions described above can be implemented using software executed by a processor, hardware, firmware, hardwired, or any combination thereof. Features implementing the functions can also be physically located in various places, including being distributed so that parts of the functions are implemented at different physical locations. Moreover, as used herein, including as used in the claims, the "or" used in a list of items beginning with "at least one" indicates a separate list, such that a list of, for example, "at least one of A, B, or C" means A or B or C, or AB or AC or BC, or ABC (i.e., A and B and C). Furthermore, the word "exemplary" does not mean that the described examples are preferred or better than other examples.
[0113] Various changes, substitutions, and modifications can be made to the technology described herein without departing from the teachings defined by the appended claims. Furthermore, the scope of the claims is not limited to the specific aspects of the processes, machines, manufacturing processes, events, means, methods, and actions described above. Currently existing or later-developed processes, machines, manufacturing processes, events, means, methods, or actions that perform substantially the same function or achieve substantially the same result as the corresponding aspects described herein can be utilized. Therefore, the appended claims include such processes, machines, manufacturing processes, events, means, methods, or actions within their scope.
[0114] The above description of aspects of the invention is provided to enable any person skilled in the art to make or use the invention. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein can be applied to other aspects without departing from the scope of the invention. Therefore, the invention is not intended to be limited to the aspects shown herein, but rather to be carried out within the widest scope consistent with the principles and novel features of the invention herein.
[0115] The above description has been given for illustrative and descriptive purposes. Furthermore, this description is not intended to limit the embodiments of the invention to the forms described herein. Although numerous exemplary aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations therein.
Claims
1. A method for stitching chip pad images, comprising: Acquire chip pad images, wherein the chip pad images are sequentially associated with pad locations; Detect pad blocks on the chip pad image, and determine the location category of the chip pad image based on the detected pad blocks; The relative positions of at least one pair of adjacent images in the chip pad images are determined based on the position category of the chip pad images; and Based on the relative positions, the at least one pair of adjacent images are stitched together to obtain at least one stitched image.
2. The method of claim 1, wherein, Stitching the at least one pair of adjacent images based on their relative positions includes: Based on the relative position, the at least one pair of adjacent images are stitched together using template matching.
3. The method according to claim 2, wherein, Stitching the at least one pair of adjacent images based on the relative position using template matching includes: A stitching template is determined on the first image in the at least one pair of adjacent images based on the relative position; Based on the stitching template, determine the matching stitching region on the second image in the at least one pair of adjacent images; and, The at least one pair of adjacent images are stitched together based on the stitching template and the stitching area.
4. The method according to claim 3, wherein, Determining a stitching template on the first image of the at least one pair of adjacent images based on the relative position includes: The initial position of the stitching template on the first image is determined based on the relative position; and... The final position of the splicing template is determined based on the initial position and the positions of the pad blocks detected on the first and second images.
5. The method according to claim 1, wherein, Detecting pad blocks on the chip pad image and determining the location category of the chip pad image based on the detected pad blocks includes: Detect pad blocks with a first orientation and a second orientation on the chip pad image; The location category of the chip pad image is determined based at least on the number of pad blocks in the first orientation and the second orientation.
6. The method according to claim 5, wherein, Determining the location category of the chip pad image based at least on the number of pad blocks in the first orientation and the second orientation includes: If only pad blocks with the first orientation or the second orientation are detected on the chip pad image, the location category is determined based on the orientation of the detected pad blocks; and, When both pad blocks with the first orientation and the second orientation are detected on the chip pad image, the position category is determined based on the relative positions of the pad blocks with the first orientation and the second orientation.
7. The method according to claim 1, wherein, Determining the relative position of at least one pair of adjacent images in the chip pad images based on the position category of the chip pad images includes: The capture order of the chip pad images is determined based on the location category of the chip pad images; and, The relative positions of the at least one pair of adjacent images are determined based on the capture order of the chip pad images.
8. The method according to any one of claims 1-7, further comprising: Each pair of adjacent images in the chip pad image is stitched together to obtain multiple stitched images; as well as, Each pair of adjacent images in the plurality of stitched images is stitched together to obtain a global image.
9. A chip pad image stitching device, comprising: The acquisition unit is configured to acquire chip pad images, wherein the chip pad images are sequentially associated with pad locations; The location category determination unit is configured to detect pad blocks on the chip pad image and determine the location category of the chip pad image based on the detected pad blocks; The relative position determination unit is configured to determine the relative position of at least one pair of adjacent images in the chip pad images based on the position category of the chip pad images; as well as The stitching unit is configured to stitch together the at least one pair of adjacent images based on the relative positions to obtain at least one stitched image.
10. A chip pad image stitching device, comprising: processor; and a memory, in which computer programs are stored, When the computer program is run by the processor, the processor performs the following steps: Acquire chip pad images, wherein the chip pad images are sequentially associated with pad locations; Detect pad blocks on the chip pad image, and determine the location category of the chip pad image based on the detected pad blocks; The relative positions of at least one pair of adjacent images in the chip pad images are determined based on the position category of the chip pad images; and Based on the relative positions, the at least one pair of adjacent images are stitched together to obtain at least one stitched image.
11. A computer-readable storage medium having a computer program stored thereon, wherein, When the computer program is executed by the processor, it performs the following steps: Acquire chip pad images, wherein the chip pad images are sequentially associated with pad locations; Detect pad blocks on the chip pad image, and determine the location category of the chip pad image based on the detected pad blocks; The relative positions of at least one pair of adjacent images in the chip pad images are determined based on the position category of the chip pad images; and Based on the relative positions, the at least one pair of adjacent images are stitched together to obtain at least one stitched image.
12. A computer program product comprising a computer program, wherein, When the computer program is executed by the processor, it performs the following steps: Acquire chip pad images, wherein the chip pad images are sequentially associated with pad locations; Detect pad blocks on the chip pad image, and determine the location category of the chip pad image based on the detected pad blocks; The relative positions of at least one pair of adjacent images in the chip pad images are determined based on the position category of the chip pad images; and Based on the relative positions, the at least one pair of adjacent images are stitched together to obtain at least one stitched image.