TW202323807A - Computer architecture for through glass via defect inspection - Google Patents

Computer architecture for through glass via defect inspection Download PDF

Info

Publication number
TW202323807A
TW202323807A TW111121372A TW111121372A TW202323807A TW 202323807 A TW202323807 A TW 202323807A TW 111121372 A TW111121372 A TW 111121372A TW 111121372 A TW111121372 A TW 111121372A TW 202323807 A TW202323807 A TW 202323807A
Authority
TW
Taiwan
Prior art keywords
tgvs
tgv
images
imaging device
defect
Prior art date
Application number
TW111121372A
Other languages
Chinese (zh)
Inventor
恩 洪
李承帥
楊勝哲
Original Assignee
美商康寧公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 美商康寧公司 filed Critical 美商康寧公司
Publication of TW202323807A publication Critical patent/TW202323807A/en

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/95Investigating the presence of flaws or contamination characterised by the material or shape of the object to be examined
    • G01N21/958Inspecting transparent materials or objects, e.g. windscreens
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/0002Inspection of images, e.g. flaw detection
    • G06T7/0004Industrial image inspection
    • G06T7/001Industrial image inspection using an image reference approach
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N2021/8411Application to online plant, process monitoring
    • G01N2021/8416Application to online plant, process monitoring and process controlling, not otherwise provided for
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01NINVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
    • G01N21/00Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
    • G01N21/84Systems specially adapted for particular applications
    • G01N21/88Investigating the presence of flaws or contamination
    • G01N21/8851Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges
    • G01N2021/8883Scan or image signal processing specially adapted therefor, e.g. for scan signal adjustment, for detecting different kinds of defects, for compensating for structures, markings, edges involving the calculation of gauges, generating models
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2200/00Indexing scheme for image data processing or generation, in general
    • G06T2200/04Indexing scheme for image data processing or generation, in general involving 3D image data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10056Microscopic image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10072Tomographic images
    • G06T2207/10081Computed x-ray tomography [CT]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20081Training; Learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/20Special algorithmic details
    • G06T2207/20084Artificial neural networks [ANN]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30108Industrial image inspection
    • G06T2207/30148Semiconductor; IC; Wafer

Abstract

A computing device controls an illumination source and an imaging device to generate images of through glass vias (TGVs). The computing device generates images of the TGVs based on the scattering image signals detected by the imaging device. The computing device computes coordinates of the TGVs within the images based on the scattering image signals detected by the imaging device. The computing device generates, for one or more TGVs in the images and based on the computed coordinates, a TGV type classification, wherein the TGV type classification indicated whether the TGV has or lacks a defect and, if the TGV has a defect, a defect type. The computing device determines, based on the generated TGV type classifications, that multiple TGVs have a defect associated with a given defect type. The computing device identifies a manufacturing machine setting associated with the given defect type.

Description

用於玻璃導通孔缺陷檢驗的電腦架構Computer Architecture for Glass Via Defect Inspection

本申請案依據專利法主張於2021年6月17日所提出的第63/211,717號的美國臨時專利申請案的優先權權益,該申請案的整體內容以引用方式依附和納入本文中。This application claims the benefit of priority under the Patents Act to U.S. Provisional Patent Application No. 63/211,717, filed June 17, 2021, which is hereby attached and incorporated by reference in its entirety.

實施例係關於電腦架構。一些實施例係關於人工智慧。一些實施例係關於用於玻璃導通孔缺陷檢驗的電腦架構。Embodiments relate to computer architecture. Some embodiments relate to artificial intelligence. Some embodiments relate to computer architecture for glass via defect inspection.

製造的玻璃導通孔(through glass via, TGV)經常是有缺陷的。用於識別有缺陷的TGV的技術可能是合乎需要的。Manufactured through glass vias (TGVs) are often defective. Techniques for identifying defective TGVs may be desirable.

none

以下描述和附圖充分說明了具體實施例,使本領域的技術人員能夠實行它們。其他的實施例可以納入結構、邏輯、電氣、製程和其他變化。一些實施例的部分和特徵可以被包括在其他實施例的彼等部分和特徵中,或被其取代。請求項中所闡述的實施例包含了彼等請求項所有可用的等效物。The following description and drawings sufficiently illustrate specific embodiments to enable those skilled in the art to practice them. Other embodiments may incorporate structural, logical, electrical, process, and other changes. Portions and features of some embodiments may be included in, or substituted for, those of other embodiments. The embodiments set forth in the claims encompass all available equivalents of those claims.

本技術的態樣可以被實施為電腦系統的一部分。該電腦系統可以是實體機器,或者可以分佈在多個實體機器之中,例如按角色或功能分佈,或在雲端計算分散式模型的情況下按過程執行緒分佈。在各種實施例中,本技術的態樣可以被配置為在虛擬機器中運行,而這些虛擬機器又在一個或多個實體機器上執行。本領域的技術人員將理解,本技術的特徵可以由各種不同合適的機器實施方式來實現。Aspects of the technology can be implemented as part of a computer system. The computer system may be a physical machine, or may be distributed among multiple physical machines, for example by role or function, or by process threads in the case of a cloud computing distributed model. In various embodiments, aspects of the technology may be configured to run on virtual machines that in turn execute on one or more physical machines. Those skilled in the art will appreciate that the features of the present technology may be implemented in various suitable machine implementations.

該系統包括各種引擎,這些引擎中的每一者被建構、程式化、配置或以其他方式調適,以實現功能或功能集合。本文所使用的術語「引擎」是指使用硬體來實施(例如藉由特定應用積體電路(ASIC)或現場可程式化邏輯閘陣列(FPGA)來實施)或實施為硬體和軟體的組合(例如藉由基於處理器的計算平台和程式指令集來實施,該程式指令集將計算平台轉換成特殊用途設備以實施特定的功能性)的有形設備、部件或部件佈置。引擎也可以被實施為兩者的組合,其中某些功能僅由硬體來推動,而其他功能則由硬體和軟體的組合來推動。The system includes various engines, each of which is structured, programmed, configured, or otherwise adapted to implement a function or set of functions. As used herein, the term "engine" means implemented using hardware (such as implemented by an application-specific integrated circuit (ASIC) or a field-programmable gate array (FPGA)) or implemented as a combination of hardware and software A tangible device, component, or arrangement of components (implemented, for example, by a processor-based computing platform and a set of programming instructions that transform the computing platform into a special-purpose device to implement specific functionality). Engines can also be implemented as a combination of both, where some functions are driven only by hardware, while other functions are driven by a combination of hardware and software.

在示例中,軟體可以以可執行或不可執行的形式駐留在有形的機器可讀取儲存媒體上。以不可執行的形式駐留的軟體可以在運行期之前或期間被編譯、翻譯或以其他方式轉換成可執行的形式。在示例中,軟體當由引擎的底層硬體執行時,使得硬體執行指定的操作。因此,引擎被實體地建構或具體地配置(例如固線化)或暫時地配置(例如程式化),以便以指定的方式操作或執行本文關於該引擎所描述的任何操作的一部分或全部。In an example, the software may reside on a tangible machine-readable storage medium in executable or non-executable form. Software that resides in a non-executable form may be compiled, translated, or otherwise converted to an executable form either before or during runtime. In an example, the software, when executed by the engine's underlying hardware, causes the hardware to perform specified operations. Accordingly, an engine is physically constructed or specifically configured (eg, hardwired) or temporarily configured (eg, programmed) to operate in a specified manner or to perform some or all of any operations described herein with respect to that engine.

考慮暫時配置引擎的示例,引擎中的每一者可以在不同的時刻被實體化(instantiate)。例如,在引擎包括使用軟體來配置的通用硬體處理器核心的情況下,通用硬體處理器核心可以在不同的時間被配置為相應的不同引擎。軟體可以相應地配置硬體處理器核心,以例如在一個時間實例構成特定的引擎,並且在不同的時間實例構成不同的引擎。Considering the example of temporarily configuring engines, each of the engines may be instantiated at different times. For example, where an engine includes a general-purpose hardware processor core configured using software, the general-purpose hardware processor core may be configured at different times as corresponding different engines. Software may accordingly configure the hardware processor cores to, for example, constitute a particular engine at one instance of time and a different engine at a different instance of time.

在某些實施方式中,引擎的至少一部分(在一些情況下,全部)可以在一個或多個電腦的處理器上執行,這些電腦執行作業系統、系統程式和應用程式,同時也使用多工、多執行緒、分散式(例如群集、同級間(peer-peer)、雲端等等)處理(在適當情況下)或其他這樣的技術來實施引擎。因此,每個引擎可以以各種合適的配置來實現,並且一般應不限於本文所例示的任何特定的實施方式,除非明文指出這種限制。In certain embodiments, at least a portion (and in some cases, all) of the engine may execute on the processor(s) of one or more computers that execute the operating system, system programs, and applications while also using multitasking, Multi-threaded, distributed (eg, cluster, peer-peer, cloud, etc.) processing (where appropriate), or other such technologies to implement the engine. As such, each engine may be implemented in various suitable configurations, and should generally not be limited to any particular implementation illustrated herein, unless such limitation is expressly indicated.

此外,引擎本身可以由多於一個子引擎組成,每個子引擎本身可以被視為引擎。此外,在本文所述的實施例中,各種引擎中的每一者與所界定的功能性對應;然而,應理解,在其他考慮的實施例中,每個功能性也可以被分佈至多於一個引擎。同樣地,在其他考慮的實施例中,多個界定的功能性可以由單個引擎所實施,該引擎執行彼等多個功能,可能是與其他功能一起執行,或者多個界定的功能性可以以與本文中的示例所具體說明的方式不同的方式分佈在引擎集合中。Furthermore, an engine itself may be composed of more than one sub-engine, each of which may be considered an engine itself. Furthermore, in the embodiments described herein, each of the various engines corresponds to a defined functionality; however, it should be understood that in other contemplated embodiments, each functionality may also be distributed to more than one engine. Likewise, in other contemplated embodiments, multiple defined functionality may be implemented by a single engine that performs those multiple functions, possibly in conjunction with other functions, or multiple defined functionality may be implemented as Ways different from those specified by the examples in this article are distributed across the engine collection.

如本文所使用的,術語「模型」包含其簡單和普通的含義。尤其,模型可以包括一個或多個引擎,它們接收輸入並基於輸入來計算輸出。輸出可以是分類。例如,影像檔可以被分類為是在描繪貓或不是在描繪貓。或者,可以給影像檔分配數字分數,表明影像檔是否描繪貓的可能性,並且分數超過閾值(例如0.9或0.95)的影像檔可以被決定是在描繪貓。As used herein, the term "model" includes its simple and ordinary meaning. In particular, a model may include one or more engines that receive input and compute output based on the input. The output can be a classification. For example, a video file may be classified as depicting a cat or not depicting a cat. Alternatively, image files may be assigned a numerical score indicating the likelihood that the image file depicts a cat, and image files with scores exceeding a threshold (eg, 0.9 or 0.95) may be determined to depict cats.

本文件可能會提到特定數量的東西(例如「六個行動設備」)。除非另有明確闡述,否則所提供的數量只是示例,並且可以被替換為任何正整數、整數或實數,因為這對給定情況是有意義的。例如,在替代性的實施例中,「六個行動設備」包括任何正整數的行動設備。除非另有提及,否則以單數形式指稱的物件(例如「電腦」或「該電腦」)可以包括一個或多個物件(例如「該電腦」可以指一個或多個電腦)。This document may refer to a specific number of things (eg "six mobile devices"). Unless expressly stated otherwise, the quantities provided are examples only and may be replaced by any positive integer, integer or real number as it makes sense for the given situation. For example, in an alternative embodiment, "six mobile devices" includes any positive integer number of mobile devices. Unless stated otherwise, references to something in the singular (eg "computer" or "the computer") may include one or more items (eg "the computer" may refer to one or more computers).

圖1說明了依據一些示例實施例的機器學習程式的訓練和使用。在一些示例實施例中,機器學習程式(MLP)(也稱為機器學習演算法或工具)用來執行與機器學習任務(例如影像辨識或機器翻譯)相關聯的操作。Figure 1 illustrates the training and use of a machine learning program in accordance with some example embodiments. In some example embodiments, a machine learning program (MLP) (also referred to as a machine learning algorithm or tool) is used to perform operations associated with a machine learning task such as image recognition or machine translation.

機器學習是一個研究領域,它使電腦有能力在沒有被明確程式化的情況下學習。機器學習探索的是可以從現有資料中學習並且對新資料進行預測的演算法(在本文也稱為工具)的研究和構建。這種機器學習工具藉由從示例訓練資料112建立模型以作出資料驅動的預測或決策來操作,這些預測或決策被表示為輸出或評估120。雖然關於幾個機器學習工具提出了示例實施例,但本文所提出的原理也可以適用於其他的機器學習工具。Machine learning is a field of study that gives computers the ability to learn without being explicitly programmed. Machine learning explores the study and construction of algorithms (also referred to herein as tools) that can learn from existing data and make predictions on new data. Such machine learning tools operate by building models from example training data 112 to make data-driven predictions or decisions, which are represented as outputs or evaluations 120 . Although the example embodiments are presented with respect to several machine learning tools, the principles presented herein may be applicable to other machine learning tools as well.

在一些示例實施例中,可以使用不同的機器學習工具。例如,邏輯迴歸(LR)、單純貝氏(Naive-Bayes)、隨機森林(RF)、神經網路(NN)、矩陣分解和支援向量機(SVM)工具可以用於對招聘啟事進行分類或打分。In some example embodiments, different machine learning tools may be used. For example, Logistic Regression (LR), Naive-Bayes, Random Forest (RF), Neural Network (NN), Matrix Factorization, and Support Vector Machine (SVM) tools can be used to classify or score job postings .

機器學習中常見的兩類問題是分類問題和迴歸問題。分類問題(也稱為範疇化問題)旨在將項目分類為幾個範疇值中的一者(例如,這個物件是蘋果還是橘子)。迴歸演算法旨在量化一些項目(例如藉由提供實數值來量化)。機器學習演算法利用訓練資料112來尋找影響結果的識別的特徵102之間的相關性。Two common types of problems in machine learning are classification problems and regression problems. Classification problems (also known as categorization problems) aim to classify items into one of several categorical values (for example, is this object an apple or an orange). Regression algorithms aim to quantify some items (for example, by providing real values). The machine learning algorithm utilizes the training data 112 to find correlations between the identified features 102 that affect the outcome.

機器學習演算法利用特徵102來分析資料,以產生評估120。特徵102是被觀察的現象的單獨可測量的性質。特徵的概念與統計技術(例如線性迴歸)中所使用的解釋變量的概念相關。在模式辨識、分類和迴歸中,選擇信息量大、辨別力強和獨立的特徵對MLP的有效操作來說很重要。特徵可以是不同的類型,例如數字特徵、字串和圖表。A machine learning algorithm analyzes data using features 102 to generate an estimate 120 . A feature 102 is an individually measurable property of the observed phenomenon. The concept of features is related to the concept of explanatory variables used in statistical techniques such as linear regression. In pattern recognition, classification, and regression, the selection of informative, discriminative, and independent features is important for efficient operation of MLPs. Features can be of different types, such as numeric features, strings, and graphs.

在一個示例實施例中,特徵102可以是不同的類型,並且可以包括以下項目中的一者或多者:訊息字103、訊息概念104、通訊歷史105、過去的使用者行為106、訊息主題107、其他訊息屬性108、發送者109和使用者資料110。In an example embodiment, features 102 may be of different types and may include one or more of the following items: message word 103, message concept 104, communication history 105, past user behavior 106, message subject 107 , other message attributes 108 , sender 109 and user data 110 .

機器學習演算法利用訓練資料112來尋找影響結果或評估120的識別的特徵102之間的相關性。在一些示例實施例中,訓練資料112包括有標資料,它是一個或多個識別的特徵102和一個或多個結果的已知資料,例如偵測通訊模式、偵測訊息含義、產生訊息摘要、偵測訊息中的行動項目、偵測訊息中的緊迫性、偵測使用者與發送者的關係、計算分數屬性、計算訊息分數等等。The machine learning algorithm utilizes the training data 112 to find correlations between the identified features 102 that affect the outcome or evaluation 120 . In some example embodiments, training data 112 includes labeled data, which is known data about one or more identified features 102 and one or more outcomes, such as detecting communication patterns, detecting message meaning, generating message summaries , detect action items in messages, detect urgency in messages, detect relationship between user and sender, calculate score attributes, calculate message scores, etc.

有了訓練資料112和識別的特徵102,在操作114處訓練機器學習工具。機器學習工具在特徵102與訓練資料112相關時鑒定這些特徵的價值。訓練的結果是經訓練的機器學習程式116。Armed with the training data 112 and the identified features 102 , the machine learning tool is trained at operation 114 . The machine learning tool identifies the value of features 102 as they relate to training data 112 . The result of the training is the trained machine learning program 116 .

當機器學習程式116用來執行評估時,新資料118被提供作為對經訓練的機器學習程式116的輸入,並且機器學習程式116產生評估120作為輸出。例如,當對訊息檢查行動項目時,機器學習程式利用訊息內容和訊息元資料來決定該訊息中是否有行動請求。When the machine learning program 116 is used to perform the evaluation, new data 118 is provided as input to the trained machine learning program 116, and the machine learning program 116 produces an evaluation 120 as output. For example, when checking a message for action items, the machine learning program uses the message content and message metadata to determine whether there is a request for action in the message.

