亚洲无码电影院高清在线播放,黄色入口亚欧三级,草榴视空姐,亚洲VR一区二区在线播放,无码中文字幕av免费放,国产一区二区精品偷斗情

歡迎您進(jìn)入深圳長欣自動化設(shè)備有限公司

長欣工控

plc控制器 ? plc控制系統(tǒng) ? plc控制柜

工控設(shè)備供應(yīng)商

咨詢熱線177-5963-5229

從訓(xùn)練到推理:創(chuàng)建用于圖像識別的神經(jīng)網(wǎng)絡(luò)

文章作者:長欣小編 人氣:發(fā)表時間:2022-11-26 09:01

傳統(tǒng)的圖像處理軟件依賴特定任務(wù)的算法,而深度學(xué)習(xí)軟件是利用網(wǎng)絡(luò)實現(xiàn)的用戶訓(xùn)練算法,來識別好的和壞的圖像或區(qū)域。

幸運的是,訓(xùn)練神經(jīng)網(wǎng)絡(luò)的專用算法和圖形用戶界面(GUI)工具的出現(xiàn)使生產(chǎn)商能夠以更輕松、更快速、更實惠的方式進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練。生產(chǎn)商可以從深度學(xué)習(xí)GUI工具中得到什么?使用這些工具有何感受?

1、訓(xùn)練:創(chuàng)建深度學(xué)習(xí)的模型

訓(xùn)練是通過向深度神經(jīng)網(wǎng)絡(luò)(DNN)提供可以學(xué)習(xí)的數(shù)據(jù)來“教授”深度神經(jīng)網(wǎng)絡(luò)(DNN)執(zhí)行所需任務(wù)(例如圖像分類或?qū)⒄Z音轉(zhuǎn)換為文本)的過程。DNN對數(shù)據(jù)代表的內(nèi)容進(jìn)行預(yù)測。然后將預(yù)測中的錯誤反饋給網(wǎng)絡(luò),升級人工神經(jīng)元之間的連接強度。收到的數(shù)據(jù)越多,DNN學(xué)到的內(nèi)容就越多,直到DNN做出的預(yù)測能達(dá)到預(yù)期的準(zhǔn)確性水平。

例如,考慮訓(xùn)練一個DNN,該DNN的目的是將圖像識別為三個不同類別之一——人、汽車或機(jī)械齒輪。

通常情況下,使用DNN的數(shù)據(jù)科學(xué)家將會形成一個預(yù)先組裝的訓(xùn)練數(shù)據(jù)集,這個數(shù)據(jù)集由數(shù)千張圖像組成,每張圖像都標(biāo)記為“人”、“汽車”或“齒輪”。這個數(shù)據(jù)集可以是一個現(xiàn)成的數(shù)據(jù)集,比如谷歌的Open Images,其中包括900萬張圖像、近6000萬張圖像級標(biāo)簽,以及其他更多內(nèi)容。

1.png

谷歌Open Images中的注釋方式:圖像級標(biāo)簽、邊界框、實例分割和可視化關(guān)系。

如果數(shù)據(jù)科學(xué)家的應(yīng)用對于現(xiàn)有解決方案來說過于專業(yè),那么可能需要構(gòu)建自己的訓(xùn)練數(shù)據(jù)集,收集和標(biāo)記最能代表DNN需要學(xué)習(xí)的圖像。

訓(xùn)練過程中,每張圖像會被傳遞至DNN,然后DNN會對圖像所代表的內(nèi)容進(jìn)行預(yù)測(或推斷)。每個錯誤都會反饋給網(wǎng)絡(luò),從而提高在下一次預(yù)測中的準(zhǔn)確性。

此處的神經(jīng)網(wǎng)絡(luò)預(yù)測一張“汽車”的圖像是“齒輪”。然后,這種錯誤通過DNN進(jìn)行回傳,網(wǎng)絡(luò)內(nèi)的連接會得到更新,進(jìn)行錯誤糾正。下次將相同的圖像提交至DNN時,DNN很可能會做出更正確的預(yù)測。

2.png

這種訓(xùn)練過程繼續(xù)進(jìn)行,圖像被輸入至DNN,權(quán)重得到更新,進(jìn)行錯誤糾正,反復(fù)不斷地重復(fù)這個過程數(shù)十或數(shù)千次,直到DNN能夠以所需的準(zhǔn)確度進(jìn)行預(yù)測。這時,將認(rèn)為DNN“經(jīng)過訓(xùn)練”,并且生成的模型可以用于對新圖像進(jìn)行分類。

2、調(diào)整神經(jīng)網(wǎng)絡(luò)

