1. 基于AI深度學(xué)習(xí)的工業(yè)缺陷檢測現(xiàn)狀
在工業(yè)生產(chǎn)中,由于生產(chǎn)和運輸環(huán)境中的不可控因素,很容易產(chǎn)生劃痕、壓傷、擦掛等缺陷。而其中的缺陷大部分都極其微小,甚至是肉眼難以識別,這些缺陷所造成的壞品率極大的制約了工業(yè)界的發(fā)展。在中國制造業(yè)轉(zhuǎn)型升級的過程中,產(chǎn)品質(zhì)量要銷往歐美等發(fā)達(dá)國家,讓產(chǎn)品更具競爭力,必然要求不良品不能最終出現(xiàn)在成品中。一方面,如果能提前發(fā)現(xiàn)不良的部件,提前排除,那就能打造成本優(yōu)勢,另一方面,人工檢測一般在強(qiáng)燈光或者顯微鏡的工作環(huán)境中,人容易疲勞,容易誤判,對經(jīng)驗要求高,現(xiàn)在大部分工廠并不容易找到檢測工人,各種因素驅(qū)動之下,全自動智能化的外觀檢測,催生了龐大市場需求。然而,很多工廠都還是剛從人工轉(zhuǎn)視覺,市場潛力無限。
圖1 電池產(chǎn)線人工在做外觀缺陷檢測
除去人工檢測外,使用機(jī)器視覺技術(shù)進(jìn)行缺陷檢測是最為常見的做法,而機(jī)器視覺中需要依賴硬件模塊和軟件模塊兩個部分。硬件模塊中最主要的功能是圖像采集,軟件模塊主要負(fù)責(zé)圖像的處理,分析和檢測功能。 機(jī)器自動外觀檢測一般都采用傳統(tǒng)視覺算法方法,主要包括面積分析、顏色抽取、差異對比、灰度分析、Blob計算等,然而這些方法對被檢對象依賴較大,并且存在檢測效率低、誤檢率高、不同目標(biāo)需要針對性編碼等問題。 隨著深度學(xué)習(xí)圖像檢測技術(shù)的發(fā)展,尤其在自動提取特征和實現(xiàn)端到端檢測方面表現(xiàn)出良好的性能,使得深度學(xué)習(xí)網(wǎng)絡(luò)可以準(zhǔn)確且快速地從圖像中識別目標(biāo),并且具有較強(qiáng)的魯棒性。 因此,基于深度學(xué)習(xí)的圖像檢測技術(shù)在缺陷檢測領(lǐng)域得到越來越多的重視。
圖2 屏幕生產(chǎn)線人工在做外觀缺陷檢測
傳統(tǒng)方法中圖像分析主要是利用圖像本身的特點,人工的進(jìn)行圖像特征選擇或特征提取,現(xiàn)在可以使用的圖像處理算法有很多,像 Open CV 庫和 HALCOM 算法包中就有許多高效的圖像處理和特征提取算法。比如對數(shù)據(jù)去噪后,可以利用 Open CV 中的邊緣檢測算法對圖像邊緣進(jìn)行定位和檢測。通過差分、微分等方法找到符合特征的邊緣信息,然后通過一些手動設(shè)計好的特征提取算法,對這些信息進(jìn)行匹配,找到符合缺陷特征的信息,進(jìn)而完成缺陷的檢測。
深度學(xué)習(xí)中的圖像分析相比需要人工提取特征的傳統(tǒng)方法操作起來就比較簡單,其主要依靠深度學(xué)習(xí)算法訓(xùn)練出的模型,檢測時,模型會根據(jù)訓(xùn)練過程中自動學(xué)習(xí)到的模型特征,對圖像利用卷積操作進(jìn)行特征提取得到的圖像特征進(jìn)行檢測判斷,然后給出“他”的判斷結(jié)果。在使用深度學(xué)習(xí)的過程中,省去了人工圖像處理,提取特征的操作,由深度卷積神經(jīng)網(wǎng)絡(luò)代替人來完成這些操作,而且針對復(fù)雜的特征,卷積神經(jīng)網(wǎng)絡(luò)在這些工作上會比人完成的更加出色。
2. 工業(yè)應(yīng)用少樣本的深度學(xué)習(xí)技術(shù)
深度學(xué)習(xí)近年來應(yīng)用效果越來越好,很大程度上依賴于在當(dāng)前信息時代中對大數(shù)據(jù)的應(yīng)用。比如疫情當(dāng)下,很多小區(qū)為了加強(qiáng)對控制出入小區(qū)的門禁的管理,使用了應(yīng)用廣泛的人臉識別設(shè)備,甚至使用了針對戴口罩人臉的檢測,希望可以讓住戶不摘口罩就可以被識別,而這樣的設(shè)備要想使效果滿足日常使用需求,需要服務(wù)端的算法中有訓(xùn)練得當(dāng)?shù)哪P偷闹С?,這樣的模型就需要大量的人臉數(shù)據(jù)來喂養(yǎng)。相對來說,人臉數(shù)據(jù)算是比較好收集和標(biāo)記的,只要在人流量大的區(qū)域架設(shè)采集設(shè)備,一天就可以采集成千上萬張人臉照片,對于人臉照片,普通的標(biāo)記工作人員就可以完成質(zhì)量比較好的標(biāo)記。但是工業(yè)生產(chǎn)的場景中,良率都比較高,且被檢測目標(biāo)的專業(yè)性,需要更專業(yè)的人員才能判斷出缺陷內(nèi)容,也無法滿足大量的缺陷樣本的采集工作。由于樣本數(shù)量太少,訓(xùn)練模型時出現(xiàn)過擬合問題。因此分析目標(biāo)檢測中典型算法的優(yōu)劣勢,需要提出靈活的模型網(wǎng)絡(luò)的缺陷檢測算法框架,用于解決少樣本學(xué)習(xí)過程中模型過擬合的問題。
圖3 電池蓋帽典型的缺陷類型(1)
圖4 電池蓋帽典型的缺陷類型(2)
3. 深度學(xué)習(xí)技術(shù)的應(yīng)用分類
目前工業(yè)領(lǐng)域筆者見過的實際應(yīng)用深度學(xué)習(xí)技術(shù)在生產(chǎn)線正常良好工作的,以美國康耐視的Vidi深度學(xué)習(xí)軟件居多。主流的halcon開發(fā)應(yīng)用者,由于halcon缺乏完善的標(biāo)注訓(xùn)練工具,導(dǎo)致幾乎市場上不存在基于halcon的深度學(xué)習(xí)的工業(yè)現(xiàn)場實際應(yīng)用。
圖5 Vidi 深度學(xué)習(xí)工具軟件
至于所謂的百度飛槳和華為等大廠的國產(chǎn)深度學(xué)習(xí)算法包,筆者判斷,或許開源的深度學(xué)習(xí)算法包好用,但是真正的情況的是,工業(yè)上鮮有落地,所謂的開源深度學(xué)習(xí)標(biāo)注軟件更是一堆雞毛,根本無法商業(yè)化。因為一套完善的機(jī)器視覺檢測設(shè)備,他是一整套集成化的產(chǎn)品,包括了運動控制、人機(jī)界面、數(shù)據(jù)管理、機(jī)器視覺(傳統(tǒng))、機(jī)器視覺(AI)、機(jī)械設(shè)計、電氣部分、生產(chǎn)組織管理等因素。不僅僅只是解決了AI算法問題,就能把機(jī)器做出來,或者做好,他是一系列專業(yè)性能力的集合,然后某些細(xì)分領(lǐng)域的檢測設(shè)備,畢竟數(shù)量少,不能像汽車那樣大規(guī)模應(yīng)用而獲得資本大規(guī)模投入,吸引大量高素質(zhì)人才進(jìn)入。自動化設(shè)備其實是專業(yè)性很強(qiáng)的領(lǐng)域、在技術(shù)門檻很高、收入待遇平平的時候,是難以吸引大量985大學(xué)等頂尖人才加入。畢竟Vidi標(biāo)注訓(xùn)練工具很貴,針對市場上的深度學(xué)習(xí)標(biāo)注訓(xùn)練測試一體化的工具缺乏的情況。我公司 東莞市精馳技術(shù)有限公司 自主研發(fā)了一款能滿足深度學(xué)習(xí)要求的標(biāo)注訓(xùn)練測試一體化工具,簡單易用。
圖5 東莞市精馳技術(shù)有限公司的MindWorks.AI工具軟件(深度學(xué)習(xí)標(biāo)注訓(xùn)練測試一體化)
MindWorks.AI具備項目管理、目標(biāo)生成、圖片管理、標(biāo)注缺陷、種類分類、劃分、訓(xùn)練和測試評估一體化的深度學(xué)習(xí)工具軟件。
言歸正傳,深度學(xué)習(xí)的應(yīng)用分類,主要是4類:1、目標(biāo)識別;2、缺陷分割(語義分割)3、目標(biāo)分類;4無監(jiān)督學(xué)習(xí)。
1、目標(biāo)識別。就是識別目標(biāo)的位置,在工業(yè)領(lǐng)域,一般情況下不需要使用,筆者認(rèn)為用傳統(tǒng)的匹配定位或者卡尺等特征定位準(zhǔn)確度更高。
圖6 東莞市精馳技術(shù)有限公司的圖像目標(biāo)識別定位軟件
2、缺陷分割(語義分割)。這個是重點內(nèi)容。就是訓(xùn)練后,深度學(xué)習(xí)將目標(biāo)缺陷分割出來。標(biāo)注的越準(zhǔn)確,分割的結(jié)果越好。
圖7 東莞市精馳技術(shù)有限公司的MindWorks.AI工具軟件缺陷標(biāo)注界面
圖8 基于精馳技術(shù)MindWorks.AI工具軟件訓(xùn)練后的缺陷分割效果
3、目標(biāo)分類。此類方法,將不同類型的目標(biāo)篩選出來,或者將不同的缺陷進(jìn)行分類,然后將缺陷目標(biāo)找到。分類是深度學(xué)習(xí)速度最快,準(zhǔn)確度最好的。深度學(xué)習(xí)最有優(yōu)勢的地方也是如此。
圖9 基于精馳技術(shù)MindWorks.AI工具軟件的分類訓(xùn)練
一般情況下,標(biāo)注工具需要將目標(biāo)調(diào)整到一致的位姿后,加掩膜,只保留目標(biāo)區(qū)別區(qū)域,再訓(xùn)練,效果會很好?;谏疃葘W(xué)習(xí)的分類算法,如上圖所示,只有1個點的區(qū)別的模穴號混料篩選,準(zhǔn)確度可以達(dá)到99.8%以上。效果非常好。
4、無監(jiān)督學(xué)習(xí)。此類方法,是針對難以找到NG樣品的時候,就訓(xùn)練OK樣本。如果單單去理解專業(yè)術(shù)語無監(jiān)督,可能讓讀者懵逼。一言以蔽之,就是訓(xùn)練好物料,訓(xùn)練后,在運行時候?qū)嶋H物料與之判斷,不重合的地方越多,差異越多,有個面積閾值,用來判斷NG。類似于差異模板。
圖10 基于精馳技術(shù)MindWorks.AI工具軟件的無監(jiān)督學(xué)習(xí)訓(xùn)練
圖11 基于精馳技術(shù)MindWorks.AI工具軟件的無監(jiān)督學(xué)習(xí)訓(xùn)練結(jié)果
3、深度學(xué)習(xí)技術(shù)在工業(yè)裝備檢測系統(tǒng)的實現(xiàn)步驟
步驟1:準(zhǔn)備階段,樣本采集。目標(biāo)缺陷都分布在目標(biāo)樣本中,此時,需要對樣本分類進(jìn)行圖片采集。一般在采集的同時通過圖像定位,使樣本保持在同樣的位姿。東莞市精馳技術(shù)有限公司(東莞市精馳軟件有限公司)針對這一環(huán)節(jié)專門開發(fā)了采集糾正姿態(tài)的軟件。
步驟2:準(zhǔn)備階段,樣本訓(xùn)練。將采集的樣本導(dǎo)入到工具軟件進(jìn)行標(biāo)注劃分和訓(xùn)練。東莞市精馳技術(shù)有限公司(東莞市精馳軟件有限公司)針對這一環(huán)節(jié)專門開發(fā)了一體化的工具軟件MindWorks.AI。
步驟3:準(zhǔn)備階段,導(dǎo)入訓(xùn)練模型結(jié)果到運行軟件。將有了標(biāo)準(zhǔn)的訓(xùn)練劃分標(biāo)注軟件,就可以可視化的得到訓(xùn)練結(jié)果,然后生成結(jié)果之后,就可以導(dǎo)入到目標(biāo)運行軟件,以待實際工作使用。
圖12 精馳技術(shù)有限公司開發(fā)的檢測運行系統(tǒng)
精馳技術(shù)有限公司開發(fā)的檢測運行系統(tǒng),可最大支持12個黑白/彩色相機(jī)同時工作,具備缺陷存檔、統(tǒng)計報表、深度學(xué)習(xí)模型導(dǎo)入、運行執(zhí)行判斷等動能,容易使用,而且方便。
圖13 精馳技術(shù)Inspect運行軟件的深度學(xué)習(xí)模型導(dǎo)入窗口
步驟2:運行階段,實現(xiàn)目標(biāo)ROI定位。目標(biāo)ROI就是需要進(jìn)行檢測分析的地方,定位ROI的方式有很多種,包括深度學(xué)習(xí)本身就可以做ROI目標(biāo)檢測,傳統(tǒng)的方式,主要包括Blob分析,找圓,找方,找Mark點,模板匹配等。精馳技術(shù)根據(jù)團(tuán)隊多年的應(yīng)用經(jīng)驗,推薦使用模板匹配進(jìn)行精確定位ROI。
步驟3:運行階段,調(diào)用深度學(xué)習(xí)模型。目標(biāo)ROI找到之后,將該ROI直接應(yīng)用深度學(xué)習(xí)模型即可得到結(jié)果。對于分類而言,結(jié)果是不同類型的分?jǐn)?shù)的列表,可以設(shè)置一個閾值判斷即可;對于缺陷分割而言,就是分割出來的缺陷位置,將他顯示出來,可以這是一個面積閾值來判定OK和NG;對于無監(jiān)督學(xué)習(xí)而言,也是用面積表征缺陷位置,設(shè)置一個面積閾值判斷OK和NG即可。
4、深度學(xué)習(xí)技術(shù)的工業(yè)裝備檢測系統(tǒng)效果展示
深度學(xué)習(xí)是個好技術(shù),也確實能解決一些問題,但是不要指望他能解決一切問題,畢竟一套檢測系統(tǒng)、一臺檢測設(shè)備,都是光學(xué)、運動控制、攝像機(jī)標(biāo)定、預(yù)處理、人機(jī)界面、數(shù)據(jù)系統(tǒng)、機(jī)械、電氣、組織管理等一系列要素的集合。就像木桶原理一樣,任何一塊有短板,這個產(chǎn)品都是做不出來的,抑或是不穩(wěn)定的。畢竟深度學(xué)習(xí)也就是產(chǎn)品的算法一環(huán)而已,僅此而已。只不是方法先進(jìn)一點罷了。
圖13 精馳技術(shù)MindWorks.AI 深度學(xué)習(xí)在印刷目標(biāo)的識別效果
圖14 精馳技術(shù)MindWorks.AI 深度學(xué)習(xí)在劃痕目標(biāo)的識別效果
圖15 精馳技術(shù)MindWorks.AI 深度學(xué)習(xí)在PCB光板的識別效果
5、最后
最后最后,若您有更好的項目,我們可以一起評估,一起合作,合作共贏。如果您有其他見解,不妨聯(lián)系我們一起交流學(xué)習(xí)。