魏天琪 ,鄭雄勝,李天兵,王日成
1. 浙江海洋大學 海洋工程裝備學院,浙江 舟山 316002
2. 合肥城市學院,安徽 合肥 231131
三疣梭子蟹 (Portunustrituberculatus),俗稱梭子蟹,屬于甲殼綱、十足目、梭子蟹科、梭子蟹屬,其肉質鮮美、營養豐富,廣受消費者青睞,是中國沿海重要的經濟蟹類[1]。梭子蟹生長速度快、養殖成本低、經濟效益高,已成為中國沿海地區的重要養殖品種。由于雌、雄梭子蟹的營養成分不同,在市場銷售前需要對其性別進行分類。目前,梭子蟹的性別分類主要靠人眼識別和手工挑選,效率低下。因此,開發一種計算機輔助自動分類系統來區分梭子蟹的性別非常必要。
早期的分類任務主要是手工設計提取特征,包括傳統機器學習[2-4]和利用上下文信息[5-6],但是該類方法的表達能力較弱,所以分類模型的泛化能力不強。例如,Lecun 等[7]提出的一種多層人工神經網絡LeNet 是為手寫數字分類而設計的卷積神經網絡 (Convolutional neural network, CNN)。2006 年,深度學習 (Deep learning)[8]的概念被提出,在深度學習技術的推動下,圖像分類及識別的相關研究迅速發展[9-13]。
基于深度學習的圖像分類中,Krizhevsky 等[9]構建了一種較深層數的網絡AlexNet,并首次引入了Relu 激活函數,同時在全連接層中使用Dropout,解決了模型的過擬合問題。牛津大學的幾何視覺組 (Visual geometry group[10])設計的VGG 模型在網絡結構上并沒有太大的創新,但是通過實驗對比發現,增加網絡的層數確實能夠在一定程度上提高網絡的訓練效果。此外,VGG 模型始終使用的是非常小的卷積核,通過串聯很多小的卷積核后,其感受野和一個大卷積核相同,因此能很大程度地減少模型訓練所需的參數。He等[12]開發出一種具有深度殘差結構的卷積神經網絡ResNet,很好地解決了網絡深度達到一定層數時,模型的性能逐漸會趨向于飽和的問題,以及在網絡達到某一深層時會使模型的性能急劇下降的問題。
在過去的幾年里,圖像的成熟分類技術主要得益于兩個關鍵因素:一個是卷積神經網絡,另一個是大量的可用圖像數據集,如CIFAR 數據集[14]和ImageNet 數據集[15]。當前,一些研究者已經將圖像分類方法應用到實際場景中。例如,在醫學圖像分類領域中,杜麗君等[16]提出了一種基于注意力機制和多任務學習的阿爾茲海默癥分類方法。該方法是一種不需要人工提取特征的網絡,通過引入注意力機制,能夠在不丟失重要特征信息的前提下,將分類任務所需要的關注重點放在目標區域中;隨后通過不同的全連接層來實現多任務學習,從而提高了網絡的泛化能力。實驗結果表明,該方法能夠對阿爾茲海默癥進行準確分類。在遙感圖像分類領域中,王寧等[17]在隨機森林、支持向量機和BP 神經網絡的基礎上設計出一種集成分類模型,并將其應用于水產養殖的水體資源遙感動態監測任務中。該模型很好地彌補了單個分類模型分類精度較低以及魯棒性較差等缺點,在很大程度上避免了山體與建筑陰影等外在因素對水體特征提取的干擾。最終實驗結果顯示該分類模型擁有較高的分類精度,表明該模型能夠成為水體資源遙感動態監測的分析工具之一。此外,朱明等[18]基于輕量級神經網絡構建出一種鱸魚捕食狀態分類網絡,滿足了現代智能水產養殖的自動投喂需求。
然而,尚未見圖像分類的相關技術應用于梭子蟹性別識別的研究報道。為此,本文提出一種應用于梭子蟹性別識別任務的分類方法:首先構建一個用于梭子蟹性別分類的數據集PGCD;然后搭建一種多組卷積神經網絡 (Multi-group convolutional neural network, MGCNN),并使用注意力機制更專注地找出輸入數據的有用信息;最后通過一系列的調整參數工作提高MGCNN 的分類精度。
圖1 展示了本文所提方法的整體框架,包括數據預處理、數據增強以及MGCNN。 其中,MGCNN包含了深度提取特征模塊和融合特征分類模塊。數據預處理主要是將采集到的梭子蟹圖像進行降低像素處理,從而解決后續處理速度過慢的問題;數據增強主要是對經過預處理后的梭子蟹圖像進行數據擴充,解決了少量樣本可能給網絡帶來的過度擬合問題,或者樣本不均衡導致模型預測時對多數類的側重問題;深度提取特征模塊使用幾組成熟的CNN 來提取圖像的視覺特征,通過實驗對比,最終的CNN 本文選取ResNet50;融合特征分類模塊主要是先將CNN 提取到的特征進行信息融合,然后利用注意力機制代替傳統池化層,在降低融合特征圖維度的同時,去除了特征圖的冗余信息,保留特征圖的重要信息,最后經過輸出分類層獲取分類結果。