機器學習技術訓練模型以準確地對饋送到模型中的資料作出預測(例如,使用者在給定的話語中說了什麼;名詞是否是人、地方或東西;明天的天氣會是什麼樣的)。在學習階段期間,模型是針對輸入的訓練資料集發展的,以最佳化模型來正確預測給定輸入的輸出。一般而言,學習階段可以是受監督的、半監督的或無監督的;表明提供與訓練輸入對應的「正確 」輸出的水平越來越低。在監督式學習階段中,將所有輸出都提供給模型,並且模型被指導發展出將輸入映射到輸出的一般規則或演算法。相比之下,在無監督式的學習階段中,不提供輸入的期望輸出,使得模型可以發展自己的規則來發現訓練資料集內的關係。在半監督式學習階段中,提供標記不完全的訓練集,其中訓練資料集的一些輸出是已知的,而一些輸出是未知的。Machine learning techniques train the model to make accurate predictions about the data fed into the model (e.g., what the user said in a given utterance; whether the noun is a person, place, or thing; what the weather will be like tomorrow) . During the learning phase, the model is developed against the input training data set to optimize the model to correctly predict the output given the input. In general, the learning phase can be supervised, semi-supervised, or unsupervised; indicating a lower and lower level of providing the "correct" output corresponding to the training input. In the supervised learning phase, all outputs are given to the model, and the model is instructed to develop general rules or algorithms that map inputs to outputs. In contrast, in the unsupervised learning phase, the desired output is not provided for the input, allowing the model to develop its own rules for discovering relationships within the training data set. In the semi-supervised learning phase, a partially labeled training set is provided, where some outputs of the training dataset are known and some are unknown.

模型可以針對訓練資料集運行幾個時期(epoch)(例如迭代),其中訓練資料集被重複饋送到模型中以完善其結果。例如,在監督式學習階段中,模型被發展以預測給定輸入集合的輸出,並且在幾個時期內被評價,以為訓練資料集最大數量的輸入更可靠地提供被指定為與給定輸入對應的輸出。在另一個示例中,對於無監督式學習階段而言,發展模型以將資料集群集成 n個群組,並且在幾個時期內評價它如何一致地將給定的輸入放入給定的群組,以及它在每個時期中如何可靠地產生 n個期望的群集。 A model can be run for several epochs (e.g., iterations) against a training dataset, where the training dataset is repeatedly fed into the model to refine its results. For example, in the supervised learning phase, the model is developed to predict the output for a given set of inputs, and is evaluated over several epochs to provide more reliably for the training dataset the maximum number of inputs designated as corresponding to the given inputs Output. In another example, for the unsupervised learning phase, develop the model to cluster the data into n groups, and evaluate over several epochs how consistently it puts a given input into a given group , and how reliably it produces n desired clusters in each epoch.

一旦運行一個時期,就會對模型進行評價,並且調整它們的變數的值,以試圖以迭代的方式更好地完善該模型。在各種態樣中,關於模型的整體準確度,評價偏重於偽陰性、偏重於偽陽性或均等地偏重。取決於所使用的機器學習技術,可以以幾種方式調整值。例如,在遺傳或進化演算法中,在預測期望的輸出中最成功的模型的值用來發展供模型在後續的時期期間使用的值,這可以包括隨機變異/突變以提供額外的資料點。本領域中的普通技術人員將熟悉可以與本揭示內容一起應用的幾種其他的機器學習演算法,包括線性迴歸、隨機森林、決策樹學習、神經網路、深度神經網路等等。Once an epoch is run, the models are evaluated and the values of their variables are adjusted in an iterative attempt to better refine the model. In various aspects, the evaluation is weighted toward false negatives, false positives, or equally weighted with respect to the overall accuracy of the model. Depending on the machine learning technique used, the values can be adjusted in several ways. For example, in a genetic or evolutionary algorithm, the values of the model that were most successful in predicting the desired output are used to develop values for the model to use during subsequent epochs, which may include random variation/mutation to provide additional data points. Those of ordinary skill in the art will be familiar with several other machine learning algorithms that can be applied with the present disclosure, including linear regression, random forests, decision tree learning, neural networks, deep neural networks, and the like.

每個模型藉由變化影響輸入的一個或多個變數的值以更接近地映射到期望的結果,來在幾個時期內發展出規則或演算法,但是由於訓練資料集可能變化,並且優選地是非常大的,因此完美的準確度和精確度可能無法實現。因此,構成學習階段的時期的數量可以被設定為給定的試驗數或固定的時間/計算預算,或者可以在給定模型的準確度足夠高或足夠低或已經達到了準確度平台時,在到達該數量/預算之前被終止。例如,如果訓練階段被設計為運行 n個時期並且產生準確度至少95%的模型,並且這樣的模型是在第 n個時期之前產生的,那麼學習階段可以提前結束,並且使用所產生的滿足最終目標準確度閾值的模型。類似地,如果給定的模型的準確度不足以滿足隨機機會閾值(例如模型在決定給定輸入的真/假輸出中的準確度只有55%),那麼該模型的學習階段可以提前終止,然而學習階段中的其他模型可以繼續訓練。類似地,當給定的模型繼續提供類似的準確度,或者在多個時期內的結果搖擺不定(已經達到了性能平台)時,該給定模型的學習階段可以在達到時期數量/計算預算之前終止。 Each model develops a rule or algorithm over several epochs by varying the value of one or more variables affecting the input to more closely map to the desired outcome, but since the training data set may vary, and preferably is very large, so perfect accuracy and precision may not be possible. Thus, the number of epochs that make up the learning phase can be set to a given number of trials or a fixed time/computational budget, or can be set at Terminated before reaching this amount/budget. For example, if the training phase is designed to run for n epochs and produce a model that is at least 95% accurate, and such a model was produced before the nth epoch, then the learning phase can end early and use the resulting Model for target accuracy threshold. Similarly, if a given model is not accurate enough to meet a random chance threshold (e.g. the model is only 55% accurate in deciding true/false outputs for a given input), then the learning phase of that model can be terminated early, however Other models in the learning phase can continue training. Similarly, when a given model continues to deliver similar accuracy, or results waver over multiple epochs (a performance plateau has been reached), the learning phase for that given model can be performed before the number of epochs/compute budget is reached termination.

一旦學習階段完成,就最終確定模型(finalize)。在一些示例實施例中,最終確定的模型是根據測試準則進行評價的。在第一示例中,包括輸入和其已知輸出的測試資料集被饋入最終確定的模型,以決定模型在處理它還沒有訓練過的資料時的準確度。在第二示例中,偽陽性率或偽陰性率可以用來對最終確定之後的模型進行評價。在第三示例中,資料群集之間的劃分用來選擇一個模型,該模型為其資料群集產生最清晰的界限。Once the learning phase is complete, the model is finalized. In some example embodiments, the finalized model is evaluated against test criteria. In a first example, a test data set comprising inputs and their known outputs is fed into the finalized model to determine how accurate the model is on data it has not been trained on. In a second example, the false positive rate or false negative rate can be used to evaluate the finalized model. In a third example, the division between data clusters is used to select a model that produces the sharpest boundaries for its data clusters.

圖2說明了依據一些實施例的示例神經網路204。如圖所示,神經網路204接收源域資料202作為輸入。輸入通過複數個層206,得出輸出。每個層206包括多個神經元208。神經元208接收來自上一層的神經元的輸入,並且將權重應用於從彼等神經元所接收的值,以產生神經元輸出。組合來自最終層206的神經元輸出,以產生神經網路204的輸出。FIG. 2 illustrates an example neural network 204 in accordance with some embodiments. As shown, neural network 204 receives source domain data 202 as input. The input is passed through a plurality of layers 206, resulting in an output. Each layer 206 includes a plurality of neurons 208 . Neurons 208 receive inputs from neurons of the previous layer and apply weights to the values received from those neurons to produce neuron outputs. The neuron outputs from the final layer 206 are combined to produce the output of the neural network 204 .

如在圖2的底部處所示,輸入是向量 x。輸入通過多個層206,其中權重 W 1 W 2 、…、 W i 應用於對每個層的輸入,以得出 f 1(x) f 2(x) f i-1(x) ,直到最後計算出輸出 f(x)As shown at the bottom of Figure 2, the input is a vector x . The input passes through a plurality of layers 206, where weights W 1 , W 2 , ..., W i are applied to the input to each layer to derive f 1 (x) , f 2 (x) , ... , f i-1 ( x) until the final output f(x) is calculated.

在一些示例實施例中,神經網路204(例如深度學習、深度卷積或遞歸神經網路)包括佈置成網路的一系列神經元208(例如長短期記憶(LSTM)節點)。神經元208是用於資料處理和人工智慧(特別是機器學習)的架構元素,它包括記憶體,該記憶體可以基於提供給給定神經元208的輸入的權重,來決定何時「記住」和何時「遺忘」保持在該記憶體中的值。本文所使用的神經元208中的每一者被配置為接受來自神經網路204中的其他神經元208的預定數量的輸入,以為被分析的訊框(frame)的內容提供關係和子關係輸出。單獨的神經元208可以以各種配置的神經網路鏈在一起和/或組織成樹狀結構,以提供交互作用和關係學習模型化,以瞭解話語中的訊框中的每一者是如何彼此關聯的。In some example embodiments, a neural network 204 (eg, a deep learning, deep convolutional, or recurrent neural network) includes a series of neurons 208 (eg, long short-term memory (LSTM) nodes) arranged in a network. Neurons 208 are architectural elements used in data processing and artificial intelligence (particularly machine learning), which include memory that can decide when to "remember" based on the weights of the inputs provided to a given neuron 208 and when to "forget" the value held in that memory. As used herein, each of the neurons 208 is configured to accept a predetermined number of inputs from other neurons 208 in the neural network 204 to provide relational and subrelational outputs for the content of the frame being analyzed. Individual neurons 208 can be chained together in various configurations of neural networks and/or organized into tree structures to provide interaction and relational learning modeling of how each of the frames in an utterance is related to each other of.

例如,作為神經元的LSTM節點包括幾個閘以處理輸入向量(例如來自話語的音素)、記憶體單元和輸出向量(例如上下文表示)。輸入閘和輸出閘分別控制流進和流出記憶體單元的資訊,而遺忘閘基於來自神經網路中較早的連結單元的輸入來可選地從記憶體單元移除資訊。各種閘的權重和偏重向量在訓練階段的過程內被調整,並且一旦訓練階段完成,則彼等權重和偏重就被最終確定以進行正常操作。本領域的技術人員將理解,神經元和神經網路可以程式方式(例如經由軟體指令)建構,或經由連結每個神經元以形成神經網路的專門硬體建構。For example, an LSTM node that is a neuron includes several gates to process input vectors (such as phonemes from utterances), memory cells, and output vectors (such as contextual representations). Input and output gates control the flow of information into and out of a memory cell, respectively, while forgetting gates selectively remove information from memory cells based on inputs from earlier connected cells in the neural network. The weight and bias vectors for the various gates are adjusted during the training phase, and once the training phase is complete, those weights and biases are finalized for normal operation. Those skilled in the art will understand that neurons and neural networks can be constructed programmatically (eg, via software instructions), or via specialized hardware that connects each neuron to form a neural network.

神經網路利用特徵來分析資料以產生評估(例如辨識語音單位)。特徵是被觀察的現象的單獨可測量的性質。特徵的概念與統計技術(例如線性迴歸)中所使用的解釋變量的概念相關。進一步地,深度特徵代表深度神經網路的隱藏層中的節點的輸出。Neural networks use features to analyze data to produce an assessment (such as recognizing units of speech). A characteristic is an individually measurable property of an observed phenomenon. The concept of features is related to the concept of explanatory variables used in statistical techniques such as linear regression. Further, the deep features represent the output of the nodes in the hidden layers of the deep neural network.

神經網路(有時稱為人工神經網路)是基於考慮動物大腦的生物神經網路的計算系統/裝置。這種系統/裝置逐漸改進執行任務的性能,這稱為學習,一般不需要特定於任務的程式設計。例如,在影像辨識中,神經網路可以藉由分析已經標記有物件的名稱的示例影像而被教導識別包含該物件的影像,並且在學習了該物件和名稱後,可以使用分析結果來識別未標記的影像中的該物件。神經網路是基於稱為神經元的連接單元的集合,其中神經元之間的每個連接(稱為突觸)可以傳輸單向訊號,該訊號的啟動強度隨著連接的強度而變化。接收神經元可以啟動並向與之連接的下游神經元傳播訊號,這一般是基於來自潛在的許多傳輸神經元的組合傳入訊號是否具有足夠的強度,其中強度是參數。A neural network (sometimes called an artificial neural network) is a computing system/device based on a biological neural network that takes into account the animal brain. Such systems/devices gradually improve their performance on performing tasks, which is called learning, and generally do not require task-specific programming. For example, in image recognition, a neural network can be taught to recognize images that contain an object by analyzing example images that have been labeled with the name of that object, and having learned the object and name, the analysis results can be used to identify unidentified objects. The object in the tagged image. Neural networks are based on collections of connected units called neurons, where each connection between neurons (called a synapse) can transmit a one-way signal whose activation strength varies with the strength of the connection. A receiving neuron can fire and propagate a signal to downstream neurons connected to it, generally based on whether the combined incoming signal from potentially many transmitting neurons is of sufficient strength, where strength is a parameter.

深度神經網路(DNN)是堆疊的神經網路,它由多個層組成。這些層由節點組成,這些節點是發生計算的位置,鬆散地以人腦中的神經元為模式,當它遇到足夠的刺激時就會發射。節點將來自資料的輸入與係數或權重的集合相結合,這些係數或權重放大或抑制該輸入,為演算法試圖學習的任務分配輸入的重要性。這些輸入-權重乘積被加總,並且其總和通過所謂的節點啟動函數,以決定該訊號是否以及在多大程度上進一步通過網路影響最終結果。DNN使用非線性處理單元的許多層的級聯來進行特徵抽取和轉換。每個連續的層使用來自前一層的輸出作為輸入。高層次的特徵是根據低層次的特徵導出的,以形成層次化的表示。輸入層之後的層可以是卷積層,這些卷積層產生作為輸入的過濾結果並且由下一個卷積層所使用的特徵圖。A deep neural network (DNN) is a stacked neural network, which consists of multiple layers. These layers are made up of nodes, which are where computation occurs, loosely modeled after a neuron in the human brain, which fires when it encounters enough stimuli. Nodes combine input from data with sets of coefficients, or weights, that amplify or suppress that input, assigning importance to the input for the task the algorithm is trying to learn. These input-weight products are summed, and their sum is passed through a so-called node activation function to determine whether and to what extent the signal affects the final result further through the network. DNNs use cascades of many layers of nonlinear processing units for feature extraction and transformation. Each successive layer uses the output from the previous layer as input. High-level features are derived from low-level features to form a hierarchical representation. The layers following the input layer may be convolutional layers that produce feature maps that are filtered results as input and used by the next convolutional layer.

在DNN架構的訓練中,迴歸(其結構是用於估計變數之間的關係的統計過程的集合)可以包括成本函數的最小化。成本函數可以被實施為回傳代表神經網路在將訓練示例映射到正確輸出中的表現有多好的數字的函數。在訓練中,如果成本函數值不在預定範圍內,那麼基於已知的訓練影像,使用反向傳播法,其中反向傳播法是訓練與諸如隨機梯度下降(SGD)法之類的最佳化方法一起使用的人工神經網路的常用方法。In the training of DNN architectures, regression (structured as a collection of statistical procedures for estimating relationships between variables) can include the minimization of a cost function. A cost function can be implemented as a function that returns a number representing how well the neural network did at mapping training examples to the correct output. During training, if the cost function value is not within a predetermined range, then based on known training images, backpropagation is used, where backpropagation is a combination of training and optimization methods such as stochastic gradient descent (SGD) Common methods used with artificial neural networks.

使用反向傳播法可以包括傳播和權重更新。當輸入被提交給神經網路時,它通過神經網路逐層向前傳播,直到到達輸出層。然後,使用成本函數,將神經網路的輸出與期望的輸出進行比較,並且為輸出層中的節點中的每一者計算誤差值。誤差值從輸出開始反向傳播,直到每個節點具有相關聯的誤差值,它大致代表它對原始輸出的貢獻。反向傳播法可以使用這些誤差值來計算成本函數關於神經網路中的權重的梯度。計算出的梯度被饋送到所選的最佳化方法,以便更新權重以試圖最小化成本函數。Using backpropagation can include propagation and weight updates. When an input is submitted to a neural network, it propagates forward through the neural network layer by layer until it reaches the output layer. Then, using a cost function, the output of the neural network is compared to the desired output, and an error value is calculated for each of the nodes in the output layer. Error values are backpropagated from the output until each node has an associated error value that roughly represents its contribution to the original output. Backpropagation can use these error values to compute the gradient of the cost function with respect to the weights in the neural network. The computed gradients are fed to the chosen optimization method in order to update the weights in an attempt to minimize the cost function.

