劉子豪 張素蘭 賈小軍 楊 俊 張 文 徐志玲
(1.嘉興學院信息科學與工程學院, 嘉興 314001; 2.西南科技大學生命科學與工程學院, 綿陽 621010;3.中國計量大學質量與安全工程學院, 杭州 310018)
在我國甲殼類水產養殖業中,南美白對蝦的養殖占比最高,養殖面積逐年擴大,進出口貿易額逐年遞增[1]。然而,對蝦養殖業長期遭受病毒、細菌類的病害侵襲,在收獲的生鮮蝦群中常混有不同類型和不同感染時期的染病蝦,在后期的去頭、蒸煮、蝦殼剝離等加工環節中,如果不及時剔除這些染病蝦,會對健康蝦群造成大面積污染,導致巨大經濟損失[2]。有研究表明[3],易侵入對蝦體內的病毒種類一共有100多種,其中最常見易侵病毒有虹彩病毒、桃拉病毒、白斑綜合征病毒、黃頭病毒、傳染性皮下及造血組織壞死病毒等,這些病毒感染性極強、致死率高,是近年來對蝦養殖行業的殺手。
針對染病蝦的高效智能識別問題,有學者采用不同結構神經網絡構建對蝦品質的自動檢測方法。HU等[4]根據不同蝦類在外觀表達的特征提出卷積神經網絡結構(ShrimpNet),該網絡包含2個卷積層、2個池化層和2個全連接層,ShrimpNet的分類精度可達95.48%,所提方法為6種蝦類的判別提供了一種高效手段;洪寒梅[5]提出了基于淺層神經網絡結合雙閾值分割算法的熟蝦新鮮度判別算法,根據不同熟蝦黑變區域的腐變程度進行顏色特征的提取,導入構建的淺層神經網絡進行黑變熟蝦的新鮮度分類;HASSAN等[6]認為,采用人工神經網絡模型(ANN)可對冷凍生鮮蝦的新鮮度進行判定,并指出ANN模型的決定系數為0.987,優于自適應神經網絡的模糊推理系統(ANFIS)和響應面方法(RSM),論證了ANN可用于冷凍生鮮蝦新鮮度判定的可行性;YU等[7]通過引入近紅外高光譜技術評估了生鮮蝦的新鮮度,并采用深度學習技術統計高光譜數據,挖掘數據內部的新鮮度判別信息。已有研究為南美白對蝦品質檢測引入了一種新型的深度學習方法,論證了該方法運用于對蝦健康狀態判別的可行性。基于以上研究,本團隊在前期研究的基礎上開展了一系列擴展性的研究工作[8-10]。由于神經網絡模型是黑箱,根據以上相關研究,現階段暫無法揭示其內部的運行機制,對于待分類較為簡單的任務尚可滿足要求,但是對于復雜樣本數據集以及待分類類別較多情況,則無法滿足通過訓練簡單的ANN達成目標,此時需要根據不同圖像數據集的內部空間結構和不確定度重構卷積神經網絡模型。
雖然國內外已開展較多相關研究,但大多集中于運用單個養殖源樣本所建數據集進行算法的測試與更新,當把這些現有方法拓展到多批次對蝦樣本的識別中,識別精度存在一定程度的震蕩,所建模型的穩定性和魯棒性較差。因此,基于以上問題,本文引入香農信息論,根據不同來源的南美白對蝦圖像所表達的外觀特征差異,構造染病蝦識別的卷積神經網絡自動更迭模型,采集不同地區對蝦養殖池塘樣本建立圖像數據集測試所建模型的有效性,根據數據集分類前后所呈現熵減規則,構建初始化深層卷積神經網絡(DCNN),并依據圖像特征與熵特征的對應關系優化網絡的卷積核和步長參數,獲取DCNN每個卷積層的信息增益的變化量,基于此計算DCNN的最佳深度,構造自適應參數調整的DCNN模型,完成不同來源染病蝦的自動識別。
為了驗證本文所提方法的有效性,研究團隊在2017—2020年間深入華南、華北以及江浙一帶采集南美白對蝦樣本,分別在杭州市蕭山地區、山東省青島市、廣東省湛江市、福建省閩南地區、嘉興市海寧地區等核心養蝦區進行走訪和調研,發現這五地均因各種原因暴發過大規模病毒入侵事件,但是不同地區侵染對蝦的病毒種類存在差異,例如,江浙地區易侵入病毒[11]主要有虹彩病毒(SHIV)、辛格病毒(LSNV)、桃拉病毒(TSV);華南地區易侵入病毒[12]主要為中國對蝦諾如病毒(PVNV)、白斑綜合征病毒(WSSV)、野田春偷死病毒(CMNV);華北地區易侵入的病毒[13]主要有傳染性肌壞死病毒(IMNV)、細小病毒(HPV)、感染性皮下造血壞死病毒(IHHNV)。因為染病蝦易腐敗且不宜遠距離、長時間運輸,因此本研究就地進行圖像樣本獲取,使用不同背景及不同角度的拍攝方式獲取圖像,使得圖像的背景更加多樣性。采用Canon(EOS-70D型)相機,配備Sony鏡頭(EF-S-18-135型),相機像素為5 060萬。基于獲取的圖像樣本,建立了5個對蝦圖像數據集,具體分布如表1所示。