圖1 所提方法的總體架構Fig. 1 Overall architecture of our approach
在公開數據庫中,并沒有梭子蟹性別分類的數據集,因此首先需要構建相關的數據集。本文的原始梭子蟹數據集主要由課題組在舟山水產品加工公司采集,采集所用設備的配置為10 800 萬像素的主攝+1 300 萬像素的超廣角鏡頭+500 萬像素的長焦微距鏡頭。采集到的原始數據集共有1 174 張圖像,其中雌、雄性圖像各494 和680 張,圖像像素約為3 024×4 032。圖2 為部分采集的梭子蟹樣品。

圖2 部分梭子蟹樣本 (左:雌性;右:雄性)Fig. 2 Samples of Portunid (Left: female; Right: male)
由于所采集的圖像像素較大,導致后續操作中處理速度較慢,因此需要對圖像進行像素降低處理,調整后的圖像大小統一為224×224 像素。傳統的降低像素操作通常是利用opencv 庫的resize( ),然而這種操作對于尺寸非N×N大小轉化為N×N大小的圖像來說,會改變圖像原有的特征,影響網絡的最終分類精度[19-21]。因此,本文采用一種等比例調整圖像大小的方法,即在不改變寬高比的情況下進行圖片調整,并填充至實驗所需要的224×224 像素的圖像。resize ( ) 和等比例調整大小并填充的圖像對比如圖3 所示。

圖3 兩種降低像素的效果對比Fig. 3 Comparison of two pixel reduction effects
經過預處理后,將數據集隨機分成原始訓練集和原始測試集,均包含587 張梭子蟹圖像 (雌性247 張,雄性 340 張)。為了解決少量樣本可能給網絡帶來的過度擬合問題,或者樣本不均衡導致模型預測時對多數類的側重問題,需要對原始數據集進行數據增強,以擴充出更多數據來提高數據集的數量和質量,提高網絡模型的學習效果[22-24]。數據增強的過程如下所述:
(I) 隨機翻轉:為了解決樣本不均衡問題,本文隨機從原始訓練集和原始測試集中各選取93 張雌性圖像,進行隨機翻轉,從而使得原始訓練集和原始測試集中雌性和雄性圖像均有340 張。隨機翻轉是指從3 種翻轉方式中 (水平翻轉、垂直翻轉和水平-垂直翻轉) 隨機選取一種進行翻轉。
(II) 隨機旋轉:對 (I) 中的原始訓練集圖像進行隨機角度旋轉,旋轉角度在0°~90°、90°~180°、180°~270°和270°~360° 4 個范圍內進行隨機選取。
(III) 隨機平移:對 (I) 中的原始訓練集圖像進行隨機像素平移,像素平移在?20 至20 之間進行隨機選取,包括8 個方向。
(IV) 隨機明亮度:對 (I) 中的原始訓練集圖像進行隨機明亮度調整,調整系數在0.8~1.0 和1.0~1.2 兩個范圍內隨機選取。
(V) 隨機噪聲:對 (I) 中的原始訓練集圖像隨機添加高斯噪聲和椒鹽噪聲,添加噪聲的系數均介于0.009~0.011 隨機選取。
值得注意的是,除了(I) 對訓練集和測試集進行數據增強,(II)—(V) 均僅對訓練集進行數據增強。其中,(IV) 和 (V) 主要是針對模型識別過程中圖像出現的明亮度變化和噪聲影響。通過 (IV) 和(V) 兩種數據增強技術可以讓模型在現實環境中具有更好的應對能力。
5 種不同類型的數據增強技術示例如圖4 所示。因此,經過數據增強后最終的數據集共有12 312 張梭子蟹圖像,將其命名為PGCD。其中,訓練集和測試集分別各有11 560 張 (雌性 5 780張,雄性 5 780 張) 和680 張 (雌性 340 張,雄性340 張) 圖像。

