Low contrast no-reference defect detection
The method of binary slicing and supervised machine learning effectively detects low contrast defects in semiconductor devices by analyzing segments with higher contrast profiles, overcoming the limitations of traditional inspection techniques and improving detection speed and accuracy.
Patent Information
- Application Number
- JP2024503722
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2021-07-19
- Filing Date
- 2022-07-18
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2042-07-18
AI Technical Summary
Existing semiconductor inspection techniques struggle to accurately detect low contrast defects, such as watermarks, due to minimal contrast differences between defective and non-defective areas, and often rely on reference images that complicate the detection process.
A method involving binary slicing, segmentation based on statistical contrast properties, and supervised machine learning networks is employed to identify defects without the need for reference images, using a multi-layer machine learning model to analyze subsets of segments with higher contrast profiles.
This approach enables fast and accurate detection of low contrast defects, reducing computational resources and enhancing defect identification speed, allowing inspection of thousands of semiconductor dies in milliseconds.
Smart Images

Figure 0007618889000001 
Figure 0007618889000002 
Figure 0007618889000003
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of priority to U.S. Provisional Patent Application No. 63 / 223,121, filed July 19, 2021, the contents of which are incorporated herein by reference in their entirety.
[0002] FIELD OF THEINVENTION The present disclosure relates generally to detection of defects in semiconductor devices, and in particular to detection of low contrast defects. [Background technology]
[0003] As semiconductor devices decrease in size and increase in complexity, even small defects can adversely affect their performance. For example, some devices undergo water scrubbing or washing during manufacturing, which may leave watermark defects. These defects are considered to be an example of low-contrast defects because the contrast difference between defective and non-defective areas is minimal, making them difficult to detect. Semiconductor devices are frequently inspected during the manufacturing process to detect defects.
[0004] However, some inspection techniques have difficulty accurately detecting low contrast defects. Additionally, some inspection techniques use a reference image to detect variations or defects, which can make the inspection technique difficult to use. Summary of the Invention
[0005] The present disclosure describes a method for detecting defects in a semiconductor device, the method including: generating a plurality of binary slices of an image of the semiconductor device; segmenting each binary slice of the plurality of binary slices into a segment based on a statistical contrast characteristic of the image; inputting a subset of the segments to a machine learning network, the subset of the segments including segments having a higher contrast profile compared to other segments not included in the subset; and receiving an output of the machine learning network that identifies the presence or absence of at least one defect in the image.
[0006] The present disclosure also describes an inspection system that includes a detector that captures an image of a semiconductor device, one or more processors of the machine, and a memory that stores instructions that, when executed by the one or more processors, cause the machine to perform operations including generating a plurality of binary slices of the image of the semiconductor device; segmenting each binary slice of the plurality of binary slices into segments based on statistical contrast characteristics of the image; inputting a subset of the segments to a machine learning network, the subset of the segments including segments having a higher contrast profile compared to other segments not included in the subset; and receiving an output of the machine learning network that identifies the presence or absence of at least one defect in the image.
[0007] The disclosure further describes a machine storage medium having instructions embodied therein that, when executed by the machine, cause the machine to perform operations including generating a plurality of binary slices of an image of a semiconductor device; segmenting each binary slice of the plurality of binary slices to create a segment based on a statistical contrast characteristic of the image; inputting a subset of the segments to a machine learning network, the subset of the segments including segments having a higher contrast profile as compared to other segments not included in the subset; and receiving an output of the machine learning network that identifies a presence or absence of at least one defect in the image.
[0008] Various figures in the accompanying drawings merely illustrate example implementations of the present disclosure and should not be considered as limiting its scope. [Brief description of the drawings]
[0009] [Figure 1] FIG. 1 illustrates an inspection system according to an example of the present subject matter.
[0010] [Diagram 2] FIG. 2 illustrates a pretreatment process according to an example of the present subject matter.
[0011] [Diagram 3] FIG. 3 illustrates a framework for detecting defects in images using a machine learning network, according to an example of the present subject matter.
[0012] [Figure 4] FIG. 4 illustrates a flow diagram of a training process according to an example of the present subject matter.
[0013] [Diagram 5] FIG. 5 illustrates a flow diagram of a defect detection process according to an example of the present subject matter.
[0014] [Figure 6]FIG. 6 illustrates defect detection results according to an example of the present subject matter.
[0015] [Figure 7] FIG. 7 illustrates an example block diagram of a machine upon which any one or more of the techniques (eg, methodologies) discussed herein may be implemented. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0016] Disclosed herein are example defect detection techniques for inspecting semiconductor devices, such as CMOS image sensors, during the manufacturing process. The defects can include common defects such as scratches, stains, etc., as well as low contrast defects such as watermarks. The detection techniques can detect the defects using supervised machine learning networks without the use of a reference image.
[0017] The training and normal operation modes of the detection technique are described. First, a machine learning network is configured and trained to detect various defects during a training mode. In the training mode, one or more training images of the type of semiconductor device (e.g., die) to be inspected are used. The training images may undergo pre-processing to enhance the contrast of the image and other types of transformations to enhance one or more specific features of the image. Binary slices may be taken from the image, each binary slice corresponding to a different range of grayscale levels. Each binary slice may then be segmented using statistical properties, each segment being defined by a contrast profile for that region of the image. Segments with known defects are labeled accordingly, and segments without known defects are also labeled accordingly. The segments are fed into a multi-layer machine learning network, and an output is set based on the label (e.g., defect or no defect). The machine learning network trains itself to detect defects based on the segments and the defect labels of the segments.
[0018] Secondly, in the normal operation mode, the first few steps of pre-processing, binary slicing and segmentation may be performed in a manner similar to the training mode, which is performed based on predefined rules and algorithms. A subset of the segments based on the relative contrast profile may then be fed to a trained machine learning network. The machine learning network may then detect defects in the images of the semiconductor device during inspection based on its training and configuration. This allows the detection technique to detect low-contrast defects in a fast and accurate manner without using a reference image.
[0019] 1 illustrates an example portion of an inspection system 100 that may be used to perform one or more of the techniques shown and described elsewhere herein. In this example, inspection system 100 is shown as inspecting a substrate 102, such as a semiconductor die (e.g., for a CMOS image sensor).
[0020] The inspection system 100 may include an illumination source 110 that emits a beam of radiation (e.g., electromagnetic waves) that projects onto the substrate 102. The beam of radiation may be considered to produce an interrogation beam that interrogates the surface of the substrate. The illumination source 110 may include a monochromatic or broadband light source. For example, the illumination source 110 may be an LED or multiple LEDs operating in one or more wavelength ranges. In another example, the illumination source 110 may include multiple light sources that provide radiation beams at different wavelengths, intensities, polarization states, etc.
[0021] The inspection system 100 may also include a detector 112 that detects and collects re-emission (e.g., return or secondary electromagnetic waves) from the substrate 102 and generates an image of the substrate 102 or a portion thereof. The detector 112 may include a 2D camera, such as a CMOS-based camera or a TDI (time delay and integration) line scan camera. The detector 112 may include optical and filtering components to collect and focus the re-emission from the substrate 102 onto an image sensor (such as a CCD array or CMOS or other field effect transistor device) contained within the detector 112.
[0022] In an embodiment, the detector 112 may also include one or more camera lenses. The detector 112 may be mounted such that an image sensor (e.g., a CCD array or CMOS element) contained therein is at a predetermined angle with reference to an imaginary line perpendicular to the top surface of the substrate 102 (e.g., a 45° angle with respect to the surface normal). In an embodiment, the detector 112 may also include multiple cameras, each mounted at the same or different predetermined angles with reference to the surface normal.
[0023] The detector 112 may be coupled to a test instrument 120. The test instrument 120 may include a computer processing unit (CPU) 122, a graphics processing unit (GPU) 124, a field programmable gate array (FPGA) 131 (or other suitable accelerators, such as a data processing unit (DPU), an artificial neuron network (ANN), etc.), a memory 126, a display 128, input devices 130, and a communication interface 132 (e.g., a high performance network (HPC)). The test instrument 120 may also include front-end circuitry, such as a transmit signal chain, a receive signal chain, switch circuitry, digital and analog circuitry, etc. The transmit signal chain may provide control signals for the illumination source 110. The receive signal chain may receive image signals from the detector 112.
[0024] The front-end circuitry may be coupled to and controlled by one or more processor circuits, such as a CPU 122, a GPU 124, and an FPGA 131. The CPU 122 may be provided as one or more multi-core processors. The GPU 124 and the FPGA 131 may be used to accelerate the processing of image data and the performance of the machine learning network, as described herein. The techniques shown and described herein may be performed by the CPU 122 working in conjunction with the GPU 124 for faster processing.
[0025] The CPU 122 and GPU 124 may be coupled to the memory 126 for executing instructions that, for example, cause the test equipment 120 to perform one or more of beam transmission, radiation / image acquisition, processing, or storage of data related to an inspection, or otherwise perform the techniques shown and described herein. The test equipment 120 may be communicatively coupled to other portions of the system 100 using, for example, a wired or wireless communication interface 132.
[0026] For example, execution of one or more of the techniques shown and described herein may be accomplished on the test equipment 120 or using other processing or storage facilities, such as using computation facilities 140 (e.g., servers, cloud processing systems, data warehouses, general-purpose computing devices such as laptops, tablets, smartphones, desktop computers, etc.). For example, processing tasks that would be undesirably slow or beyond the capabilities of the test equipment 120 if performed on the test equipment 120 may be performed remotely (e.g., on a separate system), e.g., in response to a request from the test equipment 120. Similarly, storage of imaging data or intermediate data may be accomplished using remote facilities communicatively coupled to the test equipment 120. The test equipment 120 may also include a display 128, e.g., for presentation of configuration information or results, and an input device 130, e.g., including one or more of a keyboard, trackball, function or soft keys, mouse interface, touch screen, stylus, etc., for receiving operator commands, configuration information, or responses to queries.
[0027] As mentioned above, the test equipment 120 may receive one or more images of the substrate 102 under inspection. The test equipment 120 may perform one or more of the techniques shown and described herein to detect defects, including low contrast defects, in the one or more images.
[0028] FIG. 2 illustrates an image pre-processing process 200 according to an example of the present subject matter. A raw image 202 may be acquired. For example, the raw image 202 may be generated by a detector (e.g., detector 112) of an inspection system, as described above with reference to FIG. 1. In one example, the raw image 202 may be manipulated by a transformation technique to form a transformed image in an abstract Hilbert space. For example, the transformation may include a Fourier transform, a Laplace transform, a 2D correlation with a known shape, theoretically generated or empirically obtained, or other suitable transformation technique. In the case of color images, these processes may be applied to one or a combination of the original colors provided by the camera.
[0029] The raw image 202 (or the transformed image) may then be filtered by one or more filters in real space and / or Hilbert space, including linear and nonlinear filters. For example, the raw image 202 (or the transformed image) may be filtered by a first filter 252 (Filter 1) to generate a first set of intermediate images, i.e., a darkfield image 204 and a brightfield image 206, respectively. The first filter 252 may be provided as one or more linear filters of different bandwidths, e.g., a high-band filter, a low-band filter, a band-pass filter. The first set of intermediate images 202, 204 may then be combined and filtered by a second filter 254 (Filter 2) to generate a second intermediate image 208. The second filter 254 may be provided as one or more linear filters. The second intermediate image 208 may be filtered by a third filter 256 (Filter 3) to generate a preprocessed image 210. The third filter 256 may be provided as one or more nonlinear filters. Pre-processing can make the contrast in the image more noticeable, and thus aid in detecting low contrast defects in the image, as described herein.
[0030] We then describe techniques for detecting defects, including low contrast defects such as watermarks, in images that can be detected using supervised machine learning.
[0031] 3 illustrates a framework 300 for detecting defects in images using a machine learning network. The framework 300 may be used in a training mode to train a machine learning network and then in a normal operation mode to detect defects in images of a device under inspection. Examples of the training mode and the normal operation mode are described below with reference to FIGS. 4 and 5.
[0032] The framework 300 may include a pre-processor 302, a binarization unit 304, a segmentation unit 306, and a machine learning network 308. An initial image 352 (e.g., a raw image) may be provided to the pre-processor 302. The pre-processor 302 may filter the initial image 352 to enhance image contrast and generate a pre-processed image 354, for example, as described above with reference to FIG. 2. The pre-processed image 354 may then be provided to the binarization unit 304 to binarize the pre-processed image 354 using different thresholds corresponding to different grayscale levels to generate up to n binary slices 356.1-356.n. The number of slices (n) may be programmable and may be set based on the sensitivity level of the inspection and the type of device being inspected.
[0033] The segmentation unit 306 may segment each slice based on statistical characteristics of the preprocessed image to generate segments 358.1-358.m. This segmentation may be performed based on statistical characteristics related to contrast of the corresponding region in the preprocessed image (e.g., histogram, standard deviation, mean, min-max) and statistical characteristics of each slice (e.g., pixel density, entropy). Each segment may thereby be defined by a contrast profile for its respective region of the image. For example, histogram characteristics of the preprocessed image and the number of bright pixels in the slice may be used to define the segment. The histogram characteristics may represent an approximate distribution of contrast numerical data. When a region of an image slice is different from another adjacent region, the regions may be defined as different segments. Thus, each segment may include similar contrast characteristics.
[0034] The segmentation unit 306 may also divide the segmented slices 358.1-358.m into two segment groups (or subsets) based on the characteristics of the segments and their corresponding areas in the preprocessed grayscale image. Segments having a higher contrast profile may be classified as belonging to the first subset, and segments having a lower contrast profile may be classified as belonging to the second subset. The higher or lower contrast profile may be determined based on contrast characteristics that are above or below a contrast threshold, respectively.
[0035] A first subset of binary segments (e.g., having a higher contrast profile) from each segmented slice 358.1-358.m may then be input to the machine learning network 308. The machine learning network 308 may be provided as a multi-layer machine learning model. For example, the machine learning network 308 may include four layers with two hidden layers, namely, an input layer, a feature extraction layer, a feature relation layer, and a decision layer. Pixel information from the first subset of segments in each slice may be sent to the input layer. Each node in the input layer may correspond to a pixel of the input segment. The machine learning network 308 may iteratively train its biases and coefficients in the layer. The decision layer may output a decision regarding the presence or absence of defects in the respective segments. After the segments associated with the first subset for each binary slice are processed with the decision regarding the presence or absence of defects in the respective segments being generated, a defect result 360 may be generated. The defect result 360 may extract the detected defects from the initial image 352. The defect result 360 may be a binary image showing the detected defects in high contrast. In one embodiment, the defect results 360 may be input into an algorithm to classify the defects.
[0036] As described above, the framework 300 may first be used in a training mode to train the machine learning network 308 to detect defects, and then in a normal operation mode to detect defects in images as part of an inspection process. Training the machine learning network may be a supervised process and may be performed off-site to where the inspection process is performed. Training may use a set of training images (e.g., one or more training images) with known defects to train the machine learning network.
[0037] 4 illustrates a flow diagram of a training process 400. The training process 400 may be performed multiple times with a set of training images. At 402, the training images may be received and preprocessed as described above. The training images may correspond to images of the same or similar types of devices to be inspected during normal operating mode. The training images may be selected based on the presence of a particular type of defect, such as watermarks, scratches, smudges, etc. The preprocessing may include a series of linear and / or nonlinear filtering to enhance image contrast, as described above.
[0038] At 404, the training image may be binarized to generate multiple binary slices of the training image. The training image may be binarized using different thresholds corresponding to different grayscale levels. Each binary slice may correspond to a different threshold or grayscale level. The number of thresholds may be programmable and may be set based on the sensitivity level of the inspection and the type of device being inspected.
[0039] At 406, each binary slice may be segmented based on statistical characteristics (e.g., histogram, standard deviation, mean, min-max) related to the characteristics of each slice and corresponding regions in the preprocessed image. Each segment may thereby be defined by a contrast profile for its respective region of the image. For example, histogram characteristics of the image may be used to define the segments. The histogram characteristics may represent an approximate distribution of contrast numerical data. Thus, each segment may include similar contrast characteristics. When a region of the image is different from another adjacent region, the regions may be defined as different segments.
[0040] At 408, the segments may be divided into two groups or subsets based on the contrast profile of the segments. Segments having a higher contrast profile may be classified as belonging to a first subset and segments having a lower contrast profile may be classified as belonging to a second subset. The higher or lower contrast profile may be determined using a contrast threshold.
[0041] At 410, for each segment, a label associated with the presence or absence of a defect in that segment may be received. The labels may be generated by a manual process. Segments with known defects may be labeled with a defect label (e.g., "1") and segments without known defects may be labeled with a non-defect label (e.g., "0").
[0042] At 412, the segments may be input to a machine learning network as described herein. At 414, a reference output based on the label (e.g., defective or non-defective) of each segment of the first subset may be generated and provided to the machine learning network.
[0043] At 416, the machine learning network may perform iterative operations until an output of the machine learning network substantially matches a reference output based on the labels. The machine learning network may adjust its biases and coefficients in its layer to generate an output for each segment that substantially matches its respective reference output.
[0044] Process 400 may be repeated for a set of training images to train the machine learning network. The training images may include different defects to train the machine learning network to detect different types of defects having different characteristics and intensities. After the machine learning network completes the training process, the machine learning network can be used in a normal operating mode to detect defects in images of semiconductor devices under manufacture.
[0045] 5 illustrates a flow diagram of a defect detection process 500 in a normal operating mode. At 502, an image of a device under inspection is received and may be pre-processed as described above. The image may be captured by a detector of the inspection system, as described above with reference to FIG. 1. This pre-processing may include a series of linear and / or non-linear filtering to enhance image contrast, as described above.
[0046] At 504, the image may be binarized to generate multiple binary slices of the training image. The image may be binarized using different thresholds corresponding to different grayscale levels. Each binary slice may correspond to a different threshold or grayscale level. The number of thresholds may be programmable and may be set based on the sensitivity level of the inspection and the type of device being inspected.
[0047] At 506, each binary slice may be segmented based on statistical characteristics of contrast of the preprocessed image and characteristics of each slice itself (e.g., histogram, standard deviation, average, min-max, etc.). Each segment may thereby be defined by a contrast profile for its respective region of the image. For example, statistical characteristics of the slices may be used to define the segments. Histogram characteristics may represent an approximate distribution of contrast numerical data. Thus, each segment may include similar characteristics. When a region of an image slice is different from another adjacent region, the regions may be defined as different segments.
[0048] At 508, the segments may be divided into two groups or subsets based on the contrast profile of the segments. Segments having a higher contrast profile may be classified as belonging to a first subset and segments having a lower contrast profile may be classified as belonging to a second subset. The higher or lower contrast profile may be determined using a contrast threshold.
[0049] At 510, a first subset of the segments (e.g., higher contrast profiles) may be input to a machine learning network as described herein. At 512, the machine learning network may perform operations using its layers to output a decision regarding the presence or absence of defects within each segment based on its training. Based on the decision regarding the presence or absence of defects in each segment, defect results may be generated. The defect results may extract the defects detected from the initial image. The defect results may be a binary image indicating the detected defects. The defect results may be further classified by type.
[0050] 6 illustrates an example of the results of the defect detection technique described herein. Raw images 602, 604 show images of a device under inspection acquired by a detector as described above. As shown, defects in raw images 602, 604 can be difficult to identify. Result images 652, 654 show the results of a defect detection technique using a trained machine learning network as described herein. For example, result images 652, 654 show a watermark defect in a binary image where the defect is white.
[0051] As described herein, binarization and segmentation of the machine learning network's input increases the speed of the detection technique. By using a subset of segments (rather than the entire image), the operation and training of the machine learning network can be performed faster and using fewer computing resources. The machine learning network can generate binary images in which defects, including low contrast defects, are more easily identifiable. For example, a wafer containing 5000 separate dies can be inspected in a few milliseconds using the detection techniques described herein.
[0052] The techniques shown and described herein may be performed using a portion or the entirety of an inspection system 100 as shown in FIG. 1, or alternatively using a machine 700 as discussed below in connection with FIG. 7. FIG. 7 illustrates an example block diagram comprising a machine 700 on which any one or more of the techniques (e.g., methodologies) discussed herein may be performed. In various examples, the machine 700 may operate as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine 700 may operate as a server machine, a client machine, or in both capacities in a server-client network environment. In one example, the machine 700 may function as a peer machine in a peer-to-peer (P2P) (or other distributed) network environment. Machine 700 may be a personal computer (PC), a tablet device, a set-top box (STB), a personal digital assistant (PDA), a mobile phone, a web appliance, a network router, switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by the machine. Additionally, although only a single machine is illustrated, the term "machine" is intended to include any collection of machines that individually or collectively execute a set (or sets) of instructions to perform any one or more of the methodologies discussed herein, such as cloud computing, software as a service (SaaS), other computer cluster configurations, etc.
[0053] The examples described herein may include or operate by logic or a number of components or mechanisms. Circuitry is a collection of circuits implemented in a tangible entity that includes hardware (e.g., simple circuits, gates, logic, etc.). Circuitry membership may be flexible over time and the variability of the underlying hardware. Circuitry includes members that, alone or in combination, may perform a specified operation when operated. In one example, the hardware of a circuitry may be invariably designed (e.g., hardwired) to perform a specific operation. In one example, hardware comprising circuitry may include variably connected physical components (e.g., execution units, transistors, simple circuits, etc.) that include computer-readable media that are physically altered (e.g., magnetically, electrically, etc., via a change in physical state or a transformation of another physical property, etc.) to encode instructions for a specific operation. In connecting the physical components, the underlying electrical properties of the hardware components may be altered, for example, from insulating properties to conductive properties or vice versa. The instructions enable the embedded hardware (e.g., an execution unit or a load mechanism) to create members of the circuitry within the hardware via variable connections to perform a portion of a particular operation when in operation. Thus, the computer-readable medium is communicatively coupled to other components of the circuitry when the device is in operation. In one example, any of the physical components may be used in more than one member of more than one circuitry. For example, during operation, an execution unit may be used in a first circuit of a first circuitry at one time and reused by a second circuit in the first circuitry or by a third circuit in the second circuitry at a different time.
[0054] The machine (e.g., computer system) 700 may include a hardware processor 702 (e.g., a central processing unit (CPU), a graphics processing unit (GPU), a hardware processor core, or any combination thereof), a main memory 704, and a static memory 706, some or all of which may communicate with each other via an interlink (e.g., a bus) 708. The machine 700 may further include a display unit 710, an alphanumeric input unit 712 (e.g., a keyboard), and a user interface (UI) navigation device 714 (e.g., a mouse). In one example, the display unit 710, the input device 712, and the UI navigation device 714 may be touch screen displays. The machine 700 may additionally include a storage device (e.g., a drive unit) 726, a signal generating device 718 (e.g., a speaker), a network interface device 720, and one or more sensors 716, such as a global positioning system (GPS) sensor, a compass, an accelerometer, or other sensors. The machine 700 may include an output controller 728 for communicating with or controlling one or more peripheral devices (e.g., a printer, card reader, etc.), such as a serial connection (e.g., universal serial bus (USB)), parallel connection, or other wired or wireless (e.g., infrared (IR) connection, near field communication (NFC) connection, etc.).
[0055] The storage device 722 may include a machine-readable medium on which is stored one or more sets of data structures or instructions 724 (e.g., software) that embody or are utilized by any one or more of the techniques or functions described herein. The instructions 724 may also reside, completely or at least partially, within the main memory 704, within the static memory 706, or within the hardware processor 702 during execution thereof by the machine 700. In one example, one of the hardware processor 702, the main memory 704, the static memory 706, or the storage device 722, or any combination thereof, may constitute a machine-readable medium.
[0056] Although the machine-readable medium is illustrated as a single medium, the term "machine-readable medium" may include a single medium or multiple media (e.g., a centralized or distributed database, and / or associated caches and servers) configured to store one or more instructions 724.
[0057] The term "machine-readable medium" may include any medium capable of storing, encoding, or carrying instructions for execution by the machine 700 and causing the machine 700 to perform any one or more of the techniques of this disclosure, or capable of storing, encoding, or carrying data structures used by or associated with such instructions. Non-limiting examples of machine-readable media may include solid-state memory, and optical and magnetic media. Thus, a machine-readable medium is not a transitory, propagating signal. Specific examples of large-scale machine-readable media may include non-volatile memory such as semiconductor memory devices (e.g., Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM)) and flash memory devices, magnetic or other phase-change or state-change memory circuits, magnetic disks such as internal hard disks and removable disks, magneto-optical disks, and CD-ROM and DVD-ROM disks.
[0058] The instructions 724 may further be transmitted or received over a communications network 726 using a transmission medium via a network interface device 720 utilizing any one of a number of transport protocols (e.g., frame relay, internet protocol (IP), transmission control protocol (TCP), user datagram protocol (UDP), hypertext transfer protocol (HTTP), etc.). Exemplary communication networks may include local area networks (LANs), wide area networks (WANs), packet data networks (e.g., the Internet), mobile phone networks (e.g., cellular networks), Plain Old Telephone (POTS) networks, and wireless data networks (e.g., the Institute of Electrical and Electronics Engineers (IEEE) 802.22 family of standards known as Wi-Fi®, the IEEE 802.26 family of standards known as WiMax®), the IEEE 802.25.4 family of standards, peer-to-peer (P2P) networks, among others. In one example, the network interface device 720 may include one or more physical jacks (e.g., Ethernet, coaxial, or phone jacks) or one or more antennas for connecting to the communication network 726. In one example, the network interface device 720 may include multiple antennas for wireless communication using at least one of single-input multiple-output (SIMO), multiple-input multiple-output (MIMO), or multiple-input single-output (MISO) technologies.The term "transmission medium" is intended to include any intangible medium capable of storing, encoding, or carrying instructions for execution by machine 700, including digital or analog communication signals or other intangible media to facilitate communication of such software. Various notes
[0059] Each of the above non-limiting aspects can stand on its own or can be combined in various permutations or combinations with one or more of the other aspects or other subject matter described in this document.
[0060] The above detailed description includes references to the accompanying drawings, which form a part of the detailed description. The drawings show, by way of illustration, specific implementations in which the invention may be practiced. These implementations are also generally referred to as "examples." Such examples may include elements in addition to those shown or described. However, the inventors also contemplate examples in which only the elements shown or described are provided. Furthermore, the inventors also contemplate examples that use any combination or permutation of the elements (or one or more aspects thereof) shown or described, either with respect to the particular example (or one or more aspects thereof) shown or described herein, or with respect to other examples (or one or more aspects thereof).
[0061] In the event of a conflicting usage between this document and any document incorporated by reference, the usage in this document takes precedence.
[0062] In this document, the terms "a" or "an" are used as is common in patent documents to include one or more, independent of any other instance or use of "at least one" or "one or more." In this document, the term "or" is used to refer to non-exclusion, so that "A or B" includes "A but not B," "B but not A," and "A and B," unless otherwise stated. In this document, the terms "including" and "in which" are used as the plain English equivalents of the respective terms "comprising" and "wherein." Also, in the claims that follow, the terms "including" and "comprising" are open-ended, i.e., a system, device, article, composition, formulation, or process that includes elements in addition to the elements recited after such term in a claim is still considered to be within the scope of that claim. Moreover, in the following claims, the terms "first," "second," and "third," etc. are used merely as labels and are not intended to impose numerical requirements on their objects.
[0063] Examples of the methods described herein may be at least partially machine-implemented or computer-implemented. Some examples may include computer-readable or machine-readable media encoded with instructions operable to configure an electronic device to perform the methods as described in the above examples. Implementations of such methods may include code, such as microcode, assembly language code, higher level language code, etc. Such code may include computer-readable instructions for performing various methods. The code may form part of a computer program product. Further, in one example, the code may be tangibly stored, for example, during execution or at other times, on one or more volatile, non-transitory, or non-volatile tangible computer-readable media. Examples of these tangible computer-readable media may include, but are not limited to, hard disks, removable magnetic disks, removable optical disks (e.g., compact disks and digital video disks), magnetic cassettes, memory cards or sticks, random access memory (RAM), read only memory (ROM), and the like.
[0064] The above description is intended to be illustrative and not restrictive. For example, the above examples (or one or more aspects thereof) may be used in combination with each other. Other implementations may be used, for example, by one of ordinary skill in the art upon reviewing the above description. The Abstract is provided to enable the reader to quickly ascertain the nature of the present technical disclosure. The Abstract is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the claims. Also, in the above Detailed Description, various features may be grouped together to streamline the disclosure. This should not be construed as intending that an unclaimed disclosed feature is essential to any claim. Rather, the subject matter of the present invention may reside in less than all features of a particular disclosed implementation. Thus, it is contemplated that the following claims are incorporated into the Detailed Description as an example or implementation, with each claim standing on its own as a separate implementation, and that such implementations may be combined with each other in various combinations or permutations.
Claims
1. 1. A method for detecting defects in a semiconductor device, comprising: generating a plurality of binary slices of an image of the semiconductor device; segmenting each binary slice of the plurality of binary slices into a segment based on a statistical contrast characteristic of the image; inputting a subset of the segments into a machine learning network, the subset of segments including segments having a higher contrast profile compared to other segments not included in the subset; and receiving an output of the machine learning network that identifies the presence or absence of at least one defect in the image.
2. The method of claim 1 , wherein the machine learning network includes a multi-layer machine learning model, and each binary slice corresponds to a different grayscale level.
3. the machine learning network uses supervised machine learning techniques with at least one training image, generating a plurality of binary slices of the at least one training image to create training image slices; Segmenting each of the training image slices based on a statistical contrast characteristic of the at least one training image; receiving a defect label for one or more segments having a known defect and receiving a non-defective label for one or more segments not having the known defect; inputting the segments of the at least one training image into the machine learning network; and training the machine learning network to detect defects by providing reference outputs to the machine learning network based on the labels of the segments; The method of claim 1 , wherein the machine learning network performs iterations until its output substantially matches the reference output.
4. The method of claim 1 , wherein the defect is a low contrast watermark defect.
5. transforming the image to enhance at least one feature of the image; The method of claim 1 , further comprising: pre-processing the image, the pre-processing comprising filtering the image with a series of linear and non-linear filters.
6. The method of claim 1 , wherein the statistical contrast characteristics are defined by one or more of a histogram, a range, a standard deviation, a min-max, an average, and a ratio of dark pixels to light pixels.
7. The method of claim 1 , wherein the method is performed using a graphics processing unit (GPU) and a computer processing unit (CPU).
8. a detector for capturing an image of the semiconductor device; one or more processors of the machine; and a memory storing instructions that, when executed by the one or more processors, cause the machine to: generating a plurality of binary slices of the image of the semiconductor device; segmenting each binary slice of the plurality of binary slices into a segment based on a statistical contrast characteristic of the image; inputting a subset of the segments into a machine learning network, the subset of segments including segments having a higher contrast profile compared to other segments not included in the subset; and receiving an output of the machine learning network that identifies the presence or absence of at least one defect in the image.
9. 10. The inspection system of claim 8, wherein the machine learning network includes a multi-layer machine learning model, and each binary slice corresponds to a different grayscale level.
10. the machine learning network uses supervised machine learning techniques with at least one training image, generating a plurality of binary slices of the at least one training image to create training image slices; Segmenting each of the training image slices based on a statistical contrast characteristic of the at least one training image; receiving a defect label for one or more segments having a known defect and receiving a non-defective label for one or more segments not having the known defect; inputting the segments of the at least one training image into the machine learning network; training the machine learning network to detect defects by providing reference outputs to the machine learning network based on the labels of the segments; The inspection system of claim 8 , wherein the machine learning network performs iterations until its output substantially matches the reference output.
11. The inspection system of claim 8 , wherein the defect is a low contrast watermark defect.
12. The operation, transforming the image to enhance at least one feature of the image; The inspection system of claim 8 , further comprising: pre-processing the image comprising filtering the image with a series of linear and non-linear filters.
13. 9. The inspection system of claim 8, wherein the statistical contrast characteristics are defined by one or more of a histogram, a range, a standard deviation, a min-max, an average, and a ratio of dark pixels to light pixels.
14. The inspection system of claim 8 , wherein the one or more processors include a graphics processing unit (GPU).
15. A machine storage medium embodying instructions which, when executed by a machine, cause the machine to perform a method according to any one of claims 1 to 7.
Citation Information
Patent Citations
Method and apparatus for inspecting fault of pattern
JP1986038450A
Apparatus and method for inspecting semiconductor device
JP2001015564A
Visual inspection method and device therefor
JP2006266872A
Image inspection method, and image inspection device using it
JP2007309679A
Inspection method for appearance badness and inspection system for appearance badness
KR1020200039049A
Cited By
Low contrast non-referential defect detection
US12354254B2