表1 國內南美白對蝦樣本養殖主要地區獲取的圖像樣本量Tab.1 Shrimp image samples acquired from different shrimp cultivation areas of China 幅
5個地區健康對蝦外觀并不存在顯著差異,部分染病蝦在外觀上存在差異,該差異可作為采用模式識別方法進行對蝦品質判別的基礎。圖1為健康蝦與9種染病蝦的圖像對比。

圖1 健康蝦與9種類型染病蝦的圖像對比Fig.1 Image comparisons between healthy and nine types of diseased shrimp
引入信息熵[14]構建不同對蝦圖像數據集之間的特征差異,論證圖像信息熵對DCNN的作用關系。模型在訓練過程中,信息熵隨著神經網絡層數的增加而逐層遞減,圖像數據集的整體信息熵最大,分類后圖像已被轉換為一維空間的類別標簽,當輸出圖像類別標簽時,信息熵最小,滿足熵減規則[15]。熵減規則可使得神經網絡內部的有效操作逐層降低DCNN的不確定性,使對蝦分類結果越來越明晰,最終使得信息熵逐漸趨向于零。運用信息熵解決多分類問題的前提是把圖像特征先轉換為熵特征,再進行計算。
為了實現圖像與熵特征的相互轉換,引入圖像整體熵、整體顏色熵、整體紋理熵、整體形狀熵、單元顏色熵、單元紋理熵、單元形狀熵共七大特征熵[16]。圖像整體熵表示圖像不確定度,整體顏色熵、整體紋理熵、整體形狀熵表示圖像中對蝦表面顏色、紋理、形狀的不確定度,單元顏色熵、單元紋理熵、單元形狀熵表示圖像中塊區域的顏色、紋理、形狀的不確定度。圖像熵也可理解為圖像所具備的各種類型的能量,復雜度越高的圖像對應能量就越高,而要消解這些能量則需要設計復雜的超參數組合和構造復雜的DCNN結構。
圖像整體熵H可由整體顏色熵H1、整體紋理熵H2與整體形狀熵H3之和表示,而且對于每幅對蝦圖像,分別計算單幅圖像的單元顏色熵Hcij、單元紋理熵Htij和單元形狀熵Hsij,將各個單元顏色熵之和確定為圖像整體顏色熵H1,將各個單元紋理熵之和確定為圖像整體紋理熵H2,將各個單元形狀熵之和確定為圖像整體形狀熵H3。在不同養殖源采集的對蝦樣本在外觀上存在差異,這種差異可用熵特征整體與局部之間的對應關系進行表示,即