圖3說明了依據一些實施例的影像辨識機器學習程式的訓練。機器學習程式可以在一個或多個計算機處實施。方塊302說明了訓練集,它包括多個類別304。每個類別304包括與該類別相關聯的多個影像306。每個類別304可以與影像306中的物件的類型(例如數字0-9,男人或女人,貓和狗等級)對應。在一個示例中,將機器學習程式訓練為辨識美國總統的影像,並且每個類別與每個總統對應(例如一個類別與巴拉克·歐巴馬(Barack Obama)對應,一個類別與喬治·沃克·布希(George W. Bush)對應,一個類別與比爾·克林頓(Bill Clinton)對應等等)。在方塊308處,例如使用深度神經網路來訓練機器學習程式。在方塊310處,由方塊308的訓練所產生的經訓練的分類器辨識影像312,並且在方塊314處,辨識影像。例如,如果影像312是比爾·克林頓的照片,那麼分類器在方塊314處將影像辨識為與比爾·克林頓對應。FIG. 3 illustrates the training of an image recognition machine learning program according to some embodiments. Machine learning programs can be implemented on one or more computers. Box 302 illustrates the training set, which includes multiple classes 304 . Each category 304 includes a plurality of images 306 associated with that category. Each category 304 may correspond to a type of object in image 306 (eg, numbers 0-9, man or woman, cat and dog rating). In one example, a machine learning program is trained to recognize images of US presidents, and each category corresponds to each president (e.g. one category corresponds to Barack Obama, one category corresponds to George Walker Bush (George W. Bush, one category corresponds to Bill Clinton, etc.). At block 308, a machine learning program is trained, eg, using a deep neural network. At block 310 , the trained classifier resulting from the training of block 308 recognizes image 312 , and at block 314 , recognizes the image. For example, if image 312 is a photograph of Bill Clinton, the classifier identifies the image at block 314 as corresponding to Bill Clinton.

圖3說明了依據一些示例實施例的分類器的訓練。將機器學習演算法設計為用於辨識人臉,並且訓練集302包括將樣本映射到類別304的資料(例如類別包括錢包的所有影像)。類別也可以稱為標籤。雖然本文所提出的實施例是參照物件辨識提出的,但相同的原理也可以適用於訓練用於辨識任何類型的項目的機器學習程式。Figure 3 illustrates the training of a classifier in accordance with some example embodiments. The machine learning algorithm is designed to recognize faces, and the training set 302 includes data that maps samples to categories 304 (eg, categories include all images of wallets). Categories can also be called tags. Although the embodiments presented herein are presented with reference to object recognition, the same principles can be applied to train a machine learning program to recognize any type of item.

訓練集302包括每個類別304的複數個影像306(例如影像306),並且每個影像與要辨識的範疇中的一者(例如類別)相關聯。機器學習程式用訓練資料來訓練308,以產生可用於辨識影像的分類器310。在一些示例實施例中,機器學習程式是DNN。The training set 302 includes a plurality of images 306 (eg, images 306 ) of each category 304 , and each image is associated with one of the categories (eg, categories) to be recognized. The machine learning program is trained 308 with the training data to generate a classifier 310 that can be used to recognize images. In some example embodiments, the machine learning program is a DNN.

當要辨識輸入影像312時,分類器310分析輸入影像312以識別與輸入影像312對應的類別(例如類別314)。When the input image 312 is to be recognized, the classifier 310 analyzes the input image 312 to identify a category (eg, category 314 ) corresponding to the input image 312 .

圖4說明了依據一些示例實施例的特徵抽取過程和分類器訓練。訓練分類器可以分為特徵抽取層402和分類器層414。每個影像由特徵抽取層402中的複數個層406-413依序進行分析。Figure 4 illustrates the feature extraction process and classifier training in accordance with some example embodiments. The training classifier can be divided into a feature extraction layer 402 and a classifier layer 414 . Each image is analyzed sequentially by a plurality of layers 406 - 413 in the feature extraction layer 402 .

隨著深度卷積神經網路的發展,人臉辨識的重點是學習良好的人臉特徵空間,在這個空間中,同一個人的臉是彼此靠近的,而不同人的臉是彼此遠離的。例如,用LFW(野生有標人臉(Labeled Faces in the Wild))資料集進行的驗證任務經常用於人臉驗證。With the development of deep convolutional neural networks, the focus of face recognition is to learn a good face feature space, in which the faces of the same person are close to each other, and the faces of different people are far away from each other. For example, verification tasks with LFW (Labeled Faces in the Wild) dataset are often used for face verification.

許多人臉識別任務(例如MegaFace和LFW)是基於圖庫集和查詢集中的影像之間的相似性比較,這基本上是用來估計人的身份的K最近鄰(KNN)方法。在理想的情況下,存在良好的人臉特徵抽取器(類間距離總是大於類內距離),並且KNN方法足以估計出人的身份。Many face recognition tasks (such as MegaFace and LFW) are based on the similarity comparison between images in the gallery set and query set, which is basically a K-nearest neighbor (KNN) method for estimating a person's identity. In an ideal situation, there is a good face feature extractor (inter-class distance is always greater than intra-class distance), and the KNN method is sufficient to estimate the identity of the person.

特徵抽取是減少描述大型資料集所需的資源量的過程。當對複雜的資料執行分析時,一個主要問題源自所涉及的變數數量。具有大量變數的分析一般需要大量的記憶體和計算能力,並且可能導致分類演算法對訓練樣本過度擬合並且對新樣本的泛化不良。特徵抽取是一個一般的術語,描述了建構變數組合以繞過這些大型資料集問題同時仍然以足夠的準確度描述資料以達到期望目的的方法。Feature extraction is the process of reducing the amount of resources required to describe large datasets. When performing analysis on complex data, a major problem arises from the number of variables involved. Analyzes with a large number of variables generally require large amounts of memory and computing power, and can cause classification algorithms to overfit to training samples and generalize poorly to new samples. Feature extraction is a general term that describes methods of constructing combinations of variables to bypass these large dataset problems while still describing the data with sufficient accuracy for the desired purpose.

在一些示例實施例中,特徵抽取從初始的測量資料集開始,並且建立旨在提供資訊和非冗餘的導出值(特徵),從而促進後續的學習和泛化步驟。進一步地,特徵抽取與降維相關,例如將大的向量(有時候具有非常稀疏的資料)簡化為捕捉相同或類似資訊量的較小向量。In some example embodiments, feature extraction starts with an initial measurement dataset and builds derived values (features) that are intended to be informative and non-redundant, thereby facilitating subsequent learning and generalization steps. Further, feature extraction is related to dimensionality reduction, such as reducing large vectors (sometimes with very sparse data) into smaller vectors that capture the same or similar amount of information.

將決定初始特徵的子集稱為特徵選擇。預期所選的特徵包含來自輸入資料的相關資訊,使得可以藉由使用這個簡化的表示而不是完整的初始資料來執行期望的任務。DNN利用層的堆疊,其中每個層執行功能。例如,層可以是卷積、非線性轉換、平均數的計算等等。最終這個DNN藉由分類器414產生輸出。在圖4中,資料從左到右行進,並且特徵被抽取。訓練神經網路的目標是找到所有層的參數,使它們足以完成期望的任務。Determining the subset of initial features is called feature selection. The selected features are expected to contain relevant information from the input data such that the desired task can be performed by using this simplified representation instead of the full initial data. DNNs utilize stacks of layers, where each layer performs a function. For example, layers can be convolutions, nonlinear transformations, calculations of averages, etc. Finally, this DNN generates an output through a classifier 414 . In Figure 4, data travels from left to right, and features are extracted. The goal of training a neural network is to find the parameters of all layers such that they are sufficient for the desired task.

如圖4所示,在層406處應用「跨度為4」的過濾器,在層407-413處應用最大池化(max pooling)。跨度控制過濾器如何圍繞輸入體積(input volume)進行卷積。「跨度為4」指的是過濾器一次圍繞輸入體積進行四個單位的卷積。最大池化指的是藉由選擇每個最大池化區域中的最大值來進行降取樣。As shown in Figure 4, a "stride of 4" filter is applied at layer 406 and max pooling is applied at layers 407-413. The stride controls how the filter is convolved around the input volume. "Stride of 4" means that the filter performs convolutions around the input volume four units at a time. Max pooling refers to downsampling by selecting the maximum value in each max pooling region.

在一些示例實施例中,預先界定每個層的結構。例如,卷積層可以包含小的卷積核和它們相應的卷積參數,並且求和層可以計算輸入影像的兩個像素的總和或加權總和。訓練有助於界定求和的權重係數。In some example embodiments, the structure of each layer is predefined. For example, a convolutional layer may contain small convolutional kernels and their corresponding convolutional parameters, and a summation layer may compute a sum or a weighted sum of two pixels of an input image. Training helps define the weight coefficients for the summation.

改進DNN的性能的一種方式是為特徵抽取層識別較新的結構,而另一種方式是藉由改進在不同層處識別參數以完成期望任務的方式。挑戰在於,對於典型的神經網路而言,可能有數百萬個參數需要最佳化。試圖從頭開始最佳化所有這些參數可能需要數小時、數天或甚至數週,這取決於可用的計算資源量和訓練集中的資料量。One way to improve the performance of DNNs is to identify newer structures for feature extraction layers, and another way is by improving the way in which parameters are identified at different layers to accomplish the desired task. The challenge is that for a typical neural network there may be millions of parameters to optimize. Trying to optimize all these parameters from scratch could take hours, days, or even weeks, depending on the amount of computing resources available and the amount of data in the training set.

圖5是說明了依據一些實施例的計算機500的方塊圖。在一些實施例中,計算機500的部件可以儲存圖5的電路方塊圖中所示的其他部件或被整合到其中。例如,計算機500的一部分可以位在處理器502中,並且可以稱為「處理電路系統」。處理電路系統可以包括處理硬體,例如一個或多個中央處理單元(CPU)、一個或多個圖形處理單元(GPU)等等。在替代性的實施例中,計算機500可以作為獨立的設備操作,或者可以與其他電腦連接(例如聯網)。在聯網部署中,計算機500可以在伺服器-客戶端網路環境中以伺服器、客戶端或兩者的身份操作。在示例中,計算機500可以充當同級間(P2P)(或其他分散式)網路環境中的同級點機器。在本文件中,P2P、設備對設備(D2D)和側鏈(sidelink)等語句可以可互換地使用。計算機500可以是專門的電腦、個人電腦(PC)、平板電腦、個人數位助理(PDA)、行動電話、智慧型手機、網路設備(web appliance)、網路路由器、交換機或橋接器,或任何能夠執行指令(依序或以其他方式執行)的機器,這些指令指定該機器要採取的行動。Figure 5 is a block diagram illustrating a computer 500 in accordance with some embodiments. In some embodiments, components of computer 500 may store or be integrated with other components shown in the circuit block diagram of FIG. 5 . For example, a portion of computer 500 may reside within processor 502 and may be referred to as "processing circuitry." Processing circuitry may include processing hardware such as one or more central processing units (CPUs), one or more graphics processing units (GPUs), and the like. In alternative embodiments, computer 500 may operate as a standalone device, or may be connected (eg, networked) with other computers. In a networked deployment, the computer 500 can operate as a server, a client, or both in a server-client networking environment. In an example, computer 500 may act as a peer machine in a peer-to-peer (P2P) (or other decentralized) network environment. In this document, the terms P2P, device-to-device (D2D), and sidelink (sidelink) are used interchangeably. The computer 500 can be a dedicated computer, personal computer (PC), tablet computer, personal digital assistant (PDA), mobile phone, smart phone, network device (web appliance), network router, switch or bridge, or any A machine capable of executing instructions (sequentially or otherwise) that specify actions to be taken by the machine.

本文所述的示例可以包括邏輯或多個部件、模組或機構,或可以在其上操作。模組和部件是有形的實體(例如硬體),它們能夠執行指定的操作,並且可以以某種方式配置或佈置。在示例中,電路(例如其內部或相對於諸如其他電路之類的外部實體)可以作為模組以指定的方式佈置。在示例中,一個或多個電腦系統/裝置(例如獨立的、客戶端或伺服器電腦系統)或一個或多個硬體處理器的全部或部分可以由韌體或軟體(例如指令、應用部分或應用)配置為模組,該模組用來執行指定的操作。在示例中,軟體可以駐留在機器可讀取媒體上。在示例中,軟體當由模組的底層硬體執行時,使得硬體執行指定的操作。The examples described herein may comprise or may operate on logic or a plurality of components, modules or mechanisms. Modules and parts are tangible entities (such as hardware) that perform a specified operation and that can be configured or arranged in a certain manner. In an example, a circuit (eg, within itself or with respect to external entities such as other circuits) may be arranged in a specified manner as a module. In an example, all or part of one or more computer systems/devices (e.g., stand-alone, client or server computer systems) or one or more hardware processors may be implemented by firmware or software (e.g., instructions, application or application) configured as a module, which is used to perform specified operations. In an example, software may reside on a machine-readable medium. In an example, the software, when executed by the underlying hardware of the module, causes the hardware to perform specified operations.

因此,術語「模組」(和「部件」)被理解為包含有形的實體,無論是被實體建構、具體配置(例如固線化)還是暫時(例如暫態)配置(例如程式化)為以指定的方式操作或執行本文所述的任何操作的一部分或全部的實體。考慮模組被暫時配置的示例,模組中的每一者不需要在任何一個時刻被實體化。例如,在模組包括使用軟體來配置的通用硬體處理器的情況下,通用硬體處理器可以在不同的時間被配置為相應的不同模組。軟體可以相應地配置硬體處理器,以例如在一個時間實例構成特定的模組,並且在不同的時間實例構成不同的模組。Accordingly, the term "module" (and "part") is understood to include a tangible entity, whether physically constructed, specifically configured (e.g. hardwired) or temporarily (e.g. transient) configured (e.g. programmed) as An entity that operates in the specified manner or performs some or all of any operation described herein. Consider the example where modules are provisioned temporarily, each of the modules need not be instantiated at any one time. For example, where a module includes a general-purpose hardware processor configured using software, the general-purpose hardware processor may be configured at different times as corresponding different modules. Software may accordingly configure the hardware processor to, for example, constitute a particular module at one instance of time and a different module at a different instance of time.

計算機500可以包括硬體處理器502(例如中央處理單元(CPU)、GPU、硬體處理器核心或上述項目的任何組合)、主記憶體504和靜態記憶體506,其中的一些或全部可以經由交鏈(interlink)(例如匯流排)508彼此通訊。雖然未示出,但主記憶體504可以包含可移除式儲存器和不可移除式儲存器、揮發性記憶體或非揮發性記憶體中的任一者或全部。計算機500可以進一步包括視訊顯示單元510(或其他顯示單元)、文數字輸入設備512(例如鍵盤)和使用者介面(UI)導航設備514(例如滑鼠)。在示例中,顯示單元510、輸入設備512和UI導航設備514可以是觸控螢幕顯示器。計算機500可以另外包括儲存設備(例如驅動單元)516、訊號產生設備518(例如揚聲器)、網路介面設備520和一個或多個感測器521,例如全球定位系統(GPS)感測器、指南針、加速度計或其他感測器。計算機500可以包括輸出控制器528,例如串列(例如通用串列匯流排(USB))、並列或其他有線或無線(例如紅外(IR)、近場通訊等等)連接,以對一個或多個周邊設備(例如印表機、讀卡機等等)進行通訊或控制。Computer 500 may include a hardware processor 502 (e.g., a central processing unit (CPU), a GPU, a hardware processor core, or any combination of the foregoing), main memory 504, and static memory 506, some or all of which may be accessed via Interlinks (eg, bus bars) 508 communicate with each other. Although not shown, the main memory 504 may include any or all of removable and non-removable storage, volatile memory, or non-volatile memory. The computer 500 may further include a video display unit 510 (or other display units), an alphanumeric input device 512 (such as a keyboard), and a user interface (UI) navigation device 514 (such as a mouse). In an example, the display unit 510, the input device 512 and the UI navigation device 514 may be a touch screen display. The computer 500 may additionally include a storage device (e.g., a drive unit) 516, a signal generating device 518 (e.g., a speaker), a network interface device 520, and one or more sensors 521, such as a global positioning system (GPS) sensor, compass , accelerometer or other sensors. The computer 500 may include an output controller 528, such as a serial (e.g., universal serial bus (USB)), side-by-side, or other wired or wireless (e.g., infrared (IR), near field communication, etc.) A peripheral device (such as a printer, card reader, etc.) for communication or control.

驅動單元516(例如儲存設備)可以包括機器可讀取媒體522,其上儲存有實施本文所述的技術或功能中的任一者或多者或被其利用的資料結構或指令524(例如軟體)的一個或多個集合。指令524也可以在其被計算機500執行的期間完全地或至少部分地駐留在主記憶體504內、靜態記憶體506內或硬體處理器502內。在示例中,硬體處理器502、主記憶體504、靜態記憶體506或儲存設備516中的一者或任何組合可以構成機器可讀取媒體。Drive unit 516 (e.g., a storage device) may include a machine-readable medium 522 having stored thereon data structures or instructions 524 (e.g., software ) of one or more collections. Instructions 524 may also reside, completely or at least partially, within main memory 504 , static memory 506 , or hardware processor 502 during execution by computer 500 . In an example, one or any combination of hardware processor 502, main memory 504, static memory 506, or storage device 516 may constitute a machine-readable medium.

雖然機器可讀取媒體522被說明為單個媒體,但術語「機器可讀取媒體」也可以包括配置為儲存該一個或多個指令524的單個媒體或多個媒體(例如集中式或分散式資料庫,和/或相關聯的快取記憶體和伺服器)。Although machine-readable medium 522 is illustrated as a single medium, the term "machine-readable medium" may also include a single medium or multiple media (such as centralized or distributed data) configured to store the one or more instructions 524. library, and/or associated cache and servers).

