TWI749524B - 影像辨識裝置、影像辨識方法及其電腦程式產品 - Google Patents
影像辨識裝置、影像辨識方法及其電腦程式產品 Download PDFInfo
- Publication number
- TWI749524B TWI749524B TW109112603A TW109112603A TWI749524B TW I749524 B TWI749524 B TW I749524B TW 109112603 A TW109112603 A TW 109112603A TW 109112603 A TW109112603 A TW 109112603A TW I749524 B TWI749524 B TW I749524B
- Authority
- TW
- Taiwan
- Prior art keywords
- image
- detection point
- group
- point images
- detection
- Prior art date
Links
Images
Landscapes
- Image Analysis (AREA)
- Investigating Materials By The Use Of Optical Means Adapted For Particular Applications (AREA)
Abstract
一種影像辨識方法,包括:接收複數張檢測點影像,並將各檢測點影像分類為複數個群組;將各群組的該等檢測點影像分類為複數個類別以產生一第一結構化資料,其中該第一結構化資料係包括第一層及第二層,該第一層用以表示不同狀態的該等群組,且該第二層係位於該第一層之資料夾之中,且在該第二層之各群組中的該等類別係用以表示各群組相應的該狀態下的不同零件;將該第一結構化資料中之各群組之各類別中的該等檢測點影像之數量進行平衡以產生一第二結構化資料,其中該第二結構化資料係用於訓練一人工智慧模型以進行影像辨識。
Description
本發明係有關於自動光學檢測,特別是有關於一種影像辨識裝置、影像辨識方法及其電腦程式產品。
自動光學檢測(Automated Optical Inspection,AOI)是工業製程中常見的代表性手法,例如可用於檢查印刷電路板(printed circuit board,PCB)、平面顯示器(flat display panel)、半導體裝置、電子產品、光學裝置、機械機構、模具等等的待測物品。舉例來說,自動光學檢測系統可利用光學儀器取得成品的表面狀態,再以電腦影像處理技術來檢出異物或圖案異常等瑕疵,因為是非接觸式檢查,所以可在生產線的中間節點來檢查半成品,例如空白PCB(bare PCB)以及組裝完成的PCB均為中間節點。
自動光學檢測系統可用於待測物品之製造或組裝過程中以檢查待測物品或半成品之不同特徵,例如但不限於:導體(例如電線)之完整性(例如斷裂、連續性、破裂)及尺寸、絕緣體或基板之尺寸及位置、孔洞(hole)之尺寸及位置、通孔(via)之尺寸及位置、導體間距、線寬和長度、焊錫狀況、元件位置、焊點缺陷等等。
然而,傳統的自動光學檢測系統均會設定相當嚴格的判斷條件以剔除不合格的產品,但是在上述過程中會得到許多品質合格但是被自動光學檢測系統判斷為有缺陷的產品,且在工廠端大量製造產品時,並無有效的方法可以一一檢測被誤判為有缺陷的產品。
有鑑於此,需要一種用於自動光學檢測的影像辨識裝置、影像辨識方法及其電腦程式產品以解決上述問題。
本發明實施例係提供一種電腦程式產品,用以被一機器載入且執行一影像辨識方法,該電腦程式產品包括:一影像標記模組,用以接收複數張檢測點影像,並將該等檢測點影像分類為複數個群組;一影像歸類模組,用以將各群組的該等檢測點影像分類為複數個類別以產生一第一結構化資料,其中該第一結構化資料係包括第一層及第二層,該第一層用以表示不同狀態的該等群組,且該第二層係位於該第一層之資料夾之中,且在該第二層之各群組中的該等類別係用以表示各群組相應的該狀態下的不同零件;一影像生成模組,用以將該第一結構化資料中之各群組之各類別中的該等檢測點影像之數量進行平衡以產生一第二結構化資料,其中該第二結構化資料係用於訓練一人工智慧模型以進行影像辨識。
在一些實施例中,該電腦程式產品更包括一影像切割模組,用以接收來自一自動光學檢測裝置所拍攝的一待測物之一物件影像,並將該物件影像切割為對應於該待測物之複數個檢測點的該等檢測點影像。該影像切割模組係在該物件影像上設定一搜索範圍,並在該搜索範圍內設定一或多個標記範圍,並在各標記範圍內設定不同檢測點之相對位置。該影像切割模組係在該搜索範圍內尋找該一或多個標記範圍,並依據各檢測點與相應之該標記範圍之相對位置以從該物件影像切割出相應於各檢測點之檢測點影像。
在另一些實施例中,該等檢測點影像係來自一自動光學檢測裝置,且該等檢測點影像係對應於該自動光學檢測裝置所拍攝的一待測物之複數個檢測點。
在一些實施例中,該影像標記模組所標記的各群組係對應於該待測物中之該等檢測點之複數個缺陷狀態及一檢測通過狀態之其中一者。
在一些實施例中,該影像歸類模組係依據在各群組中之各檢測點影像對應於至少一個該等類別的相似度將各群組的該等檢測點影像分類為該等類別以產生該第一結構化資料。此外,響應於各群組之各檢測點影像對應於至少一個該等類別的該相似度高於一相似度閾值,該影像歸類模組係將在各群組中該相似度高於該相似度閾值之該等檢測點影像分類為同一類別。
在一些實施例中,該影像歸類模組係將在各群組中之各檢測點影像對應於至少一個該等類別的該相似度排序並將排序結果顯示於使用者介面,其中當該影像歸類模組對各群組中的一或多張該等檢測點影像進行標記後,該影像歸類模組係將被標記的一或多張該等檢測點影像搬移至相應的歸類子資料夾。
在一些實施例中,該第一結構化資料中之各群組的各類別均記錄相應的該等檢測點影像之編號,其係被該影像歸類模組輸出為一歸類檔。
在一些實施例中,該影像生成模組係設定一或多個影像參數之每一者的數值變化範圍,且該影像生成模組係從各影像參數的數值變化範圍隨機生成各影像參數以對該等檢測點影像進行影像處理以產生複數張模擬檢測點影像。該一或多個影像參數包括該等檢測點影像之紅色/綠色/藍色像素之亮度、對比、伽瑪(gamma)值、旋轉角度、X方向/Y方向之平移像素值、銳利化、模糊度及縮放比率。該影像生成模組依據一原始檢測點影像及一組特定影像參數計算一第一模擬檢測點影像,並在其使用者介面顯示該第一模擬檢測點影像。此外,在該等群組中之一第一群組該等檢測點影像之數量及該等模擬檢測點影像之數量的總和等於一第一數量,且該等群組中之其他各群組中的該等檢測點影像之數量加上該等模擬檢測點影像之數量的總和等於該第一數量。在每一群組中之各類別的該等檢測點影像之數量及該等模擬檢測點影像之數量的總和等於該第一數量除以每一群組之該等類別的數量。
本發明實施例更提供一種影像辨識方法,包括:接收複數張檢測點影像,並將該等檢測點影像加上一群組標記以分類為複數個群組;將各群組的該等檢測點影像分類為複數個類別以產生一第一結構化資料,其中該第一結構化資料係包括第一層及第二層,該第一層用以表示不同狀態的該等群組,且該第二層係位於該第一層之資料夾之中,且在該第二層之各群組中的該等類別係用以表示各群組相應的該狀態下的不同零件;將該第一結構化資料中之各群組之各類別中的該等檢測點影像之數量進行平衡以產生一第二結構化資料,其中該第二結構化資料係用於訓練一人工智慧模型以進行影像辨識。
本發明實施例更提供一種用於自動光學檢測的影像辨識裝置,包括:一非揮發性記憶體,用以儲存一人工智慧影像檢測程式;以及一處理器,用以執行該人工智慧影像檢測程式以進行下列步驟:接收複數張檢測點影像,並將該等檢測點影像分類為複數個群組;將各群組的該等檢測點影像分類為複數個類別以產生一第一結構化資料,其中該第一結構化資料係包括第一層及第二層,該第一層用以表示不同狀態的該等群組,且該第二層係位於該第一層之資料夾之中,且在該第二層之各群組中的該等類別係用以表示各群組相應的該狀態下的不同零件;將該第一結構化資料中之各群組之各類別中的該等檢測點影像之數量進行平衡以產生一第二結構化資料,其中該第二結構化資料係用於訓練一人工智慧模型以進行影像辨識。
以下說明係為完成發明的較佳實現方式,其目的在於描述本發明的基本精神,但並不用以限定本發明。實際的發明內容必須參考之後的權利要求範圍。
必須了解的是,使用於本說明書中的"包含"、"包括"等詞,係用以表示存在特定的技術特徵、數值、方法步驟、作業處理、元件以及/或組件,但並不排除可加上更多的技術特徵、數值、方法步驟、作業處理、元件、組件,或以上的任意組合。
於權利要求中使用如"第一"、"第二"、"第三"等詞係用來修飾權利要求中的元件,並非用來表示之間具有優先權順序,先行關係,或者是一個元件先於另一個元件,或者是執行方法步驟時的時間先後順序,僅用來區別具有相同名字的元件。
第1圖係顯示依據本發明一實施例中之自動光學檢測系統的示意圖。
如第1圖所示,自動光學檢測系統10包括一自動輸送裝置12、一自動光學檢測裝置14、一影像檢測裝置16以及一影像辨識裝置18。自動輸送裝置12例如包括一機殼122及一驅動機構124。驅動機構124係設置於機殼122之上方,用以將一或多個待測物20(device under test)依序輸送至機殼122上之一檢測定位點128,使得自動光學檢測裝置14可對待測物20拍照或執行光學檢測程序以得到一或多張物件影像。驅動機構124例如可用輸送帶或是機器手臂所實現,且驅動機構124輸送待測物20之方向(如箭號30所示)係由控制器126所控制。控制器126例如可用一微控制器(controller)、一可程式化邏輯控制器(programmable logic controller,PLC)或是一個人電腦所實現,但本發明實施例並不限於此。
自動光學檢測裝置14係包括一或多個影像感測器142及一或多個照明裝置144,其中照明裝置144係用以提供光線至檢測定位點128上之待測物20,以使影像感測器142對檢測定位點128上之待測物20拍照以得到物件影像。照明裝置144例如可用發光二極體(LED)或不同類型之光源所實現,且影像感測器142例如可由電荷耦合裝置(charge-coupled device,CCD)感測器或互補式金屬氧化物半導體(complementary metal-oxide-semiconductor,CMOS)感測器所實現,但本發明實施例並不限於此。此外,在自動光學檢測裝置14中之一或多個影像感測器142之整體的拍照視野(field of view)係可涵蓋在檢測定位點128上之待測物20。
影像檢測裝置16例如可為一個人電腦或伺服器所實現。在一實施例中,影像檢測裝置16係用以從影像感測器142取得待測物之物件影像,並且對物件影像進行影像前處理(image pre-processing),並且對處理後的物件影像進行光學影像辨識,藉以判斷待測物中之一或多個檢測點是否有缺陷(defect)。
舉例來說,上述影像前處理包括但不限於去除雜訊、加強影像對比、加強影像邊緣、擷取影像特徵、影像縮放/旋轉、影像對齊/校正、影像轉換等等。可利用相關之影像前處理技術對物件影像進行處理,且經過處理後的物件影像更易於進行後續的影像分析及影像辨識。在一些實施例中,影像檢測裝置16可省略,且上述影像前處理例如可由影像辨識裝置18所執行。在另一些實施例中,影像檢測裝置16可整合至影像辨識裝置18。
在第一實施例中,影像檢測裝置16係用以從影像感測器142取得待測物之物件影像,並且對物件影像中之進行影像前處理(image pre-processing)。此時,影像檢測裝置16係將處理後的物件影像(例如可稱為AOI物件影像)傳送至影像辨識裝置18以進行後續處理。
在第二實施例中,影像檢測裝置16可執行機器視覺軟體(machine-vision software)將處理後之物件影像切割為一或多個檢測點影像,並對各檢測點影像進行影像辨識,其中上述機器視覺軟體可預先對待測物之物件影像中的各檢測點影像設定相應的影像辨識條件以辨識出各個檢測點之缺陷狀態。以印刷電路板(PCB)為例,各檢測點之缺陷狀態可包括:缺件(missing component)、偏斜(skew)、墓碑(tombstone)、錯件(wrong component)、多件(foreign component)、翻件(flipped component)、極性反(wrong polarity)、腳翹(lifted lead)、腳變形(lead defective)、錫橋(solder bridge)、少錫(insufficient solder)、短路(short circuit)、假焊(空焊)、冷焊等等,但本發明實施例並不限於此。針對不同類型之待測物設定相應的影像辨識條件。接著,影像檢測裝置16係將辨識出有缺陷狀態的檢測點影像傳送至影像辨識裝置18以進行後續處理。在一些實施例中,影像辨識裝置18也可以從其他外部裝置取得檢測點影像或物件影像、或是透過網路從雲端資料庫(第1圖未繪示)取得檢測點影像或物件影像,但本發明實施例並不限於此。為了便於說明,在後述實施例中之待測物20係以印刷電路板為例進行說明。
第2圖係顯示依據本發明一實施例中之影像辨識裝置的方塊圖。
影像辨識裝置18係可由一或多台個人電腦、伺服器、或其他類型之運算裝置所實現。影像辨識裝置18係包括一處理器181、一記憶體單元182及一儲存裝置183。處理器181例如可用中央處理器(central processing circuit,CPU)或一般用途處理器(general-purpose processor)所實現,但本發明實施例並不限於此。記憶體單元182係為一揮發性記憶體,例如可為靜態隨機存取記憶體(static random access memory,SRAM)或動態隨機存取記憶體(dynamic random access memory,DRAM)。
儲存裝置183係為一非揮發性記憶體,例如可為一硬碟機(hard disk drive)、一固態硬碟(solid-state disk)、一快閃記憶體(flash memory)、一唯讀記憶體(read-only memory)、可擦除可程式化唯讀記憶體(erasable programmable read-only memory,EPROM)、電子可擦除可程式化唯讀記憶體(electrically erasable programmable read-only memory,EEPROM)或電子熔絲(e-fuse),但本發明實施例並不限於此。
儲存裝置183係儲存一人工智慧影像檢測程式180用以對來自影像檢測裝置16之處理後的物件影像或辨識出有缺陷狀態的檢測點影像進行對應的處理。舉例來說,人工智慧影像檢測程式180係包括資料準備程式1800及模型產生程式1807,其中資料準備程式1800包含影像切割模組1801、影像標記模組1802、影像歸類模組1803及影像生成模組1804,且模型產生程式1807包含模型訓練模組1805以及模型評價模組1806。處理器181係將人工智慧影像檢測程式180從儲存裝置183讀取至記憶體單元182並執行,藉以控制並協調各模組1801~1806相應的功能。
影像切割模組1801係用以對來自自動光學檢測裝置14或影像檢測裝置16的AOI物件影像進行裁切以得到在待測物之各檢測點相應的檢測點影像。需注意的是,因為在第二實施例中,影像檢測裝置16係將辨識出有通過狀態或缺陷狀態的檢測點影像傳送至影像辨識裝置18,故上述檢測點影像不需再經過影像切割模組1801進行處理,故影像切割模組1801係適用於第一實施例之情況。
第4A圖為依據本發明一實施例之資料準備程式之影像切割模組之使用者介面的示意圖。第5圖為依據本發明一實施例中之影像切割模組之操作過程的流程圖。請同時參考第2圖、第4A圖及第5圖。
在一實施例中,使用者可在資料準備程式1800之使用者介面400上的按鈕4001~4004選擇欲切換至影像切割模組1801、影像標記模組1802、影像歸類模組1803或影像生成模組1804。當使用者選擇按鈕4001後,使用者介面400係切換至影像切割模組1801之使用者介面,如第4A圖所示。在自動光學檢測裝置14或影像檢測裝置16將AOI物件影像傳送至影像辨識裝置18後,影像辨識裝置18係將AOI物件影像儲存至指定的資料夾。
影像切割模組1801在開始運作時需先選擇待分割資料夾(步驟S502),意即需先選擇欲分割之AOI物件影像所在的資料夾,例如可按下使用者介面400之按鈕432以選擇待分割資料夾,且待分割資料夾之路徑係顯示於欄位422。影像切割模組1801並判斷待分割資料夾中是否有資料(例如AOI物件影像)(步驟S504)。若待分割資料夾中已有資料,則執行步驟S506(例如可按下按鈕441)以決定是否要讀取先前儲存的設定檔。若待分割資料夾中沒有資料,則回到步驟S502。在一些實施例中,步驟S502及S504之順序可置於步驟S518之後。
若在步驟S506中係讀取先前儲存的設定檔,此流程則前進至步驟S520。若在步驟S506中未讀取先前儲存的設定檔,則執行步驟S508以載入在待分割資料夾中之照片(即AOI物件影像)。舉例來說,上述設定檔係包括欲在AOI物件影像上進行影像切割處理所使用的樣板(template)及檢測點之設定。若待分割資料夾中有一或多張AOI物件影像,影像切割模組1801可將第一張AOI物件影像之預覽圖自動顯示於使用者介面400的方塊410之內,且AOI物件影像之影像資訊則顯示於欄位421。在一些實施例中,使用者按下按鈕433以選擇在待分割資料夾中的AOI物件影像,且選擇的AOI物件影像係顯示於方塊410,使用者亦可調整在方塊410中所顯示的AOI物件影像之大小並且可拖曳至欲觀看的區域,且方塊410可即時更新顯示上述區域,上述操作例如對應於第5圖中之「介面更新圖片顯示畫面」及步驟S508。在另一些實施例中,使用者可先不選擇待分割資料夾,而選擇欲分割的影像集的其中一張影像(即AOI物件影像)以做為樣板以完成欲進行影像分割之相關設定。
在步驟S510,設定樣板搜索範圍。舉例來說,使用者可設定樣板之圖框範圍,例如需先將工具列439先切換至「樣板設定」的位置,並按下按鈕436以設定樣板之搜尋範圍。舉例來說,使用者可選擇框選工具以標示樣板之搜索範圍,且影像切割模組1801會相應地記錄上述樣板搜索範圍之座標資訊並儲存於樣板設定。搜尋範圍之水平(X)尺寸及垂直(Y)尺寸係分別顯示於欄位425及426。當樣板設定完成後,使用者按下按鈕438即可儲存樣板設定(步驟S512)。
在步驟S514,編輯檢測點,並且執行步驟S516以設定檢測點。使用者可將工具列439切換至「檢測點設定」的位置,再按下按鈕436以設定一或多個檢測點的圖框的範圍。每當所選擇的圖框的標記範圍確定後,按下按鈕437即可設定相應的圖框之標記範圍,且每一組已設定的圖框之標記範圍及其座標資訊會即時更新並顯示於方塊411中,以供影像切割模組1801後續擷取檢測點影像。此外,於一實施例中每個檢測點的圖框座標以相對座標的形式儲存,影像切割模組1801可產生樣板之圖框範圍座標與檢測點的圖框座標相互關聯的設定檔,影像切割模組1801可記錄多組樣板搜尋範圍座標與檢測點的圖框座標相互關聯的組合,每個組合例如可從按鈕431進行切換。
因為來自影像檢測裝置16的不同AOI物件影像之間可能會有像素平移的情況,故影像切割模組1801需要在各個標記範圍之外設定一較大的搜索範圍(樣板),在各個標記範圍內可以設定不同的檢測點之相對位置。此外,標記範圍可視為一定位點或定位範圍,且各標記範圍內可包括複數個檢測點。當同一個待測物20之AOI物件影像輸入至影像切割模組1801時,可在目前使用的樣板之預定搜索範圍尋找定位點(即標記範圍),並依據各個檢測點與標記範圍之相對位置從AOI物件影像切割出相應於各個檢測點之檢測點影像,其中各檢測點影像之檔案名稱可包含其待測物名稱、時間、位置、編號等等。
在步驟S518,儲存設定檔。當完成檢測點之設定後,可按下按鈕440以儲存樣板及檢測點的設定檔。在步驟S520,依據設定檔分割照片。使用者可按下按鈕435以讓影像切割模組1801依據經由上述流程所設定的設定檔或是載入先前的設定檔以對待分割資料夾中的AOI物件影像進行影像切割處理。
第4B圖為依據本發明一實施例之資料準備程式之影像切割模組之使用者介面的示意圖。第6圖為依據本發明一實施例中之影像切割模組之操作過程的流程圖。請同時參考第2圖、第4B圖及第6圖。
影像標記模組1802係用以從影像切割模組1801取得各檢測點相應的檢測點影像,其中上述檢測點影像尚未進行標記或分類。當使用者選擇按鈕4002後,使用者介面400係切換至模型標記模組1802之使用者介面,如第4B圖所示。在步驟S602,選擇待分類資料夾。舉例來說,使用者可按下使用者介面400之按鈕451以選擇待分類資料夾,且其路徑係顯示於欄位460。在待分類資料夾中之檢測點影像例如均為尚未經過標記或分類的檢測點影像。舉例來說,使用者可先在待分類資料夾中先建立欲分類之群組名稱的資料夾,例如上述標記可包括通過狀態(pass或OK)、以及缺陷狀態(例如NG1、NG2、NG3、…、NGN等等),但本發明實施例並不限於此。
在步驟S604,判斷待分類資料夾內是否有資料。若待分類資料夾內有資料(例如待分類的檢測點影像數量大於0),執行步驟S606。若待分類資料夾內無資料(例如待分類的檢測點影像數量等於0),回到步驟S602。
在步驟S606,批次讀取檢測點影像。舉例來說,在第4B圖的使用者介面400中,模型標記模組1802可從待分類資料夾批次讀取8張檢測點影像,但本發明實施例中一個批次的之檢測點影像數量並不限定於此。在步驟S606之後有兩個分支流程,其中在步驟S608~S614為影像分類流程,步驟S620~S624為影像刪除流程,且針對目前批次的檢測點影像可選擇其中一個分支進行影像分類或影像刪除。
在步驟S608,選取欲分類的群組。舉例來說,使用者可在欄位461選擇已事先建立的其中一個群組名稱以對目前批次的8張檢測點影像進行分類。在步驟S610,標記欲分類之群組的檢測點影像。舉例來說,目前批次的8張檢測點影像係分別顯示於方塊471~478中,且對應的影像資訊係分別顯示於欄位481~488。此外,目前批次的8張檢測點影像均有對應的欄位491~498。作業人員可在使用者介面400上的欄位491~498針對目前批次中之各檢測點影像進行標記。在此實施例中,欄位492、496及497已被標記,且欲分類的群組名稱為OK,如第4B圖所示。
在步驟S612,執行分類動作,並且在步驟S614,將已標記的檢測點影像搬運至欲分類群組資料夾。舉例來說,當使用者按下按鈕452以執行分類動作時,影像標記模組1802係將已標記在方塊472、476及477的檢測點影像搬運至欲分類群組資料夾,例如在第4B圖中已選擇OK群組進行分類。在一些實施例中,若在欲分類群組資料夾中尚有待分類(或待刪除)的影像,則影像標記模組1802係將上述待分類(或待刪除)的影像接續顯示於方塊471~478中。
步驟S620至S624為影像刪除之流程。在步驟S620,標記欲刪除的檢測點影像。在一實施例中,儘管在待分類資料夾中已包含了預先設定的不同群組,但在影像標記模組1802對檢測點影像進行分類時,仍然可能有部分的檢測點影像並不屬於任何一個預先設定的群組,故需要將這些檢測點影像從待分類資料夾中刪除。在另一實施例中,影像標記模組1802在選擇待分類資料夾時可選擇已分群完成的資料夾,並檢視已分群完成的資料夾中是否有不屬於此資料夾的檢測點影像。若在已分群完成的資料夾中有不屬於此資料夾的檢測點影像,則可經由步驟S620至S624以進行影像刪除。在又一實施例中,影像標記模組1802可選擇已分群完成的資料夾,並將其視為要重新分類的資料夾。因此,影像標記模組1802可將已分群完成的資料夾中之檢測點影像進行搬移並且透過影像刪除之流程以刪除上述資料夾。
在步驟S622,執行刪除動作,並且在步驟S624,將已標記的檢測點影像從待分類資料夾刪除。舉例來說,當使用者按下按鈕453以執行刪除動作時,影像標記模組1802係將已標記在方塊472、476及477的檢測點影像從待分類資料夾刪除。在一些實施例中,若在欲分類群組資料夾中尚有待分類(或待刪除)的影像,則影像標記模組1802係將上述待分類(或待刪除)的影像接續顯示於方塊471~478中。
在步驟S630,判斷目前批次的檢測點影像均已處理完畢。若目前批次的檢測點影像均已處理完畢,則執行步驟S632。若目前批次的檢測點影像尚未處理完畢,則回到步驟S608或S620以對目前批次中的剩餘檢測點影像進行影像分類或影像刪除。
在步驟S632,判斷目前批次是否為最後批次。若目前批次為最後批次,則此流程結束。若目前批次不是最後批次,則回到步驟S606以再度批次讀取在待分類資料夾中的檢測點影像。
在上述實施例中,作業人員可在影像標記模組1802之使用者介面針對每個批次中之各檢測點影像進行標記,其中上述標記可包括通過狀態(pass)、以及缺陷狀態(例如NG1、NG2、NG3、…、NGN等等)。在另一些實施例中,影像標記模組1802可包含影像辨識之功能,其係用以對各檢測點影像進行影像辨識以判斷出各檢測點影像之狀態,例如為通過或是缺陷狀態。以印刷電路板(PCB)為例,各檢測點之缺陷狀態可包括:缺件(missing component)、偏斜(skew)、墓碑(tombstone)、錯件(wrong component)、多件(foreign component)、翻件(flipped component)、極性反(wrong polarity)、腳翹(lifted lead)、腳變形(lead defective)、錫橋(solder bridge)、少錫(insufficient solder)、短路(short circuit)、假焊(空焊)、冷焊等等,但本發明實施例並不限於此。
因此,在經過影像標記模組1802對各檢測點影像進行標記後,可得到不同群組的檢測點影像,例如通過(pass)、以及各缺陷狀態NG1、NG2、NG3、…、NGN等等均可視為不同群組,且影像標記模組1802係將不同群組之檢測點影像儲存至在待分類資料夾中相應的子目錄下。
第7圖為依據本發明一實施例之資料準備程式之影像歸類模組之使用者介面的示意圖。第8A及8B圖為依據本發明一實施例中之影像歸類模組之操作過程的流程圖。請同時參考第2圖、第7圖及第8A及8B圖。
當使用者選擇在第4A圖之使用者介面400的按鈕4003後,使用者介面400係切換至影像歸類模組1803之使用者介面,如第7圖所示。影像歸類模組1803係用以讓作業人員對影像標記模組1802標記後之各群組中的檢測點影像進行歸類(classification)或反歸類(de-classification)。
在步驟S802,選取待歸類資料夾。舉例來說,使用者可按下使用者介面400之按鈕701以選擇待歸類資料夾,且其路徑係顯示於欄位731。在待歸類資料夾中之檢測點影像例如是已經過影像標記模組1802進行標記或分類的檢測點影像,其中待歸類資料夾之名稱例如對應於通過狀態或是缺陷狀態(例如NG1、NG2、NG3、…、NGN等等)的其中一者,但本發明實施例並不限於此。
在步驟S804,載入設定檔。若已有先前儲存的影像歸類模組1803之設定檔,可按下按鈕703以選擇先前儲存的設定檔,其路徑係顯示於欄位734。其中,上述設定檔例如包括:分隔符號設定、檢測點關鍵字、相似度閾值及類別名稱。
在步驟S806,執行反歸類動作。舉例來說,在步驟S802所選擇的待歸類資料夾之名稱例如對應於通過狀態或是缺陷狀態,且待歸類資料夾中的檢測點影像已經過影像標記模組1802進行標記或分類。若將目前選擇的待歸類資料夾中的檢測點影像回復至尚未進行標記的狀態或是已經歸類的檢測點影像要重新歸類,則需要執行反歸類動作。在步驟S808,判斷在待歸類資料夾中是否有資料。若在待歸類資料夾中有資料,則執行歩驟S810。在步驟S810,刪除目前選擇的待歸類資料夾。舉例來說,影像歸類模組1803係將目前選擇的待歸類資料夾中的檢測點影像移動至上一層目錄(意即影像標記模組1802所選擇的待分類資料夾),並刪除目前的目前選擇的待歸類資料夾。
在步驟S812,選擇分隔符號。舉例來說,目前選擇的待歸類資料夾中的各張檢測點影像之檔案名稱均有相應的編號、拍攝條件、時間等等,且在檔案名稱中係使用某一特定分隔符號(例如底線、分號等等)以將上述不同條件分開以示區隔。使用者可在方塊742中選擇欲使用的分隔符號。在步驟S814,計算檢測點。舉例來說,使用者可按下按鈕702以讓影像歸類模組1803計算目前選擇的待歸類資料夾中的檢測點影像數量,且計算出的檢測點影像數量係顯示於欄位737。在步驟S816,選擇檢測點關鍵字。舉例來說,使用者可在欄位732填入檢測點關鍵字,或是可利用欄位732的下拉式選單以選擇在目前選擇的待歸類資料夾中的檢測點。
步驟S818至S824為自動歸類流程,步驟S826至S834則為手動歸類流程。使用者可在使用者介面400上按下按鈕711及712以切換為自動歸類或手動歸類。在步驟S818,執行自動歸類處理。在步驟S820,調整相似度。舉例來說,影像歸類模組1803在步驟S820係調整相似度閾值以做為分類在待歸類資料夾中之各檢測點影像的相似度判斷標準。在步驟S822,調整類別數。上述類別數係表示影像歸類模組1803在待歸類資料夾中所產生的類別資料夾之數量以供後續分類用。使用者例如可先預估待歸類資料夾中所需的類別數量,進而調整類別數。需注意的是,步驟S820及S822之執行次序可先後調換或是可同時執行。
在步驟S824,進行歸類計算。舉例來說,影像歸類模組1803例如可將在同一群組中內容或屬性之相似度高的多張檢測點影像分類在同一類別。影像歸類模組1803可設定一相似度閾值,影像歸類模組1803計算目前所選擇之待歸類資料夾(即群組資料夾)中各檢測點影像對應至少其中一類別的相似度,並透過使用者介面400的方塊721~728顯示在各群組中相似度高於相似度閾值的檢測點影像,並且在方塊741中顯示在各群組中相似度高於相似度閾值的檢測點影像之資訊。若是在自動歸類模處理的流程中,影像歸類模組1803可不在使用者介面400顯示在各群組中相似度高於相似度閾值的檢測點影像,而可以將在各群組中相似度高於相似度閾值的檢測點影像搬移至相應的類別資料夾。詳細來說,使用者可預先於通過(pass)的群組中將至少一張檢測點影像(例如可稱為類別參考檢測點影像)分類為對應類別,影像歸類模組1803分類各群組中的檢測點影像時,計算預先分類的類別參考檢測點影像與各群組中尚未分類的檢測點影像之間的相似度,篩選出高於相似度閾值的檢測點影像後,顯示於使用者介面,並進行歸類。其他群組之各類別亦可進行類似的操作。舉例來說,電阻和電阻之間係具有較高的相似度,但電阻與電容之間則具有較低的相似度。因應於各群組中之各檢測點影像的相似度高於相似度閾值,影像歸類模組1803係將在同一群組中相似度高於相似度閾值的各檢測點影像分類為同一類別,其中在步驟S822所設定的類別數即為可進行分類之類別數量的上限。若使用者在自動歸類處理時更新了類別數,則使用者介面會同時更新目前使用的類別數,且影像歸類模組1803係重新進行歸類計算。
在步驟S826,執行手動歸類處理。在步驟S828,新增類別。舉例來說,使用者可在使用者介面400的欄位735填入欲新增的類別名稱並按下按鈕708以在待歸類資料夾中新增類別,且使用者介面400可即時更新新增類別的資訊,且使用者可按下欄位736以選擇已加入的類別。在步驟S830,進行相似度排序。在步驟S832,加入檢測點。舉例來說,影像歸類模組1803計算目前所選擇之待歸類資料夾(即群組資料夾)中各檢測點影像對應至少其中一類別的相似度,並透過使用者介面400的方塊721~728顯示在各群組中相似度高於相似度閾值的檢測點影像,並且在方塊741中顯示在各群組中檢測點影像的相似度之排序結果。此外,使用者亦可按下7211~7220以標記檢測點影像,按下使用者介面400中之按鈕710以加入已標記的檢測點至相應的類別資料夾或按下刪除檢測點的按鈕(圖未示)以移除目前選擇的檢測點。
在步驟S834,執行刪除類別操作。在步驟S836,移除該類別。舉例來說,使用者在步驟S828所新增的類別名稱可能有誤或是多餘的類別,且使用者可在使用者介面400中之欄位736選擇欲刪除的類別名稱,並按下按鈕713以刪除所選擇的類別。
在步驟S838,儲存設定檔。舉例來說,無論是使用自動歸類處理或手動歸類處理,影像歸類模組1803均可將目前所設定的分隔符號設定、檢測點關鍵字、相似度閾值及類別名稱儲存為相應的設定檔。
在步驟S840,執行影像歸類。在一實施例中,作業人員可在使用者介面400上對批次顯示的各檢測點影像(例如位於方塊721~730)相應的欄位(例如欄位7211~7220)進行標記,並按下按鈕706或按鈕710進行影像歸類,藉以將內容或屬性之相似度高的多張檢測點影像分類在同一類別。在另一實施例中,影像歸類模組1803可依據上述流程所設定的相似度閾值及類別名稱、以及各檢測點影像與各類別之相似度以進行影像歸類。在步驟S842,判斷待歸類資料夾中是否有資料。若待歸類資料夾中有資料,則執行步驟S844將各檢測點影像搬移至在待歸類資料夾中相應的歸類子資料夾,例如影像歸類模組1803係將相似度高於相似度閾值的檢測點影像搬移至相應的歸類子資料夾。若待歸類資料夾中沒有資料,則回到步驟S802以選取待歸類資料夾並重新進行上述流程。
經由上述影像歸類處理後,可獲取在待分類資料夾中之每一檢測點影像對應的類別。若影像標記模組1802標記後之複數個群組可分為通過(PASS)、缺陷1(NG1)、缺陷2(NG2)及缺陷3(NG3)共四個群組,影像歸類模組1803可將上述四個群組中之各檢測點影像進一步歸類為複數個類別(type),例如依據不同元件之間的相似度做為歸類標準,並將相同種類或類似的元件分類至同一類別。舉例來說,影像歸類模組1803將PASS群組中之電阻元件、電容元件及其他元件的檢測點影像分別歸類至類別1(Type 1)、類別2(Type 2)及類別3(Type 3)。類似地,影像歸類模組1803亦可將NG1群組、NG2群組及NG3群組中之電阻元件、電容元件及其他元件的檢測點影像分別歸類至類別1(Type 1)、類別2(Type 2)及類別3(Type 3)。
當上述影像歸類操作完成後,影像歸類模組1803可得到群組-類別的結構化資料(例如第一結構化資料),且各群組的各類別均包括對應的檢測點編號,例如PASS-Type1群組類別包括檢測點1、3、5,PASS-Type2群組類別包括檢測點2,PASS-Type3群組類別包括檢測點4、6等等。此外,在NG1群組、NG2群組及NG3群組亦可用類似的方式將電阻元件、電容元件及其他元件的檢測點影像分別歸類至類別1(Type 1)、類別2(Type 2)及類別3(Type 3)。
歸類完成之結構化資料(例如第一結構化資料)如第3圖所示,影像歸類模組1803並可將歸類完成之結構化資料的相關資訊(例如包括檢測點影像之編號)及相應的檢測點影像輸出為一歸類檔,並將歸類檔寫入至儲存裝置183,例如各群組為主目錄,在各群組中的各類別為次目錄,各次目錄包括了歸類完成後的檢測點影像及其編號。此外,影像歸類模組1803所產生的歸類檔可供影像辨識裝置18進行後續使用。使用者例如可透過影像歸類模組1803之使用者介面以讀取先前所儲存的歸類檔,故影像歸類模組1803可利用讀取的歸類檔之結構化資料的相關資訊以分類由影像切割模組1801所產生的檢測點影像或由影像檢測裝置16所接收的檢測點影像。
需注意的是,在上述實施例中,不一定每種缺陷狀態均會包含全部的類別。舉例來說,若NG1群組表示在印刷電路板上的元件為極性反,且NG1-Type1群組類別表示電容焊反,但是電阻並沒有極性反的問題,所以NG1群組裡面並不包含Type2類別,如第3圖所示。
第9圖為依據本發明一實施例之資料準備程式之影像歸類模組之使用者介面的示意圖。第10A及10B圖為依據本發明一實施例中之影像歸類模組之操作過程的流程圖。請同時參考第2圖、第9圖及第10A圖。
當使用者選擇在第4A圖之使用者介面400的按鈕4004後,使用者介面400係切換至模型生成模組1804之使用者介面,如第9圖所示。影像生成模組1804係用以對影像歸類模組1803所產生的一或多個群組類別進行影像生成,以解決某些群組類別之檢測點影像之樣本數不平均的問題。在步驟S1002,選取原始影像資料夾,並且在步驟S1004,設定輸出資料夾。舉例來說,使用者可按下使用者介面400上的按鈕901以選擇原始影像資料夾(即待處理資料夾),且其路徑係顯示於欄位921。舉例來說,原始影像資料夾例如為第一結構化資料的根目錄,且根目錄包含多個群組之子目錄。此外,原始影像資料夾亦可為第一結構化資料的其中一個群組子目錄,且群組子目錄包含一或多個類別子目錄。
在步驟S1006,進行參數設定及點選隨機參數。在使用者介面的方塊914中係可讓使用者預先設定影像生成之各種影像參數的範圍,其中上述影像參數可包括但不限於檢測點影像之紅色/綠色/藍色像素之亮度、對比及伽瑪(gamma)值、旋轉角度、X方向/Y方向之平移像素值、銳利化、模糊度、縮放比率等等。
方塊914中之參數內容例如表1所示:
表1
參數名稱 | 上限 | 下限 | |
紅色平面(亮度) | 128 | 128 | ○ |
紅色平面(對比) | 45 | 45 | ○ |
紅色平面(Gamma) | 1 | 1 | ○ |
綠色平面(亮度) | 128 | 128 | ○ |
綠色平面(對比) | 45 | 45 | ○ |
綠色平面(Gamma) | 1 | 1 | ○ |
藍色平面(亮度) | 128 | 128 | ○ |
藍色平面(對比) | 45 | 45 | ○ |
藍色平面(Gamma) | 1 | 1 | ○ |
旋轉(角度) | 10 | -10 | ● |
平移X(畫素) | 10 | -10 | ● |
平移Y(畫素) | 5 | -5 | ● |
模糊度 | 0 | 0 | ○ |
縮放比率(%) | 100 | 100 | ○ |
在表1中,旋轉角度、X方向/Y方向之平移像素值均有設定變化範圍的上限及下限,且此三個參數已被點選為隨機參數,且在相應欄位之右方已用「●」表示已點選(在使用者介面400可用綠燈圖案表示),其他未被點選的參數則用「○」表示未點選。在上述設定中,旋轉角度之範圍設定在-10度至+10度,像素X平移之範圍可設定在-10像素至+10像素,像素Y平移之範圍可設定在-5像素至+5像素。其他未更動的影像參數則使用影像生成模組1804之預設值,或是暫不考慮其他未更動的影像參數。需注意的是,若是參數的上限及下限相同,則表示該參數在影像生成的過程中為固定值。對於上述已點選的三個參數,影像生成模組1804則是從上述三個參數各自的變化範圍內隨機選取數值,並用於在影像生成以產生模擬檢測點影像。
在步驟S1008,設定欲生成類別及數量。於一實施例中,例如使用者可透過在使用者介面的方塊920與方塊922中設定欲生成的類別以及欲生成的數量。詳細而言,對於待測物20之各檢測點影像經由上述流程所產生的群組類別之歸類結果來說,在各群組類別中的檢測點影像之數量並不一定為平均。對於模型訓練模組1805中之人工智慧模型而言,其在訓練階段時需要大量資料及樣本數。若模型訓練模組1805直接依據影像歸類模組1803所產生群組類別之歸類結果(即第一結構化資料)對人工智慧模型進行訓練,則可能造成人工智慧模型的辨識率不佳、出現誤判或信心度(confidence)不足的情況。需注意的是,方塊1000為影像生成之設定階段,且在方塊中之步驟S1002~S1008可以不分次序先後執行。
在步驟S1010,執行資料生成操作。舉例來說,使用者可按下按鈕904以進行資料生成。在步驟S1012,判斷在原始影像資料夾中是否有資料。若在原始影像資料夾中有資料,則執行步驟S1014。若在原始影像資料夾中無資料,則回到步驟S1002。
在步驟S1014,判斷是否已點選隨機參數。若已點選隨機參數,則執行步驟S1016。若尚未點選隨機參數,則回到步驟S1006。在步驟S1016,判斷生成類別及數量是否已設定。若生成類別及數量已設定,執行步驟S1018。若生成類別及數量尚未設定,則回到步驟S1008。舉例來說,在執行影像生成處理之前,影像生成模組1804需先判斷在設定階段(方塊1000)中之各種參數是否已設定或已點選。若有某些特定參數尚未設定或點選,則需回到在設定階段中之相應的步驟進行設定。
在步驟S1018,在隨機參數之範圍內隨機組合生成模擬檢測點影像於待生成資料夾內。舉例來說,在步驟S1006中已設定參數設定及點選參數,且在上述實施例中的隨機參數包含旋轉角度以及X方向/Y方向之平移像素值,影像生成模組1804則是從上述三個參數各自的變化範圍內隨機選取數值,並用於在影像生成以產生模擬檢測點影像,且產生的模擬檢測點影像係儲存於待生成資料夾內,其中待生成資料夾與同一類別之原始檢測點影像的資料夾不同,以利區別模擬檢測點影像及原始檢測點影像。
因此,影像生成模組1804可針對影像歸類模組1803所產生的一或多個群組類別進行影像生成,使得在同一群組下的各類別中之檢測點影像的數量平均。舉例來說,影像生成模組1804可讀取影像歸類模組1803所產生的一或多個群組-類別結構化資料(例如第一結構化資料),並統計在各群組類別中之檢測點影像的數量。為了讓模型訓練模組1805中之人工智慧模型可達到較佳的訓練效果及模型評價,在各個群組類別中之影像數量愈多且平均為佳,使用者例如可透過影像生成模組1804的使用者介面400的欄位920預先設定要將所選擇的群組類別(例如在方塊915中之群組類別,如表2所示)之檢測點影像之數量增加X張或是增加至Y張,使得在同一群組中的不同類別的檢測點影像之數量平均,並產生第二結構化資料。在表2的實施例中,在方塊915中的4個群組類別均是設定將檢測點影像之數量增加至150張。
表2
類別名稱 | 數量 |
鋁質電容_0 | 150 |
鋁質電容_180 | 150 |
鋁質電容_270 | 150 |
鋁質電容_0 | 150 |
詳細而言,影像歸類模組1803所產生的一或多個群組-類別結構化資料(第一結構化資料)之各群組類別的檢測點影像例如可稱為原始檢測點影像,且經由影像生成模組1804套用上述各影像參數之範圍隨機生成的檢測點影像則稱為模擬檢測點影像。舉例來說,若PASS群組中之Type1、Type2及Type3原本分別有500、250、1000張原始檢測點影像,且影像生成模組1804設定之目標影像數量為1000張(X=1000,即增加至1000張),經過影像生成模組1804對PASS群組中之Type1、Type2及Type3類別進行處理後,在PASS群組中之Type1、Type2及Type3類別中之影像數量均改變為1000張,其中在PASS-Type1群組類別係包含500張原始檢測點影像及500張模擬檢測點影像,在PASS-Type2群組類別係包含250張原始檢測點影像及750張模擬檢測點影像,在PASS-Type3群組類別係包含1000張原始檢測點影像及0張模擬檢測點影像。意即,經過影像生成模組1804處理之後,在PASS群組中之各個類別的影像數量均會平衡。此時,PASS群組中會具有3000張檢測點影像。因此,若在複數個群組中的第一群組(例如PASS群組)的檢測點影像之數量及模擬檢測點影像之數量的總和等於一第一數量(例如3000張),則在該等群組中的其他各群組(例如NG1~NG3群組)中的檢測點影像之數量及模擬檢測點影像之數量的總和同樣等於第一數量。
類似地,影像生成模組1804亦對NG1、NG2及NG3群組進行相應的影像生成處理,意即在經過影像生成模組1804處理之後,在NG1、NG2及NG3群組均會具有3000張檢測點影像。若NG1群組僅包含Type1及Type3類別,則NG1-Type1及NG1-Type3群組類別均包含1500張檢測點影像。類似地,NG3群組僅包含Type1及Type2類別,則NG3-Type1及NG3-Type2群組類別均包含1500張檢測點影像。此外,因為NG2群組包含Type1~Type3類別,所以在經過影像生成模組1804處理之後,NG2群組中之各個類別Type1~Type3均會包含1000張檢測點影像。在一些實施例中,影像生成模組1804例如可將各個群組類別中經由影像生成的模擬檢測點影像另存於其他子資料夾以與原始檢測點影像區別。換言之,在每一群組中之各類別的該等檢測點影像之數量及該等模擬檢測點影像之數量的總和等於第一數量(例如3000張)除以每一群組之該等類別的數量(例如NG1群組包括2個類別,NG2群組包括3個類別)。
在另一實施例中,使用者亦可用手動的方式觀察影像生成模組1804所產生的模擬檢測點影像。在步驟S1030,載入照片。舉例來說,使用者可按下按鈕902以載入其中一張原始檢測點影像,其係顯示於方塊916。
在步驟S1032,進行參數調整。舉例來說,方塊910至913則為不同的影像參數設定。方塊910包含紅色/綠色/藍色像素之亮度、對比及伽瑪(gamma)值之設定值,且使用者可在方塊910中紅色平面(R)、綠色平面(G)、藍色平面(B)中之相應欄位設定或調整目前所使用的亮度、對比及伽瑪值。方塊911則可設定旋轉角度、X方向/Y方向之平移像素值。方塊912則可設定影像生成是否要進行模糊化/銳利化及相應的模糊度、以及縮放比率(%)。方塊913則可以設定對原始檢測點影像進行3x3卷積核運算時所使用的遮罩樣式,且使用者可調整上述遮罩中之不同位置的係數值,產生一組特定影像參數。
在步驟S1034,依據設定的參數即時計算模擬檢測點影像,並且在步驟S1036將模擬檢測點影像顯示於使用者介面的影像顯示框(方塊917)。舉例來說,當在方塊910至913的設定完成後,產生一組特定影像參數,即可按下按鈕905以進行單張影像生成處理,依據原始檢測點影像及該組特定影像參數計算模擬檢測點影像,且產生的模擬檢測點影像(第一模擬檢測點影像)係顯示方塊917。因此,使用者可自行調整用於影像生成之各種參數,且可讓影像生成模組1804依據調整的參數產生模擬檢測點影像,並可在使用者介面上即時看到模擬檢測點影像。
模型產生程式1807係包括模型訓練模組1805及模型評價模型1806。舉例來說,影像生成模組1804係產生群組-類別之第二結構化資料,且第二結構化資料分為訓練集資料及測試集資料。模型訓練模組1805係用以讓一人工智慧模型依據上述訓練集資料以進行模型訓練。模型評價模組1806係用以評價由模型訓練模組1805所訓練完成的人工智慧模型對第二結構化資料中之測試集資料的效能表現,意即可將測試集資料輸入至已訓練完成的人工智慧模型以得到人工智慧模型的模型評價。
舉例來說,人工智慧模型在訓練階段所使用的訓練集資料與測試集資料應不同,這樣人工智慧模型才較不易在判斷結果時產生過適(overfitting)的情況。在一實施例中,影像生成模組1804所產生的第二結構化資料可分為訓練集(training set)資料及測試集(testing set)資料,且分別存放於不同目錄。模型訓練模組1805可指定讀取上述訓練集資料相應的目錄以做為訓練資料之來源。在另一實施例中,影像生成模組1804所產生的第二結構化資料並不特別區分出訓練集資料及測試集資料,且模型訓練模組1805可選擇第二結構化資料之目錄,並且可依據預先設定的訓練集資料之分配比例將上述第二結構化資料中之各群組類別中的檢測點影像(包含原始檢測點影像及模擬檢測點影像)劃分為訓練集資料及測試集資料。舉例來說,若訓練集資料之分配比例為0.3,則模型訓練模組1805係將第二結構化資料中之各群組類別中的30%數量的檢測點影像做為訓練集資料,其餘的70%數量的檢測點影像則做為測試集資料。
在此實施例中,模型訓練模組1805係採用遷移學習(transfer learning)技術以建立人工智慧模型,其中人工智慧模型例如可包括輸入層、遷移模型、分類層及輸出層,且使用者可透過人工智慧影像檢測程式180之使用者介面設定輸入層、遷移模型、分類層及輸出層之相關參數,以及設定人工智慧模型在訓練階段的策略參數,例如包括優化器(optimizer)、學習率(learning rate)、回合數(epochs)、及批次尺寸(batch size)。
對於輸入層來說,使用者可依據實際欲處理的檢測點影像之尺寸以設定輸入層之輸入影像尺寸。當實際的檢測點影像之尺寸與設定的輸入影像之尺寸不同時,模型訓練模組1805可對輸入的檢測點影像進行內插計算以將其縮放為所設定的輸入影像之尺寸。
模型訓練模組1805係提供多種開源的遷移模型可供選擇使用,例如MobileNet、ResNet等等。使用者可選擇是否要開啟部分層數的遷移模型的權重參數以重新進行訓練、以及是否開啟平坦化(flatten)以保留所有資訊功能。人工智慧模型之分類層係由「全連接層」所構成,使用者可自行決定要架構多少層數、每層中之神經元數量、以及每層是否引入丟棄(dropout)功能等等。對於人工智慧模型之輸出層而言,模型訓練模組1805可依據輸入資料(例如:第二結構化資料)之資料結構以自動讀取輸入資料第一層的資料夾檔名作為分類標記,藉以自動建立輸出層。
模型評價模組1806係用以評價由模型訓練模組1805所訓練完成的人工智慧模型對第二結構化資料中之測試集資料的效能表現,意即可將測試集資料輸入至已訓練完成的人工智慧模型以得到人工智慧模型的模型評價。此外,模型評價模組1806更可利用模型訓練模組1805所訓練完成的人工智慧模型對第二結構化資料中之訓練集資料進行資料清理。
舉例來說,在人工智慧模型的評價階段時,模型評價模組1806將在測試集資料中的每張檢測點影像輸入至人工智慧模型產生相應的辨識結果及信心度。接著,模型評價模組1806將測試集資料中的每張檢測點影像的辨識結果對照各檢測點影像已標示的類別,即可得到人工智慧模型之模型評價(例如正確率= 正確辨識結果數量/測試集的檢測點影像數量)。經由計算所得到的模型評價,可找出整體辨識率或信心度較差的群組類別。
在一實施例中,若模型評價模組1806將測試集資料中的每張檢測點影像的辨識結果經過測試集之各檢測點影像已標示的群組進行比對後,在測試集資料中有部分檢測點影像辨識結果是錯誤的,但具有很高的信心度,則可判斷這些辨識結果對應的檢測點影像可能有標記錯誤的情況。因此,模型評價模組1806可執行第一資料清理程序以過濾出這些可能標記錯誤的檢測點影像及辨識結果,並將這些檢測點影像從訓練集資料中刪除。
若模型評價模組1806將測試集中的每張檢測點影像的辨識結果經過測試集之各檢測點影像已標示的群組進行比對後,在測試集資料之中有部分檢測點影像辨識結果是正確的,但是信心度不高(例如低於一閾值,上述閾值可為但不限定於50%),表示在測試集資料中相應的檢測點影像可能有多重標記的情況,意即同一張檢測點影像可能被標記為不同的群組類別,所以會造成人工智慧模型之辨識結果的信心度偏低。因此,模型評價模組1806可執行第二資料清理程序以過濾出在測試集資料之中這些信心度偏低的檢測點影像,並將這些檢測點影像在訓練集資料之中對應的檢測點影像刪除。
當模型評價模組1806執行第一資料清理程序及第二資料清理程序並更新訓練集資料後,人工智慧影像檢測程式180可再執行影像標示模組1802或影像歸類模組1803,藉以逐一檢查過濾出的檢測點影像並重新進行標示。若有特定檢測點影像會造成人工智慧模型在不同群組類別的誤判,則此特定檢測點影像不再重新標示並放回訓練集資料之中,故影像標示模組1802或影像歸類模組1803可刪除此特定檢測點影像。此外,人工智慧影像檢測程式180可再執行影像生成模組1804,進一步檢視辨識率及/或信心度較低的群組類別之檢測點影像的數量,再針對這些群組類別生成合適的模擬檢測點影像以更新第二結構化資料。因此,當第二結構化資料更新後,模型訓練模組1805即可從更新後的第二結構化資料分割出新的訓練集資料以對人工智慧模型重新進行訓練,藉以提昇人工智慧模型之辨識率及辨識結果的信心度。
第11圖為依據本發明一實施例之影像辨識方法的流程圖。請同時參考第2圖及第11圖。
在步驟S1110,接收複數張檢測點影像,並將各檢測點影像分類為複數個群組。舉例來說,該等檢測點影像之來源可以是來自自動光學檢測裝置14的檢測點影像,意即自動光學檢測裝置14已先將待測物之物件影像分割為待測物之各檢測點的檢測點影像後,再將分割後得到的檢測點影像傳送至影像辨識裝置18。該等檢測點影像之來源亦可以是來自自動光學檢測裝置14之待測物的物件影像。因此,影像辨識裝置18中之影像切割模組1801可將上述物件影像分割為對應於待測物之各檢測點的檢測點影像。此外,影像標記模組1802可將各檢測點影像加上一群組標記並分類為複數個群組(Group),例如前述實施例中之檢測通過(PASS)狀態、缺陷狀態(NG1、NG2、NG3)。需注意的是,當影像標記模組1802標記該等群組時,暫時不考慮在待測物上的不同元件種類。
在步驟S1120,將各群組的該等檢測點影像分類為複數個類別以產生一第一結構化資料。舉例來說,影像歸類模組1803係依據該等檢測點影像之相似度將各群組中的檢測點影像分類為一或多個類別以產生第一結構化資料,例如在同一群組中相似度高的多張檢測點影像可歸類在同一類別。
在步驟S1130,將該第一結構化資料中之各群組之各類別中的該等檢測點影像之數量進行平衡以產生一第二結構化資料,其中該第二結構化資料包括一訓練集資料及一測試集資料,且該訓練集資料係用於訓練一人工智慧模型以進行影像辨識。舉例來說,影像歸類模組1803所產生的一或多個群組-類別結構化資料(第一結構化資料)之各群組類別的檢測點影像例如可稱為原始檢測點影像,且經由影像生成模組1804套用不同影像參數範圍隨機生成的檢測點影像則可稱為模擬檢測點影像,其中第一結構化資料經由影像生成模組1804處理之後,在第二結構化資料之同一群組中之不同類別的原始檢測點影像及模擬檢測點影像之總數量會相同。第二結構化資料則可用於訓練人工智慧模型以進行影像辨識。
綜上所述,本發明實施例係提供一種影像辨識裝置、影像辨識方法及其電腦程式產品,其可利用影像標記、影像分類及影像生成之標準化步驟將原本欲輸入至人工智慧模型的檢測點影像建立出第一結構化資料,並可對所建立的結構化資料中之各群組的各類別中的檢測點影像數量進行增量並平衡以產生第二結構化資料,且第二結構化資料可解決人工智慧模型在訓練階段時需有大量且均衡的樣本的問題。因此,利用第二結構化資料進行訓練的人工智慧模型可增成較佳的辨識率及信心度。因此,本發明實施例更可達到讓生產線之作業人員的工作負擔降低以及降低生產成本之功效。
本發明雖以較佳實施例揭露如上,然其並非用以限定本發明的範圍,任何所屬技術領域中具有通常知識者,在不脫離本發明之精神和範圍內,當可做些許的更動與潤飾,因此本發明之保護範圍當視後附之申請專利範圍所界定者為準。
10:自動光學檢測系統
12:自動輸送裝置
14:自動光學檢測裝置
16:影像檢測裝置
18:影像辨識裝置
20:待測物
30:箭頭
122:機殼
124:驅動機構
126:控制器
128:檢測定位點
142:影像感測器
144:照明裝置
180:人工智慧影像檢測程式
181:處理器
182:記憶體單元
183:儲存裝置
1800:資料準備程式
1801:影像切割模組
1802:影像標記模組
1803:影像歸類模組
1804:影像生成模組
1805:模型訓練模組
1806:模型評價模組
1807:模型產生程式
400:使用者介面
410~412、471~478、720~730、741~742:方塊
911~917、1000:方塊
4001~4004、431~441、451~453:按鈕
701~713、901~905:按鈕
491~498、7211~7220:欄位
421~426、481~488、460~462、731~737、920~922:欄位
S502~S520、S602~S632、S802~S844、S1002~S1036:步驟
第1圖係顯示依據本發明一實施例中之自動光學檢測系統的示意圖。
第2圖係顯示依據本發明一實施例中之影像辨識裝置的方塊圖。
第3圖係顯示依據本發明一實施例中之第一結構化資料的示意圖。
第4A圖為依據本發明一實施例之資料準備程式之影像切割模組之使用者介面的示意圖。
第4B圖為依據本發明一實施例之資料準備程式之影像切割模組之使用者介面的示意圖。
第5圖為依據本發明一實施例中之影像切割模組之操作過程的流程圖。
第6圖為依據本發明一實施例中之影像切割模組之操作過程的流程圖。
第7圖為依據本發明一實施例之資料準備程式之影像歸類模組之使用者介面的示意圖。
第8A及8B圖為依據本發明一實施例中之影像歸類模組之操作過程的流程圖。
第9圖為依據本發明一實施例之資料準備程式之影像歸類模組之使用者介面的示意圖。
第10A及10B圖為依據本發明一實施例中之影像歸類模組之操作過程的流程圖。
第11圖為依據本發明一實施例之影像辨識方法的流程圖。
18:影像辨識裝置
180:人工智慧影像檢測程式
181:處理器
182:記憶體單元
183:儲存裝置
1800:資料準備程式
1801:影像切割模組
1802:影像標記模組
1803:影像歸類模組
1804:影像生成模組
1805:模型訓練模組
1806:模型評價模組
1807:模型產生程式
Claims (15)
- 一種電腦程式產品,用以被一機器載入且執行一影像辨識方法,該電腦程式產品包括:一影像標記模組,用以接收複數張檢測點影像,並依據該等檢測點影像的複數個狀態以將該等檢測點影像分類為複數個群組;一影像歸類模組,用以將各群組的該等檢測點影像分類為複數個類別以產生一第一結構化資料,其中該第一結構化資料係包括第一層及第二層,該第一層用以表示不同狀態的該等群組,且該第二層係位於該第一層之資料夾之中,且在該第二層之各群組中的該等類別係用以表示各群組相應的該狀態下的不同零件;一影像生成模組,用以將該第一結構化資料中之各群組之各類別中的該等檢測點影像之數量進行平衡以產生一第二結構化資料,其中該第二結構化資料係用於訓練一人工智慧模型以進行影像辨識。
- 如請求項1之電腦程式產品,更包括:一影像切割模組,用以接收來自一自動光學檢測裝置所拍攝的一待測物之一物件影像,並將該物件影像切割為對應於該待測物之複數個檢測點的該等檢測點影像。
- 如請求項2之電腦程式產品,其中該影像切割模組係在該物件影像上設定一搜索範圍,並在該搜索範圍內設定一或多個標記範圍,並在各標記範圍內設定不同檢測點之相對位置; 其中該影像切割模組係在該搜索範圍內尋找該一或多個標記範圍,並依據各檢測點與相應之該標記範圍之相對位置以從該物件影像切割出相應於各檢測點之檢測點影像。
- 如請求項1之電腦程式產品,其中該等檢測點影像係來自一自動光學檢測裝置,且該等檢測點影像係對應於該自動光學檢測裝置所拍攝的一待測物之複數個檢測點。
- 如請求項1之電腦程式產品,其中該影像標記模組所標記的各群組係對應於一待測物中之複數個檢測點之複數個缺陷狀態或一檢測通過狀態的其中一者。
- 如請求項1之電腦程式產品,其中該影像歸類模組係依據在各群組中之各檢測點影像對應於該等類別中至少一者的相似度將各群組的該等檢測點影像分類為該等類別以產生該第一結構化資料。
- 如請求項6之電腦程式產品,其中,響應於各群組之各檢測點影像對應於該等類別中至少一者的該相似度高於一相似度閾值,該影像歸類模組係將在各群組中該相似度高於該相似度閾值之該等檢測點影像分類為同一類別。
- 如請求項6之電腦程式產品,其中該影像歸類模組係將在各群組中之各檢測點影像對應於該等類別中至少一者的該相似度排序並將排序結果顯示於使用者介面,其中當該影像歸類模組對各群組中的一或多張該等檢測點影像進行標記後,該影像歸類模組係將被標記的一或多張該等檢測點影像搬移至相應的歸類子資料夾。
- 如請求項6之電腦程式產品,其中該第一結構化資 料中之各群組的各類別均記錄相應的該等檢測點影像之編號,其係被該影像歸類模組輸出為一歸類檔。
- 如請求項1之電腦程式產品,其中該影像生成模組係設定一或多個影像參數之每一者的數值變化範圍,且該影像生成模組係從各影像參數的數值變化範圍隨機生成各影像參數以對該等檢測點影像進行影像生成處理以產生複數張模擬檢測點影像。
- 如請求項10之電腦程式產品,其中該一或多個影像參數包括該等檢測點影像之紅色/綠色/藍色像素之亮度、對比、伽瑪(gamma)值、旋轉角度、X方向/Y方向之平移像素值、銳利化、模糊度及縮放比率。
- 如請求項11之電腦程式產品,其中該影像生成模組依據一原始檢測點影像及一組特定影像參數計算一第一模擬檢測點影像,並在其使用者介面顯示該第一模擬檢測點影像。
- 如請求項10之電腦程式產品,其中在該等群組中之一第一群組該等檢測點影像之數量及該等模擬檢測點影像之數量的總和等於一第一數量,且該等群組中之其他各群組中的該等檢測點影像之數量加上該等模擬檢測點影像之數量的總和等於該第一數量;其中,在每一群組中之各類別的該等檢測點影像之數量及該等模擬檢測點影像之數量的總和等於該第一數量除以每一群組之該等類別的數量。
- 一種影像辨識方法,包括:接收複數張檢測點影像,並將該等檢測點影像分類為複數個群組;將各群組的該等檢測點影像分類為複數個類別以產生一第一結構 化資料,其中該第一結構化資料係包括第一層及第二層,該第一層用以表示不同狀態的該等群組,且該第二層係位於該第一層之資料夾之中,且在該第二層之各群組中的該等類別係用以表示各群組相應的該狀態下的不同零件;以及將該第一結構化資料中之各群組之各類別中的該等檢測點影像之數量進行平衡以產生一第二結構化資料,其中該第二結構化資料係用於訓練一人工智慧模型以進行影像辨識。
- 一種影像辨識裝置,包括:一非揮發性記憶體,用以儲存一人工智慧影像檢測程式;以及一處理器,用以執行該人工智慧影像檢測程式以進行下列步驟:接收複數張檢測點影像,並將該等檢測點影像分類為複數個群組;將各群組的該等檢測點影像分類為複數個類別以產生一第一結構化資料;以及將該第一結構化資料中之各群組之各類別中的該等檢測點影像之數量進行平衡以產生一第二結構化資料,其中該第二結構化資料係用於訓練一人工智慧模型以進行影像辨識。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010349965.7A CN112304952B (zh) | 2019-07-23 | 2020-04-28 | 影像辨识装置、影像辨识方法及其计算机程序产品 |
US16/885,594 US11423531B2 (en) | 2019-07-23 | 2020-05-28 | Image-recognition apparatus, image-recognition method, and non-transitory computer-readable storage medium thereof |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201962877375P | 2019-07-23 | 2019-07-23 | |
US62/877,375 | 2019-07-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
TW202113345A TW202113345A (zh) | 2021-04-01 |
TWI749524B true TWI749524B (zh) | 2021-12-11 |
Family
ID=75745121
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109112603A TWI749524B (zh) | 2019-07-23 | 2020-04-15 | 影像辨識裝置、影像辨識方法及其電腦程式產品 |
TW109112602A TWI761806B (zh) | 2019-07-23 | 2020-04-15 | 影像辨識裝置、影像辨識方法及其電腦程式產品 |
TW109112604A TWI833010B (zh) | 2019-07-23 | 2020-04-15 | 影像辨識裝置、影像辨識方法及其電腦程式產品 |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109112602A TWI761806B (zh) | 2019-07-23 | 2020-04-15 | 影像辨識裝置、影像辨識方法及其電腦程式產品 |
TW109112604A TWI833010B (zh) | 2019-07-23 | 2020-04-15 | 影像辨識裝置、影像辨識方法及其電腦程式產品 |
Country Status (1)
Country | Link |
---|---|
TW (3) | TWI749524B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI812946B (zh) * | 2021-05-04 | 2023-08-21 | 世界先進積體電路股份有限公司 | 影像辨識模型系統及維護方法 |
CN114002225B (zh) * | 2021-10-19 | 2023-05-12 | 业成科技(成都)有限公司 | 光学检测系统与方法 |
TWI824473B (zh) * | 2022-04-08 | 2023-12-01 | 鴻海精密工業股份有限公司 | 用於視覺檢測的資料刪除方法、裝置、設備及存儲介質 |
CN115035101B (zh) * | 2022-07-22 | 2022-11-15 | 苏州康代智能科技股份有限公司 | 半导体芯片载板的缺陷验证方法、检测方法及aoi设备 |
CN116342923A (zh) * | 2022-12-16 | 2023-06-27 | 环旭电子股份有限公司 | 影像识别深度学习模型的训练方法 |
TWI843639B (zh) * | 2023-08-09 | 2024-05-21 | 美商應視達科技股份有限公司 | 影像模組訓練方法與系統 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530284A (zh) * | 2016-10-21 | 2017-03-22 | 广州视源电子科技股份有限公司 | 基于图像识别的焊点类型检测和装置 |
CN109190643A (zh) * | 2018-09-14 | 2019-01-11 | 华东交通大学 | 基于卷积神经网络中药识别方法及电子设备 |
TWI664586B (zh) * | 2018-03-22 | 2019-07-01 | National Taiwan Normal University | 透過瑕疵複數光場之透明基板瑕疵檢測方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104677914B (zh) * | 2015-03-10 | 2017-03-08 | 华中科技大学 | 一种芯片连晶缺陷识别方法 |
US11836611B2 (en) * | 2017-07-25 | 2023-12-05 | University Of Massachusetts | Method for meta-level continual learning |
US10713534B2 (en) * | 2017-09-01 | 2020-07-14 | Kla-Tencor Corp. | Training a learning based defect classifier |
-
2020
- 2020-04-15 TW TW109112603A patent/TWI749524B/zh active
- 2020-04-15 TW TW109112602A patent/TWI761806B/zh active
- 2020-04-15 TW TW109112604A patent/TWI833010B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106530284A (zh) * | 2016-10-21 | 2017-03-22 | 广州视源电子科技股份有限公司 | 基于图像识别的焊点类型检测和装置 |
TWI664586B (zh) * | 2018-03-22 | 2019-07-01 | National Taiwan Normal University | 透過瑕疵複數光場之透明基板瑕疵檢測方法 |
CN109190643A (zh) * | 2018-09-14 | 2019-01-11 | 华东交通大学 | 基于卷积神经网络中药识别方法及电子设备 |
Also Published As
Publication number | Publication date |
---|---|
TWI761806B (zh) | 2022-04-21 |
TW202113345A (zh) | 2021-04-01 |
TW202104879A (zh) | 2021-02-01 |
TW202105317A (zh) | 2021-02-01 |
TWI833010B (zh) | 2024-02-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI749524B (zh) | 影像辨識裝置、影像辨識方法及其電腦程式產品 | |
CN112304952B (zh) | 影像辨识装置、影像辨识方法及其计算机程序产品 | |
CN112362679B (zh) | 影像辨识装置、影像辨识方法及其计算机程序产品 | |
EP3502966B1 (en) | Data generation apparatus, data generation method, and data generation program | |
KR102171491B1 (ko) | 딥러닝을 이용한 양품 선별 방법 | |
CN111814850B (zh) | 缺陷检测模型训练方法、缺陷检测方法及相关装置 | |
TWI447575B (zh) | 自動缺陷修復系統 | |
JP4374303B2 (ja) | 検査方法及びその装置 | |
TW202141027A (zh) | 基於深度學習之使用晶圓缺陷影像分類晶圓中缺陷之方法及系統 | |
TW202001795A (zh) | 瑕疵分類標記系統及瑕疵分類標記方法 | |
CN113222913B (zh) | 一种电路板缺陷检测定位方法、装置和存储介质 | |
TWI715051B (zh) | 機器學習方法及應用機器學習方法的自動光學檢測設備 | |
JP4442119B2 (ja) | 画像認識装置および画像認識方法、並びに、画像認識装置のティーチング装置およびティーチング方法 | |
JP7508206B2 (ja) | 画像処理方法、エッジモデル作成方法、ロボットシステム、および物品の製造方法 | |
CN115298539A (zh) | 外观检查系统和计算机程序 | |
CN108830850A (zh) | 自动光学检测图片分析方法及设备 | |
Ozturk et al. | Detection of PCB soldering defects using template based image processing method | |
CN112308816B (zh) | 影像辨识装置、影像辨识方法及其存储介质 | |
Huo | Development of a real-time Printed Circuit board (PCB) visual inspection system using You Only Look Once (YOLO) and fuzzy logic algorithms | |
Kavitha et al. | Component identification and defect detection of printed circuit board using artificial intelligence | |
TWI758134B (zh) | 依據元件識別資料使用圖形特徵二次檢測之系統及方法 | |
Dayrit et al. | PCBA Solder Vision Inspection Using Machine Vision Algorithm and Optimization Process | |
US20220261943A1 (en) | Image processing device, image processing method, production system, product manufacturing method, and storage medium | |
Aravand et al. | Automatic optical inspection of printed circuit boards | |
Subha et al. | A Novel Deep Learning Approach to Detect Manufacturing Defects over Textile Fabric Materials |