?

基于輕量化深度遷移神經網絡的電子元器件識別?

2024-01-29 02:24夏玉果董天天
電子器件 2023年6期
關鍵詞:元器件識別率輕量化

夏玉果,董天天,丁 晟

(江蘇信息職業技術學院微電子學院,江蘇 無錫 214153)

電子元器件是現代電子智能制造的基礎,在電子產品的焊接、組裝、檢測等多個生產工序中必須進行元器件的識別。所謂電子元器件識別就是根據不同元器件的外形特性來判斷其所屬的元器件類別,隨著電子信息技術的發展,電子元器件的種類和數量迅速增長,因此快速準確的元器件識別對于提高現代電子產品的生產效率具有非常重要的意義。

電子元器件的識別主要依據圖像處理和模式識別的原理和方法。傳統的識別方法是通過提取不同元器件的特征,再根據這些特征匹配進行類別判定,如杜思思等[1]提出的電子元器件自動分類的算法,對于有引腳的元器件的檢測分類取得很好的結果。但是隨著微電子技術發展,貼片元器件特別無引腳或短引腳元器件的大量使用,這種算法的弊端日益凸顯。近年來,隨著深度學習在機器學習領域不斷的成功,人們提出了基于深度神經網絡(Deep Neural Networks,DNN)的元器件識別算法,如陳翔等[2]提出的基于AlexNet 的電子元器件分類方法,在5 類常見的電子元器件數據集上取得不錯的分類效果。陳文帥等[3]則利用目標檢測算法對極性電子元器件類別與方向識別進行了研究,這些大大推進了元器件識別的研究。相對于傳統的分類算法,深度學習算法能夠自動學習不同元器件的特征,不需要再針對不同元器件選取不同的特征,降低了算法的復雜度。另一方面,深度學習算法在效果上大大提升了識別率,但同時也存在模型訓練的計算量大、內存需求量大、對硬件設備要求高等缺點,由此導致模型移植到移動設備或嵌入式設備困難,無法滿足實時運行需要。

針對以上問題,本文提出一種基于輕量化深度遷移網絡的元器件識別方法。該方法首先以輕量化神經網絡模型MobileNet 為基礎,通過引入通道注意力機制和新的激活函數,構建基于MobileNetV3 的主干網絡。其中通道注意力機制進一步對圖片的關鍵特征進行加權,提升模型的分類能力。其次采用遷移學習(Transfer Learning,TF)算法,通過預訓練模型實現模型參數遷移,并進行微調,進一步降低算法的參數量,并且避免了由于數據集小引起的過擬合現象,提升了算法的泛化能力。最后將此訓練模型部署在樹莓派系統中,實驗表明,該算法能夠準確識別出12 種常見的元器件,并能很好滿足邊緣端計算和運行的需要。

1 輕量化深度遷移神經網絡的電子元器件識別算法

1.1 輕量化深度遷移神經網絡的整體架構

以輕量化神經網絡和遷移學習構建的模型結構如圖1 所示,其中上半部分為ImageNet 上的預訓練模型[4],主要完成遷移學習。下半部分為輕量化網絡MobileNetV3 的模型結構,主要包括卷積層、block層、池化層以及注意力模塊。

1.2 MobileNetV3 網絡

MobileNet 系列模型是Google 團隊提出的主要針對移動端或嵌入式設備的輕量級深層神經網絡,與傳統的卷積神經網絡相比,MobileNet 在保證正確率的基礎上,大大降低了模型參數和運算量,并具有延時低的特點。MobileNet 系列可分為MobileNetV1、V2 和V3 三種模型。

MobileNetV1[5]是在經典的卷積神經網絡(Convolutional Neural Networks,CNN)網絡結構基礎上,將池化層、部分全連接層用卷積層來代替,并引入了深度可分離卷積。深度可分離卷積的核心思想是將標準卷積分為兩步:第一是深度卷積(Depthwise),即對每個輸入通道應用單通道的輕量化濾波器;第二是點卷積(Pointwise),負責計算輸入通道的線性組合并構建新的特征。它使用更少的參數進行特征的學習,能夠有效減少計算量和模型參數。

MobileNetV2[6-7]在MobileNetV1 的基礎上,借鑒ResNet 的殘差連接思想,提出倒殘差結構,如圖2 所示,該結構先使用點卷積進行特征升維,再使用3×3的深度卷積提取各通道的特征,最后使用點卷積進行特征降維。當步長為1 時,使用倒殘差結構;當步長為2 時,使用串聯結構。這樣的結構使得網絡允許更小的輸入和輸出維度,降低網絡的計算量和參數量,提升梯度傳播效率,使得網絡表達能力更強。

圖2 MobileNetV2 中倒殘差結構

1.2.1 注意力機制

注意力機制(Attention Mechanism,AM)已成為深度學習領域的研究熱點,它通過模擬人腦機制,關注視覺內有突出特點的重要信息,忽略不重要的信息,從而進一步提升有效特征的區別性。在圖像處理領域中常使用空間注意力(Spatial Attention)和通道注意力(Channel Attention)[9],根據輕量化網絡的特點,這里引入通道注意力機制中的SE 網絡模塊(Squeeze and Excitation,SE)[10]。

