TW202203152A - 訓練自動缺陷分類之檢測儀器的方法與系統及其儲存媒體 - Google Patents
訓練自動缺陷分類之檢測儀器的方法與系統及其儲存媒體 Download PDFInfo
- Publication number
- TW202203152A TW202203152A TW110118315A TW110118315A TW202203152A TW 202203152 A TW202203152 A TW 202203152A TW 110118315 A TW110118315 A TW 110118315A TW 110118315 A TW110118315 A TW 110118315A TW 202203152 A TW202203152 A TW 202203152A
- Authority
- TW
- Taiwan
- Prior art keywords
- training
- classifier
- images
- inspection
- neural network
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/0002—Inspection of images, e.g. flaw detection
- G06T7/0004—Industrial image inspection
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/26—Testing of individual semiconductor devices
- G01R31/265—Contactless testing
- G01R31/2656—Contactless testing using non-ionising electromagnetic radiation, e.g. optical radiation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/01—Dynamic search techniques; Heuristics; Dynamic trees; Branch-and-bound
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
- G06N5/025—Extracting rules from data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/87—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using selection of the recognition techniques, e.g. of a classifier in a multiple classifier system
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2832—Specific tests of electronic circuits not provided for elsewhere
- G01R31/2834—Automated test systems [ATE]; using microprocessors or computers
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2894—Aspects of quality control [QC]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2200/00—Indexing scheme for image data processing or generation, in general
- G06T2200/24—Indexing scheme for image data processing or generation, in general involving graphical user interfaces [GUIs]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20081—Training; Learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30141—Printed circuit board [PCB]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/30—Subject of image; Context of image processing
- G06T2207/30108—Industrial image inspection
- G06T2207/30148—Semiconductor; IC; Wafer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V2201/00—Indexing scheme relating to image or video recognition or understanding
- G06V2201/06—Recognition of objects for industrial automation
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Engineering & Computer Science (AREA)
- Computational Linguistics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Multimedia (AREA)
- Medical Informatics (AREA)
- Databases & Information Systems (AREA)
- Toxicology (AREA)
- Quality & Reliability (AREA)
- Electromagnetism (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- Image Analysis (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
提供一種電腦實施方法、檢測系統及非暫時性儲存媒體,用於使用機器學習自動產生缺陷分類模型,所述缺陷分類模型用於檢測半導體及/或印刷電路板(PCB)部件。缺陷分類模型由經訓練的神經網路二元分類器與最優化器的第一組合以及經訓練的神經網路多類別分類器與最優化器的第二組合自動建立。
Description
本技術領域一般而言是有關於用於自動缺陷檢測的檢測系統及方法,且更具體而言是有關於用於對所檢測的產品的缺陷進行自動分類的方法及系統。下文中呈現的方法及系統特別適用於檢測半導體產品。
製造製程一般而言包括在製程期間的不同里程碑(milestone)處對製造的部件進行自動化檢測,且通常至少在製造製程結束時進行。可使用對製造的部件進行光學分析並偵測缺陷部件的檢測系統進行檢測。可使用不同的技術,例如結合雷射三角測量(laser-triangulation)及/或干涉測量的照相機。自動化檢測系統確保製造的部件符合預期的品質標準,並依據辨識的缺陷的類型提供關於製造工具、儀器及/或成分所需調整的有用資訊。
在半導體行業中,不同類型的部件使用相同的生產線(manufacturing line)是常見的,無論是為相同的還是不同的用戶。因此,檢測系統必須能夠偵測無缺陷部件與缺陷部件,以及所辨識出的缺陷部件中存在的缺陷類型。缺陷的分類常常是費力的,且需要專家、檢測系統及製造製程的參與,以便能夠調節及配置系統來正確地辨識缺陷。用於調節現有缺陷類型及用於偵測新缺陷類型的檢測系統的配置在大多數情況下要求系統離線。半導體行業中的一種眾所周知的缺陷偵測方法包括將取得的影像與「罩幕(mask)」或「理想的部件佈局(ideal part layout)」進行比較,但此方法會遺漏許多未偵測到的缺陷。
需要一種在自動檢測產品時可幫助改善或促進對缺陷進行分類的過程的檢測系統及方法。
根據一態樣,提供一種使用機器學習自動產生缺陷分類模型的電腦實施方法,所述缺陷分類模型用於在自動化檢測系統中以檢測所製造的部件。所述方法包括以下步驟:獲取由所述檢測系統取得的部件的檢測影像。所述檢測影像與標籤資訊相關聯,所述標籤資訊指示給定影像對應於無缺陷部件還是對應於缺陷部件且對於對應於缺陷部件(例如,半導體及/或印刷電路板(Printed Circuit Board,PCB)部件)的所述檢測影像更指示缺陷類型。
所述方法亦包括以下步驟:使用所述檢測影像的第一子集來訓練二元分類器判斷所述檢測影像對應於無缺陷部件還是缺陷部件。所述二元分類器使用神經網路架構與最佳化器的第一組合。所述二元分類器是藉由所述第一組合中使用的神經網路架構的不同層的節點的權重以迭代方式進行更新而得到訓練。
所述方法亦包括以下步驟:使用所述檢測影像的對應於缺陷部件的第二子集來訓練多類別分類器判斷在此前被所述二元分類器判斷為對應於缺陷部件的所述檢測影像中的所述缺陷類型。所述多類別分類器使用神經網路架構與最佳化器的第二組合。所述多類別分類器是藉由所述第二組合的神經網路架構的不同層的節點的權重以迭代方式進行更新而得到訓練。
一旦所述二元分類器及所述多類別分類器已經過訓練,則建立或產生缺陷分類模型,其中配置檔案定義所述神經網路架構與最佳化器的第一組合及所述神經網路架構與最佳化器的第二組合以及其等的參數。所述配置檔案亦包括來自所述二元分類器及來自所述多類別分類器的神經網路架構中的每一者的節點的最終經更新的所述權重。自動缺陷分類模型藉此可由所述自動化檢測系統用於偵測缺陷部件以及用於辨識所檢測的製造部件上的缺陷類型。
在所述方法的可能實施方式中,訓練所述二元分類器的步驟更包括如下的初始步驟:在所述檢測影像的探索子集上自動地探索神經網路架構與最佳化器的不同組合。被選擇用於所述二元分類器的所述第一組合對應於在探索步驟期間在辨識無缺陷部件與缺陷部件方面提供最高精確度達給定數目個紀元(epoch)的組合。
在所述方法的可能實施方式中,訓練所述多類別分類器的步驟更包括如下的初始步驟:使用檢測影像的另一探索子集自動地探索神經網路架構與最佳化器的不同組合。為所述多類別分類器選擇的所述神經網路架構與最佳化器的第二組合對應於在探索步驟期間在辨識不同的缺陷類型方面提供最高精確度達給定數目個紀元的組合。
在所述方法的可能實施方式中,訓練所述二元分類器的步驟更包括以下步驟:自動地探索不同的損失函數(loss function)及不同的學習速率排程器(learning rate scheduler)。所述第一組合更藉由損失函數及在探索階段期間與所述神經網路架構與所述最佳化器一起在偵測無缺陷部件與缺陷部件方面提供最高精確度達所述給定數目個紀元的學習速率排程器來定義。所述損失函數及所述學習速率的選擇是自動進行的。所述缺陷分類模型的所述配置檔案更包括來自所述二元分類器的所選擇的所述損失函數及所述學習速率排程器的參數。
在所述方法的可能實施方式中,訓練所述多類別分類器的步驟更包括以下步驟:自動地探索所述不同的損失函數及所述學習速率排程器。所述第二組合更藉由所述損失函數及在探索階段期間與所述神經網路架構及所述最佳化器一起在辨識所述缺陷類型方面提供最高精確度達所述給定數目個紀元的所述學習速率排程器來定義。所述缺陷分類模型的所述配置檔案更包括來自所述多類別分類器的所選擇的所述損失函數及所述學習速率排程器的參數。
在所述方法的可能實施方式中,經更新的所述權重以及所選擇的所述神經網路架構、所述最佳化器、所述損失函數及所述學習速率排程器的所述參數被打包於可由所述自動化檢測系統加載的所述配置檔案中。
在所述方法的可能實施方式中,所述不同的神經網路架構包括以下神經網路架構中的至少一者:ResNet34、NesNet50、ResNet101、ResNet152、WideResNet50、WideResNet101、IncptionV3及InceptionResNet。
在所述方法的可能實施方式中,所述不同的最佳化器包括以下中的至少一者:Adam最佳化器及SGD最佳化器。
在所述方法的可能實施方式中,所述不同的損失函數包括以下中的至少一者:交叉熵(cross entropy)損失函數及NII損失函數。
在所述方法的可能實施方式中,所述不同的學習速率排程器包括以下中的至少一者:衰減速率排程器及循環速率排程器。
在所述方法的可能實施方式中,所述自動化檢測系統被訓練成偵測以下產品中的至少一者上的不同的缺陷類型:半導體封裝、晶圓、單面PCB、雙面PCB、多層PCB及基板。
在所述方法的可能實施方式中,所述缺陷類型包括以下中的一或多者:鍍覆不足、異物、部件不完整、裂紋、污跡、異常電路、抗蝕劑殘留、變形、劃傷、簇集及金屬膜殘留。
在所述方法的可能實施方式中,獲取所述檢測影像包括:經由圖形使用者介面取得一系列一或多個其中儲存有所述檢測影像的影像文件夾。
在所述方法的可能實施方式中,所述二元分類器及所述多類別分類器的訓練是因應於經由圖形使用者介面進行的輸入而啟動的。
在所述方法的可能實施方式中,藉由經由所述圖形使用者介面取得的輸入來控制所述二元分類器及所述多類別分類器的訓練以暫停、中止或恢復所述訓練。
在可能的實施方式中,所述方法包括以下步驟:驗證所述檢測影像的總數目是否足以啟動所述二元分類器的所述訓練,且如果足以啟動,則判斷與每一缺陷類型相關聯的檢測影像的數目是否足以啟動所述多類別分類器的所述訓練,藉此使得僅針對每一缺陷類型具有足夠數目個檢測影像的缺陷類型來啟動所述多類別分類器的所述訓練。
在可能的實施方式中,所述方法包括:當與給定缺陷類型相關聯的檢測影像的數目不足時,使用資料擴增演算法(data augmentation algorithm)增大所述給定缺陷類型的檢測影像的所述數目。
在可能的實施方式中,所述方法包括:在訓練所述二元分類器及所述多類別分類器之前,針對所述第一子集及所述第二子集中的每一者將所述檢測影像自動地分成至少訓練資料集及驗證資料集。所述訓練資料集是在訓練期間用於設定所述神經網路架構與最佳化器的所述第一組合的初始參數及所述神經網路架構與最佳化器的所述第二組合的初始參數。所述驗證資料集用於在所述二元分類器及所述多類別分類器的所述訓練期間驗證且進一步調整所述節點的所述權重。
在可能的實施方式中,所述方法包括:一旦所述二元分類器及所述多類別分類器已經過訓練,自動地將所述檢測影像分成測試資料集以用於確認所述第一組合及所述第二組合的所述參數及所述權重。
在所述方法的可能實施方式中,用於在每一訓練迭代中訓練所述二元分類器及所述多類別分類器的檢測影像的數目是根據實行所述訓練的處理器的可用物理資源而動態地改變。
在所述方法的可能實施方式中,在每次迭代中通過所述二元分類器及所述多類別分類器的所述數目個檢測影像被集束成預定批大小,所述預定批大小被進行測試直至所述處理器可應對可接受的批大小。
在所述方法的可能實施方式中,所述二元分類器及所述多類別分類器的所述訓練是藉由將所述檢測影像以相繼的批饋送至分類器來實行,且其中每一批中的檢測影像的數目是根據處理資源的可用性而動態地調整。
在所述方法的可能實施方式中,獲取所述檢測影像包括掃描影像伺服器並在圖形使用者介面上顯示包括機器辨識符、用戶辨識符、配方辨識符及批次或裝置辨識符的文件夾架構的表示形式以供使用者選擇。
在可能的實施方式中,所述方法包括:在將所述檢測影像複製至訓練伺服器之前核驗所述檢測影像是否早已儲存於所述訓練伺服器上。
根據另一態樣,提供一種藉由機器學習而自動產生缺陷分類模型的自動化檢測系統,每一模型適於檢測特定的部件類型。不同的缺陷分類模型可用於檢測不同類型的製造部件,例如半導體及/或印刷電路板(PCB)部件。系統包括:一或多個專用伺服器,包括處理器及資料儲存器,所述資料儲存器上儲存有。所述系統亦包括:獲取模組,用於獲取由所述檢測系統取得的部件的檢測影像,其中所述檢測影像與標籤資訊相關聯,所述標籤資訊指示給定影像對應於無缺陷部件還是缺陷部件且對於對應於缺陷部件的所述檢測影像更指示缺陷類型。
所述系統亦包括:訓練應用,包括:二元分類器,可使用所述檢測影像的第一子集藉由對用於所述二元分類器的神經網路架構的節點的權重以迭代方式進行更新來進行訓練以判斷所述檢測影像對應於無缺陷部件還是缺陷部件。所述二元分類器使用神經網路架構與最佳化器的第一組合。所述訓練應用亦包括:多類別分類器,可使用所述檢測影像的對應於缺陷部件的第二子集以判斷此前被所述二元分類器判斷為對應於缺陷部件的所述檢測影像中的所述缺陷類型。所述多類別分類器使用神經網路架構與最佳化器的第二組合。多類別分類器藉由用於所述多類別分類器的神經網路架構的節點的權重以迭代方式進行更新而得到訓練。
所述訓練應用包括用於自經訓練的所述二元分類器及經訓練的所述多類別分類器產生缺陷分類模型的演算法,所述缺陷分類模型由配置檔案進行定義。所述配置檔案包括所述神經網路架構與最佳化器的第一組合的參數及所述神經網路架構與最佳化器的第二組合的參數以及每一神經網路架構的所述節點的經更新的所述權重。所述自動缺陷分類模型藉此可由所述自動化檢測系統用於偵測所檢測的其他部件上的缺陷。
在所述系統的可能實施方式中,所述資料儲存器更儲存探索模組、第一組不同的神經網路架構及第二組最佳化器。所述探索模組被配置成在所述檢測影像的探索子集上探索神經網路架構與最佳化器的不同組合來用於訓練所述二元分類器。所述探索模組更被配置成為所述二元分類器自動地選擇在偵測無缺陷部件與缺陷部件方面提供最高精確度達給定數目個紀元的所述神經網路架構與最佳化器的第一組合。
在所述系統的可能實施方式中,所述探索模組更被配置成在所述檢測影像的所述探索子集上探索神經網路架構與最佳化器的不同組合來用於訓練所述多類別分類器。所述探索模組更被配置成為所述多類別分類器自動地選擇在辨識缺陷類型方面提供最高精確度達給定數目個紀元的所述神經網路架構與最佳化器的第二組合。
在可能的實施方式中,所述系統包括圖形使用者介面,所述圖形使用者介面容許使用者選擇其中儲存有所述檢測影像的一或多個影像文件夾並因應於經由所述圖形使用者介面進行的輸入而啟動所述自動缺陷分類模型的產生。
在可能的實施方式中,所述系統包括資料庫,所述資料庫儲存由所述檢測系統取得的部件的所述檢測影像以及儲存指示給定影像對應於無缺陷部件還是缺陷部件且對於對應於缺陷部件的所述檢測影像更指示缺陷類型的所述標籤資訊。
在系統的可能實施方式中,所述一或多個專用伺服器的所述資料儲存器更儲存預處理模組,所述預處理模組用於驗證檢測影像的總數目是否足以啟動所述二元分類器及所述多類別分類器的所述訓練且用於將所述檢測影像複製至所述資料庫並處理所述檢測影像,例如藉由使用資料擴增演算法來處理所述影像。
根據又一態樣,提供一種非暫時性儲存媒體。所述非暫時性儲存媒體上面儲存有電腦可讀取指令,所述電腦可讀取指令用於使處理器:
獲取由檢測系統取得的部件的檢測影像,其中所述檢測影像與標籤資訊相關聯,所述標籤資訊指示給定影像對應於無缺陷部件還是缺陷部件且對於對應於缺陷部件的所述檢測影像更指示缺陷類型,
使用所述檢測影像的第一子集來訓練二元分類器判斷所述檢測影像對應於無缺陷部件還是缺陷部件,所述二元分類器使用神經網路架構與最佳化器的第一組合,
使用所述檢測影像的對應於缺陷部件的第二子集來訓練多類別分類器判斷此前被所述二元分類器判斷為對應於缺陷部件的所述檢測影像中的所述缺陷類型,所述多類別分類器使用神經網路架構與最佳化器的第二組合,以及
自經訓練的所述二元分類器及自所述多類別分類器產生缺陷分類模型,所述缺陷分類模型包括所述神經網路架構與最佳化器的第一組合的配置設定及所述神經網路架構與最佳化器的第二組合的配置設定,缺陷分類模型藉此可由檢測系統用於偵測所檢測的其他部件上的缺陷。
參照附圖,根據閱讀本發明的較佳實施例,將更佳地理解本發明實施例的其他特徵及優點。
在下面的說明中,圖式中相似的特徵被賦予相似的參考編號,且為了不過度妨礙附圖,如果一些元件已經在前面的附圖中被辨識出,則該些元件可能不會在一些附圖中被示出。本文中應理解,由於重點在於清楚地示出元件及元件之間的相互作用而圖式的元件並非是按比例繪製的。
本申請案中闡述的自動缺陷分類系統、方法及軟體應用是有關於自動化2D及/或3D檢測及計量儀器。申請人已將使得可使用所提出的用於自動產生缺陷分類模型的系統的不同的檢測系統(例如,半導體封裝檢測系統(GATS-2128、GATS-6163等)、印刷電路板檢測系統(STAR REC、NRFEID)、光學視覺檢測系統(晶圓或基板凸塊檢測系統)等)商業化。參照圖1至圖6闡述的示例性系統及過程特別適用於半導體及PCB產品的檢測,但是所提出的系統及方法可用於其他應用中以及用於需要部件的自動化檢測的其他行業,僅作為實例例如汽車行業。除了雷射三角測量之外,所提出的缺陷分類系統亦可適用於不同的自動化視覺檢測系統。
對於半導體檢測而言,現有的光學檢測系統常常包括離線缺陷偵測時期,在此階段中由人類操作員手動地將偵測到的缺陷分類為特定產品或特定用戶類別。亦存在設置有自動人工智慧(artificial intelligence,AI)/機器學習(machine learning,ML)分類器的系統,所述自動AI/機器學習分類器分析由檢測照相機生成的影像並實時地將缺陷分配給預定義的類別。然而,該些系統難以配置,且常常需要資料專家及/或人工智慧專業人員以可正確地調節分類器。另外,通常使用預定義的ML模型,且根據需要偵測的缺陷的類型它們並不總是最佳的。
根據本發明的一態樣,提供一種基於自動化人工智慧(AI)的缺陷分類系統。當與自動缺陷分類模型結合時,如下文將更詳細闡述所示,檢測系統可提供更高的測量精確度且可降低檢測成本並減少整個檢測過程中的人為錯誤。
所提出的系統及方法允許自動產生用於自動化部件檢測系統中的一或多個缺陷分類模型。使用所提出的系統及方法,無論檢測系統是在線還是離線,使用者(例如,不具有AI知識或AI知識有限的機器操作員)可建立新的缺陷分類器模型或更新現有的模型。所提出的系統及方法可建立或更新不同產品類型(例如,晶圓、各別晶粒、基板或積體電路(integrated circuit,IC)封裝)的分類模型。因此,對於不同的產品,所提出的系統及方法極大地簡化了偵測缺陷類型的檢測系統的訓練。在一些實施方式中,所提出的分類訓練系統可偵測向其呈現的部件及/或缺陷的類型的變化,且可調整其缺陷分類模型,而不存在或只有有限的使用者干預。人類操作員(例如,製程工程師)可能仍然需要在將模型推送至在線檢測系統之前對所述模型進行驗證,但是訓練過程被極大地簡化了。觸發創建新分類模型或調整現有分類模型的條件是多樣的且包括:
i. 例如針對來自耗盡缺陷類別(即,沒有足夠的影像來正確地調節或配置分類模型的類別)的缺陷取得的新影像,
ii. 類別標籤的變化(其中標籤可對應於缺陷部件或無缺陷部件或者對應於缺陷的類型),
iii. 待檢測的新產品(需要建立新的分類模型),
iv. 已排程的再訓練,以及
v. 品質保證機制偵測到的分類模型漂移。
在可能的實施例中,所提出的系統及方法可自現有的機器學習(ML)模型的列表自動選擇要使用的最合適的模型,且可使用簡單的網格搜尋技術來達成與所述模型相關聯的超參數的調節。
在較佳實施例中,所提出的系統及方法亦具有在專用伺服器上實施的優點。因此,所提出的系統及方法可在封閉的環境中實施而不必存取任何基於AI雲的平台。因此,所提出的自動化分類訓練可在隔離的環境中(例如在其中沒有或限制網路存取的工廠中)實行。
術語「處理裝置(processing device)」包括被配置及適用於接收、儲存、處理及/或傳輸資料(例如,標記的影像及機器學習模型)的電腦、節點、伺服器及/或專化電子裝置(specialized electronic device)。「處理裝置」包括處理器,僅作為實例例如微控制器及/或微處理器、中央處理單元(central processing unit,CPU)及圖形處理單元(graphics processing unit,GPU)。處理器與資料儲存器(亦稱為「記憶體」或「儲存媒體」)結合使用。資料儲存器可儲存要處理的指令、演算法、規則及/或影像資料。儲存媒體包括揮發性或非揮發性/持久性記憶體,僅作為實例例如寄存器、高速緩存、隨機存取記憶體(random access memory,RAM)、快閃記憶體、唯讀記憶體(read only memory,ROM)。當然,記憶體的類型是根據期望的用途(是應保留指令還是臨時儲存、保留或更新資料)來選擇的。在圖7中呈現作為自動化檢測系統的一部分或鏈接至自動化檢測系統的架構的示意性表示,其中所述架構包括此種處理裝置及資料儲存器。
藉由「分類器(classifier)」指代機器學習演算法,其功能是對資料(例如,數位影像)所屬的類別或標籤進行分類或預測。「分類器」是一種特殊類型的機器學習模型。在一些例子中,分類器是為資料點(data point)分配類別標籤的離散值函數。在本申請案中,資料點源自於數位檢測影像。「二元分類器(binary classifier)」以給定的精確度及確定性預測給定的資料集屬於哪兩個「類別(class)」。對於製造部件檢測而言,類別可為「合格(pass)」或「不合格(fail)」。「多類別」分類器以給定的精確度及確定性來預測給定資料集屬於多個類別中的哪一者。
藉由「缺陷分類模型(defect classification model)」或「模型」指代機器學習模型。在本說明中,缺陷分類模型是與最優化器(optimizers)、損失函數(loss functions)及學習速率排程器(learning rate schedulers)結合使用的經訓練的分類器的組合,最優化器、損失函數及學習速率排程器的參數在分類器的訓練期間亦經過調整。
藉由「神經網路架構(neural network architecture)」(亦簡稱為「神經網路」)指代基於分層結構的連接節點(亦稱為「人工神經元(artificial neuron)」或「感知器(perceptron)」)的集合的特定類型的機器學習模型(或演算法)。給定層的節點與相鄰層的節點互連,且為節點之間的連接分配權重(weight)。偏差代表預測與預期值的差距。偏差可看作是節點的輸入與其輸出之間的差異。存在不同的神經網路架構,包括卷積神經網路(convolutional neural networks)、遞歸神經網路(recurrent neural networks)等。神經網路架構的更具體的實例包括ResNet及Inception架構。
藉由「損失函數(loss function)」指代演算法函數,所述演算法函數測量模型或分類器所做的預測與實際值的差距。損失函數返回的數字越小,分類器的預測就越準確。
藉由「最優化器(optimizer)」指代將損失函數與分類器參數聯繫起來的演算法,以因應於損失函數的輸出來更新分類器的節點的權重。換言之,最優化器更新神經網路架構的節點的權重以將損失函數最小化。
藉由「學習速率排程器(learning rate scheduler)」指代藉由根據預定義的排程降低在訓練機器學習分類器期間的學習速率來調整所述學習速率的演算法。學習速率是因應於估計的錯誤來控制分類器需要改變多少(藉由調整權重)的超參數(hyperparameter)。
藉由「紀元(epoch)」指代整個資料集歷經機器學習模型或架構的經過數或循環數。「紀元」是資料集對機器學習演算法的一次完整呈現。
參照圖1至圖7,將闡述所提出的系統600(在圖6中辨識出)。所述系統一般包括:預處理模組,以準備將用於建立或調整缺陷分類模型(圖1中所示)的檢測影像;訓練應用,可經由訓練應用程式介面(Application Programming Interface,API)進行存取,所述訓練應用藉由訓練二元分類器及多類別分類器基於經標記的及經處理的訓練影像(圖2)來創建或建立缺陷分類模型;以及後處理模組(圖3),管理所創建的分類模型並使用新的/經調整的分類模型更新檢測系統606。
在圖6中示出系統600的可能的實施方式。系統600包括獲取模組610,以利用2D照相機或3D照相機獲取由檢測系統606取得的檢測影像。檢測系統606經由伺服器604操作,伺服器604運行檢測系統應用且包括資料庫或資料儲存器來儲存檢測影像。因此,檢測影像首先被儲存於檢測系統資料庫608中,並使用缺陷分類應用618對檢測影像進行分類或標記,其中標籤資訊指示部件是否有缺陷,且如果有缺陷,則標籤資訊指示缺陷類型。另一電腦或伺服器602運行訓練應用614,且提供可由檢測系統606存取的訓練-API。伺服器602包括一或多個處理器來運行訓練應用614。伺服器602包括用於儲存應用的電腦可讀取指令的非暫時性資料儲存器。提供允許探索分類器的不同組合的探索模組612作為訓練應用614的一部分。系統600較佳為包括其自己的訓練資料庫616,以儲存當建立或更新缺陷分類模型時可使用的不同的分類器、最優化器、損失函數及速率排程器以及該些機器學習演算法的配置設定及參數。[ 預處理 ]
圖1示意性地示出作為所提出的系統的一部分的可能的預處理模組10。預處理模組一般準備將被訓練應用使用的訓練資料集。訓練資料集一般包括被標記的檢測影像,即已標注或標記有檢測資訊(例如「無缺陷(non-defective)」或「缺陷(defective)」或具有特定「缺陷類型(defect type)」)的影像。在步驟104處,可觸發或激活所提出的系統以獲取由檢測系統的照相機取得的檢測影像,用於掃描儲存檢測影像及與其相關聯的標籤或類別資訊的一或多個伺服器。類別或標籤可為例如0表示無缺陷部件,而數字1至n表示n種不同的缺陷類型,例如1表示鍍覆不足缺陷、2表示異物缺陷、3表示部件不完整、4表示pi裂紋等。可存在任意數目的缺陷類型,例如5至100種不同的缺陷類型。因此,標籤可為用於標注或提供指示影像內容(例如影像是對應於缺陷部件還是無缺陷部件,且對於缺陷部件,則對應於缺陷的類型)的任何字母數字指示符。通常,由光學檢測取得的大多數檢測影像對應於無缺陷部件,除非製造製程存在問題。因此,由光學檢測系統產生的檢測影像的大部分被標記為無缺陷或無缺陷標籤(或類別)或與無缺陷或無缺陷標籤(或類別)相關聯。檢測影像的一小部分(例如通常處於0.01%至10%之間)僅作為實例對應於缺陷部件。在此情況下,需要根據缺陷類型對檢測影像進行特別標記或分類。如圖6中所示,儲存檢測影像的所述一或多個伺服器(參考數字604)是檢測系統(圖6中的數字606)的一部分或鏈接至檢測系統。一或多個電腦或伺服器604的可能的架構的示意性表示在圖7中進一步詳述,其中所述架構包括處理裝置(例如,經由儀器前端模組(Equipment Front End Module,EFEM)提供圖形使用者介面的2D個人電腦(PC)、3D處理PC及3D GPU PC)以及資料儲存器608。2D照相機及3D照相機使用2D訊框擷取器(frame grabber)或3D訊框擷取器取得檢測影像,且影像由電腦或伺服器604的CPU及/或GPU進行處理並儲存於檢測系統資料庫608中。應注意,在圖6及圖7中示出的架構僅是示例性的,且其他佈置是可能的。舉例而言,管理及儲存影像的伺服器604及訓練伺服器602可組合為單個伺服器,所述單個伺服器亦可對應於檢測系統的伺服器。包括影像儲存及管理、訓練及部件檢測的不同的功能及應用可自一或多台伺服器/電腦上運作。
在圖1至圖7中呈現的示例性實施例中,檢測影像是半導體或PCB部件(例如,半導體封裝、矽晶圓或其他材料的晶圓、單面PCB、雙面PCB、多層PCB、基板等)的影像。僅作為實例,缺陷類型可包括:鍍覆不足(under plating)、異物、不完整部件、裂紋、污跡、異常電路、抗蝕劑殘留物(resist residue)、變形、劃痕、異常鈍化(abnormal passivation)、簇集(cluster)、金屬膜殘留物等。此缺陷列表當然不是詳盡無遺的,由於缺陷的數目及類型可能根據所檢測部件的類型而不同。
在示例性實施例中,所述一或多個伺服器604將檢測影像儲存於文件夾中,所述文件夾根據給定的文件夾結構以不同的文件夾等級(例如機器名稱、用戶名稱、配方或部件及批次)組織。參照圖4示出文件夾結構的示例性實施例,其中伺服器的文件夾結構408藉由圖形使用者介面(GUI)400來呈現。GUI示出與所述一或多個伺服器的文件夾結構一致的文件夾結構,所述文件夾結構允許由訓練應用使用的一系列的訓練影像用於再訓練或創建/建立新的缺陷分類模型。因此,按照步驟102,較佳為週期性地掃描影像文件夾結構或樹狀結構。在步驟106(圖1)處,經由GUI呈現給使用者的文件夾結構408可由系統動態地更新,以對應於伺服器604的最新更新的文件夾結構及內容。由於所提出的系統及方法允許建立新的分類模型及/或調整現有的分類模型,當檢測系統運作(在線)時,由於當藉由GUI選擇及取得檢測影像時可連續取得新的檢測影像用於分類模型的訓練,因而藉由GUI呈現的文件夾結構可較佳地反映影像儲存伺服器的當前狀態。
仍然參照圖1,在步驟108處,包含檢測影像的文件夾可被選擇用於再訓練及/或創建新的分類模型,且系統使用藉由GUI取得的選擇用於提取及加載要用於訓練步驟的影像。因此,系統經由GUI接收包含用於訓練的檢測影像的一系列文件夾,如圖4中所示。在可能的實施例中,作為選擇所有更低等級的文件夾(即所有「批次」文件夾)的方式,選擇可包括更高等級的文件夾(例如「部件」文件夾)。
分類模型的訓練可藉由GUI進行輸入來啟動(例如經由圖4中的按鈕404),對應於圖1的步驟112。如果需要,GUI亦允許藉由停止或恢復訓練來控制訓練過程(圖4上的按鈕406)。在開始/啟動步驟112,較佳為計算或計數所選擇的檢測影像的總數目並顯示在GUI上(參見圖4,窗格402)。為了再訓練或創建分類模型,需要最少數目的訓練檢測影像。出於相同的原因,即為了確保已經收集了最少數目的影像用於適當的訓練及/或為不同的缺陷類型創建缺陷分類器,系統亦較佳地計算用於每一缺陷類型的所選擇的檢測影像的數目。每一缺陷類型需要最小數目的影像,以防止分類模型中的偏差,此將在下面更詳細地闡釋。如果對於給定的缺陷沒有達到影像的最小數目,則在開始建立分類模型之前,較佳為自選擇中丟棄對應於所述缺陷的檢測影像。當達到最小數目的影像時(如上文[0054]第i段中所述),與被丟棄的缺陷類型相關聯的檢測影像最終可用於訓練。因此,預處理模組驗證檢測影像的總數目是否足以啟動二元分類器(其將用於偵測合格或不合格(即,缺陷部件對無缺陷部件))的訓練,且如果足以啟動,則與每一缺陷類型相關聯的檢測影像的數目是否足以啟動多類別分類器(其將用於偵測不同的缺陷類型)的訓練,藉此僅針對具有足夠數目的檢測影像的缺陷類型啟動多類別分類器的訓練。
仍然參照圖1,步驟110因此較佳為在步驟112之前實行。所述系統可計算所選擇的檢測影像的總數目,且另外為每一缺陷類型提供所選擇的檢測影像的總數目,藉由GUI向使用者顯示結果。在確認所選擇的檢測影像的數目滿足最小訓練要求之後,步驟112可由使用者經由GUI進行輸入(例如使用按鈕402)來觸發,如圖4中所示。在其中檢測影像的數目不足以進行訓練的情況下,可向使用者顯示消息,請求檢測影像的新選擇。
在步驟114處,較佳為如圖6中辨識出的在被轉移及儲存於訓練伺服器602上之前,對所選擇的檢測影像進行預處理。影像預處理可包括自檢測影像擷取相關資訊並根據本領域中眾所周知的技術對影像進行變換,例如影像裁剪、對比度調整、直方圖均衡化、二值化、影像標準化及/或標準化。應注意,在示例性實施例中,使用不同的伺服器,例如與檢測系統相關聯的伺服器604及與訓練應用相關聯的訓練伺服器602。因此,選擇的用於訓練的檢測影像自伺服器604被複製並轉移至伺服器602。然而,在其他實施例中,可設想使用相同的伺服器,其中伺服器的記憶體被分區用於儲存在線檢測影像以及用於儲存所選擇的訓練影像。
仍參照圖1,在步驟116處,所述系統儲存檢測影像資訊並在與訓練伺服器602相關聯或作為訓練伺服器602的一部分的資料庫中實行校驗檢驗。此驗證步驟使得能夠避免在訓練伺服器上複製影像,藉此在資料庫中複製新影像之前驗證每一影像的唯一性。根據步驟118,還未儲存於訓練伺服器上的檢測影像(如步驟120處所辨識的)被更新或複製至訓練伺服器。
較佳為,一旦檢測影像已經被轉移至訓練伺服器602,則檢測影像被劃分或分成至少訓練資料集及驗證資料集。因此,所述系統被配置成在訓練二元分類器及多類別分類器之前,針對影像的第一子集及第二子集中的每一者將檢測影像自動分成至少訓練資料集及驗證資料集。第一子集將包括用於訓練二元分類器的影像(即,第一子集包括標記為缺陷及無缺陷的影像),且第二子集將包括第一子集的標記為缺陷的影像並進一步標記缺陷類型。將在進行用於使用最優化器來調整或改變神經網路架構的不同層的節點的權重訓練期間使用訓練資料集中的影像,以將損失函數的輸出減少或最小化。然後,驗證資料集將用於測量使用在二元分類器及多類別分類器的訓練期間確定的經調整的權重的模型的精確度。
訓練資料集(training dataset)及驗證資料集(validation dataset)將交替用於訓練及調整分類器的節點的權重。更佳為,檢測影像被分成三個資料集(dataset),如前所述的訓練資料集及驗證資料集以及第三個「測試(test)」或「最終驗證(final validation)」資料集,所述「測試」或「最終驗證」資料集一旦被訓練則用於驗證分類模型的最終狀態。換言之,一旦被訓練,則系統所使用的測試資料集用於確認二元分類器及多類別分類器的神經網路架構的最終權重。[ 訓練 ]
圖2示意性地示出由訓練應用(或訓練模組)實行的用於自動建立缺陷分類模型的訓練過程的步驟,每一模型適於特定的製造製程、部件模型或客戶要求。訓練應用是儲存於伺服器602(在圖6中辨識出)上的軟體程式,所述軟體程式包括不同的子模組。訓練模組由狀態機器支配,所述狀態機器驗證在給定時刻是否允許調用動作(caller action)(包括例如中止、初始化、訓練、暫停、成功或失敗/異常等動作)。訓練模組包括訓練-API,訓練-API包括管理訓練課程的編程功能。僅作為實例,訓練-API cab的功能包括初始化功能、恢復功能、開始功能、暫停功能、中止功能、評估功能、獲取狀態(getStatus)、獲取效能(getPerformance)及獲取訓練效能(getTrainingPerformance)功能。初始化功能藉由驗證第一資料集及第二資料集的內容來準備每一訓練循環,所述第一資料集及第二資料集包括例如確認所有類別均具有足夠的樣本影像,即每一類別中的影像的數目高於給定的臨限值且用於訓練每一分類器的探索、訓練、驗證及測試影像子集具有預定義的大小。初始化模組亦使用先前建立的模型的參數或者使用每一分類器的預定義或隨機權重來初始化要建立的缺陷分類模型。因此,在開始訓練時,加載包括所述神經網路架構與最優化器的第一組合及所述神經網路架構與最優化器的第二組合的初始參數的配置檔案。配置檔案可採用不同的格式,例如(舉例而言).JSON格式。僅作為實例,初始配置檔案可包括例如在訓練期間要加載的分類器模型、在訓練期間要加載的最優化器(包括要使用的學習率衰減因子)、在不平衡的類別樣本的情況下要使用的擴增資料演算法、必須保持穩定精確度的紀元的數目等字段。開始函數將開始訓練過程,且訓練操作將使用初始配置檔案的不同字段部分的參數來開始。評估功能將對照檢測影像的評估資料集對經訓練的缺陷分類模型進行評估,並將返回以百分比(即,正確預測的百分比)表示的平均精確度。
因此,可由檢測系統經由訓練-API調用的訓練應用將最初加載或包括:二元分類器,可被訓練以確定檢測影像是對應於無缺陷部件還是缺陷部件(由圖2的左側上的步驟208及214表示);以及多類別分類器(亦可被稱為「缺陷類型分類器」,並由圖2的右側上的步驟210及216表示),其可被訓練以確定已被二元分類器確定為缺陷的檢測影像中的缺陷類型。
藉由「訓練(training)」分類器表示對於給定數目的試驗(或紀元),形成分類器(二元或多類別)的不同層的節點的權重以迭代方式進行調整以將分類器的預測的精確度最大化。結合神經網路架構選擇的最優化器在訓練期間使用用於以迭代方式調整節點的權重。一旦被訓練,則設定與分類器的所述多個節點相關聯的權重並定義可用於自動化部件檢測的分類模型。
因此,為創建新的分類模型及/或調整現有模型而選擇的檢測影像形成第一子集(分成訓練子集、驗證子集及測試子集以及可選的探索子集),以訓練二元分類器,且已被確定為缺陷的檢測影像形成檢測影像的第二子集,用於訓練多類別分類器。
所提出的系統及方法在以下方面特別有利:神經網路演算法與最優化器演算法的不同組合可用於二元分類器及多類別分類器。此外,可藉由探索階段(exploration phase)(此將在下面更詳細地闡釋)來確定針對二元分類器及多類別分類器的神經網路架構與最優化器的最佳組合。
因此,二元分類器可使用神經網路(neural network,NN)架構與最優化器的第一組合,而多類別分類器可使用神經網路架構與最優化器的第二組合。應注意,二元分類器可為另一類型的分類器,例如決策樹(decision tree)、支持向量機器(support vector machine)或樸素貝葉斯分類器(naïve bayes classifier)。較佳為,第一組合及第二組合可進一步包括一系列的損失函數演算法及相關聯的學習速率因子。第一組合及第二組合可相同或不同,但是實驗已表明,一般而言當二元分類器及多類別分類器的所述神經網路架構與最優化器的第一組合及所述神經網路架構與最優化器的第二組合不同時,得到更佳的結果。作為實例,二元分類器的神經網路架構與最優化器的第一組合可為ResNet34架構及Adam最優化器,而多類別分類器的神經網路架構與最優化器可為ResNet152架構及SGD最優化器。
仍參照圖2,在步驟202處,對於相同缺陷類型,與其相關聯的所述檢測影像的數目不足以訓練缺陷分類模型或者與其他缺陷類別相比太少,可對與所述相同缺陷類型相關聯的檢測影像實行資料擴增。此步驟用於平衡缺陷類型中的每一者的影像的數目,以提高訓練精確度並避免偏差,否則與其他類型的缺陷相比將相對於具有更多數目的檢測影像的缺陷類型而產生偏差。資料擴增演算法對給定的訓練檢測影像應用隨機變換,因此創建新影像以增加給定類別中的影像的數目。變換可為空間變換(例如,旋轉或翻轉影像),但其他類型的變換是可能的,僅作為實例包括改變畫素的紅綠藍(Red Green Blue,RGB)值。
在步驟204處,訓練API動態地加載初始配置檔案(或訓練初始設定),所述初始配置檔案可包含各種訓練參數,例如(舉例而言)用於訓練二元分類器的神經網路架構與最優化器的第一組合(步驟214)以及用於訓練多類別分類器的神經網路架構與最優化器的第二組合(步驟216)。配置檔案及/或訓練設定可更包含用於二元分類器及多類別分類器訓練的損失函數演算法的指示(對於兩個分類器可不同或相同)以及用於二元分類器及多類別分類器的訓練的學習速率排程器演算法(及因子)的指示(對於兩個分類器亦可不同或相同)。僅作為實例,二元分類器及/或多類別分類器可使用的不同的神經網路架構可包括:NesNet50、ResNet101、ResNet152、WideResNet50、WideResNet101、IncptionV3及InceptionResNet。可用於訓練二元分類器及/或多類別分類器的最優化器演算法的實例可包括Adam最優化器及隨機梯度下降(Stochastic Gradient Descent,SGD)最優化器。損失函數演算法的實例可包括交叉熵(cross-entropy)損失函數及NII損失函數,且學習速率排程器演算法的實例可包括衰減排程器及循環速率排程器。初始配置檔案亦可可選地包括分類器的每一節點的權重。
上述神經網路架構、最優化器、損失函數及學習速率排程器的實例並非詳盡的,且本發明可使用不同類型的架構、最優化器、損失函數及學習速率排程器。除了上述參數之外,訓練參數與設定的第一組合及第二組合亦可包括其他類型的參數,例如紀元的數目。較佳為配置檔案(或訓練設定)可被更新成添加或移除任意數目的神經網路架構、最優化器、損失函數及學習速率排程器。
所提出的方法及系統的優點亦在於,在可能的實施方式中,在完全訓練二元分類器及多類別分類器之前,可嘗試或探索不同類型的神經網路架構與最優化器,以便為給定的產品或製造部件類型選擇架構與最優化器的最佳或更精確的組合。換言之,所提出的方法及系統可包括嘗試及探索神經網路與最優化器(以及同樣可能的損失函數及學習速率排程器)的不同組合的步驟,用於訓練二元分類器,且亦用於訓練多類別分類器,以選擇「最佳」或「最優」組合來完全訓練二元分類器、及多類別分類器(即提供最高精確度的組合)。仍參照圖2,在訓練步驟212之前實行探索或試驗步驟206。在步驟208處,系統對二元分類器及多類別分類器二者,在訓練檢測影像的縮減子集上測試(或探索/嘗試)神經網路與最優化器的不同組合以及較佳地還測試損失函數與學習速率排程器的不同組合達給定數目個紀元。在探索時期之後,為二元分類器選擇具有最佳分類精確度的第一組合。
探索神經網路與最優化器的不同組合的初始步驟的目的是辨識及選擇一對神經網路與最優化器,所述一對神經網路與最優化器為檢測影像的給定子集提供最高精確度。更具體而言,探索神經網路與最優化器的不同組合可包括使用神經網路與最優化器的不同對來發起幾個較短的訓練課程,並對在縮減的資料集(即,探索資料集)上嘗試的每一對記錄效能(即,精確度)。舉例而言,在使用給定的二元分類器與最優化器的組合建立缺陷分類模型之前,嘗試n對不同的神經網路與最優化器,例如作為神經網路的ResNet34與作為最優化器的Adam、作為神經網路的InsceptionResNet與作為最優化器的梯度下降(Gradient Descent)、作為神經網路的ResNet34與作為最優化器的SGD。使用縮減的驗證影像資料集來確定每一對的精確度,且選擇具有最高精確度的對並用於訓練步驟。
類似地,當探索神經網路與最優化器的對時,可嘗試或探索不同的損失函數及學習速率排程器因子。損失函數及學習速率排程器與NN-架構及最優化器一起在影像的探索子集上在偵測無缺陷部件與缺陷部件方面提供最佳精確度(表示為正確預測相對於所做預測總數目的百分比)達給定數目個紀元(epoch),所述損失函數及學習速率排程器因此被辨識出並保留用於二元分類器的訓練。
類似地,在步驟210處,在訓練檢測影像的縮減子集上嘗試(或探索)神經網路與最優化器(以及同樣可能的損失函數及學習速率排程器)的不同組合,以確定用於完全訓練多類別分類器的最佳組合。所述探索亦實行達給定數目個紀元。選擇具有最佳分類精確度的組合用於多類別分類器。
如前所述,紀元的數目可為訓練系統的參數。如此一來,在可能的實施例中,一旦二元分類器及多類別分類器達到每一組合的預定數目的紀元,探索訓練階段可自動停止。較佳為,探索訓練可由使用者在探索階段期間的任何時間經由GUI來控制,例如停止、恢復及中止。
在系統的可能實施例中,可藉由加載包括與二元分類器相關聯的初始參數以及與多類別分類器相關聯的初始參數的配置檔案來繞過(bypass)訓練探索(training exploration)。在此情況下,繞過步驟206、208及210。
仍然參照圖2,一旦完成或繞過探索階段,則可開始二元分類器及多類別分類器的訓練。在一個可能實施例中,二元分類器訓練在步驟214處使用在步驟208的探索階段期間確定的神經網路與最優化器演算法的組合開始。形成第一影像子集的檢測影像用於訓練二元分類器。所選擇影像的全部或者僅所選擇影像的一部分可形成第一子集。
類似於二元分類器,多類別分類器訓練在步驟216處較佳為使用在步驟210處在探索階段期間被確定為最有效及/或最精確的神經網路與最優化器的組合開始。在此情況下,用於訓練多類別分類器的檢測影像的子集由第一子集的子集(即,此第二子集包括被二元分類器分類為「缺陷」的檢測影像)組成。
在二元分類器及多類別分類器的訓練期間,訓練及驗證影像資料集被用於例如在每一紀元之後基於最優化器的參數以迭代方式調整二元分類器及多類別分類器的節點的權重。調整神經網路參數可包括自動調整應用於神經網路層的不同層的節點的權重,直至使用所選擇的最優化器、損失函數及學習速率因子令人滿意地減小了每一訓練經過的實際結果與預測結果之間的差異。因此,驗證子集被用作對部件狀態(無缺陷或缺陷,以及缺陷的類型)預測的實際結果的代表。調整最優化器可包括以迭代方式調整其用於控制學習過程的超參數。應注意,藉由向訓練-API提供初始配置檔案,訓練過程是完全自動化的且是自動實行的。
在系統及過程的可能實施例中,使用者可暫停訓練。當系統接收暫停或停止指令時,所述系統會將當前配置設定及所有與訓練相關的資訊(例如運行的紀元的數目)保存於訓練伺服器的資料庫中。如果恢復訓練,系統會提取資料庫的所有資訊作為重新啟動點。圖5示出其中可藉由指示訓練的當前迭代及進度(參見窗口500的下部分506)來監視缺陷分類模型的建立過程的狀態(窗口500)的可能的GUI。如果需要,GUI亦提供暫停(502)或中止(504)訓練過程的可能性。
在系統的一個可能實施例中,在訓練過程期間,用於在每一訓練迭代中訓練二元分類器及多類別分類器的檢測影像的數目根據實行訓練的處理器的可用物理資源而動態地改變。更具體而言,被定義為在每次迭代中通過二元分類器及多類別分類器的所述數目個影像的批大小可被動態地修改,如步驟218所示。此步驟有利地能夠根據用於運行訓練的可用物理/處理資源來實時調整訓練過程。在可能的實施例中,批的大小可具有預定義的值,且可嘗試不同的批大小,直至訓練系統偵測到處理資源(例如GPU)被完全利用的警告或指示(例如記憶錯誤)。在此情況下,嘗試下一個較低的批大小,直至達到處理器(通常是GPU)可處理的可接受的批大小。換言之,提交給分類器的檢測影像的子集在隨後的批次中被饋送,且每一批次中的檢測影像的數目根據處理資源的可用性(即,可用處理能力或處理器可用性)動態地調整。訓練系統的此特徵或選項消除了對硬體規格、或訓練模型要求或參數大小的先驗知識的需要。由於不同的製造工廠可能具有不同的伺服器/處理裝置要求及/或規格,此特徵亦使得訓練系統能夠高度便攜。
二元分類器及多類別分類器的訓練隨著分類器的精確度在給定數目個紀元內達到給定的精確度臨限值(threshold)(例如95%以上)而完成。因此,缺陷分類模型由經訓練的二元分類器及多類別分類器建立並由配置檔案定義,所述配置檔案包括在訓練課程結束時神經網路與最優化器的第一組合及第二組合的最後更新的參數。所選擇的神經網路、最優化器、損失函數及學習速率排程器被打包於可由自動化檢測系統加載的配置檔案中。配置檔案可包括例如用於二元分類器的神經網路架構(例如:ResNet34)、二元分類器的源模型(包括權重設定)、用於多類別分類器的神經網路架構(例如:InceptionResNet)、多類別分類器的源模型(包括權重設定)、二元分類器及多類別分類器的最優化器(例如,Adam)、學習速率(例如,0.03)及學習速率衰減因子(例如,1.0)。藉此,自動化檢測系統可使用自動缺陷分類模型用於偵測缺陷部件及辨識所檢測的製造部件上的缺陷類型。後處理
圖3中所示的後處理模組包括不同的模組,所述模組是有關於儲存缺陷分類模型,一旦建立(步驟304),則使用訓練結果對檢測系統的GUI進行更新(步驟306)及/或使用創建的新模型或經更新的現有模型對訓練及/或檢測系統的資料庫(308)進行更新。較佳為在將缺陷分類模型建立轉移至檢測系統之前,已經使用測試資料集來證明最優化器與二元分類器/多類別分類器的第一組合及第二組合的精確度。
因此,在步驟310處,產生所得的缺陷分類模型並在配置檔案中包括二元分類器及多類別分類器的類型及參數。舉例而言,用於新半導體部件的缺陷分類模型可以配置檔案的形式包括將用於二元分類器的神經網路架構、最優化器、損失函數及學習速率排程器的第一組合以及該些演算法中的每一者的相關參數設定,以及將用於多類別分類器的神經網路架構、最優化器、損失函數及學習速率排程器的第二組合以及該些演算法中的每一者的相關參數設定。
缺陷分類模型可儲存於位於訓練伺服器及/或檢測系統伺服器上的資料庫中。訓練過程的結果(例如,所選擇的第一組合及第二組合以及對應的第一精確度及第二精確度)可顯示在GUI上。在一個實施例中,結果可被導出至效能報告中(步驟312)。
在使用中,自動缺陷分類應用藉由GUI根據操作員所選擇的部件類型加載適當的缺陷分類模型。因此,每一部件類型可與其自身的缺陷分類模型相關聯,每一模型已經過調節及訓練以針對給定的部件類型或客戶要求優化其精確度。自動缺陷分類可有利地偵測由光學系統取得的新缺陷,例如藉由將新的/未知的缺陷分類為「未知」種類或標籤。如果給定批次的「未知」缺陷的數目高於給定臨限值,則應用可被配置成產生分類模型需要更新的警告,且在一些可能的實施方式中,所提出的系統及方法可自動更新(或再訓練)分類模型。
所提出的用於藉由機器學習產生自動缺陷分類模型的方法及系統用於自動化檢測系統中可有利地部署在用戶現場的伺服器上(其中「用戶」通常是製造公司),而不需要將敏感資料上傳至基於雲的伺服器。另外,所提出的方法及系統為使用者提供控制,並在沒有先前AI知識的情況下創建缺陷分類模型。所提出的方法及系統亦可直接使用檢測影像進行工作,而不必依賴於複雜的關係資料集。
可藉由添加新的神經網路架構、新的最優化器、損失函數及學習速率排程器來擴展訓練應用。訓練應用包括重新確定大小層函數(resizeLayer),其確保新添加的神經網路架構的輸出數目與作為對象傳遞的輸出數目相匹配。訓練應用亦包括前向函數(forward function),所述前向函數將作為對象傳遞的張量推送至模型的輸入層並收集輸出。可實行類似的過程來添加新的最優化器、損失函數及學習速率排程器。[ 實驗結果 ]
本申請案的優點之一是能夠測試二元分類器及多類別分類器以及與分類器使用的最優化器的不同組合。如上文詳述並在圖2的步驟206、208及210中定義的,此探索在實驗中被實施並測試。此實驗的結果在表 1
中呈現,表 1
是包含所有組合及相關聯結果的原始表的摘錄。
表 1
包含在每一組合中使用的不同訓練參數、運行測試的紀元數以及對檢測影像進行分類的精確度結果,其中粗體組合是系統選擇的關於分類精確度的最佳組合。
使用的原始檢測影像資料集包含159,087個影像,該些影像被分成由144,255個影像構成的第一資料集以及由14,832個影像構成的第二資料集,所述第一資料集中80%的影像被進一步分成訓練資料集且20%的影像被分成驗證資料集,所述第二資料集構成測試資料集。檢測影像與包括缺陷類型及接受類型的總共23個類別相關聯。
在開始訓練之前,所述方法丟棄了三個類別及295個相關聯的影像。所述三個類別中的每一者都不考慮具有對應於該類別的標籤資訊的最小數目的檢測影像,最小數目被設定為120。因此,對由115,160個影像構成的訓練資料集及由28,800個影像構成的驗證資料集實行訓練。
由表1可看出,由於不同組合之間的變化對於二元分類器及多分類器二者是顯著的,當為二元分類器及多類別分類器二者選擇組合時測試分類器的多個組合是有利的。選擇與特定最優化器相關聯的損失函數亦對組合的精確度具有顯著影響。
對相同的檢測影像實行不同的運作,訓練系統總是為二元分類器選擇ResNet34模型及SGD最優化器,且為多類別分類器選擇更深的模型,例如與SGD最優化器結合的ResNet152及InceptionResNet,藉此確認系統在為二元分類器及多類別分類器二者選擇關於分類精確度的最佳組合方面的精確度。
隨著紀元的數目自5個增加至10個,二元分類器的組合的精確度介於近似77%至92%之間,且多類別分類器的組合的精確度介於近似64%至82%之間,進一步確認了不同組合對分類精確度的影響。表 1 :探索結果
分類器類型 | 神經網路架構 | 最優化器 | 損失函數 | LR 排程器 | 紀元的數目 | 精確度 |
二元分類器 | ResNet34 | Adam | 交叉熵 | 衰退 | 5 | 57.36 |
二元分類器 | ResNet34 | SGD | 交叉熵 | 衰退 | 5 | 83.49 |
二元分類器 | ResNet101 | Adam | 交叉熵 | 衰退 | 5 | 57.02 |
二元分類器 | ResNet101 | SGD | 交叉熵 | 衰退 | 5 | 82.32 |
二元分類器 | ResNet152 | Adam | 交叉熵 | 衰退 | 5 | 55.99 |
多分類器 | ResNet152 | Adam | NII損失 | 循環 | 5 | 48.29 |
多分類器 | ResNet152 | SGD | 交叉熵 | 循環 | 5 | 52.86 |
多分類器 | InceptionResNet | Adam | NII損失 | 循環 | 5 | 50.33 |
多分類器 | InceptionResNet | SGD | 交叉熵 | 循環 | 5 | 57.43 |
多分類器 | ResNet152 | Adam | 交叉熵 | 衰退 | 5 | 42.91 |
多分類器 | ResNet152 | SGD | 交叉熵 | 衰退 | 5 | 51.89 |
多分類器 | ResNet34 | Adam | NII損失 | 衰退 | 5 | 44.29 |
多分類器 | ResNet34 | SGD | NII損失 | 衰退 | 5 | 46.61 |
多分類器 | ResNet152 | Adam | NII損失 | 循環 | 5 | 48.29 |
多分類器 | ResNet152 | SGD | 交叉熵 | 循環 | 5 | 52.86 |
多分類器 | InceptionResNet | Adam | NII損失 | 循環 | 5 | 50.33 |
多分類器 | InceptionResNet | SGD | 交叉熵 | 循環 | 5 | 57.53 |
當然,在不脫離本揭露的範圍的情況下,可對上述實施例進行多種修改。
100:預處理模組
102、104、106、108、110、112、114、116、118、120、122、200、202、204、206、208、210、212、214、216、218、220、222、300、302、304、306、310、312:步驟
308:資料庫
400:圖形使用者介面(GUI)
402、404、406:按鈕
408:文件夾結構
500:窗口
502:暫停
504:中止
506:下部分
600:系統
602、604:伺服器
606:檢測系統
608:檢測系統資料庫(資料儲存器)
610:獲取模組
612:探索模組
614:訓練應用
616:訓練資料庫
618:缺陷分類應用
圖1是根據用於自動產生供自動化檢測系統使用的缺陷分類模型的方法及系統的可能實施例由預處理模組實行的步驟的流程圖。
圖2是根據所述方法及系統的可能實施例由訓練應用實行的步驟的流程圖。
圖3是根據所述方法及系統的可能實施例由後處理模組實行的步驟的流程圖。
圖4是根據可能的實施例的用於取得包含供訓練應用使用的訓練影像的影像文件夾的選擇的圖形使用者介面(graphical user interface,GUI)。
圖5是用於監視及控制訓練過程(例如暫停、中止或恢復訓練)的圖形使用者介面(GUI)。
圖6是根據可能的實施例的用於自動產生缺陷分類模型的系統的示意性例示,所述缺陷分類模型用於製造部件的自動化檢測系統中。
圖7是根據可能的實施例的電腦網路的示意性例示,所述電腦網路包括電腦或伺服器以及資料儲存器且是自動化部件檢測系統的一部分或鏈接至自動化部件檢測系統。
應注意,附圖僅示出本發明的示例性實施例,且本發明可允許其他同等有效的實施例,因此不應被解釋為對其範圍進行限制。
100:預處理模組
102、104、106、108、110、112、114、116、118、120、122、
200:步驟
Claims (31)
- 一種使用機器學習自動產生缺陷分類模型的電腦實施方法,所述缺陷分類模型用於在自動化檢測系統中檢測半導體及/或印刷電路板部件,所述方法包括以下步驟: 獲取由所述自動化檢測系統取得的部件的檢測影像,其中所述檢測影像與標籤資訊相關聯,所述標籤資訊指示給定影像對應於無缺陷部件還是對應於缺陷部件且對於對應於缺陷部件的所述檢測影像更指示缺陷類型, 使用所述檢測影像的第一子集來訓練二元分類器判斷所述檢測影像對應於無缺陷部件還是缺陷部件,所述二元分類器使用神經網路架構與最佳化器的第一組合,所述二元分類器是藉由對與所述二元分類器的節點相關聯的權重以迭代方式進行更新而得到訓練, 使用所述檢測影像的對應於缺陷部件的第二子集來訓練多類別分類器判斷在此前被所述二元分類器判斷為對應於缺陷部件的所述檢測影像中的所述缺陷類型,所述多類別分類器使用神經網路架構與最佳化器的第二組合,所述多類別分類器是藉由對與所述多類別分類器的節點相關聯的權重以迭代方式進行更新而得到訓練,以及 自經訓練的所述二元分類器及自所述多類別分類器建立由配置檔案定義的缺陷分類模型,所述配置檔案包括所述神經網路架構與最佳化器的第一組合的參數及所述神經網路架構與最佳化器的第二組合的參數以及每一神經網路架構的節點的經更新的所述權重,所述缺陷分類模型藉此能夠由所述自動化檢測系統用於偵測缺陷部件以及用於辨識所檢測的所述缺陷部件上的缺陷類型。
- 如請求項1所述的電腦實施方法,其中訓練所述二元分類器更包括如下的初始步驟:在所述檢測影像的探索子集上自動地探索神經網路架構與最佳化器的不同組合,且其中被選擇用於所述二元分類器的所述第一組合對應於在辨識無缺陷部件與缺陷部件方面提供最高精確度達給定數目個紀元的組合。
- 如請求項1或2所述的電腦實施方法,其中訓練所述多類別分類器更包括如下的初始步驟:在所述檢測影像的所述第二子集的另一探索子集上自動地探索神經網路架構與最佳化器的不同組合,且其中所述神經網路架構與最佳化器的第二組合對應於在辨識不同的缺陷類型方面提供最高精確度達給定數目個紀元的組合。
- 如請求項3所述的電腦實施方法,其中訓練所述二元分類器更包括:自動地探索不同的損失函數及不同的學習速率排程器,且其中所述第一組合更藉由自動地選擇損失函數及與所述神經網路架構與最佳化器一起在偵測無缺陷部件與缺陷部件方面提供最高精確度達所述給定數目個紀元的學習速率排程器來定義,所述缺陷分類模型的所述配置檔案更包括來自所述二元分類器的所選擇的所述損失函數及所述學習速率排程器的參數。
- 如請求項4所述的電腦實施方法,其中訓練所述多類別分類器更包括自動地探索所述不同的損失函數及所述學習速率排程器,且其中所述第二組合更藉由自動地選擇損失函數及與所述神經網路架構及所述最佳化器一起在辨識所述缺陷類型方面提供最高精確度達所述給定數目個紀元的學習速率排程器來定義,所述缺陷分類模型的所述配置檔案更包括來自所述多類別分類器的所選擇的所述損失函數及所述學習速率排程器的參數。
- 如請求項4或5所述的電腦實施方法,其中經更新的所述權重以及所選擇的所述神經網路架構、所述最佳化器、所述損失函數及所述學習速率排程器的所述參數被打包於能夠由所述自動化檢測系統加載的所述配置檔案中。
- 如請求項1至6中任一項所述的電腦實施方法,其中所述不同的神經網路架構包括以下中的至少一者:ResNet34、NesNet50、ResNet101、ResNet152、WideResNet50、WideResNet101、IncptionV3及InceptionResNet。
- 如請求項1至7中任一項所述的電腦實施方法,其中所述不同的最佳化器包括以下中的至少一者:Adam最佳化器及SGD最佳化器。
- 如請求項1至8中任一項所述的電腦實施方法,其中所述不同的損失函數包括以下中的至少一者:交叉熵損失函數及NII損失函數。
- 如請求項1至9中任一項所述的電腦實施方法,其中所述不同的學習速率排程器包括以下中的至少一者:衰減速率排程器及循環速率排程器。
- 如請求項1至10中任一項所述的電腦實施方法,其中所述部件包括以下中的至少一者:半導體封裝、晶圓、單面印刷電路板、雙面印刷電路板、多層印刷電路板及基板。
- 如請求項1至11中任一項所述的電腦實施方法,其中所述多類別分類器被訓練成偵測包括以下中的一或多者的所述缺陷類型:鍍覆不足、異物、部件不完整、裂紋、污跡、異常電路、抗蝕劑殘留、變形、劃傷、簇集及金屬膜殘留。
- 如請求項1至12中任一項所述的電腦實施方法,其中獲取所述檢測影像包括:經由圖形使用者介面取得一系列一或多個其中儲存有所述檢測影像的影像文件夾。
- 如請求項13所述的電腦實施方法,其中所述二元分類器及所述多類別分類器的訓練是因應於經由圖形使用者介面進行的輸入而啟動的。
- 如請求項14所述的電腦實施方法,其中藉由經由所述圖形使用者介面取得的輸入來控制所述二元分類器及所述多類別分類器的所述訓練以暫停、中止或恢復所述訓練。
- 如請求項1至15中任一項所述的電腦實施方法,包括驗證所述檢測影像的總數目是否足以啟動所述二元分類器的所述訓練,且如果足以啟動,則判斷與每一缺陷類型相關聯的檢測影像的數目是否足以啟動所述多類別分類器的所述訓練,藉此使得僅針對具有足夠數目個檢測影像的缺陷類型來啟動所述多類別分類器的所述訓練。
- 如請求項16所述的電腦實施方法,包括:當與給定缺陷類型相關聯的檢測影像的數目不足時,使用資料擴增演算法增大所述給定缺陷類型的檢測影像的所述數目。
- 如請求項1至17中任一項所述的電腦實施方法,包括:在訓練所述二元分類器及所述多類別分類器之前,針對所述第一子集及所述第二子集中的每一者將所述檢測影像自動地分成至少訓練資料集及驗證資料集,所述訓練資料集是在訓練期間用於設定所述神經網路架構與最佳化器的所述第一組合的初始參數及所述神經網路架構與最佳化器的所述第二組合的初始參數,所述驗證資料集用於在所述二元分類器及所述多類別分類器的所述訓練期間調整所述節點的所述權重。
- 如請求項18所述的電腦實施方法,包括:一旦所述二元分類器及所述多類別分類器已經過訓練,更自動地將所述檢測影像分成測試資料集以用於確認所述第一組合及所述第二組合的所述參數及經調整的所述權重。
- 如請求項1至19中任一項所述的電腦實施方法,其中用於在每一訓練迭代中訓練所述二元分類器及所述多類別分類器的檢測影像的數目是根據實行所述訓練的處理器的可用物理資源而動態地改變。
- 如請求項1至20中任一項所述的電腦實施方法,其中在每次迭代中通過所述二元分類器及所述多類別分類器的所述數目個檢測影像被集束成預定批大小,所述預定批大小被進行測試直至所述處理器能夠應對可接受的批大小。
- 如請求項21所述的電腦實施方法,其中所述二元分類器及所述多類別分類器的所述訓練是藉由將所述檢測影像以相繼的批饋送至所述分類器來實行,且其中每一批中的檢測影像的數目是根據處理資源的可用性而動態地調整。
- 如請求項1至22中任一項所述的電腦實施方法,其中獲取所述檢測影像包括掃描影像伺服器並在圖形使用者介面上顯示包括機器辨識符、用戶辨識符、配方辨識符及批次或裝置辨識符的文件夾架構的表示形式以供使用者選擇。
- 如前述請求項中任一項所述的電腦實施方法,包括:在將所述檢測影像複製至訓練伺服器之前核驗所述檢測影像是否早已儲存於所述訓練伺服器上。
- 一種藉由機器學習而產生用於檢測半導體及/或印刷電路板部件的自動缺陷分類模型的自動化檢測系統,所述自動化檢測系統包括: 一或多個專用伺服器,包括處理器及資料儲存器,所述資料儲存器上儲存有: 獲取模組,用於獲取所述半導體及/或印刷電路板部件的檢測影像,其中所述檢測影像與標籤資訊相關聯,所述標籤資訊指示給定影像對應於無缺陷部件還是缺陷部件且對於對應於缺陷部件的所述檢測影像更指示缺陷類型; 訓練應用,包括: 二元分類器,能夠使用所述檢測影像的第一子集藉由對所述二元分類器的節點的權重以迭代方式進行更新來進行訓練以判斷所述檢測影像對應於無缺陷部件還是缺陷部件,所述二元分類器使用神經網路架構與最佳化器的第一組合, 多類別分類器,能夠使用所述檢測影像的對應於缺陷部件的第二子集藉由對所述多類別分類器的節點的權重以迭代方式進行更新來進行訓練以判斷此前被所述二元分類器判斷為對應於缺陷部件的所述檢測影像中的所述缺陷類型,所述多類別分類器使用神經網路架構與最佳化器的第二組合; 所述訓練應用包括用於自經訓練的所述二元分類器及經訓練的所述多類別分類器產生缺陷分類模型的演算法,所述缺陷分類模型由配置檔案進行定義,所述配置檔案包括所述神經網路架構與最佳化器的第一組合的所述參數及所述神經網路架構與最佳化器的第二組合的所述參數以及每一神經網路架構的節點的經更新的所述權重,所述自動缺陷分類模型藉此能夠由所述自動化檢測系統用於偵測所檢測的其他部件上的缺陷。
- 如請求項25所述的自動化檢測系統,其中所述資料儲存器更儲存探索模組、第一組不同的神經網路架構及第二組最佳化器,所述探索模組被配置成在所述檢測影像的探索子集上探索神經網路架構與最佳化器的不同組合來用於訓練所述二元分類器,且所述探索模組更被配置成為所述二元分類器選擇在偵測無缺陷部件與缺陷部件方面提供最高精確度達給定數目個紀元的所述神經網路架構與最佳化器的第一組合。
- 如請求項26所述的自動化檢測系統,其中所述探索模組更被配置成在所述檢測影像的所述探索子集上探索神經網路架構與最佳化器的不同組合來用於訓練所述多類別分類器,所述探索模組更被配置成為所述多類別分類器選擇在辨識缺陷類型方面提供最高精確度達給定數目個紀元的所述神經網路架構與最佳化器的第二組合。
- 如請求項25至27中任一項所述的自動化檢測系統,包括圖形使用者介面,所述圖形使用者介面容許使用者選擇其中儲存有所述檢測影像的一或多個影像文件夾並因應於經由所述圖形使用者介面進行的輸入而啟動所述自動缺陷分類模型的產生。
- 如請求項25至28中任一項所述的自動化檢測系統,包括資料庫,所述資料庫儲存由所述檢測系統取得的部件的所述檢測影像以及儲存指示給定影像對應於無缺陷部件還是缺陷部件且對於對應於缺陷部件的所述檢測影像更指示缺陷類型的所述標籤資訊。
- 如請求項25至29中任一項所述的自動化檢測系統,其中所述一或多個專用伺服器的所述資料儲存器更儲存預處理模組,所述預處理模組用於驗證檢測影像的總數目是否足以啟動所述二元分類器及所述多類別分類器的所述訓練且用於將所述檢測影像複製至所述資料庫並處理所述檢測影像,例如藉由使用資料擴增演算法來處理所述影像。
- 一種上面儲存有電腦可讀取指令的非暫時性儲存媒體,所述電腦可讀取指令用於使處理器進步下述動作: 獲取由檢測系統取得的部件的檢測影像,其中所述檢測影像與標籤資訊相關聯,所述標籤資訊指示給定影像對應於無缺陷部件還是缺陷部件且對於對應於缺陷部件的所述檢測影像更指示缺陷類型, 使用所述檢測影像的第一子集來訓練二元分類器判斷所述檢測影像對應於無缺陷部件還是缺陷部件,所述二元分類器使用神經網路架構與最佳化器的第一組合, 使用所述檢測影像的對應於缺陷部件的第二子集來訓練多類別分類器判斷此前被所述二元分類器判斷為對應於缺陷部件的所述檢測影像中的所述缺陷類型,所述多類別分類器使用神經網路架構與最佳化器的第二組合,以及 自經訓練的所述二元分類器及自所述多類別分類器產生缺陷分類模型,所述缺陷分類模型包括所述神經網路架構與最佳化器的第一組合的配置設定及所述神經網路架構與最佳化器的第二組合的配置設定,所述缺陷分類模型藉此能夠由所述檢測系統用於偵測所檢測的其他部件上的缺陷。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202063028800P | 2020-05-22 | 2020-05-22 | |
US63/028,800 | 2020-05-22 |
Publications (1)
Publication Number | Publication Date |
---|---|
TW202203152A true TW202203152A (zh) | 2022-01-16 |
Family
ID=78708867
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW110118315A TW202203152A (zh) | 2020-05-22 | 2021-05-20 | 訓練自動缺陷分類之檢測儀器的方法與系統及其儲存媒體 |
Country Status (5)
Country | Link |
---|---|
JP (1) | JP2023528688A (zh) |
CN (1) | CN115668286A (zh) |
CA (1) | CA3166581A1 (zh) |
TW (1) | TW202203152A (zh) |
WO (1) | WO2021232149A1 (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI806500B (zh) * | 2022-03-18 | 2023-06-21 | 廣達電腦股份有限公司 | 影像分類裝置和方法 |
TWI842292B (zh) * | 2022-12-23 | 2024-05-11 | 偲倢科技股份有限公司 | 自動化產線產品外觀瑕疵檢驗方法及系統 |
TWI844284B (zh) * | 2023-02-24 | 2024-06-01 | 國立中山大學 | 跨域分類器的訓練方法與電子裝置 |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114511503B (zh) * | 2021-12-30 | 2024-05-17 | 广西慧云信息技术有限公司 | 一种自适应板材厚度的刨花板表面缺陷检测方法 |
WO2023146946A1 (en) * | 2022-01-27 | 2023-08-03 | Te Connectivity Solutions Gmbh | Vision inspection system for defect detection |
CN116563194A (zh) * | 2022-01-27 | 2023-08-08 | 安普阿莫麦克斯公司 | 用于缺陷检测的视觉检查系统 |
CN114594106B (zh) * | 2022-03-08 | 2024-08-20 | 苏州菲利达铜业有限公司 | 一种铜管电镀工艺的实时监测方法及系统 |
CN114627093A (zh) * | 2022-03-23 | 2022-06-14 | 中国联合网络通信集团有限公司 | 质检方法及装置、质检系统、电子设备、可读介质 |
CN115018099A (zh) * | 2022-06-01 | 2022-09-06 | 成都智谷耘行信息技术有限公司 | 一种基于支持向量机的轨道交通缺陷自动分配方法和系统 |
CN115830403B (zh) * | 2023-02-22 | 2023-05-30 | 厦门微亚智能科技有限公司 | 一种基于深度学习的自动缺陷分类系统及方法 |
CN116245846B (zh) * | 2023-03-08 | 2023-11-21 | 华院计算技术(上海)股份有限公司 | 带钢的缺陷检测方法及装置、存储介质、计算设备 |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160132787A1 (en) * | 2014-11-11 | 2016-05-12 | Massachusetts Institute Of Technology | Distributed, multi-model, self-learning platform for machine learning |
US10234848B2 (en) * | 2017-05-24 | 2019-03-19 | Relativity Space, Inc. | Real-time adaptive control of additive manufacturing processes using machine learning |
US10496902B2 (en) * | 2017-09-21 | 2019-12-03 | International Business Machines Corporation | Data augmentation for image classification tasks |
KR20190073756A (ko) * | 2017-12-19 | 2019-06-27 | 삼성전자주식회사 | 반도체 결함 분류 장치, 반도체의 결함을 분류하는 방법, 그리고 반도체 결함 분류 시스템 |
US11429894B2 (en) * | 2018-02-28 | 2022-08-30 | Google Llc | Constrained classification and ranking via quantiles |
US10713769B2 (en) * | 2018-06-05 | 2020-07-14 | Kla-Tencor Corp. | Active learning for defect classifier training |
CN109961142B (zh) * | 2019-03-07 | 2023-05-12 | 腾讯科技(深圳)有限公司 | 一种基于元学习的神经网络优化方法及装置 |
-
2021
- 2021-05-17 CA CA3166581A patent/CA3166581A1/en active Pending
- 2021-05-17 WO PCT/CA2021/050672 patent/WO2021232149A1/en active Application Filing
- 2021-05-17 CN CN202180036832.7A patent/CN115668286A/zh active Pending
- 2021-05-17 JP JP2023515224A patent/JP2023528688A/ja active Pending
- 2021-05-20 TW TW110118315A patent/TW202203152A/zh unknown
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI806500B (zh) * | 2022-03-18 | 2023-06-21 | 廣達電腦股份有限公司 | 影像分類裝置和方法 |
TWI842292B (zh) * | 2022-12-23 | 2024-05-11 | 偲倢科技股份有限公司 | 自動化產線產品外觀瑕疵檢驗方法及系統 |
TWI844284B (zh) * | 2023-02-24 | 2024-06-01 | 國立中山大學 | 跨域分類器的訓練方法與電子裝置 |
Also Published As
Publication number | Publication date |
---|---|
CN115668286A (zh) | 2023-01-31 |
JP2023528688A (ja) | 2023-07-05 |
CA3166581A1 (en) | 2021-11-25 |
WO2021232149A1 (en) | 2021-11-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TW202203152A (zh) | 訓練自動缺陷分類之檢測儀器的方法與系統及其儲存媒體 | |
EP3499418B1 (en) | Information processing apparatus, identification system, setting method, and program | |
TWI751376B (zh) | 識別在一晶圓上偵測到之缺陷中之損害及所關注缺陷 | |
TWI708301B (zh) | 透過異常值偵測之特徵選擇及自動化製程窗監控 | |
US10223615B2 (en) | Learning based defect classification | |
US20160163035A1 (en) | Automatic Defect Classification Without Sampling and Feature Selection | |
JP2021518597A (ja) | 低解像度画像における欠陥検出のためのニューラルネットワークのトレーニング | |
JP2021174980A (ja) | ディープラーニングに基づきウェーハ欠陥画像を用いてウェーハの欠陥を分類するための方法およびシステム | |
US10656518B2 (en) | Automatic inline detection and wafer disposition system and method for automatic inline detection and wafer disposition | |
CN115375614A (zh) | 用于对通过制造过程制造的产品进行分类的系统和方法 | |
TWI791930B (zh) | 用於分類半導體樣本中的缺陷的系統、方法及電腦可讀取媒體 | |
US20220067911A1 (en) | Wafer Level Spatial Signature Grouping Using Transfer Learning | |
Thielen et al. | A machine learning based approach to detect false calls in SMT manufacturing | |
TWI763451B (zh) | 利用自動地選擇演算法模組來檢驗樣本的系統、方法、和非暫時性電腦可讀媒體 | |
KR102269741B1 (ko) | 머신러닝을 이용한 오버랩 패턴의 엑스선 검사 방법 | |
US11144702B2 (en) | Methods and systems for wafer image generation | |
US11035666B2 (en) | Inspection-guided critical site selection for critical dimension measurement | |
Kataoka et al. | Novel feature vectors considering distances between wires for lithography hotspot detection | |
CN112840352A (zh) | 配置图像评估装置的方法和图像评估方法及图像评估装置 | |
US20240281953A1 (en) | Adaptive spatial pattern recognition for defect detection | |
CN113743447B (zh) | 半导体瑕疵识别方法、装置、计算机设备和存储介质 | |
TWI768092B (zh) | 用於臨界尺寸量測之檢測導引臨界位點選擇 | |
Pandey et al. | An Efficient AI-Based Classification of Semiconductor Wafer Defects using an Optimized CNN Model | |
Chen et al. | Auto-Labeling for Pattern Recognition of Wafer Defect Maps in Semiconductor Manufacturing | |
KR20240043094A (ko) | 학습 장치, 학습 방법 및 학습 프로그램 |