神經(jīng)網(wǎng)絡(luò)的輸入、隱藏層和輸出的數(shù)量高度依賴于你要解決的問題和你的神經(jīng)網(wǎng)絡(luò)的特定設(shè)計。訓(xùn)練過程中,數(shù)據(jù)科學(xué)家試圖引導(dǎo)DNN模型達(dá)到預(yù)期的準(zhǔn)確度。這通常需要運行多次甚至數(shù)百次實驗,嘗試進(jìn)行不同的DNN設(shè)計,這些設(shè)計因神經(jīng)元和層數(shù)的不同而不同。

輸入和輸出之間是神經(jīng)元和網(wǎng)絡(luò)的連接——隱藏層。對于許多深度學(xué)習(xí)項目來說,1-5層神經(jīng)元就已夠用,因為只評估少數(shù)特征來進(jìn)行預(yù)測。但是,任務(wù)更復(fù)雜、變量和考慮因素更多的情況下,需要更多層神經(jīng)元。處理圖像或語音數(shù)據(jù)可能需要數(shù)十到數(shù)百層的神經(jīng)網(wǎng)絡(luò)(每層執(zhí)行特定的功能),以及與神經(jīng)網(wǎng)絡(luò)連接的數(shù)百萬或數(shù)十億個權(quán)重。

3.png

多層DNN簡化示例,其中包含各層可能執(zhí)行的任務(wù)類型。

3、從樣本采集開始

一般需要數(shù)百甚至數(shù)千張手動分類的圖像來訓(xùn)練系統(tǒng)并創(chuàng)建具有高度可預(yù)測性的對象分類模型。但事實證明,采集并注釋如此復(fù)雜的數(shù)據(jù)集是開發(fā)過程中的一大障礙,阻礙了深度學(xué)習(xí)在主流視覺系統(tǒng)中的采用。

深度學(xué)習(xí)非常適用于光照、噪聲、形狀、顏色和紋理等變量常見的環(huán)境。一個展示深度學(xué)習(xí)優(yōu)勢的實際示例是對拉絲金屬等紋理表面的劃痕進(jìn)行檢測。有些劃痕亮度不夠,對比度接近紋理背景本身。因此,傳統(tǒng)技術(shù)通常無法可靠定位這些類型的缺陷,尤其在不同樣本的形狀、亮度和對比度各不相同的條件下。圖1說明了金屬片材的劃痕檢測。通過熱圖圖像清楚顯示缺陷,突出顯示缺陷位置的像素。

4.jpg

表面檢查顯示的是左側(cè)有劃痕的拉絲金屬板,分類算法輸出的熱圖顯示的是右側(cè)缺陷。其中分類算法在用輸入樣本訓(xùn)練神經(jīng)網(wǎng)絡(luò)時自動生成。需要注意的是,我們添加了黃色圓圈來顯示原始圖像和熱圖之間的對應(yīng)關(guān)系。

從頭開始訓(xùn)練的深度神經(jīng)網(wǎng)絡(luò)通常需要采集數(shù)百甚至數(shù)千張圖像樣本。然而,當(dāng)今的深度學(xué)習(xí)軟件通常經(jīng)過預(yù)訓(xùn)練,因此用戶可能只需要采集數(shù)十個額外的樣本就可以使系統(tǒng)適應(yīng)特定的應(yīng)用。

與此相反,使用常規(guī)分類構(gòu)建的檢查應(yīng)用需要采集“優(yōu)質(zhì)”和“劣質(zhì)”圖像進(jìn)行訓(xùn)練。但使用異常檢測等新型分類算法時,用戶可以只訓(xùn)練優(yōu)質(zhì)樣本,只需要少量劣質(zhì)樣本進(jìn)行最終測試。

雖然圖像樣本采集并無捷徑可走,但過程已經(jīng)越來越簡單化。如需采集圖像,技術(shù)人員可使用Sapera LT,這是一款免費的圖像采集和控制軟件開發(fā)工具包(SDK),可以用于Teledyne DALSA的2D/3D相機(jī)和圖像采集卡。訓(xùn)練神經(jīng)網(wǎng)絡(luò)使用的GUI工具Astrocyte可以與Sapera LT接口連接,從相機(jī)中采集圖像。例如,用戶在手動模式下采集PCB組件上的圖像時,會用手移動PCB,改變相機(jī)的位置、角度和距離,從而生成PCB組件的一系列視圖。

4、利用視覺工具訓(xùn)練神經(jīng)網(wǎng)絡(luò)