(1)
式中M、N——局部圖像長、寬
i、j——像素下標索引序式(1)中,左邊等式描述一幅圖像的整體熵等價于該幅圖像的顏色熵、紋理熵和形狀熵之和,右邊等式描述一幅圖像整體顏色、紋理、形狀的信息熵等價于該圖像中各個子區域顏色、紋理、形狀的信息熵累加之和,這里子區域的劃分要遵循整體與局部的特征等價關系,而且要與網絡每層獲取的卷積核尺寸(Convolutional kernel size)保持一致。單元顏色熵、紋理熵以及形狀熵的計算方法參見文獻[17],采用這3種熵特征對局部圖像特征進行表示,單幅圖像的整體熵特征等價于各個局部子區域的熵特征的累加之和。
構建卷積核和步長的自適應優化方法的最初階段,需要構造一個初始化網絡,該網絡具有1個輸入層、1個卷積層和2個全連接層,如圖2所示(SS表示健康蝦)。本文討論的方法將在此網絡的基礎上進行優化和延展,涉及到卷積核與步長。

圖2 初始網絡結構Fig.2 Initial network structure
不同地區采集的南美白對蝦樣本在外觀差異上主要體現在顏色、紋理、形狀方面,而這些差異可基于1.2節給出的顏色熵H1、紋理熵H2、形狀熵H3進行計算。卷積核和步長是設計有效DCNN的兩大核心超參數,卷積核表示在某一隱含層進行卷積操作時所選取的卷積核尺寸,即卷積窗口尺寸。卷積核越小,遍歷計算越多,輸出特征圖尺寸越大,反之越小;步長表示在某一隱含層進行卷積操作時,遍歷窗口的移動距離,步長越小,遍歷計算越多,輸出特征圖尺寸越大,反之越小。卷積核、步長、輸出特征圖之間關系參見文獻[18]。