圖4 5 種不同類型的數據增強技術的示例Fig. 4 Examples of five different types of data enhancement technologies
雖然Transformer[25]已經成為自然語言處理任務上的重要體系結構之一,但它在計算機視覺(Computer Vision, CV) 領域的應用卻非常有限。為了解決該問題,Dosovitskiy 等[26]開發出一種Vision Transformer (ViT) 模型,可以直接應用于圖像塊序列 (Sequences of image patches),并且能夠很好地執行圖像分類任務。受這項工作的啟發,本研究在提取特征之前設置了圖像塊來渲染每張圖 (圖5)。

圖5 深度提取特征模塊Fig. 5 Depth extraction feature module
具體操作是將輸入圖像切分成多個大小一致的圖像塊。在此假設輸入圖像的尺寸大小為N×N,需要切分的圖像塊數為n2,那么圖像塊的尺寸大小NP×NP用公式可表示為:
式中:n為正整數。本文所提的MGCNN 的輸入圖像尺寸為224×224 像素,圖像塊的個數n2=4,所以圖像塊的尺寸為112×112 像素。
在4 組圖像塊渲染圖像之后,需要通過CNN來對每個圖像塊進行特征學習。為了減少特征提取過程的信息丟失,使得特征提取更有力,本文使用具有殘差塊的ResNet50 作為深度提取特征模塊中的主干CNN。ResNet50 的殘差塊示意圖見圖6。

圖6 ResNet50[12]殘差模塊示意圖Fig. 6 Residuals block diagram of ResNet50[12]
可以看出,殘差塊具有兩條路徑,一條是進行跳躍連接的輸入特征X,另一條是經過3 次卷積操作后得到的映射函數F(X),然后將這兩條路徑連接后就能得到殘差模塊的輸出H(X),其過程可用公式(2) 來表示:
融合特征分類模塊如圖7 所示。通過CNN 學習不同圖像塊的視覺特征后,需要一個獨特的全局描述符來表示圖像。本文將不同圖像塊的視覺特征拼接 (Concatenate) 成一個全局特征圖。最近一些研究表明,適當增加一些注意力機制可以更專注地找出輸入數據的有用信息[27-29]。 為此,在分類之前本研究引入了一個注意力機制,來強調全局特征圖中的細節重要性。首先,通過3 個1×1 的卷積層從全局特征圖中獲得Q、K、V3 個特征層;其次,將Q轉置后與K做乘積運算形成一個新的特征圖,再經過softmax 函數后形成注意力權重;然后,將V與注意力權重做積運算,并使用最大池化對其結果進行降低維度處理;最后,通過全連接層獲取待分類類別的概率分布。

圖7 融合特征分類模塊Fig. 7 Fusion feature classification module
本實驗均在同一環境配置的計算機上完成,訓練集和測試集均來自于構建的PGCD 數據集。用于實驗的計算機配置為Windows10、NVidia Ge-Force GTX 1080 Ti GPU、16 GB 內存,實驗基于Pytorch 的方法[30]來實現,損失函數使用交叉熵損失 (Cross entropy loss) ,最大epoch 值設置為100。通過實驗對比,本研究提出方法的backbone model 為ResNet50,學習率值設置為 0.000 1,batch size 設置為32。此外,為了優化整體模型架構,本文使用 Adam[31]作為訓練階段優化器。
衡量模型分類性能的評估指標主要包括分類準確率 (又稱分類精度)、召回率與查準率等[32-35]。本文主要采用這3 個指標對所提方法進行評價。圖8為混淆矩陣圖。