用戶獲得圖像后就應(yīng)進(jìn)行神經(jīng)網(wǎng)絡(luò)訓(xùn)練。只需單擊“訓(xùn)練”(Train)按鈕即可在Astrocyte中進(jìn)行訓(xùn)練,使用默認(rèn)超參數(shù)開始訓(xùn)練過程。用戶可以修改超參數(shù),以便最終模型實現(xiàn)更高的準(zhǔn)確性。

如需驗證準(zhǔn)確性,用戶可以使用一組不同的圖像來測試模型,并選擇使用診斷工具,例如分類模型的混淆矩陣?;煜仃囀且粋€NxN表格(其中N=類別個數(shù)),顯示每個類別的成功率。在這個示例中(見圖2),顏色編碼用于表示模型的精度/召回率,綠色表示精度/召回率超過90%。

5.png

在混淆矩陣中,雙擊結(jié)果字段會打開Astrocyte圖像選項卡中的相關(guān)圖像,以便進(jìn)行進(jìn)一步研究。

另一個非常重要的診斷工具是熱圖。例如,進(jìn)行異常檢測時,熱圖會突出顯示缺陷的位置??吹綗釄D后,用戶會根據(jù)適當(dāng)原因評估圖像質(zhì)量的優(yōu)劣。如果圖像質(zhì)量很好但卻被歸類為劣質(zhì)圖像,用戶可以查看熱圖獲取更多詳細(xì)信息。神經(jīng)網(wǎng)絡(luò)將遵循用戶提供的輸入內(nèi)容。

一個很好的示例是在螺絲檢查應(yīng)用中使用熱圖:

6.jpg

Astrocyte通過相應(yīng)熱圖顯示右上方圈出的缺陷。左上角顯示的是完美的圖像。

熱圖還可以揭示模型側(cè)重的圖像細(xì)節(jié)或特征,這些細(xì)節(jié)或特征與圖像目標(biāo)場景或?qū)ο蟮钠谕治鰺o關(guān)。根據(jù)Astrocyte模塊,可以使用不同類型的熱圖生成算法。

5、運行GUI工具

解釋深度學(xué)習(xí)GUI工具方法的最佳方式是進(jìn)行展示。異常檢測模型訓(xùn)練是訓(xùn)練神經(jīng)網(wǎng)絡(luò)的基礎(chǔ),因此這里提供了一個簡短的教程,其中包含使用Astrocyte逐步進(jìn)行異常檢測的方法。

7.png

第1步:啟動Astrocyte應(yīng)用程序,在啟動界面選擇“異常檢測”(Anomaly Detection)模塊:

8.png

第2步:在“數(shù)據(jù)集”(Dataset)選項卡中,右鍵單擊并選擇“添加數(shù)據(jù)集”(Add Dataset)。

9.png

第3步:輸入數(shù)據(jù)集名稱和描述,在“數(shù)據(jù)庫”(Databases)面板中右鍵單擊選擇“添加數(shù)據(jù)庫”(Add Database)。

10.png

第4步:在“添加“(Add)位置對話框中,導(dǎo)航到包含訓(xùn)練圖像數(shù)據(jù)集的文件夾。同時選擇正常(好)和異常(壞)目錄,然后單擊OK。

11.png

第5步:每個目錄均使用下拉列表分配類標(biāo)簽:“正?!保∟ormal)或“異常”(Anomaly)。然后單擊“生成”(Generate)將數(shù)據(jù)集添加至內(nèi)部Astrocyte服務(wù)器。

生成過程完成后,如果數(shù)據(jù)集中的圖像大小不同,則會顯示圖像大小分布分析儀對話框;否則,如果圖像大小相同,會自動調(diào)整到指定的最大圖像大小,對話框不會顯示。如有必要,使用“圖像校正”(Image Correction)對話框來校正圖像。

12.png

第6步:在“圖像”(Image)選項卡中,使用“數(shù)據(jù)集”(Dataset)下拉列表選擇所需的數(shù)據(jù)集。然后驗證數(shù)據(jù)集圖像和標(biāo)簽,并進(jìn)行必要更改。如果修改數(shù)據(jù)集,單擊“保存”(Save)更新并保存Astrocyte服務(wù)器上的數(shù)據(jù)集。

13.png

第7步:在“訓(xùn)練”(Training)選項卡中,選擇數(shù)據(jù)集并單擊“訓(xùn)練”;在每批完成時更新訓(xùn)練損失和度量圖,并顯示訓(xùn)練統(tǒng)計數(shù)據(jù)。

14.png

第8步:訓(xùn)練完成時,會顯示一個保存模型的提示,單擊“是”(Yes)。輸入模型名稱和描述,然后單擊OK?,F(xiàn)在您可以使用模型進(jìn)行測試。Astrocyte也使用同樣直觀的GUI引導(dǎo)用戶完成這個過程。