圖3 卷積核和步長調整策略Fig.3 Diagram of adjusting convolutional kernel and stride strategies
DCNN中的卷積核與步長的自適應優化方法如下:首先,隨機初始化卷積操作中的卷積核和步長參數,以這兩個參數對原始輸入圖像進行卷積操作,在對每一個圖像進行卷積的同時,安插監控器對每次卷積操作進行監控,并計算當前圖像的單元顏色熵、單元紋理熵和單元形狀熵,當遍歷完一幅對蝦圖像時,統計以上三者疊加之和與整體圖像熵是否滿足式(1),若不滿足,則終止對當前圖像進行的卷積操作,向卷積神經網絡輸入下一幅圖像進行當前層的卷積操作;若滿足式(1),則計算整體顏色熵H1、整體紋理熵H2、整體形狀熵H3累加之和在H中所占比重,將占比較大的熵依據前期研究結果對顏色、紋理和形狀的不同調節策略進行參數更新,再對卷積核和步長進行參數微調。調整參數后,重新對輸入圖像進行卷積操作,直到圖像的整體顏色熵H1、整體紋理熵H2、整體形狀熵H3數值相等或三者的遞減幅度均超過50%;最后,對DCNN每一層均采用該參數優化方法,即可獲取卷積神經網絡當前層優選參數,對此DCNN下一隱含層的參數更新則需要獲取網絡深度之后才可進行,網絡深度可根據每次輸出的卷積特征圖來確定,圖3為卷積核和步長參數調整策略實例。
本文采用的DCNN為多層深度卷積網絡結構,圖像每遍歷一個隱含層則會削減一定的熵值,本文構建一個用于表示在當前網絡層中已知特征圖后的函數,用于計算數據集從進入當前隱含層到輸出特征圖之間削減的熵值,如果該數值的遞減量變大,不確定性減小,則當前隱含層的信息增益就會變大,因此,熵消減量的計算就顯得尤為重要。每輸入一幅圖像,獲取該圖像在DCNN中首個卷積層對應的圖像整體熵,計算得到圖像數據集熵H(D)為
(2)
式中NN——圖像數據集中圖像的數量
Hl——單幅圖像在首層對應的圖像熵
l——圖像下標索引序算圖像數據集在DCNN每層的條件熵H(D|f),其表達式為
H(D|f)=H(f,D)-H(f)
(3)
式中H(f,D)——聯合信息熵
H(f)——圖像在每層卷積特征圖中的圖像整體熵
由1.3節可知,在對數據集中每幅圖像卷積后,得到一組卷積特征圖,以此為基礎對圖像整體熵進行消減,即求解當前卷積特征圖下,圖像數據集熵H(D)的變化量,該變化量可表示為式(3)中的條件熵H(D|f)。在式(3)中,生成的特征圖對應的熵H(f)可由1.3節求解,而對聯合信息熵H(f,D)的計算,可通過DCNN在每層得出一個卷積特征圖時,匹配后端全連接層獲取單次分類結果。因此,每獲得一組卷積特征圖,即可求解一次條件熵H(D|f),獲取的H(D|f)即可作為判別當前神經網絡隱含層熵需消減的數值。
由于卷積神經網絡存在多層結構,需要求解經過每層卷積操作后余下的信息熵,因此根據圖像數據集的熵H(D)及其在卷積神經網絡各層對應的條件熵H(D|f),采用遞推公式計算得到卷積神經網絡每層對應的信息增益g,遞推公式為
g(D,fd)=g(D,fd-1)-H(D|fd)
(4)
根據香農信息論中的信息守恒理論[16-17],輸入數據的信息熵應當與輸出數據的信息熵保持一致,然而,根據上述說明內容可知,輸入圖像數據的不確定度經過逐層已知特征條件的解釋后,輸出數據的不確定度大大降低,因此卷積神經網絡中每一層的信息增益必然滿足不確定性程度逐層遞減規則。若在遞減過程中,監測到當前層對應的信息增益g相較上一層對應的信息增益g的增長率不大于50%時,將卷積特征圖作為當前輸入圖像數據輸入下一層,繼續進行相應的卷積操作,反之,則把當前遍歷到的深度作為當前圖像數據集的最佳深度d,根據輸出的特征圖添加兩層全連接層的多分類策略,實現健康蝦和多種染病蝦的識別與分類。
輸入DCNN中的圖像特征差別越大,網絡各層參數越有益于對不同圖像進行更好的特征表達。當確定了一幅南美白對蝦圖像在DCNN中最佳深度d及各層的優選參數,并將最佳深度d所在層的卷積特征圖輸出,網絡則繼續獲取新輸入的對蝦圖像,并對其進行卷積操作,直至滿足卷積運算到d層為止。隨著帶有不同來源標簽的對蝦圖像不斷輸入已建網絡中,每層卷積核和步長都會發生變化。隨著圖像樣本數量的累積以及導入圖像的先后順序不同,且不同來源對蝦之間,健康蝦與染病蝦之間的熵存在不同,經過以上計算可得到不同圖像對應的卷積核和步長,然而不同數據集導入的圖像會由量變引起質變,即卷積核和步長會依據不同數據集中呈現的對蝦圖像類別、每類包含的圖像數量以及導入圖像的先后順序而發生變化。由于構建的5個對蝦圖像數據集中,這3個指標各不相同,因此要調整的卷積核和步長各不相同,卷積核和步長的自適應調整策略如表2所示。

表2 卷積核和步長的自適應調整策略Tab.2 Adaptive adjusting strategies of convolutional kernels and strides
在表2中,C1表示健康蝦類別,C2~C4表示部分不同類型染病蝦類別;表2中()內數據表示對應類別的樣本數量。表2給出的3個指標的變化均會導致所建DCNN中最佳深度d發生變化,網絡深度的自適應調整實例如圖4所示。
1.2~1.4節給出了卷積核、步長以及網絡深度的自適應調整和優化方法,是計算特征圖的關鍵,將對整個網絡權重參數產生直接影響。傳統DCNN中存在較多超參數,例如學習率(Learning rate)、樣本批量大小(Batch size)、權重衰減(Decay weight)、像素膨脹(Dilation)、卷積核數量(Amount of convolutional kernel)、卷積核填充量(Padding)等,這些超參數雖然對整個網絡的權重生成更新產生作用,但是根據文獻[19]的描述,輸出的特征圖與卷積核、步長及網絡深度存在較大關系。自適應卷積神經網絡的建構步驟如下:

