WO2021140823A1 - パターンエッジ検出方法、パターンエッジ検出装置、パターンエッジ検出をコンピュータに実行させるためのプログラムが記録された記録媒体 - Google Patents

パターンエッジ検出方法、パターンエッジ検出装置、パターンエッジ検出をコンピュータに実行させるためのプログラムが記録された記録媒体 Download PDF

Info

Publication number
WO2021140823A1
WO2021140823A1 PCT/JP2020/046010 JP2020046010W WO2021140823A1 WO 2021140823 A1 WO2021140823 A1 WO 2021140823A1 JP 2020046010 W JP2020046010 W JP 2020046010W WO 2021140823 A1 WO2021140823 A1 WO 2021140823A1
Authority
WO
WIPO (PCT)
Prior art keywords
edge
region
pixels
training
pattern
Prior art date
Application number
PCT/JP2020/046010
Other languages
English (en)
French (fr)
Inventor
陽介 岡本
Original Assignee
Tasmit株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from JP2020201982A external-priority patent/JP7451384B2/ja
Application filed by Tasmit株式会社 filed Critical Tasmit株式会社
Priority to US17/791,155 priority Critical patent/US20230005157A1/en
Priority to CN202080092004.0A priority patent/CN114945801A/zh
Priority to KR1020227026891A priority patent/KR20220125291A/ko
Publication of WO2021140823A1 publication Critical patent/WO2021140823A1/ja

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/10Segmentation; Edge detection
    • G06T7/13Edge detection
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N23/00Investigating or analysing materials by the use of wave or particle radiation, e.g. X-rays or neutrons, not covered by groups G01N3/00 – G01N17/00, G01N21/00 or G01N22/00
    • G01N23/22Investigating or analysing materials by the use of wave or particle radiation, e.g. X-rays or neutrons, not covered by groups G01N3/00 – G01N17/00, G01N21/00 or G01N22/00 by measuring secondary emission from the material
    • G01N23/225Investigating or analysing materials by the use of wave or particle radiation, e.g. X-rays or neutrons, not covered by groups G01N3/00 – G01N17/00, G01N21/00 or G01N22/00 by measuring secondary emission from the material using electron or ion
    • G01N23/2251Investigating or analysing materials by the use of wave or particle radiation, e.g. X-rays or neutrons, not covered by groups G01N3/00 – G01N17/00, G01N21/00 or G01N22/00 by measuring secondary emission from the material using electron or ion using incident electron beams, e.g. scanning electron microscopy [SEM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10056Microscopic image
    • G06T2207/10061Microscopic image from scanning electron microscope
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30164Workpiece; Machine component

Definitions

  • the present invention relates to a method and an apparatus for detecting an edge (contour line) of a pattern formed on a workpiece such as a wafer or a mask involved in semiconductor manufacturing from an image generated by a scanning electron microscope.
  • the present invention also relates to a program for causing a computer to perform such pattern edge detection.
  • the present invention also relates to a method and an apparatus for creating an edge detection model by machine learning.
  • the edge (contour line) of a pattern formed on a workpiece such as a wafer is detected as follows. First, an image of the pattern on the workpiece is generated by a scanning electron microscope. Next, a CAD pattern is generated from the pattern design data (also referred to as CAD data), and the CAD pattern is superimposed on the pattern on the image.
  • the CAD pattern is a virtual pattern created based on the design information (position, length, size, etc.) of the pattern included in the design data.
  • FIG. 25 is a schematic diagram showing a CAD pattern 505 superimposed on the pattern 501 on the image 500.
  • the computer generates a plurality of search lines 507 extending in the normal direction with respect to the edge of the CAD pattern 505, and creates a luminance profile of the image 500 along these search lines 507.
  • FIG. 25 only a part of the plurality of search lines 507 is drawn in order to simplify the drawing.
  • FIG. 26 is a diagram showing a luminance profile along the search line shown in FIG. 25.
  • the vertical axis of FIG. 26 represents the luminance value
  • the horizontal axis represents the position on the search line 507.
  • the computer detects an edge point 510 where the luminance value on the luminance profile is equal to the threshold.
  • the computer repeats the same operation to determine a plurality of edge points on the luminance profile along all search lines 507. The line connecting these plurality of edge points is determined to be the edge of the pattern 501 on the image 500.
  • the pattern edge on the image 500 may not be correctly determined (detected). That is, in the example shown in FIG. 27, a part of the edge of the pattern 501 is missing, and the edge of the pattern 501 does not exist on the search line 507 perpendicular to the CAD pattern 505. In the example shown in FIG. 28, the edge of the CAD pattern 505 is far away from the edge of the pattern 501 on the image, so that the edge of the pattern 501 does not exist on the search line 507. In the example shown in FIG. 29, the edge of the pattern 510, which does not exist in the CAD pattern 505, cannot be detected by the conventional method using the search line 507.
  • FIGS. 27 to 29 show examples of pattern defects, and it is important to detect edges of such defective patterns.
  • the actual pattern may deviate from the design data, and the conventional method using the design data may not be able to correctly detect the edge of the defective pattern.
  • the edge detection model is created by machine learning (for example, deep learning, decision tree learning, etc.) using training data prepared in advance.
  • the training data includes a pattern image generated by a scanning electron microscope and correct answer data of each pixel constituting the pattern image.
  • the correct answer data is information that identifies each pixel as either a pixel that constitutes an edge of the pattern or a pixel that does not form an edge.
  • the pattern edge used for the training data has fluctuations, and the boundary line between the edge and the non-edge region on the image is unclear.
  • the edge detection model created using such training data may fail to detect the edge or erroneously detect the edge.
  • Creating an accurate edge detection model requires a large amount of training data for machine learning, and as a result, machine learning takes a very long time.
  • the present invention provides a pattern edge detection method and a pattern edge detection device capable of detecting an edge (contour line) of a pattern on an image without using pattern design data.
  • the present invention also provides a method and an apparatus capable of creating an accurate edge detection model without spending a long time on machine learning.
  • a target image of a target pattern formed on a workpiece is generated, a feature vector representing a plurality of feature quantities of each pixel of the target image is generated, and the feature vector is constructed by machine learning.
  • a feature that is input to the model outputs a determination result indicating whether the pixel having the feature vector is an edge pixel or a non-edge pixel from the model, and obtains a determination result indicating an edge pixel.
  • a pattern edge detection method is provided in which a plurality of pixels having a vector are connected by a line to generate a virtual edge.
  • the model is a decision tree.
  • the pattern edge detection method selects a plurality of training patterns from design data and generates a plurality of training images of a plurality of actual patterns created based on the plurality of training patterns. The edges of the plurality of actual patterns on the plurality of training images are detected, and the plurality of reference pixels constituting the plurality of training images are not formed with the plurality of first reference pixels constituting the edges. It is classified into a plurality of second reference pixels, a plurality of first feature vectors of the plurality of first reference pixels and a plurality of second feature vectors of the plurality of second reference pixels are generated, and the plurality of first features are generated. Further including a step of constructing the model by machine learning using the training data including the vector and the plurality of second feature vectors.
  • the plurality of training patterns are a plurality of patterns having an edge extending in at least a first direction, an edge extending in a second direction perpendicular to the first direction, a corner edge, and a terminal edge.
  • the plurality of real patterns are patterns formed on the workpiece.
  • a design drawing including the plurality of patterns drawn based on the design data is displayed on the display screen, and the plurality of patterns included in the design drawings are displayed. This is a step of displaying the plurality of training patterns selected from the above patterns or the area in which the plurality of training patterns are located on the display screen in a visually emphasized manner.
  • the pattern edge detection method generates a plurality of luminance profiles of the target image along a plurality of search lines extending in the normal direction with respect to the virtual edge, and a plurality of luminance profiles are generated based on the plurality of luminance profiles. Further includes a step of generating an updated edge by determining the edge points of the above and connecting the plurality of edge points with a line. In one aspect, the pattern edge detection method further comprises the step of generating a CAD pattern corresponding to the target pattern from the design data and measuring the distance from the edge of the CAD pattern to the updated edge.
  • an image generation device that generates a target image of a target pattern formed on a workpiece and a calculation system connected to the image generation device are provided, and the calculation system includes a plurality of pixels of each pixel of the target image.
  • a feature vector representing the feature quantity of is generated, the feature vector is input to a model constructed by machine learning, and whether the pixel having the feature vector is an edge pixel or a non-edge pixel is determined.
  • a pattern edge detection device is provided which outputs a determination result to be shown from the model and connects a plurality of pixels having a feature vector for which a determination result indicating edge pixels is obtained with a line to generate a virtual edge.
  • the model is a decision tree.
  • the arithmetic system selects a plurality of training patterns from design data, generates a plurality of training images of a plurality of actual patterns created based on the plurality of training patterns, and generates the plurality of training images.
  • the plurality of reference pixels constituting the plurality of training images by detecting the edges of the plurality of actual patterns on the training image of the above, a plurality of first reference pixels constituting the edge, and a plurality of reference pixels not forming the edge.
  • a plurality of first feature vectors of the plurality of first reference pixels and a plurality of second feature vectors of the plurality of second reference pixels are generated, and the plurality of first feature vectors and the plurality of first feature vectors are generated.
  • the model is constructed by machine learning using the training data including the plurality of second feature vectors.
  • the plurality of training patterns are a plurality of patterns having an edge extending in at least a first direction, an edge extending in a second direction perpendicular to the first direction, a corner edge, and a terminal edge.
  • the plurality of real patterns are patterns formed on the workpiece.
  • the arithmetic system has a display screen, and the arithmetic system displays a design drawing including a plurality of patterns drawn based on the design data on the display screen, and the design drawing. The plurality of training patterns selected from the plurality of patterns included in the above, or an area in which the plurality of training patterns are located is configured to be displayed on the display screen in a visually emphasized manner. ..
  • the arithmetic system generates a plurality of luminance profiles of the target image along a plurality of search lines extending in the normal direction with respect to the virtual edge, and a plurality of edges based on the plurality of luminance profiles. It is configured to generate an updated edge by determining a point and connecting the plurality of edge points with a line. In one aspect, the arithmetic system is configured to generate a CAD pattern corresponding to the target pattern from the design data and measure the distance from the edge of the CAD pattern to the updated edge.
  • a computer-readable record in which a program for causing a computer to execute a step of connecting a plurality of pixels having a feature vector for which a judgment result indicating an edge pixel is obtained and a step of generating a virtual edge is recorded. The medium is provided.
  • the model is a decision tree.
  • the program includes a step of selecting a plurality of training patterns from design data and a plurality of actual patterns created based on the plurality of training patterns by issuing a command to the scanning electron microscope.
  • An edge is formed by a step of generating a plurality of training images, a step of detecting edges of the plurality of actual patterns on the plurality of training images, and a plurality of reference pixels constituting the plurality of training images.
  • the computer is further made to execute the step of constructing the model by machine learning. It is configured as follows.
  • the plurality of training patterns are a plurality of patterns having an edge extending in at least a first direction, an edge extending in a second direction perpendicular to the first direction, a corner edge, and a terminal edge.
  • the plurality of real patterns are patterns formed on the workpiece.
  • the step of selecting the plurality of training patterns from the design data includes a step of displaying a design drawing including the plurality of patterns drawn based on the design data on the display screen and the step of displaying the design drawing in the design drawing. This is a step of displaying the plurality of training patterns selected from the plurality of patterns or the area in which the plurality of training patterns are located on the display screen in a visually emphasized manner.
  • the program includes a step of generating a plurality of luminance profiles of the target image along a plurality of search lines extending in the normal direction with respect to the virtual edge, and a plurality of luminance profiles based on the plurality of luminance profiles.
  • the computer is configured to further perform a step of determining an edge point and a step of generating an updated edge by connecting the plurality of edge points with a line.
  • the program further performs on the computer a step of generating a CAD pattern corresponding to the target pattern from design data and a step of measuring the distance from the edge of the CAD pattern to the updated edge. It is configured to let you.
  • it is a method of creating an edge detection model for detecting the edge of a pattern on an image, in which a training image of a workpiece on which the pattern is formed is generated by a scanning electron microscope, and the training image is generated.
  • the edge of the above pattern is detected, the feature vector of the pixels constituting the training image is calculated, and the target area in the training image is divided into an edge area, an edge vicinity area, and a non-edge area.
  • a method is provided in which training data including the above training data is created, and an edge detection model is created by machine learning using the training data.
  • the number A is divided by the number B.
  • the value (A / B) is a predetermined numerical value. In one aspect, the value (A / B) obtained by dividing the number A by the number B is in the range of 0.6 to 1.5.
  • the non-edge region is separated from the edge region by a predetermined number of pixels, and the edge neighborhood region is located between the edge region and the non-edge region.
  • the step of dividing the target region in the training image into an edge region, an edge neighborhood region, and a non-edge region divides the target region in the training image into an edge region, an exclusion region, and an edge neighborhood region.
  • the exclusion region is adjacent to the edge region and is located between the edge region and the edge neighborhood region, and the training data is the exclusion region.
  • the target region includes a first region that includes a first edge, a second region that includes a second edge that is perpendicular to the first edge, and a third region that includes a corner edge and a terminal edge.
  • the number of pixels in the first region, the number of pixels in the second region, and the number of pixels in the third region are in predetermined proportions.
  • a storage device that creates an edge detection model for detecting the edges of a pattern on an image, and stores a program for creating the edge detection model, and the program.
  • the model generation device includes a calculation device that executes a calculation according to an instruction included, and the model generation device acquires a training image of a workpiece on which a pattern is formed from a scanning electron microscope, and obtains an edge of the pattern on the training image.
  • the feature vector of the pixel that is detected and constitutes the training image is calculated, the target area in the training image is divided into an edge area, an edge vicinity area, and a non-edge area, and a plurality of a plurality of in the edge area.
  • Training data including a plurality of feature vectors of the first pixel, a plurality of feature vectors of a plurality of second pixels in the edge vicinity region, and a plurality of feature vectors of a plurality of third pixels in the non-edge region is created.
  • a model generator is provided that is configured to create an edge detection model by machine learning using the training data.
  • the number A is divided by the number B.
  • the value (A / B) is a predetermined numerical value. In one aspect, the value (A / B) obtained by dividing the number A by the number B is in the range of 0.6 to 1.5.
  • the non-edge region is separated from the edge region by a predetermined number of pixels, and the edge neighborhood region is located between the edge region and the non-edge region.
  • the model generator is configured to divide the target region in the training image into an edge region, an exclusion region, an edge neighborhood region, and a non-edge region.
  • the target region includes a first region that includes a first edge, a second region that includes a second edge that is perpendicular to the first edge, and a third region that includes a corner edge and a terminal edge.
  • the number of pixels in the first region, the number of pixels in the second region, and the number of pixels in the third region are in predetermined proportions.
  • a step of creating training data including a vector, a plurality of feature vectors of a plurality of second pixels in the edge vicinity region, and a plurality of feature vectors of a plurality of third pixels in the non-edge region, and the training data.
  • a computer-readable recording medium is provided in which a program is recorded for causing a computer to perform a step of creating an edge detection model by using machine learning.
  • edges are detected using a model created by machine learning instead of pattern design data. Specifically, a virtual edge is generated based on the determination result output from the model. This virtual edge is expected to have a shape very close to the edge of the pattern appearing in the image.
  • training data including pixels in the edge region, pixels in the region near the edge, and pixels in the non-edge region is used for machine learning.
  • the edge detection model created by machine learning accurately determines whether or not a given pixel is an edge. Can be done.
  • the pixels in the exclusion region are not used for machine learning.
  • the pixels in this exclusion region may be edge pixels or non-edge pixels. That is, the pixels in the exclusion region are uncertain pixels. By excluding such an uncertain pixel feature vector from the training data, machine learning of the edge detection model can be completed at an early stage.
  • FIG. 1 is a schematic view showing an embodiment of a pattern edge detection device.
  • the pattern edge detection device includes a scanning electron microscope 1 and an arithmetic system 3.
  • the scanning electron microscope 1 is an example of an image generator that generates an image of a workpiece. Examples of workpieces include wafers or masks involved in semiconductor manufacturing. Wafers are used as examples of workpieces in the embodiments described below, but the present invention is not limited to the following embodiments.
  • the pattern is a wiring pattern of an electronic device formed on the workpiece.
  • the scanning electron microscope 1 is connected to the arithmetic system 3, and the operation of the scanning electron microscope 1 is controlled by the arithmetic system 3.
  • the calculation system 3 includes a storage device 6 in which a database 5 and a program are stored, a processing device 7 that executes a calculation according to an instruction included in the program, and a display screen 10 that displays an image, a GUI (graphical user interface), and the like. ing.
  • the storage device 6 includes a main storage device such as a RAM and an auxiliary storage device such as a hard disk drive (HDD) and a solid state drive (SSD).
  • Examples of the processing device 7 include a CPU (central processing unit) and a GPU (graphic processing unit).
  • the specific configuration of the arithmetic system 3 is not limited to these examples.
  • the calculation system 3 further includes an input device 12 including a mouse 12a and a keyboard 12b.
  • the user can operate the GUI appearing on the display screen 10 by using the mouse 12a and / or the keyboard 12b.
  • the input device 12 including the mouse 12a and the keyboard 12b is an example, and the present invention is not limited to the input device 12 of the present embodiment.
  • the arithmetic system 3 is equipped with at least one computer.
  • the arithmetic system 3 may be an edge server connected to the scanning electron microscope 1 by a communication line, or a cloud server connected to the scanning electron microscope 1 by a communication network such as the Internet or a local area network. May be good.
  • the arithmetic system 3 may be a combination of a plurality of servers.
  • the arithmetic system 3 may be a combination of an edge server and a cloud server connected to each other by a communication network such as the Internet or a local area network, or a combination of a plurality of servers not connected by a communication network.
  • the scanning electron microscope 1 includes an electron gun 15 that emits an electron beam composed of primary electrons (charged particles), a focusing lens 16 that focuses the electron beam emitted from the electron gun 15, and an X deflector 17 that deflects the electron beam in the X direction. It has a Y deflector 18 that deflects an electron beam in the Y direction, and an objective lens 20 that focuses the electron beam on a wafer W which is an example of a workpiece.
  • the focusing lens 16 and the objective lens 20 are connected to the lens control device 21, and the operation of the focusing lens 16 and the objective lens 20 is controlled by the lens control device 21.
  • the lens control device 21 is connected to the arithmetic system 3.
  • the X deflector 17 and the Y deflector 18 are connected to the deflection control device 22, and the deflection operation of the X deflector 17 and the Y deflector 18 is controlled by the deflection control device 22.
  • the deflection control device 22 is also connected to the arithmetic system 3 in the same manner.
  • the secondary electron detector 25 and the backscattered electron detector 26 are connected to the image acquisition device 28.
  • the image acquisition device 28 is configured to convert the output signals of the secondary electron detector 25 and the backscattered electron detector 26 into an image.
  • the image acquisition device 28 is also connected to the arithmetic system 3 in the same manner.
  • the stage 31 arranged in the chamber 30 is connected to the stage control device 32, and the position of the stage 31 is controlled by the stage control device 32.
  • the stage control device 32 is connected to the arithmetic system 3.
  • the transfer device 34 for mounting the wafer W on the stage 31 in the chamber 30 is also connected to the arithmetic system 3.
  • the electron beam emitted from the electron gun 15 is focused by the focusing lens 16, then focused by the objective lens 20 while being deflected by the X deflector 17 and the Y deflector 18, and is irradiated on the surface of the wafer W.
  • the secondary electrons and backscattered electrons are emitted from the wafer W.
  • Secondary electrons are detected by the secondary electron detector 25, and backscattered electrons are detected by the backscattered electron detector 26.
  • the detected secondary electron signal and backscattered electron signal are input to the image acquisition device 28 and converted into an image. The image is transmitted to the arithmetic system 3.
  • the design data of the pattern formed on the wafer W is stored in advance in the storage device 6.
  • the pattern on the wafer W is created based on the design data.
  • the pattern design data includes pattern design information such as the coordinates of the vertices of the pattern, the position, shape and size of the pattern, and the number of the layer to which the pattern belongs.
  • a database 5 is constructed in the storage device 6.
  • the pattern design data is stored in the database 5 in advance.
  • the arithmetic system 3 can read the design data from the database 5 stored in the storage device 6.
  • the design data is also called CAD data.
  • CAD is an abbreviation for computer-aided design.
  • the scanning electron microscope 1 generates a plurality of images of a plurality of patterns formed on the wafer W.
  • the arithmetic system 3 acquires a target image, which is one of a plurality of images, from the scanning electron microscope 1.
  • FIG. 2 is a schematic view showing a target image.
  • a target pattern 51 for detecting an edge appears.
  • the target pattern 51 is a pattern formed on the wafer W.
  • the calculation system 3 generates a feature vector representing a plurality of feature quantities of each pixel of the target image 50.
  • the feature vector is a multidimensional vector including a plurality of feature quantities of each pixel.
  • the feature amount is a numerical value representing the feature of the pixel.
  • the plurality of feature quantities of each pixel is the difference between the luminance value of the pixel and the luminance value of the other pixel.
  • the luminance value is a discrete numerical value from 0 to 255 according to the gray scale.
  • the other pixels are adjacent pixels. In one embodiment, the other pixels may be non-adjacent pixels.
  • the calculation system 3 applies a differential filter to the target image 50 to generate a feature vector containing a plurality of feature quantities. Specifically, the arithmetic system 3 calculates a plurality of differences between the luminance value of a certain pixel and the luminance values of a plurality of pixels existing around the pixel. These calculated differences constitute a plurality of feature quantities included in one feature vector.
  • the feature vector of pixel P1 in this example is represented as (-100, -50, 0, 50).
  • the brightness value of the pixel P2 shown in FIG. 2 is 10 and the brightness values of a plurality of pixels existing around the pixel P2 are 20, 15, 10, and 10
  • the calculated difference is -10, -5,0,0. Therefore, the feature vector of pixel P2 in this example is represented as (-10, -5,0,0).
  • the number of feature quantities included in the feature vector is four, but the present invention is not limited to this embodiment.
  • the feature vector may contain a number of features less than or greater than four.
  • the arithmetic system 3 inputs a plurality of feature quantities constituting a feature vector into a model constructed by machine learning, and outputs a determination result indicating edge pixels or non-edge pixels from the model.
  • This model is a trained model created by machine learning using training data.
  • the training data includes the feature vectors of each of the plurality of pixels and the correct answer data of these feature vectors.
  • the correct answer data is information that identifies a pixel having a certain feature vector as either a pixel that constitutes an edge of a pattern or a pixel that does not form an edge.
  • Each of the feature vectors of the plurality of pixels included in the training data is associated with the correct answer data.
  • the model created by machine learning using such training data can determine whether the unknown pixel is an edge pixel or a non-edge pixel from the feature vector of the unknown pixel. .. That is, when the feature vector of an unknown pixel is input to the model, the model outputs a determination result indicating an edge pixel or a non-edge pixel.
  • the calculation system 3 selects a plurality of pixels having a feature vector for which a determination result indicating an edge pixel is obtained, and connects the selected plurality of pixels with a line to generate a virtual edge.
  • FIG. 3 is a schematic diagram showing a virtual edge.
  • the arithmetic system 3 forms a virtual edge 55 by connecting a plurality of pixels PX having a feature vector for which a determination result indicating an edge pixel is obtained with a line.
  • the virtual edge 55 is expected to have a shape close to the edge of the target pattern 51 (see FIG. 2) on the wafer W.
  • a decision tree is used for the model.
  • a decision tree is a model (trained model) constructed according to a random forest algorithm, which is an example of a machine learning algorithm.
  • FIG. 4 is a schematic diagram showing an embodiment of a model composed of a decision tree.
  • the model 60 includes a plurality of decision trees 60A, 60B, 60C.
  • the feature vector of each pixel is input to each of these decision trees 60A, 60B, and 60C.
  • the plurality of decision trees 60A, 60B, and 60C determine whether the pixel having the feature vector is an edge pixel or a non-edge pixel according to the algorithm of each decision tree.
  • the model 60 is composed of three decision trees 60A, 60B, and 60C, but the number of decision trees is not particularly limited.
  • the model 60 may include only one decision tree.
  • FIG. 5 is a diagram showing an example of a determination result when a feature vector (-100, -50, 0, 50) is input to a plurality of decision trees 60A, 60B, 60C shown in FIG.
  • the feature vectors (-100, -50, 0, 50) are input to the three decision trees 60A, 60B, 60C, respectively.
  • the first decision tree 60A and the second decision tree 60B determine that the pixel having the feature vector (-100, -50, 0, 50) is an edge pixel, and the third decision tree 60C is the feature.
  • a pixel having a vector (-100, -50, 0, 50) is determined to be a non-edge pixel.
  • FIG. 6 is a diagram showing an example of a determination result when a feature vector (-10, -5, 0, 0) is input to a plurality of decision trees 60A, 60B, 60C shown in FIG.
  • the feature vectors (-10, -5, 0, 0) are input to the three decision trees 60A, 60B, and 60C, respectively.
  • All decision trees 60A, 60B, 60C determine that pixels with feature vectors (-10, -5,0,0) are non-edge pixels.
  • the calculation system 3 employs the larger number of the determination results indicating the edge pixels or the determination results indicating the non-edge pixels.
  • two of the three decision trees 60A, 60B, and 60C output a determination result indicating edge pixels, and the other one outputs a determination result indicating non-edge pixels.
  • the arithmetic system 3 adopts the determination result having the larger number, and determines that the pixel having the input feature vector (-100, -50, 0, 50) is the edge pixel.
  • all the decision trees 60A, 60B, and 60C output determination results indicating non-edge pixels.
  • the arithmetic system 3 determines that the pixel having the input feature vector (-10, -5,0,0) is a non-edge pixel.
  • the decision tree has the advantage that machine learning can be completed faster than other models such as neural networks. For example, machine learning for constructing a plurality of decision trees using training data is completed in about 1 to 5 minutes. Therefore, by adopting the model 60 provided with the decision tree, the time from the start of machine learning to the generation of the virtual edge 55 can be shortened.
  • the edge shape of the pattern is slightly different for each wafer. Models created using images of patterns on one wafer may fail to detect edges of patterns on other wafers.
  • the actual pattern used for creating the training data and the target pattern 51 for which the virtual edge 55 should be generated are formed on the same wafer (workpiece) W. That is, the machine learning of the model 60 in the learning phase and the generation of the virtual edge 55 in the edge detection phase are executed using the image of the same wafer (workpiece) W. Therefore, the arithmetic system 3 can generate the virtual edge 55 of the target pattern 51 with high accuracy by using the model 60 constructed by machine learning using the training data.
  • the model 60 constructed by machine learning may be a model consisting of a support vector machine or a neural network.
  • the model 60 is a neural network
  • the feature vector is input to the input layer of the neural network, and the determination result is output from the output layer of the neural network.
  • Deep learning is suitable for machine learning of neural networks.
  • the virtual edge 55 shown in FIG. 3 is expected to have a shape extremely close to the edge of the target pattern 51 shown in FIG.
  • the arithmetic system 3 may further perform a step of detecting the edge of the target pattern 51 based on the virtual edge 55.
  • the edge detection of the target pattern 51 is performed in the same manner as the conventional edge detection method described with reference to FIGS. 25 and 26.
  • the virtual edge 55 is used instead of the CAD pattern.
  • the arithmetic system 3 generates a plurality of luminance profiles of the target image 50 along a plurality of search lines 65 extending in the normal direction with respect to the virtual edge 55, and a plurality of luminance profiles are generated.
  • a plurality of edge point EPs are determined based on the brightness profile, and the plurality of edge point EPs are connected by a line to generate an updated edge 67.
  • FIG. 8 is a diagram showing an example of a luminance profile along one of the search lines 65 shown in FIG. 7.
  • the arithmetic system 3 determines the edge point EP whose luminance value on the luminance profile is equal to the threshold value. As shown in FIG. 7, the arithmetic system 3 determines a plurality of edge point EPs on a plurality of luminance profiles along the plurality of search lines 65, and connects these edge point EPs with a line to update the edge. 67 is generated and the updated edge 67 is drawn on the target image 50. The updated edge 67 is expected to have a shape very close to the actual edge of the target pattern 51 (see FIG. 2).
  • the training data used for machine learning for constructing the model 60 will be described.
  • the training data is created from images of a plurality of real patterns on the wafer W on which the target pattern 51 on which the virtual edge 55 should be generated is formed.
  • the arithmetic system 3 selects a plurality of training patterns from the design data.
  • the design data (also referred to as CAD data) is the design data of the pattern formed on the wafer W.
  • the training data is created from images of patterns having various edge shapes.
  • the training patterns used to create the training data are, as shown in FIG. 9, an edge E1 extending in the first direction and an edge E2 extending in the second direction perpendicular to the first direction. , Includes a plurality of patterns PT1, PT2, PT3 having a corner edge E3 and a terminal edge E4.
  • the arithmetic system 3 extracts (selects) a plurality of training patterns PT1, PT2, and PT3 having edges E1 to E4 having various shapes as described above from the design data.
  • the calculation system 3 is configured to display a design drawing drawn based on the design data on the display screen 10 (see FIG. 1).
  • FIG. 10 is a schematic view showing an example of the design drawing 75 displayed on the display screen 10.
  • the design drawing 75 includes various patterns drawn based on the design data.
  • the user can visually check the design drawing 75 on the display screen 10 and select the patterns PT1, PT2, and PT3 having edges extending in multiple directions as shown in FIG. More specifically, the user operates the input device 12 provided with the mouse 12a and the keyboard 12b shown in FIG. 1, and as shown in FIG. 10, from the plurality of patterns on the design drawing 75, for a plurality of trainings. Patterns PT1, PT2 and PT3 can be selected.
  • the user can operate the input device 12 to delete or change a part of the training patterns PT1, PT2, PT3, or change another pattern on the design drawing 75 into the training patterns PT1, PT2, PT3. It is also possible to add.
  • the calculation system 3 displays a plurality of selected training patterns PT1, PT2, PT3, or an area in which these patterns PT1, PT2, PT3 are located in a visually emphasized manner.
  • a frame 80 indicating an area in which the selected training patterns PT1, PT2, and PT3 are located may be displayed on the display screen 10, or as shown in FIG.
  • the selected training patterns PT1, PT2, PT3 themselves may be displayed in a manner visually different from other patterns.
  • the selected training patterns PT1, PT2, PT are displayed with thicker lines than the other patterns, but in the other example, the selected training patterns PT1, PT2, PT3 are displayed. May be displayed in a color different from other patterns. The user can visually confirm the plurality of training patterns PT1, PT2, and PT3 on the display screen 10.
  • the scanning electron microscope 1 generates a plurality of training images of a plurality of actual patterns created based on a plurality of selected training patterns. At this time, the scanning electron microscope 1 may generate an image of the target pattern 51 on which the virtual edge 55 should be generated.
  • the arithmetic system 3 acquires a plurality of training images from the scanning electron microscope 1 and stores them in the storage device 6.
  • the arithmetic system 3 detects the edges of a plurality of real patterns on the plurality of training images. This edge detection is performed according to the conventional edge detection method described with reference to FIGS. 25 and 26. That is, the arithmetic system 3 generates a plurality of CAD patterns corresponding to the plurality of training patterns from the design data. The arithmetic system 3 may apply corner round processing to each CAD pattern to form rounded corner edges. Next, the arithmetic system 3 superimposes these CAD patterns on the plurality of patterns on the training image.
  • the arithmetic system 3 generates a plurality of search lines extending in the normal direction with respect to the edge of the CAD pattern, and creates a plurality of luminance profiles of the image along the search lines.
  • the arithmetic system 3 determines an edge point at which the luminance value on one luminance profile is equal to the threshold value. Further, the arithmetic system 3 repeats the same operation to determine a plurality of edge points on the luminance profile along all the search lines.
  • the arithmetic system 3 connects these plurality of edge points with a line, and sets the line connecting the edge points as the edge of the actual pattern on the training image. In this way, the edge of the actual pattern on the training image is detected (determined).
  • the arithmetic system 3 can label each reference pixel constituting the training image with an edge pixel label or a non-edge pixel label. That is, the arithmetic system 3 classifies the plurality of reference pixels constituting the plurality of training images into a first reference pixel forming an edge and a second reference pixel not forming an edge.
  • the arithmetic system 3 generates a plurality of first feature vectors of a plurality of first reference pixels and a plurality of second feature vectors of a plurality of second reference pixels.
  • each feature vector is a multidimensional vector including a plurality of feature quantities of each reference pixel.
  • the arithmetic system 3 creates training data including a plurality of first feature vectors, a plurality of second feature vectors, and correct answer data of these feature vectors.
  • the correct answer data is information that identifies that a pixel having a certain feature vector is either a pixel that constitutes an edge of a pattern or a pixel that does not form an edge.
  • Each of the first feature vector and the second feature vector included in the training data is associated with the correct answer data.
  • FIG. 13 is a schematic diagram showing training data 70 including the first feature vector of the first reference pixel constituting the edge and the second feature vector of the second reference pixel not forming the edge.
  • the first feature vector is labeled with correct data representing edge pixels
  • the second feature vector is labeled with correct data representing non-edge pixels.
  • the arithmetic system 3 builds the model 60 by machine learning using the training data 70.
  • the model 60 is composed of a plurality of decision trees 60A, 60B, 60C.
  • the arithmetic system 3 creates a plurality of data groups 70A, 70B, 70C each including a plurality of first feature vectors and a plurality of second vectors randomly extracted from the training data 70, and these data groups 70A, 70B, A plurality of decision trees 60A, 60B, 60C are constructed using 70C. More specifically, the arithmetic system 3 uses the data group 70A to determine the model parameters of the decision tree 60A. In the same manner, the arithmetic system 3 uses the data group 70B to determine the model parameters of the decision tree 60B and the data group 70C to determine the model parameters of the decision tree 60C.
  • the arithmetic system 3 verifies the model 60 composed of a plurality of decision trees 60A, 60B, 60C having the model parameters determined as described above by using the training data 70. Specifically, the arithmetic system 3 inputs the first feature vector included in the training data 70 to the model 60, outputs the determination result from the model 60, and collates whether or not the determination result indicates an edge pixel. .. Similarly, the arithmetic system 3 inputs the second feature vector included in the training data 70 to the model 60, outputs the determination result from the model 60, and collates whether or not the determination result indicates non-edge pixels. The arithmetic system 3 repeatedly executes such verification to acquire a plurality of determination results, and calculates the determination accuracy at which the plurality of determination results match the correct answer data.
  • the arithmetic system 3 executes the generation of the virtual edge 55 using the model 60 as described above. If the determination accuracy is smaller than the set value, the arithmetic system 3 re-executes the training data creation and the machine learning of the model. In one embodiment, the arithmetic system 3 does not use the model 60 when the determination accuracy is smaller than the set value, and the edge of the target pattern 51 according to the conventional edge detection method described with reference to FIGS. 25 and 26. May be detected.
  • step 1 the arithmetic system 3 selects (extracts) a plurality of training patterns from the design data. As shown in FIG. 9, a plurality of training patterns selected have an edge E1 extending in the first direction, an edge E2 extending in the second direction perpendicular to the first direction, a corner edge E3, and a terminal edge E4. Includes the pattern of.
  • step 2 the scanning electron microscope 1 generates a plurality of training images of a plurality of real patterns, each of which is created based on a plurality of selected training patterns. At this time, the scanning electron microscope 1 may generate an image of the target pattern 51 on which a virtual edge should be generated.
  • step 3 the arithmetic system 3 detects edges of a plurality of real patterns on the plurality of training images. This edge detection is performed according to the conventional edge detection method described with reference to FIGS. 25 and 26.
  • step 4 the arithmetic system 3 classifies the plurality of reference pixels constituting the plurality of training images into a first reference pixel forming an edge and a second reference pixel not forming an edge.
  • step 5 the arithmetic system 3 generates a plurality of first feature vectors of the plurality of first reference pixels and a plurality of second feature vectors of the plurality of second reference pixels. Specifically, the arithmetic system 3 generates a feature vector representing a plurality of feature quantities of each reference pixel.
  • step 6 the arithmetic system 3 creates training data 70 including a plurality of first feature vectors, a plurality of second feature vectors, and correct answer data of these feature vectors (see FIG. 13).
  • step 7 the arithmetic system 3 executes machine learning using the training data 70 and builds the model 60. More specifically, the arithmetic system 3 adjusts the model parameters so that when a certain feature vector is input to the model 60, the model 60 outputs a correct determination result.
  • step 8 the arithmetic system 3 verifies the determination accuracy of the model 60 using the training data 70. Specifically, the arithmetic system 3 inputs a plurality of feature vectors included in the training data 70 into the model 60 one by one, and outputs a plurality of determination results from the model 60. The calculation system 3 calculates the determination accuracy, which is the ratio of these plurality of determination results matching the correct answer data.
  • step 9 the calculation system 3 compares the determination accuracy with the set value. If the determination accuracy is smaller than the set value, the operation flow returns to step 6. In one embodiment, when the determination accuracy is smaller than the set value, the operation flow does not return to step 6, and the arithmetic system 3 performs the target pattern according to the conventional edge detection method described with reference to FIGS. 25 and 26. The edge of 51 may be detected.
  • the arithmetic system 3 If the determination accuracy is equal to or higher than the set value in step 9 described above, the arithmetic system 3 generates a virtual edge using the model 60 in step 10 as shown in FIG. Specifically, the arithmetic system 3 generates a feature vector representing a plurality of feature quantities of each pixel of the target image 50, inputs the feature vector into the model 60, and determines a determination result indicating edge pixels or non-edge pixels. Is output from the model 60. The arithmetic system 3 generates a virtual edge by connecting a plurality of pixels having a feature vector for which a determination result indicating an edge pixel is obtained with a line.
  • the arithmetic system 3 uses the virtual edge as a reference edge, executes edge detection according to the conventional edge detection method, and generates an updated edge. Specifically, as shown in FIGS. 7 and 8, the arithmetic system 3 generates a plurality of search lines 65 extending in the normal direction with respect to the virtual edge 55, and the target image 50 along these search lines 65. A plurality of luminance profiles of the above are generated, a plurality of edge point EPs are determined based on the plurality of luminance profiles, and the plurality of edge point EPs are connected by a line to generate an updated edge 67.
  • step 12 the arithmetic system 3 inspects how far the updated edge 67 generated in step 11 is from the edge of the CAD pattern. Specifically, as shown in FIG. 16, the arithmetic system 3 generates a CAD pattern 75 corresponding to the target pattern 51 from the design data, superimposes the CAD pattern 75 on the target pattern 51 on the target image 50, and CAD. The distance from the edge of the pattern 75 to the updated edge 67 of the target pattern 51 is measured at a plurality of measurement points. The plurality of measurement points are arranged on the edges of the CAD pattern. According to this step 12, it is possible to know how much the updated edge 67 deviates from the design data (or how close it is to the design data).
  • the arithmetic system 3 including at least one computer operates according to the instructions included in the program electrically stored in the storage device 6. That is, the arithmetic system 3 issues a command to the scanning electron microscope 1 to generate a target image 50 of the target pattern 51 formed on the workpiece, and a feature representing a plurality of feature quantities of each pixel of the target image 50.
  • a step of outputting the determination result from the model 60 and a step of connecting a plurality of pixels having a feature vector for which the determination result indicating the edge pixels is obtained with a line to generate a virtual edge 55 are executed.
  • the program for causing the arithmetic system 3 to execute these steps is recorded on a computer-readable recording medium which is a non-temporary tangible object, and is provided to the arithmetic system 3 via the recording medium.
  • the program may be input to the arithmetic system 3 via a communication network such as the Internet or a local area network.
  • the pattern edge used for the training data has fluctuations, and the boundary line between the edge and the non-edge region on the image is unclear.
  • a model created using such training data (hereinafter referred to as an edge detection model) may fail to detect an edge or erroneously detect an edge. Creating an accurate model requires a large amount of training data for machine learning, and as a result, machine learning takes a very long time.
  • FIG. 17 is a schematic view showing another embodiment of the pattern edge detection device. Since the configuration and operation of the present embodiment, which are not particularly described, are the same as those of the embodiments described with reference to FIGS. 1 to 16, the duplicated description will be omitted.
  • the arithmetic system 3 includes a model generation device 80 that generates an edge detection model for detecting the edge of the pattern formed on the workpiece W.
  • the image acquisition device 28 is connected to the model generation device 80.
  • the model generator 80 is composed of at least one computer.
  • the model generation device 80 includes a storage device 80a in which the program is stored, and a processing device 80b that executes an operation according to an instruction included in the program.
  • the storage device 80a includes a main storage device such as a RAM and an auxiliary storage device such as a hard disk drive (HDD) and a solid state drive (SSD).
  • Examples of the processing device 80b include a CPU (central processing unit) and a GPU (graphic processing unit).
  • the storage device 80a may be integrated with the storage device 6, and the processing device 80b may be integrated with the processing device 7.
  • the model generation device 80 is configured to create an edge detection model for detecting the edge of the pattern on the image sent from the image acquisition device 28 by machine learning. The creation of the edge detection model will be described below.
  • FIG. 18 is a diagram showing an example of a training image of the workpiece W on which the pattern is formed.
  • a plurality of patterns appear in the training image. These patterns are training patterns used for training data.
  • the model generator 80 detects the edges of the pattern on the training image.
  • Known image processing techniques such as the Sobel filter and the Canny method are used to detect edges.
  • the edge detection may be performed according to the conventional edge detection method described with reference to FIGS. 25 and 26.
  • the user may manually correct the detected edges. Further, in one embodiment, the edges may be drawn by the user.
  • FIG. 19 is a diagram showing the detected edges. As shown in FIG. 19, the detected edges are represented by lines. The model generator 80 superimposes the detected edge on the training image of the workpiece W. FIG. 20 is a diagram in which the detected edges shown in FIG. 19 are superimposed on the training image shown in FIG.
  • the model generation device 80 generates a feature vector representing a plurality of feature quantities of each pixel constituting the training image shown in FIG.
  • the feature vector is a multidimensional vector including a plurality of feature quantities of each pixel.
  • the feature amount is a numerical value representing the feature of the pixel.
  • the plurality of feature quantities of each pixel is the difference between the luminance value of the pixel and the luminance value of the other pixel.
  • the luminance value is a discrete numerical value from 0 to 255 according to the gray scale.
  • the other pixels are adjacent pixels. In one embodiment, the other pixels may be non-adjacent pixels.
  • the model generator 80 applies a differential filter to the training image and calculates the feature amount of each pixel. More specifically, the model generator 80 differentiates the brightness values of the pixels constituting the training image along a plurality of directions, and is a feature quantity consisting of the difference in the brightness values between the two pixels arranged in each direction. Is calculated for each pixel.
  • the model generator 80 differentiates the brightness values of the pixels along the directions of 0 degrees, 45 degrees, 90 degrees, and 135 degrees. That is, the model generator 80 is arranged in the 0 degree direction, the difference in the brightness values of the pixels arranged in the 0 degree direction, the difference in the brightness values of the pixels arranged in the 45 degree direction, the difference in the brightness values of the pixels arranged in the 90 degree direction, and the difference in the 135 degree direction. Calculate the difference in the brightness values of the pixels. Therefore, for each pixel, a feature quantity consisting of four numerical values can be obtained.
  • the feature amount of the pixel represented by the reference numeral P1 in FIG. 21 is represented by a feature vector composed of 200, 50, 0, and -50.
  • the angle of differentiation, the number of angles, and the number of features per pixel are not limited to this embodiment.
  • the model generator 80 divides the target region 100 in the training image into an edge region R1, an edge neighborhood region R2, and a non-edge region R3.
  • the target region 100 shown in FIG. 22 is a part of the training image of the workpiece W shown in FIG. More specifically, the target region 100 shown in FIG. 22 is a region including the edge of the pattern on the training image shown in FIG.
  • the edge region R1 is an region including the pixels constituting the detected edge shown in FIG.
  • the width of the edge region R1 is constant.
  • the width of the edge region R1 may be a width corresponding to one pixel, or may be a width corresponding to a plurality of predetermined numbers (for example, three) of pixels.
  • the non-edge region R3 is separated from the edge region R1 by a predetermined number of pixels.
  • the edge neighborhood region R2 is located between the edge region R1 and the non-edge region R3. That is, the edge neighborhood region R2 is adjacent to the edge region R1 and the non-edge region R3, and extends along the edge region R1 and the non-edge region R3.
  • the width of the edge vicinity region R2 is constant. In one embodiment, the width of the edge vicinity region R2 is wider than the width of the edge region R1. Normally, the edge region R1 is smaller than the edge neighborhood region R2, and the edge neighborhood region R2 is smaller than the non-edge region R3.
  • the model generator 80 includes a plurality of feature vectors of a plurality of pixels in the edge region R1, a plurality of feature vectors of a plurality of pixels in the edge neighborhood region R2, and a plurality of feature vectors of a plurality of pixels in the non-edge region R3.
  • Create training data including, and create an edge detection model by machine learning using the training data.
  • edge detection models include decision trees and neural networks.
  • machine learning include decision trees and learning deep learning.
  • the training data includes the correct answer data (or correct answer label) for each pixel.
  • This correct answer data is information that identifies each pixel as either a pixel that constitutes an edge of a pattern or a pixel that does not form an edge.
  • the pixels in the edge region R1 are pixels that form an edge
  • the pixels in the edge neighborhood region R2 and the non-edge region R3 are pixels that do not form an edge.
  • Machine learning uses edge detection model parameters (such as weighting factors) to correctly determine whether a pixel with a feature vector input to an edge detection model is an edge pixel or a non-edge pixel. Optimize.
  • the edge detection model created by machine learning in this way can determine whether the pixel is an edge pixel or a non-edge pixel based on the pixel feature vector.
  • training data that inevitably includes pixels in the edge region R1, pixels in the edge neighborhood region R2, and pixels in the non-edge region R3 is used for machine learning.
  • the edge detection model created by machine learning accurately determines whether or not the given pixel is an edge. be able to.
  • the edge detection model created using such training data is biased towards non-edge pixel detection.
  • the edge detection model cannot correctly determine that the input pixel is an edge pixel. Therefore, in order to improve the edge detection accuracy of the edge detection model, the plurality of pixels used for machine learning of the edge detection model include edge pixels (that is, pixels in the edge region R1) and non-edge pixels (that is, pixels). It is preferable that the pixels in the edge vicinity region R2 and the non-edge region R3 are evenly included.
  • the number A is the number B.
  • the value (A / B) obtained by dividing is a predetermined value.
  • the value (A / B) obtained by dividing the number A by the number B is in the range of 0.6 to 1.5.
  • the number A of pixels in the edge region R1 included in the training data is different from the number of pixels in the edge vicinity region R2 included in the training data. It is the same as the total B with the number of pixels in the edge region R3.
  • the pixel feature vector in the edge neighborhood region R2 has a value between the pixel feature vector in the edge region R1 and the pixel feature vector in the non-edge region R3. Therefore, it is difficult to accurately determine whether the pixels in the edge vicinity region R2 are edge pixels or non-edge pixels. From another point of view, it is possible to generate an edge detection model with high edge detection accuracy by using training data including many feature vectors of pixels in the edge vicinity region R2. Therefore, in one embodiment, the number of pixels in the edge neighborhood region R2 included in the training data is larger than the number of pixels in the non-edge region R3 included in the training data.
  • the arithmetic system 3 detects the edge on the target image of the workpiece W as follows by using the edge detection model created by machine learning.
  • the scanning electron microscope 1 generates a target image of the workpiece W
  • the arithmetic system 3 receives the target image of the workpiece W from the scanning electron microscope 1 and calculates a feature vector of pixels constituting the target image of the workpiece W.
  • the feature vector is input to the edge detection model, and the judgment result indicating whether the pixel having the feature vector is an edge pixel or a non-edge pixel is output from the edge detection model, and the judgment indicating the edge pixel is performed.
  • An edge is generated by connecting a plurality of pixels having the obtained feature vector with a line.
  • the model generator 80 including at least one computer operates according to the instructions included in the program electrically stored in the storage device 80a. That is, the model generator 80 acquires a training image of the workpiece W on which the pattern is formed from the scanning electron microscope 1, detects the edge of the pattern on the training image, and has pixels that constitute the training image.
  • the feature vector is calculated, and the target region in the training image is divided into an edge region R1, an edge neighborhood region R2, and a non-edge region R3, and the feature vectors of a plurality of pixels in the edge region R1 and the edge neighborhood region R2
  • the training data including the feature vectors of the plurality of pixels and the feature vectors of the plurality of pixels in the non-edge region R3 is created, and the step of creating an edge detection model by machine learning is executed using the training data.
  • the program for causing the model generator 80 to execute these steps is recorded on a computer-readable recording medium which is a non-temporary tangible object, and is provided to the model generator 80 via the recording medium.
  • the program may be input to the model generator 80 via a communication network such as the Internet or a local area network.
  • the model generator 80 divides the target region 100 in the training image into an edge region R1, an edge neighborhood region R2, a non-edge region R3, and an exclusion region R4. It is configured in.
  • the exclusion region R4 is adjacent to the edge region R1 and is located between the edge region R1 and the edge neighborhood region R2.
  • the width of the exclusion region R4 shown in FIG. 23 is constant. In one embodiment, the width of the exclusion region R4 is narrower than the width of the edge neighborhood region R2. Further, in one embodiment, the width of the exclusion region R4 is the same as the width of the edge region R1 or narrower than the width of the edge region R1.
  • the training data does not include the feature vector of the pixels in the exclusion region R4. That is, the training data includes feature vectors of a plurality of pixels in the edge region R1, feature vectors of a plurality of pixels in the edge neighborhood region R2, and feature vectors of a plurality of pixels in the non-edge region R3, but excludes regions. It does not include the feature vector of the pixel in R4. Therefore, the pixels in the exclusion region R4 are not used for machine learning.
  • the exclusion region R4 is adjacent to the edge region R1, and the feature vector of each pixel in the exclusion region R4 is almost the same as the feature vector of each pixel in the edge region R1. Therefore, the pixels in the exclusion region R4 may be edge pixels or non-edge pixels. That is, the pixels in the exclusion region R4 are uncertain pixels. When such uncertain pixels are included in the training data, it is necessary to continue machine learning until the edge detection model satisfies the desired correct answer rate. As a result, machine learning takes a long time to complete. According to the present embodiment, since the feature vector of the pixel in the exclusion region R4 is excluded from the training data, the machine learning of the edge detection model can be completed at an early stage.
  • the target region 100 includes a plurality of regions including various pattern edges in the training image. This is because the sharpness of the edges of the pattern on the training image can change depending on the direction in which the edges extend.
  • FIG. 24 is a diagram showing an example of a target region 100 including a plurality of regions set in the training image.
  • the target region 100 is a second region including a first region T1 including the first edge E1 of the pattern in the image of the workpiece W and a second edge E2 perpendicular to the first edge E1.
  • the training data includes feature vectors of pixels in a plurality of regions T1, T2, T3 including edges E1, E2, E3, E4 extending in different directions. Machine learning using such training data can improve the detection accuracy of edges extending in various directions.
  • the number of pixels in the first region T1, the number of pixels in the second region T2, and the number of pixels in the third region T3 are set in advance. It is in a fixed ratio.
  • S1 the number of pixels in the first region T1
  • S2 the number of pixels in the second region T2
  • S3 the number of pixels in the third region T3
  • m is 0.9 to 1.1
  • n 0.01 to 0.1.
  • the present invention can be used in a method and an apparatus for detecting an edge (contour line) of a pattern formed on a workpiece such as a wafer or a mask involved in semiconductor manufacturing from an image generated by a scanning electron microscope.
  • the present invention is also available in programs for causing a computer to perform such pattern edge detection.
  • the present invention can also be used in methods and devices for creating edge detection models by machine learning.

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Theoretical Computer Science (AREA)
  • Analytical Chemistry (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Chemical & Material Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Biochemistry (AREA)
  • General Health & Medical Sciences (AREA)
  • Immunology (AREA)
  • Pathology (AREA)
  • Quality & Reliability (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)
  • Length-Measuring Devices Using Wave Or Particle Radiation (AREA)
  • Image Processing (AREA)

Abstract

本発明は、半導体製造に関わるウェーハまたはマスクなどのワークピース上に形成されているパターンのエッジ(輪郭線)を、走査電子顕微鏡で生成した画像から検出する方法に関する。パターンエッジ検出方法は、ワークピース上に形成された目標パターンの対象画像を生成し、対象画像の各画素の複数の特徴量を表す特徴ベクトルを生成し、特徴ベクトルを、機械学習によって構築されたモデルに入力し、特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果をモデルから出力し、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジを生成する。

Description

パターンエッジ検出方法、パターンエッジ検出装置、パターンエッジ検出をコンピュータに実行させるためのプログラムが記録された記録媒体
 本発明は、半導体製造に関わるウェーハまたはマスクなどのワークピース上に形成されているパターンのエッジ(輪郭線)を、走査電子顕微鏡で生成した画像から検出する方法および装置に関する。また、本発明は、そのようなパターンエッジ検出をコンピュータに実行させるためのプログラムに関する。
 また、本発明は、機械学習によりエッジ検出モデルを作成する方法および装置に関する。
 ウェーハなどのワークピース上に形成されたパターンのエッジ(輪郭線)は、従来、次のようにして検出される。まず、ワークピース上のパターンの画像を走査電子顕微鏡により生成する。次に、パターンの設計データ(CADデータともいう)からCADパターンを生成し、CADパターンを画像上のパターンに重ね合わせる。CADパターンは、設計データに含まれるパターンの設計情報(位置、長さ、大きさなど)に基づいて作成された仮想的なパターンである。
 図25は、画像500上のパターン501に重ね合わされたCADパターン505を示す模式図である。コンピュータは、図25に示すように、CADパターン505のエッジに対して法線方向に延びる複数の探索線507を生成し、これら探索線507に沿った画像500の輝度プロファイルを作成する。図25では、図面を簡素化するために、複数の探索線507のうちの一部のみが描かれている。
 図26は、図25に示す探索線に沿った輝度プロファイルを示す図である。図26の縦軸は輝度値を表し、横軸は探索線507上の位置を表している。コンピュータは、輝度プロファイル上の輝度値がしきい値と等しいエッジ点510を検出する。コンピュータは、同様の動作を繰り返し、すべての探索線507に沿った輝度プロファイル上の複数のエッジ点を決定する。これら複数のエッジ点を結ぶ線は、画像500上のパターン501のエッジに決定される。
 しかしながら、図27乃至図29に示すような例では、画像500上のパターンエッジを正しく決定(検出)できないことがある。すなわち、図27に示す例では、パターン501のエッジの一部が欠落しており、パターン501のエッジが、CADパターン505に垂直な探索線507上に存在しない。図28に示す例では、CADパターン505のエッジが画像上のパターン501のエッジから大きく離れているため、パターン501のエッジが探索線507上に存在しない。図29に示す例では、CADパターン505には存在しないパターン510のエッジは、探索線507を用いた従来の方法では検出することができない。
 図27乃至図29は、パターンの欠陥の例を示しており、このような欠陥のあるパターンのエッジを検出することは重要である。しかしながら、実際のパターンは設計データから乖離していることがあり、設計データを用いた従来の方法では、欠陥のあるパターンのエッジを正しく検出することができないことがあった。
 一方、ウェーハなどのワークピースに形成されているパターンのエッジを、機械学習により作成されたモデルを用いて検出する技術の開発が進められている。この技術は、パターンが現れている画像の各画素が、パターンエッジを構成する画素か否かをエッジ検出モデル(学習済みモデル)によって判定する、というものである。
 エッジ検出モデルは、予め用意された訓練データを用いて機械学習(例えばディープラーニング、決定木学習など)によって作成される。訓練データは、走査電子顕微鏡により生成されたパターン画像と、そのパターン画像を構成する各画素の正解データを含む。正解データは、各画素が、パターンのエッジを構成する画素か、またはエッジを構成しない画素のいずれかであることを特定する情報である。このような訓練データを用いて機械学習を実行することにより、エッジ検出モデルを構成するパラメータ(重み係数など)が最適化される。
 しかしながら、訓練データに使用されるパターンエッジには揺らぎがあり、かつ画像上のエッジと非エッジ領域との境界線は不明瞭である。このような訓練データを用いて作成されたエッジ検出モデルは、エッジの検出に失敗したり、あるいはエッジを誤検出することがある。精度のよいエッジ検出モデルを作成するためには、機械学習のための大量の訓練データが必要になり、結果として機械学習に非常に長い時間がかかる。
特開2003-178314号公報 特開2013-98267号公報 特開2020-140518号公報
 本発明は、パターンの設計データを用いずに、画像上のパターンのエッジ(輪郭線)を検出することができるパターンエッジ検出方法およびパターンエッジ検出装置を提供する。
 また、本発明は、機械学習に長い時間をかけることなく、精度のよいエッジ検出モデルを作成することができる方法および装置を提供する。
 一態様では、ワークピース上に形成された目標パターンの対象画像を生成し、前記対象画像の各画素の複数の特徴量を表す特徴ベクトルを生成し、前記特徴ベクトルを、機械学習によって構築されたモデルに入力し、前記特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果を前記モデルから出力し、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジを生成する、パターンエッジ検出方法が提供される。
 一態様では、前記モデルは、決定木である。
 一態様では、前記パターンエッジ検出方法は、複数の訓練用パターンを設計データから選択し、前記複数の訓練用パターンに基づいてそれぞれ作成された複数の実パターンの複数の訓練用画像を生成し、前記複数の訓練用画像上の前記複数の実パターンのエッジを検出し、前記複数の訓練用画像を構成する複数の参照画素を、エッジを構成する複数の第1参照画素と、エッジを構成しない複数の第2参照画素に分類し、前記複数の第1参照画素の複数の第1特徴ベクトルと、前記複数の第2参照画素の複数の第2特徴ベクトルを生成し、前記複数の第1特徴ベクトルおよび前記複数の第2特徴ベクトルを含む訓練データを用いて、機械学習により前記モデルを構築する工程をさらに含む。
 一態様では、前記複数の訓練用パターンは、少なくとも第1の方向に延びるエッジ、前記第1の方向と垂直な第2の方向に延びるエッジ、コーナーエッジ、終端エッジを有する複数のパターンである。
 一態様では、前記複数の実パターンは、前記ワークピースに形成されたパターンである。
 一態様では、前記複数の訓練用パターンを設計データから選択する工程は、前記設計データに基づいて描画された複数のパターンを含む設計図面を表示画面上に表示し、前記設計図面に含まれる複数のパターンから選択された前記複数の訓練用パターン、または前記複数の訓練用パターンが位置するエリアを視覚的に強調された態様で前記表示画面上に表示す工程である。
 一態様では、前記パターンエッジ検出方法は、前記仮想エッジに対して法線方向に延びる複数の探索線に沿った前記対象画像の複数の輝度プロファイルを生成し、複数の前記輝度プロファイルに基づいて複数のエッジ点を決定し、前記複数のエッジ点を線で繋ぐことで、更新されたエッジを生成する工程をさらに含む。
 一態様では、前記パターンエッジ検出方法は、前記目標パターンに対応するCADパターンを設計データから生成し、前記CADパターンのエッジから、前記更新されたエッジまでの距離を測定する工程をさらに含む。
 一態様では、ワークピース上に形成された目標パターンの対象画像を生成する画像生成装置と、前記画像生成装置に接続された演算システムを備え、前記演算システムは、前記対象画像の各画素の複数の特徴量を表す特徴ベクトルを生成し、前記特徴ベクトルを、機械学習によって構築されたモデルに入力し、前記特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果を前記モデルから出力し、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジを生成する、パターンエッジ検出装置が提供される。
 一態様では、前記モデルは、決定木である。
 一態様では、前記演算システムは、複数の訓練用パターンを設計データから選択し、前記複数の訓練用パターンに基づいてそれぞれ作成された複数の実パターンの複数の訓練用画像を生成し、前記複数の訓練用画像上の前記複数の実パターンのエッジを検出し、前記複数の訓練用画像を構成する複数の参照画素を、エッジを構成する複数の第1参照画素と、エッジを構成しない複数の第2参照画素に分類し、前記複数の第1参照画素の複数の第1特徴ベクトルと、前記複数の第2参照画素の複数の第2特徴ベクトルを生成し、前記複数の第1特徴ベクトルおよび前記複数の第2特徴ベクトルを含む訓練データを用いて、機械学習により前記モデルを構築するように構成されている。
 一態様では、前記複数の訓練用パターンは、少なくとも第1の方向に延びるエッジ、前記第1の方向と垂直な第2の方向に延びるエッジ、コーナーエッジ、終端エッジを有する複数のパターンである。
 一態様では、前記複数の実パターンは、前記ワークピースに形成されたパターンである。
 一態様では、前記演算システムは、表示画面を有しており、前記演算システムは、前記設計データに基づいて描画された複数のパターンを含む設計図面を前記表示画面上に表示し、前記設計図面に含まれる複数のパターンから選択された前記複数の訓練用パターン、または前記複数の訓練用パターンが位置するエリアを視覚的に強調された態様で前記表示画面上に表示するように構成されている。
 一態様では、前記演算システムは、前記仮想エッジに対して法線方向に延びる複数の探索線に沿った前記対象画像の複数の輝度プロファイルを生成し、複数の前記輝度プロファイルに基づいて複数のエッジ点を決定し、前記複数のエッジ点を線で繋ぐことで、更新されたエッジを生成するように構成されている。
 一態様では、前記演算システムは、前記目標パターンに対応するCADパターンを設計データから生成し、前記CADパターンのエッジから、前記更新されたエッジまでの距離を測定するように構成されている。
 一態様では、走査電子顕微鏡に指令を発してワークピース上に形成された目標パターンの対象画像を生成させるステップと、前記対象画像の各画素の複数の特徴量を表す特徴ベクトルを生成するステップと、前記特徴ベクトルを、機械学習によって構築されたモデルに入力するステップと、前記特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果を前記モデルから出力するステップと、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジを生成するステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体が提供される。
 一態様では、前記モデルは、決定木である。
 一態様では、前記プログラムは、複数の訓練用パターンを設計データから選択するステップと、前記走査電子顕微鏡に指令を発して、前記複数の訓練用パターンに基づいてそれぞれ作成された複数の実パターンの複数の訓練用画像を生成させるステップと、前記複数の訓練用画像上の前記複数の実パターンのエッジを検出するステップと、前記複数の訓練用画像を構成する複数の参照画素を、エッジを構成する複数の第1参照画素と、エッジを構成しない複数の第2参照画素に分類するステップと、前記複数の第1参照画素の複数の第1特徴ベクトルと、前記複数の第2参照画素の複数の第2特徴ベクトルを生成するステップと、前記複数の第1特徴ベクトルおよび前記複数の第2特徴ベクトルを含む訓練データを用いて、機械学習により前記モデルを構築するステップをさらに前記コンピュータに実行させるように構成されている。
 一態様では、前記複数の訓練用パターンは、少なくとも第1の方向に延びるエッジ、前記第1の方向と垂直な第2の方向に延びるエッジ、コーナーエッジ、終端エッジを有する複数のパターンである。
 一態様では、前記複数の実パターンは、前記ワークピースに形成されたパターンである。
 一態様では、前記複数の訓練用パターンを設計データから選択するステップは、前記設計データに基づいて描画された複数のパターンを含む設計図面を表示画面上に表示するステップと、前記設計図面に含まれる複数のパターンから選択された前記複数の訓練用パターン、または前記複数の訓練用パターンが位置するエリアを視覚的に強調された態様で前記表示画面上に表示するステップである。
 一態様では、前記プログラムは、前記仮想エッジに対して法線方向に延びる複数の探索線に沿った前記対象画像の複数の輝度プロファイルを生成するステップと、複数の前記輝度プロファイルに基づいて複数のエッジ点を決定するステップと、前記複数のエッジ点を線で繋ぐことで、更新されたエッジを生成するステップをさらに前記コンピュータに実行させるように構成されている。
 一態様では、前記プログラムは、前記目標パターンに対応するCADパターンを設計データから生成するステップと、前記CADパターンのエッジから、前記更新されたエッジまでの距離を測定するステップをさらに前記コンピュータに実行させるように構成されている。
 一態様では、画像上のパターンのエッジを検出するためのエッジ検出モデルを作成する方法であって、パターンが形成されているワークピースの訓練用画像を走査電子顕微鏡で生成し、前記訓練用画像上の前記パターンのエッジを検出し、前記訓練用画像を構成する画素の特徴ベクトルを算出し、前記訓練用画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割し、前記エッジ領域内の複数の第1画素の複数の特徴ベクトル、前記エッジ近傍領域内の複数の第2画素の複数の特徴ベクトル、および前記非エッジ領域内の複数の第3画素の複数の特徴ベクトルを含む訓練データを作成し、前記訓練データを用いて機械学習によりエッジ検出モデルを作成する、方法が提供される。
 一態様では、前記複数の第1画素の数をA、前記複数の第2画素の数および前記複数の第3画素の数の合計をBとしたとき、数Aを数Bで割って得られた値(A/B)は、予め定められた数値である。
 一態様では、数Aを数Bで割って得られた値(A/B)は、0.6~1.5の範囲にある。
 一態様では、前記非エッジ領域は、前記エッジ領域から予め定められた画素数だけ離れており、前記エッジ近傍領域は、前記エッジ領域と前記非エッジ領域との間に位置する。
 一態様では、前記訓練用画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割する工程は、前記訓練用画像内のターゲット領域を、エッジ領域、除外領域、エッジ近傍領域、および非エッジ領域に分割する工程であり、前記除外領域は、前記エッジ領域に隣接し、かつ前記エッジ領域と前記エッジ近傍領域との間に位置しており、前記訓練データは、前記除外領域内の画素の特徴ベクトルを含まない。
 一態様では、前記ターゲット領域は、第1のエッジを含む第1領域と、前記第1エッジと垂直な第2エッジを含む第2領域と、コーナーエッジおよび終端エッジを含む第3領域を含む。
 一態様では、前記第1領域内の画素数、前記第2領域内の画素数、および前記第3領域内の画素数は、予め定められた割合にある。
 一態様では、画像上のパターンのエッジを検出するためのエッジ検出モデルを作成するモデル生成装置であって、前記エッジ検出モデルを作成するためのプログラムが格納されている記憶装置と、前記プログラムに含まれる命令に従って演算を実行する演算装置を備え、前記モデル生成装置は、パターンが形成されているワークピースの訓練用画像を走査電子顕微鏡から取得し、前記訓練用画像上の前記パターンのエッジを検出し、前記訓練用画像を構成する画素の特徴ベクトルを算出し、前記訓練用画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割し、前記エッジ領域内の複数の第1画素の複数の特徴ベクトル、前記エッジ近傍領域内の複数の第2画素の複数の特徴ベクトル、および前記非エッジ領域内の複数の第3画素の複数の特徴ベクトルを含む訓練データを作成し、前記訓練データを用いて機械学習によりエッジ検出モデルを作成するように構成されている、モデル生成装置が提供される。
 一態様では、前記複数の第1画素の数をA、前記複数の第2画素の数および前記複数の第3画素の数の合計をBとしたとき、数Aを数Bで割って得られた値(A/B)は、予め定められた数値である。
 一態様では、数Aを数Bで割って得られた値(A/B)は、0.6~1.5の範囲にある。
 一態様では、前記非エッジ領域は、前記エッジ領域から予め定められた画素数だけ離れており、前記エッジ近傍領域は、前記エッジ領域と前記非エッジ領域との間に位置する。
 一態様では、前記モデル生成装置は、前記訓練用画像内のターゲット領域を、エッジ領域、除外領域、エッジ近傍領域、および非エッジ領域に分割するように構成されており、前記除外領域は、前記エッジ領域に隣接し、かつ前記エッジ領域と前記エッジ近傍領域との間に位置しており、前記訓練データは、前記除外領域内の画素の特徴ベクトルを含まない。
 一態様では、前記ターゲット領域は、第1のエッジを含む第1領域と、前記第1エッジと垂直な第2エッジを含む第2領域と、コーナーエッジおよび終端エッジを含む第3領域を含む。
 一態様では、前記第1領域内の画素数、前記第2領域内の画素数、および前記第3領域内の画素数は、予め定められた割合にある。
 一態様では、パターンが形成されているワークピースの訓練用画像を走査電子顕微鏡から取得するステップと、前記訓練用画像上の前記パターンのエッジを検出するステップと、前記訓練用画像を構成する画素の特徴ベクトルを算出するステップと、前記訓練用画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割するステップと、前記エッジ領域内の複数の第1画素の複数の特徴ベクトル、前記エッジ近傍領域内の複数の第2画素の複数の特徴ベクトル、および前記非エッジ領域内の複数の第3画素の複数の特徴ベクトルを含む訓練データを作成するステップと、前記訓練データを用いて機械学習によりエッジ検出モデルを作成するステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体が提供される。
 本発明によれば、パターンの設計データに代えて、機械学習によって作成されたモデルを用いてエッジが検出される。具体的には、モデルから出力される判定結果に基づいて仮想エッジが生成される。この仮想エッジは、画像に現れているパターンのエッジに極めて近い形状を有していると予想される。
 本発明によれば、エッジ領域内の画素と、エッジ近傍領域内の画素と、非エッジ領域内の画素を含む訓練データが機械学習に用いられる。特に、判定が難しいとされるエッジ近傍領域内の画素が訓練データに含まれるので、機械学習により作成されたエッジ検出モデルは、与えられた画素がエッジであるか否かを精度よく判定することができる。
 また、本発明によれば、除外領域内の画素は、機械学習に用いられない。この除外領域内の画素は、エッジの画素かもしれないし、あるいは非エッジの画素であるかもしれない。つまり、除外領域内の画素は、不確定な画素である。このような不確定な画素の特徴ベクトルを訓練データから除外することにより、エッジ検出モデルの機械学習を早期に完了させることができる。
パターンエッジ検出装置の一実施形態を示す模式図である。 対象画像を示す模式図である。 仮想エッジを示す模式図である。 決定木からなるモデルの一実施形態を示す模式図である。 ある特徴ベクトルを図4に示す複数の決定木に入力したときの判定結果の一例を示す図である。 別の特徴ベクトルを図4に示す複数の決定木に入力したときの判定結果の他の例を示す図である。 仮想エッジに対して法線方向に延びる複数の探索線を示す図である。 図7に示す探索線のうちの1つに沿った輝度プロファイルの一例を示す図である。 訓練データの作成に使用される訓練用パターンの一例を示す模式図である。 表示画面上に表示された設計図面の一例を示す模式図である。 選択された訓練用パターンが位置するエリアを示す枠を表示画面上に表示する実施形態を示す図である。 選択された訓練用パターンを、他のパターンと相対的に視覚的に異なる態様で表示する実施形態を示す図である。 エッジを構成する第1参照画素の第1特徴ベクトルと、エッジを構成しない第2参照画素の第2特徴ベクトルを含む訓練データを示す模式図である。 パターンエッジ検出装置の動作を示すフローチャートの一部である。 パターンエッジ検出装置の動作を示すフローチャートの残りの一部である。 CADパターンのエッジから、更新されたエッジまでの距離を測定する実施形態を説明する図である。 パターンエッジ検出装置の一実施形態を示す模式図である。 パターンが形成されたワークピースの画像の一例を示す図である。 検出されたエッジを示す図である。 図19に示す検出されたエッジを、図18に示す画像上に重ね合わせた図である。 画素の特徴量を算出する一実施形態を説明する図である。 画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割する動作を説明する図である。 エッジ検出モデルを作成する他の実施形態を説明する図である。 画像内に設定された複数の領域を含むターゲット領域の一例を示す図である 画像上のパターンに重ね合わされたCADパターンを示す模式図である。 図25に示す探索線に沿った輝度プロファイルを示す図である。 欠陥のあるパターンの一例を示す図である。 欠陥のあるパターンの他の例を示す図である。 欠陥のあるパターンのさらに他の例を示す図である。
 以下、本発明の実施形態について図面を参照して説明する。
 図1は、パターンエッジ検出装置の一実施形態を示す模式図である。図1に示すように、パターンエッジ検出装置は、走査電子顕微鏡1および演算システム3を備えている。走査電子顕微鏡1は、ワークピースの画像を生成する画像生成装置の一例である。ワークピースの例としては、半導体製造に関わるウェーハまたはマスクが挙げられる。以下に説明する実施形態では、ワークピースの例としてウェーハが採用されているが、本発明は以下の実施形態に限定されない。パターンは、ワークピースに形成されている、電子デバイスの配線パターンである。
 走査電子顕微鏡1は、演算システム3に接続されており、走査電子顕微鏡1の動作は演算システム3によって制御される。演算システム3は、データベース5およびプログラムが格納された記憶装置6と、プログラムに含まれる命令に従って演算を実行する処理装置7と、画像およびGUI(グラフィカルユーザーインターフェイス)などを表示する表示画面10を備えている。記憶装置6は、RAMなどの主記憶装置と、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)などの補助記憶装置を備えている。処理装置7の例としては、CPU(中央処理装置)、GPU(グラフィックプロセッシングユニット)が挙げられる。ただし、演算システム3の具体的構成はこれらの例に限定されない。
 演算システム3は、マウス12aおよびキーボード12bを備えた入力装置12をさらに備えている。ユーザーは、マウス12aおよび/またはキーボード12bを用いて、表示画面10上に現れたGUIを操作することができる。マウス12aおよびキーボード12bを備えた入力装置12は一例であり、本発明は本実施形態の入力装置12に限定されない。
 演算システム3は、少なくとも1台のコンピュータを備えている。例えば、演算システム3は、走査電子顕微鏡1に通信線で接続されたエッジサーバであってもよいし、インターネットやローカルエリアネットワークなどの通信ネットワークによって走査電子顕微鏡1に接続されたクラウドサーバであってもよい。演算システム3は、複数のサーバの組み合わせであってもよい。例えば、演算システム3は、インターネットまたはローカルエリアネットワークなどの通信ネットワークにより互いに接続されたエッジサーバとクラウドサーバとの組み合わせ、あるいは通信ネットワークで接続されていない複数のサーバの組み合わせであってもよい。
 走査電子顕微鏡1は、一次電子(荷電粒子)からなる電子ビームを発する電子銃15、電子銃15から放出された電子ビームを集束する集束レンズ16、電子ビームをX方向に偏向するX偏向器17、電子ビームをY方向に偏向するY偏向器18、電子ビームをワークピースの一例であるウェーハWにフォーカスさせる対物レンズ20を有する。
 集束レンズ16および対物レンズ20はレンズ制御装置21に接続され、集束レンズ16および対物レンズ20の動作はレンズ制御装置21によって制御される。このレンズ制御装置21は演算システム3に接続されている。X偏向器17、Y偏向器18は、偏向制御装置22に接続されており、X偏向器17、Y偏向器18の偏向動作は偏向制御装置22によって制御される。この偏向制御装置22も同様に演算システム3に接続されている。二次電子検出器25と反射電子検出器26は画像取得装置28に接続されている。画像取得装置28は二次電子検出器25と反射電子検出器26の出力信号を画像に変換するように構成される。この画像取得装置28も同様に演算システム3に接続されている。
 チャンバー30内に配置されるステージ31は、ステージ制御装置32に接続されており、ステージ31の位置はステージ制御装置32によって制御される。このステージ制御装置32は演算システム3に接続されている。ウェーハWを、チャンバー30内のステージ31に載置するための搬送装置34も同様に演算システム3に接続されている。
 電子銃15から放出された電子ビームは集束レンズ16で集束された後に、X偏向器17、Y偏向器18で偏向されつつ対物レンズ20により集束されてウェーハWの表面に照射される。ウェーハWに電子ビームの一次電子が照射されると、ウェーハWからは二次電子および反射電子が放出される。二次電子は二次電子検出器25により検出され、反射電子は反射電子検出器26により検出される。検出された二次電子の信号、および反射電子の信号は、画像取得装置28に入力され画像に変換される。画像は演算システム3に送信される。
 ウェーハW上に形成されたパターンの設計データは、記憶装置6に予め記憶されている。ウェーハW上のパターンは、設計データに基づいて作成されたものである。パターンの設計データは、パターンの頂点の座標、パターンの位置、形状、および大きさ、パターンが属する層の番号などのパターンの設計情報を含む。記憶装置6には、データベース5が構築されている。パターンの設計データは、データベース5内に予め格納される。演算システム3は、記憶装置6に格納されているデータベース5から設計データを読み出すことが可能である。設計データは、CADデータとも呼ばれる。CADは、コンピュータ支援設計(computer-aided design)の略語である。
 次に、画像上のパターンのエッジ(輪郭線)を検出する方法について説明する。まず、走査電子顕微鏡1は、ウェーハW上に形成された複数のパターンの複数の画像を生成する。演算システム3は、複数の画像のうちの1つである対象画像を走査電子顕微鏡1から取得する。図2は、対象画像を示す模式図である。対象画像50には、エッジを検出すべき目標パターン51が現れている。この目標パターン51は、ウェーハW上に形成されたパターンである。
 演算システム3は、対象画像50の各画素の複数の特徴量を表す特徴ベクトルを生成する。特徴ベクトルは、各画素の複数の特徴量を含む多次元ベクトルである。特徴量は、画素の特徴を表す数値である。本実施形態では、各画素の複数の特徴量は、その画素の輝度値と、他の画素の輝度値との差である。輝度値は、一例では、グレースケールに従った0~255の離散的な数値である。本実施形態では、他の画素は隣接する画素である。一実施形態では、他の画素は、隣接していない画素であってもよい。
 演算システム3は、微分フィルタを対象画像50に適用することで、複数の特徴量を含む特徴ベクトルを生成する。具体的には、演算システム3は、ある画素の輝度値と、その画素の周囲に存在する複数の画素の輝度値との複数の差を算出する。これらの算出された複数の差は、1つの特徴ベクトルに含まれる複数の特徴量を構成する。
 例えば、図2に示す画素P1の輝度値が100であり、その画素P1の周囲に存在する複数の画素の輝度値が200,150,100,50である場合、算出される差は-100,-50,0,50である。したがって、この例における画素P1の特徴ベクトルは、(-100,-50,0,50)と表される。一方、図2に示す画素P2の輝度値が10であり、その画素P2の周囲に存在する複数の画素の輝度値が20,15,10,10である場合、算出される差は-10,-5,0,0である。したがって、この例における画素P2の特徴ベクトルは、(-10,-5,0,0)と表される。
 本実施形態では、特徴ベクトルに含まれる特徴量の数は4つであるが、本発明はこの実施形態に限られない。特徴ベクトルは、4つよりも小さい、または4つよりも大きい数の特徴量を含んでもよい。
 演算システム3は、特徴ベクトルを構成する複数の特徴量を、機械学習によって構築されたモデルに入力し、エッジの画素または非エッジの画素を示す判定結果をモデルから出力する。このモデルは、訓練データを用いて、機械学習によって作成された学習済みモデルである。訓練データは、複数の画素のそれぞれの特徴ベクトルと、これら特徴ベクトルの正解データを含む。正解データは、ある特徴ベクトルを持つ画素が、パターンのエッジを構成する画素か、またはエッジを構成しない画素のいずれかであることを特定する情報である。訓練データに含まれる複数の画素の特徴ベクトルのそれぞれは、正解データと結び付けられる(関連付けられる)。
 このような訓練データを用いた機械学習によって作成されたモデルは、未知の画素の特徴ベクトルから、その未知の画素がエッジの画素であるか、または非エッジの画素であるか判別することができる。すなわち、未知の画素の特徴ベクトルがモデルに入力されると、モデルはエッジの画素または非エッジの画素を示す判定結果を出力する。
 演算システム3は、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を選択し、選択された複数の画素を線で繋いで仮想エッジを生成する。図3は、仮想エッジを示す模式図である。演算システム3は、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素PXを線で繋ぐことで、仮想エッジ55を形成する。この仮想エッジ55は、ウェーハW上の目標パターン51(図2参照)のエッジに近い形状を有していると予想される。
 本実施形態では、モデルには決定木が使用されている。決定木は、機械学習のアルゴリズムの一例であるランダムフォレストのアルゴリズムに従って構築されたモデル(学習済みモデル)である。
 図4は、決定木からなるモデルの一実施形態を示す模式図である。図4に示すように、モデル60は、複数の決定木60A,60B,60Cを備えている。各画素の特徴ベクトルは、これら決定木60A,60B,60Cのそれぞれに入力される。複数の決定木60A,60B,60Cは、各決定木のアルゴリズムに従って、特徴ベクトルを持つ画素がエッジの画素であるか、または非エッジの画素であるかを判定する。図4に示す例では、モデル60は3つの決定木60A,60B,60Cから構成されているが、決定木の数は特に限定されない。一実施形態では、モデル60は1つの決定木のみを備えてもよい。
 図5は、特徴ベクトル(-100,-50,0,50)を図4に示す複数の決定木60A,60B,60Cに入力したときの判定結果の一例を示す図である。特徴ベクトル(-100,-50,0,50)は、3つの決定木60A,60B,60Cにそれぞれ入力される。第1の決定木60Aおよび第2の決定木60Bは、特徴ベクトル(-100,-50,0,50)を持つ画素はエッジの画素であると判定し、第3の決定木60Cは、特徴ベクトル(-100,-50,0,50)を持つ画素は非エッジの画素であると判定している。
 図6は、特徴ベクトル(-10,-5,0,0)を図4に示す複数の決定木60A,60B,60Cに入力したときの判定結果の一例を示す図である。特徴ベクトル(-10,-5,0,0)は、3つの決定木60A,60B,60Cにそれぞれ入力される。すべての決定木60A,60B,60Cは、特徴ベクトル(-10,-5,0,0)を持つ画素は非エッジの画素であると判定している。
 判定結果は、決定木60A,60B,60Cの数だけ存在し、判定結果は決定木60A,60B,60Cによって異なることがありうる。演算システム3は、エッジの画素を示す判定結果、または非エッジの画素を示す判定結果のうち、数の多い方を採用する。図5に示す例では、3つの決定木60A,60B,60Cのうち2つは、エッジの画素を示す判定結果を出力し、他の1つは非エッジの画素を示す判定結果を出力する。この場合は、演算システム3は、数の多い方の判定結果を採用し、入力された特徴ベクトル(-100,-50,0,50)を持つ画素はエッジの画素であると決定する。図6に示す例では、すべての決定木60A,60B,60Cは、非エッジの画素を示す判定結果を出力している。この場合は、演算システム3は、入力された特徴ベクトル(-10,-5,0,0)を持つ画素は非エッジの画素であると決定する。
 決定木は、ニューラルネットワークなどの他のモデルに比べて、早く機械学習が終了できるという利点がある。例えば、訓練データを用いて複数の決定木を構築するための機械学習は、1分~5分程度で完了する。したがって、決定木を備えたモデル60を採用することで、機械学習を開始してから仮想エッジ55の生成までの時間を短くすることができる。
 一般に、同じ設計データからパターンが作成される場合であっても、パターンのエッジ形状はウェーハごとにわずかに異なる。あるウェーハ上のパターンの画像を用いて作成されたモデルは、他のウェーハ上のパターンのエッジ検出に失敗することがある。本実施形態によれば、訓練データの作成に使用された実パターンと、仮想エッジ55を生成すべき目標パターン51は、同じウェーハ(ワークピース)W上に形成されている。つまり、学習フェーズにおけるモデル60の機械学習と、エッジ検出フェーズにおける仮想エッジ55の生成は、同じウェーハ(ワークピース)Wの画像を用いて実行される。したがって、演算システム3は、訓練データを用いて機械学習により構築されたモデル60を用いて、目標パターン51の仮想エッジ55を高い精度で生成することができる。
 本実施形態では、機械学習によって構築されたモデル60として、複数の決定木が使用されているが、本発明は本実施形態に限定されない。一実施形態では、機械学習によって構築されたモデル60は、サポートベクターマシン、またはニューラルネットワークからなるモデルであってもよい。モデル60がニューラルネットワークである場合、特徴ベクトルは、ニューラルネットワークの入力層に入力され、判定結果はニューラルネットワークの出力層から出力される。ニューラルネットワークの機械学習には、ディープラーニングが好適である。
 図3に示す仮想エッジ55は、図2に示す目標パターン51のエッジに極めて近い形状を有していると予想される。一実施形態では、演算システム3は、仮想エッジ55に基づいて、目標パターン51のエッジを検出する工程をさらに実行してもよい。この目標パターン51のエッジ検出は、図25および図26を参照して説明した従来のエッジ検出方法と同じようにして実行される。ただし、CADパターンに代えて仮想エッジ55が使用される。具体的には、図7に示すように、演算システム3は、仮想エッジ55に対して法線方向に延びる複数の探索線65に沿った対象画像50の複数の輝度プロファイルを生成し、複数の輝度プロファイルに基づいて複数のエッジ点EPを決定し、複数のエッジ点EPを線で繋ぐことで、更新されたエッジ67を生成する。
 図8は、図7に示す探索線65のうちの1つに沿った輝度プロファイルの一例を示す図である。演算システム3は、輝度プロファイル上の輝度値がしきい値と等しいエッジ点EPを決定する。演算システム3は、図7に示すように、複数の探索線65に沿った複数の輝度プロファイル上の複数のエッジ点EPを決定し、これらエッジ点EPを線で繋ぐことで、更新されたエッジ67を生成し、更新されたエッジ67を対象画像50上に描画する。この更新されたエッジ67は、目標パターン51(図2参照)の実際のエッジに極めて近い形状を有していると予想される。
 次に、モデル60を構築するための機械学習に用いられる訓練データについて説明する。訓練データは、上述したように、仮想エッジ55を生成すべき目標パターン51が形成されたウェーハW上の複数の実パターンの画像から作成される。演算システム3は、複数の訓練用パターンを設計データから選択する。設計データ(CADデータともいう)は、ウェーハW上に形成されているパターンの設計データである。
 モデル60のエッジ判定精度を高めるために、訓練データは様々なエッジ形状を持つパターンの画像から作成されることが望ましい。このような観点から、訓練データの作成に使用される訓練用パターンは、図9に示すように、第1の方向に延びるエッジE1、第1の方向と垂直な第2の方向に延びるエッジE2、コーナーエッジE3、終端エッジE4を有する複数のパターンPT1,PT2,PT3を含む。演算システム3は、このような様々な形状のエッジE1~E4を持つ複数の訓練用パターンPT1,PT2,PT3を設計データから抽出(選択)する。
 演算システム3は、設計データに基づいて描画された設計図面を表示画面10(図1参照)に表示するように構成されている。図10は、表示画面10上に表示された設計図面75の一例を示す模式図である。設計図面75には、設計データに基づいて描画された種々のパターンが含まれる。ユーザーは、表示画面10上の設計図面75を目視により確認しながら、図9に示すような、多方向に延びるエッジを有するパターンPT1,PT2,PT3を選択することができる。より具体的には、ユーザーは、図1に示すマウス12aおよびキーボード12bを備えた入力装置12を操作して、図10に示すように、設計図面75上の複数のパターンから、複数の訓練用パターンPT1,PT2,PT3を選択することができる。
 ユーザーは、入力装置12を操作して、訓練用パターンPT1,PT2,PT3の一部を削除または変更することができ、あるいは設計図面75上の別のパターンを訓練用パターンPT1,PT2,PT3に追加することも可能である。
 演算システム3は、選択された複数の訓練用パターンPT1,PT2,PT3、またはこれらパターンPT1,PT2,PT3が位置するエリアを視覚的に強調された態様で表示する。例えば、図11に示すように、選択された訓練用パターンPT1,PT2,PT3が位置するエリアを示す枠80を表示画面10上に表示してもよいし、あるいは、図12に示すように、選択された訓練用パターンPT1,PT2,PT3自体を他のパターンと相対的に視覚的に異なる態様で表示してもよい。図12に示す例では、選択された訓練用パターンPT1,PT2,PTは、他のパターンよりも太い線で表示されているが、他の例では、選択された訓練用パターンPT1,PT2,PT3は、他のパターンとは異なる色で表示されてもよい。ユーザーは、表示画面10上の複数の訓練用パターンPT1,PT2,PT3を目視により確認することができる。
 走査電子顕微鏡1は、選択された複数の訓練用パターンに基づいてそれぞれ作成された複数の実パターンの複数の訓練用画像を生成する。このとき、走査電子顕微鏡1は、仮想エッジ55を生成すべき目標パターン51の画像を生成してもよい。演算システム3は、複数の訓練用画像を走査電子顕微鏡1から取得し、記憶装置6内に記憶する。
 次に、演算システム3は、複数の訓練用画像上の複数の実パターンのエッジを検出する。このエッジ検出は、図25および図26を参照して説明した従来のエッジ検出方法に従って実行される。すなわち、演算システム3は、複数の訓練用パターンにそれぞれ対応する複数のCADパターンを設計データから生成する。演算システム3は、各CADパターンにコーナーラウンド処理を適用して、丸みを帯びたコーナーエッジを形成してもよい。次に、演算システム3は、これらCADパターンを訓練用画像上の複数のパターンにそれぞれ重ね合わせる。演算システム3は、CADパターンのエッジに対して法線方向に延びる複数の探索線を生成し、これら探索線に沿った画像の複数の輝度プロファイルを作成する。演算システム3は、1つの輝度プロファイル上の輝度値がしきい値と等しいエッジ点を決定する。さらに、演算システム3は、同様の動作を繰り返し、すべての探索線に沿った輝度プロファイル上の複数のエッジ点を決定する。演算システム3は、これら複数のエッジ点を線で結び、エッジ点を結んだ線を、訓練用画像上の実パターンのエッジとする。このようにして訓練用画像上の実パターンのエッジが検出(決定)される。
 このような訓練用画像上の実パターンのエッジ検出の結果、演算システム3は、訓練用画像を構成する各参照画素に、エッジ画素のラベル、または非エッジ画素のラベルを付すことができる。すなわち、演算システム3は、複数の訓練用画像を構成する複数の参照画素を、エッジを構成する第1参照画素と、エッジを構成しない第2参照画素に分類する。
 演算システム3は、複数の第1参照画素の複数の第1特徴ベクトルと、複数の第2参照画素の複数の第2特徴ベクトルを生成する。各特徴ベクトルは、上述したように、各参照画素の複数の特徴量を含む多次元ベクトルである。演算システム3は、複数の第1特徴ベクトルおよび複数の第2特徴ベクトルと、これら特徴ベクトルの正解データを含む訓練データを作成する。正解データは、ある特徴ベクトルを持つ画素がパターンのエッジを構成する画素か、またはエッジを構成しない画素のいずれかであることを特定する情報である。訓練データに含まれる第1特徴ベクトルおよび第2特徴ベクトルのそれぞれは、正解データと結び付けられる(関連付けられる)。
 図13は、エッジを構成する第1参照画素の第1特徴ベクトルと、エッジを構成しない第2参照画素の第2特徴ベクトルを含む訓練データ70を示す模式図である。第1特徴ベクトルには、エッジの画素を表す正解データのラベルが付され、第2特徴ベクトルには、非エッジの画素を表す正解データのラベルが付されている。演算システム3は、訓練データ70を用いて、機械学習によりモデル60を構築する。
 本実施形態では、モデル60は複数の決定木60A,60B,60Cから構成されている。演算システム3は、訓練データ70から無作為に抽出された複数の第1特徴ベクトルおよび複数の第2ベクトルをそれぞれ含む複数のデータグループ70A,70B,70Cを作成し、これらデータグループ70A,70B,70Cを用いて複数の決定木60A,60B,60Cを構築する。より具体的には、演算システム3はデータグループ70Aを用いて、決定木60Aのモデルパラメータを決定する。同じようにして、演算システム3は、データグループ70Bを用いて決定木60Bのモデルパラメータを決定し、データグループ70Cを用いて決定木60Cのモデルパラメータを決定する。
 演算システム3は、上述のようにして決定されたモデルパラメータを備えた複数の決定木60A,60B,60Cからなるモデル60を、上記訓練データ70を用いて検証する。具体的には、演算システム3は、訓練データ70に含まれる第1特徴ベクトルをモデル60に入力し、モデル60から判定結果を出力させ、判定結果がエッジ画素を示しているか否かを照合する。同様に、演算システム3は、訓練データ70に含まれる第2特徴ベクトルをモデル60に入力し、モデル60から判定結果を出力させ、判定結果が非エッジ画素を示しているか否かを照合する。演算システム3はこのような検証を繰り返し実行して複数の判定結果を取得し、これら複数の判定結果が正解データに合致している割合である判定精度を算出する。
 判定精度が設定値以上であれば、演算システム3は、上述したように、モデル60を用いて仮想エッジ55の生成を実行する。判定精度が設定値よりも小さければ、演算システム3は、訓練データの作成およびモデルの機械学習を再度実行する。一実施形態では、演算システム3は、判定精度が設定値よりも小さい場合は、モデル60を使用せず、図25および図26を参照して説明した従来のエッジ検出方法に従って目標パターン51のエッジを検出してもよい。
 図14および図15は、今まで説明したパターンエッジ検出装置の動作を示すフローチャートである。
 ステップ1では、演算システム3は、複数の訓練用パターンを設計データから選択(抽出)する。選択される訓練用パターンは、図9に示すように、第1の方向に延びるエッジE1、第1の方向と垂直な第2の方向に延びるエッジE2、コーナーエッジE3、終端エッジE4を有する複数のパターンを含む。
 ステップ2では、走査電子顕微鏡1は、選択された複数の訓練用パターンに基づいてそれぞれ作成された複数の実パターンの複数の訓練用画像を生成する。このとき、走査電子顕微鏡1は、仮想エッジを生成すべき目標パターン51の画像を生成してもよい。
 ステップ3では、演算システム3は、複数の訓練用画像上の複数の実パターンのエッジを検出する。このエッジ検出は、図25および図26を参照して説明した従来のエッジ検出方法に従って実行される。
 ステップ4では、演算システム3は、複数の訓練用画像を構成する複数の参照画素を、エッジを構成する第1参照画素と、エッジを構成しない第2参照画素に分類する。
 ステップ5では、演算システム3は、複数の第1参照画素の複数の第1特徴ベクトルと、複数の第2参照画素の複数の第2特徴ベクトルを生成する。具体的には、演算システム3は、各参照画素の複数の特徴量を表す特徴ベクトルを生成する。
 ステップ6では、演算システム3は、複数の第1特徴ベクトルおよび複数の第2特徴ベクトルと、これら特徴ベクトルの正解データを含む訓練データ70を作成する(図13参照)。
 ステップ7では、演算システム3は、訓練データ70を用いて機械学習を実行し、モデル60を構築する。より具体的には、演算システム3は、ある特徴ベクトルがモデル60に入力されたとき、モデル60が正しい判定結果を出力するように、モデルパラメータを調節する。
 ステップ8では、演算システム3は、訓練データ70を用いてモデル60の判定精度を検証する。具体的には、演算システム3は、訓練データ70に含まれる複数の特徴ベクトルを1つずつモデル60に入力し、モデル60から複数の判定結果を出力する。演算システム3は、これら複数の判定結果が正解データに合致している割合である判定精度を算出する。
 ステップ9では、演算システム3は、判定精度を設定値と比較する。判定精度が設定値よりも小さい場合は、動作フローはステップ6に戻る。一実施形態では、判定精度が設定値よりも小さい場合は、動作フローはステップ6に戻らずに、演算システム3は、図25および図26を参照して説明した従来のエッジ検出方法に従って目標パターン51のエッジを検出してもよい。
 上述したステップ9において、判定精度が設定値以上であれば、図15に示すように、ステップ10にて、演算システム3は、モデル60を用いて仮想エッジを生成する。具体的には、演算システム3は、対象画像50の各画素の複数の特徴量を表す特徴ベクトルを生成し、特徴ベクトルをモデル60に入力し、エッジの画素または非エッジの画素を示す判定結果をモデル60から出力する。演算システム3は、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジを生成する。
 ステップ11では、演算システム3は、仮想エッジを基準エッジとして用いて、従来のエッジ検出方法に従ってエッジ検出を実行し、更新されたエッジを生成する。具体的には、図7および図8に示すように、演算システム3は、仮想エッジ55に対して法線方向に延びる複数の探索線65を生成し、これら探索線65に沿った対象画像50の複数の輝度プロファイルを生成し、複数の輝度プロファイルに基づいて複数のエッジ点EPを決定し、複数のエッジ点EPを線で繋ぐことで、更新されたエッジ67を生成する。
 ステップ12では、演算システム3は、上記ステップ11で生成された、更新されたエッジ67が、CADパターンのエッジからどの程度離れているか検査する。具体的には、図16に示すように、演算システム3は、設計データから目標パターン51に対応するCADパターン75を生成し、CADパターン75を対象画像50上の目標パターン51に重ね合わせ、CADパターン75のエッジから、目標パターン51の更新されたエッジ67までの距離を複数の測定点で測定する。複数の測定点は、CADパターンのエッジ上に配列されている。このステップ12によれば、更新されたエッジ67が、設計データからどの程度乖離しているか(あるいは設計データにどの程度近いか)が分かる。
 少なくとも1つのコンピュータを備えた演算システム3は、記憶装置6に電気的に格納されたプログラムに含まれる命令に従って動作する。すなわち、演算システム3は、走査電子顕微鏡1に指令を発してワークピース上に形成された目標パターン51の対象画像50を生成させるステップと、対象画像50の各画素の複数の特徴量を表す特徴ベクトルを生成するステップと、前記特徴ベクトルを、機械学習によって構築されたモデル60に入力するステップと、前記特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果をモデル60から出力するステップと、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジ55を生成するステップを実行する。
 これらステップを演算システム3に実行させるためのプログラムは、非一時的な有形物であるコンピュータ読み取り可能な記録媒体に記録され、記録媒体を介して演算システム3に提供される。または、プログラムは、インターネットまたはローカルエリアネットワークなどの通信ネットワークを介して演算システム3に入力されてもよい。
 訓練データに使用されるパターンエッジには揺らぎがあり、かつ画像上のエッジと非エッジ領域との境界線は不明瞭である。このような訓練データを用いて作成されたモデル(以下、エッジ検出モデルという)は、エッジの検出に失敗したり、あるいはエッジを誤検出することがある。精度のよいモデルを作成するためには、機械学習のための大量の訓練データが必要になり、結果として機械学習に非常に長い時間がかかる。
 そこで、以下に説明する実施形態は、機械学習に長い時間をかけることなく、精度のよいエッジ検出モデルを作成することができる方法および装置を提供する。図17は、パターンエッジ検出装置の他の実施形態を示す模式図である。特に説明しない本実施形態の構成および動作は、図1乃至図16を参照して説明した実施形態と同じであるので、その重複する説明を省略する。
 演算システム3は、ワークピースWに形成されているパターンのエッジを検出するためのエッジ検出モデルを生成するモデル生成装置80を備えている。画像取得装置28は、モデル生成装置80に接続されている。
 モデル生成装置80は、少なくとも1台のコンピュータから構成される。モデル生成装置80は、プログラムが格納された記憶装置80aと、プログラムに含まれる命令に従って演算を実行する処理装置80bを備えている。記憶装置80aは、RAMなどの主記憶装置と、ハードディスクドライブ(HDD)、ソリッドステートドライブ(SSD)などの補助記憶装置を備えている。処理装置80bの例としては、CPU(中央処理装置)、GPU(グラフィックプロセッシングユニット)が挙げられる。ただし、モデル生成装置80の具体的構成はこれらの例に限定されない。記憶装置80aは記憶装置6と一体であってもよく、処理装置80bは処理装置7と一体であってもよい。
 モデル生成装置80は、画像取得装置28から送られた画像上のパターンのエッジを検出するためのエッジ検出モデルを機械学習により作成するように構成される。以下、エッジ検出モデルの作成について説明する。
 まず、パターンが形成されているワークピースWが用意される。走査電子顕微鏡1は、ワークピースWの訓練用画像を生成し、モデル生成装置80は、訓練用画像を走査電子顕微鏡1から取得する。図18は、パターンが形成されたワークピースWの訓練用画像の一例を示す図である。図18に示す例では、訓練用画像には複数のパターンが現れている。これらのパターンは、訓練データに使用される訓練用パターンである。モデル生成装置80は、訓練用画像上のパターンのエッジを検出する。エッジの検出には、Sobelフィルタや、Canny法などの公知の画像処理技術が使用される。あるいは、エッジ検出は、図25および図26を参照して説明した従来のエッジ検出方法に従って実行されてもよい。一実施形態では、ユーザーは、検出されたエッジを手動で補正してもよい。さらに、一実施形態では、エッジはユーザーにより描画されてもよい。
 図19は、検出されたエッジを示す図である。図19に示すように、検出されたエッジは線で表される。モデル生成装置80は、検出されたエッジを、ワークピースWの訓練用画像に重ね合わせる。図20は、図19に示す検出されたエッジを、図18に示す訓練用画像上に重ね合わせた図である。
 次に、モデル生成装置80は、図18に示す訓練用画像を構成する各画素の複数の特徴量を表す特徴ベクトルを生成する。特徴ベクトルは、各画素の複数の特徴量を含む多次元ベクトルである。特徴量は、画素の特徴を表す数値である。本実施形態では、各画素の複数の特徴量は、その画素の輝度値と、他の画素の輝度値との差である。輝度値は、一例では、グレースケールに従った0~255の離散的な数値である。本実施形態では、他の画素は隣接する画素である。一実施形態では、他の画素は、隣接していない画素であってもよい。
 画素の特徴量を算出する一実施形態について、図21を参照して説明する。図21に示すように、モデル生成装置80は、訓練用画像に微分フィルタを適用し、各画素の特徴量を算出する。より具体的には、モデル生成装置80は、訓練用画像を構成する画素の輝度値を複数の方向に沿って微分し、各方向に並ぶ2つの画素間での輝度値の差からなる特徴量を各画素について算出する。
 図21に示す例では、モデル生成装置80は、0度、45度、90度、135度の方向に沿って画素の輝度値を微分する。すなわち、モデル生成装置80は、0度方向に並ぶ画素の輝度値の差、45度方向に並ぶ画素の輝度値の差、90度方向に並ぶ画素の輝度値の差、および135度方向に並ぶ画素の輝度値の差を算出する。したがって、各画素について、4つの数値からなる特徴量が得られる。例えば、図21の符号P1で示す画素の特徴量は、200,50,0,-50から構成される特徴ベクトルで表される。ただし、微分の角度、角度の数、および1画素当たりの特徴量の数は、本実施形態に限定されない。
 次に、モデル生成装置80は、図22に示すように、訓練用画像内のターゲット領域100を、エッジ領域R1、エッジ近傍領域R2、および非エッジ領域R3に分割する。図22に示すターゲット領域100は、図18に示すワークピースWの訓練用画像の一部である。より具体的には、図22に示すターゲット領域100は、図18に示す訓練用画像上のパターンのエッジを含む領域である。エッジ領域R1は、図19に示す、検出されたエッジを構成する画素を含む領域である。エッジ領域R1の幅は一定である。例えば、エッジ領域R1の幅は、1画素に相当する幅であってもよいし、あるいは予め定められた数(例えば3つ)の複数の画素に相当する幅であってもよい。
 非エッジ領域R3は、エッジ領域R1から予め定められた画素数だけ離れている。エッジ近傍領域R2は、エッジ領域R1と非エッジ領域R3との間に位置する。すなわち、エッジ近傍領域R2は、エッジ領域R1および非エッジ領域R3に隣接し、かつエッジ領域R1および非エッジ領域R3に沿って延びる。エッジ近傍領域R2の幅は一定である。一実施形態では、エッジ近傍領域R2の幅は、エッジ領域R1の幅よりも広い。通常、エッジ領域R1は、エッジ近傍領域R2よりも小さく、エッジ近傍領域R2は、非エッジ領域R3よりも小さい。
 モデル生成装置80は、エッジ領域R1内の複数の画素の複数の特徴ベクトル、エッジ近傍領域R2内の複数の画素の複数の特徴ベクトル、および非エッジ領域R3内の複数の画素の複数の特徴ベクトルを含む訓練データを作成し、訓練データを用いて機械学習によりエッジ検出モデルを作成する。エッジ検出モデルの例としては、決定木およびニューラルネットワークが挙げられる。機械学習の例としては、決定木および学習ディープラーニングが挙げられる。
 訓練データは、各画素の正解データ(または正解ラベル)を含む。この正解データは、各画素が、パターンのエッジを構成する画素か、またはエッジを構成しない画素のいずれかであることを特定する情報である。エッジ領域R1内の画素は、エッジを構成する画素であり、エッジ近傍領域R2および非エッジ領域R3内の画素は、エッジを構成しない画素である。機械学習は、エッジ検出モデルに入力された特徴ベクトルを持つ画素が、エッジの画素であるか、または非エッジの画素であるかを正しく判定するためのエッジ検出モデルのパラメータ(重み係数など)を最適化する。このようにして機械学習により作成されたエッジ検出モデルは、画素の特徴ベクトルに基づいて、その画素がエッジの画素か、または非エッジの画素かを判定することができる。
 本実施形態によれば、エッジ領域R1内の画素と、エッジ近傍領域R2内の画素と、非エッジ領域R3内の画素を必然的に含む訓練データが機械学習に用いられる。特に、判定が難しいとされるエッジ近傍領域R2内の画素が訓練データに含まれるので、機械学習により作成されたエッジ検出モデルは、与えられた画素がエッジであるか否かを精度よく判定することができる。
 訓練データに含まれる非エッジ領域R3内の画素の数が、訓練データに含まれるエッジ領域R1内の画素の数よりも多すぎると、そのような訓練データを用いて作成されたエッジ検出モデルのアルゴリズムは、非エッジの画素検出に偏ってしまう。結果として、エッジ検出モデルは、入力された画素がエッジの画素であることを正しく判定することができない。そこで、エッジ検出モデルのエッジ検出精度を向上させるために、エッジ検出モデルの機械学習に使用される複数の画素は、エッジの画素(すなわちエッジ領域R1内の画素)と、非エッジの画素(すなわちエッジ近傍領域R2および非エッジ領域R3内の画素)を均等に含むことが好ましい。
 このような観点から、エッジ領域R1内の画素の数をA、エッジ近傍領域R2内の画素の数および非エッジ領域R3内の画素の数の合計をBとしたとき、数Aを数Bで割って得られた値(A/B)は予め定められた数値である。数Aを数Bで割って得られた値(A/B)は、0.6~1.5の範囲にある。エッジ検出モデルのエッジ検出精度を向上させるために、一実施形態では、訓練データに含まれるエッジ領域R1内の画素の数Aは、訓練データに含まれるエッジ近傍領域R2内の画素の数と非エッジ領域R3内の画素の数との合計Bと同じである。
 エッジ近傍領域R2内の画素の特徴ベクトルは、エッジ領域R1内の画素の特徴ベクトルと、非エッジ領域R3内の画素の特徴ベクトルの間の値を有する。このため、エッジ近傍領域R2内の画素がエッジの画素であるか、または非エッジの画素であるかを正確に判定することは難しい。別の観点から見ると、エッジ近傍領域R2内の画素の特徴ベクトルを多く含む訓練データを用いれば、エッジ検出精度の高いエッジ検出モデルを生成することができる。そこで、一実施形態では、訓練データに含まれるエッジ近傍領域R2内の画素の数は、訓練データに含まれる非エッジ領域R3内の画素の数よりも多い。
 演算システム3は、機械学習により作成したエッジ検出モデルを用いて、次のようにしてワークピースWの対象画像上のエッジを検出する。走査電子顕微鏡1は、ワークピースWの対象画像を生成し、演算システム3はワークピースWの対象画像を走査電子顕微鏡1から受け取り、ワークピースWの対象画像を構成する画素の特徴ベクトルを算出し、特徴ベクトルをエッジ検出モデルに入力し、特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果をエッジ検出モデルから出力し、エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いでエッジを生成する。
 少なくとも1つのコンピュータを備えたモデル生成装置80は、記憶装置80aに電気的に格納されたプログラムに含まれる命令に従って動作する。すなわち、モデル生成装置80は、パターンが形成されているワークピースWの訓練用画像を走査電子顕微鏡1から取得し、訓練用画像上のパターンのエッジを検出し、訓練用画像を構成する画素の特徴ベクトルを算出し、訓練用画像内のターゲット領域を、エッジ領域R1、エッジ近傍領域R2、および非エッジ領域R3に分割し、エッジ領域R1内の複数の画素の特徴ベクトル、エッジ近傍領域R2内の複数の画素の特徴ベクトル、および非エッジ領域R3内の複数の画素の特徴ベクトルを含む訓練データを作成し、訓練データを用いて機械学習によりエッジ検出モデルを作成するステップを実行する。
 これらステップをモデル生成装置80に実行させるためのプログラムは、非一時的な有形物であるコンピュータ読み取り可能な記録媒体に記録され、記録媒体を介してモデル生成装置80に提供される。または、プログラムは、インターネットまたはローカルエリアネットワークなどの通信ネットワークを介してモデル生成装置80に入力されてもよい。
 次に、エッジ検出モデルを作成する他の実施形態について図23を参照して説明する。特に説明しない本実施形態の工程は、図17乃至図22を参照して説明した上記実施形態と同じであるので、その重複する説明を省略する。
 図23に示すように、本実施形態では、モデル生成装置80は、訓練用画像内のターゲット領域100を、エッジ領域R1、エッジ近傍領域R2、非エッジ領域R3、および除外領域R4に分割するように構成されている。除外領域R4は、エッジ領域R1に隣接し、かつエッジ領域R1とエッジ近傍領域R2との間に位置している。図23に示す除外領域R4の幅は一定である。一実施形態では、除外領域R4の幅は、エッジ近傍領域R2の幅よりも狭い。更に、一実施形態では、除外領域R4の幅は、エッジ領域R1の幅と同じか、またはエッジ領域R1の幅よりも狭い。
 訓練データは、除外領域R4内の画素の特徴ベクトルを含まない。すなわち、訓練データは、エッジ領域R1内の複数の画素の特徴ベクトル、エッジ近傍領域R2内の複数の画素の特徴ベクトル、および非エッジ領域R3内の複数の画素の特徴ベクトルを含むが、除外領域R4内の画素の特徴ベクトルを含まない。したがって、除外領域R4内の画素は、機械学習に用いられない。
 除外領域R4は、エッジ領域R1に隣接しており、除外領域R4内の各画素の特徴ベクトルは、エッジ領域R1内の各画素の特徴ベクトルとほとんど同じである。したがって、除外領域R4内の画素は、エッジの画素かもしれないし、あるいは非エッジの画素であるかもしれない。つまり、除外領域R4内の画素は、不確定な画素である。このような不確定な画素を訓練データに含めると、エッジ検出モデルが所望の正答率を満たすまで機械学習を続ける必要がある。結果として、機械学習が完了するのに長い時間がかかる。本実施形態によれば、除外領域R4内の画素の特徴ベクトルが訓練データから除外されるので、エッジ検出モデルの機械学習を早期に完了させることができる。
 エッジ検出モデルのエッジ検出精度をさらに高めるために、一実施形態では、ターゲット領域100は、訓練用画像内のさまざまなパターンエッジを含む複数の領域を含む。これは、訓練用画像上のパターンのエッジの鮮鋭度は、エッジの延びる方向に依存して変わりうるからである。
 図24は、訓練用画像内に設定された複数の領域を含むターゲット領域100の一例を示す図である。図24に示すように、ターゲット領域100は、ワークピースWの画像内のパターンの第1のエッジE1を含む第1領域T1と、第1エッジE1と垂直な第2エッジE2を含む第2領域T2と、パターンのコーナーエッジE3および終端エッジE4を含む第3領域T3を含む。訓練データは、異なる方向に延びるエッジE1,E2,E3,E4を含む複数の領域T1,T2,T3内の画素の特徴ベクトルを含む。このような訓練データを用いた機械学習は、様々な方向に延びるエッジの検出精度を向上させることができる。
 他方向に延びるエッジの検出精度をさらに向上させるために、一実施形態では、第1領域T1内の画素数、第2領域T2内の画素数、および第3領域T3内の画素数は、予め定められた割合にある。第1領域T1内の画素数をS1、第2領域T2内の画素数をS2、および第3領域T3内の画素数をS3で表すとき、S1とS2とS3の関係は次の式で表される。
  S1=m×S2=n×S3
 ただし、mは0.9~1.1であり、nは0.01~0.1である。
 上述した実施形態は、本発明が属する技術分野における通常の知識を有する者が本発明を実施できることを目的として記載されたものである。上記実施形態の種々の変形例は、当業者であれば当然になしうることであり、本発明の技術的思想は他の実施形態にも適用しうる。したがって、本発明は、記載された実施形態に限定されることはなく、特許請求の範囲によって定義される技術的思想に従った最も広い範囲に解釈されるものである。
 本発明は、半導体製造に関わるウェーハまたはマスクなどのワークピース上に形成されているパターンのエッジ(輪郭線)を、走査電子顕微鏡で生成した画像から検出する方法および装置に利用可能である。また、本発明は、そのようなパターンエッジ検出をコンピュータに実行させるためのプログラムに利用可能である。
 また、本発明は、機械学習によりエッジ検出モデルを作成する方法および装置に利用可能である。
 1   走査電子顕微鏡
 3   演算システム
 5   データベース
 6   記憶装置
 7   処理装置
10   表示画面
12   入力装置
15   電子銃
16   集束レンズ
17   X偏向器
18   Y偏向器
20   対物レンズ
21   レンズ制御装置
22   偏向制御装置
25   二次電子検出器
26   反射電子検出器
28   画像取得装置
30   チャンバー
31   ステージ
32   ステージ制御装置
34   搬送装置
50   対象画像
51   目標パターン
55   仮想エッジ
60   モデル
60A,60B,60C   決定木
65   探索線
67   更新されたエッジ
70   訓練データ
70A,70B,70C   データグループ
75   設計図面
80   モデル生成装置
100  ターゲット領域
W    ウェーハ(ワークピース)

Claims (39)

  1.  ワークピース上に形成された目標パターンの対象画像を生成し、
     前記対象画像の各画素の複数の特徴量を表す特徴ベクトルを生成し、
     前記特徴ベクトルを、機械学習によって構築されたモデルに入力し、
     前記特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果を前記モデルから出力し、
     エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジを生成する、パターンエッジ検出方法。
  2.  前記モデルは、決定木である、請求項1に記載のパターンエッジ検出方法。
  3.  複数の訓練用パターンを設計データから選択し、
     前記複数の訓練用パターンに基づいてそれぞれ作成された複数の実パターンの複数の訓練用画像を生成し、
     前記複数の訓練用画像上の前記複数の実パターンのエッジを検出し、
     前記複数の訓練用画像を構成する複数の参照画素を、エッジを構成する複数の第1参照画素と、エッジを構成しない複数の第2参照画素に分類し、
     前記複数の第1参照画素の複数の第1特徴ベクトルと、前記複数の第2参照画素の複数の第2特徴ベクトルを生成し、
     前記複数の第1特徴ベクトルおよび前記複数の第2特徴ベクトルを含む訓練データを用いて、機械学習により前記モデルを構築する工程をさらに含む、請求項1または2に記載のパターンエッジ検出方法。
  4.  前記複数の訓練用パターンは、少なくとも第1の方向に延びるエッジ、前記第1の方向と垂直な第2の方向に延びるエッジ、コーナーエッジ、終端エッジを有する複数のパターンである、請求項3に記載のパターンエッジ検出方法。
  5.  前記複数の実パターンは、前記ワークピースに形成されたパターンである、請求項3または4に記載のパターンエッジ検出方法。
  6.  前記複数の訓練用パターンを設計データから選択する工程は、
      前記設計データに基づいて描画された複数のパターンを含む設計図面を表示画面上に表示し、
      前記設計図面に含まれる複数のパターンから選択された前記複数の訓練用パターン、または前記複数の訓練用パターンが位置するエリアを視覚的に強調された態様で前記表示画面上に表示する工程である、請求項3乃至5のいずれか一項に記載のパターンエッジ検出方法。
  7.  前記仮想エッジに対して法線方向に延びる複数の探索線に沿った前記対象画像の複数の輝度プロファイルを生成し、
     複数の前記輝度プロファイルに基づいて複数のエッジ点を決定し、
     前記複数のエッジ点を線で繋ぐことで、更新されたエッジを生成する工程をさらに含む、請求項1乃至6のいずれか一項に記載のパターンエッジ検出方法。
  8.  前記目標パターンに対応するCADパターンを設計データから生成し、
     前記CADパターンのエッジから、前記更新されたエッジまでの距離を測定する工程をさらに含む、請求項7に記載のパターンエッジ検出方法。
  9.  ワークピース上に形成された目標パターンの対象画像を生成する画像生成装置と、
     前記画像生成装置に接続された演算システムを備え、
     前記演算システムは、
      前記対象画像の各画素の複数の特徴量を表す特徴ベクトルを生成し、
      前記特徴ベクトルを、機械学習によって構築されたモデルに入力し、
      前記特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果を前記モデルから出力し、
      エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジを生成する、パターンエッジ検出装置。
  10.  前記モデルは、決定木である、請求項9に記載のパターンエッジ検出装置。
  11.  前記演算システムは、
      複数の訓練用パターンを設計データから選択し、
      前記複数の訓練用パターンに基づいてそれぞれ作成された複数の実パターンの複数の訓練用画像を生成し、
      前記複数の訓練用画像上の前記複数の実パターンのエッジを検出し、
      前記複数の訓練用画像を構成する複数の参照画素を、エッジを構成する複数の第1参照画素と、エッジを構成しない複数の第2参照画素に分類し、
      前記複数の第1参照画素の複数の第1特徴ベクトルと、前記複数の第2参照画素の複数の第2特徴ベクトルを生成し、
      前記複数の第1特徴ベクトルおよび前記複数の第2特徴ベクトルを含む訓練データを用いて、機械学習により前記モデルを構築するように構成されている、請求項9または10に記載のパターンエッジ検出装置。
  12.  前記複数の訓練用パターンは、少なくとも第1の方向に延びるエッジ、前記第1の方向と垂直な第2の方向に延びるエッジ、コーナーエッジ、終端エッジを有する複数のパターンである、請求項11に記載のパターンエッジ検出装置。
  13.  前記複数の実パターンは、前記ワークピースに形成されたパターンである、請求項11または12に記載のパターンエッジ検出装置。
  14.  前記演算システムは、表示画面を有しており、
     前記演算システムは、
      前記設計データに基づいて描画された複数のパターンを含む設計図面を前記表示画面上に表示し、
      前記設計図面に含まれる複数のパターンから選択された前記複数の訓練用パターン、または前記複数の訓練用パターンが位置するエリアを視覚的に強調された態様で前記表示画面上に表示するように構成されている、請求項11乃至13のいずれか一項に記載のパターンエッジ検出装置。
  15.  前記演算システムは、
      前記仮想エッジに対して法線方向に延びる複数の探索線に沿った前記対象画像の複数の輝度プロファイルを生成し、
      複数の前記輝度プロファイルに基づいて複数のエッジ点を決定し、
      前記複数のエッジ点を線で繋ぐことで、更新されたエッジを生成するように構成されている、請求項9乃至14のいずれか一項に記載のパターンエッジ検出装置。
  16.  前記演算システムは、
      前記目標パターンに対応するCADパターンを設計データから生成し、
      前記CADパターンのエッジから、前記更新されたエッジまでの距離を測定するように構成されている、請求項15に記載のパターンエッジ検出装置。
  17.  走査電子顕微鏡に指令を発してワークピース上に形成された目標パターンの対象画像を生成させるステップと、
     前記対象画像の各画素の複数の特徴量を表す特徴ベクトルを生成するステップと、
     前記特徴ベクトルを、機械学習によって構築されたモデルに入力するステップと、
     前記特徴ベクトルを持つ画素はエッジの画素であるか、または非エッジの画素であるかを示す判定結果を前記モデルから出力するステップと、
     エッジの画素を示す判定結果が得られた特徴ベクトルを持つ複数の画素を線で繋いで仮想エッジを生成するステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
  18.  前記モデルは、決定木である、請求項17に記載のコンピュータ読み取り可能な記録媒体。
  19.  前記プログラムは、
      複数の訓練用パターンを設計データから選択するステップと、
      前記走査電子顕微鏡に指令を発して、前記複数の訓練用パターンに基づいてそれぞれ作成された複数の実パターンの複数の訓練用画像を生成させるステップと、
      前記複数の訓練用画像上の前記複数の実パターンのエッジを検出するステップと、
      前記複数の訓練用画像を構成する複数の参照画素を、エッジを構成する複数の第1参照画素と、エッジを構成しない複数の第2参照画素に分類するステップと、
      前記複数の第1参照画素の複数の第1特徴ベクトルと、前記複数の第2参照画素の複数の第2特徴ベクトルを生成するステップと、
      前記複数の第1特徴ベクトルおよび前記複数の第2特徴ベクトルを含む訓練データを用いて、機械学習により前記モデルを構築するステップをさらに前記コンピュータに実行させるように構成されている、請求項17または18に記載のコンピュータ読み取り可能な記録媒体。
  20.  前記複数の訓練用パターンは、少なくとも第1の方向に延びるエッジ、前記第1の方向と垂直な第2の方向に延びるエッジ、コーナーエッジ、終端エッジを有する複数のパターンである、請求項19に記載のコンピュータ読み取り可能な記録媒体。
  21.  前記複数の実パターンは、前記ワークピースに形成されたパターンである、請求項19または20に記載のコンピュータ読み取り可能な記録媒体。
  22.  前記複数の訓練用パターンを設計データから選択するステップは、
      前記設計データに基づいて描画された複数のパターンを含む設計図面を表示画面上に表示するステップと、
      前記設計図面に含まれる複数のパターンから選択された前記複数の訓練用パターン、または前記複数の訓練用パターンが位置するエリアを視覚的に強調された態様で前記表示画面上に表示するステップである、請求項19乃至21のいずれか一項に記載のコンピュータ読み取り可能な記録媒体。
  23.  前記プログラムは、
      前記仮想エッジに対して法線方向に延びる複数の探索線に沿った前記対象画像の複数の輝度プロファイルを生成するステップと、
      複数の前記輝度プロファイルに基づいて複数のエッジ点を決定するステップと、
      前記複数のエッジ点を線で繋ぐことで、更新されたエッジを生成するステップをさらに前記コンピュータに実行させるように構成されている、請求項17乃至22のいずれか一項に記載のコンピュータ読み取り可能な記録媒体。
  24.  前記プログラムは、
      前記目標パターンに対応するCADパターンを設計データから生成するステップと、
      前記CADパターンのエッジから、前記更新されたエッジまでの距離を測定するステップをさらに前記コンピュータに実行させるように構成されている、請求項23に記載のコンピュータ読み取り可能な記録媒体。
  25.  画像上のパターンのエッジを検出するためのエッジ検出モデルを作成する方法であって、
     パターンが形成されているワークピースの訓練用画像を走査電子顕微鏡で生成し、
     前記訓練用画像上の前記パターンのエッジを検出し、
     前記訓練用画像を構成する画素の特徴ベクトルを算出し、
     前記訓練用画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割し、
     前記エッジ領域内の複数の第1画素の複数の特徴ベクトル、前記エッジ近傍領域内の複数の第2画素の複数の特徴ベクトル、および前記非エッジ領域内の複数の第3画素の複数の特徴ベクトルを含む訓練データを作成し、
     前記訓練データを用いて機械学習によりエッジ検出モデルを作成する、方法。
  26.  前記複数の第1画素の数をA、前記複数の第2画素の数および前記複数の第3画素の数の合計をBとしたとき、数Aを数Bで割って得られた値(A/B)は、予め定められた数値である、請求項25に記載の方法。
  27.  数Aを数Bで割って得られた値(A/B)は、0.6~1.5の範囲にある、請求項26に記載の方法。
  28.  前記非エッジ領域は、前記エッジ領域から予め定められた画素数だけ離れており、
     前記エッジ近傍領域は、前記エッジ領域と前記非エッジ領域との間に位置する、請求項25乃至27のいずれか一項に記載の方法。
  29.  前記訓練用画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割する工程は、前記訓練用画像内のターゲット領域を、エッジ領域、除外領域、エッジ近傍領域、および非エッジ領域に分割する工程であり、
     前記除外領域は、前記エッジ領域に隣接し、かつ前記エッジ領域と前記エッジ近傍領域との間に位置しており、
     前記訓練データは、前記除外領域内の画素の特徴ベクトルを含まない、請求項25乃至28のいずれか一項に記載の方法。
  30.  前記ターゲット領域は、第1のエッジを含む第1領域と、前記第1エッジと垂直な第2エッジを含む第2領域と、コーナーエッジおよび終端エッジを含む第3領域を含む、請求項25乃至29のいずれか一項に記載の方法。
  31.  前記第1領域内の画素数、前記第2領域内の画素数、および前記第3領域内の画素数は、予め定められた割合にある、請求項30に記載の方法。
  32.  画像上のパターンのエッジを検出するためのエッジ検出モデルを作成するモデル生成装置であって、
     前記エッジ検出モデルを作成するためのプログラムが格納されている記憶装置と、
     前記プログラムに含まれる命令に従って演算を実行する演算装置を備え、
     前記モデル生成装置は、
     パターンが形成されているワークピースの訓練用画像を走査電子顕微鏡から取得し、
     前記訓練用画像上の前記パターンのエッジを検出し、
     前記訓練用画像を構成する画素の特徴ベクトルを算出し、
     前記訓練用画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割し、
     前記エッジ領域内の複数の第1画素の複数の特徴ベクトル、前記エッジ近傍領域内の複数の第2画素の複数の特徴ベクトル、および前記非エッジ領域内の複数の第3画素の複数の特徴ベクトルを含む訓練データを作成し、
     前記訓練データを用いて機械学習によりエッジ検出モデルを作成するように構成されている、モデル生成装置。
  33.  前記複数の第1画素の数をA、前記複数の第2画素の数および前記複数の第3画素の数の合計をBとしたとき、数Aを数Bで割って得られた値(A/B)は、予め定められた数値である、請求項32に記載のモデル生成装置。
  34.  数Aを数Bで割って得られた値(A/B)は、0.6~1.5の範囲にある、請求項33に記載のモデル生成装置。
  35.  前記非エッジ領域は、前記エッジ領域から予め定められた画素数だけ離れており、
     前記エッジ近傍領域は、前記エッジ領域と前記非エッジ領域との間に位置する、請求項32乃至34のいずれか一項に記載のモデル生成装置。
  36.  前記モデル生成装置は、前記訓練用画像内のターゲット領域を、エッジ領域、除外領域、エッジ近傍領域、および非エッジ領域に分割するように構成されており、
     前記除外領域は、前記エッジ領域に隣接し、かつ前記エッジ領域と前記エッジ近傍領域との間に位置しており、
     前記訓練データは、前記除外領域内の画素の特徴ベクトルを含まない、請求項32乃至35のいずれか一項に記載のモデル生成装置。
  37.  前記ターゲット領域は、第1のエッジを含む第1領域と、前記第1エッジと垂直な第2エッジを含む第2領域と、コーナーエッジおよび終端エッジを含む第3領域を含む、請求項32乃至36のいずれか一項に記載のモデル生成装置。
  38.  前記第1領域内の画素数、前記第2領域内の画素数、および前記第3領域内の画素数は、予め定められた割合にある、請求項37に記載のモデル生成装置。
  39.  パターンが形成されているワークピースの訓練用画像を走査電子顕微鏡から取得するステップと、
     前記訓練用画像上の前記パターンのエッジを検出するステップと、
     前記訓練用画像を構成する画素の特徴ベクトルを算出するステップと、
     前記訓練用画像内のターゲット領域を、エッジ領域、エッジ近傍領域、および非エッジ領域に分割するステップと、
     前記エッジ領域内の複数の第1画素の複数の特徴ベクトル、前記エッジ近傍領域内の複数の第2画素の複数の特徴ベクトル、および前記非エッジ領域内の複数の第3画素の複数の特徴ベクトルを含む訓練データを作成するステップと、
     前記訓練データを用いて機械学習によりエッジ検出モデルを作成するステップをコンピュータに実行させるためのプログラムが記録されたコンピュータ読み取り可能な記録媒体。
PCT/JP2020/046010 2020-01-10 2020-12-10 パターンエッジ検出方法、パターンエッジ検出装置、パターンエッジ検出をコンピュータに実行させるためのプログラムが記録された記録媒体 WO2021140823A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/791,155 US20230005157A1 (en) 2020-01-10 2020-12-10 Pattern-edge detection method, pattern-edge detection apparatus, and storage medium storing program for causing a computer to perform pattern-edge detection
CN202080092004.0A CN114945801A (zh) 2020-01-10 2020-12-10 图案边缘检测方法、图案边缘检测装置、记录有用于让计算机执行图案边缘检测的程序的记录介质
KR1020227026891A KR20220125291A (ko) 2020-01-10 2020-12-10 패턴 에지 검출 방법, 패턴 에지 검출 장치, 패턴 에지 검출을 컴퓨터에 실행시키기 위한 프로그램이 기록된 기록 매체

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2020002735 2020-01-10
JP2020-002735 2020-01-10
JP2020201982A JP7451384B2 (ja) 2020-01-10 2020-12-04 パターンエッジ検出方法、パターンエッジ検出装置、パターンエッジ検出をコンピュータに実行させるためのプログラムが記録された記録媒体
JP2020-201982 2020-12-04

Publications (1)

Publication Number Publication Date
WO2021140823A1 true WO2021140823A1 (ja) 2021-07-15

Family

ID=76787475

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/046010 WO2021140823A1 (ja) 2020-01-10 2020-12-10 パターンエッジ検出方法、パターンエッジ検出装置、パターンエッジ検出をコンピュータに実行させるためのプログラムが記録された記録媒体

Country Status (5)

Country Link
US (1) US20230005157A1 (ja)
KR (1) KR20220125291A (ja)
CN (1) CN114945801A (ja)
TW (1) TW202141031A (ja)
WO (1) WO2021140823A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20230080151A1 (en) * 2021-09-13 2023-03-16 Applied Materials Israel Ltd. Mask inspection for semiconductor specimen fabrication

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324836A (ja) * 1992-05-19 1993-12-10 Fujitsu Ltd パターンマッチング方法
JP2002373333A (ja) * 2001-05-28 2002-12-26 Honda R & D Europe (Deutschland) Gmbh 階層ネットワークを用いたパターン認識方法
JP2017519277A (ja) * 2014-05-06 2017-07-13 ナント・ホールデイングス・アイ・ピー・エル・エル・シー エッジベクトルを利用した画像特徴検出
JP2019008599A (ja) * 2017-06-26 2019-01-17 株式会社 Ngr 順伝播型ニューラルネットワークを用いた画像ノイズ低減方法
JP2019129169A (ja) * 2018-01-22 2019-08-01 株式会社日立ハイテクノロジーズ 画像評価方法及び画像評価装置
JP2019174940A (ja) * 2018-03-27 2019-10-10 株式会社 Ngr パターンエッジ検出方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3754408B2 (ja) 2001-09-26 2006-03-15 株式会社東芝 パターン評価装置、パターン評価方法およびプログラム
JP2013098267A (ja) 2011-10-31 2013-05-20 Hitachi High-Technologies Corp 半導体パターン検査装置
JP7233251B2 (ja) 2019-02-28 2023-03-06 キヤノン株式会社 情報処理装置、情報処理装置の制御方法及びプログラム

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05324836A (ja) * 1992-05-19 1993-12-10 Fujitsu Ltd パターンマッチング方法
JP2002373333A (ja) * 2001-05-28 2002-12-26 Honda R & D Europe (Deutschland) Gmbh 階層ネットワークを用いたパターン認識方法
JP2017519277A (ja) * 2014-05-06 2017-07-13 ナント・ホールデイングス・アイ・ピー・エル・エル・シー エッジベクトルを利用した画像特徴検出
JP2019008599A (ja) * 2017-06-26 2019-01-17 株式会社 Ngr 順伝播型ニューラルネットワークを用いた画像ノイズ低減方法
JP2019129169A (ja) * 2018-01-22 2019-08-01 株式会社日立ハイテクノロジーズ 画像評価方法及び画像評価装置
JP2019174940A (ja) * 2018-03-27 2019-10-10 株式会社 Ngr パターンエッジ検出方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
"Contour extraction algorithm for edge placement error measurement using machine learning", PROCEEDINGS OF SPIE, vol. 11325, 20 March 2020 (2020-03-20), pages 113252A, XP060130474, DOI: 10.1117/12.2553663 2 *
"Realizing more accurate OPC models by utilizing SEM contours", PROCEEDINGS OF SPIE, vol. 11325, 20 March 2020 (2020-03-20), pages 1132524, XP060130475, DOI: 10.1117/12.2554527 *

Also Published As

Publication number Publication date
US20230005157A1 (en) 2023-01-05
KR20220125291A (ko) 2022-09-14
TW202141031A (zh) 2021-11-01
CN114945801A (zh) 2022-08-26

Similar Documents

Publication Publication Date Title
US9858659B2 (en) Pattern inspecting and measuring device and program
TW490591B (en) Pattern inspection apparatus, pattern inspection method, and recording medium
JP5948138B2 (ja) 欠陥解析支援装置、欠陥解析支援装置で実行されるプログラム、および欠陥解析システム
JP4658756B2 (ja) 画像処理装置、画像処理方法および走査型電子顕微鏡
JP4262690B2 (ja) 形状測定装置および形状測定方法
JP4950550B2 (ja) パターン合わせずれ計測方法およびプログラム
US11663713B2 (en) Image generation system
JP6147868B2 (ja) パターン測定装置、及びコンピュータプログラム
WO2021140823A1 (ja) パターンエッジ検出方法、パターンエッジ検出装置、パターンエッジ検出をコンピュータに実行させるためのプログラムが記録された記録媒体
WO2020195304A1 (ja) パターンマッチング方法
JP7451384B2 (ja) パターンエッジ検出方法、パターンエッジ検出装置、パターンエッジ検出をコンピュータに実行させるためのプログラムが記録された記録媒体
WO2020121739A1 (ja) 画像マッチング方法、および画像マッチング処理を実行するための演算システム
JP3959379B2 (ja) 形状測定装置及び形状測定方法
WO2021260765A1 (ja) 寸法計測装置、半導体製造装置及び半導体装置製造システム
WO2020158261A1 (ja) 画像マッチング判定方法、画像マッチング判定装置、および画像マッチング判定方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
JP7405959B2 (ja) パターンマッチング方法
JP2020123034A (ja) 画像マッチング支援方法、画像マッチング支援装置、および画像マッチング支援方法をコンピュータに実行させるためのプログラムを記録したコンピュータ読み取り可能な記録媒体
WO2024023955A1 (ja) 測長システム、モデル作成システム及び測長方法
JP2021131660A (ja) 寸法測定方法および寸法測定装置
TW202132747A (zh) 圖案匹配裝置、圖案測定系統及非暫態電腦可讀媒體

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 20912475

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 20227026891

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 20912475

Country of ref document: EP

Kind code of ref document: A1