ai_error.jpg


瑕疵分類及檢測(AOI + AI)

1.傳統AOI定義過嚴、NG過高,需要花許多人力複檢。故先用AOI (OpenCV/Halcon)做傳統檢測-嚴格篩選及分類,瑕疵產品,程式自動往CNN神經網路判斷。

2.在影像分類領域中,常見解決方案是用影像增量技術來解決一部份問題。藉由少量瑕疵模型透過演算法創建新的瑕疵樣本,以加強訓練模型的準確度。缺點是多樣性則不易滿足。

3.若使用對抗生成網路(GAN)去生成看起來相似的樣本來滿足多樣性問題,還是會遇到不夠多的樣本根本無法正確訓練出GAN所需的權重。另外GAN訓練過程太過冗長耗時又是另一項問題。若要使用GAN做瑕疵檢測,首先必須先花費許多時間,建立企業專屬的GAN模型,後續才能可根據設定的參數,來學習產生出具備特定特色的影像。

4.遷移學習則是目前較多人採用的解決方案。現今企業採少量多樣的生產,產品生產周期短,要蒐集各種訓練資料,十分耗時。透過遷移學習,企業可利用原有的產品檢測模型,加上少量新產品資料,調成合適的新產品檢測模型。

5.當樣本都是OK時,可以用異常檢測 來代替分類。異常檢測的概念就是祇使用資料多的那個類別的資料作爲正常資料來訓練模型,在預測時就可以判斷資料是否正常。


小量樣本,精準分類

挑戰: 瑕疵檢測有時需要數千張產品影像來訓練,但由於產品生產周期越來越短,企業有時難以累積足夠的影像資料,再加上產品機密性,業界也沒有公開的影像資料集可使用。使得企業難以開發好用的產品檢測模型。除了訓練資料量要夠大,資料還要有代表性。

1.GAN對抗生成網路和遷移學習,是AI應用落地產業的關鍵武器。

2.遷移學習運用在小樣本視覺檢測,成功率比較高。

3.更省時更省力的檢測自動化,GAN的可塑性比較高但費時,需使用知識規則對抗生成網路(KmRuleGAN)。

4.若再搭配遷移式學習(相似產品A-->B),會有不錯的效果。

補充(2020/01/02):對於未知的瑕疵,可以採用異常檢測演算法,使用正常的樣本作為訓練資料,建立模型。用來檢測與正常影像差異過大的影像。再把這些未知的瑕疵樣本標記起來,和原本AI標記瑕疵的已知樣本+標記正常的樣本,所有放在一起加以訓練即可。這樣反覆訓練,AI檢測模型的準確率會不斷提升。

補充(2020/04/24):
A.左上圖瑕疵統計資料庫,可以進一步使用Django Rest FrameWork或
Flask開發WebAPI開放連結不同資料庫使用,若客戶的ERP/MES本身沒有辦法連結,可以考慮使用RPA或免費的自動化流程工具(Ex:Sikuli)整合WebAPI至ERP/MES。
B.參考別家的作法,在AI瑕疵檢測平台建立瑕疵檢測分級制度 (GUI介面可以設定分級參數),活用工廠庫存次級品。


補充(2020/07/12):AI瑕疵檢測平台,若要在中小企業普及,整個平台應該放在雲端共用 。5G及WiFi6的來臨,讓這個可能性提高 。除了這個,有一個新的AI名詞: 〈聯合學習AI〉,可應用在一個集團,不同工廠,生產同樣類型的產品,可以聯合訓練,減少樣本數及加快訓練。最後還想到AI瑕疵檢測平台,若給中小企業使用,通常沒有專業能力,不能自行調參數,需要一個後台AI參數訓練分析系統。可分析結果後填入前端GUI設定。
※聯合學習AI for Tensorflow框架(Tensorflow Federated)https://www.tensorflow.org/federated

補充(2020/07/29):AI瑕疵檢測平台,通常都是在產品末端檢測,等系統建立後,應該思考再推進半成品部署AI瑕疵檢測平台,減少不良品製成成品的損失。除此之外,後續可以用AI行為偵測判斷作業員是否有按照SOP方式作業,從源頭提高品質減少瑕疵品,會是更好的方式。最後就是機器設備安裝感測器,IoT數據同步比對瑕疵品,用機器學習分析瑕疵原因,做為改進的參考。個人認為整合AI瑕疵全端檢測、AI行為偵測SOP作業及IoT偵測設備狀況,可以更優化生產流程及產品品質。

補充(2020/07/30):增量學習法,可以在原有訓練的AI模型下,隨時增加少量樣本加以訓練,就可以不斷地的優化AI模型。不用每一次都重新訓練所有樣本,可省下非常多的時間。而且若一次訓練大量樣本,有時花費好幾天的時間,也不會因為訓練主機發生異常,要重新訓練,可以接續訓練AI模型。
※增量學習法AI框架函數庫 https://github.com/creme-ml/creme

圖片

 

arrow
arrow

    賴源益 發表在 痞客邦 留言(0) 人氣()