圖4 網絡深度的自適應調整實例Fig.4 Example of adaptive adjustment of network depth
(1)構造單層隱含層結構的DCNN,隨機初始化DCNN卷積核和步長,依次將各幅對蝦圖像輸入DCNN網絡。
(2)采用當前層卷積核和步長對每幅圖像進行卷積操作,通過監控器計算當前圖像的整體熵H以及整體顏色熵H1、整體紋理熵H2、整體形狀熵H3,并計算三者的疊加和是否與圖像整體熵H相等。若不等,則終止對當前圖像進行的卷積操作;反之,則將整體顏色熵、整體紋理熵、整體形狀熵中占比最大值作為參數更新依據,對當前層卷積核和步長進行更新。
(3)采用更新后的卷積核和步長重新導入圖像進行卷積操作,直至當前圖像對應的整體顏色熵H1、整體紋理熵H2、整體形狀熵H3滿足預設終止規則,然后將卷積核和步長確定為DCNN當前層的優選參數,將卷積操作后圖像確定為卷積特征圖,預設終止規則為:整體顏色熵H1、整體紋理熵H2、整體形狀熵H3三者相等或者遞減幅度超過50%。
(4)根據卷積特征圖計算得到當前層信息增益g,監測到當前層信息增益g相較上層信息增益g的增長率不大于50%時,將卷積特征圖作為當前圖像輸入下一層繼續進行步驟(2)~(3)的卷積操作,反之,則將當前層對應的深度確定為最佳深度d; 當深度d更新至某個值后,前層信息增益g相較上層的信息增益g的增長率一直不大于50%時,則等到當前訓練集所有圖像輸入網絡后,把當前更新后的深度作為最佳深度,并將根據輸出的特征圖添加兩層全連接層的多分類策略,實現健康蝦和多種染病蝦的分類。
(5)每輸入一批次的南美白對蝦圖像,采用上一批次對蝦圖像對應的最佳深度d,該深度d會隨著輸入圖像的不同而不斷迭代更新,直到滿足步驟(4)中網絡相鄰層信息增益間的數值關系或當前訓練數據集中的圖像輸入完畢,采用參數更新后的DCNN對輸入圖像進行步驟(2)~(4)的卷積操作。自適應卷積神經網絡構建流程如圖5所示。

圖5 自適應卷積神經網絡構建流程Fig.5 Building process of adaptive convolutional neural networks
實驗采用超參數學習率、樣本批量大小、權重衰減、像素膨脹、卷積核數量、卷積核填充,根據前期研究中最佳表現的ShrimpNet-3[5]和Deep-ShrimpNet[6]來確定。實驗設定學習率為10-4,樣本批量大小為128,權重衰減為0.9,實驗對每層網絡進行裁剪操作,選擇裁剪率(Dropout ratio)為0.8,損失函數(Loss function)優化策略采用隨機梯度下降規則(SGD)。在DCNN中,每一個隱含層中包含的卷積核數量各不相同,隨著網絡的加深,輸入圖像卷積后的特征被壓縮,導致卷積核數量不斷增加,這里定義首層卷積層的卷積核數量為16,之后逐層以公差為8構建等差數列進行每層卷積核數量的分配,全連接層FC1、FC2根據最后生成的特征圖向量確定線性分類為10個類別。訓練和測試的對蝦圖像樣本數各占一半,即訓練和測試過程中健康蝦數量均為7011,染病蝦數量為377,健康蝦和染病蝦圖像均在自然場景下采用不同背景獲取,構建DCNN的訓練和測試過程均采用Python 3.6.2和深度學習工具箱Pytorch 4.0.1,計算機系統采用酷睿i7Gen處理器,32 GB內存,顯卡采用GTX1050Ti(4G)GPUs。
2.2.1混淆矩陣
采用2.1節構建的5個對蝦圖像數據集,總共包含健康蝦圖像14 022幅,染病蝦圖像754幅。為驗證本文所建DCNN可實現健康蝦及每類染病蝦的高效分類,建立了表3所示的混淆矩陣。