通道注意力機制SE 是在特征通道維度上動態調整各通道的權重,加大對網絡性能好的特征通道權重,減小對網絡特性不好的特征通道權重,實現對通道權重的重新分配。它主要包含壓縮(Squeeze)和激勵(Excitation)兩種操作,其中壓縮操作如式(1)所示:

式中:zc為壓縮操作結果,uc為輸入特征,H、W分別為輸入特征的高度和寬度。激勵操作如式(2)所示:

式中:sc為激勵操作結果,σ和δ分別表示激活函數Sigmoid 和ReLU(Rectified Linear Unit),經過以上操作后,通道注意力輸出為激勵操作輸出產生的權重與特征圖進行相乘,從而實現特征的加權,如式(3)所示:

先用較堅硬的石塊回填槽孔,石塊不宜太大;然后進行重新造孔。重新造孔進尺不宜太快,發現孔斜時應再次回填石塊重復造孔。

圖3 通道注意力SE 模塊結構圖

在此結構中,首先對輸入特征矩陣的每一個通道進行全局平均池化操作,然后通過兩個全連接層得到輸出的向量。其中第一個全連接層節點個數為特征矩陣通道數的四分之一,第二個全連接層的節點個數等于特征矩陣的通道數。最后,第二個全連接層輸出結果是對特征矩陣的每一個通道賦予不同的權重,對于比較重要通道賦予較大的權重,反之較小,從而更加突出特征的區別性。其中第一個全連接層使用激活函數ReLU,第二個全連接層使用激活函數H-swish。

1.2.2 激活函數

激活函數是在人工神經網絡神經元上運行的函數,主要負責神經元之間的信息映射。激活函數將非線性特性引入神經網絡,從而增加神經網絡模型的非線性因素,使得網絡可以學習和理解更加復雜的事物。

在MobileNetV2 中使用的激活函數是swish,它具有非單調性、無下界、平滑的特點,在深層網絡的效果優于傳統的ReLU 函數,如式(4)所示:

由于swish 函數求導復雜,增大計算量,不利于量化,因此MobileNetV3 在swish 上進行改進,使用了一種新的激活函數H-swish[x],如式(5)所示:

1.3 遷移學習

遷移學習[11]是通過在已有領域中學習獲取的知識,轉移到新的相關領域中,以此來改進新的學習任務,并獲得更好的學習效果。實踐表明,遷移學習[12]在解決小樣本學習問題上有較好的效果。本文將在ImageNet 數據集上訓練得到的預訓練模型遷移到電子元器件識別中,首先利用預訓練模型對新的網絡模型進行初始化,去掉最后的全連接層,作為特征提取,再在電子元器件數據庫上進行訓練,同時降低學習率,并對模型進行微調,即凍結所有層,只訓練全連接層中的卷積層,并將網絡的輸出類別數改為電子元器件分類任務的12 類,最后得到電子元器件識別模型。通過采用遷移學習的MobileNetV3 網絡模型,不僅加快模型的學習效率,而且進一步提升模型的泛化能力。本文遷移學習的流程如圖4 所示。

圖4 遷移學習流程

2 實驗結果

為了驗證本文方法的有效性,在12 類常見的電子元器件數據集上進行實驗,并將本文算法與其他深度學習模型的遷移學習算法進行對比。

2.1 數據集

目前,國內還沒有公開發布的電子元器件數據庫,本實驗利用工業相機、人工拍攝和網絡搜索等方式采集電子元器件圖像并構建數據集,該數據集包括插件電阻器、貼片電阻器、插件電容器、貼片電容器、電解電容器、插件電感器、貼片電感器、插件二極管、貼片二極管、發光二極管、插件三極、貼片三極管等12 種常見的元器件,共計3 105 張,具體分布如圖5 所示。在實驗中,按8 ∶1 ∶1 的比例拆分成訓練集、驗證集和測試集,為了保證模型性能所需的大量樣本數據,實驗中對數據集進行增強處理[13],包括隨機裁剪、翻轉、縮放等方法進行預處理,以增加樣本的多樣性。

圖5 電子元器件種類

2.2 實驗設置

本實驗操作系統為Windows 10,兩塊16G 顯存NVIDIA GeForce GTX 2060 顯卡,CPU 為Intel Core i7-7700K,Python 版本為3.8,深度學習框架為TensorFlow2.3。實驗利用GPU 加快模型訓練速度,選擇Adam 作為模型參數優化器,損失函數選擇交叉熵損失函數,學習率為0.000 1,訓練周期為100 次,每批次訓練的圖像為16 張。

2.3 實驗結果

2.3.1 考察遷移學習的效果

為了驗證不同模型在采用遷移學習方法后的識別效果,這里選取典型的 VGG16、ResNet50、InceptionV3 和MobileNetV3 模型作對比實驗,并選用TOP1 和TOP5 識別準確率作為評價指標,實驗結果如表1 所示,其中TF 是遷移學習Transfer Learning 的簡稱。

表1 不同模型的遷移學習結果