6、優(yōu)化推理我們需要完善受訓(xùn)者嗎?

一旦以可接受的準(zhǔn)確度水平完成訓(xùn)練,我們就會得到一個加權(quán)神經(jīng)網(wǎng)絡(luò)——本質(zhì)上是一個龐大的數(shù)據(jù)庫。這個數(shù)據(jù)庫使用效果良好,但在速度和功耗方面可能不會達(dá)到最佳效果。有些應(yīng)用無法容忍高水平的延遲:例如智能交通系統(tǒng)甚至自動駕駛汽車。自主無人機(jī)或其他電池供電系統(tǒng)可能需要在較小功率范圍內(nèi)運行以滿足飛行時間需求。

DNN越大、越復(fù)雜,訓(xùn)練和運行所消耗的計算、內(nèi)存和能量就越多。因此可能不適用于您的給定應(yīng)用或設(shè)備。在這種情況下,需要在訓(xùn)練后簡化DNN,從而降低功耗和延遲,即使這種簡化會導(dǎo)致預(yù)測準(zhǔn)確性略微降低。

在深度學(xué)習(xí)中,這種優(yōu)化是一個相對較新的領(lǐng)域。芯片和AI加速器供應(yīng)商通常會創(chuàng)建

SDK來幫助用戶執(zhí)行此類任務(wù)——使用專門針對特定架構(gòu)調(diào)整的軟件。涉及的芯片范圍很廣,包括GPU、CPU、FPGA和神經(jīng)處理器。每種芯片都有自己的優(yōu)勢。例如,英偉達(dá)的TensorRT突出了公司在GPU核心方面的專業(yè)性。相比之下,Xilink的Vitis AI支持公司的SoC,例如Versal,包括CPU、FPGA和神經(jīng)處理器。

供應(yīng)商通常會提供兩種變通方法:修剪和量化。修剪是指刪除對最終結(jié)果貢獻(xiàn)較小的神經(jīng)網(wǎng)絡(luò)部分的操作。這一操作可以減小/降低網(wǎng)絡(luò)的大小/復(fù)雜性,但不會顯著影響輸出精度。第二種方法是量化——減少每個權(quán)重的位數(shù)(例如,用FP16或量化INT8/4/2替換FP32)。執(zhí)行復(fù)雜難度較低的計算,可以提高速度和/或減少所需的硬件資源。

7、投入生產(chǎn):轉(zhuǎn)向推理

一旦我們的DNN模型完成訓(xùn)練和優(yōu)化,就可以投入使用:針對以前看不見的數(shù)據(jù)進(jìn)行預(yù)測。和訓(xùn)練過程一樣,圖像作為輸入,DNN嘗試對其進(jìn)行分類。Astrocyte。

15.jpg

Teledyne DALSA提供Sapera Processing和Sherlock兩個軟件包,其中包括一套圖像處理工具和一個用于運行人工智能模型的推理引擎。

16.jpg

Teledyne DALSA AI訓(xùn)練和推理用軟件包

用戶可以在使用GPU或CPU的PC或嵌入式設(shè)備上實現(xiàn)推理。根據(jù)應(yīng)用的尺寸、重量和功耗(SWAP)需求,用戶可以利用各種技術(shù)在嵌入式設(shè)備(如GPU、FPGA和專用神經(jīng)處理器)上實現(xiàn)深度學(xué)習(xí)推理。

8、深度學(xué)習(xí):日益簡化?

從本質(zhì)上講,神經(jīng)網(wǎng)絡(luò)是復(fù)雜難懂但功能強大的工具。幾乎有無限機(jī)會來調(diào)整和優(yōu)化每一個神經(jīng)網(wǎng)絡(luò),以最佳方式解決您的特定問題。廣泛的優(yōu)化范圍以及新研究和工具的快速發(fā)展可能會讓人不知所措,即使經(jīng)驗豐富的從業(yè)者也不例外。

但這并不意味著您無法將這些工具的優(yōu)勢融入到您未來的視覺系統(tǒng)中。向GUI工具的演變正在使視覺系統(tǒng)中的深度學(xué)習(xí)民主化。借助將用戶從AI學(xué)習(xí)和編程的嚴(yán)格要求中解放出來的軟件,制造商可以使用深度學(xué)習(xí)來更好地分析圖像,效果超過任何傳統(tǒng)的算法。不久的將來,與我們傳統(tǒng)的檢查員相比,這種類型的GUI工具表現(xiàn)可能會更出色。

返回頂部