Measurement system with transparent workpiece surface mode
The metrology system addresses the challenge of imaging transparent or translucent surfaces by capturing image stacks and determining multiple focusing curves, enabling accurate 2D and 3D imaging with enhanced depth of field for precise measurement.
Patent Information
- Application Number
- JP2020210552
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2019-12-19
- Filing Date
- 2020-12-18
- Publication Date
- 2025-01-09
- Estimated Expiration
- 2040-12-18
AI Technical Summary
Existing precision metrology systems face challenges in accurately imaging and measuring transparent or translucent workpiece surfaces, as conventional autofocus methods often fail to distinguish between multiple focal planes within such surfaces.
A metrology system with a transparent workpiece surface mode that utilizes a light source, lens, camera, and processors to capture image stacks at varying Z-heights, determining multiple focusing curves and selectively displaying images based on user-selected surfaces, enabling extended depth of field (EDOF) and three-dimensional imaging of transparent or translucent surfaces.
The system effectively distinguishes between multiple focal planes in transparent or translucent surfaces, providing accurate 2D and 3D imaging with enhanced depth of field, allowing for precise measurement and inspection of complex workpiece surfaces.
Smart Images

Figure 0007610970000001 
Figure 0007610970000002 
Figure 0007610970000003
Abstract
Description
[Technical field]
[0001] The present disclosure relates to precision metrology, and more particularly to metrology systems utilizing point-from-focus and similar motions to inspect and measure workpiece surfaces. [Background technology]
[0002] Precision metrology systems, such as machine vision inspection systems (or "vision systems" for short), can be used for precision measurement of objects and for inspecting features of other objects. Such systems may include a computer, a camera, an optical system, and a stage that moves to allow traversal of the workpiece. One exemplary system that can be characterized as a general-purpose "off-line" precision vision system is the QUICK VISION® series of PC-based vision systems and QVPAK® software available from Mitutoyo America Corporation (MAC), Aurora, Illinois. The functionality and operation of the QUICK VISION® series of vision systems and QVPAK® software are generally described, for example, in the QVPAK 3D CNC Vision Measuring Machine User's Guide published in January 2003. This type of system utilizes a microscope-type optical system and a moving stage to provide inspection images of small or large workpieces at various magnifications.
[0003] Such machine vision inspection systems are typically programmable to perform automated inspections: specific inspection event sequences, i.e., machine control instructions including sequential image acquisition settings (e.g., position, lighting, magnification, etc.) and how each image is to be analyzed / inspected (e.g., using one or more video tools), are stored as a "part program" or "workpiece program" that is specific to a particular workpiece geometry.
[0004] Video tools (or "tools" for short) and other graphical user interface (GUI) features allow operation and programming by a "non-expert" operator. Such tools can be used manually in a "manual mode" and / or their parameters and operations can be recorded during a learn mode to generate part programs. Video tools can include, for example, edge / boundary detection tools, autofocus tools, shape or pattern matching tools, dimensional measurement tools, etc. U.S. Patents 6,542,180 and 7,627,162 teach vision systems that include the use of video tools for inspection programming.
[0005] One known type of video tool is the "multi-point tool" or "multi-point autofocus tool" video tool. Such tools (and / or various other processes utilizing similar techniques) can provide Z height measurements or coordinates (along the optical and focusing axes of the camera system) derived from a "best focus" position for multiple sub-regions at defined XY coordinates within the tool's region of interest as determined by an autofocus method. Such a set of X, Y, Z coordinates can be referred to as point cloud data, or point cloud for short. Generally, according to prior art autofocus methods and / or tools, a camera moves through a range of positions along the z-axis (focus axis) and captures an image at each position (referred to as an image stack). For each captured image, a focus metric for each sub-region (i.e., having a given X and Y coordinate) is calculated based on the image and in relation to the camera's corresponding position along the Z-axis at the time the image was captured. This results in focus curve data for each XY sub-region. This can simply be referred to as a "focus curve" or "autofocus curve." By fitting a curve to the focus curve data and estimating the peak of the fitted curve, one can find the peak of the focus curve that corresponds to the best focus position along the z-axis.
[0006] Data obtained from such techniques can be utilized to display a wide variety of images of the workpiece. For example, point cloud data as described above can be used to display a three-dimensional (3D) image of the workpiece. As another example, in some applications, it may be desirable to display an image with an extended depth of field (EDOF) that is greater than that provided by an optical imaging system at a single focus position. One method for constructing an EDOF image involves techniques similar to some of those described above, and involves collecting an image stack made up of multiple images of the same field of view or aligned images focused at various distances within the focus range. A composite image is constructed in which each portion of the field of view is extracted from the particular image that shows that portion at best focus (i.e., as determined according to the peak of the focus curve). Summary of the Invention [Problem to be solved by the invention]
[0007] Such techniques for imaging and measuring surfaces typically face various challenges with certain types of workpiece surfaces (e.g., transparent surfaces, etc.) It would be desirable to have an improved system capable of imaging and measuring a wide variety of workpiece surfaces. [Means for solving the problem]
[0008] This summary is provided to introduce some concepts in a simplified form that are further described below in the Detailed Description. This summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
[0009] A metrology system with a transparent workpiece surface mode is provided. The metrology system includes a light source, a lens (e.g., an objective lens), a camera, one or more processors, and a memory. The lens inputs imaging light resulting from a surface of the workpiece illuminated by the light source and transmits the imaging light along an imaging optical path. The camera receives the imaging light transmitted along the imaging optical path and provides an image of the workpiece. A focus position of the system is configured to be variable among a plurality of positions within a focus range along a Z height direction proximate to the workpiece.
[0010] The memory is coupled to the one or more processors and stores program instructions that, when executed by the one or more processors, cause the one or more processors to perform various steps / processes, such as: acquiring an image stack including a plurality of images; each image of the image stack being acquired at a different corresponding Z-height within a focus range; each image of the image stack including a first surface that is at least one of transparent or semi-transparent and a second surface that is at least partially see-through through the first surface; determining a plurality of focus curves based on the images of the image stack; determining a first local focus peak from each focus curve corresponding to the first surface and determining a second local focus peak from each focus curve corresponding to the second surface; and a first displayed image including a first selected surface selected by a user according to an option for selecting either the first surface or the second surface. The first selected surface is a first surface, where the first displayed image is based on the first local focusing peak and not based on the second local focusing peak, and includes the first surface and not includes the second surface, or a second surface at least partially visible through the first surface, where the first displayed image is based on the second local focusing peak and not based on the first local focusing peak, and includes the second surface and not includes the first surface.
[0011] In various embodiments, a user interface may present an option for the user to select between the first surface and the second surface, In various embodiments, the system is configured to determine only first and second local focus peaks corresponding to the first and second surfaces, respectively, and is not configured to determine additional local focus peaks of the focus curve that may correspond to additional surfaces.
[0012] In various embodiments, the first display image and / or the additional display image can be a first display two-dimensional (2D) extended depth of field (EDOF) image and / or a first display three-dimensional (3D) image including a first selected surface. The 3D image can include the selected surface and be based on the same local focus peaks as the first display 2D EDOF image is based on. Furthermore, at a different time, the user can select to display a second display image of a second selected surface selected by the user according to an option to select either the first surface or the second surface (e.g., the second selected surface is different from the first selected surface and is based on a different local focus peak). The first and second display images can be first and second display 2D EDOF images and / or can be or be displayed with corresponding first and second display 3D images.
[0013] In various embodiments, a measurement between two features on the first selected surface can be determined based on a movement of one or more video tools applied to the first selected surface in the first displayed image, In various embodiments, the one or more video tools can include at least one of a dimension measurement tool, a point tool, a box tool, a circle tool, or an arc tool.
[0014] In various embodiments, a first local focus peak corresponding to the first surface can be determined based on all first local focus peaks having the same first numbered position in each of the focus curves. A second local focus peak corresponding to the second surface can be determined based on all second local focus peaks having the same second numbered position in each of the focus curves. In various embodiments, a local focus peak from a focus curve that corresponds to the second surface but does not have the same second numbered position in each focus curve can be determined. The local focus peak is determined based on falling within a Z filtering range set by a user.
[0015] In various embodiments, determining the first and second local focus peaks corresponding to the first and second surfaces, respectively, includes removing from consideration one or more local focus peaks of the focus curves that do not meet at least one specified quality criterion. In various embodiments, for a focus curve that does not include a local focus peak corresponding to the surface, at least one interpolated local focus peak may be determined based on an interpolation between at least two local focus peaks of other focus curves that correspond to the surface.
[0016] In various embodiments, acquiring the image stack includes projecting a pattern onto the first and second surfaces, resulting in at least some higher local focus peaks in the focus curve than would be obtained under the same image acquisition process and conditions but without the projected pattern. A second image stack can be acquired without the pattern projection. The first local focus peaks are used to determine which image data from the second image stack corresponds to the first surface. The first selected surface is the first surface, and image data from the second image stack that corresponds to the first surface is used for displaying a first display image that includes the first surface.
[0017] In various embodiments, a computer-implemented method for operating a metrology system may be provided, in which the steps / processes described above may be performed under the control of one or more computing systems configured with executable instructions. [Brief description of the drawings]
[0018] [Figure 1] FIG. 1 illustrates various typical components of a general purpose precision machine vision metrology system. [Diagram 2] FIG. 2 is a block diagram of a control system and vision components portion of a machine vision metrology system similar to that of FIG. 1 and including certain features disclosed herein. [Diagram 3] FIG. 1 is a schematic diagram of an imaging system that can be adapted for a precision non-contact metrology system, such as a machine vision metrology system, including certain features disclosed herein. [Figure 4] FIG. 2 shows a first set of focus curves having local focus peaks corresponding to a surface that includes a transparent or semi-transparent upper surface and a lower surface that is at least partially visible through the upper surface. [Diagram 5] FIG. 1 is a flow diagram illustrating an exemplary process for displaying an image of a selected surface and for performing measurements. [Figure 6] FIG. 13 is a flow diagram illustrating an example sub-process for determining a local focus peak of a focus curve corresponding to a surface. [Figure 7] FIG. 1 is a flow diagram illustrating an example sub-process for utilizing pattern projection. [Figure 8A] 5 illustrates a first exemplary embodiment of a user interface for viewing two-dimensional extended depth-of-field images and three-dimensional images of a workpiece surface such as the surface of FIG. 4. [Figure 8B] 5 illustrates a first exemplary embodiment of a user interface for viewing two-dimensional extended depth-of-field images and three-dimensional images of a workpiece surface such as the surface of FIG. 4. [Figure 9]FIG. 13 shows a second set of focus curves having local focus peaks corresponding to a surface that includes at least a transparent or semi-transparent upper surface and a lower surface that is at least partially see-through through the upper surface. [Figure 10A] 10 shows a second exemplary embodiment of a user interface for viewing two-dimensional extended depth-of-field images and three-dimensional images of a workpiece surface such as the surface of FIG. 9. [Figure 10B] 10 shows a second exemplary embodiment of a user interface for viewing two-dimensional extended depth-of-field images and three-dimensional images of a workpiece surface such as the surface of FIG. 9. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0019] 1 is a block diagram of an exemplary machine vision metrology system 10 that may be used as or include an imaging system as described herein. The machine vision metrology system 10 includes a vision measuring machine 12 that is operatively connected to exchange data and control signals with a control computer system 14. The control computer system 14 is further operatively connected to exchange data and control signals with a monitor or display 16, a printer 18, a joystick 22, a keyboard 24, and a mouse 26. The monitor or display 16 may display a user interface suitable for controlling and / or programming the operation of the machine vision metrology system 10. It will be appreciated that in various embodiments, the functionality of any or all of the elements 14, 16, 22, 24, and 26 may be substituted and / or provided redundantly by a touch screen tablet or the like.
[0020] Those skilled in the art will appreciate that the control computer system 14 may generally be implemented using any suitable computing system or device, including distributed or networked computing environments, etc. Such computing systems or devices may include one or more general-purpose or special-purpose processors (e.g., non-custom or custom devices) that execute software to achieve the functions described herein. The software may be stored in memory, such as random access memory (RAM), read-only memory (ROM), flash memory, or a combination of such components. The software may also be stored in one or more storage devices, such as optical-based disks, flash memory devices, or any other type of non-volatile storage medium for storing data. The software may include one or more program modules, including processes, routines, programs, objects, components, data structures, etc. that perform particular tasks or implement particular abstract data types. In a distributed computing environment, the functionality of the program modules may be combined or distributed across multiple computing systems or devices, in either a wired or wireless configuration, and accessed via service calls.
[0021] The vision measurement machine 12 includes a movable workpiece stage 32 and an optical imaging system 34, which may include a zoom lens or interchangeable objective lenses that typically provide different magnifications for the images acquired by the optical imaging system 34. Various embodiments of the machine vision metrology system 10 are also described in commonly assigned U.S. Patent Nos. 7,454,053, 7,324,682, 8,111,905, and 8,111,938.
[0022] Figure 2 is a block diagram of a control system portion 120 and a vision components portion 200 of a machine vision metrology system 100 similar to the machine vision metrology system 100 of Figure 1 and including several features disclosed herein. The control system portion 120 is used to control the vision components portion 200, as described in more detail below. The vision components portion 200 includes an optical assembly portion 205, light sources 220, 230, and 240, and a workpiece stage 210 having a central transparent portion 212. The workpiece stage 210 is controllably movable along X and Y axes that lie in a plane generally parallel to the surface of the stage on which a workpiece 20 can be positioned.
[0023] The optical assembly portion 205 includes a camera system 260 and an interchangeable objective lens 250, and may further include a variable focal length (VFL) lens 270 (e.g., a tunable acoustic gradient (TAG) lens in various exemplary embodiments). In various embodiments, the optical assembly portion 205 may also include a turret lens assembly 223 having lenses 226 and 228. Instead of a turret lens assembly, various embodiments may include fixed or manually interchangeable magnification-altering lenses, zoom lens arrangements, or the like. In various embodiments, the interchangeable objective lens 250 may be selected from a set of fixed magnification objective lenses (e.g., a set of objective lenses corresponding to magnifications of 0.5x, 1x, 2x or 2.5x, 5x, 7.5x, 10x, 20x or 25x, 50x, 100x, etc.) included as part of the variable magnification lens portion.
[0024] The optical assembly portion 205 can be controllably moved along a Z-axis, generally orthogonal to the X-axis and Y-axis, by using a controllable motor 294. The controllable motor 294 drives an actuator to move the optical assembly portion 205 along the Z-axis (e.g., the optical axis of an optical system including the optical assembly portion 205) to vary the focus position and therefore the focus of the image of the workpiece 20. The controllable motor 294 is connected to the input / output interface 130 via a signal line 296. As described in more detail below, to vary the focus of the image over a smaller range, or instead of moving the optical assembly portion 205, the VFL (e.g., TAG) lens 270 can also be controlled by the lens control interface 134 via a signal line 234' to periodically modulate the optical power of the VFL lens 270, thereby modulating the effective focus position of the optical assembly portion 205. The lens control interface 134 can include a VFL lens control 180, as described in more detail below. The workpiece 20 can be placed on a workpiece stage 210. The workpiece stage 210 can be controlled to move relative to the optical assembly portion 205 (e.g., move in the XY plane) such that the field of view of the interchangeable objective lens 250 can be moved between multiple positions on the workpiece 20 and / or between multiple workpieces 20.
[0025] As described in more detail below, in various embodiments, workpiece 20 may include an upper surface SRF-1 that is at least one of transparent and translucent, and a lower surface SRF-2 that is at least partially see-through through upper surface SRF-1. For example, in various applications, workpiece 20 may be or include materials such as glass, a lens, a thin film, and / or other materials that may be transparent or translucent (e.g., upper surface SRF-1 may correspond to a top surface of the workpiece, and lower surface SRF-2 may correspond to another surface, such as a bottom surface, of the workpiece, or a portion of a different material, portion, layer, etc., of the workpiece).
[0026] One or more of the transmitted illumination source 220, the epi-illumination source 230, and the oblique illumination source 240 (e.g., a ring light) can emit source light 222, 232, and / or 242, respectively, to illuminate one or more workpieces 20. For example, during an image exposure, the epi-illumination source 230 can emit source light 232 along a path that includes a beam splitter 290 (e.g., a partial mirror). The source light 232 is reflected or transmitted as imaging light 255 and passes through the interchangeable objective lens 250, the turret lens assembly 223, and the VFL lens 270 to be collected by the camera system 260 as imaging light used for imaging. The workpiece image exposure, which includes an image of one or more workpieces 20, is captured by the camera system 260 and output on a signal line 262 to the control system portion 120.
[0027] The various light sources (e.g., light sources 220, 230, and 240) can be connected to the lighting control interface 133 of the control system portion 120 via associated signal lines (e.g., buses 221, 231, and 241, respectively). The control system portion 120 can control the selection of one of the turret lenses via signal line or bus 223' by rotating the turret lens assembly 223 along axis 224 to change the magnification of the image.
[0028] 2, in various exemplary embodiments, control system section 120 includes controller 125, input / output interface 130, memory 140, workpiece program generator and executor 170, and power supply section 190. Each of these components, and additional components described below, may be interconnected by one or more data / control buses and / or application programming interfaces, or by direct connections between the various elements. Input / output interface 130 includes imaging control interface 131, motion control interface 132, lighting control interface 133, and lens control interface 134. Lens control interface 134 may include or be connected to VFL lens control 180. VFL lens control 180 includes circuitry and / or routines for controlling various image exposures synchronized with the periodic focus position modulation performed by VFL lens 270. In some embodiments, lens control interface 134 and VFL lens control 180 may be merged and / or indistinguishable.
[0029] The lighting control interface 133 may include lighting control elements 133a-133n that control, as applicable, the selection, power, on / off switching, and strobe pulse timing of various corresponding light sources in the machine vision metrology system 100. In some embodiments, an exposure (strobe) time control 333es as shown in FIG. 3 may provide strobe timing signals to one or more of the lighting control elements 133a-133n to enable those elements to provide image exposure strobe timing that is synchronized with a desired phase time of the VFL lens focus position modulation (e.g., according to certain stored calibration data), as described in more detail below. In some embodiments, the exposure (strobe) time control 333es and one or more of the lighting control elements 133a-133n may be merged and / or indistinguishable.
[0030] The memory 140 can include an image file memory portion 141, an edge detection memory portion 140ed, a workpiece program memory portion 142 that can include one or more part programs, a standard workpiece surface (WS) mode portion 140ss, a transparent workpiece surface (WS) mode portion 140ts, and a video tools portion 143. The video tools portion 143 includes a video tool 143a and other video tools (e.g., 143n) that determine the GUI for each corresponding video tool, image processing operations, and the like, and a region of interest (ROI) generator 143roi. The region of interest generator 143roi supports automatic, semi-automatic, and / or manual operations to define various ROIs that can be operated on the various video tools included within the video tools portion 143 and / or as part of other operations. Examples of the operation of the video tools to locate edge features and perform other workpiece feature inspection operations are described in more detail in some of the references incorporated herein as discussed above, and in U.S. Pat. No. 7,627,162, which is incorporated herein as discussed above.
[0031] The video tools section 143 also includes an autofocus video tool 143af for determining a GUI for focus height (i.e., effective focus position (Z-height)) measurement operations, image processing operations, and the like. In various embodiments, the autofocus video tool 143af may further include a fast focus height tool that may be utilized to measure focus heights at high speed using the hardware described in FIG. 3, as described in more detail in U.S. Pat. No. 9,143,674. In various embodiments, the fast focus height tool may be a special mode of the autofocus video tool 143af that otherwise operates according to conventional methods for autofocus video tools, or the operation of the autofocus video tool 143af may include only the operation of the fast focus height tool. Fast autofocus and / or focus position determination for one or more image regions of interest may be based on analyzing the image to determine corresponding focus characteristic values (e.g., quantitative contrast measure values and / or quantitative focus measure values) of various regions according to known methods. For example, such methods are disclosed in U.S. Patent Nos. 8,111,905, 7,570,795, and 7,030,351.
[0032] In the context of this disclosure, as known to those skilled in the art, the term "video tool" generally refers to a relatively complex automated or programmed set of operations that can be performed by a machine vision user through a relatively simple user interface. For example, a video tool may include a complex set of pre-programmed image processing operations and calculations that can be adapted and customized in a particular instance by adjusting a number of variables or parameters that define these operations and calculations. In addition to the underlying operations and calculations, a video tool also includes a user interface that allows a user to adjust those parameters for a particular instance of the video tool. It should be noted that in some cases, visible user interface features are referred to as video tools, and the underlying operations are implicitly included.
[0033] Typically, precision machine vision metrology systems (such as those in FIGS. 1 and 2) can be programmed to perform automated video inspection. Such systems typically include selectable operating modes to allow operation and programming by a "non-expert" operator, as well as GUI functionality and predefined image analysis video tools. Such video tools can be used manually in a "manual mode" and / or their parameters and operations can be recorded during a learn mode to generate part programs. In various embodiments, the video tools can include, for example, edge / boundary detection tools, autofocus tools, shape or pattern matching tools, dimensional measurement tools, and the like. U.S. Patent Nos. 6,542,180 and 7,627,162, incorporated herein as above, teach vision systems that include the use of video tools for inspection programming.
[0034] In various embodiments, the standard workpiece surface mode portion 140ss may operate in a known manner for a standard (e.g., non-transparent, etc.) workpiece surface (e.g., selectable as an operating mode by a user and / or provided in the form of a video tool and / or available as part of some video tool, autofocus tool, etc.). For example, an image stack including multiple images of the workpiece surface may be acquired / captured according to such previously known methods, and a single focus peak may be determined in each focus curve of the region of interest according to such previously known methods (e.g., as described in the references included herein). As described in more detail below, the transparent workpiece surface mode portion 140ts may operate according to certain modes disclosed herein, which may also be selectable as an operating mode by a user and / or provided in the form of a video tool and / or available as part of some video tool, autofocus tool, etc.). For example, according to such a method, an image stack can be acquired and two or more local focus peaks (e.g., two local focus peaks) can be determined in each focus curve (e.g., a first local focus peak can correspond to a transparent or translucent top surface SRF-1 of the workpiece 20, and a second local focus peak can correspond to a bottom surface SRF-2 of the workpiece 20 that is at least partially visible through the top surface SRF-1, as described in further detail below).
[0035] One or more display devices 136 (e.g., display 16 of FIG. 1 ) and one or more input devices 138 (e.g., joystick 22, keyboard 24, and mouse 26 of FIG. 1 ) may be connected to input / output interface 130. Display device 136 and input device 138 may be used to display a user interface (e.g., as shown in FIGS. 8A, 8B, and 10A ), which may include various graphical user interface (GUI) functions that may be used to perform inspection operations and / or create and / or modify part programs, view images captured by camera system 260, and / or directly control vision components portion 200.
[0036] In various exemplary embodiments, when a user uses the machine vision metrology system 100 to generate a part program for a workpiece 20, the user generates part program instructions by operating the machine vision metrology system 100 in a learn mode to provide a desired image acquisition training sequence. For example, the training sequence may include placing a particular workpiece feature of a representative workpiece within a field of view (FOV), setting illumination levels, focusing or auto-focusing, acquiring an image, and providing an inspection training sequence to be applied to the image (e.g., using an instance of one of the video tools on the workpiece feature). The learn mode operates such that this sequence or sequences are captured or recorded and converted into corresponding part program instructions. When the part program is executed, these instructions cause the machine vision metrology system to replicate the trained image acquisition and perform inspection operations to automatically inspect the particular workpiece feature (i.e., corresponding feature at corresponding location) on one or more workpieces in the run mode that match the representative workpiece used in generating the part program.
[0037] Figure 3 is a schematic diagram of an imaging system 300 that may be adapted for a machine vision metrology system or configured as a stand-alone system and yet operate in accordance with the principles disclosed herein. It will be appreciated that several components numbered 3XX in Figure 3 correspond to and / or provide similar operations or functions as similar components numbered 2XX in Figure 2 and may be understood similarly unless otherwise indicated.
[0038] As described in more detail below, the imaging optical path OPATH (also referred to herein as the workpiece imaging optical path) includes various optical components disposed along a path that conveys imaging light 355 from the workpiece 320 to the camera 360 (e.g., as part of the optical system of the imaging system 300). The imaging light is conveyed generally along the direction of their optical axes OA. In the embodiment shown in FIG. 3, all of the optical axes OA are aligned. However, it will be appreciated that this embodiment is intended to be merely illustrative and not limiting. More generally, the imaging optical path OPATH may include mirrors and / or other optical elements and take any form that operates to image the workpiece 320 with a camera (e.g., camera 360) according to known principles. In the illustrated embodiment, the imaging optical path OPATH includes a VFL lens 370 (which may be included in a 4f imaging arrangement) and is utilized to image, at least in part, the surface of the workpiece 320 during workpiece image exposure along the optical axis OA of the optical system.
[0039] 3, imaging system 300 includes light source 330, pattern projection unit 330', exposure (strobe) time control 333es, standard workpiece surface mode 340ss, transparent workpiece surface mode 340ts, objective lens 350, tube lens 351, relay lens 352, VFL (TAG) lens 370, relay lens 356, lens control 380, camera 360, effective focus position (Z height) calibration unit 373, and workpiece focus signal processing unit 375 (optional). The various components in various embodiments may be interconnected by direct connections, by one or more data / control buses (e.g., system signal and control bus 395) and / or application programming interfaces, or the like.
[0040] As described in more detail below, in various embodiments, the VFL lens control 380 can control the drive signal of the VFL lens 370 to periodically modulate the optical power of the VFL lens 370 over a range of optical powers, which occur at each phase timing within the periodic modulation. The camera 360 (e.g., including an imaging detector) receives the light transmitted along the imaging optical path OPATH through the VFL lens 370 during the image exposure to provide a corresponding camera image. The objective lens 350 inputs the imaging light originating from the workpiece 320 during the image exposure and transmits the imaging light along the imaging optical path OPATH through the VFL lens 370 to the camera 360 during the image exposure to provide a workpiece image in the corresponding camera image. The effective focus position EFP in front of the objective lens 350 during the image exposure corresponds to the optical power of the VFL lens 370 during the image exposure. The exposure time control 333es is configured to control the image exposure timing used for the camera image.
[0041] With respect to the general configuration shown in FIG. 3, light source 330 is a “coaxial light source” or other light source that is configured to emit source light 332 (e.g., with strobe illumination or continuous illumination) along a path that includes a beam splitter 390 (e.g., a partially reflective mirror as part of the beam splitter) through objective lens 350 to the surface of workpiece 320. Objective lens 350 receives imaging light 355 (e.g., workpiece light) that is focused at an effective focus position EFP proximate workpiece 320 and outputs imaging light 355 to tube lens 351. Tube lens 351 receives imaging light 355 and outputs it to relay lens 352. In other embodiments, the field of view can be illuminated non-coaxially by a similar light source. For example, a ring light source can illuminate the field of view.
[0042] In various embodiments, the objective lens 350 can be an interchangeable objective lens, and the tube lens 351 can be included as part of a turret lens assembly (e.g., similar to the interchangeable objective lens 250 and turret lens assembly 223 of FIG. 2). In the embodiment shown in FIG. 3, the imaging light 355 emanating from the design focal plane of the objective lens 350 is focused by the tube lens 351 to form an intermediate image at the design intermediate image plane IIPnom. When the VFL (TAG) lens 370 is in a non-lensing state (no optical power), the design focal plane of the objective lens 350, the design intermediate image plane IIPnom, and the image plane of the camera 360 form a set of conjugate planes according to known microscope imaging principles. In various embodiments, any of the other lenses mentioned herein can be formed from or work in conjunction with individual lenses, compound lenses, etc.
[0043] Relay lens 352 receives imaging light 355 from tube lens 351 (or, in various alternative microscope arrangements, more generally, from an intermediate image plane) and outputs it to VFL (TAG) lens 370. VFL (TAG) lens 370 receives imaging light 355 and outputs it to relay lens 356. Relay lens 356 receives imaging light 355 and outputs it to camera 360. In various embodiments, camera 360 can capture camera images during an image exposure, also referred to as an image exposure period (e.g., during an integration time of camera 360) and provide corresponding image data to the control system. Some camera images can include workpiece images (e.g., of an area of workpiece 320) that were provided during the workpiece image exposure. In some embodiments, the image exposure (e.g., workpiece image exposure) can be limited or controlled by strobe timing of light source 330 that is within the image integration time of camera 360. In various embodiments, camera 360 may have a pixel array greater than 1 megapixel (eg, 1.3 megapixels, 1280x1024 pixel array, 5.3 microns per pixel).
[0044] In the example of FIG. 3, relay lenses 352 and 356 and VFL (TAG) lens 370 are shown in a 4f optical configuration, relay lens 352 and tube lens 351 are shown in a Keplerian telescope configuration, and tube lens 351 and objective lens 350 are shown in a microscope configuration. It will be understood that all configurations shown are merely exemplary and are not limitations of the present disclosure. In various embodiments, the illustrated 4f optical configuration allows VFL (TAG) lens 370 (which may be, for example, a low numerical aperture (NA) device) to be placed in the Fourier plane of objective lens 350. This configuration can minimize scale change and image distortion (including, for example, providing constant magnification at each effective focus position (Z height) of workpiece 320) while maintaining telecentricity at workpiece 320. A Keplerian telescope arrangement (e.g., including tube lens 351 and relay lens 352) can be included between the microscope arrangement and the 4f optical arrangement and can be configured to provide a desired size projection of the objective clear aperture at the VFL (TAG) lens 370 to minimize image aberrations, etc.
[0045] In various embodiments, the lens control unit 380 can include a drive signal generator 381, a timing clock 381', and an imaging circuit / routine 382. The drive signal generator 381 can operate (e.g., in conjunction with the timing clock 381') to provide a periodic drive signal to the high-speed VFL (TAG) lens 370 via signal line 380'. In various embodiments, the imaging system 300 can include a control system (e.g., the control system unit 120 of FIG. 2) that can be configured to operate in conjunction with the lens control unit 380 for coordinated operation.
[0046] In various embodiments, lens controls 380 can perform various functions generally related to imaging workpiece 320 in synchronization with the desired phase timing of VFL lens 370, as well as controlling, monitoring, and adjusting the drive and response of VFL lens 370. In various embodiments, imaging circuits / routines 382 perform imaging operations of the optical system (which may be synchronized, for example, with the phase timing of VFL lens 370).
[0047] In various examples, drift in the operating characteristics of the VFL lens may occur due to undesirable temperature variations. As shown in FIG. 3, in various embodiments, imaging system 300 may optionally include a heater / cooler 337 associated with VFL lens 370. Lens heater / cooler 337 may be configured to input an amount of thermal energy to VFL lens 370 and / or perform a cooling function to facilitate heating and / or cooling of VFL lens 370 according to certain embodiments and / or operating conditions. Additionally, in various embodiments, a VFL lens monitoring signal may be provided by temperature sensor 336 associated with VFL lens 370 to monitor the operating temperature of VFL lens 370.
[0048] Regarding the overall operation of the VFL lens 370, as described above, in various embodiments, the lens control unit 380 can periodically rapidly adjust or modulate the refractive power of the VFL lens 370 to realize a high-speed VFL lens capable of periodic modulation (i.e., of the VFL lens resonant frequency) of 250 kHz, or 70 kHz, or 30 kHz, etc. As shown in FIG. 3, the periodic modulation of the signal driving the VFL lens 370 can be used to rapidly move the effective focus position EFP (i.e., the focus position in front of the objective lens 350) of the imaging system 300 within a range Repp (e.g., an autofocus search range or a focus range, etc.). The range Repp can be defined by an effective focus position EFP1 (or EFPmax) corresponding to the maximum refractive power of the VFL lens 370 in combination with the objective lens 350, and an effective focus position EFP2 (or EFPmin) corresponding to the maximum negative refractive power of the VFL lens 370 in combination with the objective lens 350. In various embodiments, the effective focus positions EFP1 and EFP2 may correspond approximately to phase timings of 90 degrees and 270 degrees, respectively. In various embodiments, the center of the range Repp may be denoted as EFPnom, which may correspond to zero refractive power of the VFL lens 370 in combination with the design refractive power of the objective lens 350. According to this description, EFPnom may correspond approximately to the design focal length of the objective lens 350 in some embodiments (which may correspond to the working distance WD of the objective lens 350).
[0049] In various embodiments, modulation of the VFL lens 370 can be used to acquire image stacks as described in U.S. Patent Nos. 9,143,674 and 9,830,694. As described in these incorporated references, the periodically modulated Z height of the focus position of the imaging system of FIG. 3 can be controlled by periodically modulating the focal length of a VFL lens (e.g., TAG lens 370) in the imaging system as outlined above. In various embodiments, strobe illumination (e.g., from light source 330 controlled by exposure time control 333es) is timed to expose images focused at each Z height corresponding to each phase timing of the periodically modulated focus position. That is, if a short strobe pulse is given at phase timing φ0 while a digital camera (e.g., camera 360) is acquiring an image during the integration time, the focus position will be at height zφ0, and the workpiece surface located at height zφ0 will be in focus in the resulting image. Similar principles apply to other exemplary phase timings and Z heights throughout the focus range.
[0050] In various embodiments, such a process can be used to acquire an image stack. For example, when the overall focus position of the TAG lens and corresponding system is sinusoidally modulated, different images of the workpiece surface are captured corresponding to different phase timings and different corresponding Z heights. As a simplified example, if the focus range is 100 mm and an image is captured every 1 mm, the image stack can include 100 images, each captured image corresponding to a different Z height by 1 mm throughout the entire 100 mm focus range. In various embodiments, the image stack can be acquired with a system with or without a VFL lens (e.g., using a controllable motor 294 to drive an actuator to move the optical assembly portion 205 along the Z axis to change the focus position of the imaging system relative to the workpiece 20 / 320 to acquire different images of the image stack at different effective focus positions, each image of the image stack is acquired at different corresponding known Z heights within the focus range as controlled by the motor 294). U.S. Pat. No. 8,581,162 describes various techniques for acquiring and utilizing image stacks.
[0051] In one embodiment, an optional focus signal processor 375 can input data from the camera 360 and provide data or signals used to determine when an imaged surface area (e.g., of the workpiece 320) is in an effective focus position. For example, a group of images, such as a portion of an image stack, acquired by the camera 360 at various effective focus positions (Z heights) can be analyzed using known "maximum contrast" or "best focus image" analysis to determine when an imaged surface area of the workpiece 320 is in a corresponding effective focus position (Z height). However, more generally, any other suitable known image focus detection configuration can be used. In any case, the workpiece focus signal processor 375 or the like can input one or more images acquired during a periodic modulation of the effective focus position of the imaging system (e.g., using the VFL lens 370 or the motor 294, etc.) (a sweep of multiple effective focus positions) and determine the image and / or image timing in which the target element (e.g., of the workpiece) is in best focus.
[0052] In some embodiments, the focus signal processor 375 can determine a phase timing of the VFL lens 370 that corresponds to best focus (e.g., of a workpiece element) and output this “best focus” phase timing value to the effective focus position calibrator 373. The effective focus position calibrator 373 can provide effective focus position (Z height) calibration data that associates each effective focus position (Z height) with each “best focus” phase timing within a period of a standard imaging resonant frequency of the VFL lens 370. In some cases, this calibration data can generally correspond to operation of the VFL lens 370 according to a standard imaging drive control configuration or reference state. For example, in various embodiments, the signal data from the camera 360 can correspond to one or more images acquired by the camera (e.g., as part of an image stack). Contrast or other focus measure determination can be performed as part of a point-from-focus operation or other analysis to determine when the imaged surface region of the workpiece 320 is at a “best focus” position. Exemplary techniques for determining and analyzing image stacks and focus curves, as well as point-from-focus operations, are taught in US Pat. Nos. 6,542,180, 8,581,162, and 9,060,117, which are incorporated herein by reference.
[0053] Generally speaking, the effective focus position calibration unit 373 includes recorded effective focus position (Z height) calibration data (e.g., as determined by a calibration process such as those disclosed in the references contained herein). As such, the representation in FIG. 3 as separate elements is intended to be merely schematic and not limiting. In various embodiments, the associated recorded effective focus position (Z height) calibration data may be merged and / or indistinguishable, such as with the lens control unit 380, the workpiece focus signal processing unit 375, or a host computer system connected to the system signal and control bus 395.
[0054] In various embodiments, the exposure (strobe) time control unit 333es controls the image exposure time of the imaging system 300 (e.g., relative to the phase timing of the periodically modulated effective focus position). More specifically, in some embodiments, during the image exposure, the exposure (strobe) time control unit 333es can control the light source 330 (e.g., using the effective focus position (Z height) calibration data obtained by the effective focus position calibration unit 373) to strobe at each controlled time (e.g., such that each image of the image stack is acquired at various corresponding known Z heights within the focus range). For example, the exposure (strobe) time control unit 333es can control the strobe light source to strobe at each phase timing within a period of the standard imaging resonant frequency of the VFL lens 370 to acquire an image having a specific effective focus position (e.g., at a corresponding known Z height) within the sweep (periodic modulation) range of the VFL lens 370. In other embodiments, exposure time control 333es controls a high speed electronic camera shutter of camera 360 to enable image capture at each controlled time and / or effective focus position (Z height) associated therewith. In some embodiments, exposure (strobe) time control 333es may be merged and / or indistinguishable from camera 360. It will be appreciated that operation of exposure time control 333es and other functions and elements described above may be implemented to manage workpiece image capture.
[0055] In various embodiments, the standard workpiece surface mode 340ss or the transparent workpiece surface mode 340ts (e.g., implemented as a separate mode and / or as or part of the video tool or other part of the system) may be selectable (e.g., by a user) depending on the characteristics of the workpiece being inspected. For example, if the workpiece 320 has a top surface SRF-1 with a particular characteristic (e.g., non-transparent), the standard workpiece surface mode 340ss may be selected and utilized. Following such standard operations, in various embodiments, an image stack may be acquired and standard point-from-focus or other analysis operations may be performed. This operation may include determining, for each region of interest, a single focus peak (e.g., indicating an effective focus position EFP for each region of interest on the surface SRF-1) for each determined focus curve.
[0056] Alternatively, if the workpiece 320 has a top surface SRF-1 that is transparent or semi-transparent (i.e., the bottom surface SRF-2 is at least partially visible through the top surface SRF-1), a transparent workpiece surface mode 340ts may be selected and utilized. As described in more detail below with reference to FIGS. 4-10B, as part of the transparent workpiece surface mode 340ts, in various embodiments, operations may be performed including acquiring an image stack and determining, for each region of interest, first and second local focus peaks (e.g., indicating effective focus positions EFP for each region of interest on each surface SRF-1 and SRF-2) in each determined focus curve. In various embodiments, the pattern projection portion 330' may be used in combination with or as part of the transparent workpiece surface mode 340ts, as described in more detail below with reference to FIG. 5.
[0057] It will be appreciated that the representation of standard workpiece surface mode section 140ss, transparent workpiece surface mode section 140ts, standard workpiece surface mode 340ss, and transparent workpiece surface mode 340ts as separate elements in Figures 2 and 3 is intended to be schematic and not limiting. In various embodiments, these associated sections and modes may be separate parts, or may be part of and / or merged with and / or indistinguishable from various other parts of the system, such as, for example, one or more video tools of video tools section 143, or imaging circuits / routines 382, or a host computer system connected to system signal and control bus 395.
[0058] FIG. 4 illustrates a first set 400 of focus curves FC1-FC6 having local focus peaks corresponding to a workpiece surface including a transparent or semi-transparent top surface SRF-A and a bottom surface SRF-B that is at least partially see-through through the top surface. The numbered focus curves are illustrated arranged along an x-axis direction to indicate focus scale values according to the shape of the curve along the x-axis direction. Z-height (e.g., depth) positions are illustrated along the z-axis direction. Generally, as described in the references included in this application, focus curves are typically plotted with Z-height positions along one axis (e.g., the z-axis in the illustration of FIG. 4) and focus scale values along a second axis (e.g., the x-axis in the illustration of FIG. 4). As shown in FIG. 4, the exemplary sequentially numbered focus curves FC1-FC6 are illustrated sequentially along the x-axis direction (e.g., each focus curve indicates the x-axis position of a region of interest on a corresponding workpiece surface).
[0059] In general, various techniques are typically used to determine the focus curve, as described in the references contained herein. Exemplary prior art techniques for image stack and focus curve determination and analysis, as well as point-from-focus operations, are taught in U.S. Patent Nos. 6,542,180, 8,581,162, and 9,060,117, which are also incorporated herein as previously described. In point-from-focus and other techniques, as described in the references contained herein, the focus position can move through a range of Z-axis positions Z(i) along the z-axis (focus axis), and a system including a camera (e.g., camera 360) can capture an image (i) at each position. With respect to the example of FIG. 4, the scale on the right shows approximately 30 images being acquired, although it will be appreciated that this is provided for illustrative purposes only, and that fewer or more images (e.g., 100 or more) may be used in various embodiments.
[0060] In general, for each captured image (i), a focus measure fm(k,i) can be calculated based on a region or sub-region of interest ROI(k) (e.g., a set of pixels) in the image and in relation to the corresponding position Z(i) of the camera along the Z-axis at the time the image was captured. This results in focus curve data (e.g., focus measure fm(k,i) at position Z(i), which is one type of focus peak determination data set). This can be simply referred to as a "focus curve" or "autofocus curve." In various embodiments, the focus measure value can include a calculated value of contrast or sharpness of the region of interest in the image. For such focus curves, conventional point-from-focus and similar operations are typically configured to determine only one peak of the focus curve, which corresponds to the best focus position along the Z-axis and corresponds to the Z height of the region of interest used to determine the focus curve.
[0061] It will be appreciated that currently known conventional algorithms such as these (e.g., for determining point from focus and the like) operate under a set of assumptions including that there is only one focus maximum per region of interest (i.e., image location) and is determined for each z-scan (i.e., image stack capture). As described above in the incorporated 8,581,162 and 9,060,117 patents, in some embodiments, determining the focus maximum may involve a relatively complex process (e.g., due to noisy signals inherent in some determinations of focus curves, etc.), and previous standard processes did not address the determination of more than one focus maximum (i.e., focus peaks) per focus curve. It will be appreciated that in some cases, in accordance with the principles disclosed herein, determining two local focus maximums per focus curve may also involve and increase such complexity. In various embodiments, it may be desirable for the system to determine only up to two local focus peaks for each focus curve (which may be common application for certain types of workpieces having primarily first and second surfaces, such as some workpieces including glass, lenses, thin films, etc.), in part due to the increased complexity of such determination (e.g., determining additional focus maxima may further increase the complexity). In such embodiments, the system may not be configured to determine additional local focus peaks of the focus curve (which may correspond to additional surfaces that are at least partially visible through the first surface, for example). As used herein, the term "local focus peak" may relate to a local maximum of the focus curve. According to a standard definition, a local maximum is a value of a function at a particular point in its domain that is equal to or greater than the values at all other points in the immediate vicinity of that point. In various embodiments, the "granularity" or sensitivity of the local maximum may be adjusted by expanding or contracting the distance defined as "close vicinity" in the above definition.
[0062] In the example of FIG. 4, each of the focus curves FC4-FC6 contains a single focus maximum (i.e., corresponding to a single surface), and previously known PFF and other algorithms can operate accurately to determine a single focus maximum for each focus curve and the corresponding surface location along the z-axis (e.g., as part of the standard workpiece surface mode section 140ss / 340ss). However, when such previously known algorithms / techniques are applied to the focus curves FC1-FC3, according to conventional operation, only one focus peak is determined (which may, for example, correspond to a global maximum of the focus curve, which, according to a standard definition, may be the maximum of a function in the entire curve (domain)). With respect to the example of FIG. 4, such techniques would identify the global maximum of each of the focus curves FC1-FC3 (e.g., corresponding to surface SRF-A or SRF-B, whichever produced the larger local focus peak), and the smaller local focus peak (e.g., corresponding to the other surface) is ignored / filtered (e.g., as part of the typical global maximum filtering of such processes). Thus, when previously known techniques are applied to focus curves FC1-FC3, only the location of surface SRF-A or surface SRF-B is determined. As described in more detail below, by allowing the determination of two or more focus peaks (e.g., the determination of the two most significant local focus peaks) as part of a different mode (e.g., as part of transparent workpiece surface mode portion 140ts / 340ts), inspection and measurement of various types of workpieces can be accommodated (e.g., for more accurate imaging / measurement of workpieces having a transparent top surface and a bottom surface that is at least partially see-through through the top surface, etc.).
[0063] As shown in FIG. 4, local focus peaks P1A-P3A, P1B-P3B, and P4AB-P6AB can be determined according to the techniques disclosed herein. In the illustrated example, local focus peaks P1A-P3A are determined corresponding to a first surface SRF-A (e.g., a transparent or semi-transparent top surface) and local focus peaks P1B-P3B are determined corresponding to a second surface SRF-B (e.g., a bottom surface that is at least partially see-through / visible through the top surface SRF-A). In various embodiments, local focus peaks P4AB-P6AB can be initially designated or otherwise considered ambiguous as corresponding to either surface SRF-A or surface SRF-B. As described in more detail below, various techniques can be used to determine whether local focus peaks P4AB-P6AB correspond to surface SRF-A or surface SRF-B. In one embodiment, local focus peaks P4AB-P6AB are determined to correspond to surface SRF-B. As described in more detail below with reference to Figures 9 and 10A, in various embodiments, some focus curves may not have one local focus peak corresponding to one surface and / or may not have any local focus peaks at all. Such results may possibly be marked accordingly in the 2D EDOF image (e.g., indicating no data with a specified color, pattern, other indicator, etc.) and may also be marked in the 3D image (e.g., marking as NaN (not a number) or otherwise indicating an undefined or unrepresentable value in the 3D image).
[0064] As described in more detail below, as part of the surface analysis process, surfaces SRF-A and SRF-B of FIG. 4 may be initially designated as candidate surfaces (e.g., there may also be a third candidate surface including local focused peaks P1A-P3A and P4AB-P6AB because it is ambiguous whether local focused peaks P4AB-P6AB are part of either the first or second surface). Once these candidate surfaces have been evaluated, the first candidate surface (e.g., candidate surface SRF-A) may be designated as a first surface SRF-1 to be displayed, and the second candidate surface (e.g., candidate surface SRF-B) may be designated as a second surface SRF-2 to be displayed (e.g., as described in more detail below with respect to FIGS. 8A, 8B, 10A, and 10B).
[0065] In various embodiments, a first local focus peak corresponding to a first surface SRF-1 (e.g., which may correspond to candidate surface SRF-A) of the display object can be determined based on all of the first local focus peaks (e.g., first local focus peaks that are significant or sufficiently "strong", i.e., exceed a predefined peak significance metric) having the same first numbered position in each of the focus curves FC1, FC2, and FC3 (e.g., local focus peaks P1A, P2A, and P3A). In various embodiments, the peak significance metric can include factors such as the prominence of the peak and its distance from other peaks. In general, a robust method for calculating local peaks can be used as a first step to identify local focus peaks of a focus curve.
[0066] In addition to the first local focus peak, a second local focus peak corresponding to the second surface SRF-2 of the object (e.g., which may correspond to the candidate surface SRF-B) can also be determined based on all of the second local focus peaks (e.g., second significant local focus peaks) having the same second numbered position in each of the focus curves FC1, FC2, and FC3 (e.g., local focus peaks P1B, P2B, and P3B). In various embodiments, local focus peaks P4AB, P5AB, and P6AB may also be included in the consideration for the first surface SRF-1 of the object (e.g., which may correspond to the candidate surface SRF-A) based on being the first and only local focus peaks of the focus curves FC4, FC5, and FC6. Additional techniques may be used to filter out locally focused peaks P4AB, P5AB, and P6AB from the locally focused peaks utilized / specified for surfaces SRF-1 / SRF-A (e.g., if they do not meet specified quality or intensity criteria, or if they do not fall within a Z filtering range set by the user for the specified surface, or based on smoothness constraints or error measure minimization, etc.).
[0067] As another example, a local focus peak corresponding to the surface SRF-2 to be displayed (e.g., which may correspond to the candidate surface SRF-B) can be determined based on all of the local focus peaks having the same numbered position in each of the focus curves (e.g., local focus peaks P1B, P2B, P3B, P4AB, P5AB, and P6AB). For example, the local focus peaks can additionally or alternatively be counted / numbered from bottom to top, in which order each of the local focus peaks P1B, P2B, P3B, P4AB, P5AB, and P6AB is the first counted / numbered local focus peak and corresponds to the bottom surface SRF-2 of the workpiece to be displayed (e.g., which may correspond to the candidate surface SRF-B). In such an embodiment of such a counting sequence, local focus peaks P1A, P2A, and P3A are the second counted / numbered local focus peaks in each of focus curves FC1, FC2, and FC3 (i.e., each local focus peak has the same numbered position) and correspond to the surface SRF-1 to be displayed (e.g., may correspond to candidate surface SRF-A). In various embodiments, this process may include numbering / counting the local focus peaks in multiple sequences (e.g., in a first iteration from top to bottom, and then in a second iteration from bottom to top), and the results obtained may be compared and / or otherwise used to make a best / preferred / most consistent determination of the local focus peaks that correspond to the surfaces (e.g., top and bottom) of the workpiece.
[0068] It will be appreciated that the example of FIG. 4 is shown with respect to two-dimensional data, which represents a cross-sectional "slice" of the workpiece (e.g., according to corresponding regions of interest centered on the workpiece surface or located at particular y-axis locations along the workpiece surface). More specifically, as noted above, the x-axis location of each of the focus curves FC1-FC6 may generally represent the x-axis location of the region of interest on the workpiece surface to which each focus curve corresponds. The z-axis location of each of the local focus peaks P1A-P3A, P1B-P3B, and P4AB-P6AB may generally represent the Z-height of the best-focus region of interest on the workpiece surface to which each focus curve corresponds. These values may be considered to represent two-dimensional data (e.g., an XZ slice) of each surface. A similar process for determining such focus curves and corresponding local focus peaks for regions of interest at other y-axis locations along the surface (e.g., corresponding to the y-axis locations of other regions of interest) may be further utilized to determine representative three-dimensional data for each workpiece surface (e.g., surfaces SRF-A and SRF-B).
[0069] As described in more detail below with reference to Figures 8A and 8B, as a simplified example, in one embodiment, the example of Figures 8A and 8B may represent a surface containing the two-dimensional data of Figure 4 where the Z height of the surface is approximately similar along the y axis (e.g., has a constant Z height or has a constant gradient along the y axis direction). More specifically, as described above, three-dimensional data can be determined for additional y-axis positions along a given y-axis dimension of the surface. Such examples are provided for illustrative purposes only, and it will be appreciated that various workpiece surfaces may have more complex three-dimensional data (e.g., Z height variations in both the x-axis and y-axis directions).
[0070] As described in more detail below, FIGS. 5-7 are flow diagrams illustrating various exemplary processes (e.g., for displaying images of surfaces and performing measurements), FIGS. 8A-8B are diagrams illustrating various user interface features (e.g., for displaying images of surfaces SRF-A and SRF-B of FIG. 4 and performing measurements), and FIGS. 9-10B are diagrams illustrating additional examples of focus curves and various user interface features.
[0071] 5 is a flow diagram illustrating an example process 500 for measuring images of a surface and for performing the measurements. In various embodiments, the process 500 may be performed at least in part by the transparent workpiece surface mode portion 140ts of FIG. 2 or the transparent workpiece surface mode 340ts of FIG. 3, as a separate selectable mode and / or as part of the video tool, and / or by other components / portions of the system. At decision block 505, a determination is made as to whether pattern projection is to be used. If pattern projection is to be used, the process proceeds to block 507, where pattern projection is switched on to acquire a first image stack. Acquiring the first image stack is described in more detail below with reference to block 510.
[0072] It will be appreciated that in various embodiments, reliable reconstruction of certain types of surfaces (e.g., transparent or semi-transparent top surfaces and / or certain bottom surfaces, etc.) may be hindered (e.g., due to the absence of a surface texture observable by an imaging system or otherwise). To enable accurate reconstruction / imaging / display of such surfaces (e.g., for EDOF or 3D imaging, etc.), confocal pattern projection may be utilized (e.g., including projecting a geometric pattern of small squares, triangles, circles, lines, etc. distributed in a regular or irregular (random) pattern, in combination with light from a light source used in illuminating the workpiece for imaging or otherwise) to make the surface more detectable (e.g., determining the Z height position of the surface according to a local focus peak determined from image data having the pattern projected on the surface). In various embodiments, the pattern projection may be provided by a pattern projection unit (e.g., pattern projection unit 330'). Switching on pattern projection may include switching on or placing a pattern element of the pattern projection portion (e.g., including a pattern on glass or other substrate such as chrome on glass) and / or switching on an associated light source (e.g., light source 330 or other light source of the pattern projection portion 330', which in various examples may include or be used in combination with one or more lenses as part of, e.g., confocal pattern projection). In various examples, the use of pattern projection results in at least some higher local focus peaks in the focus curve than would be obtained with the same image acquisition process and conditions (e.g., including the same illumination) but without pattern projection. Thus, in various examples, obtaining contrast curves and strong focus peaks using pattern projection may be a preferred embodiment.
[0073] If pattern projection is switched on in block 507 or if pattern projection is not used, the process proceeds to block 510. In block 510, an image stack is acquired (e.g., with pattern projection switched on) using an optical system (as shown in FIGS. 1-3) having an optical axis. Each image of the multiple images of the image stack includes a first surface that is at least one of transparent or semi-transparent and a second surface that is at least partially see-through / visible through the first surface. In various embodiments, acquiring the image stack may include first determining multiple (usually overlapping) regions of interest (e.g., in the XY plane) on the workpiece (e.g., regions of interest that include portions of the first and second surfaces to be imaged and / or from which Z-heights and Z-height quality metadata can be determined, etc.). Images of the image stack including the regions of interest may then be acquired. The image stack includes member images acquired at corresponding Z-heights (which may be known Z-heights, for example) within the focus range. In block 520, multiple focus curves for the regions of interest are determined based on the images of the image stack. At block 530, a sub-process is performed to determine at least a first local focus peak from each focus curve corresponding to a first surface and a second local focus peak from each focus curve corresponding to a second surface, as described in more detail below with reference to FIG.
[0074] At block 540, image index data (e.g., array, list, etc.) of local focus peaks (e.g., for each pixel) in the first image stack is determined and stored. At decision block 550, a determination is made as to whether an EDOF image is available for display. If an EDOF image is available, the process proceeds to decision block 560, where a determination is made as to whether pattern projection was used to acquire the first image stack. If pattern projection was used to acquire the first image stack, the process proceeds to block 570, where a second image stack is acquired for each of the images using the same capture parameters (e.g., XY position, Z range, Z pitch) for each image as were used to acquire the first image stack, but the second image stack is acquired without pattern projection.
[0075] As noted above, the second image stack can be captured without projecting a pattern (e.g., a "clean" version of the image / image data of the surface without projecting a pattern onto the surface). As described in more detail below, in various embodiments, the local focus peak determined from the first image stack is used to determine which image data from the second image stack corresponds to a particular surface and is used to display that surface. More specifically, the "clean" image data from the second image stack is utilized to reconstruct and / or display an image (e.g., an EDOF image) of the particular surface (i.e., the determination of which image data to utilize from the second "clean" image stack is made according to the index of the local focus peak determined from the first image stack).
[0076] Once the second image stack has been acquired at block 570, or if block 550 determined that an EDOF image is not available, or if block 560 determined that pattern projection was not used to acquire the first image stack, the process proceeds to block 580. At block 580, sub-processes are performed to display the surface and perform measurements, which are described in more detail below with reference to FIG.
[0077] FIG. 6 is a flow diagram illustrating an example sub-process 530 for determining first and second local focus peaks from each focus curve corresponding to the first and second surfaces, respectively. In various embodiments, any of the processes and / or sub-processes described herein may be part of or may be implemented as part of a method, routine, subroutine, etc. At block 610, a local focus peak of the focus curve is determined. In various embodiments, determining the local focus peak may include determining a focus peak determination data set (e.g., of the focus curve) for each region of interest based on the image stack set. The focus peak determination data set includes focus measures based on the (usually overlapping) regions of interest in the member images. In various embodiments, the local focus peak may be determined based on a focus peak determination data set (e.g., corresponding to the focus curve of the region of interest) for the region of interest (e.g., for at least a portion of the focus curve and / or region of interest including the first and second local focus peaks corresponding to the first and second surfaces). As described above, in various embodiments, as part of the analysis, the focus curve may be divided or otherwise determined to include different portions, and a different local focus peak may be determined for each portion.
[0078] In block 620, local focus peaks that do not meet the quality criteria are eliminated. For example, certain criteria similar to quality measures used in known point-from-focus algorithms may be used. In various embodiments, elimination of local focus peaks that do not meet the quality criteria may be performed in conjunction with the operations of block 610. With respect to the operations of blocks 610 and 620, in various embodiments, certain types of quality criteria may be utilized and adjusted to retain the top local focus peaks. For example, it is possible to smooth the focus curve, filter the local focus peaks based on peak maximum (magnitude), shape, and / or local prominence, perform filtering based on a minimum acceptable Z distance between different local focus peaks, perform filtering based on an expected number of local focus peaks (e.g., in certain embodiments, only the highest two local focus peaks are kept), etc.
[0079] At decision block 630, a determination is made as to whether to interpolate the local focus peak. If so, the subprocess proceeds to block 640 to perform an interpolation on the local focus peak. In various embodiments, such a process may be performed to achieve improved Z accuracy for the determined surface location. For example, as described in more detail below with reference to FIG. 9, the local focus peak may be interpolated in the focus curve and the data corresponding to the interpolated local focus peak may be marked or otherwise indicated (e.g., to indicate the interpolated local focus peak in the corresponding 2D EDOF or 3D image, etc., based on the data interpolated in the given focus curve). In various embodiments, if only a 2D EDOF image of the surface is provided (e.g., no 3D image of the surface is provided), then the interpolation of the local focus peak may not be used / necessary. More specifically, due to the way 2D EDOF images are presented, occasional missing local focus peaks may not make a significant visual difference to the overall appearance of a surface in the image, whereas in a 3D image, such differences may be more noticeable / evident / significant in the representation of the surface.
[0080] At decision block 650, a determination is made as to whether to sort the remaining local focus peaks. If so, the subprocess proceeds to block 660 to sort the remaining local focus peaks. For example, the remaining local focus peaks may be sorted according to a type of structure or order (e.g., descending, ascending, etc.) according to the Z-position of each local focus peak in each focus curve. In various embodiments, each of the local focus peaks in the focus curves may be numbered in ascending and / or descending order, etc., with respect to the Z-position in each focus curve. For example, each of the first local focus peaks in each focus curve may be given / assigned the same number or name (e.g., local focus peak 1), and similarly, each of the second local focus peaks in each focus curve may be given / assigned the same number or name (e.g., local focus peak 2). After such a procedure, all of the local focus peaks can be sorted (e.g., such that all of the first local focus peaks from each focus curve are determined / designated / grouped together as corresponding to a first surface, and all of the second local focus peaks are determined / designated / grouped together as corresponding to a second surface).
[0081] At decision block 670, a determination is made as to whether or not Z-range filtering is to be used. If Z-range filtering is to be used, the subprocess proceeds to block 680 to determine Z parameters for Z-range filtering (e.g., set by a user) to be used to filter the local focus peaks according to whether they fall or do not fall within the specified Z-range. A user interface that provides a user with an option to set the Z parameters for Z-range filtering is described in more detail below with reference to Figures 10A and 10B. Once Z-range filtering is completed, or if Z-range filtering is not to be performed, the subprocess is complete and returns the determined local focus peaks.
[0082] 7 is a flow diagram of an example sub-process 580 for displaying surfaces and performing measurements. In decision block 710, a determination is made as to whether a first surface has been selected for display (e.g., by a user). If a first surface has been selected for display, the sub-process proceeds to block 720, where the stored local focus peak index of the first image stack is used to determine which image data (e.g., from a second image stack, if one was acquired, or from the first image stack otherwise) correspond to the first and second surfaces, etc. When displaying / reconstructing EDOF images, in an embodiment where pattern projection is used and a second image stack has been acquired, the grayscale value from the image in the second image stack indicated by the index of the local focus peak from the first image stack can be used to determine, for each XY pixel location, the grayscale value from the image in the second image stack corresponding to each surface. Similarly, in embodiments where pattern projection is not used and only the first image stack is acquired, for each XY pixel location, the grayscale value from the image in the first image stack that corresponds to each surface can be determined using the grayscale value from the image in the first image stack that is indexed by the index of the local focus peak from the first image stack.
[0083] Once image data corresponding to the first and second surfaces has been determined, the subprocess proceeds to block 730 to display one or more first images (e.g., a first 2D EDOF image, a first 3D image) that include the first surface and do not include the second surface based on the first local focus peak of the focus curve and not based on the second local focus peak. Once the one or more first images have been displayed, or if the first surface was not selected for display, the subprocess proceeds to decision block 740.
[0084] At decision block 740, a determination is made as to whether a second surface has been selected for display (e.g., by a user). If a second surface has been selected for display, the subprocess proceeds to block 750 and uses the stored local focus peak index of the first image stack to determine (e.g., from the second image stack, if acquired, or from the first image stack otherwise) which image data corresponds to the first and second surfaces, etc. (e.g., similar to the operations described above with respect to block 720). Once the image data corresponding to the first and second surfaces has been determined, the subprocess proceeds to block 760 and displays one or more second images (e.g., a second EDOF image, a second 3D image) that include the second surface and do not include the first surface based on the second local focus peak of the focus curve and not based on the first local focus peak.
[0085] Once one or more second images have been displayed, or if a second surface was not selected for display, the subprocess proceeds to decision block 770 where a determination is made as to whether to perform measurements on any of the displayed surfaces (e.g., displayed as part of the operations of blocks 730 or 760). If measurements are to be performed, the subprocess proceeds to block 780 where measurements are performed (e.g., with a video tool, etc.) on the displayed workpiece surfaces. Once measurements are performed, or if measurements are not to be performed, the subprocess is complete (e.g., returning determined measurement data, etc.).
[0086] 8A and 8B are diagrams illustrating a first embodiment of an exemplary user interface 800 for viewing 2D EDOF and 3D images of a surface (such as surfaces SRF-A and SRF-B in FIG. 4). In various embodiments, the user interface 800 may be provided on a display (such as display 16 in FIG. 1, display device 136 in FIG. 2, etc.). As shown in FIG. 8A, the user interface 800A (i.e., a first configuration of the user interface 800) includes an EDOF image area 810, a 3D image area 820, a surface selection area 830, and an up / down selection area 840.
[0087] In the example of Figure 8A, in user interface 800A, a user has selected "Surface 1" selection option 831 in surface selection area 830 (e.g., as indicated in the diagram of Figure 8A by a dot pattern / highlighting within selected option 831). In various embodiments, the user may perform this selection by clicking on selection option 831 or performing another action (e.g., with a mouse or pointer or other selection mechanism), by moving selection indicator 830S to correspond to selection option 831, etc.
[0088] Selection area 830 may also include a selection option 832 for selecting "Surface 2," as described in more detail below with reference to FIG. 8B. In some embodiments, selection area 830 may also include a selection option 833 for selecting "Surface 3," as described in more detail below with reference to FIG. 10A. It will be appreciated that in certain embodiments, selection option 833 may not be included in user interface 800 (e.g., embodiments in which the system is configured to determine only two surfaces of the workpiece and / or the system has determined that the workpiece has only two surfaces). Alternatively, in certain embodiments, in addition to the third surface "Surface 3," selection options may be provided for selecting additional surfaces (e.g., "Surface 4," "Surface 5," etc.) according to a system configured to determine additional surfaces (e.g., up to N surfaces, where N is greater than 3, etc.).
[0089] In various embodiments, "Surface 1" of selection option 831 may correspond to surface SRF-A of FIG. 4. As described above, in part of the process for determining the surface, surface SRF-A may be initially identified as a candidate surface (e.g., the candidate surface includes locally focused peaks P1A-P3A but not locally focused peaks P4AB-P6AB, whereas another candidate top surface of the workpiece may be designated as including locally focused peaks P1A-P3A and P4AB-P6AB). Once the candidate surfaces are evaluated, the candidate surface (e.g., candidate surface SRF-A) may be designated as the first surface SRF-1 (e.g., top surface) of the workpiece to be displayed (e.g., corresponding to "Surface 1" of selection option 831). As described in more detail below, in various embodiments, one or more measurements may be determined between features on the workpiece surface selected for display based on the operation of one or more video tools (e.g., a dimension measurement tool, a point tool, a box tool, a circle tool, an arc tool, etc.) applied to the selected surface in the displayed image.
[0090] In various alternative embodiments, because there is ambiguity as to whether the local focused peaks P4AB-P6AB of the focus curves FC4-FC6 correspond to the first surface SRF-A or the second surface SRF-B, when "Surface 1" is selected and / or when "Surface 2" is selected, a representation of the portion of the surface that corresponds to the local focused peaks P4AB-P6AB may be displayed in the EDOF image area 810 and / or the 3D view image area 820. In various embodiments, the portion of the surface that corresponds to the local focused peaks P4AB-P6AB may be specially marked or otherwise indicated in the image (e.g., to indicate the uncertainty as to which surface corresponds to the local focused peaks P4AB-P6AB).
[0091] As further shown in user interface 800A, top / bottom selection area 840 includes an "up" selection option 841 (e.g., for scrolling up or down the workpiece surface determined to be displayed) and a "down" selection option 842. In various embodiments, in the example of FIG. 8A, the "up" selection option is marked (e.g., grayed out, etc.) to indicate that the top surface / upper surface of the workpiece (i.e., "Surface 1") has already been selected. Further surface selection for surfaces above "Surface 1" of the workpiece is not available. In contrast, the "down" selection option 842 may be shown as selectable by the user in the example of FIG. 8A, as described in more detail below with reference to FIG. 8B. In accordance with the already selected selection option 831 (i.e., "Surface 1"), both the EDOF image area 810 and the 3D view image area 820 provide a corresponding representation of surface SRF-A (i.e., also designated as surface SRF-1) of FIG. 4.
[0092] More specifically, the EDOF image area 810 is shown to include an EDOF image 811, and the 3D image area 820 is shown to include a 3D image 821, each image including a surface SRF-1 / SRF-A (e.g., corresponding to the first local focus peaks P1A-P3A of FIG. 4 and additional 3D data for this surface). In the example shown in FIG. 8A (and using similar principles applied in FIG. 8B and FIG. 10A), for simplicity of illustration, 3D data similar to the 2D data of the surface in FIG. 4 (e.g., corresponding to the local focus peaks P1A-P3A of FIG. 4) can be determined for other y-axis positions along the surface, resulting in other local focus peaks determined for the surface SRF-A (i.e., as part of the 3D data). In general, in the specific examples of FIG. 8A, FIG. 8B, and FIG. 10A, the Z height of the surface can be determined to be approximately linear along the y-axis (e.g., having a constant Z height or constant slope along the y-axis direction), resulting in the corresponding 3D data of the surface as shown. It will be appreciated that such examples are given for simplified illustrative purposes only, and that various types of surfaces may have more complex 3D data (e.g., Z height values vary along both the x and y axis directions as part of a gradient / curve, etc.).
[0093] With respect to the EDOF image 811, in accordance with the techniques disclosed herein, an image is reconstructed from portions of the image stack (e.g., corresponding to pixels in the region of interest and / or in the center or other portions of the region of interest) that correspond to each of the local focus peaks of the surface (e.g., local focus peaks P1A-P3A of FIG. 4 and other local focus peaks that correspond to 3D data along the y-axis direction of the surface). More specifically, the local focus peaks P1A-P3A and other local focus peaks of the surface SRF-A / SRF-1 correspond to regions / pixels of interest that are determined to be "best focused" at the Z heights that correspond to these local focus peaks. Each of the "best focused" regions / pixels of interest is extracted from the corresponding image of the image stack and used to reconstruct / form (e.g., stitched together, etc.) the 2D EDOF image 811.
[0094] As a more specific example, the EDOF image 811 may include a first portion of the surface SRF-A corresponding to the local focus peak P1A. The portion of the image from the image stack used for this portion is from an image acquired at a system focus position corresponding to the local focus peak P1A. Similarly, the EDOF image 811 may include second and third portions of the surface SRF-A corresponding to the local focus peaks P2A and P3A. The portions of the image from the image stack used for these portions are from images acquired at system focus positions corresponding to the local focus peaks P2A and P3A, respectively. Additional local focus peaks can be used to determine additional portions of the EDOF image 811. Such a process produces an EDOF image 811 in which various portions of the surface SRF-A are each in focus (i.e., even though these various portions are at different focus distances from the system). With respect to the 3D image 821, the image may be formed according to known “point cloud” or other techniques for 3D images (e.g., first local focus peaks P1A, P2A, and P3A corresponding to various y-axis positions along the surface SRF-A, as well as other first local focus peaks. The local focus peaks used for the 3D image are the same local focus peaks used for the 2D EDOF image).
[0095] In various embodiments, video tools can be provided to locate, inspect, and / or measure various features on the workpiece surface (e.g., workpiece surface SRF-1 / SRF-A in 2D EDOF image 811 and / or 3D image 821). For example, some features of the surface can be located and / or dimensions of the surface can be measured (e.g., some portions of the surface may be subject to dimensional measurement and / or may be out of tolerance and / or may contain a flaw or imperfection, and it may be desirable to measure the amount of the out of tolerance and / or the extent or magnitude of the flaw or imperfection). In various embodiments, video tools used for such operations (e.g., video tools of video tool portion 143, such as video tools 143a, 143n in FIG. 2) can include any of a dimensional measurement tool, a point tool, a box tool, a circle tool, an arc tool, etc. The operation of such video tools to perform inspection and measurement operations on workpiece features is described in further detail in the references incorporated herein, including, inter alia, U.S. Pat. Nos. 7,627,162 and 9,830,694, which are incorporated herein, as noted above.
[0096] In the example of FIG. 8A , the surface SRF-1 / SRF-A in the EDOF image 811 is shown having surface points SA11-SA15 determined (e.g., according to the operation of one or more video tools, etc.), and the 3D image 821 has surface points SA21-SA25 determined. In some embodiments, the surface points SA11-SA15 may correspond to a 2D top view along the z-axis of the surface points SA21-SA25 in the 3D view. As an example, an edge detection video tool (e.g., a point tool) may be selected and used to determine the surface points SA11, SA12, SA14, SA15 and / or surface points SA21, SA22, SA24, SA25 at the edges of the surface SRF-1 / SRF-A in the 2D EDOF image 811 and the 3D image 812, respectively. Surface points SA13 and / or SA23 (e.g., in the center of the surface SRF-1 / SRF-A) may also be specified or determined (e.g., using a video tool or otherwise). In various embodiments, the video tool can be selected from a video tool selection area (e.g., a selection bar or a video toolbar) of a user interface (eg, as shown in U.S. Pat. Nos. 7,627,162 and 9,830,694, which are incorporated herein by reference).
[0097] Additionally or alternatively, various video tools can be used to determine dimensions of the workpiece surface SRF-1 / SRF-A. For example, dimension measuring tools 811A, 812A, 821A, 822A, 823A can be selected (e.g., from a video tool selection area) and used to measure various dimensions on the workpiece surface SRF-1 / SRF-A. More specifically, in the 2D EDOF image 811, dimension measuring tool 811A is used to measure a dimension DA11 between surface points SA13 and SA14, and dimension measuring tool 812A is used to measure a dimension DA12 between surface points SA13 and SA15. In the 3D image 821, dimension measuring tool 821A is used to measure a dimension DA21 between surface points SA23 and SA24, dimension measuring tool 822A is used to measure a dimension DA22 between surface points SA23 and SA25, and dimension measuring tool 823A is used to measure a dimension DA23 along the z-axis direction between the z-height of surface point SA22 and the z-height of surface point SA21.
[0098] In various embodiments, an image such as that of FIG. 4 may additionally or instead be provided to a user interface and / or a video tool or other process may be used to determine dimensions, etc. For example, in FIG. 4, a dimension D1 may be determined / measured, which corresponds to a z-axis dimension / distance along the z-axis direction between the Z-height of the local focused peak P1A and the Z-height of the local focused peak P2A (e.g., a measurement of a corresponding surface point on the surface SRF-A of the 3D image 821 may be performed in a similar manner). As another example, a dimension D2 may be determined / measured between locations on the surfaces SRF-A and SRF-B (e.g., corresponding to a distance between the locations of the local focused peaks P1A and P1B, respectively, which may correspond to the same region of interest at different Z-heights, and in the z-axis direction at the same xy coordinates). In general, any such measurement / determination of a workpiece (e.g., as described above with respect to FIG. 4 and FIG. 8A) may relate to a measurement of a dimension of a workpiece surface (e.g., regarding the overall dimensions of the workpiece or surface, or regarding a measurement of the amount of out-of-tolerance and / or the extent or magnitude of defects or imperfections, etc., of the workpiece and / or surface).
[0099] As shown in FIG. 8B, in user interface 800B (i.e., the second state of user interface 800), the user has made a selection or moved selection indicator 830S to correspond to selection option 832 (i.e., to correspond to "Surface 2"). This is indicated by the dot pattern / highlighting in selected option 832 in the diagram of FIG. 8B. It is understood that the principles for generating the illustrated image and operation of user interface 800B are similar to those of user interface 800A described above. In various embodiments, the user can move selection indicator 830S from selection option 831 to selection option 832 (i.e., transition from an image of "Surface 1" to an image of "Surface 2") by selecting (e.g., clicking) "Down" selection option 842 (e.g., to move the view / image from "Surface 1" above the workpiece to "Surface 2" below).
[0100] As shown in FIG. 8B, user selection of option 832 (i.e., “Surface 2”) causes EDOF image area 810 to display EDOF image 812 and 3D view image area 820 to display 3D image 822. Each image includes the second workpiece surface SRF-2 / SRF-B (i.e., each image corresponds to locally focused peaks P1B-P3B and P4AB-P6AB, as well as other locally focused peaks corresponding to the 3D data of surface SRF-B in FIG. 4). As described above, in part of the process to determine the surface, surface SRF-B may be the first candidate surface (e.g., this candidate surface includes locally focused peaks P1B-P3B and P4AB-P6AB, whereas another candidate lower surface of the workpiece may be designated as including only locally focused peaks P1B-P3B and not locally focused peaks P4AB-P6AB). Once the candidate surfaces have been evaluated, a candidate surface (e.g., candidate surface SRF-B) can be designated as the second surface SRF-2 (e.g., the lower surface) of the workpiece to be displayed (e.g., corresponding to “Surface 2” in selection option 832).
[0101] In the example of FIG. 8B, the surface SRF-1 / SRF-B in the EDOF image 811 is shown having surface points SB11-SB16 determined (e.g., according to the motion of one or more video tools, etc.), and the 3D image 821 has surface points SB21-SB26 determined. Additionally or alternatively, various video tools can be used to determine dimensions of the workpiece surface SRF-2 / SRF-B. For example, dimension measuring tools 811B, 821B, and 823B can be selected and used to measure various dimensions on the workpiece surface SRF-2 / SRF-B in the image. More specifically, in the 2D EDOF image 812, dimension measuring tool 811B is used to measure a dimension DB11 between surface points SB11 and SB13. In 3D image 822, dimension measuring tool 821B is used to measure dimension DB21 between surface points SB21 and SB23, and dimension measuring tool 823B is used to measure dimension DB23 along the z-axis direction between the Z height of surface point SB22 and the Z height of surface point SB23.
[0102] In various embodiments, in some applications, the (e.g., transparent or semi-transparent) top surface (e.g., surface SRF-A) of the workpiece may have certain features that may cause a certain amount of distortion in the viewing of the bottom surface (e.g., surface SRF-B) of the workpiece. In such cases, some characteristics of the distortion (e.g., type and / or amount of distortion determined by modeling and / or measurement) may be determined to facilitate an improved accuracy of the viewing and / or measurement of the bottom surface (e.g., surface SRF-B). In general, it will be appreciated that even if a certain amount of distortion is present in the viewing view of the bottom surface seen through the top surface, the determined 3D data of the bottom surface may have sufficient accuracy for the desired measurement. Furthermore, such viewing view distortion may not be present in the viewing view of the top surface (e.g., surface SRF-A as the top surface of the workpiece), and accordingly the viewing and / or measurement of the top surface (e.g., surface SRF-A) may have a high level of accuracy.
[0103] 9 illustrates a second set 900 of focus curves FC1'-FC7' having local focus peaks corresponding to a surface including at least a transparent or semi-transparent top surface SRF-A' and a bottom surface SRF-C2' that is at least partially see-through through the top surface. In certain embodiments where there may be more than one local focus peak at each pixel and the number of local focus peaks is not constant throughout the image stack, some surface reconstructions may be relatively ambiguous. This is illustrated by various example candidate surfaces SRFA', SRFB1', SRFB2', SRFC1', and SRFC2'.
[0104] In the example of FIG. 9, focus curves FC1' and FC6' are each illustrated as potentially having three local focus peaks (i.e., P1A'-P1C' and P6A'-P6C', respectively). Focus curves FC2', FC5', and FC7' are each illustrated as having two local focus peaks. More specifically, focus curve FC2' has local focus peaks P2AB' and P2BC', focus curve FC5' has local focus peaks P5AB' and P5BC', and focus curve FC7' has local focus peaks P7AB' and P7BC'. Focus curves FC3' and FC4' are each illustrated as having only one local focus peak (i.e., local focus peaks P3ABC' and P4ABC', respectively).
[0105] Depending on the different techniques used to determine different surfaces corresponding to different local focus peaks, different candidate surfaces can be determined. For example, a candidate surface SRF-A' can be determined corresponding to the local focus peaks P1A', P2AB', P3ABC', P5AB', P6A', and P7AB'. A candidate surface SRF-B1' can be determined corresponding to the local focus peaks P1B', P2BC', P4ABC', P5BC', P6B', and P7ABC'. A candidate surface SRF-B2' can be determined corresponding to the local focus peaks P1B', P2AB', P3ABC', P4ABC', P5AB', P6A', and P7AB'. A candidate surface SRF-C1' can be determined corresponding to the local focus peaks P1C', P2BC', P4ABC', P5BC', and P6B'. Corresponding to the locally focused peaks P1C', P2BC', P4ABC', P5BC', P6C', and P7BC', a candidate surface SRF-C2' can be determined.
[0106] In various embodiments, various smoothness constraints and / or error measure minimization (e.g., regularized optimization, etc.) may be further used to address ambiguities regarding such potential candidate surfaces and / or to determine which candidate surface to select as surface SRF-1, SRF-2 (e.g., in some embodiments, surface SRF-3, etc.) for display, thereby determining / reconstructing multiple surfaces with a higher degree of confidence (e.g., this may eliminate some of the candidate surfaces from consideration, etc.). Furthermore, in various embodiments, all of the locally focused peaks may be treated as 3D points and included in the 3D data (e.g., displayed in a point cloud format). However, such approaches may not provide for easy / uncomplicated selection of workpiece surfaces for display in EDOF images (e.g., based on PFF) and / or 3D images as disclosed herein (e.g., which may simplify operations for non-expert operators). Nonetheless, in some embodiments, such techniques (e.g., treating all of the focused peaks as 3D points and including them in the 3D data) may be provided as optional features (e.g., may be used in combination with and / or in addition to the techniques disclosed herein to provide additional visualizations and / or uses of the 3D data, etc.).
[0107] In various embodiments, a first local focus peak corresponding to a first surface SRF-1' to be displayed (e.g., which may correspond to candidate surface SRF-A') may be determined based on all of the first local focus peaks (e.g., P1A', P2AB', P3ABC', P5AB', P6A', and P7AB') having the same first numbered position (e.g., the first local focus peak) in each focus curve. In such an embodiment, the local focus peak P4ABC' (i.e., corresponding to the first and only local focus peak of focus curve FC4') may be included first. Additional techniques may be used to filter the local focus peak P4ABC' from the local focus peaks used / specified for surface SRF-1' / SRF-A' (e.g., if it does not meet a specified quality criterion, or does not fall within a Z filtering range set by the user for the specified surface, or based on surface smoothness constraints or error measure minimization, etc.).
[0108] As another example, a local focus peak corresponding to the surface SRF-3' (or in some embodiments SRF-2') of the object (which may correspond, for example, to the candidate surface SRF-C2') may be determined based on all of the local focus peaks (e.g., P1C', P2BC', P4ABC', P5BC', P6C', and P7BC') having the same numbered position in each focus curve. For example, in addition or instead, the local focus peaks may be counted / numbered from bottom to top, and in such order, each of the local focus peaks P1C', P2BC', P4ABC', P5BC', P6C', and P7BC' is the first counted / numbered local focus peak. In such an embodiment, the local focus peak P3ABC' (i.e., corresponding to the first and only local focus peak of the focus curve FC3') may be included first. Additional techniques may be used to filter out the local focused peak P3ABC' from the local focused peaks used / specified for surface SRF-C2' / SRF-3' (or SRF-2' in some embodiments) (e.g., if it does not meet specified quality criteria, or does not fall within a user-set Z filtering range for the specified surface, or based on surface smoothness constraints or error measure minimization, etc.). As noted above, in various embodiments, it may be desirable to limit the number of surfaces determined to two surfaces. In such embodiments, surface SRF-C2' may correspond to a second surface SRF-2' to be displayed / viewed / measured, etc.
[0109] In various embodiments, an image such as that of FIG. 9 may additionally or instead be provided to a user interface and / or a video tool or other process may be used to determine / measure a particular dimension, etc. For example, a dimension D1' may be determined / measured, which corresponds to a z-axis dimension / distance along the z-axis direction between the Z-height of the locally focused peak P6C' and the Z-height of the locally focused peak P7BC' (e.g., a measurement of a corresponding surface point on the surface SRF-C2' of the 3D image 823 of FIG. 10A may be performed, as described in more detail below). As another example, a dimension D2' may be determined / measured between locations on the candidate surfaces SRF-A' and SRF-C2' (e.g., which may correspond to a distance / dimension between the locations of the locally focused peaks P7AB' and P7BC', which may correspond to the same region of interest at different Z-heights and thus along the z-axis direction and thus at the same xy coordinate / location).
[0110] 10A and 10B are diagrams illustrating a second exemplary embodiment of a user interface 1000 for viewing 2D EDOF and 3D images of a surface (such as the surface of FIG. 9). It is understood that the user interface 1000 is similar to the user interface 800 of FIGS. 8A and 8B described above and operates similarly except as described below. As shown in FIG. 10A, in the user interface 1000, a user has selected selection option 833 (i.e., corresponding to "Surface 3"), which is indicated in the diagram of FIG. 10A by the dot pattern / highlighting in selected option 833. In various embodiments, the user can move the selection to selection option 833 by selecting (e.g., clicking) "Down" selection option 842 (e.g., to move the selection from the top surface of the workpiece down to "Surface 3"). As mentioned above, in various embodiments, it may be desirable to limit the number of surfaces determined to two surfaces. In such an embodiment, surface SRF-C2' may correspond to second surface SRF-2', and the only selection options presented in user interface 1000 are selection options 831 and 832, with user interface 1000 indicating selection of selection option 832 for viewing / measuring, etc., lower surface SRF-C2'.
[0111] One difference of user interface 1000 relative to user interface 800 is that user interface 1000 also includes a Z-range selection area 1050 and a local focus peak filtering selection area 1060. Local focus peak filtering selection area 1060 includes selection options 1061 (e.g., radio buttons) for filtering by "numbered position" (e.g., according to local focus peaks having the same numbered position in each focus curve as described herein) and selection options 1062 (e.g., radio buttons) for filtering by "Z range" (e.g., as described in more detail below with respect to Z-range selection area 1050). In various embodiments, selection options 1061 and 1062 represent exclusive selections (e.g., a user can select to filter local focus peaks based on one or the other), or options exist to utilize a combination of such filtering features (e.g., the user interface is configured to allow a user to select both selection options 1061 and 1062), and a particular combination of such filtering features may also be applied.
[0112] The Z-range selection area 1050 (e.g., may be displayed and / or enabled following selection of selection option 1062) includes a first slider 1051 (i.e., for setting an upper Z-range value) and a second slider 1052 (i.e., for setting a lower Z-range value). The first slider 1051 includes a movable pointer 1051S that is movable / adjustable (e.g., by a user) to set an upper Z-range value. The second slider 1052 includes a movable pointer 1052S that is movable / adjustable (e.g., by a user) to set a lower Z-range value. As will be described in more detail below with reference to FIG. 10B, by setting the upper and lower Z-range values as shown in FIG. 10A, several local focus peaks corresponding to the candidate surface SRF-C2′ may be filtered and / or selected / determined.
[0113] With regard to illustrative Z ranges and filtering / selecting / determining local focus peaks corresponding to candidate surface SRF-C2', various techniques can be utilized. For example, in various embodiments, local focus peaks corresponding to a surface can be determined from the focus curves that do not have the same numbered positions in each focus curve as other local focus peaks corresponding to that surface. Local focus peaks can instead be determined based on falling within a Z filtering range set by a user. With regard to surface SRF-C2' in FIG. 10B, in one application, each of local focus peaks P2BC', P5BC', and P7BC' can be determined as corresponding to surface SRF-C2' because they have the same numbered positions (e.g., the second numbered positions in the counting / numbering order from top to bottom) in each of focus curves FC2', FC5', and FC7'. Additional local focusing peaks P1C' and P6C' can then also be determined to correspond to surface SRF-C2' (e.g., based on falling within the Z filtering range indicated by Z range upper limit value 1151S and Z range lower limit value 1152S, even though these additional local focusing peaks are at the third numbered position in each focusing curve and therefore do not have the same numbered position as the other local focusing peaks P2BC', P5BC', and P7BC').
[0114] As another example, each of local focus peaks P1C' and P6C' can be determined to correspond to surface SRF-C2' based on having the same numbered location (e.g., the third numbered location in a top-to-bottom counting / numbering order) in each of focus curves FC1 and FC6'. Additional local focus peaks P2BC', P5BC', and P7BC' can also be determined to correspond to surface SRF-C2' (e.g., based on falling within a Z filtering range indicated by Z range upper limit value 1151S and Z range lower limit value 1152S, even though these additional local focus peaks are in the second numbered location in each focus curve and therefore do not have the same numbered location as the other local focus peaks P1C' and P6C').
[0115] In general, even in applications where Z-filtering ranges are used to assist in determining local focus peaks corresponding to surfaces, in accordance with the techniques disclosed herein, additional surfaces (e.g., candidate surface SRF-A' in FIG. 9) may not require the use of Z-filtering to determine corresponding local focus peaks. For example, as described above, in various embodiments, focus peaks corresponding to surfaces may be initially determined based on these local focus peaks having the same numbered position in each focus curve. Also, as described above, a first surface SRF-1' (e.g., which may correspond to candidate surface SRF-A') to be displayed may be determined based on all of the first local focus peaks (e.g., the first local focus peaks counting from top to bottom) having the same numbered position in each focus curve (e.g., P1A', P2AB', P3ABC', P5AB', P6A', and P7AB'). For such a process, determining the local focus peak of another surface (e.g., the first top surface such as surface SRF-1' / SRF-A') may not involve utilization of the Z filtering range, even if Z filtering is used to assist in determining the corresponding local focus peak of the additional surface (e.g., surface SRF-C2').
[0116] In various embodiments, for a focus curve that does not include a local focus peak corresponding to a surface, an interpolated local focus peak can be determined based on an interpolation between at least two local focus peaks of other focus curves that correspond to this surface. For example, as shown in FIG. 10B, a focus curve FC3' may include a local focus peak P3ABC' (e.g., determined corresponding to a candidate surface SRF-A' as shown in FIG. 9), but does not include a local focus peak determined corresponding to a candidate surface SRF-C2'. For a local focus peak P2BC' of focus curve FC2' and a local focus peak P4ABC' of focus curve FC4', an "interpolated" local focus peak of focus curve FC3' can be determined as corresponding to surface SRF-C2' (e.g., falling in area 1122) based on an interpolation between the local focus peaks P2BC' and P4ABC' corresponding to surface SRF-C2'.
[0117] In the example of FIG. 10A, surface SRF-3 / SRF-C2′ in EDOF image 813 is shown having surface points SC11-SC16 determined (e.g., according to the motion of one or more video tools, etc.), and 3D image 823 has surface points SC21-SC26 determined. Additionally or alternatively, various video tools can be used to determine dimensions of workpiece surface SRF-2 / SRF-C2′. For example, dimension measuring tools 1011C, 1012C, 1021C, 1022C, and 1023C can be selected and used to determine (e.g., measure) various dimensions on workpiece surface SRF-2 / SRF-C2′. More specifically, in 2D EDOF image 813, dimension measuring tool 1011C can be used to determine (measure) dimension DC11 between surface points SC14 and SC15, and dimension measuring tool 1012C can be used to measure dimension DC12 between surface points SA14 and SA16. In 3D image 823, dimension measuring tool 1021C is used to measure dimension DC21 between surface points SC24 and SC25, dimension measuring tool 1022C is used to measure dimension DC22 between surface points SC24 and SC26, and dimension measuring tool 1023C is used to measure dimension DC23 along the z-axis direction between the Z height of surface point SC22 and the Z height of surface point SC23.
[0118] In the example of Fig. 10A, the surfaces SRF-3 / SRF-C2' in the EDOF image 813 are also shown to have determined and displayed indicator areas 1015C and 1016C, and the 3D image 823 has determined and displayed indicator areas 1025C and 1026C. In various embodiments, some focus curves (e.g., focus curve FC3') may not have a local focus peak corresponding to a surface (e.g., surface SRF-C2') and / or may not have a local focus peak at all. Such results may possibly be marked accordingly in the 2D EDOF image (e.g., indicating no data as part of a specified color, pattern, or indicator area, as shown by indicator area 1015C in the 2D EDOF image 813). Such results may in some cases also or instead be marked in the 3D image (e.g., as indicated by indicator area 1025C in 3D image 823, indicating NaN, or as part of an indicator area to indicate an undefined or unrepresented value in 3D image 823).
[0119] In various embodiments, the indicator areas 1016C and 1026C in the 2D EDOF image 813 and the 3D image 823 may indicate a particular portion or element of the surface SRF-3 / SRF-C2' (e.g., out of tolerance and / or indicative of a defect or flaw). For example, the local focus peak PC6' and / or the corresponding surface point SC22 may correspond to a drop or depression of the surface SRF-3 / SRF-C2' relative to other local focus peaks / surface points, which should not be present in the surface and may indicate and / or correspond to a defect or flaw in the surface. In various embodiments, the dimensions of the indicator areas 1016C and 1026C may correspond to the dimensions of the surface portion that is out of tolerance and / or the dimensions of the defect or flaw (e.g., may indicate to a user the size of the problematic surface portion and / or may assist in measuring / determining the size of the problematic surface portion).
[0120] In various embodiments, an image such as that of Figure 10B may additionally or instead be provided to a user interface and / or video tools or other processes may be used to determine dimensions / measurements, etc. For example, for surface SRF-C2', a dimension D1' may be determined / measured, which corresponds to the z-axis dimension / distance along the z-axis direction between the Z-height of local focused peak P6C' and the Z-height of local focused peak P7BC' of surface SRF-C2' (e.g., a measurement of a corresponding surface point on surface SRF-C2' in 3D image 823 of Figure 10A may be performed).
[0121] While preferred embodiments of the present disclosure have been shown and described, numerous variations in the arrangement of elements and sequences of operation shown and described will be apparent to those skilled in the art based on the present disclosure. Various alternative configurations can be used to implement the principles disclosed herein.
[0122] Aspects of the above-described embodiments can be modified as necessary to provide further embodiments employing concepts from these various patents and applications. These and other modifications can be made to the embodiments in light of the description set forth above. In general, in the following claims, the terms used should not be construed as limiting the scope of the claims to the specific embodiments disclosed in the specification and claims, but rather as embracing all possible embodiments along with the full range of equivalents to which such claims are entitled.
Claims
1. 1. A measurement system comprising: A light source; a lens that receives imaging light resulting from a surface of a workpiece illuminated by the light source and transmits the imaging light along an imaging optical path; a camera configured to receive imaging light transmitted along the imaging optical path and provide an image of the workpiece, the camera being configured such that a focus position of the metrology system is variable among a plurality of positions within a focus range along a Z height direction proximate to the workpiece; one or more processors; a memory coupled to the one or more processors and storing program instructions that, when executed by the one or more processors, acquiring an image stack including a plurality of images, each image of the image stack being acquired at a different corresponding Z-height within a focus range, the image stack including each image including a first surface of the workpiece that is at least one of transparent or semi-transparent and a second surface of the workpiece that is at least partially visible through the first surface; determining a plurality of focus curves based on the images of the image stack; determining a first local focus peak from a plurality of focus curves corresponding to the first surface and a second local focus peak from a plurality of focus curves corresponding to the second surface; the first local focus peak is determined based on the first local focus peak having a same first numbered position in each of the plurality of focus curves; the second local focus peak is determined based on the second local focus peak having the same second numbered position in each of the plurality of focus curves; displaying a first display image including a first selected surface selected by a user according to an option for selecting either the first surface or the second surface; a memory for causing the one or more processors to execute Equipped with if the first selected surface is the first surface, the first displayed image is based on the first local focus peak and not based on the second local focus peak, includes the first surface and does not include the second surface that is at least partially visible through the first surface; or, if the first selected surface is the second surface that is at least partially visible through the first surface, the first displayed image is based on the second local focus peak and not based on the first local focus peak, includes the second surface, and does not include the first surface.
2. 1. A measurement system comprising: A light source; a lens that receives imaging light resulting from a surface of a workpiece illuminated by the light source and transmits the imaging light along an imaging optical path; a camera configured to receive imaging light transmitted along the imaging optical path and provide an image of the workpiece, the camera being configured such that a focus position of the metrology system is variable among a plurality of positions within a focus range along a Z height direction proximate to the workpiece; one or more processors; a memory coupled to the one or more processors and storing program instructions that, when executed by the one or more processors, acquiring an image stack including a plurality of images, each image of the image stack being acquired at a different corresponding Z-height within a focus range, the image stack including each image including a first surface of the workpiece that is at least one of transparent or semi-transparent and a second surface of the workpiece that is at least partially visible through the first surface; determining a plurality of focus curves based on the images of the image stack; determining a first local focus peak from a plurality of focus curves corresponding to the first surface and a second local focus peak from a plurality of focus curves corresponding to the second surface; determining the first and second local focus peaks corresponding to the first and second surfaces, respectively, without including one or more local focus peaks of the plurality of focus curves that do not meet at least one specified quality criterion; displaying a first display image including a first selected surface selected by a user according to an option for selecting either the first surface or the second surface; a memory for causing the one or more processors to execute Equipped with if the first selected surface is the first surface, the first displayed image is based on the first local focus peak and not based on the second local focus peak, includes the first surface and does not include the second surface that is at least partially visible through the first surface; or, if the first selected surface is the second surface that is at least partially visible through the first surface, the first displayed image is based on the second local focus peak and not based on the first local focus peak, includes the second surface, and does not include the first surface.
3. The program instructions, when executed by the one or more processors, acquiring an image stack of the plurality of images, each image of the image stack being acquired at the Z height, the image stack including each image including the first surface of the workpiece, the first surface being a surface of the workpiece facing the camera, and the second surface of the workpiece opposite the first surface, the second surface being at least partially visible through the first surface; The measurement system according to claim 1 or 2.
4. 3. The metrology system of claim 1 or claim 2, wherein acquiring the image stack includes projecting a pattern onto the first and second surfaces, the projecting resulting in at least some local focus peaks in the plurality of focus curves that are higher than would be obtained with an identical image acquisition process and conditions but without projecting the pattern.
5. 5. The metrology system of claim 4, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to acquire a second image stack without projecting the pattern, wherein the first local focus peak is used to determine which image data in the second image stack corresponds to the first surface, the first selected surface being the first surface, and the image data in the second image stack that corresponds to the first surface is used to display the first display image including the first surface.
6. The metrology system of claim 1 or claim 2, wherein the first displayed image is a first displayed two-dimensional extended depth-of-field image that includes the first selected surface.
7. 7. The measurement system of claim 6, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to display a first displayed three-dimensional image including the first selected surface based on a local focus peak corresponding to the first displayed two-dimensional extended depth of field image.
8. The metrology system of claim 1 or 2, wherein the first displayed image is a first displayed three-dimensional image including the first selected surface.
9. 3. The measurement system of claim 1 or claim 2, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to determine a dimension between two features on the first selected surface based on the movement of one or more video tools applied to the first selected surface in the first displayed image.
10. The metrology system of claim 9 , wherein the one or more video tools include at least one of a dimension measurement tool, a point tool, a box tool, a circle tool, or an arc tool.
11. The program instructions, when executed by the one or more processors, further cause the one or more processors to display a second display image of a second selected surface selected by a user according to an option to select either the first surface or the second surface at a different time than the first display image; The second selected surface is if the first selected surface is the first surface, then the second surface, and in this case the second displayed image is based on the second local focus peak and not based on the first local focus peak, includes the second surface and does not include the first surface; or the first selected surface is the first surface if the first selected surface is the second surface, in which case the second displayed image is based on the first local focus peak and not based on the second local focus peak, includes the first surface and does not include the second surface.
12. The metrology system of claim 11 , wherein the first displayed image and the second displayed image are first and second displayed two-dimensional extended depth-of-field images, respectively.
13. The program instructions, when executed by the one or more processors, further comprise: displaying a first represented three-dimensional image including the first selected surface simultaneously with the first represented two-dimensional extended depth of field image based on a local focus peak corresponding to the first represented two-dimensional extended depth of field image; displaying a second represented three-dimensional image including the second selected surface simultaneously with the second represented two-dimensional extended depth of field image based on a local focus peak corresponding to the second represented two-dimensional extended depth of field image; The measurement system of claim 12 , further comprising:
14. 2. The metrology system of claim 1, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to determine a local focus peak from focus curves that corresponds to the second surface but does not have the same second numbered position in each of the focus curves, the local focus peak being determined based on falling within a Z filtering range set by a user.
15. 3. The metrology system of claim 1, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to determine at least one interpolated local focus peak in a focus curve that does not include a local focus peak corresponding to the surface by interpolating between at least two local focus peaks of other focus curves corresponding to the surface.
16. the lens inputting the imaging light originating from a surface of the workpiece is an objective lens, the metrology system further comprising: a TAG lens, the objective lens transmitting the imaging light along the imaging optical path through the TAG lens; a TAG lens controller that controls the TAG lens to periodically modulate the optical power of the TAG lens at an operating frequency over a range of optical powers so as to vary the focal position of the metrology system at a plurality of positions within a focal range along a Z height direction proximate to the workpiece; The measurement system according to claim 1 or 2, comprising:
17. 3. The measurement system of claim 1 or claim 2, wherein the program instructions, when executed by the one or more processors, further cause the one or more processors to present the option in a user interface to select between the first surface and the second surface.
18. 3. The metrology system of claim 1 or claim 2, wherein the metrology system is configured to determine only the first and second local focus peaks corresponding to the first and second surfaces, respectively, and is not configured to determine additional local focus peaks of the plurality of focus curves that may correspond to additional surfaces of the workpiece that are at least partially visible through the first surface.
19. 1. A computer-implemented method for operating a metrology system comprising: a light source; a lens that receives imaging light resulting from a surface of a workpiece illuminated by the light source and transmits the imaging light along an imaging optical path; and a camera that receives imaging light transmitted along the imaging optical path and provides an image of the workpiece, wherein a focus position of the metrology system is configured to be variable among a plurality of positions within a focus range along a Z height direction proximate to the workpiece, the computer-implemented method comprising: Under the control of one or more computing systems configured with executable instructions, acquiring an image stack including a plurality of images, each image of the image stack being acquired at a different corresponding Z-height within a focus range, the image stack including each image including a first surface of the workpiece that is at least one of transparent or semi-transparent and a second surface of the workpiece that is at least partially visible through the first surface; determining a plurality of focus curves based on the images of the image stack; determining a first local focus peak from a plurality of focus curves corresponding to the first surface and a second local focus peak from a plurality of focus curves corresponding to the second surface; the first local focus peak is determined based on the first local focus peak having a same first numbered position in each of the plurality of focus curves; the second local focus peak is determined based on the second local focus peak having the same second numbered position in each of the plurality of focus curves; displaying a first display image including a first selected surface selected by a user according to an option for selecting either the first surface or the second surface; Including, if the first selected surface is the first surface, the first displayed image is based on the first local focus peak and not based on the second local focus peak, includes the first surface and does not include the second surface that is at least partially visible through the first surface; or, if the first selected surface is the second surface that is at least partially visible through the first surface, the first displayed image is based on the second local focus peak and not based on the first local focus peak, includes the second surface, and does not include the first surface.
20. 20. The method of claim 19, wherein acquiring the image stack comprises projecting a pattern onto the first surface and the second surface.
21. 20. The method of claim 19, further comprising determining a measurement between two elements on the first selected surface based on a movement of one or more video tools applied to the first selected surface in the first displayed image.
22. 20. The method of claim 19, further comprising determining a plurality of additional local focus peaks from each focus curve corresponding to each of the plurality of additional surfaces.
23. The local focused peak corresponding to the surface is at least some of the local focus peaks have the same numbered positions in each of the focus curves; At least some of the local focus peaks fall within a selected Z range; or 20. The method of claim 19, wherein at least some of the local focus peaks have the same numbered position within a selected Z range.
Citation Information
Patent Citations
Method and device for image processing
JP1997015506A
Methods and apparatus for recording and capturing images of objects.
JP1998513287A
Height measuring device
JP2006194846A
Variable focal length lens system with focus monitoring and control
JP2018077461A