圖8 混淆矩陣Fig. 8 Confusion matrix
為此,分類準確率可用公式 (3) 進行表征:
召回率可用公式 (4) 進行表征:
查準率可用公式 (5) 進行表征:
式中:Acc代表分類準確率 (Accuracy);R代表召回率 (Recall);P代表查準率 (Precision)。
2.3.1 不同骨干模型對MGCNN 性能的影響
成熟的卷積神經網絡能夠很好地進行特征學習和特征提取[36-37]。為此,本文主要選取VGG 模型[10]和ResNet 模型[12]作為MGCNN 的深度提取特征模塊的主干模型。不考慮DenseNet 模型[23]最主要的原因是該模型屬于較大的網絡,需要訓練更多的參數,并且可能由于過擬合導致分類精度提高不明顯。而VGG 和ResNet 系列屬于較小的網絡,可以節省額外的計算開銷以及訓練時間。為了公平比較,在這里統一將學習率值設置為 0.001,批大小設置為32;此外,本文選取了 SGD[38]作為不同骨干模型的對比實驗訓練階段的優化器。結果如表1 所示,可以看出,在相同的學習率、批大小以及相同優化器的情況下,ResNet 系列普遍優于VGG 系列。值得注意的是,ResNet152 的精度未超過90%,再次驗證了較大網絡的過擬合現象會影響分類精度。由于ResNet50 以92.79%的分類精度位居第一,因此本研究選取ResNet50 作為MGCNN 的骨干模型。

表1 不同骨干模型對 MGCNN 性能的影響Table 1 Effects of different backbone models on MGCNN performance
2.3.2 不同優化器對MGCNN 性能的影響
深度學習的過程中會產生一定的損失[39],所以應盡可能地減少損失來優化所提出的MGCNN模型,使其擁有更好的分類性能。事實上,深度神經網絡的每一層都有各自的權重參數,這些權重參數決定著神經網絡的輸出。因此需要利用優化器(Optimizer) 來降低損失,從而更新模型的可學習權重參數來優化網絡模型。本研究以SGD[38]、Ada-Grad[40]、RMSprop[41]、Adam[31]、Adamax[42]、ASGD[43]6 種優化器作為探討優化器選取的對比實驗。在這里學習率仍為 0.001,批大小為32,結果如表2 所示。可以看出,在相同骨干模型的情況下,上述6 種優化器中Adam 最為突出,分類精度達到95.29%,均領先于其他優化器。因此,本文選取Adam 作為MGCNN 的優化器。

表2 不同優化器對MGCNN 性能的影響Table 2 Effects of different optimizers on MGCNN performance
2.3.3 不同參數對MGCNN 性能的影響
通過調整學習率以及批大小可以提高模型的分類性能[28,44-45],在MGCNN 的骨干模型和優化器均確定的情況下 (ResNet50+Adam),本研究進一步探討了不同參數對其分類性能的影響,以實現最佳精度。對于模型訓練而言,學習率是控制權重更新的重要參數[46]。一方面,使用過大的學習率可能會忽略最優值的位置,導致模型不收斂;另一方面,使用過小的學習率容易出現過擬合,導致模型收斂緩慢。因此,首先應確定最優學習率。在本實驗中,將最開始的學習率設置為0.000 1,批大小設置為32。本次實驗遵循從較小的速率開始,并依次增加直到發現最佳學習率。當最佳學習率確定后,需要進行實驗來確定最佳批大小,以優化網絡訓練的收斂速度和穩定性[45]。本研究依次將批大小設置為64、32 和16 來訓練網絡,最終的實驗結果如表3 所示。結果表明,當學習率和批大小分別為0.001 5 和32 時,MGCNN 的分類效果最高,分類精度達到95.59%。因此,本文將最佳學習率設置為0.001 5,最佳批大小設置為32。