從表1 可以看出,這4 種模型在采用遷移學習算法后TOP1 和TOP5 的識別正確率均獲得了提升,其中VGG19 模型提升幅度最大為10.19%,本文提出的MobileNetV3 的遷移學習算法提升了3.62%,說明采用遷移學習方法,可以進一步提高模型識別的準確率。另外,在訓練中,這4 種模型的損失率穩步降低,準確率穩步提升,這表明采用遷移學習算法后模型的性能更加穩定,其中本文提出的算法表現最好。

2.3.2 考察不同模型的遷移特性

為了進一步考察不同模型在采用遷移學習后的特性,本實驗選擇VGG19、ResNet50、InceptionV3 和MobileNetV3 為實驗對象,主要考察模型識別率、訓練時間和模型參數量三個方面指標,實驗結果如表2 所示。

表2 不同模型的遷移特性

從表2 可以看出,本文提出的算法在TOP1 識別正確率、訓練時間和模型參數量方面都取得了很好的結果,其中識別率遠高于傳統的VGG16 和Res-Net50 網絡,雖然InceptionV3 網絡在識別率上與本文提出算法相差不大,但是在模型訓練時間和參數量上,本文提出的算法遠遠低于InceptionV3 網絡,突出了輕量化的特點,為模型部署到移動端或嵌入式系統提供了條件。

2.3.3 考察輕量化系列網絡的遷移特性

針對模型的部署和使用,將本文提出的算法與典型的輕量級網絡MobileNetV1 和MobileNetV2 作對比實驗,主要從識別率、模型大小和參數量三個方面考察,實驗結果如表3 所示。

表3 輕量化網絡遷移學習的實驗結果

由表3 可以看出,本文提出的算法在TOP1 和TOP5 的識別準確率遠高于傳統的MobileNetV1 和MobileNetV2 網絡,其中TOP1 準確率分別提高了3.94%、2.3%,Top5 準確率分別提高了0.66%、1.97%。在模型大小和參數量方面,本文提出的算法訓練的模型介于MobileNetV1 和MobileNetV2 兩者之間,這也為模型的部署提供了很好的基礎。圖6 給出了3 種輕量化深度遷移神經網絡識別結果的混淆矩陣,從圖中可以看出,相比于其他元器件,3 種模型均對插件電阻的識別率最高,其中本文提出算法的識別率為100%,而在元器件最低的識別率分布上,則表現得比較分散,這是由于這些元器件在數據庫中的數據量相對較少,現實中這些元器件的種類也較少,如貼片二極管、貼片三極管和插件電感,其中本文提出算法對元器件的最低識別率要高于MobileNetV1 和Mobile-NetV2 網絡。

圖6 輕量化網絡遷移學習識別結果的混淆矩陣

2.3.4 嵌入式系統部署

為了更好滿足邊緣端的使用,本文通過TensorFlow Lite 將模型部署在樹莓派嵌入式系統中[14-15]。TensorFlow Lite 是Google 公司開發,旨在幫助開發者在移動端或嵌入式設備上高效運行機器學習模型,并將訓練好的模型通過轉化、部署和優化,進一步提升運算速度、減少內存和顯存,其工作流程如圖7 所示。

圖7 模型部署流程圖

按此工作流程,構建基于樹莓派開發電子元器件識別系統,將經過訓練的模型保存為.h5 模型,然后將其轉換為.tflite 模型,并將其部署在樹莓派系統中,這里選用樹莓派型號為工業級CM4,??低?K 高清攝像頭,操作流程如圖8 所示。

圖8 樹莓派系統操作流程圖

實驗顯示的識別結果如圖9 所示,不難看出,在不同的環境下,通過攝像頭拍攝元器件,無論是單個元器件還是多個元器件的組合,樹莓派系統都可以準確地識別出元器件類別,而且實時性好。

圖9 樹莓派系統識別結果

3 總結

針對現代電子產品生產中電子元器件種類多,差異小的特點,提出了基于輕量化深度遷移網絡MobileNetV3 的識別方法。在傳統的MobileNet 系列模型的基礎上,通過遷移學習,將預訓練模型的參數遷移到電子元器件圖片的訓練模型MobileNetV3中,在進一步提升模型識別率的同時,解決了傳統模型所需訓練樣本多、訓練參數量大以及部署應用端困難等問題。實驗結果表明,本算法提高了識別效果,并在樹莓派系統中表現出很好的實時性。今后將進一探討本模型在移動手機端的應用研究。

猜你喜歡
元器件識別率輕量化
元器件國產化推進工作實踐探索
汽車輕量化集成制造專題主編
基于類圖像處理與向量化的大數據腳本攻擊智能檢測
基于真耳分析的助聽器配戴者言語可懂度指數與言語識別率的關系
一種輕量化自卸半掛車結構設計
一種輕量化自卸半掛車結構設計
提升高速公路MTC二次抓拍車牌識別率方案研究
裝備元器件采購質量管理與控制探討
基于DSP+FPGA的元器件焊接垂直度識別方法
高速公路機電日常維護中車牌識別率分析系統的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合