表3 混淆矩陣實驗結果Tab.3 Experimental results expressed by confusion matrix 幅
由表3可知,14 022幅圖像中有13 799幅健康蝦圖像被正確識別,但存在223幅健康蝦圖像被誤識為染病蝦,其中被誤判為WSSV、SHIV、CMNV、HPV共4類染病蝦占比最高,占比分別達到14%、19%、23%、26%。從它們的外觀特征來看,部分WSSV染病蝦外觀的白斑覆蓋區域較少,此白斑也通常存在于對蝦的附足、蝦須、表殼等處,這些細微的白色斑點易與蝦體外在的由環境應激反應生成的自然斑點產生混淆,造成誤識別;SHIV染病蝦往往會在附足上體內蝦肉蛋白與氧氣結合產生化學反應導致黑變,當黑變區域變小或特征不明顯時,易產生誤識別;HPV染病蝦早期癥狀往往發生在對蝦頭胸部的內臟中,內部肝胰臟發生部分塌陷、腐敗,之后對蝦幾乎不進食,導致空腸、紅腸等現象,而在DCNN的中低卷積層中,卷積核和步長如果被優選為較大數值,則容易導致此類細節特征容易被忽視,易發生誤識別。對于CMNV染病蝦,早期發病狀態下,其外觀形態、顏色、紋理特征都與健康蝦相似,導致卷積特征無法學習到CMNV染病蝦特有的外觀特性,導致誤識別。在染病蝦識別中,同樣存在分類錯誤的圖像,例如PVNV染病蝦有3幅圖像被誤識別為SHIV,LSNV有3幅圖像被誤識別為PVNV,這些錯分的樣本除了與它們自身外觀特征相似之外,還與獲取的圖像清晰度、圖像復雜度以及圖像背景的復雜程度相關。
2.2.2數據集泛化
對所提方法的識別精度以及泛化屬性進行實驗,結果如表4所示。表4中識別精度是指在單個數據集上得出的實驗結果,泛化精度指采用當前數據集構建的DCNN模型,在其他4個數據集上計算對蝦識別的測試準確率的平均值,染病蝦泛化精度指采用當前數據集構建DCNN模型,在其他4個數據集上的染病蝦樣本進行識別準確率的平均值,健康蝦泛化精度指采用當前數據集構建DCNN模型,在其他4個數據集上的健康蝦樣本進行識別準確率的平均值,泛化精度+則表示當進行泛化程序時加入本文所提方法得出的泛化精度。

表4 不同數據集的泛化結果Tab.4 Generalization results of different datasets %
實驗結果表明,所建模型在數據集5上的識別精度最高,為97.96%,并在其他4個數據集上進行泛化,泛化精度下降幅度均小于5個百分點,且染病蝦泛化精度最高達到92.76%,健康蝦泛化精度最高達到97.10%。所提方法在數據集5上泛化能力較好,其原因除了與當前數據集所包含染病蝦的種類有關外,還與數據集5中所涉及的染病蝦外觀形態的多樣性以及圖像樣本之間的離散度有關,因為數據集5中包含染病蝦圖像的復雜度越高,樣本圖像覆蓋范圍越廣,需要采用更大的信息熵進行復雜度的消減,耗費了較大的能量輸出,通過自適應卷積神經網絡的訓練越容易得出較為魯棒的模型,所建函數可以極限逼近相似圖像空間,獲得較為泛化的實驗結果。由于不同數據集之間的圖像復雜度、同類別的緊實度和不同類別的離散度[16]之間存在較大差別,要適應這些具有不同熵的數據集,泛化精度必定有一定幅度的下降,但當繼續在新導入的圖像數據開始之后,啟用本文所提出的超參數自動優化方法,原始網絡又會對卷積核和步長及網絡深度進行更新與調整,重新完成DCNN建模,泛化精度提升到與原始DCNN建模同樣精度水平。
根據文獻[20]描述,單幅圖像復雜度由其中物體數量、不同類物體數量、遮擋區域、模糊程度、非對稱性、物體覆蓋平均面積、復雜物體數量7個指標組成,而不同數據集內部復雜度除了由每幅圖像的復雜度組成外,還包含了類別之間的特征重疊度、同類圖像間緊實度、線性可分行、空間覆蓋率及不同類圖像間離散度等[21],這些用于描述數據集復雜度的指標都有對應的函數表示形式[22],描述函數越復雜,所在數據集的熵就越大,這就意味著需要構建較深的DCNN來消解數據集的熵,因為不同深度的DCNN所能擬合的函數不同,隨著網絡層數的增加,所能表示的函數復雜度越高,恰好可以解決由高數據圖像熵所帶來的數據集高度復雜的問題,因此本實驗從該角度出發得到如圖6所示的數據集內部圖像熵與網絡深度之間的關系柱狀圖。

