AI在工業(yè)檢測中的最新進(jìn)展
隨著人工智能(AI)和深度學(xué)習(xí)改變了我們創(chuàng)造商品的方式以及質(zhì)量檢測的方式,制造業(yè)正在發(fā)生翻天覆地的變化。新的深度學(xué)習(xí)技術(shù)、軟件、并行處理的強(qiáng)大功能和易用性工具的結(jié)合是這一轉(zhuǎn)變的核心。
傳統(tǒng)的圖像處理軟件依賴于特定于任務(wù)的算法,而深度學(xué)習(xí)軟件使用多層網(wǎng)絡(luò)來實(shí)現(xiàn)預(yù)訓(xùn)練或用戶訓(xùn)練的算法來識(shí)別好壞圖像或區(qū)域。傳統(tǒng)上,需要數(shù)百甚至數(shù)千張高質(zhì)量的手動(dòng)分類圖像來訓(xùn)練系統(tǒng)并創(chuàng)建一個(gè)模型,以創(chuàng)建一個(gè)能以高度可預(yù)測性對物體進(jìn)行分類的模型。事實(shí)證明,僅僅收集這種類型的數(shù)據(jù)集就是一個(gè)障礙,阻礙了深度學(xué)習(xí)在主流制造環(huán)境中的采用。
新技術(shù)的進(jìn)步使制造商更容易將深度學(xué)習(xí)作為檢測過程的一部分。今天,我們訓(xùn)練深度學(xué)習(xí)系統(tǒng)時(shí),不良圖像更少,甚至沒有。雖然用于機(jī)器視覺的深度學(xué)習(xí)軟件已經(jīng)存在了十多年,但現(xiàn)在它變得更加用戶友好和實(shí)用。因此,制造商正在從試驗(yàn)深度學(xué)習(xí)軟件轉(zhuǎn)向?qū)嵤┧?/p>
深度學(xué)習(xí)與傳統(tǒng)方法的比較
深度學(xué)習(xí)非常適合傳統(tǒng)圖像處理方法難以完成的任務(wù)。適合深度學(xué)習(xí)的典型環(huán)境是光照、噪聲、形狀、顏色和紋理等變量較多的環(huán)境。例如,在食品檢測中,幾乎沒有兩塊面包是完全相同的。每塊面包的成分相同,重量相同,但形狀、顏色和質(zhì)地可能略有不同,但仍在正常范圍內(nèi)。
另一個(gè)例子是蘋果的成熟度。成熟度可以是指顏色、柔軟度或質(zhì)地;然而,蘋果被認(rèn)為成熟的可能性是有一定范圍的。正是在這些類型的環(huán)境中,深度學(xué)習(xí)可以大顯身手。其他示例包括檢查表面光潔度質(zhì)量、確認(rèn)套件中是否存在多個(gè)項(xiàng)目、檢測異物等,以確保整個(gè)裝配過程的質(zhì)量。
顯示深度學(xué)習(xí)優(yōu)勢的一個(gè)實(shí)際例子是對金屬等紋理表面進(jìn)行劃痕檢測。其中一些劃痕的亮度較低,其對比度與紋理背景本身的對比度處于同一數(shù)量級。傳統(tǒng)技術(shù)通常無法可靠地定位這類缺陷,尤其是當(dāng)不同樣本的形狀、亮度和對比度各不相同時(shí)。圖 1 展示了金屬板上的劃痕檢測。缺陷通過熱圖清晰顯示,熱圖是一種偽彩色圖像,突出顯示了缺陷位置的像素。
缺陷檢測的另一個(gè)例子是對復(fù)雜部件進(jìn)行好壞分類的能力。例如,金屬螺絲是一種表面變化很大的物體,傳統(tǒng)算法很難將其缺陷分離出來。深度學(xué)習(xí)算法非常擅長檢測這類物體。
使用簡單分類進(jìn)行缺陷檢測
盡管深度學(xué)習(xí)比傳統(tǒng)的圖像處理技術(shù)更具優(yōu)勢,但挑戰(zhàn)確實(shí)存在。首先,許多用戶缺乏對通過深度學(xué)習(xí)取得成功所需的條件的理解。其次,直到最近,深度學(xué)習(xí)還需要一個(gè)龐大的數(shù)據(jù)集來訓(xùn)練系統(tǒng)。
由于缺乏高質(zhì)量的手動(dòng)分類圖像,許多應(yīng)用程序無法利用深度學(xué)習(xí)。在有大型數(shù)據(jù)集的情況下,下一個(gè)挑戰(zhàn)是標(biāo)記每張圖像。這種標(biāo)記可能是一項(xiàng)艱巨的任務(wù),因?yàn)樗仨氂蓪<彝瓿?,并且需要沒有錯(cuò)誤。如果存在大量的類別(不同的組別,每個(gè)組別都有唯一的標(biāo)簽),就很容易出錯(cuò)。
細(xì)微的標(biāo)簽錯(cuò)誤是AI工具無法達(dá)到令人滿意的性能的原因之一。在意識(shí)到失敗是由于原始數(shù)據(jù)集中的錯(cuò)誤標(biāo)注造成的之前,人們會(huì)痛苦地發(fā)現(xiàn)浪費(fèi)了大量時(shí)間。事實(shí)上,正確的數(shù)據(jù)集是特定系統(tǒng)中最重要的項(xiàng)目,通常被用戶視為專有知識(shí)產(chǎn)權(quán)。
典型的深度學(xué)習(xí)應(yīng)用需要數(shù)百甚至數(shù)千個(gè)圖像樣本。在更具挑戰(zhàn)性或自定義應(yīng)用程序中,訓(xùn)練模型可能需要多達(dá)一百萬個(gè)或更多的圖像樣本。即使你可以得到足夠的圖像,你也必須確保你有正確的“好”和“壞”圖像組合,以滿足訓(xùn)練模型的參數(shù)。
為了從訓(xùn)練模型中獲得預(yù)期結(jié)果,您需要一個(gè)平衡的數(shù)據(jù)集。這種同時(shí)使用好樣本和壞樣本的訓(xùn)練方式被稱為缺陷檢測,也被認(rèn)為是一種簡單的分類器。
要驗(yàn)證訓(xùn)練模型是否準(zhǔn)確,您需要使用一組新圖像測試模型。如果模型接近訓(xùn)練集模型,則表示該模型具有很好的泛化性。如果模型在測試集上表現(xiàn)不佳,這往往反映出模型記住了所有訓(xùn)練情況,而沒有了解圖像的好壞因素,這被稱為過度訓(xùn)練或過度擬合。如果測試集表現(xiàn)更好,則訓(xùn)練集可疑(可能是由于分布不良),或者測試集太小。這種方法稱為監(jiān)督學(xué)習(xí)。
一種新的深度學(xué)習(xí)技術(shù):異常檢測
有些應(yīng)用可能只有很好的例子。在許多生產(chǎn)環(huán)境中,在許多生產(chǎn)環(huán)境中,我們看到的是可以接受的情況,但永遠(yuǎn)無法確定所有可能導(dǎo)致廢品的情況。在某些情況下,可能會(huì)以非常低的概率發(fā)生獨(dú)特的新廢品事件,但這仍然是不可接受的。
過去,由于缺乏不良示例,這些類型的應(yīng)用無法有效地部署深度學(xué)習(xí)。現(xiàn)在情況發(fā)生了變化,新工具使制造商能夠擴(kuò)展從深度學(xué)習(xí)中受益的應(yīng)用范圍。
有一種新的分類技術(shù)叫做異常檢測,在這種模式下,只有好的示例才能訓(xùn)練網(wǎng)絡(luò),網(wǎng)絡(luò)會(huì)識(shí)別出被認(rèn)為是正常的內(nèi)容,并將該數(shù)據(jù)集之外的任何內(nèi)容識(shí)別為異常。如果你把“好例子”數(shù)據(jù)集放在一個(gè)圖表上,它看起來像一個(gè)斑點(diǎn)。落在斑點(diǎn)內(nèi)的任何東西都被歸類為正常,而落在斑點(diǎn)之外的任何東西都被歸類為異常。圖 1 和圖 2 中所示的例子都可以在只有少數(shù)甚至沒有不良樣本可用于訓(xùn)練的情況下通過異常檢測進(jìn)行求解。
異常檢測工具現(xiàn)已推出,可以將深度學(xué)習(xí)擴(kuò)展到以前無法利用其優(yōu)勢的新應(yīng)用中。異常檢測的加入有助于減少訓(xùn)練系統(tǒng)所需的工程工作量。如果擁有數(shù)據(jù),非圖像處理專家也能訓(xùn)練系統(tǒng),同時(shí)大幅降低成本。例如,Teledyne DALSA的Astrocyte軟件就是一款基于深度學(xué)習(xí)算法的訓(xùn)練工具,包括分類、異常檢測、物體檢測、分割和降噪。
采用深度學(xué)習(xí)進(jìn)行缺陷檢測
無論是使用簡單的分類器還是異常檢測算法來實(shí)現(xiàn)制造環(huán)境中的檢測,都必須使用最小的樣本集來訓(xùn)練神經(jīng)網(wǎng)絡(luò)。如前所述,異常檢測允許使用不平衡的數(shù)據(jù)集,通常包括比壞樣本多得多的好樣本。但無論如何平衡,這些樣本都需要標(biāo)記為好或壞,并輸入到神經(jīng)網(wǎng)絡(luò)訓(xùn)練器中。基于GUI的訓(xùn)練工具是一種將數(shù)據(jù)集提供給神經(jīng)網(wǎng)絡(luò)的簡單方法,同時(shí)允許您以圖形方式標(biāo)記圖像。
圖3展示了Astrocyte軟件中的分類訓(xùn)練,其中所有樣本都以縮略圖的形式列出。對于每個(gè)樣本,縮略圖周圍的矩形指定標(biāo)簽(即好或壞),這些信息由用戶在訓(xùn)練時(shí)編輯。自動(dòng)執(zhí)行此過程的一種簡單方法是將樣本放在兩個(gè)不同的文件夾(好的和壞的)中,并使用文件夾名稱作為標(biāo)簽。
訓(xùn)練數(shù)據(jù)集時(shí)要考慮的另一個(gè)重要方面是保留這些樣本的一部分進(jìn)行測試。在實(shí)踐中,一個(gè)好的規(guī)則是分配 80% 的數(shù)據(jù)集用于訓(xùn)練,而將剩余的 20% 用于測試。與訓(xùn)練樣本不同,測試樣本通過神經(jīng)網(wǎng)絡(luò)進(jìn)行測試,而不會(huì)影響網(wǎng)絡(luò)的權(quán)重。訓(xùn)練和測試樣本組對于開發(fā)在生產(chǎn)中表現(xiàn)良好的適當(dāng)訓(xùn)練模型非常重要。
一旦創(chuàng)建并標(biāo)記了訓(xùn)練集,就可以開始訓(xùn)練過程。訓(xùn)練參數(shù)稱為超參數(shù)(與“參數(shù)”相對,“參數(shù)”是神經(jīng)網(wǎng)絡(luò)的實(shí)際權(quán)重)。最常見的超參數(shù)包括學(xué)習(xí)率,它告訴算法收斂到解決方案的速度,周期數(shù),它決定了訓(xùn)練過程中的迭代次數(shù),批處理大小,它選擇一次處理多少個(gè)樣本,以及模型架構(gòu)選擇該選項(xiàng)來解決問題。用于簡單分類的模型架構(gòu)的一個(gè)常見示例是 ResNet,它是一種卷積神經(jīng)網(wǎng)絡(luò),是分類問題(如缺陷檢測)中常用的模型架構(gòu)。
超參數(shù)配置完成后(好的訓(xùn)練工具提供了在實(shí)踐中效果很好的默認(rèn)值),訓(xùn)練過程就可以啟動(dòng)了。訓(xùn)練時(shí)間從幾分鐘到幾小時(shí)不等,具體取決于數(shù)據(jù)集中的樣本數(shù)量、超參數(shù)以及 GPU 卡的功率/內(nèi)存。在訓(xùn)練期間,您可以監(jiān)控兩個(gè)基本指標(biāo):損失函數(shù)和準(zhǔn)確性。損失函數(shù)顯示了當(dāng)前模型預(yù)測(神經(jīng)網(wǎng)絡(luò)的輸出)和期望(基本事實(shí))之間的差異。
在訓(xùn)練過程中,這些損失函數(shù)應(yīng)趨向 0。如果它們出現(xiàn)分歧,您可能必須取消訓(xùn)練會(huì)話,并使用不同的超參數(shù)重新啟動(dòng)它。準(zhǔn)確度表示您的模型在正確分類樣本方面有多好。在訓(xùn)練期間,該指標(biāo)應(yīng)達(dá)到100%。在實(shí)踐中,你很少會(huì)達(dá)到100%,但通常在95%到99%之間。圖4描繪了在星形膠質(zhì)細(xì)胞中訓(xùn)練時(shí)的損失函數(shù)和準(zhǔn)確性圖。
在訓(xùn)練以可接受的精度完成訓(xùn)練后,您的模型就可以在生產(chǎn)中使用了。將模型應(yīng)用于真實(shí)樣本稱為推理。推理可以在使用GPU卡的PC上實(shí)現(xiàn),也可以在使用并行處理引擎的嵌入式設(shè)備上實(shí)現(xiàn)。根據(jù)應(yīng)用所需的尺寸、重量和功耗,可以使用各種技術(shù)在嵌入式設(shè)備(如 GPU、FPGA 和專用神經(jīng)處理器)上實(shí)現(xiàn)深度學(xué)習(xí)。
深度學(xué)習(xí)比以往任何時(shí)候都更加人性化和實(shí)用,使更多的應(yīng)用能夠從中受益。深度學(xué)習(xí)軟件已經(jīng)改進(jìn)到可以比任何傳統(tǒng)算法更好地分類圖像的地步,并且可能很快就能超過人類檢查員。
文章版權(quán)歸西部工控xbgk所有,未經(jīng)許可不得轉(zhuǎn)載。