術語「機器可讀取媒體」可以包括任何能夠儲存、編碼或攜帶指令以由計算機500執行並且使得計算機500執行本揭示內容的技術中的任一者或多者的媒體,或任何能夠儲存、編碼或攜帶由這種指令所使用或與其相關聯的資料結構的媒體。非限制性的機器可讀取媒體示例可以包括固態記憶體以及光學和磁性媒體。機器可讀取媒體的具體示例可以包括:非揮發性記憶體,例如半導體記憶體設備(例如電可程式化唯讀記憶體(EPROM)、電可抹除可程式化唯讀記憶體(EEPROM))和快閃記憶體設備;磁碟,例如內部硬碟和抽取式硬碟;磁光碟;隨機存取記憶體(RAM);和CD-ROM和DVD-ROM碟。在一些示例中,機器可讀取媒體可以包括非暫時性機器可讀取媒體。在一些示例中,機器可讀取媒體可以包括不是暫時性傳播訊號的機器可讀取媒體。The term "machine-readable medium" may include any medium capable of storing, encoding, or carrying instructions for execution by the computer 500 and causing the computer 500 to perform any one or more of the techniques of the present disclosure, or any medium capable of storing, encoding, or or media carrying data structures used by or associated with such instructions. Non-limiting examples of machine-readable media can include solid-state memory and optical and magnetic media. Specific examples of machine-readable media may include: non-volatile memory, such as semiconductor memory devices (such as Electrically Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM) ) and flash memory devices; magnetic disks, such as internal and removable hard disks; magneto-optical disks; random access memory (RAM); and CD-ROM and DVD-ROM disks. In some examples, machine-readable media may include non-transitory machine-readable media. In some examples, machine-readable media may include machine-readable media that are not transitory propagated signals.

指令524可以進一步經由通訊網路526使用傳輸媒體經由網路介面設備520利用多個傳輸協定(例如訊框轉送、網際網路協定(IP)、傳輸控制協定(TCP)、使用者資訊包協定(UDP)、超文字傳輸協定(HTTP)等等)中的任一者來傳輸或接收。示例通訊網路可以包括區域網路(LAN)、廣域網路(WAN)、封包資料網路(例如網際網路)、行動電話網路(例如蜂巢網路)、簡易舊式電話(POTS)網路和無線資料網路(例如稱為Wi-Fi®的電氣和電子工程師協會(IEEE)802.11系列標準、稱為WiMax®的IEEE 802.16系列標準)、IEEE 802.15.4系列標準、長期演進(LTE)系列標準、通用行動電信系統(UMTS)系列標準、同級間(P2P)網路等等。在示例中,網路介面設備520可以包括一個或多個實體插孔(例如乙太網路、同軸、或電話插孔)或一個或多個天線,以與通訊網路526連接。The instruction 524 may further utilize a transmission medium via the communication network 526 via a network interface device 520 utilizing multiple transmission protocols (such as frame forwarding, Internet Protocol (IP), Transmission Control Protocol (TCP), User Packet Protocol (UDP) ), Hypertext Transfer Protocol (HTTP), etc.) to transmit or receive. Example communication networks can include local area networks (LANs), wide area networks (WANs), packet data networks (such as the Internet), cellular networks (such as cellular networks), plain old telephone (POTS) networks, and wireless Data networking (such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 series of standards known as Wi-Fi®, the IEEE 802.16 series of standards known as WiMax®), the IEEE 802.15.4 series of standards, the Long Term Evolution (LTE) series of standards, Universal Mobile Telecommunications System (UMTS) series of standards, peer-to-peer (P2P) networks, and more. In an example, the network interface device 520 may include one or more physical jacks (such as Ethernet, coaxial, or telephone jacks) or one or more antennas to connect with the communication network 526 .

基板(例如矽)已被用作設置在電氣部件(例如印刷電路板、積體電路等等)之間的中介層(interposer)。金屬化的玻璃導通孔(TGV)提供了通過中介層的路徑,供電訊號在中介層的相對側之間傳遞。玻璃是一種對電訊號傳輸非常有利的基板材料,因為它具有尺寸穩定性、可調整的熱膨脹係數(CTE)、高頻下的低電損耗、高熱穩定性,以及在各種厚度和大面板尺寸下的形成能力。TGV生產技術可以利用雷射損傷和蝕刻(LD&E)製程來在薄玻璃基板中製作微孔以用於半導體和顯示器工業中的各種應用。它可以使用脈衝雷射束來使用一系列的皮秒短脈衝在玻璃中產生損傷軌跡。然後,在酸浴中對雷射損傷軌跡進行蝕刻,使得可以形成通孔,以實現特定的表面直徑(例如介於10與200 µm之間)和期望的內部幾何形狀(直線、錐形或具有目標腰部直徑的沙漏形狀)。三維(3D)導孔形狀對於製程開發、產品監測和控制而言至關重要。具有內部缺陷的TGV不僅能夠影響最終產品的電氣性能,也能夠影響諸如金屬化之類的後續製程。雖然吾人的大規模LD&E製程實現了高速的TGV形成,但對於最終的蝕刻導孔幾何形狀(例如3D形狀缺陷(凸起、顫動標記(chatter mark)、盲導孔等等))的檢驗和表徵而言,仍然存在一些重大挑戰。Substrates (eg, silicon) have been used as interposers disposed between electrical components (eg, printed circuit boards, integrated circuits, etc.). Metallized through-glass vias (TGVs) provide a path through the interposer, and power signals are passed between opposite sides of the interposer. Glass is a very favorable substrate material for electrical signal transmission because of its dimensional stability, adjustable coefficient of thermal expansion (CTE), low electrical loss at high frequencies, high thermal stability, and the ability to operate in various thicknesses and large panel sizes. ability to form. TGV production technology can utilize laser damage and etching (LD&E) processes to create microwells in thin glass substrates for various applications in the semiconductor and display industries. It can use a pulsed laser beam to create damage tracks in glass using a series of short picosecond pulses. The laser-damaged traces are then etched in an acid bath, allowing vias to be formed to achieve a specific surface diameter (e.g. between 10 and 200 µm) and a desired internal geometry (straight, tapered, or with hourglass shape of the target waist diameter). Three-dimensional (3D) via shape is critical for process development, product monitoring and control. TGVs with internal defects can not only affect the electrical performance of the final product, but also affect subsequent processes such as metallization. Although our large-scale LD&E process has achieved high-speed TGV formation, it is difficult for inspection and characterization of the final etched via geometry, such as 3D shape defects (bumps, chatter marks, blind vias, etc.) However, some major challenges remain.

用於表徵TGV幾何形狀的一些方案包括基於視覺的表面直徑或腰部直徑測量、3D計算地形(CT)掃描或破壞性測試,這可能利用基板的切割以實現側視光學顯微術。具有內部導孔側壁缺陷的TGV可能仍然具有在規格之內的入口、出口或腰部直徑。在一些情況下,導孔側壁缺陷可以在CT掃描中或通過破壞性測試識別出來,這些測試費時、費錢,而且只能在少量的樣本上進行。此外,可能難以使用該些習知技術來量化導孔側壁缺陷的特性。因此,檢驗TGV的內部形狀和側壁缺陷的技術是合乎需要的。Some schemes for characterizing TGV geometry include vision-based surface diameter or girdle diameter measurements, 3D computational topography (CT) scanning, or destructive testing, which may utilize cutting of the substrate to enable side-viewing optical microscopy. TGVs with internal via sidewall defects may still have inlet, outlet, or waist diameters that are within specification. In some cases, via sidewall defects can be identified on CT scans or through destructive testing, which is time-consuming, expensive, and can only be performed on small samples. Furthermore, it may be difficult to quantify the characteristics of via sidewall defects using these known techniques. Therefore, techniques to inspect the internal shape and sidewall defects of TGVs are desirable.

一些實施例與非破壞性的方法相關,該方法將機器視覺與機器學習相結合以檢驗TGV樣本的內部導孔形狀和側壁缺陷。也可以對缺陷進行表徵和繪圖的該方法可以很容易地擴大規模,以進行大型TGV面板生產的高速直列式(inline)檢驗。Some embodiments relate to a non-destructive method that combines machine vision with machine learning to inspect TGV samples for internal via shape and sidewall defects. The method, which can also characterize and map defects, can be easily scaled up for high-speed inline inspection of large TGV panel production.

在一些實施例中,與攝影機耦接的計算設備在適當的照明下從斜的檢驗角度拍攝單獨導孔的影像。一些實施例使用最佳化的照明角度(例如從背部或頂部入射)、優先偏振定向(preferential polarization orientation)和均勻的照明,來改進TGV影像的對比度和靈敏度。傳統的視覺檢驗方法包括利用顯微鏡來檢查,不是從導孔的頂部或底部檢查,就是在切割樣本之後從側面檢查,這兩者所提供的導孔內部形狀的資訊都很有限。一些實施例可以藉由偵測TGV形狀缺陷的弱光偏轉特徵,並且將偵測到的特徵與形狀正常的導孔的影像進行比較,來檢驗基板內部的所有TGV。單獨的TGV影像是從原始掃描影像與它們對應的導孔位置一起抽取的,這些導孔位置被轉換成XY零件座標(或其他座標)並且與標稱導孔圖案相匹配。一些實施例包括完全自動化的導孔表徵。監督式深度學習(DL)/機器學習(ML)技術可以用來按照影像中的導孔外觀來表徵導孔。在一些情況下,由使用者將導孔影像集合歸類為「良好」或「有缺陷」的,然後用於訓練機器學習(ML)演算法。經訓練的ML模型能夠實現自動TGV分類。一些實施例使用線上學習,提供分類後的再歸類。一些實施例旨在在獲得分類範疇和分數的資訊之後獲得影像標籤的反饋。這使使用者能夠對低邊際分數(margin score)、新案例或異常值的導孔影像作出更有洞察力的決策。此外,其他測量資料也可以用於導孔ML表徵。全域座標轉移和匹配演算法可以用來結合其他的測量結果,例如與特定導孔對應的TGV的頂部、底部或腰部直徑。這使人們能夠理解不同測量之間的相關性以及改進分類準確度。一些實施例也適用於金屬化的TGV的檢驗。最後,線掃描成像可以用來將這個方法應用於高速直列式應用。In some embodiments, a computing device coupled to a camera takes images of individual vias from oblique inspection angles under appropriate lighting. Some embodiments use optimized illumination angles (eg, incidence from the back or top), preferential polarization orientation, and uniform illumination to improve contrast and sensitivity of TGV images. Traditional visual inspection methods include inspection with a microscope, either from the top or bottom of the via, or from the side after cutting the sample, both of which provide limited information on the internal shape of the via. Some embodiments may inspect all TGVs inside a substrate by detecting weak light deflection features of TGV shape defects and comparing the detected features to images of properly shaped vias. Individual TGV images are extracted from raw scan images along with their corresponding via locations, which are converted to XY part coordinates (or other coordinates) and matched to the nominal via pattern. Some embodiments include fully automated via characterization. Supervised deep learning (DL)/machine learning (ML) techniques can be used to characterize vias in terms of their appearance in images. In some cases, a collection of guide hole images is classified by the user as "good" or "defective" and then used to train a machine learning (ML) algorithm. The trained ML model enables automatic TGV classification. Some embodiments provide reclassification after classification using online learning. Some embodiments aim to obtain image label feedback after obtaining category category and score information. This enables users to make more insightful decisions on via images with low margin scores, new cases, or outliers. In addition, other measurements can also be used for via ML characterization. A global coordinate transfer and matching algorithm can be used to incorporate other measurements such as the top, bottom or waist diameter of the TGV corresponding to a particular via. This enables one to understand correlations between different measurements and improve classification accuracy. Some embodiments are also applicable to the inspection of metallized TGVs. Finally, line-scan imaging can be used to apply this approach to high-speed in-line applications.

一些實施例係關於非破壞性的高速方法,該方法可以檢驗扁平基板中的數百萬個TGV。一些實施例能夠對諸如玻璃、熔融氧化矽等等之類的不同透明基板中的金屬化或未金屬化的TGV中的不同內部導孔缺陷進行定量解釋。一些實施例提供了最佳化、校準和監測LD&E和TGV金屬化製程的方法。藉由是非破壞性和快速的,一些實施例為TGV生產提供了顯著的成本和時間節約。一些實施例係關於新穎的資料融合和機器學習技術,它用於獲得測量與LD&E參數之間的相關性,從而從根本上理解LD&E交互作用的哪些態樣會影響TGV度量。Some embodiments relate to non-destructive, high-speed methods that can inspect millions of TGVs in flat substrates. Some embodiments enable quantitative accounting for different internal via defects in metallized or non-metallized TGVs in different transparent substrates such as glass, fused silica, and the like. Some embodiments provide methods of optimizing, calibrating and monitoring LD&E and TGV metallization processes. By being non-destructive and rapid, some embodiments provide significant cost and time savings for TGV production. Some embodiments relate to novel data fusion and machine learning techniques for obtaining correlations between measurements and LD&E parameters to fundamentally understand which aspects of LD&E interactions affect TGV measures.

圖6說明了依據一些實施例,使用背光的TGV檢驗的示例示意圖600。如示意圖600所示,攝影機602指向物件604。物件604包括TGV 606和晶片發光二極體(LED)608。物件604由擴散背光610照明。FIG. 6 illustrates an example schematic 600 of TGV inspection using backlighting, in accordance with some embodiments. As shown in diagram 600 , camera 602 is pointed at object 604 . Item 604 includes TGV 606 and chip light emitting diodes (LEDs) 608 . Object 604 is illuminated by diffuse backlight 610 .

圖7說明了依據一些實施例的示例TGV缺陷檢驗系統700。如圖所示,TGV缺陷檢驗系統700包括具有用於旋轉的旋轉單元704的區域攝影機702。光電源706向配置為用於X/Y運動710的表面的背光照明器708供電。區域攝影機702指向由背光照明器708照明的表面。FIG. 7 illustrates an example TGV defect inspection system 700 in accordance with some embodiments. As shown, the TGV defect inspection system 700 includes an area camera 702 with a rotation unit 704 for rotation. Light source 706 powers backlight illuminator 708 of the surface configured for X/Y motion 710 . Area camera 702 is pointed at the surface illuminated by backlight illuminator 708 .

TGV過程可以使用單個皮秒雷射短脈衝,來在玻璃基板中形成雷射損傷軌跡。雷射束使用形成類似貝塞爾(Bessel)或貝塞爾-高斯射束的光學件,來被形成擴展的焦點或準非繞射射束。由於射束的準非繞射本質,與更常用的高斯射束相比,光在長得多的範圍內維持緊密聚焦的強度,使玻璃基板的整個厚度都能被單個短脈衝脈衝損傷。損傷軌跡的直徑可以是300-500 nm,並且其長度可以通過玻璃的整個厚度延伸(50至1000 µm)。雷射損傷的玻璃可以在含有氫氟酸(HF)或氫氧化鈉/鉀中的任一者的蝕刻劑浴中進行蝕刻,以形成TGV。雷射和蝕刻製程被揭露在例如第9,517,963號的美國專利中,該專利的整體內容以引用方式納入本文。The TGV process can use a short single picosecond laser pulse to create a laser damage track in a glass substrate. The laser beam is formed into an extended focus or quasi-non-diffracted beam using optics that form Bessel-like or Bessel-Gaussian beams. Due to the quasi-non-diffracting nature of the beam, the light maintains a tightly focused intensity over a much longer range than the more commonly used Gaussian beam, enabling the entire thickness of the glass substrate to be damaged by a single short pulse. The diameter of the damage track can be 300-500 nm and its length can extend through the entire thickness of the glass (50 to 1000 µm). Laser damaged glass can be etched in an etchant bath containing either hydrofluoric acid (HF) or sodium/potassium hydroxide to form TGVs. Laser and etching processes are disclosed, for example, in US Patent No. 9,517,963, which is incorporated herein by reference in its entirety.

圖8經由腰部802、經由入口和出口804以及經由側視圖806說明了示例TGV表徵影像800。依據一些實施例,影像800可以用光學顯微鏡來產生。FIG. 8 illustrates an example TGV characterization image 800 via waist 802 , via inlet and outlet 804 , and via side view 806 . According to some embodiments, image 800 may be generated using an optical microscope.