圖6 不同數據集對應的網絡深度Fig.6 Depth of network corresponding to image entropy in different datasets
圖6表明,復雜度越高的數據集,其對應的識別難度越大,越需要構建高度復雜的DCNN結構,從而獲得較高的識別精度。不同數據集對應的網絡深度優化結果存在較大區別,聚焦單個數據集可得出以下規律:染病蝦類型較多且數據集復雜度較高的數據集得出的網絡深度較大。以數據集3為例,其中包含有3 574幅健康蝦圖像和215幅染病蝦圖像,健康蝦圖像之間的差異較小,但是對于分布在3個病毒侵染類別的染病蝦(中國對蝦諾如病、白斑綜合征病、野田春偷死病),即使屬于同一個類別,在其形態、紋理、顏色方面也存在一定差異,這使得該數據集的復雜度較高,需要構建較深的DCNN進行熵的消解。為了進一步闡述單幅圖像蘊含的熵與DCNN網絡層數之間的關系,圖7以數據集3為例展示了熵特征與深度網絡層數之間的關系,其中熵特征為整個數據集熵的平均值。

圖7 圖像熵與深度網絡層數之間的關系Fig.7 Relationship between image entropy and depth of deep network
圖7a為數據集3整體熵對隨機批次梯度下降(SGD)在DCNN中的變化趨勢圖,在圖7a中,整體熵在DCNN的前5層下降迅速,后面下降速度開始逐漸放緩,原因主要是輸出卷積特征圖的有效性,DCNN前5層提取的對蝦特征對染病蝦的識別起到了關鍵作用,因此在后期為了把所提方法用于在線識別,該DCNN可縮減為一個具有5層結構的精簡網絡;在顏色熵方面(圖7b),其在DCNN的前10層下降迅速,尤其顯著的是前3層下降尤為迅速,10層之后下降速度開始逐漸放緩,說明顏色特征在識別染病蝦的過程中起到了極為關鍵的作用,因此造成前3層下降迅速;在紋理熵方面(圖7c),紋理熵在DCNN的前8層下降迅速,前4層下降尤為迅速,8層之后下降速度開始逐漸放緩,說明不同養殖源對蝦在紋理特征的表達差異可通過所構建DCNN的前4層予以提取,這與在整體熵及顏色熵中分析的結果相一致,也體現了紋理特征的重要性;在形態熵方面(圖7d),來自不同源頭對蝦在外觀形態上的差異不明顯,整體形態熵下降趨勢比較平緩,說明形態特征隨著網絡層數的加深逐漸提取完成。
針對DCNN中的熵逐層衰減機制是否可以等價于把原始圖像數據的高維空間降解為低維空間的問題,本文繪制了如圖8所示的散點圖,其中不同顏色的實心圓點表示不同的對蝦類別(9類染病蝦和1類健康蝦)。從數據集1~5中,各類別分別抽取80幅圖像進行降維實驗,圖8a~8f表示DCNN中從第1層到第6層的原始數據集圖像樣本的降維褪熵結果。

