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