TGV的一個習知表徵方案包括用2D視覺檢驗工具測量入口、出口和腰部直徑,如圖8在802和804處所示,並且使用光學顯微鏡對切割的樣本進行輪廓圖成像,如圖8在806處所示。TGV直徑測量不能偵測如顯微鏡的輪廓圖所示的導孔形狀中的內部缺陷。然而,光學顯微鏡的側視圖檢驗可能是破壞性的方法,並且不能滿足直列式測量的需要。另一種習知測量工具是3D CT掃描器,它以無比的解析度提供了TGV的內部細節。A conventional characterization scheme for TGVs involves measuring inlet, outlet, and waist diameters with a 2D visual inspection tool, as shown at 802 and 804 in FIG. shown here. TGV diameter measurements cannot detect internal defects in the via shape as shown by the microscope's profile. However, side-view inspection with optical microscopy can be a destructive method and cannot meet the needs of in-line measurements. Another well-known measurement tool is the 3D CT scanner, which provides details inside the TGV with unparalleled resolution.

圖9說明了依據一些實施例的TGV的示例CT掃描影像,其示出無缺陷導孔和具有內部缺陷的導孔。然而,CT掃描很緩慢、非常昂貴,而且難以為直列式應用擴大規模。9 illustrates example CT scan images of a TGV showing defect-free vias and vias with internal defects, in accordance with some embodiments. However, CT scanning is slow, very expensive, and difficult to scale up for in-line applications.

圖10A-10B說明了依據一些實施例,從原始區域掃描影像裁剪出的單獨導孔影像,它們的分類的形狀/內部缺陷,並且它們的位置被轉換並映射到零件座標(part coordinate)。10A-10B illustrate individual via images cropped from raw area scan images, their classified shapes/internal defects, and their positions transformed and mapped to part coordinates, according to some embodiments.

圖11說明了依據一些實施例的有缺陷的TGV,它們具有取決於缺陷類型和光學配置的不同二維(2D)特徵。Figure 11 illustrates defective TGVs with different two-dimensional (2D) features depending on defect type and optical configuration, according to some embodiments.

圖12說明了依據一些實施例的示例導孔CT掃描影像橫截面1200。橫截面1200包括顫動標記(chatter mark)1202和凸起1204。2D影像1200是以斜角並使用線掃描成像來獲取的。FIG. 12 illustrates an example via CT scan image cross-section 1200 in accordance with some embodiments. Cross section 1200 includes chatter marks 1202 and protrusions 1204. 2D image 1200 was acquired at an oblique angle and using line scan imaging.

圖13說明了依據一些實施例,包括無缺陷導孔1302和有缺陷導孔1304和1306的利用背光的示例線掃描影像1300。13 illustrates an example line scan image 1300 with backlighting including non-defective vias 1302 and defective vias 1304 and 1306, in accordance with some embodiments.

圖14說明了依據一些實施例的不同類型的導孔的示例影像1400。影像1400包括窄腰導孔1402、盲導孔1404、凸起導孔1406和良好(無缺陷)的導孔1408的影像。FIG. 14 illustrates example images 1400 of different types of vias in accordance with some embodiments. Image 1400 includes images of waisted vias 1402 , blind vias 1404 , raised vias 1406 , and good (defect-free) vias 1408 .

圖15說明了依據一些實施例,非金屬化的TGV 1502和金屬化的TGV 1504的示例TGV影像1500。影像1500是使用線掃描攝影機和背部照明來獲取的。FIG. 15 illustrates an example TGV image 1500 of a non-metallized TGV 1502 and a metallized TGV 1504 in accordance with some embodiments. Image 1500 is acquired using a line scan camera and a backlight.

圖16說明了依據一些實施例,在旋轉零件90度之前1602和之後1604測得的第一示例導孔分類圖1600。16 illustrates a first example via classification map 1600 measured before 1602 and after 1604 of rotating the part 90 degrees, in accordance with some embodiments.

圖17說明了依據一些實施例,從側面A 1702和側面B 1704測得的第二示例導孔分類圖1700。FIG. 17 illustrates a second example via classification map 1700 measured from side A 1702 and side B 1704 in accordance with some embodiments.

圖18說明了依據一些實施例的示例區域掃描影像機器學習分類結果。Figure 18 illustrates example area scan imagery machine learning classification results in accordance with some embodiments.

圖19說明了依據一些實施例的示例TGV檢驗系統1900。系統1900允許X運動1902和Y運動1904。系統1900包括線掃描時間延遲積分(time delayed integration, TDI)攝影機1906、LED背光載具1908和旋轉台1910。Figure 19 illustrates an example TGV inspection system 1900 in accordance with some embodiments. System 1900 allows X movement 1902 and Y movement 1904 . System 1900 includes line scan time delayed integration (TDI) camera 1906 , LED backlight carrier 1908 and turntable 1910 .

圖20說明了依據一些實施例,內部缺陷率與蝕刻延遲之間的示例關係。如圖20所示,在相同的雷射損傷條件下,內部缺陷率與蝕刻延遲相關。Figure 20 illustrates an example relationship between internal defect rate and etch delay, in accordance with some embodiments. As shown in Figure 20, under the same laser damage conditions, the internal defect rate is related to the etch delay.

圖21說明了依據一些實施例的示例機器學習程序2100。如圖所示,標記工具2102和訓練資料集2108為機器學習(ML)分類2104提供資料。ML分類2104向重新標記和選擇工具2106提供輸出,該工具確認或編輯由ML分類2104所產生的分類範疇和分數。經確認或編輯的分類範疇或分數經由從重新標記和選擇工具2106的資料上傳提供給訓練資料集2108。Figure 21 illustrates an example machine learning program 2100 in accordance with some embodiments. As shown, labeling tool 2102 and training data set 2108 provide data for machine learning (ML) classification 2104 . ML classification 2104 provides output to relabeling and selection tool 2106 , which validates or edits the classification categories and scores produced by ML classification 2104 . The confirmed or edited classification categories or scores are provided to the training dataset 2108 via data upload from the relabeling and selection tool 2106 .

一些實施例係關於高速的、非破壞性的、有直列式能力的、定量的方法,它用於透明基板中的內部導孔缺陷的偵測和分類。一些實施例包括檢驗裝置,它可以是獨立的形式,也可以被整合到其他TGV檢驗系統中。圖19示出了獨立的基於線掃描的TGV內部缺陷測量系統1900的設計概念,其中背光照明內建於樣本載具(例如LED背光載具1908)中。樣本載具安裝在旋轉台和線性軸上。攝影機1906安裝在與載具的線性軸正交的另一個線性軸上。所述的運動系統(例如X運動1902和Y運動1904)能夠基於導孔圖案設計依需要從樣本平面內的不同角度檢驗導孔。Some embodiments relate to a high-speed, non-destructive, in-line capable, quantitative method for the detection and classification of internal via defects in transparent substrates. Some embodiments include inspection devices, which can be stand-alone or integrated into other TGV inspection systems. FIG. 19 shows the design concept of a stand-alone line-scan based TGV internal defect measurement system 1900 with backlighting built into the sample carrier (eg, LED backlight carrier 1908 ). The sample carrier is mounted on a rotary stage and a linear axis. Camera 1906 is mounted on another linear axis that is orthogonal to the vehicle's linear axis. The motion system described (eg, X motion 1902 and Y motion 1904) enables inspection of vias from different angles within the sample plane as desired based on the via pattern design.

一些技術包括用成像裝置以斜角拍攝透明基板(例如玻璃)內的每個單獨的TGV的散射影像,如圖6或圖7所示。照明源產生光,以特定的角度照明導孔。這些包括但不限於頂/背光、邊緣光或低角度暗場照明。源可以是具有所選光譜或白光的高強度LED燈。一些實施例利用最佳化的照明來檢查金屬化或未金屬化的導孔,以獲得最佳的對比度。例如,擴散的頂/背光可以減少來自TGV的內表面的反射,並且增加影像對比度。Some techniques include taking a diffuse image of each individual TGV within a transparent substrate (eg, glass) at an oblique angle with an imaging device, as shown in Figure 6 or Figure 7 . The illumination source produces light that illuminates the pilot hole at a specific angle. These include but are not limited to top/back lighting, edge lighting or low angle darkfield lighting. The source can be a high intensity LED light with a selected spectrum or white light. Some embodiments inspect metallized or unmetallized vias with optimized illumination for optimal contrast. For example, a diffused top/backlight can reduce reflections from the inner surface of the TGV and increase image contrast.

在一些情況下,攝影機是收集來自導孔的訊號的偵測器。為了偵測從導孔的內部缺陷(例如凸起或顫動標記)偏轉的非常弱的訊號,可以使用TDI線掃描攝影機。為了改進檢驗的速度,TDI攝影機可以以高訊框率操作。攝影機角度必須被最佳化,並且相對於基板表面一般介於40與50度之間。必須最佳化相鄰導孔之間的最小間距和攝影機角度,以防止導孔在影像中重疊。與區域掃描攝影機相比,利用TDI線掃描成像,所有導孔都將被聚焦,這可以使得影像處理變得不那麼複雜並且更快速。In some cases, the camera is a detector that collects the signal from the via. To detect very weak signals deflected from internal defects in vias such as bumps or chatter marks, a TDI line scan camera can be used. To improve the speed of inspection, TDI cameras can be operated at high frame rates. The camera angle has to be optimized and is typically between 40 and 50 degrees relative to the substrate surface. The minimum spacing and camera angle between adjacent vias must be optimized to prevent vias from overlapping in the image. With TDI line scan imaging, all vias will be in focus, which makes image processing less complex and faster compared to area scan cameras.

在光學方面,攝影機物鏡可以具有特定的放大率、數值孔徑(NA)和景深,並且優選地是遠心的,以在聚焦的情況下捕捉導孔的頂部和底部。在一些示例中,放大率小於3倍並且NA小於0.1的透鏡提供了大到足以通過厚度為500 µm的玻璃進行成像的景深。放大率可以是例如1.5倍-2.5倍。In terms of optics, the camera objective can have a specific magnification, numerical aperture (NA) and depth of field, and is preferably telecentric to capture the top and bottom of the via when in focus. In some examples, lenses with a magnification of less than 3x and an NA of less than 0.1 provide a depth of field large enough to image through glass as thick as 500 µm. The magnification may be, for example, 1.5x-2.5x.

一些實施例包括軟體和硬體的組合,以正規化影像像素回應和來自光學像差和電氣源的雜訊。Some embodiments include a combination of software and hardware to normalize image pixel response and noise from optical aberrations and electrical sources.

一些實施例包括在計算設備處,抽取單獨的導孔影像,並且將形狀屬性與其他的測量資料(例如直徑、圓度、LD&E製程資訊和其他可用的操作員分類資訊)相關聯。一些實施例使用圖案匹配或其他的影像關聯演算法來尋找單獨的TGV,如圖10A-10B所示。一些實施例利用基於由產品設計所界定的全域導孔圖案與其他測量結果或製程參數相關聯的一對一的導孔影像。Some embodiments include, at the computing device, extracting individual via images and correlating shape attributes with other measurement data such as diameter, roundness, LD&E process information, and other available operator classification information. Some embodiments use pattern matching or other image correlation algorithms to find individual TGVs, as shown in FIGS. 10A-10B . Some embodiments utilize a one-to-one via image correlated with other measurements or process parameters based on the global via pattern defined by the product design.

一些實施例包括在計算設備處,產生機器學習模型。導孔影像以及其他測量資料可以用於監督式機器學習以訓練ML演算法自動分類導孔類型。來自不同類型的導孔形狀的影像將首先為了訓練目的進行人工排序和歸類;例如,分類為「良好(無缺陷)」、「凸起」或「盲」,如圖13和圖14所示。Some embodiments include, at the computing device, generating the machine learning model. Via imagery and other measurement data can be used in supervised machine learning to train ML algorithms to automatically classify via types. Images from different types of via shapes will first be manually sorted and classified for training purposes; for example, classified as "good (no defect)", "raised", or "blind", as shown in Figures 13 and 14 .

機器學習/深度學習演算法可以實現自動導孔分類,而不需要事先瞭解導孔特徵的領域知識。習知和常見的ML/DL方法是監督式學習模型,它利用有標資料來訓練ML/DL模型。ML專家設計模型以基於訓練資料得到更好的性能。然而,一些實施例涉及利用更好的ML模型獲得更好的訓練資料集,如圖21所示。Machine learning/deep learning algorithms enable automatic via classification without requiring prior domain knowledge of via characteristics. A well-known and common ML/DL method is the supervised learning model, which utilizes labeled data to train the ML/DL model. ML experts design models to get better performance based on training data. However, some embodiments involve using better ML models to obtain better training datasets, as shown in FIG. 21 .

經裁剪的導孔影像被收集並標記(成為訓練資料集2108)以訓練ML模型。在訓練程序之後的導孔影像可能不需要被標記,如標記工具2102中所示。經訓練的ML模型將導孔影像在ML分類2104處分類。在ML分類2104之後,使用者在重新標記和選擇工具2106處得到關於導孔缺陷條件和分類分數的通知。如果影像的來自ML模型的推理分數很強,那麼使用者可以重新標記導孔影像,並且重要的導孔影像資料會被儲存在訓練資料集處。使用者可以對具有低邊際分數的導孔影像進行排序,以檢查標記並決定如何重新標記和是否需要將其儲存在訓練資料集處。一些實施例增強了訓練資料集的完整性,使得ML模型能夠表現出色,並且在未來的訓練期中逐步改進。The cropped via images are collected and labeled (become the training dataset 2108) to train the ML model. The via image after the training procedure may not need to be marked, as shown in marking tool 2102 . The trained ML model classifies the via image at ML classification 2104 . After ML classification 2104 , the user is notified at relabeling and selection tool 2106 about the via defect condition and classification score. If the image has a strong inference score from the ML model, the user can re-label the via image, and the important via image data will be stored at the training dataset. Users can sort the via images with low marginal scores to examine the labeling and decide how to relabel and store it at the training dataset. Some embodiments enhance the integrity of the training data set, enabling ML models to perform well and improve incrementally over future training sessions.

使用所提出的檢驗系統和ML演算法,某些內部導孔缺陷被連結到LD&E製程中的特定條件。具有內部缺陷的大多數導孔具有正常的表面屬性(如入口和出口直徑),並且可能無法僅經由表面測量來識別,無論是從頂部還是底部。圖17示出了分別從A側(1702)和B側(1704)測得的分類圖1700的示例。諸如凸起和顫動標記之類的一些導孔缺陷具有良好的平面對稱性。此外,從不同視角(即在樣本旋轉之後)檢驗的缺陷圖也能很好地對準。圖16示出了兩個導孔分類圖1602和1604,一個是在零度測得的(1602),而一個是在90度的樣本旋轉之後測得的(1604)。圖20示出,對於相同的雷射處理但不同的蝕刻條件(例如不同的蝕刻延遲)而言,內部導孔缺陷的百分比可能會有很大的不同。所揭露的技術也可以用於檢驗金屬化之後的導孔。圖15示出了在金屬化之前1502和金屬化之後1504使用線掃描和背光配置的導孔影像1500。Using the proposed inspection system and ML algorithms, certain internal via defects are linked to specific conditions in the LD&E process. Most vias with internal defects have normal surface properties (such as inlet and outlet diameters) and may not be identifiable via surface measurements alone, either from the top or bottom. FIG. 17 shows an example of a classification map 1700 measured from side A ( 1702 ) and side B ( 1704 ), respectively. Some via defects such as bumps and chatter marks have good planar symmetry. Furthermore, defect maps inspected from different viewing angles (i.e. after sample rotation) are well aligned. Figure 16 shows two via classification maps 1602 and 1604, one measured at zero degrees (1602) and one measured after a sample rotation of 90 degrees (1604). Figure 20 shows that for the same laser process but different etch conditions (eg, different etch delays), the percentage of internal via defects can vary significantly. The disclosed techniques can also be used to inspect vias after metallization. FIG. 15 shows a via image 1500 using a line scan and backlight configuration before 1502 and after 1504 metallization.

圖22是依據一些實施例,用於TGV缺陷檢驗的計算設備2200的方塊圖。計算設備2200可以包括以下項目中的一者或多者:伺服器、膝上型電腦、桌上型電腦、行動電話、平板電腦、智慧型手錶、個人數位助理(PDA)等等。除了圖22所示的部件以外,計算設備2200還可以包括計算機500的一個或多個部件。進一步地,雖然示出單個計算設備2200,但應注意,在一些實施例中,計算設備2200的部件可以分佈在多個實體或虛擬的機器上。如圖所示,計算設備2200包括處理電路系統2210(例如處理器502、中央處理單元、圖形處理單元等等中的一者或多者)和記憶體2220(例如主記憶體504、靜態記憶體506、驅動單元516、磁碟機、硬碟機、隨機存取記憶體等等中的一者或多者)。記憶體2220儲存影像產生引擎2230、電腦視覺引擎2240和分類引擎2250。結合圖23論述了影像產生引擎2230、電腦視覺引擎2240和分類引擎2250的示例操作。引擎2230、2240和2250可以使用人工智慧、機器學習、監督式學習、線上學習和/或深度學習技術來實施,例如如結合圖1-4所述。Figure 22 is a block diagram of a computing device 2200 for TGV defect inspection, according to some embodiments. Computing device 2200 may include one or more of the following: a server, a laptop, a desktop, a mobile phone, a tablet, a smart watch, a personal digital assistant (PDA), and the like. Computing device 2200 may include one or more components of computer 500 in addition to the components shown in FIG. 22 . Further, while a single computing device 2200 is shown, it should be noted that in some embodiments, components of computing device 2200 may be distributed across multiple physical or virtual machines. As shown, computing device 2200 includes processing circuitry 2210 (eg, one or more of processor 502, central processing unit, graphics processing unit, etc.) and memory 2220 (eg, main memory 504, static memory 506, drive unit 516, disk drive, hard disk drive, random access memory, etc.). The memory 2220 stores an image generation engine 2230 , a computer vision engine 2240 and a classification engine 2250 . Example operations of image generation engine 2230 , computer vision engine 2240 , and classification engine 2250 are discussed in connection with FIG. 23 . Engines 2230, 2240, and 2250 may be implemented using artificial intelligence, machine learning, supervised learning, online learning, and/or deep learning techniques, eg, as described in connection with FIGS. 1-4.