圖8 各類圖像復雜度隨DCNN逐層降維褪熵過程Fig.8 Various image complexity declining processes by deepening into DCNN layers
由圖8可知,隨著DCNN隱含層數的逐漸加深,各類樣本在由顏色熵和紋理熵構成的二維空間的聚合程度越來越好,而且隨著各類樣本的精確耦合,顏色熵和紋理熵的數值也在逐層下降,尤其在前5層之內下降迅速,這與圖7的實驗結果高度吻合。隨著DCNN層數加深,各類朝著最有利于優化特征表達的方向聚合,其主要原因在于借助信息守恒定律把熵的衰減量與新生成蝦關鍵部位的新特征產生了關聯,例如對于WSSV染病蝦,在輸出的特征圖中會生成攜帶著對蝦觸角、附足、蝦殼等處的白色斑點特征,這種白色斑點一旦形成,當前網絡層對應的紋理熵和顏色熵就會定量消減,產生關聯效應,此類關聯的例子也可從HPV、PVNV、CMNV等染病蝦例子中給予說明,這對從香農信息論角度解釋深度卷積神經網絡的內部運行機制具有重要意義。
為了驗證所提方法的優越性,本文將所提方法與其他文獻中的對蝦識別方法進行比較,實驗結果如表5所示,其中測試精度為5個數據集的平均測試精度,以上測試精度和泛化精度的測試都進行了5組實驗,表5為5組實驗結果的平均值。
在傳統對蝦品質識別研究中,研究者嘗試構建精密且高復雜度的對蝦特征提取與識別算法,例如ECO組合特征[23]、對蝦形態骨架幾何特征[24]、特征黑變分割[25]、完整性檢測[25]、組合法[26]、迭代法[27]等,這些方法雖然在某些特定問題中可取得較高識別精度,但是泛化能力較弱,即使是針對同一地區、同一養殖池塘以及同一養殖環境的南美白對蝦樣本,都會存在準確率退化現象,因此后來有學者針對該問題提出采用不同的淺層和深層神經網絡方法,例如淺層神經網絡[2]、改進LeNet網絡[5]、改進AlexNet網絡[6],雖然這些網絡有助于解決這些問題,但是難以確定深度網絡中的未知參數以及結構,單純靠試錯方式無法獲取高效的深度網絡模型。本文方法可以解決此類問題,提升了網絡執行的效率,減小了由于樣本圖像數據泛化帶來的精度振蕩問題。本文方法的測試精度可以達到97.83%,高于其他方法的測試精度,而且本文方法對于傳統方法是一次全面的泛化精度提升,相比于改進AlexNet網絡,本文方法提升了6.88個百分點。

表5 本文方法與其他對蝦識別方法性能比較Tab.5 Results comparison between the proposed method and other shrimp recognition methods %
(1)首先引入香農信息論將不同來源對蝦所建數據集的復雜度通過顏色、紋理、形狀進行熵特征表示,把原始數據集的圖像導入初始化DCNN網絡中,依據輸出特征圖建立卷積核和步長的優化方法;然后,根據熵減規則依次計算每一卷積層被消減的熵,建立網絡深度優化策略;最后,根據具有不同復雜度的數據集進行參數更新和調整,獲取最佳的DCNN網絡參數和結構。
(2)實驗結果表明,DCNN網絡模型的性能表現與數據集復雜度及其中圖像數量都具有一定關系,這也解釋了在不同數據集上構建DCNN所能逼近的函數差異的較大差異,而樣本越多越有利于網絡模型學習到眾多樣本中隱藏的特征空間分布特性,對最終的模型測試精度和泛化精度具有較大貢獻。實驗也證實,本文引入信息熵可以有效表征DCNN每層輸入圖像復雜度遞減特性:隨著DCNN層數遞增和網絡結構加深,數據集的整體信息熵存在逐步遞減規律。從實驗數據上來看,所建模型在單個數據集上的識別精度最高為97.96%,并在其他4個數據集上進行泛化,泛化精度下降幅度均小于5個百分點。