陳 超 ,吳 斌
(1.西南科技大學(xué) 信息工程學(xué)院,四川 綿陽 621010;2.四川省高等學(xué)校數(shù)值仿真重點實驗室,四川 內(nèi)江 641000)
圖像識別的應(yīng)用在現(xiàn)代社會的應(yīng)用越發(fā)廣泛,其重要程度越發(fā)明顯。圖像識別是計算機(jī)視覺中的一個重要環(huán)節(jié),屬于有監(jiān)督學(xué)習(xí)類別,即在圖片集或者視頻中快速識別出其類別。近些年來一直是研究熱點。傳統(tǒng)的圖像識別的方法是基于人工設(shè)置的一些特征進(jìn)行匹配,然而識別速度較低,且對于多目標(biāo),遮擋,擁擠等場景中的目標(biāo)識別效果很差。VGG[1]是牛津大學(xué)的Visual Geometry Group的組提出的。該網(wǎng)絡(luò)是在ILSVRC 2014上的相關(guān)工作,主要工作是證明了增加網(wǎng)絡(luò)的深度能夠在一定程度上影響網(wǎng)絡(luò)最終的性能。VGG有兩種結(jié)構(gòu),分別是VGG16和VGG19,兩者并沒有本質(zhì)上的區(qū)別,只是網(wǎng)絡(luò)深度不一樣。使用了3個3×3卷積核來代替7×7卷積核,使用了2個3×3卷積核來代替5×5卷積核,這樣做的主要目的是在保證具有相同感知野的條件下,提升了網(wǎng)絡(luò)的深度,在一定程度上提升了神經(jīng)網(wǎng)絡(luò)的效果。在VGG[1]將ImageNet的top-1分類準(zhǔn)確率提高到70%以上后,在使卷積高性能變得復(fù)雜方面有了很多創(chuàng)新。此時提升網(wǎng)絡(luò)性能最直接的辦法就是增加網(wǎng)絡(luò)深度會引發(fā)諸多問題[2]:比如網(wǎng)絡(luò)層數(shù)太多,一般計算機(jī)或者手持設(shè)備無法勝任,因為網(wǎng)絡(luò)越深、參數(shù)越多,計算復(fù)雜度越大,難以應(yīng)用;增加網(wǎng)絡(luò)深度同時引入全連接變成稀疏連接來減少參數(shù)量。但在實現(xiàn)時計算所消耗的時間卻很難減少。Google研究人員提出了Inception的方法[2],如當(dāng)代GoogLeNet[2]和后來的Inception模型[3-5]采用了精心設(shè)計的多分支架構(gòu),Inception模塊中并列提供多種卷積核的操作,網(wǎng)絡(luò)在訓(xùn)練的過程中通過調(diào)節(jié)參數(shù)自己去選擇使用,同時,由于網(wǎng)絡(luò)中都需要池化操作,所以此處也把池化層并列加入網(wǎng)絡(luò)中,使得網(wǎng)絡(luò)的寬度得到了前所未有的擴(kuò)展,因而得到了更為全面的特征提取網(wǎng)絡(luò)結(jié)構(gòu),效果明顯好于VGG。何凱明的ResNet[6]提出了簡化的殘差架構(gòu),在寬度和深度上都同時擴(kuò)展了網(wǎng)絡(luò)結(jié)構(gòu),尤其是增加了恒等連接,使得網(wǎng)絡(luò)提取的特征始終不低于淺層特征,保證了網(wǎng)絡(luò)可以加深加寬,在當(dāng)年的圖像識別,圖像檢測上取得了壓倒式的成就。DenseNet[7]通過將低層與大量的高層連接起來,使得拓?fù)浣Y(jié)構(gòu)更加復(fù)雜,各層之間的特征進(jìn)行了融合,保證了特征的豐富性。除了實現(xiàn)上的不便外,復(fù)雜的模型可能會降低并行度[8],從而降低推理速度。提出了一種初始化方法[9]來訓(xùn)練極深普通卷積網(wǎng)絡(luò),保證了網(wǎng)絡(luò)的魯棒性。最近的工作[10-11]結(jié)合了幾種技術(shù),包括Leaky_ReLU和max-norm等操作,保證了網(wǎng)絡(luò)特征圖提取的自然過渡,使得提取的特征更為真實。然而,Resnet 50網(wǎng)絡(luò)不能提取重疊目標(biāo)、擁擠目標(biāo)、小目標(biāo)的某些特征。相反,改進(jìn)算法的目標(biāo)是建立一個具有合理深度和良好的精度-速度權(quán)衡的優(yōu)秀模型,它只涉及最常見的組件(例如:卷積,批歸一化和激活函數(shù))。Resnet50結(jié)構(gòu)僅由3×3卷積、1×1卷積和sigmod激活函數(shù)的堆棧組成??梢匀〉酶玫男Ч芙隁埐钅K、1×1卷積[2-6],[11]等思想,在第一個殘差模塊后再增加了1×1短接分支來提取更多的原始特征和調(diào)整與之深層匹配的通道數(shù)。以上網(wǎng)絡(luò)中各層次之間的特征圖沒有信息的交互[13-15],于是引入convolutional block attention module (CBAM)表示卷積模塊的注意力機(jī)制模塊,是一種結(jié)合了空間(spatial)和通道(channel)的注意力機(jī)制模塊[16-19]。但是現(xiàn)實圖像中的特征彼此之間有位置,領(lǐng)域等信息,CBAM提取空間注意力是用局部卷積,只能捕獲局部的信息,無法獲得長程依賴,基于此作者提出了CA,充分利用了位置信息,而且控制了計算開銷[20]。充分利用 channel 和 spatial 之間的關(guān)系,有人提出提出了shuffle attention注意力機(jī)制,首先將輸入的特征分為g組,然后每一組的特征進(jìn)行split,分成兩個分支,分別計算 channel attention 和 spatial attention,兩種attention 都使用全連接結(jié)合sigmoid的方法計算[20]。受多種注意力機(jī)制的啟發(fā),在CNN的第一個殘差塊層特征之后引入了空間_通道注意力機(jī)制,并修改了激活函數(shù),從而增強(qiáng)了特征的表示,貢獻(xiàn)總結(jié)如下。
首先,為融合更多的原始特征,在7×7卷積特征FeatureMap1后添加一個1×1卷積殘差,提取特征FeatureMap2。
其次,在Resnet50的第一個殘差塊層特征之后,嵌入CBAM模塊,使得CNN獲得交互特征FeatureMap3。繼而綜合融合3個特征,即:
(FeatureMap1+FeatureMap2+FeatureMap3)。
第三,在CBAM模塊中,為了融合顯著特征和緩解梯度消失,將CBAM模塊中的激活函數(shù)ReLU修改為激活函數(shù)ReLU6。
最后,在FashionMNIST數(shù)據(jù)集和Cifar10數(shù)據(jù)集上進(jìn)行了實驗,改進(jìn)后的Resnet50達(dá)到了較好的識別精度和檢測速度,用實驗結(jié)果展示改進(jìn)的Resnet50在分類方面的有效性和效率。
Resnet50將靠前若干層的某一層數(shù)據(jù)輸出直接跳過多層引入到后面數(shù)據(jù)層的輸入部分。保證后面的特征層的特征圖含有的信息至少不會比前一層差,因此是最常用的殘差結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),這種深度殘差網(wǎng)絡(luò)的設(shè)計就很好地克服由于網(wǎng)絡(luò)深度加深而產(chǎn)生的學(xué)習(xí)效率變低與準(zhǔn)確率無法有效提升的問題[6]。Resnet50比起Resnet34來說,深度更深,提取的特征更優(yōu)質(zhì)。比起Resnet101,Resnet152深度更淺,但是效果相差不是很大。根據(jù)FashionMNIST數(shù)據(jù)集和Cifar10數(shù)據(jù)集的特性以及訓(xùn)練模型的實際GPU性能,本文選擇對Resnet50作為基礎(chǔ)算法進(jìn)行改進(jìn)。為了更好地識別這兩個數(shù)據(jù)集中的目標(biāo),首先要保證淺層特征的完整,然后進(jìn)行多特征的融合,最后嵌入空間_通道注意力機(jī)制模塊(CBAM)進(jìn)行多層特征之間的信息交互。于是在此進(jìn)行相關(guān)模塊的介紹。
因為淺層卷積提取最淺層的特征,也是最真實,最能反映圖像的底層特征,所以就要更好地保留原始特征,為后期的關(guān)鍵特征提取,提供的良好的特征層。此時由何凱明提出的殘差網(wǎng)絡(luò)很好的解決了梯度消失的問題,結(jié)構(gòu)如圖1所示[6,11]。
圖1 殘差結(jié)構(gòu)
受近年殘差模塊、1×1卷積[2-6,11]等思想激發(fā),在殘差網(wǎng)絡(luò)的第一個大模塊之后增加一個1×1短接分支來保留原始特征,也避免了梯度消失。添加1×1短接分支后的Resnet50結(jié)構(gòu)如圖2所示。
圖2 添加短接分支的Resnet50結(jié)構(gòu)
為了加強(qiáng)各空間特征層之間的相互作用。對圖像中的空間域信息做相應(yīng)的空間變換,從而提取出關(guān)鍵信息??臻g注意模塊強(qiáng)調(diào)空間像素的重要程度;同樣每個通道上的信號添加一個權(quán)重,以表示通道與關(guān)鍵信息的相關(guān)性。權(quán)重越大,相關(guān)性越高。生成channel的掩碼并得分。代表作有《SENET》和《Channel Attention Module》。注意機(jī)制表示特征數(shù)據(jù)中各部分的臨界程度,并對其進(jìn)行學(xué)習(xí)和訓(xùn)練。注意機(jī)制的本質(zhì)是利用相關(guān)的FeatureMap進(jìn)行權(quán)值學(xué)習(xí),然后將學(xué)習(xí)權(quán)值應(yīng)用于原始FeatureMap進(jìn)行加權(quán)求和,得到增強(qiáng)的FeatureMap。根據(jù)注意域的不同,CV中的注意機(jī)制可分為空間域和通道域兩類,本文采用二者結(jié)合后的CBAM注意機(jī)制進(jìn)行提取特征,具體如圖3所示。
圖3 兩個注意力模塊圖
CBAM包含CAM(Channel Attention Module)和SAM(Spartial Attention Module)兩個子模塊,分別進(jìn)行通道和空間上的注意。能夠節(jié)約參數(shù)和計算力,同時保證了其能夠做為即插即用的模塊集成到現(xiàn)有的網(wǎng)絡(luò)架構(gòu)中去。因為小目標(biāo)本來像素就很少,假如多次卷積與池化會丟失大量的信息,此時通道注意力模塊就可以提取更為顯著的特征,主要表現(xiàn)在:通道維度不變,壓縮空間維度。該模塊關(guān)注輸入圖片中有意義的信息,保證后期的識別效果更佳??臻g注意力機(jī)制更加關(guān)注空間層面更需要注意的地方。二者對應(yīng)的注意力機(jī)制通過神經(jīng)網(wǎng)絡(luò)的操作生成一個掩碼,然后在掩碼上給出評價的得分,然后指導(dǎo)后期卷積提取特征的側(cè)重點。
CBAM是一個輕量級的通用模塊,可以集成到任何經(jīng)典的CNN骨干網(wǎng)中,可以利用骨干網(wǎng)進(jìn)行端到端的訓(xùn)練。CBAM模塊的主要結(jié)構(gòu)如圖3所示,CBAM中通道注意力機(jī)制主要涉及的公式如式(1)所示。
Mc(F)=σ(MLP(AvgPool(F))+MLP(MaxPool(F)))=
(1)
其中:W0∈C/r×C,W1∈C×C/r。
將輸入的特征圖,分別經(jīng)過全局最大池化和全局平均池化,然后分別經(jīng)過MLP。將MLP輸出的特征進(jìn)行基于點加操作,再經(jīng)過sigmoid激活操作,生成最終的channel attention featuremap與輸入的特征圖做點乘操作,生成spatial attention模塊需要的輸入特征。
CBAM中空間注意力機(jī)制主要涉及的公式,如式(2)所示,其中,σ為sigmoid操作,7×7表示卷積核的大小,7×7的卷積核比3×3的卷積核效果更好,可以提取更多的空間信息。
Ms(F)=σ(f7×7([AvgPool(F);MaxPool(F)]))=
(2)
在第一卷積模塊層layer1(即:BottleNeck Block *3)后添加了通道間注意機(jī)制和空間注意機(jī)制來融合通道和空間的重要顯著信息,如圖6所示。
為了更好地保留原始特征,替換了原來的ReLU激活函數(shù)。因為sigmoid函數(shù)比ReLU6計算昂貴得多;ReLU6比ReLU激活函數(shù)也有一個很好的緩沖,可防止梯度消失。將ReLU6函數(shù)作為激活函數(shù),可以很好的保留圖像的原始特征。常用激活函數(shù)及其導(dǎo)數(shù)曲線圖如圖4~5所示(因為激活函數(shù)曲線有重疊的部分,為顯示所有函數(shù),在此把ReLU,ReLU6,Swish函數(shù)橫坐標(biāo)平移了1個像素)。
圖4 4種常用激活函數(shù)
圖5 4個激活函數(shù)對應(yīng)的導(dǎo)數(shù)
從圖4、圖5可以看出,ReLU6比ReLU激活函數(shù)有一個很好的緩沖,更符合特征的變換過程。
結(jié)合以上3個有效的模塊,在此設(shè)計了一個改進(jìn)的Resnet50。將第一個7×7卷積中的激活函數(shù)修改為ReLU6函數(shù);再在第一個大型殘差塊后,添加了一個1×1卷積來融合顯著特征。在Resnet50的第一層特征之后,再添加CBAM,最后再與原始的第一個大模塊的特征圖進(jìn)行大融合,可以獲得更多的判別特征。CBAM是一個輕量級的通用模塊,可直接放在CNN骨干網(wǎng)任意層,但需保證輸出通道數(shù)和下一層的特征圖通道數(shù)匹配,為此添加通道間注意機(jī)制和空間注意機(jī)制,改進(jìn)后Resnet50的框架,如圖6所示。
圖6 改進(jìn)算法的流程圖
改進(jìn)后的算法融合了三路特征(CBAM特征、前一層特征Identity,新增的1×1卷積特征),這樣加強(qiáng)了淺層和深層特征的交互信息,很好的保留了顯著特征,也避免了梯度消失。后面依次保留Resnet50網(wǎng)絡(luò)原來的三個大型卷積模塊。最后通過平均池化和十分類的Softmax進(jìn)行物體的識別,輸出對應(yīng)的類別和概率。
3.1.1 FashionMNIST數(shù)據(jù)集
為了驗證算法的識別速度和識別精度,在FashionMNIST數(shù)據(jù)集上做了對比性實驗,F(xiàn)ashion-MNIST樣品圖片如圖7所示。
圖7 FashionMNIST的樣本圖片
與MNIST數(shù)據(jù)集相比,F(xiàn)ashionMNIST數(shù)據(jù)集有以下差異:
1)FashionMNIST的圖像尺寸也為28×28,但特征明顯多于MNIST。
2)與MNIST數(shù)據(jù)集相比,F(xiàn)ashionMNIST包含現(xiàn)實世界中的真實物體,不僅有大量的噪聲,而且物體的比例和特征也不同,給識別帶來很大的困難。
3)60 000張圖片用于訓(xùn)練,10 000張用于測試。模型的規(guī)模擴(kuò)大了。
4)同時FashionMNIST不再是抽象符號,而是更加具象化的人類必需品(服裝),共10大類,具體如表1所示。
表1 FashionMNIST對應(yīng)類別
綜上所述,對Fashion-MNIST數(shù)據(jù)集進(jìn)行識別要難得多,所以正好用來檢驗改進(jìn)算法的有效性。
3.1.2 Cifar10數(shù)據(jù)集
Cifar10是由亞歷克斯·克里日夫斯基和伊利亞·薩斯克弗整理的一個小數(shù)據(jù)集,用于識別普遍存在的物體。共有10種RGB顏色圖像:飛機(jī)、汽車、鳥、貓、鹿、狗、青蛙、馬、船、卡車。圖像大小為32×32,數(shù)據(jù)集包括50 000訓(xùn)練圖像和10 000個測試圖像。Cifar10的示例圖片如圖8所示。
圖8 Cifar10數(shù)據(jù)集中的樣本圖像
與MNIST數(shù)據(jù)集相比,Cifar10有以下區(qū)別:Cifar10是一個三通道的彩色RGB圖像,而MNIST是一個灰度圖像。Cifar10的圖像尺寸為32×32,而MNIST的圖像尺寸為28×28,略大于MNIST。與手寫字符相比,Cifar10包含現(xiàn)實世界中的真實物體,不僅噪聲大,而且物體的比例和特征不同,識別存在很大困難,正好可用來檢驗改進(jìn)算法的優(yōu)劣。
實驗環(huán)境為百度AI Studio云計算平臺,具體參數(shù)如下,CPU:4核,內(nèi)存:32 GB;GPU:V100 32 GB;硬盤:100 GB;編程語言:python 3.7;框架:Paddle Paddle2.0.2。
在此選擇Resnet50作為模型的基礎(chǔ)網(wǎng)絡(luò)架構(gòu)。通過對FashionMNIST做簡單的預(yù)處理,主要包括:隨機(jī)調(diào)整裁剪,Color Jitter,隨機(jī)水平翻轉(zhuǎn),Normalize等操作,不使用過多的數(shù)據(jù)增強(qiáng),主要更能體現(xiàn)改進(jìn)算法的魯棒性和通用性。
本次在FashionMNIST和Cifar10數(shù)據(jù)集上分別訓(xùn)練了90輪和100輪,即:epoch = 90(100),bitchsize =128,base_lr=1e-2,boundaries= [60,70],wamup_steps = 2,momentum= 0.9,weight_ decay = 5e-3,延遲學(xué)習(xí)率learning_rate = paddle.optimiz er.lr. piece wise Decay(boundaries = boundaries,values = values),學(xué)習(xí)率learning_ rate = paddle.optimizer.lr.Linear Warmup.paddle.Optimizer。優(yōu)化方法為Adam,損失函數(shù)設(shè)置為交叉熵CrossEntropyLoss,每輪評價檢驗一次:eval_ freq=1。
最常用的分類問題使用的是交叉熵?fù)p失,計算如式(3)所示:
(3)
正確率(acc)是指使用測試集正確分類的記錄占分類記錄總數(shù)的比例,計算如式(4)所示:
(4)
其中:TP表示正確分類的記錄數(shù),F(xiàn)P表示錯誤分類的測試數(shù)據(jù)數(shù)。ImageNet大約有1 000個類別,當(dāng)模型預(yù)測某一張圖片時,它會給出概率從高到低的1 000個類別排名。所謂top-1 Accuracy是指排名中第一類與實際結(jié)果一致的正確率。top-5 Accuracy指在前5個類別中包含實際結(jié)果的準(zhǔn)確性。在此加載在ImageNet數(shù)據(jù)集上的預(yù)訓(xùn)練模型。
時間復(fù)雜度就是模型的運算次數(shù),可用FLOPs衡量,也就是浮點運算次數(shù)(Floating-point Operations),卷積網(wǎng)絡(luò)的時間復(fù)雜度如式(5)所示。
(5)
D是神經(jīng)網(wǎng)絡(luò)所具有的卷積層數(shù),也即網(wǎng)絡(luò)的深度。d表示神經(jīng)網(wǎng)絡(luò)第d個卷積層;Cd神經(jīng)網(wǎng)絡(luò)第d個卷積層的輸出通道數(shù)Cout,也即該層的卷積核個數(shù)。對于第d個卷積層而言,其輸入通道數(shù)Cin,就是第d-1個卷積層的輸出通道數(shù)。
空間復(fù)雜度嚴(yán)格來講包括兩部分:總參數(shù)量+各層輸出特征圖。參數(shù)量:模型所有帶參數(shù)的層的權(quán)重參數(shù)總量;特征圖:模型在實時運行過程中每層所計算出的輸出特征圖大小,具體如式(6)所示。
(6)
總參數(shù)量只與卷積核的尺寸K、通道數(shù)C、層數(shù)D相關(guān),而與輸入數(shù)據(jù)的大小無關(guān)。
輸出特征圖的空間占用比較容易,就是其空間尺寸M2和通道數(shù)C的連乘。增加了1×1卷積知識常數(shù)級別的復(fù)雜度,但保證了梯度始終不消失,為保證后期的關(guān)鍵特征保留做出了準(zhǔn)備。時間復(fù)雜度決定了模型的訓(xùn)練/預(yù)測時間。如果復(fù)雜度過高,則會導(dǎo)致模型訓(xùn)練和預(yù)測耗費大量時間,既無法快速的驗證想法和改善模型,也無法做到快速的預(yù)測。本輪著重在時間復(fù)雜度和空間復(fù)雜度、識別準(zhǔn)確度、檢測速度等指標(biāo)之間找到一個折中的臨界點。即:時間復(fù)雜度和空間復(fù)雜度增加的成本,可以使用識別速度和精度的提升。
3.5.1 FashionMNIST數(shù)據(jù)集的實驗結(jié)果
為表示簡便,以此使用代號如下。a表示Resnet50網(wǎng)絡(luò);b表示Resnet50在第一個大模塊后增加一個CBAM模塊的網(wǎng)絡(luò);c表示在Resnet50網(wǎng)絡(luò)只增加1×1短接分支;d表示Resnet50網(wǎng)絡(luò)只增加了1個CBAM模塊,同時也增加了1×1的短接分支,修改了ReLU6激活函數(shù)的CBAM模塊。FashionMNIST數(shù)據(jù)集上檢驗的損失如圖9所示。
圖9 FashionMNIST數(shù)據(jù)集上檢驗損失
在迭代的eval過程中,可以看到改進(jìn)后的Resnet50對應(yīng)的損失在不斷下降,沒有反彈現(xiàn)象,且收斂速度比其他4種算法都快。優(yōu)勢就很好的體現(xiàn)出來了,可以在一些手持設(shè)備或者野外監(jiān)控設(shè)備上得到更好的應(yīng)用??稍趓esnet 50網(wǎng)絡(luò)中增加了1×1的短接分支后,增加的恒等映射可以保證以后提取的特征總是在當(dāng)前最好的特征圖基礎(chǔ)上提取的,實驗結(jié)果也證實增加了一個恒等分支后確實提取了更多的原始特征,保證了算法的魯棒性和收斂性。改進(jìn)后的算法對應(yīng)的實驗評價指標(biāo)之損失是最先趨于收斂的,在后期也是較穩(wěn)定的。
同時,為了切實比較改進(jìn)后算法對于FashionMNIST數(shù)據(jù)集較為適用,選擇國際上公認(rèn)的排名第一的和排名前五的類別來評價算法的優(yōu)劣,在此展現(xiàn)了準(zhǔn)確率top1和top5曲線的實際效果,如圖10~11所示。
圖10 檢驗的top1準(zhǔn)確度
圖11 檢驗的top5準(zhǔn)確度
在迭代的eval過程中,改進(jìn)后Resnet50的acc_top1和acc_top5繼續(xù)以相對穩(wěn)定的趨勢上升。它的精度超過了Resnet 50,Resnet50_ CBAM等算法。模型的參數(shù)決定了數(shù)量空間復(fù)雜度,具體來說還分析了權(quán)重等參數(shù)、浮點計算量等相關(guān)參數(shù)詳見表2。
表2 4種算法的相關(guān)參數(shù)比較
由表2可以看出,改進(jìn)后的模型的訓(xùn)練和評估時間減少了2分鐘。相關(guān)參數(shù)僅增加4.8%,F(xiàn)LOPs僅增加2%。實際準(zhǔn)確率和檢測速度如表3所示。
表3 4種算法的比較結(jié)果
其中,比起Resnet50,acc_top1的準(zhǔn)確率提高了約4.3%,但批量(batch=128)訓(xùn)練和測試時間分別只增加2 ms和3 ms。即使與先進(jìn)的模型如Res-net50_CBAM相比,準(zhǔn)確性和速度都有優(yōu)勢。在處理圖像識別時,可提高識別速度。
3.5.2 Cifar10數(shù)據(jù)集的實驗結(jié)果
為了提高Cifar10的實際效果,將圖像歸一化為32×32,修改了部分實驗參數(shù)bitchSize=256,訓(xùn)練輪數(shù)epoch=100,shuffle=True,Drop_last=True,Cifar10的損失值如圖12所示。
圖12 Cifar10檢驗損失
在迭代過程中,可以看出,與Resnet50相對應(yīng)的損失持續(xù)下降,收斂速度比其他4種算法都快。通過識別度觀察實際效果,如圖13和圖14。
圖13 Cifar10檢驗top1的準(zhǔn)確度
圖14 Cifar10檢驗top5的準(zhǔn)確度
在迭代的過程中,Resnet50的acc_top1和acc_ top5繼續(xù)以相對穩(wěn)定的趨勢上升。它接近了Resnet 50的精度,并且明顯優(yōu)于其他3種算法,因為訓(xùn)練時長減短了。在精度方面,它明顯優(yōu)于另一個Resnet 50。同時分析了對比效果的參數(shù)數(shù)量、計算等方面。具體詳見表4。為表示的簡便,在此假設(shè):(a:Resnet50,b:Resnet 50_ CBAM,c:Resnet50 _ 1mul1,d:Our Resnet50)。
從表4中可以看到,改進(jìn)后的算法與經(jīng)典的Resnet50模型相比,效果不理想。而僅僅增加1×1卷積的模型在Cifar10數(shù)據(jù)集上訓(xùn)練的時間有所增加,PARAM參數(shù)是最小的,F(xiàn)LOPs稍微增加了。但是仍然體現(xiàn)出1×1卷積的明顯作用,即從深度神經(jīng)網(wǎng)絡(luò)的淺層特征中提取了原始的特征,可以促進(jìn)深層網(wǎng)絡(luò)特征之間的信息交互,最終完成多層特征的融合,保證最終多目標(biāo)的實際識別效果,本次實驗的最終的acc_ top1和acc_ top5 精度和檢測速度詳見表5。
表4 Cifar10數(shù)據(jù)集的訓(xùn)練模型相關(guān)參數(shù)大小
表5 4種算法訓(xùn)練Cifar10’數(shù)據(jù)集的對比結(jié)果
從表5中可以看到,與經(jīng)典的Resnet50模型相比,而僅僅增加1×1卷積的模型在Cifar10數(shù)據(jù)集上,達(dá)到了超過85.77%的acc_top1精度。運算量減少的同時,還提高了acc_top1的識別準(zhǔn)確度0.3%。
為了更好地識別多目標(biāo),首先,在第一個卷積殘差塊layer1后增加一個1×1的短接分支盡可能多的保留原始特征,保證了淺層特征的完整;然后與layer1特征進(jìn)行融合,進(jìn)行了多特征的融合;最后再嵌入一個修改激活函數(shù)ReLU6的空間_通道注意力機(jī)制模塊(CBAM),從而增強(qiáng)特征圖的特征表達(dá)能力。對比實驗表明在FashionMNIST數(shù)據(jù)集和Cifar10數(shù)據(jù)集上準(zhǔn)確率有一定的提高,同時也保持良好的檢測速度。在未來,可能會對新的骨干網(wǎng)絡(luò)進(jìn)行修改以提取更好的特征,或者對損失函數(shù)進(jìn)行修改以找到最優(yōu)值。在未來可能會在引入新的注意力機(jī)制,新的激活函數(shù)、優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu)等來改進(jìn)殘差深度網(wǎng)絡(luò),保證當(dāng)前空間復(fù)雜度和時間復(fù)雜度的基礎(chǔ)上,類別識別準(zhǔn)確度方面還能有一定的提高。