圖23是依據一些實施例,用於TGV缺陷檢驗的電腦實施方法2300的流程圖。方法2300可以在計算設備(例如計算設備2200)或多個計算設備處實施,這些計算設備可以包括計算機500的一個或多個部件。23 is a flowchart of a computer-implemented method 2300 for TGV defect inspection, according to some embodiments. Method 2300 may be implemented at a computing device (eg, computing device 2200 ) or at multiple computing devices, which may include one or more components of computer 500 .

在方塊2310處,計算設備控制照明源(例如LED背光載具1908)和成像設備(例如攝影機1906)以產生TGV的影像,其中TGV包括透明工件中的蝕刻的或金屬化的微導孔,該透明工件包括至少兩個表面。控制照明源和成像設備包括,對於多個TGV,引導照明源將光照到工件中的TGV上;以及引導成像設備偵測來自被TGV散射的光的散射影像訊號。成像設備的成像軸相對於來自多個TGV的給定TGV的軸延伸非零的成像角度。給定TGV的整體都在成像設備的視野之內。At block 2310, the computing device controls an illumination source (e.g., LED backlit carrier 1908) and an imaging device (e.g., camera 1906) to generate an image of a TGV comprising an etched or metalized microvia in a transparent workpiece, the A transparent workpiece includes at least two surfaces. Controlling the illumination source and imaging device includes, for a plurality of TGVs, directing the illumination source to illuminate the TGVs in the workpiece; and directing the imaging device to detect scattered image signals from light scattered by the TGVs. The imaging axis of the imaging device extends a non-zero imaging angle relative to the axis of a given TGV from the plurality of TGVs. The entirety of a given TGV is within the field of view of the imaging device.

在方塊2320處,計算設備使用計算設備處的影像產生引擎(例如影像產生引擎2230),基於由成像設備所偵測到的散射影像訊號來產生TGV的影像。At block 2320, the computing device generates an image of the TGV based on the scattered image signal detected by the imaging device using an image generation engine at the computing device (eg, image generation engine 2230).

在方塊2330處,計算設備使用計算設備處的電腦視覺引擎(例如電腦視覺引擎2240),基於由成像設備所偵測到的散射影像訊號來計算影像內的TGV的座標。At block 2330, the computing device uses a computer vision engine (eg, computer vision engine 2240) at the computing device to calculate coordinates of the TGV within the image based on the scattered image signals detected by the imaging device.

在方塊2340處,計算設備為影像中的一個或多個TGV並基於計算的座標,使用計算設備處的分類引擎(例如分類引擎2250)來產生TGV類型分類,其中TGV類型分類表明TGV是否具有或缺乏缺陷,並且如果TGV有缺陷,表明缺陷類型。At block 2340, the computing device uses a classification engine (e.g., classification engine 2250) at the computing device to generate a TGV type classification for one or more TGVs in the imagery based on the calculated coordinates, wherein the TGV type classification indicates whether the TGV has or Lack of defects and, if the TGV is defective, indicate the type of defect.

在方塊2350處,計算設備基於產生的TGV類型分類,決定多個TGV具有與給定缺陷類型相關聯的缺陷。At block 2350, the computing device determines that a plurality of TGVs have defects associated with a given defect type based on the generated TGV type classification.

在方塊2360處,計算設備識別與缺陷類型相關聯的製造機器設定。At block 2360, the computing device identifies manufacturing machine settings associated with the defect type.

在方塊2370處,計算設備傳輸(例如向製造機器傳輸)控制訊號,以調整製造機器設定。At block 2370, the computing device transmits (eg, to the manufacturing machine) control signals to adjust manufacturing machine settings.

依據一些實施例,成像設備包括設置在成像軸上的攝影機和成像透鏡,攝影機包括區域掃描攝影機或線掃描攝影機,並且非零的成像角度介於30度與60度之間。According to some embodiments, the imaging device includes a camera and an imaging lens arranged on the imaging axis, the camera includes an area scan camera or a line scan camera, and the non-zero imaging angle is between 30 degrees and 60 degrees.

依據一些實施例,成像透鏡包括取決於透明工件的厚度的放大係數和數值孔徑。According to some embodiments, the imaging lens includes a magnification factor and a numerical aperture that depend on the thickness of the transparent workpiece.

依據一些實施例,透明工件的厚度介於1與1000微米之間,其中放大係數小於3。According to some embodiments, the thickness of the transparent workpiece is between 1 and 1000 microns, wherein the magnification factor is less than 3.

依據一些實施例,控制訊號被直接傳輸到製造機器,以調整那裡的製造機器設定。According to some embodiments, the control signals are transmitted directly to the manufacturing machine to adjust the manufacturing machine settings there.

依據一些實施例,計算設備存取在調整製造機器設定之後製造的TGV的附加影像。計算設備決定與給定缺陷類型相關聯的缺陷是否在頻率上發生變化。計算設備向製造機器傳輸附加控制訊號,以進一步基於給定缺陷類型的頻率變化來調整製造機器設定。According to some embodiments, the computing device accesses additional images of the TGV manufactured after adjusting the manufacturing machine settings. The computing device determines whether defects associated with a given defect type vary in frequency. The computing device transmits additional control signals to the manufacturing machines to further adjust manufacturing machine settings based on changes in frequency of a given defect type.

依據一些實施例,將控制訊號傳輸到使用者設備,以指示最終使用者調整製造機器設定。According to some embodiments, a control signal is transmitted to the user device to instruct the end user to adjust manufacturing machine settings.

依據一些實施例,計算設備向使用者設備傳輸所產生的TGV類型分類。計算設備從使用者設備接收至少一個TGV類型分類不正確的指示。計算設備基於該指示向TGV類型分類器提供進一步的訓練。According to some embodiments, the computing device transmits the generated TGV type classification to the user equipment. The computing device receives an indication from the user device that at least one TGV type classification is incorrect. The computing device provides further training to the TGV type classifier based on the indication.

依據一些實施例,所產生的影像具有多個不同的影像類型,包括以下項目中的一者或多者:RGB影像、黑白影像、陰影影像和CT掃描影像。According to some embodiments, the generated images are of a plurality of different image types, including one or more of the following: RGB images, black and white images, shaded images, and CT scan images.

依據一些實施例,分類引擎包括使用線上監督式學習來訓練的人工神經網路(ANN)。According to some embodiments, the classification engine includes an artificial neural network (ANN) trained using online supervised learning.

依據一些實施例,當導孔深度大於成像系統的聚焦深度時,可以以遞增的導孔深度實施多個攝影機聚焦,或以遞增的深度實施多個檢驗循環。According to some embodiments, when the depth of the pilot hole is greater than the depth of focus of the imaging system, multiple camera focuses may be performed at increasing pilot hole depths, or multiple inspection cycles may be performed at increasing depths.

依據一些實施例,計算機藉由透過透明工件的邊緣引導來自照明源的光,將來自照明源的光引導到該複數個導孔上。According to some embodiments, the computer directs light from the illumination source onto the plurality of vias by directing the light from the illumination source through an edge of the transparent workpiece.

依據一些實施例,取決於最終的導孔內部形狀/幾何形狀(圓柱形、帶狀等等),照明NA可以從遠心照明到角度控制的擴散表面變化。According to some embodiments, depending on the final via interior shape/geometry (cylindrical, ribbon, etc.), the illumination NA can vary from telecentric illumination to angle-controlled diffuse surfaces.

依據一些實施例,計算設備藉由基於導孔影像和類別決定缺陷形成雷射處理的聚焦位置,來決定雷射處理系統的特性。According to some embodiments, the computing device determines the characteristics of the laser processing system by determining the focal position of the defect-forming laser processing based on the guide hole image and the type.

依據一些實施例,計算設備藉由基於導孔影像和類別決定缺陷形成雷射處理的雷射功率,來決定雷射處理系統的特性。According to some embodiments, the computing device determines the characteristics of the laser processing system by determining the laser power of the defect forming laser processing based on the guide hole image and the type.

依據一些實施例,計算設備藉由基於導孔影像和類別決定引入超音波增強的蝕刻之前的蝕刻延遲,來決定蝕刻系統的特性。According to some embodiments, the computing device determines the characteristics of the etching system by determining an etching delay before introducing ultrasonically enhanced etching based on the via image and type.

依據一些實施例,計算設備關聯或融合其他測量結果以改進ANN分類準確度,這些測量結果包括以下項目中的一者或多者:導孔入口/出口和腰部的測量,雷射損傷和蝕刻處理資料,導孔金屬化處理資料。According to some embodiments, the computing device correlates or fuses other measurements including one or more of the following: measurements of via entry/exit and waist, laser damage, and etch processing, to improve ANN classification accuracy Data, guide hole metallization processing data.

一些實施例包括機器座標匹配演算法,用於關聯不同檢驗系統上的單獨導孔測量。Some embodiments include a machine coordinate matching algorithm for correlating individual via measurements on different inspection systems.

依據一些實施例,ANN減少了來自光學成像失真的影響以及光學部件和複雜校準的成本。According to some embodiments, the ANN reduces the effects from optical imaging distortion as well as the cost of optical components and complex calibration.

在一些實施例中,計算設備藉由收集無標資料和使用者(例如專家)反饋的集合,對包括有標資料集的訓練資料集執行主動學習。計算設備為每個可能的範疇提供置信度分數,並且提供邊際分數,邊際分數是最高分與第二高分之間的差。計算設備利用使用者反饋來獲得真正的標籤。除此之外,計算設備還提供關於導孔品質的其他資訊,包括導孔形狀的入口和出口的直徑/圓度(roundness)、腰部直徑和圓形度(circularity),這提供了支持使用者決策的補充資訊。邊際分數低的資料週期性地與包括導孔形狀的入口和出口的直徑/圓度、腰部直徑和圓形度的補充資訊一起提供給使用者,以決定無標資料的更高可能性的標籤。新標記的資料項目用來訓練分類引擎(例如分類引擎2250),以確認使用者的知識和品質控制水平。In some embodiments, a computing device performs active learning on a training data set including a labeled data set by collecting a set of unlabeled data and user (eg, expert) feedback. The computing device provides a confidence score for each possible category and provides a marginal score, which is the difference between the highest score and the second highest score. Computing devices use user feedback to derive true labels. In addition to this, the computing device also provides other information about the quality of the via, including the diameter/roundness of the entrance and exit of the via shape, waist diameter and circularity, which provides support to the user. Supplementary information for decision-making. Data with low marginal scores are periodically provided to the user with supplementary information including inlet and outlet diameter/circularity, girdle diameter, and circularity of pilot hole shape to determine higher likelihood labels for unlabeled data . The newly labeled data items are used to train a classification engine (eg, classification engine 2250 ) to ascertain the user's knowledge and quality control level.

在一些實施例中,照明設置引導照明源以特定的照明角度將光照到透明工件的表面上。照射角度與成像軸的角度不同。In some embodiments, the lighting setup directs the lighting source to shine light onto the surface of the transparent workpiece at a particular lighting angle. The angle of illumination is different from the angle of the imaging axis.

如上所述,方法2300的方塊以給定的順序連續執行。然而,這些方塊也可以以任何順序執行,不一定是所提供的順序。在一些情況下,可以並行執行兩個或更多個方塊。As noted above, the blocks of method 2300 are performed sequentially in the order given. However, these blocks can also be performed in any order, not necessarily the order presented. In some cases, two or more blocks may be executed in parallel.

將一些實施例描述為有編號的示例(示例1、2、3等等)。這些只是作為示例提供,並不限制本文所揭露的技術。Some embodiments are described as numbered examples (Examples 1, 2, 3, etc.). These are provided as examples only, and do not limit the techniques disclosed herein.

示例1是一種方法,包括以下步驟:由計算設備,控制照明源和成像設備,以產生玻璃導通孔(TGV)的影像,其中該等TGV包括透明工件中的蝕刻的或金屬化的微導孔,該透明工件包括至少兩個表面,其中控制該照明源和該成像設備包括對多個TGV進行以下步驟:引導該照明源將光照到該工件中的該等TGV上;以及引導該成像設備偵測來自被該等TGV散射的光的散射影像訊號,其中該成像設備的成像軸相對於來自該多個TGV的給定TGV的軸延伸非零的成像角度,其中該給定的TGV的整體都在該成像設備的視野之內;使用該計算設備處的影像產生引擎,基於由該成像設備所偵測到的該等散射影像訊號來產生該等TGV的影像;使用該計算設備處的電腦視覺引擎,基於由該成像設備所偵測到的該等散射影像訊號來計算該等影像內的該等TGV的座標;為該等影像中的一個或多個TGV並基於該等計算的座標,使用該計算設備處的分類引擎來產生TGV類型分類,其中該TGV類型分類表明該TGV是否具有或缺乏缺陷,並且如果該TGV有缺陷,表明缺陷類型;基於該等產生的TGV類型分類,決定多個TGV具有與給定缺陷類型相關聯的缺陷;在該計算設備處,識別與該給定缺陷類型相關聯的製造機器設定;以及從該計算設備,傳輸控制訊號以調整該製造機器設定。Example 1 is a method comprising the steps of: controlling, by a computing device, an illumination source and an imaging device to generate images of through-glass vias (TGVs), wherein the TGVs include etched or metalized microvias in a transparent workpiece , the transparent workpiece includes at least two surfaces, wherein controlling the illumination source and the imaging device includes performing the following steps on a plurality of TGVs: directing the illumination source to illuminate the TGVs in the workpiece; and directing the imaging device to detect measuring scattered image signals from light scattered by the TGVs, wherein the imaging axis of the imaging device extends a non-zero imaging angle relative to the axis of a given TGV from the plurality of TGVs, wherein the entirety of the given TGV is within the field of view of the imaging device; using an image generation engine at the computing device to generate images of the TGVs based on the scattered image signals detected by the imaging device; using computer vision at the computing device an engine that calculates coordinates of the TGVs in the images based on the scattered image signals detected by the imaging device; for one or more TGVs in the images and based on the calculated coordinates, using A classification engine at the computing device to generate a TGV type classification, wherein the TGV type classification indicates whether the TGV has or lacks a defect, and if the TGV is defective, indicates the type of defect; based on the generated TGV type classification, determining a plurality of The TGV has a defect associated with a given defect type; at the computing device, identifying a manufacturing machine setting associated with the given defect type; and from the computing device, transmitting a control signal to adjust the manufacturing machine setting.

在示例2中,示例1的主題包括:其中該成像設備包括設置在該成像軸上的攝影機和成像透鏡,其中該攝影機包括區域掃描攝影機或線掃描攝影機,其中該非零的成像角度介於30度與60度之間。In Example 2, the subject matter of Example 1 includes: wherein the imaging device comprises a camera and an imaging lens disposed on the imaging axis, wherein the camera comprises an area scan camera or a line scan camera, wherein the non-zero imaging angle is between 30 degrees and 60 degrees.

在示例3中,示例2的主題包括:其中該成像透鏡包括取決於該透明工件的厚度的放大係數和數值孔徑。In Example 3, the subject matter of Example 2 includes wherein the imaging lens includes a magnification factor and a numerical aperture that are dependent on a thickness of the transparent workpiece.

在示例4中,示例3的主題包括:其中該透明工件的該厚度介於1與1000微米之間,其中該放大係數小於3。In Example 4, the subject matter of Example 3 includes wherein the thickness of the transparent workpiece is between 1 and 1000 microns, wherein the magnification factor is less than 3.

在示例5中,示例1-4的主題包括:其中該控制訊號被直接傳輸到製造機器,以調整那裡的該製造機器設定。In Example 5, the subject matter of Examples 1-4 includes wherein the control signal is transmitted directly to the manufacturing machine to adjust the manufacturing machine settings there.

在示例6中,示例5的主題包括:存取在調整該製造機器設定之後製造的TGV的附加影像;決定與該給定缺陷類型相關聯的該缺陷是否在頻率上發生變化;以及從該計算設備向該製造機器傳輸附加控制訊號,以進一步基於該給定缺陷類型的一頻率變化來調整該製造機器設定。In Example 6, the subject matter of Example 5 includes: accessing additional images of TGVs manufactured after adjusting the manufacturing machine settings; determining whether the defect associated with the given defect type has changed in frequency; and from the calculation The apparatus transmits additional control signals to the manufacturing machine to further adjust the manufacturing machine settings based on a frequency change of the given defect type.

