The present disclosure relates to methods and apparatus for x-ray imaging.
One aspect of the present disclosure relates to the examination and inspection of objects using x-rays that have structures of interest on the micrometer to nanometer scale. Such objects include integrated circuits (ICs) and integrated circuit packaging, including multi-chip packages (MCPs) with silicon interposers and through-silicon vias (TSVs). Certain natural objects (crystals or quasi-crystals) or biological structures may also be examined using these techniques.
The presently disclosed technology improves the resolution of an x-ray microscope so as to obtain super-resolution x-ray images having resolutions beyond the maximum normal resolution of the x-ray microscope. Furthermore, the disclosed technology provides for the rapid generation of the super-resolution x-ray images and so enables real-time super-resolution x-ray imaging for purposes of defect detection, for example. A method of super-resolution x-ray imaging using a super-resolving patch classifier is provided. In addition, a method of training the super-resolving patch classifier is disclosed.
Other embodiments, aspects and features are also disclosed.
Recently, in U.S. Pat. No. 9,129,715, issued Sep. 8, 2015, Adler et al. has disclosed an innovative x-ray microscope with a high flux x-ray source that allows high speed metrology or inspection of objects such as integrated circuits (ICs), printed circuit boards (PCBs), and other IC packaging technologies. The object to be investigated is illuminated by collimated, high-flux x-rays from an extended source having a designated x-ray spectrum. The system also comprises a stage to control the position and orientation of the object; a scintillator that absorbs x-rays and emits visible photons positioned in very close proximity to (or in contact with) the object; an optical imaging system that forms a highly magnified, high-resolution image of the photons emitted by the scintillator; and a detector such as a CCD array to convert the image to electronic signals.
The present disclosure provides a technology for improving the resolution of the x-ray images obtainable by a high-speed x-ray imager, such as that disclosed by Adler et al. in U.S. Pat. No. 9,129,715, or an instrument with a conventional x-ray microscope geometry. The presently-disclosed technology improves the resolution beyond the maximum normal resolution of the x-ray microscope. Furthermore, the disclosed technology provides for the rapid generation of the super-resolution x-ray images and so enables real-time super-resolution x-ray imaging for purposes of defect detection.
Using an optical system 400, a magnified image 511 of the visible photons 411 emitted by the scintillator is formed on an image detector 500. The image detector 500 converts the intensity of the magnified image 511 to an electronic signal. The image detector 500 can comprise an electronic sensor, such as a charge-coupled device (CCD), or another image sensor known to those skilled in the art. The electronic signal is transmitted through a connector 558 to a system of electronics 600 that, in some embodiments can display the image results, and in some embodiments can store the image results and/or perform image processing algorithms on the image results in conjunction with one or more computer systems 700.
For any source emitting ionizing radiation such as x-rays, it is often wise to provide shielding 998 around the x-ray source 100, and in some situations legally required for operation. Such shielding 998 can be a simple enclosure of shaped sheets of lead metal, or a more intricate design fabricated from any of a number of x-ray absorbing materials, such as lead-doped glass or plastic, that will be known to those skilled in the art. Shielding is desirable to keep random x-rays, either directly from the emitter 101 or reflected from some other surface, from causing unwanted effects, particularly spurious signals in the various electronic components used to control the system.
Likewise, for some embodiments, additional shielding 999 around the beam path may also be desired, and in some cases be legally required for operation. Such additional shielding 999 can be a simple enclosure of shaped sheets of lead metal, or a more intricate design fabricated from any of a number of x-ray absorbing materials such as lead-doped glass or plastic, that will be known to those skilled in the art. Additional shielding 999 is desirable to keep random x-rays, either directly from the emitter 101 or reflected from some other surface, from causing unwanted effects, particularly spurious signals in the various electronic components used to control the system.
Because certain image detectors 500 such as those comprising CCD sensors can be particularly sensitive to x-ray exposure, in some embodiments a portion of the scintillator assembly 300 may also be fabricated in whole or in part using a material, such as a lead-doped glass, which absorbs x-rays while transmitting the visible photons 411 emitted by the scintillator. Other embodiments comprising a system design that places the image sensor 510 out of the x-ray beam path, as will be disclosed in more detail later in this application, may also be used if additional isolation from x-rays is desired.
As depicted in
Motion of the x-ray source 100 using the mount 106 may be controlled by the computer system 700 several ways. In some embodiments, the source mount 106 may move the x-ray source 100 to a fixed location to allow an image to be captured. In some embodiments, the mount 106 can move the x-ray source 100 continuously as images are gathered, allowing the dynamic change of x-ray intensity as transmitted through the object 200 to be recorded as a function of illumination angle. In some embodiments, the x-ray emitter 101 may be moved to at least 10 degrees off the normal incidence angle.
In some embodiments, further adjustment of the angle of incidence of the x-ray beam 211 on the object 200 may be achieved by coordinating the motion of the x-ray source 100 using the source mount 106 with the motion of the object 200 using the object mount 250. In some embodiments, the motion of the mount 250 is controlled by a controller 259 through a connector 258. The controller 259 is in turn directed either by direct input from an operator, or by electronic instructions provided by the computer system 700.
In some embodiments, the shielding 998 will be designed to enclose the x-ray source 100 and the source mount 106. In other embodiments, the shielding 998 can be designed to only enclose the x-ray source, with the mount 106 designed to move the shielding 998 as it moves the x-ray source 100.
In some embodiments of the invention, multiple x-ray sources may be used to produce images with different angles of incidence. The x-ray sources may be fixed in space or moveable, and they may be operated sequentially or simultaneously. The x-ray sources may be operated manually or controlled by one or more computer systems 700.
As depicted in
In particular, a “point” source 10 emits x-rays 11 at a wide range of angles. The object 20 to be examined comprising detailed structures 21 is placed some distance away, so that it casts an enlarged shadow 30 comprising features 31 corresponding to the structures 21 on a detection screen 50 some distance behind the object.
The advantage to the system in
In an alternate embodiment, the technique for performing super-resolution x-ray imaging may be used with the such a PPM system as depicted in
In addition, for the super-resolving capability, the system in
Subsequently, processing is performed on the set of N high-resolution x-ray images to generate a super-resolution x-ray image (SRXI) of the object. The processing performed uses a trained super-resolution patch classifier (SRPC) and is described in detail herein.
The method 1000 as depicted includes two preliminary steps (1002 and 1004). These preliminary steps are not necessary to be performed again if they have been previously performed for the object type.
The first preliminary step involves the training 1002 of a super-resolution patch classifier (SRPC) for the object type. For example, if the object is a type of semiconductor package, then the SRPC may be trained with samples of that type of semiconductor package. As another example, if the object is a type of printed circuit board, then the SRPC may be trained with samples of that type of printed circuit board. An exemplary method 1100 for implementing the training 1002 of the SRPC for the object type is described below in relation to
The second preliminary step involves replicating 1004 the trained SRPC to form an array of trained SRPC instances, an example of which is depicted in
The number of patches is preferably a multiple of the number of trained SRPC instances. For maximum parallelization, the numbers will be equal. On a particular computing platform [i.e. a graphics processing unit (GPU) based system or a central processing unit (CPU) based system), the system may be optimized for maximal throughput.
Subsequently to the preliminary steps 1002 and 1004, the steps 1006 to 1028 may be used to perform imaging of one or more objects of the same type as that used to train the SRPC in step 1002.
Per step 1006, the object to be imaged is positioned in an x-ray imager, such as the high-speed x-ray imager described above in relation to
Per step 1010, an imaging condition for the x-ray imager is set. In an exemplary implementation which uses the high-speed x-ray imager of
In the implementation that changes the angle of incidence, the angle of incidence may be set by controlling the source position. Note that the geometry of the x-ray imager described in relation to
In the implementation that changes the detector position, the detector position may be set by controlling a lateral position of the detector in two dimensions. The lateral position may be controlled in a finely tuned manner so as to shift the detector position by sub-pixel distances.
Similarly, in the implementation that changes the object position, the detector position may be set by controlling a lateral position of the object in two dimensions. The lateral position may be controlled in a very finely tuned manner so as to shift the object position by sub-pixel distances (where the pixel distance is smaller at the object than at the detector due to the geometry of the apparatus).
Per step 1012, a high-resolution x-ray image of the object is obtained. In an exemplary implementation, this x-ray image may be obtained at a maximum or near maximum resolution setting of the high-speed x-ray imager. For instance, the high-resolution x-ray image may have a resolution of one micron.
Per step 1014, a determination may be made as to whether there are further x-ray images to be obtained so as to complete a set of N high-resolution x-ray images. For example, the set of high-resolution x-ray images obtained may have N=3 (or N=4, or N=5, . . . ) different x-ray images therein. (The number of x-ray images in the set must be two or more.) More x-ray images in the set will result in greater resolution and/or greater accuracy achievable by the presently-disclosed super-resolving technology. The trade-off being that more x-ray images in the set generally require more time to obtain and more resources to process. The images are collected in a way such the corresponding change in incident angle (using high-speed x-ray imager of
If there are more x-ray images to be obtained to complete the set of N high-resolution x-ray images, then the method 1000 may loop back to perform step 1010. Otherwise, if the set of N high-resolution x-ray images is complete, then the method 1000 may move forward to step 1020.
Per step 1020, each HR x-ray image being divided into patches, the patches associated with a same patch region (i.e. a same patch position) are input into a corresponding trained SRPC instance.
Per step 1022, each trained SRPC instance outputs a super-resolution (SR) patch based on the set of HR patches which were input into that SRPC instance. This step is illustrated in
As shown in
In the illustrated example, each HR patch has dimensions of 2×2 pixels. In other implementations, each HR patch may have other dimensions, such as for example, 3×3 pixels, 4×4 pixels, or other rectangular dimensions (which need not be square). Each pixel has a multiple bit value. For example, the multiple bit value may be an 8-bit value, 10-bit value, 12-bit value, 16-bit value, or values of other numbers of bits. In the figure, the four pixels of HRP-1 are labeled 00-1, 01-1, 10-1 and 11-1; the four pixels of HRP-2 are labeled 00-2, 01-2, 10-2 and 11-2; . . . ; and the four pixels of HRP-N are labeled 00-N, 01-N, 10-N and 11-N.
The trained SRPC instance outputs a SR patch (SRP) that is based on the set of N input HR patches of the same patch region. The SRP that is output is a super resolution version of that same patch region. In the illustrated example, the SR patch has dimensions of 4×4 pixels (labeled 00, 01, 02, 03, 10, 11, 12, 13, 20, 21, 22, 23, 30, 31, 32 and 33), and each pixel in the SR patch may have a value with the same number of bits as each pixel in the HR patch. In this case, the resolution of the patch region is improved by a factor of 4/2=2 (in each dimension). In other implementations, the SR patch may improve the resolution by other factors, which need not be integers (so long as the factor is greater than one, of course). For example, if the SR patch in
Other types of regression-based classifiers besides neural networks may also be used to implement the super-resolving patch classifier. One example of a different type of regression-based classifier that may be used is a support vector machine.
Per step 1024, the super-resolution patches (SRPs) for all the patch regions of an image are combined or “stitched together” to form a super-resolution x-ray image (SRXI) of the object. This step is illustrated in
Per step 1026, the super-resolution x-ray image of the object may be used for a practical purpose. For example, consider an object that is a manufactured object, such as a packaged semiconductor, or a printed circuit board, or an interposer, or other manufactured substrate or device. In one use case, the super-resolution x-ray image of such a manufactured object may be displayed on a monitor for viewing by an operator. As another use case, the super-resolution x-ray image may be used for defect detection, which may be performed in an automated manner. As another use case, the super-resolution x-ray image may be used to monitor the manufacturing process.
Per step 1028, a determination may be made as to whether there is another object of same type to image with this super-resolving x-ray imaging technique. If so, then the method 1000 loops back to step 1006 in which the next object to be imaged is positioned in the x-ray imager. Otherwise, if there are no more objects of the same type to be imaged, then the method 1000 is done.
While the
For high-resolution patches at the edge of an image frame, the information that it is positioned at an edge may be indicated, for example, by there being no pixel data for the nearest-neighbor patch beyond the edge. For high-resolution patches at the corner of an image frame, the information that it is positioned at a corner may be indicated, for example, by there being no pixel data for the nearest-neighbor patches beyond the two corner edges.
In step 1102, an object sample is positioned in the high-speed x-ray imager. The object sample may be the same type of object that will be super-resolution x-ray imaged by the method 1000 of
In step 1104, a high-resolution x-ray image of the object sample may be obtained. The high-resolution x-ray image may be obtained at the highest resolution setting, or a setting near the highest resolution setting, of the x-ray imager. In this training method 1100, the high-resolution x-ray image is not used as an input to the SRPC; instead, the high-resolution x-ray image is used as a “correct” output of the SRPC for the purpose of training the SRPC.
In step 1110, the imaging condition for the x-ray imager is set. In an exemplary implementation, the imaging condition may be set by setting the angle of incidence of the x-rays onto the surface of the object. For example, the angle of incidence may be set by controlling the source position using, for example, the mount 106 to move the source 100 in the high-speed x-ray imager of
Per step 1112, a lower-resolution x-ray image of the object is obtained. In an exemplary implementation, the previously-obtained high-resolution x-ray image in step 1104 is of a resolution that is higher by a specific factor than the resolution of the lower-resolution image obtained in this step. This specific factor is the same as the factor in
For example, if the high-resolution patches have resolution of 1 micron and the super-resolution patches have a resolution of 0.5 microns for super-resolution x-ray imaging, then the specific factor is 2. As such, in this case, the high-resolution x-ray image obtained in step 1104 would be at a resolution that is 2 times (in each dimension) the resolution of the lower-resolution x-ray image obtained in step 1112. For example, the high-resolution x-ray image obtained in step 1104 may be at a resolution of 1 micron, and the lower-resolution obtained in step 1112 may be at a resolution of 2 microns.
Per step 1114, a determination may be made as to whether there are further x-ray images to be obtained so as to complete the set of N lower-resolution x-ray images. If there are more x-ray images to be obtained to complete the set of N lower-resolution x-ray images, then the method 1100 may loop back to perform step 1110. Otherwise, if the set of N lower-resolution x-ray images is complete, then the method 1100 may move forward to step 1116.
Per step 1116, each LR x-ray image being divided into patches as illustrated in
Further object samples of the same may be used for training the SRPC. Per step 1118, if there is another object sample to be used for training, then the method 1100 loops back to step 1102. Otherwise, the training is complete, and the trained SRPC is obtained per step 1120.
In the present disclosure, numerous specific details are provided, such as examples of systems, components, and methods, to provide a thorough understanding of embodiments of the invention. Persons of ordinary skill in the art will recognize, however, that the invention can be practiced without one or more of the specific details. In other instances, well-known details are not shown or described to avoid obscuring aspects of the invention.
While specific embodiments of the present invention have been provided, it is to be understood that these embodiments are for illustration purposes and not limiting. Many additional embodiments will be apparent to persons of ordinary skill in the art reading this disclosure.
This application is a continuation under 35 U.S.C. § 120 of U.S. patent application Ser. No. 16/879,073, filed 20 May 2020, which is a continuation under 35 U.S.C. § 120 of U.S. patent application Ser. No. 16/053,627, filed 2 Aug. 2018 and issued as U.S. Pat. No. 10,692,184, which claims the benefit under 35 U.S.C. § 119(e) of U.S. Provisional Application No. 62/694319, filed 5 Jul. 2018, each of which are incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
62694319 | Jul 2018 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 16879073 | May 2020 | US |
Child | 17339136 | US | |
Parent | 16053627 | Aug 2018 | US |
Child | 16879073 | US |