表3 不同參數對 MGCNN 性能的影響Table 3 Effects of different parameters on MGCNN performance
為了評估所提方法MGCNN 的分類性能,本文在已構建的PGCD 數據集上進行了相關的分類任務實驗,并將所提方法與其他先進的模型[9-10,12-13,46]進行比較,包括AlexNet、VGG16、ResNet152、InceptionV3 和DenseNet121。這些模型之前均在用于圖像分類的ImageNet 數據集[9]上訓練過,但并沒有訓練過PGCD。為了適應PGCD數據集,實驗過程中將上述網絡模型的輸出分類層替換為具有兩個類別 (雌性和雄性) 的輸出分類層。
表4 給出了MGCNN 與一些先進方法的實驗對比結果。可以看出,AlexNet 顯示了最差的性能;ResNet152 和DenseNet121 網絡較深,召回率和查準率相對平衡,但分類精度未超過95%;InceptionV3 分類精度達到95%,卻因其查準率高導致召回率低;而本文所提的網絡相比InceptionV3而言,分類精度有所提升,并且在查準率僅降低0.54%的情況下,將召回率提升1.76%。網絡分類錯誤率最低,僅占4.41%,分類性能均領先于其他方法。

表4 MGCNN 與先進方法的比較Table 4 Comparison between MGCNN and state-of-theart methods
為了更直觀地顯示所提方法的優越性,本文給出了PGCD 測試集上梭子蟹性別分類的混淆矩陣(Confusion matrix) ,如圖9 所示。圖中主對角線顯示的是識別正確的數目,副對角線顯示的是識別錯誤的數目。可以看出,梭子蟹共有680 只,僅30 只被錯誤歸類。其中,雌、雄蟹各有321、329只被正確歸類,僅11 只雄蟹錯歸為雌性,19 只雌蟹錯歸為雄性。表明所提方法具有很好的分類效果。

圖9 梭子蟹性別分類的混淆矩陣Fig. 9 Confusion matrix of gender classification of P. tritubereulatus
此外,受試者工作特征 (Receiver operating characteristic, ROC) 曲線和ROC 曲線下的面積 (Area under the ROC curve, AUC) 也可以用于度量分類模型的好壞。MGCNN 的ROC 曲線和AUC 如圖10所示。可以看出,所提方法的AUC 達到98.88%,在梭子蟹性別分類任務中取得優異的性能。

圖10 比較不同網絡性能的受試者工作特征曲線 (ROC) 和ROC 曲線下的面積Fig. 10 Comparison of Receiver Operating Characteristic(ROC) curve and area under ROC curve for subjects with different network performance
為了驗證模型的實際應用效果,采購雌、雄梭子蟹各20 只,在實驗室對其性別進行自動識別驗證。驗證圖像采用等比例調整大小并填充的預處理方式。圖11 展示了單幅圖像預測的示例,可以看出預測均正確,且預測概率均超過95%。此外,經統計分析,識別一張圖像的時間不超過1 s。因此,本研究所提的算法可以很好地應用在梭子蟹性別自動分類及識別系統。

圖11 單幅圖像預測概率Fig. 11 Prediction probability of single image
為了實現梭子蟹性別的智能化識別,促進現代漁業分揀裝備由半機械化、機械化走向智能化,本文構建了梭子蟹性別分類數據集 (PGCD),提出了一種用于梭子蟹性別分類的多組卷積神經網絡框架。該網絡首先通過引入ResNet 對圖像塊提取特征,減少特征提取過程的信息丟失,使得特征提取更有力;然后提出一種注意力機制代替傳統的池化層,從而更專注地找出輸入數據的有用信息;最后進行了一系列的參數調整,使得所提的MGCNN擁有最優分類性能。實驗結果表明,所提方法在PGCD 數據集上具有分類優越性,分類準確率高達95.59%。未來,將圍繞梭子蟹的尺寸、肥瘦、蟹鉗完整程度等特征進行分類,進一步完善梭子蟹智能識別系統。