在示例7中,示例1-6的主題包括:其中該控制訊號被傳輸到使用者設備,以指示最終使用者調整該製造機器設定。In Example 7, the subject matter of Examples 1-6 includes wherein the control signal is transmitted to user equipment to instruct an end user to adjust the manufacturing machine setting.

在示例8中,示例1-7的主題包括:向使用者設備傳輸產生的TGV類型分類;從該使用者設備接收至少一個TGV類型分類不正確的指示;以及基於該指示向該TGV類型分類器提供進一步的訓練。In Example 8, the subject matter of Examples 1-7 includes: transmitting to user equipment the generated TGV type classification; receiving from the user equipment an indication that at least one TGV type classification is incorrect; and reporting to the TGV type classifier based on the indication Provide further training.

在示例9中,示例1-8的主題包括:其中該等產生的影像具有多個不同的影像類型,該等影像類型包括以下項目中的一者或多者:RGB影像、黑白影像、陰影影像和CT掃描影像。In Example 9, the subject matter of Examples 1-8 includes wherein the generated images are of a plurality of different image types including one or more of the following: RGB images, black and white images, shaded images and CT scan images.

在示例10中,示例1-9的主題包括:其中該分類引擎包括使用線上監督式學習來訓練的人工神經網路(ANN)。In Example 10, the subject matter of Examples 1-9 includes wherein the classification engine comprises an artificial neural network (ANN) trained using online supervised learning.

示例11是至少一個包括指令的機器可讀取媒體,該等指令當由處理電路系統執行時,使得該處理電路系統執行操作以實施示例1-10中的任一者。Example 11 is at least one machine-readable medium comprising instructions that, when executed by the processing circuitry, cause the processing circuitry to perform operations to implement any of Examples 1-10.

示例12是一種包括用於實施示例1-10中的任一者的構件的構件。Example 12 is a component comprising the means for implementing any of Examples 1-10.

示例13是一種用於實施示例1-10中的任一者的系統。Example 13 is a system for implementing any of Examples 1-10.

示例14是一種用於實施示例1-10中的任一者的方法。Example 14 is a method for implementing any of Examples 1-10.

雖然已經參照具體示例實施例來描述實施例,但顯然,在不脫離本揭示內容的更廣泛的精神和範圍的情況下,可以對這些實施例作出各種修改和變化。因此,應就說明的角度而非限制的角度看待說明書和附圖。形成本文的一部分的附圖藉由說明而非限制的方式示出了其中可以實行主題的具體實施例。對所說明的實施例進行了足夠詳細的說明,以使本領域的技術人員能夠實行本文所揭露的教示。其他的實施例可以被利用並由此衍生,使得在不脫離本揭示內容的範圍的情況下,可以作出結構性和邏輯性的替代和改變。因此,本「實施方式」不應具有限制性的意義,並且各種實施例的範圍僅由所附的請求項以及這些請求項有權獲得的全部等效物所界定。Although embodiments have been described with reference to specific example embodiments, it will be apparent that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the disclosure. Accordingly, the specification and drawings are to be viewed in terms of illustration rather than limitation. The accompanying drawings, which form a part hereof, show, by way of illustration and not limitation, specific embodiments in which the subject matter may be practiced. The illustrated embodiments are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed herein. Other embodiments may be utilized and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of the present disclosure. Accordingly, the present "embodiments" should not be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims and all equivalents to which such claims are entitled.

雖然本文說明和描述了具體的實施例,但應理解,任何為實現相同目的的安排都可以替代所示的具體實施例。本揭示內容旨在涵蓋各種實施例的任何和所有的調適或變化。上述實施例的組合,以及本文未具體描述的其他實施例,對於本領域的技術人員來說,在審視上述描述後將是顯而易見的。Although specific embodiments have been illustrated and described herein, it should be understood that any arrangement which achieves the same purpose may be substituted for the specific embodiments shown. This disclosure is intended to cover any and all adaptations or variations of various embodiments. Combinations of the above-described embodiments, and other embodiments not specifically described herein, will be apparent to those of skill in the art upon reviewing the above description.

在本文件中,術語「一(a)」或「一(an)」的使用,正如專利文件中常見的那樣,包括一個或多於一個,與「至少一個」或「一個或多個」的任何其他實例或用法無關。在本文件中,除非另有表明,否則術語「或」用來指非排它性的或,使得「A或B」包括「A但非B」、「B但非A」和「A和B」。在本文件中,術語「包括(including)」和「其中(in which)」被用作相應術語「包括(comprising)」和「其中(wherein)」的簡單英語等效物。並且,在以下請求項中,術語「包括(including)」和「包括(comprising)」是開放式的,也就是說,系統、使用者設備(UE)、製品、組成物、配方或製程,如果包括了除了請求項中在這種術語之後列出的那些元素以外的元素,仍然被視為落在該請求項的範圍之內。此外,在以下請求項中,術語「第一」、「第二」和「第三」等等僅用作標籤,並且不旨在對其客體施加數值要求。In this document, use of the term "a(a)" or "an" as is common in patent documents includes one or more than one, as opposed to "at least one" or "one or more" Any other instances or usages are irrelevant. In this document, unless otherwise indicated, the term "or" is used to denote a non-exclusive or such that "A or B" includes "A but not B", "B but not A" and "A and B ". In this document, the terms "including" and "in which" are used as the plain English equivalents of the corresponding terms "comprising" and "wherein". Also, in the following claims, the terms "including" and "comprising" are open ended, that is, a system, user equipment (UE), article, composition, formulation or process, if Inclusion of elements other than those listed after such term in the claim is still considered to be within the scope of the claim. Furthermore, in the following claims, the terms "first", "second" and "third" etc. are used only as labels and are not intended to impose numerical requirements on their objects.

提供本揭示內容的「摘要」是為了符合專利法的規定,該規定要求摘要能讓讀者快速確定技術揭示內容的本質。提交時的理解是,它不會被用來解釋或限制請求項的範圍或含義。此外,在前述的「實施方式」中,可以看出,為了精簡揭示內容,將各種特徵分組在單個實施例中。這種揭露方法不應被解釋為反映出一種意圖,即所請求保護的實施例需要比每個請求保護中明確記載的特徵還多的特徵。相反,正如以下請求項所反映的,具有發明性的標的的特徵可以少於單個揭露的實施例的所有特徵。因此,以下的請求項特此納入「實施方式」中,其中每個請求項作為單獨的實施例而獨立存在。An "Abstract" of this disclosure is provided to comply with patent law requirements that require an abstract that will enable the reader to quickly ascertain the nature of the technical disclosure. It is submitted with the understanding that it will not be used to interpret or limit the scope or meaning of the requested items. In addition, in the foregoing "Description of Embodiments," it can be seen that various features are grouped in a single embodiment for the purpose of streamlining the disclosure. This method of disclosure is not to be interpreted as reflecting an intention that the claimed embodiments require more features than are expressly recited in each claim. Rather, as the following claims reflect, inventive subject matter may lie in less than all features of a single disclosed embodiment. Therefore, the following claims are hereby incorporated into the "embodiments", wherein each claim exists independently as a separate embodiment.

102:特徵 103:訊息字 104:訊息概念 105:通訊歷史 106:過去的使用者行為 107:訊息主題 108:其他訊息屬性 109:發送者 110:使用者資料 112:訓練資料 114:操作 116:機器學習程式 118:新資料 120:評估 202:源域資料 204:神經網路 206:層 208:神經元 302:方塊 304:類別 306:影像 308:方塊 310:方塊 312:影像 314:方塊 402:特徵抽取層 406:層 407:層 408:層 409:層 410:層 411:層 412:層 413:層 414:分類器層 500:計算機 502:處理器 504:主記憶體 506:靜態記憶體 508:交鏈 510:視訊顯示單元 512:文數字輸入設備 514:使用者介面(UI)導航設備 516:儲存設備 518:訊號產生設備 520:網路介面設備 521:感測器 522:機器可讀取媒體 524:指令 526:通訊網路 528:輸出控制器 600:示意圖 602:攝影機 604:物件 606:TGV 608:晶片發光二極體 610:擴散背光 700:TGV缺陷檢驗系統 702:區域攝影機 704:旋轉單元 706:光電源 708:背光照明器 710:X/Y運動 800:影像 802:腰部 804:入口和出口 806:側視圖 1200:橫截面 1202:顫動標記 1204:影像 1300:影像 1302:無缺陷導孔 1304:有缺陷導孔 1306:有缺陷導孔 1400:影像 1402:窄腰導孔 1404:盲導孔 1406:凸起導孔 1408:良好(無缺陷)的導孔 1500:影像 1502:影像 1504:影像 1600:導孔分類圖 1602:導孔分類圖 1604:導孔分類圖 1700:導孔分類圖 1702:導孔分類圖 1704:導孔分類圖 1900:系統 1902:X運動 1904:Y運動 1906:攝影機 1908:LED背光載具 1910:旋轉台 2100:機器學習程序 2102:標記工具 2104:ML分類 2106:重新標記和選擇工具 2108:訓練資料集 2200:計算設備 2210:處理電路系統 2220:記憶體 2230:影像產生引擎 2240:電腦視覺引擎 2250:分類引擎 2300:方法 2310:方塊 2320:方塊 2330:方塊 2340:方塊 2350:方塊 2360:方塊 2370:方塊 102: Features 103: message word 104:Message concept 105: Communication history 106: Past User Behavior 107: Message subject 108: Other message attributes 109: sender 110:User information 112: Training data 114: Operation 116:Machine Learning Programs 118: New information 120: Evaluation 202: source domain data 204: Neural Networks 206: layer 208: Neurons 302: block 304: category 306: Image 308: block 310: block 312: Image 314: block 402: Feature extraction layer 406: layer 407: layer 408: layer 409: layer 410: layer 411: layer 412: layer 413: layer 414: Classifier layer 500: computer 502: Processor 504: main memory 506: static memory 508: cross-link 510: Video display unit 512: Alphanumeric input device 514: User interface (UI) navigation equipment 516: storage device 518: Signal generating equipment 520: Network interface equipment 521: sensor 522: Machine-readable media 524: instruction 526: Communication network 528: Output controller 600: Schematic diagram 602: camera 604: Object 606:TGV 608: chip light emitting diode 610: Diffuse backlight 700: TGV defect inspection system 702: Area camera 704: Rotation unit 706: Optical power supply 708: backlight illuminator 710: X/Y movement 800: Image 802: waist 804:Entrance and exit 806: side view 1200: cross section 1202: quiver mark 1204: Image 1300: Image 1302: No defect guide hole 1304: Defective guide hole 1306: Defective guide hole 1400: Image 1402: narrow waist guide hole 1404: blind guide hole 1406: raised guide hole 1408: Good (no defect) via 1500: Image 1502: Image 1504: Image 1600: Guide hole classification diagram 1602: Guide hole classification diagram 1604: Guide hole classification diagram 1700: Guide hole classification diagram 1702: Guide hole classification diagram 1704: Guide hole classification diagram 1900: System 1902: X Movement 1904:Y movement 1906: Camera 1908: LED backlit vehicle 1910: Turntable 2100: Machine Learning Programs 2102: Marking Tool 2104: ML Classification 2106: Remark and select tools 2108: training data set 2200: Computing equipment 2210: Processing Circuitry 2220: Memory 2230: Image generation engine 2240: Computer Vision Engine 2250: classification engine 2300: method 2310: block 2320: block 2330: block 2340: block 2350: block 2360: block 2370: block

圖1說明了依據一些實施例的機器學習程式的訓練和使用。Figure 1 illustrates the training and use of a machine learning program in accordance with some embodiments.

圖2說明了依據一些實施例的示例神經網路。Figure 2 illustrates an example neural network in accordance with some embodiments.

圖3說明了依據一些實施例的影像辨識機器學習程式的訓練。FIG. 3 illustrates the training of an image recognition machine learning program according to some embodiments.

圖4說明了依據一些實施例的特徵抽取過程和分類器訓練。Figure 4 illustrates the feature extraction process and classifier training in accordance with some embodiments.

圖5是依據一些實施例的計算機(computing machine)的方塊圖。Figure 5 is a block diagram of a computing machine in accordance with some embodiments.

圖6說明了依據一些實施例,使用背光的玻璃導通孔(TGV)檢驗的示例示意圖。6 illustrates an example schematic diagram of glass via (TGV) inspection using a backlight, in accordance with some embodiments.

圖7說明了依據一些實施例的示例TGV缺陷檢驗系統。Figure 7 illustrates an example TGV defect inspection system in accordance with some embodiments.

圖8說明了依據一些實施例,利用光學顯微鏡經由腰部、經由入口和出口以及經由側視圖進行的示例TGV表徵。8 illustrates example TGV characterizations via the waist, via the inlet and outlet, and via the side view using an optical microscope, in accordance with some embodiments.

圖9說明了依據一些實施例的TGV的示例計算地形(CT)掃描影像,其示出無缺陷導孔和具有內部缺陷的導孔。9 illustrates example computed topography (CT) scan images of a TGV showing defect-free vias and vias with internal defects, in accordance with some embodiments.

圖10A-10B說明了依據一些實施例,從原始區域掃描影像裁剪出的單獨導孔影像,它們的分類後的形狀/內部缺陷,並且它們的位置被轉換並映射到零件座標(part coordinate)。10A-10B illustrate individual via images cropped from raw area scan images, their classified shapes/internal defects, and their positions transformed and mapped to part coordinates, according to some embodiments.

圖11說明了依據一些實施例的有缺陷的TGV,它們具有取決於缺陷類型和光學配置的不同二維(2D)特徵。Figure 11 illustrates defective TGVs with different two-dimensional (2D) features depending on defect type and optical configuration, according to some embodiments.

圖12說明了依據一些實施例的示例導孔CT掃描影像橫截面。Figure 12 illustrates a cross section of an example via CT scan image in accordance with some embodiments.

圖13說明了依據一些實施例,包括無缺陷導孔和有缺陷導孔的利用背光的示例線掃描影像。13 illustrates example line scan images using backlighting including non-defective vias and defective vias, in accordance with some embodiments.

圖14說明了依據一些實施例的不同類型的導孔的示例影像。Figure 14 illustrates example images of different types of vias in accordance with some embodiments.

圖15說明了依據一些實施例,非金屬化和金屬化的TGV在斜角下的示例TGV影像示例TGV影像。15 illustrates example TGV images of non-metallized and metallized TGVs at oblique angles, in accordance with some embodiments.

圖16說明了依據一些實施例的第一示例導孔分類圖。Figure 16 illustrates a first example via classification diagram in accordance with some embodiments.

圖17說明了依據一些實施例的第二示例導孔分類圖。Figure 17 illustrates a second example via classification diagram in accordance with some embodiments.

圖18說明了依據一些實施例的示例區域掃描影像機器學習分類結果。Figure 18 illustrates example area scan imagery machine learning classification results in accordance with some embodiments.

圖19說明了依據一些實施例的示例TGV檢驗系統。Figure 19 illustrates an example TGV inspection system in accordance with some embodiments.

圖20說明了依據一些實施例,內部缺陷率與蝕刻延遲之間的示例關係。Figure 20 illustrates an example relationship between internal defect rate and etch delay, in accordance with some embodiments.

圖21說明了依據一些實施例的示例機器學習程序。Figure 21 illustrates an example machine learning program in accordance with some embodiments.

圖22是依據一些實施例,用於TGV缺陷檢驗的計算設備的方塊圖。Figure 22 is a block diagram of a computing device for TGV defect inspection, according to some embodiments.

圖23是依據一些實施例,用於TGV缺陷檢驗的電腦實施方法的流程圖。23 is a flowchart of a computer-implemented method for TGV defect inspection, according to some embodiments.

國內寄存資訊 (請依寄存機構、日期、號碼順序註記) 無 Domestic deposit information (please note in order of depositor, date, and number) none

國外寄存資訊 (請依寄存國家、機構、日期、號碼順序註記) 無 Overseas storage information (please note in order of storage country, organization, date, and number) none

102:特徵 102: Features

103:訊息字 103: message word

104:訊息概念 104:Message concept

105:通訊歷史 105: Communication history

106:過去的使用者行為 106: Past User Behavior

107:訊息主題 107: Message subject

108:其他訊息屬性 108: Other message attributes

109:發送者 109: sender

110:使用者資料 110:User information

112:訓練資料 112: Training data

114:操作 114: Operation

116:機器學習程式 116:Machine Learning Programs

118:新資料 118: New information

120:評估 120: Evaluation

Claims (20)

