王子陽(yáng),王江濤,b,*,李飛楊
(淮北師范大學(xué)a.物理與電子信息學(xué)院;b.信息學(xué)院;安徽 淮北 235000)
永磁磁瓦是永磁直流電機(jī)的一個(gè)關(guān)鍵部件,由于永磁磁瓦可以恒定的生成磁勢(shì)源,所以主要用于代替電機(jī)中的電勵(lì)磁。并且使用磁瓦來(lái)替換電勵(lì)磁后,可以簡(jiǎn)化電機(jī)的結(jié)構(gòu),使電機(jī)的體積、質(zhì)量同樣可以變小變輕。而且相應(yīng)的材料消耗也降低了,能耗更小,電機(jī)使用起來(lái)也更加可靠,維修也比較方便。因此永磁電機(jī)在電機(jī)領(lǐng)域的比重也越來(lái)越大。而在磁瓦的生產(chǎn)過(guò)程中,工作人員需要人工的將磁瓦的正反面進(jìn)行人工的分揀裝箱。由于分揀的過(guò)程中主要依賴人工,所以工人難免會(huì)出現(xiàn)疲勞狀況,導(dǎo)致對(duì)磁瓦的正反面進(jìn)行錯(cuò)誤的區(qū)分。相應(yīng)的,人工的成本也比較高,效率卻相對(duì)低下。然而我國(guó)電機(jī)需求量逐年增大,因此對(duì)磁瓦的需求量也逐年升高,所以能夠更加高效準(zhǔn)確的對(duì)磁瓦的正反面進(jìn)行分類,并對(duì)磁瓦進(jìn)行分揀裝箱是很有必要的。因此急需一種能夠快速高效的對(duì)磁瓦正反面進(jìn)行分類的方法。
機(jī)器視覺(jué)具有成本低、速度快、非破壞性等優(yōu)點(diǎn)[1-2]。目前的圖像分類方法主要為兩類:傳統(tǒng)機(jī)器學(xué)習(xí)圖像分類算法和基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)[3]的深度學(xué)習(xí)方法。傳統(tǒng)的機(jī)器學(xué)習(xí)分類算法,主要是針對(duì)特征提取和分類器的設(shè)計(jì)兩個(gè)步驟來(lái)組合實(shí)現(xiàn)圖像的分類,常見(jiàn)的算法有支持向量機(jī)(Support Vector Machine,SVM)、K近鄰算法(K-Nearest Neighbor,KNN)[4]等。這些方法雖然可以實(shí)現(xiàn)自動(dòng)對(duì)圖像進(jìn)行分類的功能,但這些特定特征對(duì)于不同情況(如光照變化,姿態(tài)或者周圍物體變化)的圖像的適應(yīng)性較差,因此準(zhǔn)確度不能得到保證。致力于對(duì)復(fù)雜背景圖像的分類問(wèn)題提供解決方法。而深度學(xué)習(xí)技術(shù)[5-6],尤其卷積神經(jīng)網(wǎng)絡(luò)的優(yōu)勢(shì)在于能夠自動(dòng)提取學(xué)習(xí)特定的特征,對(duì)于一些特征的變化具有較強(qiáng)的適應(yīng)能力,相比于依賴人工提取特征的傳統(tǒng)方法具有更出眾的靈活度和精確度。隨著近些年的深度學(xué)習(xí)的發(fā)展,出現(xiàn)了一些優(yōu)秀的神經(jīng)網(wǎng)絡(luò),如VGGNet[7]、ResNet[8]、GoogLeNet[9]等。文獻(xiàn)[10-13]采用了不同的網(wǎng)絡(luò)進(jìn)行分類的研究。雖然這些神經(jīng)網(wǎng)絡(luò)的網(wǎng)絡(luò)模型應(yīng)用在文字、圖像處理的效果越來(lái)越好,但是相應(yīng)的體積也變的越來(lái)越大,其網(wǎng)絡(luò)的結(jié)構(gòu)也變的更加復(fù)雜。訓(xùn)練所需要的硬件設(shè)備資源也在不斷增加。并且這些深度學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)大多都只能在實(shí)驗(yàn)室的服務(wù)器等設(shè)備上運(yùn)行。移動(dòng)設(shè)備因其資源算力有限,導(dǎo)致這些復(fù)雜的網(wǎng)絡(luò)模型很難在一些移動(dòng)設(shè)備上運(yùn)行。而這些分類算法若是需要得到實(shí)際的運(yùn)用,則需要將其部署在單片機(jī)等一些設(shè)備上。因此需要采用運(yùn)算復(fù)雜度較低,并且運(yùn)行的準(zhǔn)確率相對(duì)較高的算法。MobileNet[14]屬于輕量級(jí)網(wǎng)絡(luò)的一個(gè)代表。因?yàn)镸obileNet相較ResNet、VGG網(wǎng)絡(luò)擁有更小的體積,以及更少的計(jì)算量。
以生產(chǎn)線上的磁瓦的正反面為研究對(duì)象,采集了正反兩面的磁瓦的圖像信息,提出基于輕量級(jí)的網(wǎng)絡(luò)磁瓦正反分類方法。該方法基于輕量級(jí)神經(jīng)網(wǎng)絡(luò)MoblieNet v3對(duì)磁瓦的正反面進(jìn)行分類,探究生產(chǎn)線上磁瓦正反面分類的可行性。
由于磁瓦的批量生產(chǎn)出來(lái)后會(huì)被放到傳送帶上,被人工進(jìn)行正反面的分類。為了能更加符合實(shí)際車間的場(chǎng)景,從而體現(xiàn)網(wǎng)絡(luò)的實(shí)用性。因此,我們使用的是實(shí)際的磁瓦來(lái)構(gòu)建數(shù)據(jù)集。在對(duì)圖像進(jìn)行采集的時(shí)候我們模仿人工的視角,采用單個(gè)相機(jī)以自上而下的角度進(jìn)行拍攝。并且由于不同強(qiáng)度的光線環(huán)境也會(huì)對(duì)磁瓦的分類產(chǎn)生一定的影響,而我們希望磁瓦的分類能夠在各種光照條件下也能得到比較好的分類效果。因此,在磁瓦的側(cè)邊放置一個(gè)光源,并給以不同強(qiáng)度的光照。
在模擬對(duì)傳送帶上的磁瓦進(jìn)行圖像采集時(shí),由于傳送帶上的磁瓦的個(gè)數(shù)和角度都是不確定的,所以每張圖片所采集的磁瓦的個(gè)數(shù)和角度都應(yīng)隨機(jī)的。我們以黑色實(shí)驗(yàn)臺(tái)為背景,將相機(jī)固定于實(shí)驗(yàn)臺(tái)上方30cm處,并取不同數(shù)量以及大小的磁瓦樣本隨機(jī)放置于實(shí)驗(yàn)臺(tái)上,然后對(duì)圖像進(jìn)行采集。采集到的圖像如圖1所示。
(a)采集正面圖像
然后對(duì)采集到的圖像上的每個(gè)磁瓦進(jìn)行截取,由于磁瓦的大小種類各不相同,為了使數(shù)據(jù)集的樣本盡量多樣,從而防止出現(xiàn)訓(xùn)練中過(guò)擬合的現(xiàn)象,并且保證模型魯棒性,所以在制作數(shù)據(jù)集的時(shí)候盡量做到大小不同的磁瓦的圖片數(shù)量相同,并且在不同光源下的圖片數(shù)目也應(yīng)當(dāng)相同。在制作的數(shù)據(jù)集中,一共有5988個(gè)樣本。其中正樣本為2989個(gè),負(fù)樣本為2999個(gè)。其中訓(xùn)練集為4988個(gè),其余的構(gòu)成測(cè)試集。其中一些樣本如圖2所示。
(a)正樣本
在用卷積神經(jīng)網(wǎng)絡(luò)對(duì)磁瓦正反分類時(shí),存在多種網(wǎng)絡(luò)可以選擇。例如VGG、AlexNet、ResNet等等,但這些網(wǎng)絡(luò)參數(shù)過(guò)于龐大,同時(shí)也需要耗費(fèi)巨大的計(jì)算量以及內(nèi)存,而輕量型網(wǎng)絡(luò)所需參數(shù)較小并且模型復(fù)雜度低,便于應(yīng)用到移動(dòng)端或嵌入式終端上。綜合考慮到網(wǎng)絡(luò)的實(shí)用性,所以選擇MobileNet v3作為磁瓦分類的網(wǎng)絡(luò)。其網(wǎng)絡(luò)結(jié)構(gòu)如圖3所示,首先將上述的樣本圖像經(jīng)過(guò)預(yù)處理輸入到網(wǎng)絡(luò)中,再將處理過(guò)的圖片用普通卷積進(jìn)行升維處理,然后再運(yùn)用bneck模塊(深度可分離卷積和SE注意力機(jī)制模塊結(jié)合)對(duì)圖像進(jìn)行降維。圖中彩色部分使用了bneck模塊,藍(lán)色部分深度可分離卷積卷積核大小為3x3,黃色部分深度可分離卷積核大小為5x5。最后經(jīng)過(guò)兩層卷積核大小為1x1的逐點(diǎn)卷積作為全連接層,得到磁瓦的分類結(jié)果。
圖3 MobileNet v3
在對(duì)圖像進(jìn)行分類時(shí),由于截取的磁瓦的圖像尺寸不同,所以需將數(shù)據(jù)集的圖像進(jìn)行預(yù)處理使輸入的圖像尺寸相同。其預(yù)處理流程圖如圖4所示,將圖像大小裁剪為224x224,并對(duì)其進(jìn)行0.5概率的水平翻轉(zhuǎn),最后再對(duì)圖像進(jìn)行歸一化處理。再將圖像輸入到神經(jīng)網(wǎng)絡(luò)中,這樣能加快梯度下降的速度,有利于神經(jīng)網(wǎng)絡(luò)的收斂。
圖4 樣本的預(yù)處理
在MobileNet網(wǎng)絡(luò)中,提出了深度可分離卷積(depthwise separable convolution,DSC)。標(biāo)準(zhǔn)的卷積模型如圖5所示,而使用深度可分離卷積可以極大減少網(wǎng)絡(luò)的參數(shù)以及計(jì)算量。其中深度可分離卷積主要使用了dw卷積(depthwise convolution)和pw卷積(pointwise convolution)兩個(gè)卷積結(jié)構(gòu)。其網(wǎng)絡(luò)結(jié)構(gòu)圖如圖6所示,深度可分離卷積首先對(duì)輸入圖像使用dw卷積,即將輸入圖像的每一個(gè)通道對(duì)應(yīng)使用一個(gè)卷積核,得到一個(gè)對(duì)應(yīng)的特征圖。再對(duì)dw卷積得到的特征圖使用pw卷積將輸出結(jié)合。將dw卷積和pw卷積結(jié)合的效果和標(biāo)準(zhǔn)的卷積效果相同。
圖5 標(biāo)準(zhǔn)卷積模型
圖6 深度可分離卷積模型
其中DF是指輸入特征矩陣的高和寬,DK是指卷積核的大小,M是指輸入特征矩陣的深度,N指的是輸出特征矩陣的深度。而在MobileNet網(wǎng)絡(luò)中DK為3。所以深度可分離卷積和標(biāo)準(zhǔn)卷積的計(jì)算量比值為式(1):
(1)
由式(1)可知標(biāo)準(zhǔn)卷積計(jì)算量是深度可分離卷積計(jì)算量的9倍左右。
MobileNet中的bneck模型結(jié)構(gòu)如圖7所示,位于圖3 MobileNet v3網(wǎng)絡(luò)結(jié)構(gòu)圖的彩色塊,該模塊希望模型可以自動(dòng)學(xué)習(xí)到不同channel特征的重要程度,其實(shí)現(xiàn)原理就是對(duì)于每個(gè)輸出通道,預(yù)測(cè)一個(gè)常數(shù)權(quán)重,對(duì)每個(gè)通道進(jìn)行加權(quán)。具體實(shí)現(xiàn)過(guò)程就是首先對(duì)得到的特征矩陣的每一個(gè)channel先進(jìn)行一個(gè)池化處理,然后再通過(guò)兩個(gè)全連接層得到輸出的向量。第一層的全連接層(FC)會(huì)把通道降下來(lái),然后第二層再把通道升上去,其中第一層全連接層使用的是Relu激活函數(shù),第二層使用的是H-sigmoid激活函數(shù),得到和通道數(shù)相同的C個(gè)權(quán)重,每個(gè)權(quán)重用于給對(duì)應(yīng)的一個(gè)通道進(jìn)行加權(quán)。最后使用1x1大小的卷積核進(jìn)行降維處理。
圖7 bneck結(jié)構(gòu)圖
網(wǎng)絡(luò)中使用的損失函數(shù)為交叉熵?fù)p失函數(shù)(CrossEntropy Loss),該函數(shù)為凸優(yōu)化函數(shù),便于利用梯度下降方法更新網(wǎng)絡(luò)參數(shù),從而使網(wǎng)絡(luò)收斂以便找到最優(yōu)解。其函數(shù)表達(dá)式如公式(2)所示。該損失函數(shù)為logSoftmax和NLLLoss兩個(gè)損失函數(shù)的整合,其中表示真實(shí)的分類結(jié)果。
C=-∑yilnai
(2)
交叉熵?fù)p失函數(shù)的計(jì)算公式如公式(3)所示,其中x為神經(jīng)網(wǎng)絡(luò)中輸出的類別的預(yù)測(cè)值,而class為真實(shí)的類別。
(3)
算法運(yùn)用的框架為PyTorch,操作系統(tǒng)為Windows10,使用的python版本為3.7.4。其中實(shí)驗(yàn)環(huán)境的配置為:Inter(R)Core(TM)i5-9600KF處理器,內(nèi)存為16GB,顯卡為NVIDIA GeForce RTX 2060 super 8GB顯存版本。
實(shí)驗(yàn)在上述采集的磁瓦數(shù)據(jù)集上對(duì)磁瓦分類的性能進(jìn)行分析,實(shí)驗(yàn)采用統(tǒng)一的超參數(shù),其中bachsize為32,學(xué)習(xí)率設(shè)為0.001,epoch為200。為了對(duì)比實(shí)驗(yàn)的效果,同時(shí)采用了ResNet18,VGG16,GoogLeNet網(wǎng)絡(luò)參與對(duì)比,訓(xùn)練使用官方預(yù)訓(xùn)練權(quán)重。圖8展示了不同的網(wǎng)絡(luò)模型下對(duì)磁瓦進(jìn)行分類的訓(xùn)練過(guò)程中,損失函數(shù)伴隨訓(xùn)練步數(shù)(epoch)的變化的曲線圖。可以看出,這四種不同的網(wǎng)絡(luò)最終都能夠達(dá)到收斂。但ResNet18,MobileNet v3相較VGG16和GoogLeNet具有更好的收斂效果,MobileNet v3和ResNet18的loss曲線大致相同,但相較而言MobileNet v3的loss的下降速度更快。
圖8 不同網(wǎng)絡(luò)的loss曲線
在訓(xùn)練過(guò)程中,每次訓(xùn)練網(wǎng)絡(luò)都會(huì)保存測(cè)試集中準(zhǔn)確率最好的權(quán)重參數(shù),作為下一次訓(xùn)練的網(wǎng)絡(luò)參數(shù)。在對(duì)上述四個(gè)不同的網(wǎng)絡(luò)模型進(jìn)行磁瓦分類的性能對(duì)比時(shí),發(fā)現(xiàn)這四種網(wǎng)絡(luò)都能得到超過(guò)95%的準(zhǔn)確率,可以有效的滿足分類任務(wù)。訓(xùn)練結(jié)果如表1所示。其中VGG16和GoogLeNet兩個(gè)網(wǎng)絡(luò)的準(zhǔn)確率相對(duì)較低,而MobileNet v3和ResNet18兩個(gè)網(wǎng)絡(luò)則都超過(guò)了99%的準(zhǔn)確率。并且在訓(xùn)練時(shí),我們采用預(yù)訓(xùn)練權(quán)重,并凍結(jié)參數(shù)僅對(duì)最后的全連接層進(jìn)行訓(xùn)練,MobileNet v3網(wǎng)絡(luò)訓(xùn)練的結(jié)果和ResNet18結(jié)果相差0.4%,但MobileNet v3的訓(xùn)練所需參數(shù)更少,速度較ResNet18提升了18.3%,更加有利于實(shí)現(xiàn)實(shí)時(shí)的分類任務(wù)。同時(shí)我們又取消對(duì)MobileNet v3參數(shù)的凍結(jié),對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練。在訓(xùn)練超參數(shù)不變的情況下,對(duì)網(wǎng)絡(luò)分別進(jìn)行訓(xùn)練并保存最優(yōu)結(jié)果的權(quán)重參數(shù)。在對(duì)整個(gè)網(wǎng)絡(luò)進(jìn)行訓(xùn)練時(shí),在訓(xùn)練時(shí)間和ResNet18大致相同的情況下,分類結(jié)果取得了最高99.6%的準(zhǔn)確率。
表1 不同網(wǎng)絡(luò)結(jié)構(gòu)下的圖像分類
同時(shí)為了驗(yàn)證MobileNet v3網(wǎng)絡(luò)在嵌入式終端使用的可行性,我們將該網(wǎng)絡(luò)的訓(xùn)練模型部署到CPU設(shè)備中進(jìn)行訓(xùn)練。對(duì)比結(jié)果如表2所示,在預(yù)訓(xùn)練權(quán)重大小不變,超參數(shù)不變的情況下,使用CPU進(jìn)行訓(xùn)練。其運(yùn)行時(shí)間為31.41ms,準(zhǔn)確率基本相同。表明該模型在不同的硬件設(shè)備中都具有很好的魯棒性。
表2 不同硬件設(shè)備下MobileNet v3分類效果
針對(duì)工業(yè)生產(chǎn)中所需分類問(wèn)題,對(duì)使用輕量型網(wǎng)絡(luò)對(duì)圖像進(jìn)行分類展開(kāi)研究,首先將制作的數(shù)據(jù)集圖像進(jìn)行預(yù)處理,然后運(yùn)用MobileNet網(wǎng)絡(luò)對(duì)磁瓦進(jìn)行分類實(shí)驗(yàn)。該實(shí)驗(yàn)結(jié)果表明,使用MobileNet網(wǎng)絡(luò)對(duì)磁瓦進(jìn)行分類可以取得最高99.6%的準(zhǔn)確率,相較VGG16,GoogLeNet等網(wǎng)絡(luò)在速度和準(zhǔn)確率上都有明顯提升,能夠有效的實(shí)現(xiàn)工廠中對(duì)磁瓦的分類,驗(yàn)證了基于深度學(xué)習(xí)對(duì)分類實(shí)際應(yīng)用的可行性。
佳木斯大學(xué)學(xué)報(bào)(自然科學(xué)版)2021年6期