張 洋,岳 峻,賈世祥,李振波,盛國瑞
1.魯東大學信息與電氣工程學院,山東 煙臺 264025 2.中國農(nóng)業(yè)大學信息與電氣工程學院,北京 100083
物體識別是計算機視覺的重要組成部分,在人機交互中具有重要意義。目前卷積神經(jīng)網(wǎng)絡(convolutional neural network,CNN)在物體識別方面取得突破性進展,逐漸應用于計算機視覺[1]和語言處理[2]等領(lǐng)域,但在海洋領(lǐng)域的研究還很少見。海洋貝類作為農(nóng)業(yè)經(jīng)濟的重要組成部分,種類繁多,特點復雜,甚至某些貝類形態(tài)高度相似。故將CNN運用到海洋貝類圖像識別領(lǐng)域,開展對形態(tài)相似的海洋貝類圖像識別研究,讓機器視覺代替人眼了解貝類不同類別的差異。
貝類分類方法方面。國內(nèi)的研究技術(shù)較為落后,傳統(tǒng)貝類分類方法是基于分子生物技術(shù)從基因角度進行區(qū)分[3],識別的貝類種類少且操作復雜。國外逐漸將復雜神經(jīng)網(wǎng)絡應用到貝類檢測中,Li等[4]在MobileNet-v2-SSD框架的基礎(chǔ)上,提出一種使用殘差注意機制的貝類物體檢測模型。當前,國內(nèi)外并沒有完整的貝類識別系統(tǒng),雖然上述實驗對基于機器視覺的貝類分類研究具有一定促進作用,但大多數(shù)適用于平滑貝殼且識別的貝類種類少。由于某些貝類形狀的相似性或顏色的相似性,以及各類樣本分布不均衡,對貝類的分類識別造成一定的難度。
CNN具有無效的濾波器,即對輸出結(jié)果精度影響很小的濾波器。所以裁剪某些無效濾波器可以加快CNN的學習速度,而不會影響識別性能。因此許多學者開始研究如何確定不重要的濾波器[5],或者如何有效地去除性能不可容忍的濾波器[6]。不少學者通過設(shè)計有效的卷積塊[7]或修剪不重要的網(wǎng)絡連接[8]來減少CNN的特征冗余。但是,這些工作主要關(guān)注減小網(wǎng)絡規(guī)模,并不能實現(xiàn)最佳的識別精度和速度權(quán)衡。因此,在裁剪一些網(wǎng)絡連接信息時,應考慮找回誤刪的信息,綜合考慮網(wǎng)絡識別的精度與速度。為了滿足網(wǎng)絡識別精度與速度的動態(tài)約束,2019年,Yu等[9]將不同的復雜性整合到一個網(wǎng)絡中,提出了可切換的批量標準化以進行神經(jīng)網(wǎng)絡的瘦身訓練;Yu等[10]又提出調(diào)整運行網(wǎng)絡的寬度,以實現(xiàn)識別精度與速度的折衷。2020年,Cai等[11]提出了一種從訓練過的大型網(wǎng)絡中微調(diào)子網(wǎng)絡的方法;Yang等[12]強調(diào)同時考慮網(wǎng)絡寬度和輸入分辨率對有效網(wǎng)絡設(shè)計的重要性;Zhang等[13]提出了Resnest網(wǎng)絡模型,模型采用跨通道的注意力機制,以提取所要識別圖像的有用特征,有利于提高模型的識別準確率,與本文要解決的圖像特征相似的貝類識別問題不謀而合,因此選擇Resnest網(wǎng)絡作為本工作的基線網(wǎng)絡。
很多貝類圖片特征具有高相似度且各類樣本不均衡的特點,使得CNN直接應用于貝類識別上效果不佳,識別準確率較低,且計算量大。為了提升貝類分類準確率并適當減小分類模型復雜度,本工作創(chuàng)新提出了一種濾波器信息度量與特征選擇方法,抑制貝類特征之間的相關(guān)性,更關(guān)注正交特征,捕獲網(wǎng)絡激活空間中的不同方向;提出一種包含正則化項和可變損失項的新貝類分類目標函數(shù),控制各類別樣本之間對總損失的共享權(quán)重,平衡樣本分類難度。
通過衡量濾波器的信息重要性和層中濾波器間的正交性判斷濾波器是否有效,進而進行特征選擇。因此針對高相似度貝類分類問題,提出輸出熵度量方法和正交性度量方法分別度量濾波器的信息重要性和層中濾波器間的正交性。
輸出熵度量方法方面,提出了一種輸出熵的度量方法衡量濾波器的信息重要性。相比于濾波器范數(shù)和參數(shù)稀疏度等方法,本文提出的輸出熵的度量方法更為精準,且得到的度量參數(shù)更有區(qū)分性。首先將權(quán)重連續(xù)分布轉(zhuǎn)換為離散分布,具體來說,將權(quán)重值的范圍劃分為C個不同的區(qū)間,并計算每個區(qū)間的概率。最后濾波器的熵可以計算為
(1)
式(1)中,Wl, j∈RJl×K×K表示第l層卷積層第j個濾波器的權(quán)重,R表示實數(shù)集,Jl是第l層中濾波器的數(shù)量,K是第l層中濾波器的大小。C是區(qū)間的數(shù)量,且t∈C,pt是第t個區(qū)間的概率。
在式(1)的基礎(chǔ)上,計算第l層具有的總信息為
(2)
式(2)中,H(Wl, j)表示第l層卷積層中第j個濾波器包含的信息。Jl是第l層中濾波器的數(shù)量,且j∈Jl。
根據(jù)式(1)和式(2)分別計算H(Wl, j)和H(Wl),H(Wl, j)和H(Wl)數(shù)值越小,濾波器的信息越少,即信息重要度越低。
關(guān)于正交性度量方法,提出了一種濾波器間的正交性度量方法,以捕獲貝類圖片正交特征,抑制貝類圖片相似特征。卷積核大小為k×k的濾波器是k×k×c的3D向量,其中c是通道數(shù)。將濾波器向量展開為k×k×c的1D向量,并用f表示。歸一化權(quán)重為
(3)
式(3)中,Wl是行數(shù)為Jl的矩陣,一行為一個濾波器展開的向量。Jl是第l層中濾波器的數(shù)量,且l∈L。
(4)
式(4)中,Pl矩陣第i行數(shù)據(jù)表示同一層其他濾波器對第i個濾波器的相關(guān)性。對第i行數(shù)據(jù)求和所得值越小,表示第i個濾波器與其他濾波器相關(guān)性越小。當其他濾波器與給定第i個濾波器正交時,第i行的總和達到最小值。
根據(jù)相關(guān)性矩陣計算濾波器間的正交性度量
(5)
式(5)中,f是濾波器對應向量,根據(jù)式(5)可知,f所對應行的求和越小,表示正交性越大。
為防止誤刪有效的特征信息,選擇更多有用的貝類特征,通過基于濾波器信息度量方法的特征選擇方法,進行特征的移除與更新,從而選擇有用的特征信息,具體流程如圖1所示。經(jīng)過兩步移除實現(xiàn)特征移除,首先移除無效濾波器,然后移除相似濾波器中相對無效的濾波器,第二步是在第一步的基礎(chǔ)上進行。特征更新通過激活濾波器使其具有正交性(相似性越低正交性越高)。
圖1 特征選擇
綜上所述,為解決具有高相似度特征的貝類分類難的問題,首先對濾波器按信息量從大到小排序,移除掉信息量較低的s %的濾波器,然后根據(jù)正交性度量方法移除其中信息量相似的濾波器,最后重新初始化移除掉的濾波器,也就是特征更新。本文所提出的度量方法能夠抑制特征之間的相關(guān)性,更關(guān)注模型的正交特征,并通過特征更新,重新捕獲激活空間中的不同方向,提升模型泛化能力。
在濾波器信息度量方法(1.1節(jié))的基礎(chǔ)上,針對樣本不均衡以致貝類分類難的問題,提出一種新的貝類分類目標函數(shù)。
首先,依據(jù)濾波器正交性度量,讓模型學習到相互正交的特征,提出一種包含正則化項的損失函數(shù)L1
(6)
其次,貝類樣本分布是不均衡的,導致不同樣本分類難度存在巨大差異,采用原始交叉熵損失函數(shù)無法刻畫這種分布特征,分類效果不理想。為了解決這一問題,控制各類樣本對總損失的共享權(quán)重以及容易分類和難分類樣本的權(quán)重,提出一種包含焦點損失的損失函數(shù)L2
(7)
式(7)中,αi,βi和(1-p(yi))γ分別是不同的控制系數(shù)。通過放大(縮小)一個類別的αi值,控制該類別對總損失的共享權(quán)重大小,模型會更重視或更不重視該類別的預測。通過放大(縮小)一個類別的βi值,控制該類別最小差異性對總的損失的影響??刂葡禂?shù)(1-p(yi))γ更加關(guān)注于難分類(樣本量少)的貝類樣本,減少易分類(樣本量多)貝類樣本的影響。根據(jù)一個類別真實標簽對應的輸出概率p(yi)確定該類別對應的γ。當一個貝類樣本是易分類樣本時,p(yi)>0.5,則(1-p(yi))γ就會比較小,進而該易分類樣本對總損失的貢獻就會相對比較??;當一個貝類樣本是難分類樣本時,p(yi)≤0.5,則(1-p(yi))γ就會相對比較大,進而該難分類樣本對總的損失的貢獻相對比較大。
最后,提出一種包含正則化項和焦點損失項的混合損失函數(shù),作為模型的多分類目標函數(shù)。
L=δL1+L2
(8)
式(8)中,L1是包含正則化項的損失函數(shù)。L2是包含焦點損失項的損失函數(shù)。δ是一個參數(shù),用于平衡兩個損失項。
貝類圖像數(shù)據(jù)集由大竹蟶、微黃鐮玉螺、扁玉螺、日本鏡蛤、紫貽貝、縱帶灘棲螺、薄片鏡蛤、西施舌等74類貝類組成,共11 803張。
貝類圖像數(shù)據(jù)集的建立主要分為四個階段,建立流程如圖2所示。
圖2 貝類圖像數(shù)據(jù)集建立流程
第一階段獲取貝類實體樣本。從2014年4月至2020年10月獲取了貝類實物樣本,主要通過實地收集和網(wǎng)絡收集結(jié)合的方式收集來自山東省煙臺市、山東省青島市、廣西壯族自治區(qū)北海市和福建省廈門市等9所城市海邊的貝類。
第二階段獲取貝類圖像。從2019年9月至2020年10月獲取貝類圖片,主要通過智能手機內(nèi)置的相機拍攝貝類,設(shè)置初始圖像大小為3 120×3 120。在可見光下,相機拍攝獲得74類貝類圖片,共11 803張。
第三階段進行圖像數(shù)據(jù)預處理。獲取貝類圖像后,對其進行數(shù)據(jù)增強等預處理操作。首先將圖像裁剪為長寬比為1∶1的圖像,然后對圖像進行水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、隨機旋轉(zhuǎn)、在[0, 30°]范圍內(nèi)旋轉(zhuǎn)、在[0, 20%]范圍內(nèi)縮放和移動等數(shù)據(jù)增強操作。將圖像數(shù)量從11 803張增加到119 964張。
第四階段建立數(shù)據(jù)集。整個圖像數(shù)據(jù)集按8∶1∶1的比例隨機分為訓練集(95 947張)、驗證集(11 996張)和測試集(12 021張)。部分數(shù)據(jù)集圖片如圖3所示。
圖3 部分貝類數(shù)據(jù)集圖像
該數(shù)據(jù)集在每一科中包含一個或多個類且每個類只屬于一個科,部分高相似度特征圖片如圖4所示。為方便數(shù)據(jù)存儲與讀取,將各貝類圖片存儲在74個文件夾下。
從圖4可以看出,貝類圖像表現(xiàn)出類內(nèi)相似(上3行)及類間相似(下3行),使得貝類的識別比一般物種的識別更有難度。不僅如此,貝類物種具有樣本分布不均衡的特點,樣分布情況如圖5所示,樣本數(shù)量在240~1 000張的貝類有27種,而樣本數(shù)量在4 001~4 656張的貝類僅有2種。貝類樣本分布不均衡,導致貝類分類難度不均衡。
圖4 部分高相似度貝類圖片
圖5 樣本分布情況柱形圖
選擇Resnest[13]神經(jīng)網(wǎng)絡模型作為識別模型的基準網(wǎng)絡來進行貝類數(shù)據(jù)集的訓練,遷移學習在ImageNet數(shù)據(jù)集上訓練過的預訓練模型,將其應用到貝類識別問題上,并使用SGD優(yōu)化器和交叉熵損失函數(shù)進行優(yōu)化。通過大量實驗驗證,選擇初始學習率為0.001、Batch_Size大小為32,并且卷積核數(shù)量、卷積層數(shù)量以及池化層數(shù)量均與Resnest模型的數(shù)量一致。但是在全連接層上將輸出層類別數(shù)目改為74。為了降低計算復雜度,將圖像大小被調(diào)整為224×224。方法在Pytorch上運行實現(xiàn),同時在NVIDIA GeForce GTX 1080 Ti圖形處理單元(graphics processing unit,GPU)上執(zhí)行訓練了50 epochs。Resnest對貝類圖像數(shù)據(jù)集的訓練結(jié)果如圖6所示。實驗結(jié)果表明,Resnest針對貝類圖像的分類,訓練過程中網(wǎng)絡模型無異常,并且訓練準確率與損失值得到了收斂,因此可以保存訓練后的模型進行測試。對訓練后的Resnest模型進行測試,在貝類圖像數(shù)據(jù)集的測試集圖像的分類識別上,誤差得到了收斂且平均準確率達到了92.20%。
圖6 Resnest神經(jīng)網(wǎng)絡模型訓練結(jié)果
為驗證本方法的有效性,對Resnest網(wǎng)絡模型與添加了濾波器信息度量與特征選擇方法的網(wǎng)絡模型(F_Net)、添加了改進的貝類分類目標函數(shù)的網(wǎng)絡模型(L_Net)以及同時添加了兩種方法的網(wǎng)絡模型(FL_Net)進行了對比分析。四種網(wǎng)絡模型的訓練結(jié)果見圖7,測試結(jié)果見表1。為保證實驗結(jié)果的可對比性,除網(wǎng)絡結(jié)構(gòu)外的任何影響因素均保持一致。結(jié)果表明,本方法準確率在Resnest基礎(chǔ)上有明顯提高,在測試集上平均準確率提升了1.18%,并且在訓練時長上縮短了960 s,驗證了本方法的有效性。
圖7 四種網(wǎng)絡模型訓練結(jié)果比較
表1 四種網(wǎng)絡模型測試結(jié)果比較
為進一步驗證本網(wǎng)絡模型(FL_Net)的有效性,將其與SN_Net[9]和MutualNet[12]兩種網(wǎng)絡模型進行對比分析,3種網(wǎng)絡模型的實驗結(jié)果見圖8和表2。為保證實驗結(jié)果的可對比性,除網(wǎng)絡結(jié)構(gòu)外的任何影響因素均保持一致。結(jié)果表明,F(xiàn)L_Net在測試集上平均準確率優(yōu)于SN_Net和MutualNet兩種模型,分別提升了4.34%和0.85%,并且在訓練時長上分別縮短了3 180和2 460 s,驗證了本方法的有效性。
表2 三種網(wǎng)絡模型測試結(jié)果比較
圖8 三種網(wǎng)絡模型訓練結(jié)果比較
基準網(wǎng)絡在本工作貝類圖像訓練中能夠較為快速地收斂到合適的網(wǎng)絡結(jié)構(gòu),在測試集上的平均準確率為92.20%,識別率較低。本文提出了一種新的濾波器信息度量與特征選擇方法,并更新網(wǎng)絡為F_Net,測試集平均正確率達到93.13%;提出了一種包含正則化項和可變損失項的新的貝類分類目標函數(shù),并更新網(wǎng)絡為L_Net, 測試集平均正確率達到92.57%;最后,聯(lián)合網(wǎng)絡為FL_Net, 即為本工作最終更新的網(wǎng)絡模型。FL_Net訓練效果優(yōu)于基準網(wǎng)絡、SN_Net和MutualNet,在測試集上的分類準確率為93.38%,分別比基準網(wǎng)絡(Resnest)、SN_Net 和MutualNet高1.18%、4.34%和高0.85%;訓練時長為22 320 s,分別比基準網(wǎng)絡(Resnest)、SN_Net 和MutualNet短960,3 180和2 460 s。
根據(jù)貝類圖像高度相似的特點,提出了一種新的濾波器信息度量與特征選擇方法,網(wǎng)絡訓練過程中抑制貝類特征之間的相關(guān)性,更關(guān)注正交特征,捕獲神經(jīng)網(wǎng)絡激活空間中的不同方向,提升分類模型的特征表達能力。在濾波器信息度量與特征選擇的基礎(chǔ)上,針對貝類樣本分類難度不平衡的問題,提出了一種包含正則化項和可變損失項的新的貝類分類目標函數(shù),網(wǎng)絡訓練過程中讓模型學習到相互正交的權(quán)重,同時控制各類別樣本之間對總損失的共享權(quán)重,通過減少易分類樣本的權(quán)重,使得模型在訓練時更專注于難分類的樣本,把注意力集中在預測難度大的樣本上,平衡樣本分類難度。本工作對形態(tài)相似的海洋貝類圖像識別研究,為基于非成像光譜儀、數(shù)字圖像設(shè)備搭建貝類種類鑒別的便攜式裝置積累了相關(guān)經(jīng)驗,為貝類種類的在線分析提供了技術(shù)參考。