TWI783200B - 物件的瑕疵判斷方法及裝置 - Google Patents
物件的瑕疵判斷方法及裝置 Download PDFInfo
- Publication number
- TWI783200B TWI783200B TW108148418A TW108148418A TWI783200B TW I783200 B TWI783200 B TW I783200B TW 108148418 A TW108148418 A TW 108148418A TW 108148418 A TW108148418 A TW 108148418A TW I783200 B TWI783200 B TW I783200B
- Authority
- TW
- Taiwan
- Prior art keywords
- data
- dissimilarity
- model
- good product
- value
- 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
- G06T7/001—Industrial image inspection using an image reference approach
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
- G06F18/2178—Validation; Performance evaluation; Active pattern learning techniques based on feedback of a supervisor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
- G06F18/24137—Distances to cluster centroïds
-
- 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/04—Architecture, e.g. interconnection topology
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
-
- 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
- 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/762—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using clustering, e.g. of similar faces in social 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/764—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using classification, e.g. of video objects
-
- 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
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan 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/8854—Grading and classifying of flaws
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N21/00—Investigating or analysing materials by the use of optical means, i.e. using sub-millimetre waves, infrared, visible or ultraviolet light
- G01N21/84—Systems specially adapted for particular applications
- G01N21/88—Investigating the presence of flaws or contamination
- G01N21/8851—Scan 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/8887—Scan 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 based on image processing techniques
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01N—INVESTIGATING OR ANALYSING MATERIALS BY DETERMINING THEIR CHEMICAL OR PHYSICAL PROPERTIES
- G01N2201/00—Features of devices classified in G01N21/00
- G01N2201/12—Circuits of general importance; Signal processing
- G01N2201/129—Using chemometrical methods
- G01N2201/1296—Using chemometrical methods using neural networks
-
- 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]
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- General Engineering & Computer Science (AREA)
- Life Sciences & Earth Sciences (AREA)
- Databases & Information Systems (AREA)
- Mathematical Physics (AREA)
- Medical Informatics (AREA)
- Multimedia (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Quality & Reliability (AREA)
- Algebra (AREA)
- Biochemistry (AREA)
- Immunology (AREA)
- Pathology (AREA)
- Analytical Chemistry (AREA)
- Chemical & Material Sciences (AREA)
- Signal Processing (AREA)
- Image Analysis (AREA)
- Analysing Materials By The Use Of Radiation (AREA)
Abstract
一種物件的瑕疵判斷方法及裝置。此方法包括下列步驟。獲得受測物件的受測圖像。獲得受測物件對應的受選擇良品範本資料。利用相異度模型計算受測圖像及受選擇良品範本資料之間的相異度值,並依據所述相異度值判斷受測物件為良品或瑕疵品。
Description
本發明是有關於一種自動化判斷物件瑕疵的技術,且特別是有關於一種利用人工智慧演算法自動化進行物件的瑕疵判斷方法及實現其之裝置。
在工業自動化領域中,因工業物聯網、協作機器人以及人工智能技術的蓬勃發展,製造業廠商皆希望利用自動化機器人、自動光學檢查(Automated Optical Inspection;AOI)等圖像識別技術來取代人力作業,既節省生產成本還可提高瑕疵辨識率。
然則,由於工業自動化技術在瑕疵判讀上皆嚴格按照預定的檢測標準進行。當檢測標準過高而導致所謂『過殺(許多受檢測物件因檢測標準過高而視為瑕疵物件)』的情形發生時,便還是需要額外增加人力來對這些被視為瑕疵物件進行二度檢測,從而將採用工業自動化技術的儀器過殺的產品重新定義回良好物件。因此,許多公司正嘗試將人工智能導入到工業自動化技術中,並期望能讓受檢測物件的判斷結果能夠更為準確、迅速且具備一致性。
然而,目前採用的人工智能技術通常是將電路板上不同類型的物件或零件先以人工方式分類,再依據分類後的大量資訊以使用機械學習演算法來建立能夠區分每種物件或零件是否正常或瑕疵的監督式二元分類模型。若某些類型的物件或零件的資料量不足,人工智能技術難以訓練出能夠良好分類該種物件/零件瑕疵的模型,從而導致瑕疵判讀錯誤率居高不下。
本發明提供一種物件的瑕疵判斷方法及裝置,其可同時適用於多種物件、電路元件或零件上,並利用三元的人工智慧演算法自動化進行物件的瑕疵判斷,以使本發明實施例更為泛用且在原有自動光學檢查技術的基礎上更為降低在瑕疵判讀上的錯誤率。
本發明實施例的物件的瑕疵判斷方法包括下列步驟:獲得受測物件的受測圖像。獲得所述受測物件對應的受選擇良品範本資料。以及,利用相異度模型計算所述受測圖像及所述受選擇良品範本資料之間的相異度值,並依據所述相異度值判斷所述受測物件為良品或瑕疵品。
本發明實施例的物件的瑕疵判斷裝置包括物件資料庫、圖像來源裝置以及處理器。物件資料庫具備多個物件對應的至少一良品範本資料。圖像來源裝置獲得受測物件的受測圖像。處理器耦接物件資料庫及圖像來源裝置。處理器透過圖像來源裝置獲得受測物件的受測圖像,獲得受測物件對應的訓練資料集中的受選擇良品範本資料。以及,處理器利用相異度模型計算受測圖像及受選擇良品範本資料之間的相異度值,並依據相異度值判斷受測物件為良品或瑕疵品。
基於上述,本發明實施例利用不同類型的物件/零件建立可共用的機械學習演算法模型以自動地進行物件的瑕疵判斷,使其同時適用於多種物件、電路元件或零件上,且在原有自動光學檢查技術的基礎上更為降低在瑕疵判讀上的錯誤率。因此,本發明實施例不需針對不同物件/零件建立不同的機械學習演算法模型,可減少新產線建立時新物件/零件的瑕疵分類模型研發時間,亦可在新物件/零件的良品資料量與瑕疵品資料量不足時仍能夠建立較為有效的機械學習演算法模型。並且,在已進行自動光學檢查識別技術的基礎上進行二度檢測,可減少所謂『過殺』的情形。
對於應用在工業現代化的瑕疵判讀相關技術來說,皆是針對不同類型的物件或零件(例如,電路板上常用的電路元件、電容元件、電感元件等)分別訓練用於瑕疵分類的機械學習演算法模型,因而導致每個類型的物件皆需要一定數量的瑕疵品資料樣本才能較為完善地訓練出上述機械學習演算法模型,且對各類型物件的資料量產生了依賴性。目前常用的二度檢測技術便是『針對每個類型的物件或零件』進行瑕疵分類的技術。然而,在某些物件或零件的瑕疵資訊(或稱,瑕疵訓練資料)數量不足時,便在瑕疵判讀的情境中難以獲得較佳的判斷結果。
因此,本發明實施例利用不同類型的物件/零件來建立可共用的機械學習演算法模型,也就是,利用三元損失式(Triplet Loss)監督式學習演算法建立模型以自動地進行物件的瑕疵判斷,使其同時適用於多種物件、電路元件或零件上,且在原有自動光學檢查技術的基礎上更為降低在瑕疵判讀上的錯誤率。因此,本發明實施例不需針對不同物件建立不同的機械學習演算法模型,可減少新產線建立時新物件的瑕疵分類模型研發時間,亦可在新物件的良品資料量與瑕疵品資料量不足時仍能夠建立較為有效的機械學習演算法模型。
換句話說,本發明實施例藉由三種資料(也就是,各種類型物件(或稱,零件)的良品資料、瑕疵品資料以及物件的良品範本)作為訓練資料集,亦稱為三元訓練資料集,以三元損失(Triplet Loss)監督式學習演算法建立可讓多種物件/零件共同使用的相異度模型。此相異度模型因此具備有衡量『良品範本與受檢測物件的相異度』能力,從而便可讓本發明實施例利用人工智慧技術對被視為瑕疵的物件進行二度檢測,減少所謂『過殺』的情形。本實施例之『共用機械學習演算法模型』及相關技術可適用於多種方面,尤其是在已進行自動光學檢查識別技術後,還利用本發明實施例所述的技術來取代人力而對被視為瑕疵物件進行二度檢測,進而減少所謂『過殺』的情形。
本實施例所謂的『物件』是使用於印刷電路板上的電路元件,如電容、電阻、電感、已封裝晶片…等電路元件。具瑕疵的電路元件大部分可從外觀看出,例如電路元件的接腳斷裂、外觀有裂痕、電路元件的焊點掉落、元件外殼邊緣粉碎…等。應用本實施例者可利用本發明實施例從外觀上判讀這些物件是否為良品或瑕疵品。
圖1是依照本發明的一實施例的一種物件的瑕疵判斷裝置的硬體方塊圖,圖2是依照本發明的一實施例的一種物件的瑕疵判斷方法及相應裝置的操作示意圖。特別說明的是,圖2主要用來說明物件的影像資料、人工智慧演算法、經訓練模型以及瑕疵辨識等操作的流程,圖2中的區塊並非硬體模組,而是為方便說明而繪示的功能性模組。這些區塊可由軟體、韌體、演算法或資料庫等形式配合處理器實現,並儲存於對應的儲存設備中,例如儲存於圖1的物件資料庫110或伺服器140中。參照圖1與圖2,瑕疵判斷裝置100主要包括物件資料庫110、圖像來源裝置120以及處理器130。物件資料庫110至少具備多個物件對應的多個訓練資料集。圖2所示的物件PT1~PTn(n為正整數)分別包括多個圖像資料IM1~IMn,並可利用自動光學檢查識別技術或人工智慧訓練而藉由物料清單(BOM)表呈現各物件的位置來擷取圖像,以將這些圖像資料IM1~IMn中的電路元件分別進行擷取,並分類成訓練資料集200-1~200-n中的各種資料。本實施例的訓練資料集200-1~200-n在每個物件PT1~PTn中至少具備三種資料類型,分別是瑕疵品資料DPT1~DPTn、良品資料GPT1~GPTn以及良品範本資料SGPT1~SGPTn。也就是說,每個訓練資料集200-1~200-n包括所對應物件PT1~PTn的至少一個瑕疵品資料DPT1~DPTn、至少一個良品資料GPT1~GPTn以及至少一個良品範本資料SGPT1~SGPTn。這些訓練資料集200-1~200-n儲存於圖1的物件資料庫110中。
本實施例中,此處所述對應物件的『瑕疵品資料』、『良品資料』以及『良品範本資料』是預先標註的圖像資料,應用本實施例者亦可用其他方式來區分對應特定類別的物件的圖像資料為良品或瑕疵品,從而整理上述『瑕疵品資料』、『良品資料』以及『良品範本資料』。當『瑕疵品資料』及『良品資料』的數量愈多的情況下,本實施例所使用的機械學習演算法模型在訓練完成後,在進行後續的受測物件的瑕疵判讀時也會較為準確。良品範本資料SGPT1~SGPTn是以預先標註的方式從眾多良品資料GPT1~GPTn中選擇一個或數個最具代表性的良品資料稱之。本實施例中,每個物件PT1~PTn分別具備至少一個良品範本資料SGPT1~SGPTn即可。
圖像來源裝置120用以獲得受測物件的受測圖像TPT、TPT1及TPT2。本實施例的瑕疵判斷裝置100可與自動光學檢查識別系統相互通訊與進行資料傳遞,應用本實施例者可先使用自動光學檢查識別系統進行首度的瑕疵檢測,然後將被判斷為瑕疵的物件再使用本發明實施例所述的瑕疵判斷裝置100進行二度瑕疵檢測,以避免『過殺』。因此,瑕疵判斷裝置100可透過進行首度檢測的自動光學檢查識別系統而獲得物件的圖像資料,也就是說,本實施例可將自動光學檢查識別系統視為是圖像來源裝置120。應用本實施例者亦可額外設置圖像擷取裝置(如,照相機、攝影機),並對物件擷取其圖像來進行本實施例的後續操作。
處理器130用以對物件資料庫110與圖像來源裝置120進行存取、利用人工智慧演算法計算相應的經訓練模型、並實現本實施例所述的相關流程。本實施例的處理器130可以是筆記型電腦、個人電腦或特定伺服器中的處理器。處理器130也可透過網路與其他伺服器(如圖1所示的伺服器140)相互通訊並協作,以有效地利用硬體運算資源實現本實施例。
圖3是依照本發明的一實施例的一種物件的瑕疵判斷方法的流程圖。請同時參照圖1至圖3,於步驟S310中,處理器130從物件資料庫110獲得多個物件PT1~PTn對應的多個訓練資料集200-1~200-n。每個訓練資料集200-1~200-n包括對應物件PT1~PTn的至少一瑕疵品資料DPT1~DPTn、至少一良品資料GPT1~GPTn以及至少一良品範本資料SGPT1~SGPTn。
於步驟S320中,處理器130基於訓練資料集200-1~200-n中各個物件PT1~PTn的瑕疵品資料DPT1~DPTn、良品資料GPT1~GPTn以及良品範本資料SGPT1~SGPTn來訓練人工智慧演算法(亦即,圖2中的三元損失監督式學習演算法210)以計算出相應的經訓練模型(亦即,圖2中的相異度模型220)。
概略來說,三元損失監督式學習演算法210在進行人工智慧學習的步驟依序如下描述。首先,先建構用於計算相異度值的經訓練模型(例如,相異度模型f)。本實施例將正在進行訓練的相異度模型稱為是相異度模型f,而將已完成訓練的相異度模型稱為是相異度模型220。應用本實施例者應可知悉,已完成訓練的相異度模型220也可能因為加入新的訓練資料集而需要重新訓練,因此本實施例係因相異度模型f較易於在後續方程式中說明而略為區分,相異度模型220在圖示上較易繪示而以不同方式呈現,這兩者為相同物件。然後,在每次訓練時,利用同一種物件(如,物件PT1)對應的訓練資料集200-1~200-n以及三元損失監督式學習演算法210來使相異度模型f學習此物件PT1良品範本資料與瑕疵品資料之間的差異以及良品範本資料與良品資料之間的差異。舉例來說,利用相異度模型f而使良品範本資料SGPT1與眾多良品資料GPT1之間的相異度為低(亦即,計算出的相異度值為低),且利用相異度模型f而使良品範本資料SGPT1與眾多瑕疵品資料DPT1之間的相異度為高(亦即,計算出的相異度值為高)。並且,本實施例的處理器130利用這些物件PT1~PTn以及與其對應的訓練資料集200-1~200-n來逐一地訓練相異度模型f。在訓練過程中,相異度模型f需要進行大量的迭代訓練,直至三元損失函數收斂才可以視為訓練完成。相異度模型f的受訓練次數會受到物件PT1~PTn的種類的數量及相關參數所影響。因此,在經由上述的大量訓練後,在不同物件PT1~PTn的計算皆為收斂時,便可使經訓練後的相異度模型220成為可以『比較所有不同物件及與其對應的良品範本資料之異同』的模型。所謂的『收斂』係為,類神經網路或人工智慧演算法在經過大量資料的訓練之後,組成類神經網路或人工智慧演算法的每個神經元上的參數/權重會傾向接近到某些數值,此種現象便稱為是『收斂』。換句話說,於本實施例中,訓練時經由三元損失函數計算後得到的損失值,在多次的訓練之後,每次訓練獲得的損失值皆趨近於一小且穩定的數值的時候,便代表『收斂』。
圖4A及圖4B是利用三元損失監督式學習演算法210建立及調整相異度模型f的示意圖。圖4A是相異度模型f在受到物件PT1中訓練資料集200-1的訓練且並未訓練完成(或稱為,並未收斂)時的狀態示意圖;圖4B是相異度模型f’在受到物件PT1中訓練資料集200-1的訓練且已訓練完成(或稱為,收斂)時的狀態示意圖。以圖4A中相異度模型f的數學運算結果來說,瑕疵品資料的群集DPT1s跟良品範本資料SGPT1之間的距離(以f(SGPT1, DPT1s)表示相異度)短於良品資料的群集GPT1s跟良品範本資料SGPT1之間的距離(以f(SGPT1, GPT1s)表示相異度),此時藉由相異度模型f運算出來的結果並非三元損失監督式學習演算法210所預設的結果(即,瑕疵品資料的群集DPT1s跟良品範本資料SGPT1的相異度低,而良品資料的群集GPT1s跟良品範本資料SGPT1的相異度高),會讓相異度模型f利用良品範本資料SGPT1與受測物件所計算出的結果(亦即,相異度值)不符合本實施例需求。亦即,當相異度模型f計算出受測圖像跟良品範本資料SGPT1之間的相異度值較高(如,高於一閥值)時,受測圖像與良品資料的群集GPT1s較近而使受測物件更為近似於良品;當相異度模型f計算出的相異度值較低(如,低於一閥值)時,受測圖像與良品資料的群集GPT1s反而較遠而使受測物件更為近似於瑕疵品。
相對地,以圖4B中相異度模型f’的數學運算結果來說,瑕疵品資料的群集DPT1s跟良品範本資料SGPT1之間的距離(以f’(SGPT1, DPT1s)表示相異度)長於良品資料的群集GPT1s跟良品範本資料SGPT1之間的距離(以f’(SGPT1, GPT1s)表示相異度),如此才可讓相異度模型f利用良品範本資料SGPT1與受測物件所計算出的結果(亦即,相異度值)符合本實施例需求。亦即,當相異度模型f’計算出受測圖像跟良品範本資料SGPT1之間的相異度值較高(如,高於一閥值)時,受測物件與良品資料的群集GPT1s較遠而使受測物件更為近似於瑕疵品;當相異度模型f計算出的相異度值較低(如,低於一閥值)時,受測物件與良品資料的群集GPT1s較近而使受測物件更為近似於良品。
回到圖2及圖3,在步驟S320的相異度模型220訓練完成(亦即,已收斂)後,於步驟S330中,處理器130便從圖像來源裝置120中獲得受測物件的受測圖像TPT1、TPT2。詳細來說,處理器130在獲得受測圖像TPT後,可利用自動光學檢查識別系統或影像處理等方式擷取受測圖像TPT上的至少一個受測物件,在圖2標示為受測物件TPT1及TPT2的圖像資料。
於步驟S340中,處理器130分別利用受測物件TPT1及TPT2的圖像資料判斷這兩個受測物件分別為物件資料庫110中物件PT1~PTn中的其中一個(此物件被稱為是受選擇物件),並從物件資料庫110獲得此受選擇物件對應的訓練資料集中的受選擇良品範本資料。例如,圖2中受測物件TPT1對應的良品範本資料為受選擇良品範本資料SGPTa,受測物件TPT2對應的良品範本資料為受選擇良品範本資料SGPTb,其中a與b為小於等於n的正整數。
於步驟S350中,響應於所述受測圖像以及所述受選擇良品範本資料(如,受測物件的受測圖像TPT1及受選擇良品範本資料SGPTa;受測物件的受測圖像TPT2及受選擇良品範本資料SGPTb),處理器130利用相異度模型220分別計算受測物件的受測圖像TPT1、受測圖像TPT2與受選擇良品範本資料SGPTa、SGPTb的相異度值,並依據此相異度值判斷受測物件TPT1、TPT2為良品或瑕疵品。換句話說,依據前述步驟S320所訓練完成的相異度模型220,當相異度模型220計算出的相異度值高於一閥值時,受測物件TPT1、TPT2被判斷為瑕疵品(如圖2的方塊240所示);當相異度模型220計算出的相異度值低於一閥值時,受測物件TPT1、TPT2被判斷為良品(如圖2的方塊230所示)。
在此詳加描述圖2中三元損失監督式學習演算法210的細節流程。三元損失監督式學習演算法210使用卷積神經網路(convolutional neural network;CNN)進行特徵擷取,再比較良品範本資料與良品資料或瑕疵品資料的特徵值作為相異度值。卷積神經網路為深度學習常用技術之一,且在各種圖像處理中獲得良好效果。卷積神經網路是使用圖像資料中的特徵向量進行比對。『特徵向量』是指圖像經由大量的卷積神經網路運算後,會濃縮出具備128維或64維的特徵向量(維度也為卷積神經網路中可調控的參數)。本實施例利用特徵向量對受測物件與良品資料、瑕疵品資料、良品範本資料相互比對。
本實施例中與相異度值相關的『閥值(Threshold)』係由實驗資料來決定,屆以作為相異度值足夠低的標準。此標準通常也被視為深度學習演算法的參數,通常會在相異度模型220經訓練之後,再根據整體資料交叉實驗後的狀況後決定閥值的確切數值。此外,本實施例不論是在處理良品資料或是處理瑕疵品資料時皆使用同一套特徵向量獲取方式,因此相異度計算方式相同。
本實施例中,以卷積神經網路搭配三元損失函數作為舉例,相異度模型220的訓練方式可如下所述。首先,從訓練資料集中選取出一對屬於同種類的物件的良品資料與瑕疵品資料。將前述兩者與事先決定好的良品範本資料放進卷積神經網路模型以運算得到分別對應三者的特徵向量。將前述三者的三筆特徵向量放入三元損失函數,並且應用本實施例者可依照實際情形調整CNN模型對於這三筆特徵向量的權重。若CNN模型的權重設置不恰當,則良品範本資料與良品資料之間的差異將會增大,損失值則同時增大;反之,若CNN模型的權重設置恰當,良品範本資料與良品資料之間的差異將會減小,損失值則同時減小。藉由三元損失函數的大小來決定本次訓練的權重需要調整的大小,以再次調整權重。反覆訓練且調整上述的權重,直至損失值達到最小且穩定(稱之為收斂)。此時,可稱相異度模型以及此相應度模型對應的權重已訓練完成。
於本實施例中,物件的瑕疵品資料也有可能只具備一張圖像資料,本實施例也可以藉由其他不同種類的物件的瑕疵品資料的情況來推得此種類的物件也有可能會發生類似瑕疵,例如,藉由用多種物件的瑕疵品資料訓練一個共用的經訓練模型(如,相異度模型),讓此經訓練模型同時可以判斷物件TP1的焊點脫落也能判斷物件TP2外殼的邊緣粉碎。由於經訓練模型中也有物件TP2外殼的邊緣粉碎的認知,因此在使用此經訓練模型來進行物件TP1的瑕疵判讀時,若物件TP1第一次出現邊緣粉碎的圖像(意即,物件TP1的邊緣粉碎的圖像先前未用於訓練該經訓練模型),此經訓練模型亦能判別出其為瑕疵品,此經訓練模型能在少量的瑕疵品資料的情況下識別出不同種類的瑕疵。
因此,於圖3的步驟S350中,在訓練出收斂的相異度模型220之後,處理器可獲得受測物件相同種類的良品範本資料,並利用相異度模型220計算良品範本資料的特徵向量(以f(良品範本資料)表示)以及受測物件的圖像資料的特徵向量(以f(受測物件)表示)。然後,利用上述兩個特徵向量計算出相異度值,例如將上述兩個特徵向量以最小平方和計算出一個數值作為相異度值。最後,便可利用在訓練相異度模型f途中所決定的閥值與前述相異度值進行比較,從而決定此受測物件為良品或瑕疵品。例如,假設閥值為0.6,第一個受測物件經本實施例計算後的相異度值為0.2,第二受測物件經本實施例計算後的相異度值為0.8,則判定第一受測物件為良品(因0.2>0.6),而第二受測物件為瑕疵品(因0.8>0.6)。
本實施例可與自動光學檢查系統相互配合,從而獲得更佳的瑕疵判讀結果。當自動光學檢查系統檢測出有問題物件的圖像資料後,將前述有問題物件的圖像資料提供給處理器130,並藉由處理器130判讀以得知前述有問題物件的名稱(例如查找與自動光學檢查系統共用的物料清單(BOM)表,或是利用影像辨別技術判讀),然後從物件資料庫中取得此有問題物件對應的良品範本資料。之後,便可如圖3的相應步驟所示以進行瑕疵判讀。
圖5是第一實施例的圖2中三元損失監督式學習演算法210的內部流程示意圖。在圖5中,三元損失監督式學習演算法210具備特徵模型510(以g(X, w)呈現)以及三元損失函數520。本實施例的特徵模型510與三元損失函數520可由軟體、韌體、演算法或資料庫等形式配合處理器實現,並儲存於對應的儲存設備中。首先,將多個物件PT1~PTn對應的訓練資料集200-1~200-n以及權重w放入特徵模型510,以獲得訓練資料集200-1~200-n中各個圖像資料中的多個特徵向量。並且,透過三元損失函數520以及前述特徵向量計算每個物件PT1~PTn的三元損失值(以L1~Ln呈現)。之後,將加總各個物件對應的這些三元損失值L1~Ln,以獲得所有訓練資料集的總和三元損失值ML。接著,利用反向傳播法530以計算得到三元損失值與權重w的梯度∇w 540,並利用梯度下降法550以使用梯度∇w 540對權重w進行迭代運算,進而獲得新的經迭代權重w,並利用經迭代權重w帶入特徵模型510進行訓練,以重新訓練相異度模型。經迭代權重w相較於進行迭代運算之前的權重w具有更小的總和三元損失值ML。並且,響應於多次訓練後且總和三元損失值ML趨近於一定值時,代表總和三元損失值ML『收斂』且相異度模型f訓練完成而成為相異度模型220,此時的經迭代權重w可稱為是經訓練權重。相異度模型220將使用經訓練權重計算受測物件及受選擇良品範本資料之間的相異度值。本實施例於第一次訓練時的權重w通常為隨機產生,或是應用本實施例依其經驗設置相應參數。由於每次訓練中,皆計算不同物件(甚至其不同瑕疵)的損失,於是最後收斂時所使用的權重w將會是可對各種情況皆能適用的經訓練權重。
以g(X, w)呈現的特徵模型510是利用CNN建立特徵模型演算結構的舉例,可由三層CNN實現。於本實施例中,第一層CNN使用八個不同的卷積核、第二層CNN使用16個不同的卷積核、最後一層CNN則使用全連階層以計算成一個64維的向量。此64維的向量即為物件資料的特徵向量。本實施例稱此架構為g函數。本實施例的權重w可由第一層CNN的卷積核、第二層CNN的卷積核以及第三層CNN的全連階層的多種權重組合而成,權重w可為一個數值或是多個數值的集合。上述三層CNN可保留較多的特徵資訊以及縮減特徵資訊的資訊量。應用本實施例者亦可利用其他方式來運算特徵模型510,並不受限於此。
方程式(1)中的『w』為權重,『X』為物件的圖像資料。『、』分別代表前述的良品範本、良品以及瑕疵品。『』表示為神經網路超參數,應用本實施例者可依其需求調整此神經網路超參數,本實施例通常可將神經網路超參數設定為0.2或相近數值。對於將在方程式(1)中的這些數值取最大值(亦即,取max)的原因在於,希望在訓練過程中,能有較良好的數學性質可以使用。在對於三元損失函數520的數值計算時,若有負號數值與正號數值相加的話,將會抵消掉失敗案例的損失。例如,假設有兩組三元訓練資料集以及兩個權重Wa與Wb,使用權重Wa對兩組三元訓練資料集計算的損失值是”-10”與”10”,且使用權重Wa計算的損失加總為”0”(亦即,(-10) + 10);另一方面,使用權重Wb對兩組三元訓練資料集計算的損失值是”0”與”0”,此三元訓練資料集W2的損失加總也是”0”。如此一來,上述情況將無法分辨出權重Wb實際上是比權重Wa更好。
以本實施例作為舉例,第一層CNN的卷積核共80個權重、第二層CNN卷積核共1168個權重,第三層CNN的全連通層則共262,208個權重,因此w為一個共有263,456個權重的集合。舉例來說,本實施例將神經網路超參數設定為0.2,並使用二維特徵向量作為舉例。使用權重w1
、對應的特徵模型510(g(X, w1
))以及三元損失函數520(方程式(1))舉例說明如以下方程式(2): 、 、、… (2)
其中,g(XA
, w1
)代表利用權重w1
與良品範本資料帶入g函數計算特徵向量,得到特徵向量(1, 0)。g(XP
, w1
)代表利用權重w1
與良品資料帶入g函數計算特徵向量,得到特徵向量(0.5, 0.5)。g(XN
, w1
)代表利用權重w1
與瑕疵品資料帶入g函數計算特徵向量,得到特徵向量(0.8, 0)。將三個特徵向量帶入三元損失函數得到損失值0.5071。
使用權重w2
、對應的特徵模型510(g(X, w2
))以及三元損失函數520(方程式(1))舉例說明如以下方程式(3):、、、… (3)
其中,g(XA
, w2
)代表利用權重w2
與良品範本資料帶入g函數計算特徵向量,得到特徵向量(1, 0)。g(XP
, w2
)代表利用權重w2
與良品資料帶入g函數計算特徵向量,得到特徵向量(0.9, 0)。g(XN
, w2
)代表利用權重w2
與瑕疵品資料帶入g函數計算特徵向量,得到特徵向量(0.2, 0.3)。將三個特徵向量帶入三元損失函數得到損失值0。
比對權重w1
的損失量(L=0.5071)與權重w2
的損失量(L=0),由於使用權重w2
的損失量少於使用權重w1
的損失量,因此在使用權重w2
的情況下更能判斷出受測物件及受選擇良品範本資料之間的相異度值。
「」表示每次迭代時的變化量;「learning rate」是一個可控制的參數,稱為是學習率,其決定每次變動權重的比例;「」用以表示該次的損失(loss)傳播到第i層的資訊,且其為非線性函數,會隨損失而變化,但不見得成正比或反比;「」則表示權重在該層的關係量,會受到整層的權重值影響此數值。此種計算權重w的運算方式便是反向傳播法及梯度下降法的運算方式。
在此舉例說明如何計算權重。若初始權重w0
的損失值是0.985的話,設定初始的權重為0.3、初始的權重為0.7、學習率(learning rate)為0.01,根據反向傳播法公式以得到方程式(5):、、… (5)
相異度模型220中設定的閥值可依據應用本實施例者的需求來決定,此處的『需求』例如是指應用端對於正確率、敏感度、特異度或誤報率等的要求。於另一實施例中,會使用接收者操作特徵曲線(receiver operating characteristic curve;ROC Curve)來決定。
在此以圖6與相應描述說明如何實現圖3步驟S350所述『利用相異度模型計算受測圖像的相異度值』。圖6是依照本發明的一實施例以說明圖3步驟S350的流程示意圖。當依據圖5以及相應描述而完成對於相異度模型220的訓練後,於圖6中,本實施例獲得前述經訓練權重(在此以「」表示作為經訓練權重),並基於經訓練權重建構第二特徵模型610(以g(X,)呈現)。第二特徵模型610與圖5中特徵模型510皆是利用CNN建立特徵模型演算結構的舉例,然而,與圖5特徵模型510不同之處在於,第二特徵模型610中的權重為前述已收斂的經訓練權重,而『X』為物件的圖像資料。另一方面,本實施例獲得受測物件的受測圖像TPT及TPT1。詳細來說,在獲得受測圖像TPT後,可利用自動光學檢查識別系統或影像處理等方式擷取受測圖像TPT上的至少一個受測物件,如TPT1。
然後,將與受測物件對應的受選擇良品範本資料(在此以SGPTa作為舉例)放入第二特徵模型610,以獲得受選擇良品範本資料SGPTa的第一特徵向量。在此以g(XSGPTa
,)呈現第一特徵向量。此外,將受測物件的受測圖像(在此以TPT1作為舉例)放入第二特徵模型610,以獲得受測物件的第二特徵向量在此以g(XTPT1
,)呈現第二特徵向量。並且,依據第一特徵向量g(XSGPTa
,)及第二特徵向量g(XTPT1
,)計算相異度值,如圖6區塊620所示。
圖6所述為計算相異度值的其中一種可實施的計算方式,應用本實施例可依其需求調整相異度值的計算,不僅受限於此。
在此以實際的圖像作為訓練資料來說明本發明實施例。圖7是依照本發明的一實施例以說明兩種物件的瑕疵品資料、良品資料以及良品範本資料的示意圖。本實施例以兩個物件做為舉例,第一物件為呈現數字『4』的圖像,第二物件則為呈現數字『0』的圖像。圖7呈現第一物件的兩個良品範本資料SGPT1、兩個良品資料GPT1、兩個瑕疵品資料DPT1以及第二物件的兩個良品範本資料SGPT2、兩個良品資料GPT2、兩個瑕疵品資料DPT2。瑕疵品資料DPT1皆是被一個三角形陰影覆蓋住數字『4』圖像,因而判定為瑕疵物件;瑕疵品資料DPT2皆是被一個矩形陰影覆蓋住數字『0』圖像,因而判定為瑕疵物件。由圖7可知,瑕疵品資料DPT2中僅有受矩形陰影覆蓋的第二物件圖像,而沒有受三角形陰影覆蓋的第二物件圖像。因此,本實施例於訓練後,能將受三角形陰影覆蓋的第二物件圖像偵測為具備高相異度,便是本實施例的其中一個測試目的。
圖8是依照本發明的一實施例及圖7以說明作為受測物件的第二物件中的受選擇良品範本資料以及不存在於訓練資料集中的受測物件圖像的示意圖。圖8上方橫列由左至右依序呈現第二物件的第一受測物件圖像DM1、第二物件的良品範本資料SGPT2-1、及第二物件的第二受測物件圖像DM2;圖8下方橫列由左至右依序呈現、第二物件的第三受測物件圖像DM3、第二物件的良品範本資料SGPT2-2、及第二物件的第四受測物件圖像DM4。直接以圖8可看出,第一及第三受測物件圖像DM1、DM3為良品,第二受測物件圖像DM2為受矩形陰影覆蓋的瑕疵品,且第四受測物件圖像DM4則為受三角形陰影覆蓋的瑕疵品。
若以圖7作為訓練資料集,且利用圖8的受選擇良品範本資料SGPT2-1及第一受測物件圖像DM1計算相異度值的話,經由本實施例計算出的第一相異度值為0.3237,表示第一相異度值較低而良品範本資料SGPT2-1及第一受測物件圖像DM1相近似,故可判定為良品;以圖7作為訓練資料集,且利用圖8的受選擇良品範本資料SGPT2-1及第二受測物件圖像DM2計算相異度值的話,經由本實施例計算出的第二相異度值為1.3341,表示第二相異度值較高而良品範本資料SGPT2-1及第二受測物件圖像DM2不近似,故可判定為瑕疵品。因在圖7的訓練資料集中已出現過受矩形陰影覆蓋的第二物件圖像,因此圖8上方橫列的受測物件圖像DM1、DM2為正常判讀時的對照組。
另一方面,若以圖7作為訓練資料集,且利用圖8的受選擇良品範本資料SGPT2-2及第三受測物件圖像DM3計算相異度值的話,經由本實施例計算出的第三相異度值為0.2422,表示第三相異度值較低而良品範本資料SGPT2-2及第三受測物件圖像DM3相近似,故可判定為良品;以圖7作為訓練資料集,且利用圖8的受選擇良品範本資料SGPT2-2及第四受測物件圖像DM4計算相異度值的話,經由本實施例計算出的第四相異度值為1.5664,表示第四相異度值較高而良品範本資料SGPT2-2及第四受測物件圖像DM4不近似,故可判定為瑕疵品。需特別說明的是,圖7中的訓練資料集中並未出現第四受測物件圖像DM4的類型,也就是,圖7中並未出現受三角形陰影覆蓋的第二物件圖像,因此本實施例可藉由同時受過第一物件與第二物件訓練的相異度模型來判斷出原本出現於第一物件上而現在出現在第二物件上的瑕疵。換句話說,原本圖7並不存在受三角形陰影覆蓋的第二物件圖像的訓練資料集,但可藉由本實施例經訓練後的相異度模型來計算出高相異度。
綜上所述,本發明實施例利用不同類型的物件/零件建立可共用的機械學習演算法模型以自動地進行物件的瑕疵判斷,使其同時適用於多種物件、電路元件或零件上,且在原有自動光學檢查技術的基礎上更為降低在瑕疵判讀上的錯誤率。因此,本發明實施例不需針對不同物件/零件建立不同的機械學習演算法模型,可減少新產線建立時新物件/零件的瑕疵分類模型研發時間,亦可在新物件/零件的良品資料量與瑕疵品資料量不足時仍能夠建立較為有效的機械學習演算法模型。並且,在已進行自動光學檢查識別技術的基礎上進行二度檢測,可減少所謂『過殺』的情形。
100:物件的瑕疵判斷裝置
110:物件資料庫
120:圖像來源裝置
130:處理器
140:伺服器
200-1~200-n:訓練資料集
210:三元損失監督式學習演算法
220:相異度模型
230:良品
240:瑕疵品
S310~S350:步驟
510:特徵模型
520:三元損失函數
530:反向傳播法
540:梯度
550:梯度下降法
PT1~PTn:物件
IM1~IMn:圖像資料
DPT1~DPTn:瑕疵品資料
GPT1~GPTn:良品資料
SGPT1~SGPTn、SGPT2-1、SGPT2-2:良品範本資料
SGPTa、SGPTb:受選擇良品範本資料
DPT1s:瑕疵品資料的群集
GPT1s:良品資料的群集
f(SGPT1,DPT1s)、f’(SGPT1,DPT1s):瑕疵品資料的群集跟良品範本資料之間的距離
f(SGPT1,GPT1s)、f’(SGPT1,GPT1s):良品資料的群集跟良品範本資料之間的距離
DM1~DM4:受測物件圖像
圖1是依照本發明的一實施例的一種物件的瑕疵判斷裝置的硬體方塊圖。
圖2是依照本發明的一實施例的一種物件的瑕疵判斷方法及相應裝置的操作示意圖。
圖3是依照本發明的一實施例的一種物件的瑕疵判斷方法的流程圖。
圖4A及圖4B是利用三元損失監督式學習演算法建立及調整相異度模型f的示意圖。
圖5是第一實施例的圖2中三元損失監督式學習演算法的內部流程示意圖。
圖6是依照本發明的一實施例以說明圖3步驟S350的流程示意圖。
圖7是依照本發明的一實施例以說明兩種物件的瑕疵品資料、良品資料以及良品範本資料的示意圖。
圖8是依照本發明的一實施例及圖7以說明作為受測物件的第二物件中的受選擇良品範本資料以及不存在於訓練資料集中的受測物件圖像的示意圖。
S310~S350:步驟
Claims (19)
- 一種物件的瑕疵判斷方法,包括:基於多個物件的至少一瑕疵品資料、至少一良品資料以及良品範本資料透過一三元損失監督式學習演算法訓練相異度模型;獲得受測物件的受測圖像;獲得所述受測物件對應的受選擇良品範本資料;以及利用所述相異度模型計算所述受測圖像及所述受選擇良品範本資料之間的相異度值,並依據所述相異度值判斷所述受測物件為良品或瑕疵品,其中,利用所述相異度模型計算所述受測圖像及所述受選擇良品範本資料之間的所述相異度值的步驟包括:利用所述相異度模型計算所述受選擇良品範本資料的特徵向量以及所述受測圖像的特徵向量,並利用所述受選擇良品範本資料的所述特徵向量以及所述受測圖像的所述特徵向量計算所述受測圖像及所述受選擇良品範本資料之間的所述相異度值。
- 如申請專利範圍第1項所述的物件的瑕疵判斷方法,還包括:獲得所述多個物件對應的多個訓練資料集,每個訓練資料集包括對應每個物件的所述至少一瑕疵品資料、所述至少一良品資料以及所述至少一良品範本資料;以及基於所述多個訓練資料集來訓練所述相異度模型。
- 如申請專利範圍第2項所述的物件的瑕疵判斷方法,其中訓練所述相異度模型包括:將所述物件對應的所述訓練資料集以及一權重放入一第一特徵模型,以獲得所述訓練資料集中各個圖像資料中的多個特徵向量;透過一三元損失函數以及所述訓練資料集中各個圖像資料中的所述特徵向量計算所述物件的三元損失值;加總各個所述物件對應的多個所述三元損失值,以獲得所述訓練資料集的一總和三元損失值;利用一反向傳播法計算得到所述三元損失值與所述權重的梯度,並利用一梯度下降法以及所述梯度來對所述權重進行迭代運算,進而獲得經迭代權重;以及利用所述經迭代權重重新訓練所述相異度模型,其中所述經迭代權重相較於所述權重具有更小的所述總和三元損失值,並且響應於多次訓練後所述總和三元損失值趨近於一定值時,代表所述相異度模型訓練完成且將所述經迭代權重視為經訓練權重,所述相異度模型將使用所述經訓練權重計算所述受測圖像及所述受選擇良品範本資料之間的所述相異度值。
- 如申請專利範圍第3項所述的物件的瑕疵判斷方法,其中所述權重由第一層卷積神經網路的卷積核、第二層卷積神經網 路的卷積核以及第三層卷積神經網路的全連階層的多種權重組合而成。
- 如申請專利範圍第3項所述的物件的瑕疵判斷方法,利用所述相異度模型計算所述受測圖像及所述受選擇良品範本資料之間的相異度值包括:獲得所述經訓練權重,並依據所述經訓練權重建構一第二特徵模型;將所述受選擇良品範本資料放入所述第二特徵模型,以獲得所述受選擇良品範本資料的一第一特徵向量;將所述受測物件的所述受測圖像放入所述第二特徵模型,以獲得所述受測物件的一第二特徵向量;以及依據所述第一特徵向量及所述第二特徵向量計算所述相異度值,其中,所述相異度值為,將所述第一特徵向量減去所述第二特徵向量後取絕對值再進行平方的數值。
- 如申請專利範圍第1項所述的物件的瑕疵判斷方法,依據所述相異度值判斷所述受測物件為良品或瑕疵品包括:當所述相異度值高於一閥值時,判斷所述受測物件為瑕疵品;以及當所述相異度值低於所述閥值時,判斷所述受測物件為良品。
- 如申請專利範圍第1項所述的物件的瑕疵判斷方法,其中所述相異度模型使所述瑕疵品資料的群集與所述良品範本資料的相異度高於所述良品資料的群集與所述良品範本資料的相異度。
- 如申請專利範圍第1項所述的物件的瑕疵判斷方法,其中所述至少一瑕疵品資料、所述至少一良品資料以及所述一良品範本資料皆為圖像資料。
- 如申請專利範圍第1項所述的物件的瑕疵判斷方法,其中所述物件是使用於電路板上的電路元件。
- 一種物件的瑕疵判斷裝置,包括:物件資料庫,具備多個物件對應的至少一良品範本資料;圖像來源裝置,獲得受測物件的受測圖像;以及處理器,耦接所述物件資料庫及所述圖像來源裝置,其中所述處理器透過所述圖像來源裝置獲得所述受測物件的所述受測圖像,透過所述物件資料庫獲得所述受測物件對應的受選擇良品範本資料,以及,所述處理器利用相異度模型計算所述受測圖像及所述受選擇良品範本資料之間的相異度值,並依據所述相異度值判斷所述受測物件為良品或瑕疵品,其中所述相異度模型是基於所述多個物件的至少一瑕疵品資料、至少一良品資料以及各自對應的所述良品範本資料透過一三元損失監督式學習演算法來訓練得出, 其中所述處理器利用所述相異度模型計算所述受選擇良品範本資料的特徵向量以及所述受測圖像的特徵向量,並利用所述受選擇良品範本資料的所述特徵向量以及所述受測圖像的所述特徵向量計算所述受測圖像及所述受選擇良品範本資料之間的所述相異度值。
- 如申請專利範圍第10項所述的物件的瑕疵判斷裝置,其中所述物件資料庫還包括多個訓練資料集,每個訓練資料集包括對應每個物件的所述至少一瑕疵品資料、所述至少一良品資料以及所述至少一良品範本資料,其中所述相異度模型是基於所述多個訓練資料集來訓練得出。
- 如申請專利範圍第11項所述的物件的瑕疵判斷裝置,其中訓練所述相異度模型包括:將所述物件對應的所述訓練資料集以及一權重放入一第一特徵模型,以獲得所述訓練資料集中各個圖像資料中的多個特徵向量;透過一三元損失函數以及所述訓練資料集中各個圖像資料中的所述特徵向量計算所述物件的三元損失值;加總各個所述物件對應的多個所述三元損失值,以獲得所述訓練資料集的一總和三元損失值;利用一反向傳播法以計算得到所述三元損失值與所述權重的梯度,並利用一梯度下降法以及所述梯度來對所述權重進行迭代 運算,進而獲得經迭代權重;以及利用所述經迭代權重重新訓練所述相異度模型,其中所述經迭代權重相較於所述權重具有更小的所述總和三元損失值,並且響應於多次訓練後所述總和三元損失值趨近於一定值時,代表所述相異度模型訓練完成且將所述經迭代權重視為經訓練權重,所述相異度模型將使用所述經訓練權重計算所述受測圖像及所述受選擇良品範本資料之間的所述相異度值。
- 如申請專利範圍第12項所述的物件的瑕疵判斷裝置,其中所述權重由第一層卷積神經網路的卷積核、第二層卷積神經網路的卷積核以及第三層卷積神經網路的全連階層的多種權重組合而成。
- 如申請專利範圍第12項所述的物件的瑕疵判斷裝置,其中所述處理器獲得所述經訓練權重,依據所述經訓練權重建構一第二特徵模型,將所述受選擇良品範本資料放入所述第二特徵模型,以獲得所述受選擇良品範本資料的一第一特徵向量,將所述受測物件的所述受測圖像放入所述第二特徵模型,以獲得所述受測物件的一第二特徵向量,以及,所述處理器依據所述第一特徵向量及所述第二特徵向量計算所述相異度值,其中,所述相異度值為,將所述第一特徵向量減去所述第二特徵向量後取絕對值再進行平方的數值。
- 如申請專利範圍第10項所述的物件的瑕疵判斷裝置,當所述相異度值高於一閥值時,所述處理器判斷所述受測物件為 瑕疵品;當所述相異度值低於所述閥值時,所述處理器判斷所述受測物件為良品。
- 如申請專利範圍第10項所述的物件的瑕疵判斷裝置,其中所述相異度模型使所述瑕疵品資料的群集與所述良品範本資料的相異度高於所述良品資料的群集與所述良品範本資料的相異度。
- 如申請專利範圍第10項所述的物件的瑕疵判斷裝置,其中所述圖像來源裝置是圖像擷取裝置或自動光學檢查識別系統。
- 如申請專利範圍第10項所述的物件的瑕疵判斷裝置,其中所述至少一瑕疵品資料、所述至少一良品資料以及所述一良品範本資料皆為圖像資料。
- 如申請專利範圍第10項所述的物件的瑕疵判斷裝置,其中所述物件是使用於電路板上的電路元件。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108148418A TWI783200B (zh) | 2019-12-30 | 2019-12-30 | 物件的瑕疵判斷方法及裝置 |
CN202010080289.8A CN113125440A (zh) | 2019-12-30 | 2020-02-05 | 物件的瑕疵判断方法及装置 |
US16/820,635 US11783471B2 (en) | 2019-12-30 | 2020-03-16 | Method and device for determining whether object includes defect |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
TW108148418A TWI783200B (zh) | 2019-12-30 | 2019-12-30 | 物件的瑕疵判斷方法及裝置 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202125330A TW202125330A (zh) | 2021-07-01 |
TWI783200B true TWI783200B (zh) | 2022-11-11 |
Family
ID=76545490
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW108148418A TWI783200B (zh) | 2019-12-30 | 2019-12-30 | 物件的瑕疵判斷方法及裝置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11783471B2 (zh) |
CN (1) | CN113125440A (zh) |
TW (1) | TWI783200B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113538427B (zh) * | 2021-09-16 | 2022-01-07 | 深圳市信润富联数字科技有限公司 | 产品缺陷识别方法、装置、设备及可读存储介质 |
CN113779886A (zh) * | 2021-09-18 | 2021-12-10 | 天津商科数控技术股份有限公司 | 基于深度学习的焊点质量异常检测方法、装置、系统 |
US20230125477A1 (en) * | 2021-10-26 | 2023-04-27 | Nvidia Corporation | Defect detection using one or more neural networks |
TWI807854B (zh) * | 2022-06-09 | 2023-07-01 | 鴻海精密工業股份有限公司 | 瑕疵偵測方法、電腦設備及儲存介質 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201531963A (zh) * | 2014-02-06 | 2015-08-16 | Kla Tencor Corp | 基於從標準參考影像判定之屬性之缺陷偵測及分類 |
CN107240086A (zh) * | 2016-03-25 | 2017-10-10 | 南通大学 | 一种基于积分图算法的织物瑕疵检测方法 |
CN108647706A (zh) * | 2018-04-24 | 2018-10-12 | 广州大学 | 基于机器视觉的物品识别分类与瑕疵检测方法 |
CN110232404A (zh) * | 2019-05-21 | 2019-09-13 | 江苏理工学院 | 一种基于机器学习的工业产品表面瑕疵识别方法及装置 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010041447A (ja) * | 2008-08-06 | 2010-02-18 | Softbank Mobile Corp | 課金処理方法及び通信システム |
US8712156B2 (en) * | 2010-01-10 | 2014-04-29 | Bronstein Bronstein Kimmel Technologies Ltd. | Comparison of visual information |
CN105069807B (zh) | 2015-08-28 | 2018-03-23 | 西安工程大学 | 一种基于图像处理的冲压工件缺陷检测方法 |
US9965717B2 (en) * | 2015-11-13 | 2018-05-08 | Adobe Systems Incorporated | Learning image representation by distilling from multi-task networks |
JP6729081B2 (ja) * | 2016-06-30 | 2020-07-22 | オムロン株式会社 | 画像処理システム、画像処理方法、および画像処理プログラム |
US10367841B2 (en) * | 2016-12-16 | 2019-07-30 | Patternex, Inc. | Method and system for learning representations for log data in cybersecurity |
US10607393B2 (en) * | 2017-03-10 | 2020-03-31 | Siemens Healthcare Gmbh | Consistent 3D rendering in medical imaging |
TWI653605B (zh) * | 2017-12-25 | 2019-03-11 | 由田新技股份有限公司 | 利用深度學習的自動光學檢測方法、設備、電腦程式、電腦可讀取之記錄媒體及其深度學習系統 |
US10637544B1 (en) * | 2018-04-24 | 2020-04-28 | Genghiscomm Holdings, LLC | Distributed radio system |
US10473593B1 (en) * | 2018-05-04 | 2019-11-12 | United Technologies Corporation | System and method for damage detection by cast shadows |
CN108961236B (zh) * | 2018-06-29 | 2021-02-26 | 国信优易数据股份有限公司 | 电路板缺陷检测方法及装置 |
US11144784B2 (en) * | 2019-05-30 | 2021-10-12 | Adobe Inc. | Text-to-visual machine learning embedding techniques |
US11605019B2 (en) * | 2019-05-30 | 2023-03-14 | Adobe Inc. | Visually guided machine-learning language model |
US20210142210A1 (en) * | 2019-11-11 | 2021-05-13 | Alibaba Group Holding Limited | Multi-task segmented learning models |
-
2019
- 2019-12-30 TW TW108148418A patent/TWI783200B/zh active
-
2020
- 2020-02-05 CN CN202010080289.8A patent/CN113125440A/zh active Pending
- 2020-03-16 US US16/820,635 patent/US11783471B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TW201531963A (zh) * | 2014-02-06 | 2015-08-16 | Kla Tencor Corp | 基於從標準參考影像判定之屬性之缺陷偵測及分類 |
CN107240086A (zh) * | 2016-03-25 | 2017-10-10 | 南通大学 | 一种基于积分图算法的织物瑕疵检测方法 |
CN108647706A (zh) * | 2018-04-24 | 2018-10-12 | 广州大学 | 基于机器视觉的物品识别分类与瑕疵检测方法 |
CN110232404A (zh) * | 2019-05-21 | 2019-09-13 | 江苏理工学院 | 一种基于机器学习的工业产品表面瑕疵识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202125330A (zh) | 2021-07-01 |
CN113125440A (zh) | 2021-07-16 |
US20210201089A1 (en) | 2021-07-01 |
US11783471B2 (en) | 2023-10-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI783200B (zh) | 物件的瑕疵判斷方法及裝置 | |
CN109977808B (zh) | 一种晶圆表面缺陷模式检测与分析方法 | |
CN110111297B (zh) | 一种基于迁移学习的注塑制品表面图像缺陷识别方法 | |
WO2019233166A1 (zh) | 一种表面缺陷检测方法、装置及电子设备 | |
WO2021046951A1 (zh) | 图像识别方法、系统及存储介质 | |
CN109727246B (zh) | 一种基于孪生网络的对比学习图像质量评估方法 | |
CN107909564B (zh) | 一种基于深度学习的全卷积网络图像裂纹检测方法 | |
CN111126482B (zh) | 一种基于多分类器级联模型的遥感影像自动分类方法 | |
CN107992898B (zh) | 一种电子元件焊点缺陷检测方法 | |
WO2023155069A1 (zh) | 一种基于深度学习的手机电池表面缺陷检测方法 | |
CN111784633B (zh) | 一种面向电力巡检视频的绝缘子缺损自动检测算法 | |
CN112001903A (zh) | 缺陷检测网络构建方法、异常检测方法及系统、存储介质 | |
CN111815564B (zh) | 一种检测丝锭的方法、装置及丝锭分拣系统 | |
CN113034483B (zh) | 基于深度迁移学习的烟支缺陷检测方法 | |
CN108133235A (zh) | 一种基于神经网络多尺度特征图的行人检测方法 | |
CN117355038B (zh) | 用于线路板软板的x型孔加工方法及其系统 | |
CN111144425B (zh) | 检测拍屏图片的方法、装置、电子设备及存储介质 | |
CN114255212A (zh) | 一种基于cnn的fpc表面缺陷检测方法及其系统 | |
CN117103790A (zh) | 瓦楞纸板生产线及其控制方法 | |
CN114418980A (zh) | 印刷线路板缺陷识别的深度学习方法、系统、设备及介质 | |
CN117636045A (zh) | 基于图像处理的木材缺陷检测系统 | |
CN111191670A (zh) | 基于神经网络的分类装置及分类方法 | |
Ming et al. | Visual detection of sprouting in potatoes using ensemble‐based classifier | |
CN115631154A (zh) | 一种电力设备状态监控分析方法与系统 | |
CN115439405A (zh) | 一种钢板表面缺陷的分类方法 |