一種方法,包括以下步驟: 由一計算設備,控制一照明源和一成像設備,以產生玻璃導通孔(TGV)的影像,其中該等TGV包括一透明工件中的蝕刻的或金屬化的微導孔,該透明工件包括至少兩個表面,其中控制該照明源和該成像設備包括對多個TGV進行以下步驟: 引導該照明源將光照到該工件中的該等TGV上;以及 引導該成像設備偵測來自被該等TGV散射的光的一散射影像訊號,其中該成像設備的一成像軸相對於來自該多個TGV的一給定TGV的一軸延伸一非零的成像角度,其中該給定的TGV的整體都在該成像設備的一視野之內; 使用該計算設備處的一影像產生引擎,基於由該成像設備所偵測到的該等散射影像訊號來產生該等TGV的影像; 使用該計算設備處的一電腦視覺引擎,基於由該成像設備所偵測到的該等散射影像訊號來計算該等影像內的該等TGV的座標; 為該等影像中的一個或多個TGV並基於該等計算的座標,使用該計算設備處的一分類引擎來產生一TGV類型分類,其中該TGV類型分類表明該TGV是否具有或缺乏一缺陷,並且如果該TGV有一缺陷,表明一缺陷類型; 基於該等產生的TGV類型分類,決定多個TGV具有與一給定缺陷類型相關聯的一缺陷; 在該計算設備處,識別與該給定缺陷類型相關聯的一製造機器設定;以及 從該計算設備,傳輸一控制訊號以調整該製造機器設定。 A method comprising the steps of: An illumination source and an imaging device are controlled by a computing device to generate images of through glass vias (TGVs), wherein the TGVs comprise etched or metalized microvias in a transparent workpiece comprising at least The two surfaces, wherein controlling the illumination source and the imaging device include performing the following steps on a plurality of TGVs: directing the illumination source to shine light onto the TGVs in the workpiece; and directing the imaging device to detect a scattered image signal from light scattered by the TGVs, wherein an imaging axis of the imaging device extends a non-zero imaging angle relative to an axis of a given TGV from the plurality of TGVs, wherein the entirety of the given TGV is within a field of view of the imaging device; using an image generation engine at the computing device to generate images of the TGVs based on the scattered image signals detected by the imaging device; using a computer vision engine at the computing device to calculate the coordinates of the TGVs within the images based on the scattered image signals detected by the imaging device; for one or more TGVs in the images and based on the calculated coordinates, using a classification engine at the computing device to generate a TGV type classification, wherein the TGV type classification indicates whether the TGV has or lacks a defect, and if the TGV has a defect, indicate a defect type; determining a plurality of TGVs having a defect associated with a given defect type based on the generated TGV type classifications; at the computing device, identifying a manufacturing machine setting associated with the given defect type; and From the computing device, a control signal is transmitted to adjust the manufacturing machine settings. 如請求項1所述的方法,其中該成像設備包括設置在該成像軸上的一攝影機和一成像透鏡,其中該攝影機包括一區域掃描攝影機或一線掃描攝影機,其中該非零的成像角度介於30度與60度之間。The method as claimed in claim 1, wherein the imaging device includes a camera and an imaging lens arranged on the imaging axis, wherein the camera includes an area scan camera or a line scan camera, wherein the non-zero imaging angle is between 30 degrees and 60 degrees. 如請求項2所述的方法,其中該成像透鏡包括取決於該透明工件的一厚度的一放大係數和一數值孔徑。The method of claim 2, wherein the imaging lens includes a magnification factor and a numerical aperture that depend on a thickness of the transparent workpiece. 如請求項3所述的方法,其中該透明工件的該厚度介於1與1000微米之間,其中該放大係數小於3。The method of claim 3, wherein the thickness of the transparent workpiece is between 1 and 1000 microns, and wherein the magnification factor is less than 3. 如請求項1所述的方法,其中該控制訊號被直接傳輸到一製造機器,以調整那裡的該製造機器設定。The method of claim 1, wherein the control signal is transmitted directly to a manufacturing machine to adjust settings of the manufacturing machine there. 如請求項5所述的方法,進一步包括: 存取在調整該製造機器設定之後製造的TGV的附加影像; 決定與該給定缺陷類型相關聯的該缺陷是否在頻率上發生變化;以及 從該計算設備向該製造機器傳輸附加控制訊號,以進一步基於該給定缺陷類型的一頻率變化來調整該製造機器設定。 The method as described in claim item 5, further comprising: access additional images of TGVs manufactured after adjusting the manufacturing machine settings; determining whether the defect associated with the given defect type has changed in frequency; and Additional control signals are transmitted from the computing device to the manufacturing machine to further adjust the manufacturing machine settings based on a change in frequency of the given defect type. 如請求項1所述的方法,其中該控制訊號被傳輸到一使用者設備,以指示一最終使用者調整該製造機器設定。The method of claim 1, wherein the control signal is transmitted to a user device to instruct an end user to adjust the manufacturing machine settings. 如請求項1所述的方法,進一步包括: 向一使用者設備傳輸該等產生的TGV類型分類; 從該使用者設備接收至少一個TGV類型分類不正確的一指示;以及 基於該指示向該TGV類型分類器提供進一步的訓練。 The method as described in claim item 1, further comprising: transmitting the generated TGV type classifications to a UE; receiving an indication from the UE that at least one TGV type classification is incorrect; and Further training is provided to the TGV type classifier based on this indication. 如請求項1所述的方法,其中該等產生的影像具有多個不同的影像類型,該等影像類型包括以下項目中的一者或多者:RGB影像、黑白影像、陰影影像和CT掃描影像。The method of claim 1, wherein the generated images are of a plurality of different image types including one or more of the following: RGB images, black and white images, shadow images, and CT scan images . 如請求項1所述的方法,其中該分類引擎包括使用線上監督式學習來訓練的一人工神經網路(ANN)。The method of claim 1, wherein the classification engine comprises an artificial neural network (ANN) trained using online supervised learning. 一種儲存指令的非暫時性機器可讀取媒體,該等指令當由處理電路系統執行時,使得該處理電路系統: 控制一照明源和一成像設備,以產生玻璃導通孔(TGV)的影像,其中該等TGV包括一透明工件中的蝕刻的或金屬化的微導孔,該透明工件包括至少兩個表面,其中控制該照明源和該成像設備包括對多個TGV進行以下步驟: 引導該照明源將光照到該工件中的該等TGV上;以及 引導該成像設備偵測來自被該等TGV散射的光的一散射影像訊號,其中該成像設備的一成像軸相對於來自該多個TGV的一給定TGV的一軸延伸一非零的成像角度,其中該給定的TGV的整體都在該成像設備的一視野之內; 使用一影像產生引擎,基於由該成像設備所偵測到的該等散射影像訊號來產生該等TGV的影像; 使用一電腦視覺引擎,基於由該成像設備所偵測到的該等散射影像訊號來計算該等影像內的該等TGV的座標; 為該等影像中的一個或多個TGV並基於該等計算的座標,使用一分類引擎來產生一TGV類型分類,其中該TGV類型分類表明該TGV是否具有或缺乏一缺陷,並且如果該TGV有一缺陷,表明一缺陷類型; 基於該等產生的TGV類型分類,決定多個TGV具有與一給定缺陷類型相關聯的一缺陷; 識別與該給定缺陷類型相關聯的一製造機器設定;以及 傳輸一控制訊號以調整該製造機器設定。 A non-transitory machine-readable medium storing instructions that, when executed by processing circuitry, cause the processing circuitry to: controlling an illumination source and an imaging device to generate images of through glass vias (TGVs), wherein the TGVs comprise etched or metalized microvias in a transparent workpiece comprising at least two surfaces, wherein Controlling the illumination source and the imaging device includes performing the following steps on a plurality of TGVs: directing the illumination source to shine light onto the TGVs in the workpiece; and directing the imaging device to detect a scattered image signal from light scattered by the TGVs, wherein an imaging axis of the imaging device extends a non-zero imaging angle relative to an axis of a given TGV from the plurality of TGVs, wherein the entirety of the given TGV is within a field of view of the imaging device; using an image generation engine to generate images of the TGVs based on the scattered image signals detected by the imaging device; using a computer vision engine to calculate the coordinates of the TGVs within the images based on the scattered image signals detected by the imaging device; for one or more TGVs in the images and based on the calculated coordinates, using a classification engine to generate a TGV type classification, wherein the TGV type classification indicates whether the TGV has or lacks a defect, and if the TGV has a defect, indicating a defect type; determining a plurality of TGVs having a defect associated with a given defect type based on the generated TGV type classifications; identifying a manufacturing machine setup associated with the given defect type; and A control signal is transmitted to adjust the manufacturing machine settings. 如請求項11所述的機器可讀取媒體,其中該成像設備包括設置在該成像軸上的一攝影機和一成像透鏡,其中該攝影機包括一區域掃描攝影機或一線掃描攝影機,其中該非零的成像角度介於30度與60度之間。The machine-readable medium of claim 11, wherein the imaging device includes a camera and an imaging lens disposed on the imaging axis, wherein the camera includes an area scan camera or a line scan camera, wherein the non-zero imaging The angle is between 30 degrees and 60 degrees. 如請求項12所述的機器可讀取媒體,其中該成像透鏡包括取決於該透明工件的一厚度的一放大係數和一數值孔徑。The machine-readable medium of claim 12, wherein the imaging lens includes a magnification factor and a numerical aperture that depend on a thickness of the transparent workpiece. 如請求項13所述的機器可讀取媒體,其中該透明工件的該厚度介於1與1000微米之間,其中該放大係數小於3。The machine-readable medium of claim 13, wherein the thickness of the transparent workpiece is between 1 and 1000 microns, wherein the magnification factor is less than 3. 如請求項11所述的機器可讀取媒體,其中該控制訊號被直接傳輸到一製造機器,以調整那裡的該製造機器設定。The machine readable medium of claim 11, wherein the control signal is transmitted directly to a manufacturing machine to adjust settings of the manufacturing machine there. 如請求項15所述的機器可讀取媒體,進一步儲存了指令,該等指令當由該處理電路系統執行時,使得該處理電路系統: 存取在調整該製造機器設定之後製造的TGV的附加影像; 決定與該給定缺陷類型相關聯的該缺陷是否在頻率上發生變化;以及 向該製造機器傳輸附加控制訊號,以進一步基於該給定缺陷類型的一頻率變化來調整該製造機器設定。 The machine-readable medium of claim 15, further storing instructions that, when executed by the processing circuitry, cause the processing circuitry to: access additional images of TGVs manufactured after adjusting the manufacturing machine settings; determining whether the defect associated with the given defect type has changed in frequency; and Additional control signals are transmitted to the manufacturing machine to further adjust the manufacturing machine settings based on a change in frequency of the given defect type. 如請求項11所述的機器可讀取媒體,其中該控制訊號被傳輸到一使用者設備,以指示一最終使用者調整該製造機器設定。The machine readable medium of claim 11, wherein the control signal is transmitted to a user device to instruct an end user to adjust the manufacturing machine settings. 一種系統,包括: 處理電路系統;以及 一記憶體,儲存指令,該等指令當由該處理電路系統執行時,使得該處理電路系統: 控制一照明源和一成像設備,以產生玻璃導通孔(TGV)的影像,其中該等TGV包括一透明工件中的蝕刻的或金屬化的微導孔,該透明工件包括至少兩個表面,其中控制該照明源和該成像設備包括對多個TGV進行以下步驟: 引導該照明源將光照到該工件中的該等TGV上;以及 引導該成像設備偵測來自被該等TGV散射的光的一散射影像訊號,其中該成像設備的一成像軸相對於來自該多個TGV的一給定TGV的一軸延伸一非零的成像角度,其中該給定的TGV的整體都在該成像設備的一視野之內; 使用一影像產生引擎,基於由該成像設備所偵測到的該等散射影像訊號來產生該等TGV的影像; 使用一電腦視覺引擎,基於由該成像設備所偵測到的該等散射影像訊號來計算該等影像內的該等TGV的座標; 為該等影像中的一個或多個TGV並基於該等計算的座標,使用一分類引擎來產生一TGV類型分類,其中該TGV類型分類表明該TGV是否具有或缺乏一缺陷,並且如果該TGV有一缺陷,表明一缺陷類型; 基於該等產生的TGV類型分類,決定多個TGV具有與一給定缺陷類型相關聯的一缺陷; 識別與該給定缺陷類型相關聯的一製造機器設定;以及 傳輸一控制訊號以調整該製造機器設定。 A system comprising: processing circuitry; and A memory storing instructions that, when executed by the processing circuitry, cause the processing circuitry to: controlling an illumination source and an imaging device to generate images of through glass vias (TGVs), wherein the TGVs comprise etched or metalized microvias in a transparent workpiece comprising at least two surfaces, wherein Controlling the illumination source and the imaging device includes performing the following steps on a plurality of TGVs: directing the illumination source to shine light onto the TGVs in the workpiece; and directing the imaging device to detect a scattered image signal from light scattered by the TGVs, wherein an imaging axis of the imaging device extends a non-zero imaging angle relative to an axis of a given TGV from the plurality of TGVs, wherein the entirety of the given TGV is within a field of view of the imaging device; using an image generation engine to generate images of the TGVs based on the scattered image signals detected by the imaging device; using a computer vision engine to calculate the coordinates of the TGVs within the images based on the scattered image signals detected by the imaging device; for one or more TGVs in the images and based on the calculated coordinates, using a classification engine to generate a TGV type classification, wherein the TGV type classification indicates whether the TGV has or lacks a defect, and if the TGV has a defect, indicating a defect type; determining a plurality of TGVs having a defect associated with a given defect type based on the generated TGV type classifications; identifying a manufacturing machine setup associated with the given defect type; and A control signal is transmitted to adjust the manufacturing machine settings. 如請求項18所述的系統,其中該成像設備包括設置在該成像軸上的一攝影機和一成像透鏡,其中該攝影機包括一區域掃描攝影機或一線掃描攝影機,其中該非零的成像角度介於30度與60度之間。The system of claim 18, wherein the imaging device includes a camera and an imaging lens disposed on the imaging axis, wherein the camera includes an area scan camera or a line scan camera, wherein the non-zero imaging angle is between 30 degrees and 60 degrees. 如請求項19所述的系統,其中該成像透鏡包括取決於該透明工件的一厚度的一放大係數和一數值孔徑。The system of claim 19, wherein the imaging lens includes a magnification factor and a numerical aperture that depend on a thickness of the transparent workpiece.
TW111121372A 2021-06-17 2022-06-09 Computer architecture for through glass via defect inspection TW202323807A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US202163211717P 2021-06-17 2021-06-17
US63/211,717 2021-06-17

Publications (1)

Publication Number Publication Date
TW202323807A true TW202323807A (en) 2023-06-16

Family

ID=82482617

Family Applications (1)

Application Number Title Priority Date Filing Date
TW111121372A TW202323807A (en) 2021-06-17 2022-06-09 Computer architecture for through glass via defect inspection

Country Status (2)

Country Link
TW (1) TW202323807A (en)
WO (1) WO2022265871A1 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL188029A0 (en) * 2007-12-10 2008-11-03 Nova Measuring Instr Ltd Optical method and system
US10293436B2 (en) 2013-12-17 2019-05-21 Corning Incorporated Method for rapid laser drilling of holes in glass and products made therefrom
JP2018087699A (en) * 2015-03-31 2018-06-07 東京エレクトロン株式会社 Silicon penetration via formation production management system, silicon penetration via production management method, recording medium, and program

Also Published As

Publication number Publication date
WO2022265871A1 (en) 2022-12-22

Similar Documents

Publication Publication Date Title
TWI713672B (en) System, non-transitory computer-readable medium, and computer-implemented method for generating simulated output for a specimen
CN101981683B (en) Method for classifying defects and device for classifying defects
US9002072B2 (en) System for detection of non-uniformities in web-based materials
JP7250126B2 (en) Computer architecture for artificial image generation using autoencoders
US11468266B2 (en) Target identification in large image data
US20200364549A1 (en) Predicting optical fiber manufacturing performance using neural network
Mordia et al. Visual techniques for defects detection in steel products: A comparative study
US20210097345A1 (en) Computer architecture for object detection using point-wise labels
US7511835B2 (en) Optical metrology using a support vector machine with simulated diffraction signal inputs
Ikemoto et al. Classification of grazing-incidence small-angle X-ray scattering patterns by convolutional neural network
CN115516295A (en) Defect size measurement using deep learning method
US11003909B2 (en) Neural network trained by homographic augmentation
Lei et al. Multiscale convolution-based probabilistic classification for detecting bare PCB defects
Saifullah et al. Nondestructive chicken egg fertility detection using CNN-transfer learning algorithms
Banda et al. Machine vision and convolutional neural networks for tool wear identification and classification
WO2020112188A1 (en) Computer architecture for artificial image generation
Hou et al. A self-supervised CNN for particle inspection on optical element
CN116205918B (en) Multi-mode fusion semiconductor detection method, device and medium based on graph convolution
Rosati et al. Bias from the wild industry 4.0: Are we really classifying the quality or shotgun series?
TW202323807A (en) Computer architecture for through glass via defect inspection
Maiti et al. Classification of materials in cylindrical workpieces using image processing and machine learning techniques
Yin et al. A novel automatic classification approach for micro-flaws on the large-aperture optics surface based on multi-light source fusion and integrated deep learning architecture
US20210326645A1 (en) Robust correlation of vehicle extents and locations when given noisy detections and limited field-of-view image frames
Go et al. A deep learning-based surface defect inspection system for smartphone glass
Tchéré et al. Experimental identification of a grating profile using neural network classifiers in optical scatterometry