劉子豪 張素蘭 賈小軍 楊 俊 張 文 徐志玲
(1.嘉興學(xué)院信息科學(xué)與工程學(xué)院, 嘉興 314001; 2.西南科技大學(xué)生命科學(xué)與工程學(xué)院, 綿陽 621010;3.中國計(jì)量大學(xué)質(zhì)量與安全工程學(xué)院, 杭州 310018)
在我國甲殼類水產(chǎn)養(yǎng)殖業(yè)中,南美白對蝦的養(yǎng)殖占比最高,養(yǎng)殖面積逐年擴(kuò)大,進(jìn)出口貿(mào)易額逐年遞增[1]。然而,對蝦養(yǎng)殖業(yè)長期遭受病毒、細(xì)菌類的病害侵襲,在收獲的生鮮蝦群中常混有不同類型和不同感染時(shí)期的染病蝦,在后期的去頭、蒸煮、蝦殼剝離等加工環(huán)節(jié)中,如果不及時(shí)剔除這些染病蝦,會(huì)對健康蝦群造成大面積污染,導(dǎo)致巨大經(jīng)濟(jì)損失[2]。有研究表明[3],易侵入對蝦體內(nèi)的病毒種類一共有100多種,其中最常見易侵病毒有虹彩病毒、桃拉病毒、白斑綜合征病毒、黃頭病毒、傳染性皮下及造血組織壞死病毒等,這些病毒感染性極強(qiáng)、致死率高,是近年來對蝦養(yǎng)殖行業(yè)的殺手。
針對染病蝦的高效智能識別問題,有學(xué)者采用不同結(jié)構(gòu)神經(jīng)網(wǎng)絡(luò)構(gòu)建對蝦品質(zhì)的自動(dòng)檢測方法。HU等[4]根據(jù)不同蝦類在外觀表達(dá)的特征提出卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)(ShrimpNet),該網(wǎng)絡(luò)包含2個(gè)卷積層、2個(gè)池化層和2個(gè)全連接層,ShrimpNet的分類精度可達(dá)95.48%,所提方法為6種蝦類的判別提供了一種高效手段;洪寒梅[5]提出了基于淺層神經(jīng)網(wǎng)絡(luò)結(jié)合雙閾值分割算法的熟蝦新鮮度判別算法,根據(jù)不同熟蝦黑變區(qū)域的腐變程度進(jìn)行顏色特征的提取,導(dǎo)入構(gòu)建的淺層神經(jīng)網(wǎng)絡(luò)進(jìn)行黑變熟蝦的新鮮度分類;HASSAN等[6]認(rèn)為,采用人工神經(jīng)網(wǎng)絡(luò)模型(ANN)可對冷凍生鮮蝦的新鮮度進(jìn)行判定,并指出ANN模型的決定系數(shù)為0.987,優(yōu)于自適應(yīng)神經(jīng)網(wǎng)絡(luò)的模糊推理系統(tǒng)(ANFIS)和響應(yīng)面方法(RSM),論證了ANN可用于冷凍生鮮蝦新鮮度判定的可行性;YU等[7]通過引入近紅外高光譜技術(shù)評估了生鮮蝦的新鮮度,并采用深度學(xué)習(xí)技術(shù)統(tǒng)計(jì)高光譜數(shù)據(jù),挖掘數(shù)據(jù)內(nèi)部的新鮮度判別信息。已有研究為南美白對蝦品質(zhì)檢測引入了一種新型的深度學(xué)習(xí)方法,論證了該方法運(yùn)用于對蝦健康狀態(tài)判別的可行性?;谝陨涎芯?,本團(tuán)隊(duì)在前期研究的基礎(chǔ)上開展了一系列擴(kuò)展性的研究工作[8-10]。由于神經(jīng)網(wǎng)絡(luò)模型是黑箱,根據(jù)以上相關(guān)研究,現(xiàn)階段暫無法揭示其內(nèi)部的運(yùn)行機(jī)制,對于待分類較為簡單的任務(wù)尚可滿足要求,但是對于復(fù)雜樣本數(shù)據(jù)集以及待分類類別較多情況,則無法滿足通過訓(xùn)練簡單的ANN達(dá)成目標(biāo),此時(shí)需要根據(jù)不同圖像數(shù)據(jù)集的內(nèi)部空間結(jié)構(gòu)和不確定度重構(gòu)卷積神經(jīng)網(wǎng)絡(luò)模型。
雖然國內(nèi)外已開展較多相關(guān)研究,但大多集中于運(yùn)用單個(gè)養(yǎng)殖源樣本所建數(shù)據(jù)集進(jìn)行算法的測試與更新,當(dāng)把這些現(xiàn)有方法拓展到多批次對蝦樣本的識別中,識別精度存在一定程度的震蕩,所建模型的穩(wěn)定性和魯棒性較差。因此,基于以上問題,本文引入香農(nóng)信息論,根據(jù)不同來源的南美白對蝦圖像所表達(dá)的外觀特征差異,構(gòu)造染病蝦識別的卷積神經(jīng)網(wǎng)絡(luò)自動(dòng)更迭模型,采集不同地區(qū)對蝦養(yǎng)殖池塘樣本建立圖像數(shù)據(jù)集測試所建模型的有效性,根據(jù)數(shù)據(jù)集分類前后所呈現(xiàn)熵減規(guī)則,構(gòu)建初始化深層卷積神經(jīng)網(wǎng)絡(luò)(DCNN),并依據(jù)圖像特征與熵特征的對應(yīng)關(guān)系優(yōu)化網(wǎng)絡(luò)的卷積核和步長參數(shù),獲取DCNN每個(gè)卷積層的信息增益的變化量,基于此計(jì)算DCNN的最佳深度,構(gòu)造自適應(yīng)參數(shù)調(diào)整的DCNN模型,完成不同來源染病蝦的自動(dòng)識別。
為了驗(yàn)證本文所提方法的有效性,研究團(tuán)隊(duì)在2017—2020年間深入華南、華北以及江浙一帶采集南美白對蝦樣本,分別在杭州市蕭山地區(qū)、山東省青島市、廣東省湛江市、福建省閩南地區(qū)、嘉興市海寧地區(qū)等核心養(yǎng)蝦區(qū)進(jìn)行走訪和調(diào)研,發(fā)現(xiàn)這五地均因各種原因暴發(fā)過大規(guī)模病毒入侵事件,但是不同地區(qū)侵染對蝦的病毒種類存在差異,例如,江浙地區(qū)易侵入病毒[11]主要有虹彩病毒(SHIV)、辛格病毒(LSNV)、桃拉病毒(TSV);華南地區(qū)易侵入病毒[12]主要為中國對蝦諾如病毒(PVNV)、白斑綜合征病毒(WSSV)、野田春偷死病毒(CMNV);華北地區(qū)易侵入的病毒[13]主要有傳染性肌壞死病毒(IMNV)、細(xì)小病毒(HPV)、感染性皮下造血壞死病毒(IHHNV)。因?yàn)槿静∥r易腐敗且不宜遠(yuǎn)距離、長時(shí)間運(yùn)輸,因此本研究就地進(jìn)行圖像樣本獲取,使用不同背景及不同角度的拍攝方式獲取圖像,使得圖像的背景更加多樣性。采用Canon(EOS-70D型)相機(jī),配備Sony鏡頭(EF-S-18-135型),相機(jī)像素為5 060萬。基于獲取的圖像樣本,建立了5個(gè)對蝦圖像數(shù)據(jù)集,具體分布如表1所示。
表1 國內(nèi)南美白對蝦樣本養(yǎng)殖主要地區(qū)獲取的圖像樣本量Tab.1 Shrimp image samples acquired from different shrimp cultivation areas of China 幅
5個(gè)地區(qū)健康對蝦外觀并不存在顯著差異,部分染病蝦在外觀上存在差異,該差異可作為采用模式識別方法進(jìn)行對蝦品質(zhì)判別的基礎(chǔ)。圖1為健康蝦與9種染病蝦的圖像對比。
圖1 健康蝦與9種類型染病蝦的圖像對比Fig.1 Image comparisons between healthy and nine types of diseased shrimp
引入信息熵[14]構(gòu)建不同對蝦圖像數(shù)據(jù)集之間的特征差異,論證圖像信息熵對DCNN的作用關(guān)系。模型在訓(xùn)練過程中,信息熵隨著神經(jīng)網(wǎng)絡(luò)層數(shù)的增加而逐層遞減,圖像數(shù)據(jù)集的整體信息熵最大,分類后圖像已被轉(zhuǎn)換為一維空間的類別標(biāo)簽,當(dāng)輸出圖像類別標(biāo)簽時(shí),信息熵最小,滿足熵減規(guī)則[15]。熵減規(guī)則可使得神經(jīng)網(wǎng)絡(luò)內(nèi)部的有效操作逐層降低DCNN的不確定性,使對蝦分類結(jié)果越來越明晰,最終使得信息熵逐漸趨向于零。運(yùn)用信息熵解決多分類問題的前提是把圖像特征先轉(zhuǎn)換為熵特征,再進(jìn)行計(jì)算。
為了實(shí)現(xiàn)圖像與熵特征的相互轉(zhuǎn)換,引入圖像整體熵、整體顏色熵、整體紋理熵、整體形狀熵、單元顏色熵、單元紋理熵、單元形狀熵共七大特征熵[16]。圖像整體熵表示圖像不確定度,整體顏色熵、整體紋理熵、整體形狀熵表示圖像中對蝦表面顏色、紋理、形狀的不確定度,單元顏色熵、單元紋理熵、單元形狀熵表示圖像中塊區(qū)域的顏色、紋理、形狀的不確定度。圖像熵也可理解為圖像所具備的各種類型的能量,復(fù)雜度越高的圖像對應(yīng)能量就越高,而要消解這些能量則需要設(shè)計(jì)復(fù)雜的超參數(shù)組合和構(gòu)造復(fù)雜的DCNN結(jié)構(gòu)。
圖像整體熵H可由整體顏色熵H1、整體紋理熵H2與整體形狀熵H3之和表示,而且對于每幅對蝦圖像,分別計(jì)算單幅圖像的單元顏色熵Hcij、單元紋理熵Htij和單元形狀熵Hsij,將各個(gè)單元顏色熵之和確定為圖像整體顏色熵H1,將各個(gè)單元紋理熵之和確定為圖像整體紋理熵H2,將各個(gè)單元形狀熵之和確定為圖像整體形狀熵H3。在不同養(yǎng)殖源采集的對蝦樣本在外觀上存在差異,這種差異可用熵特征整體與局部之間的對應(yīng)關(guān)系進(jìn)行表示,即
(1)
式中M、N——局部圖像長、寬
i、j——像素下標(biāo)索引序式(1)中,左邊等式描述一幅圖像的整體熵等價(jià)于該幅圖像的顏色熵、紋理熵和形狀熵之和,右邊等式描述一幅圖像整體顏色、紋理、形狀的信息熵等價(jià)于該圖像中各個(gè)子區(qū)域顏色、紋理、形狀的信息熵累加之和,這里子區(qū)域的劃分要遵循整體與局部的特征等價(jià)關(guān)系,而且要與網(wǎng)絡(luò)每層獲取的卷積核尺寸(Convolutional kernel size)保持一致。單元顏色熵、紋理熵以及形狀熵的計(jì)算方法參見文獻(xiàn)[17],采用這3種熵特征對局部圖像特征進(jìn)行表示,單幅圖像的整體熵特征等價(jià)于各個(gè)局部子區(qū)域的熵特征的累加之和。
構(gòu)建卷積核和步長的自適應(yīng)優(yōu)化方法的最初階段,需要構(gòu)造一個(gè)初始化網(wǎng)絡(luò),該網(wǎng)絡(luò)具有1個(gè)輸入層、1個(gè)卷積層和2個(gè)全連接層,如圖2所示(SS表示健康蝦)。本文討論的方法將在此網(wǎng)絡(luò)的基礎(chǔ)上進(jìn)行優(yōu)化和延展,涉及到卷積核與步長。
圖2 初始網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Initial network structure
不同地區(qū)采集的南美白對蝦樣本在外觀差異上主要體現(xiàn)在顏色、紋理、形狀方面,而這些差異可基于1.2節(jié)給出的顏色熵H1、紋理熵H2、形狀熵H3進(jìn)行計(jì)算。卷積核和步長是設(shè)計(jì)有效DCNN的兩大核心超參數(shù),卷積核表示在某一隱含層進(jìn)行卷積操作時(shí)所選取的卷積核尺寸,即卷積窗口尺寸。卷積核越小,遍歷計(jì)算越多,輸出特征圖尺寸越大,反之越小;步長表示在某一隱含層進(jìn)行卷積操作時(shí),遍歷窗口的移動(dòng)距離,步長越小,遍歷計(jì)算越多,輸出特征圖尺寸越大,反之越小。卷積核、步長、輸出特征圖之間關(guān)系參見文獻(xiàn)[18]。
圖3 卷積核和步長調(diào)整策略Fig.3 Diagram of adjusting convolutional kernel and stride strategies
DCNN中的卷積核與步長的自適應(yīng)優(yōu)化方法如下:首先,隨機(jī)初始化卷積操作中的卷積核和步長參數(shù),以這兩個(gè)參數(shù)對原始輸入圖像進(jìn)行卷積操作,在對每一個(gè)圖像進(jìn)行卷積的同時(shí),安插監(jiān)控器對每次卷積操作進(jìn)行監(jiān)控,并計(jì)算當(dāng)前圖像的單元顏色熵、單元紋理熵和單元形狀熵,當(dāng)遍歷完一幅對蝦圖像時(shí),統(tǒng)計(jì)以上三者疊加之和與整體圖像熵是否滿足式(1),若不滿足,則終止對當(dāng)前圖像進(jìn)行的卷積操作,向卷積神經(jīng)網(wǎng)絡(luò)輸入下一幅圖像進(jìn)行當(dāng)前層的卷積操作;若滿足式(1),則計(jì)算整體顏色熵H1、整體紋理熵H2、整體形狀熵H3累加之和在H中所占比重,將占比較大的熵依據(jù)前期研究結(jié)果對顏色、紋理和形狀的不同調(diào)節(jié)策略進(jìn)行參數(shù)更新,再對卷積核和步長進(jìn)行參數(shù)微調(diào)。調(diào)整參數(shù)后,重新對輸入圖像進(jìn)行卷積操作,直到圖像的整體顏色熵H1、整體紋理熵H2、整體形狀熵H3數(shù)值相等或三者的遞減幅度均超過50%;最后,對DCNN每一層均采用該參數(shù)優(yōu)化方法,即可獲取卷積神經(jīng)網(wǎng)絡(luò)當(dāng)前層優(yōu)選參數(shù),對此DCNN下一隱含層的參數(shù)更新則需要獲取網(wǎng)絡(luò)深度之后才可進(jìn)行,網(wǎng)絡(luò)深度可根據(jù)每次輸出的卷積特征圖來確定,圖3為卷積核和步長參數(shù)調(diào)整策略實(shí)例。
本文采用的DCNN為多層深度卷積網(wǎng)絡(luò)結(jié)構(gòu),圖像每遍歷一個(gè)隱含層則會(huì)削減一定的熵值,本文構(gòu)建一個(gè)用于表示在當(dāng)前網(wǎng)絡(luò)層中已知特征圖后的函數(shù),用于計(jì)算數(shù)據(jù)集從進(jìn)入當(dāng)前隱含層到輸出特征圖之間削減的熵值,如果該數(shù)值的遞減量變大,不確定性減小,則當(dāng)前隱含層的信息增益就會(huì)變大,因此,熵消減量的計(jì)算就顯得尤為重要。每輸入一幅圖像,獲取該圖像在DCNN中首個(gè)卷積層對應(yīng)的圖像整體熵,計(jì)算得到圖像數(shù)據(jù)集熵H(D)為
(2)
式中NN——圖像數(shù)據(jù)集中圖像的數(shù)量
Hl——單幅圖像在首層對應(yīng)的圖像熵
l——圖像下標(biāo)索引序算圖像數(shù)據(jù)集在DCNN每層的條件熵H(D|f),其表達(dá)式為
H(D|f)=H(f,D)-H(f)
(3)
式中H(f,D)——聯(lián)合信息熵
H(f)——圖像在每層卷積特征圖中的圖像整體熵
由1.3節(jié)可知,在對數(shù)據(jù)集中每幅圖像卷積后,得到一組卷積特征圖,以此為基礎(chǔ)對圖像整體熵進(jìn)行消減,即求解當(dāng)前卷積特征圖下,圖像數(shù)據(jù)集熵H(D)的變化量,該變化量可表示為式(3)中的條件熵H(D|f)。在式(3)中,生成的特征圖對應(yīng)的熵H(f)可由1.3節(jié)求解,而對聯(lián)合信息熵H(f,D)的計(jì)算,可通過DCNN在每層得出一個(gè)卷積特征圖時(shí),匹配后端全連接層獲取單次分類結(jié)果。因此,每獲得一組卷積特征圖,即可求解一次條件熵H(D|f),獲取的H(D|f)即可作為判別當(dāng)前神經(jīng)網(wǎng)絡(luò)隱含層熵需消減的數(shù)值。
由于卷積神經(jīng)網(wǎng)絡(luò)存在多層結(jié)構(gòu),需要求解經(jīng)過每層卷積操作后余下的信息熵,因此根據(jù)圖像數(shù)據(jù)集的熵H(D)及其在卷積神經(jīng)網(wǎng)絡(luò)各層對應(yīng)的條件熵H(D|f),采用遞推公式計(jì)算得到卷積神經(jīng)網(wǎng)絡(luò)每層對應(yīng)的信息增益g,遞推公式為
g(D,fd)=g(D,fd-1)-H(D|fd)
(4)
根據(jù)香農(nóng)信息論中的信息守恒理論[16-17],輸入數(shù)據(jù)的信息熵應(yīng)當(dāng)與輸出數(shù)據(jù)的信息熵保持一致,然而,根據(jù)上述說明內(nèi)容可知,輸入圖像數(shù)據(jù)的不確定度經(jīng)過逐層已知特征條件的解釋后,輸出數(shù)據(jù)的不確定度大大降低,因此卷積神經(jīng)網(wǎng)絡(luò)中每一層的信息增益必然滿足不確定性程度逐層遞減規(guī)則。若在遞減過程中,監(jiān)測到當(dāng)前層對應(yīng)的信息增益g相較上一層對應(yīng)的信息增益g的增長率不大于50%時(shí),將卷積特征圖作為當(dāng)前輸入圖像數(shù)據(jù)輸入下一層,繼續(xù)進(jìn)行相應(yīng)的卷積操作,反之,則把當(dāng)前遍歷到的深度作為當(dāng)前圖像數(shù)據(jù)集的最佳深度d,根據(jù)輸出的特征圖添加兩層全連接層的多分類策略,實(shí)現(xiàn)健康蝦和多種染病蝦的識別與分類。
輸入DCNN中的圖像特征差別越大,網(wǎng)絡(luò)各層參數(shù)越有益于對不同圖像進(jìn)行更好的特征表達(dá)。當(dāng)確定了一幅南美白對蝦圖像在DCNN中最佳深度d及各層的優(yōu)選參數(shù),并將最佳深度d所在層的卷積特征圖輸出,網(wǎng)絡(luò)則繼續(xù)獲取新輸入的對蝦圖像,并對其進(jìn)行卷積操作,直至滿足卷積運(yùn)算到d層為止。隨著帶有不同來源標(biāo)簽的對蝦圖像不斷輸入已建網(wǎng)絡(luò)中,每層卷積核和步長都會(huì)發(fā)生變化。隨著圖像樣本數(shù)量的累積以及導(dǎo)入圖像的先后順序不同,且不同來源對蝦之間,健康蝦與染病蝦之間的熵存在不同,經(jīng)過以上計(jì)算可得到不同圖像對應(yīng)的卷積核和步長,然而不同數(shù)據(jù)集導(dǎo)入的圖像會(huì)由量變引起質(zhì)變,即卷積核和步長會(huì)依據(jù)不同數(shù)據(jù)集中呈現(xiàn)的對蝦圖像類別、每類包含的圖像數(shù)量以及導(dǎo)入圖像的先后順序而發(fā)生變化。由于構(gòu)建的5個(gè)對蝦圖像數(shù)據(jù)集中,這3個(gè)指標(biāo)各不相同,因此要調(diào)整的卷積核和步長各不相同,卷積核和步長的自適應(yīng)調(diào)整策略如表2所示。
表2 卷積核和步長的自適應(yīng)調(diào)整策略Tab.2 Adaptive adjusting strategies of convolutional kernels and strides
在表2中,C1表示健康蝦類別,C2~C4表示部分不同類型染病蝦類別;表2中()內(nèi)數(shù)據(jù)表示對應(yīng)類別的樣本數(shù)量。表2給出的3個(gè)指標(biāo)的變化均會(huì)導(dǎo)致所建DCNN中最佳深度d發(fā)生變化,網(wǎng)絡(luò)深度的自適應(yīng)調(diào)整實(shí)例如圖4所示。
1.2~1.4節(jié)給出了卷積核、步長以及網(wǎng)絡(luò)深度的自適應(yīng)調(diào)整和優(yōu)化方法,是計(jì)算特征圖的關(guān)鍵,將對整個(gè)網(wǎng)絡(luò)權(quán)重參數(shù)產(chǎn)生直接影響。傳統(tǒng)DCNN中存在較多超參數(shù),例如學(xué)習(xí)率(Learning rate)、樣本批量大小(Batch size)、權(quán)重衰減(Decay weight)、像素膨脹(Dilation)、卷積核數(shù)量(Amount of convolutional kernel)、卷積核填充量(Padding)等,這些超參數(shù)雖然對整個(gè)網(wǎng)絡(luò)的權(quán)重生成更新產(chǎn)生作用,但是根據(jù)文獻(xiàn)[19]的描述,輸出的特征圖與卷積核、步長及網(wǎng)絡(luò)深度存在較大關(guān)系。自適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)的建構(gòu)步驟如下:
圖4 網(wǎng)絡(luò)深度的自適應(yīng)調(diào)整實(shí)例Fig.4 Example of adaptive adjustment of network depth
(1)構(gòu)造單層隱含層結(jié)構(gòu)的DCNN,隨機(jī)初始化DCNN卷積核和步長,依次將各幅對蝦圖像輸入DCNN網(wǎng)絡(luò)。
(2)采用當(dāng)前層卷積核和步長對每幅圖像進(jìn)行卷積操作,通過監(jiān)控器計(jì)算當(dāng)前圖像的整體熵H以及整體顏色熵H1、整體紋理熵H2、整體形狀熵H3,并計(jì)算三者的疊加和是否與圖像整體熵H相等。若不等,則終止對當(dāng)前圖像進(jìn)行的卷積操作;反之,則將整體顏色熵、整體紋理熵、整體形狀熵中占比最大值作為參數(shù)更新依據(jù),對當(dāng)前層卷積核和步長進(jìn)行更新。
(3)采用更新后的卷積核和步長重新導(dǎo)入圖像進(jìn)行卷積操作,直至當(dāng)前圖像對應(yīng)的整體顏色熵H1、整體紋理熵H2、整體形狀熵H3滿足預(yù)設(shè)終止規(guī)則,然后將卷積核和步長確定為DCNN當(dāng)前層的優(yōu)選參數(shù),將卷積操作后圖像確定為卷積特征圖,預(yù)設(shè)終止規(guī)則為:整體顏色熵H1、整體紋理熵H2、整體形狀熵H3三者相等或者遞減幅度超過50%。
(4)根據(jù)卷積特征圖計(jì)算得到當(dāng)前層信息增益g,監(jiān)測到當(dāng)前層信息增益g相較上層信息增益g的增長率不大于50%時(shí),將卷積特征圖作為當(dāng)前圖像輸入下一層繼續(xù)進(jìn)行步驟(2)~(3)的卷積操作,反之,則將當(dāng)前層對應(yīng)的深度確定為最佳深度d; 當(dāng)深度d更新至某個(gè)值后,前層信息增益g相較上層的信息增益g的增長率一直不大于50%時(shí),則等到當(dāng)前訓(xùn)練集所有圖像輸入網(wǎng)絡(luò)后,把當(dāng)前更新后的深度作為最佳深度,并將根據(jù)輸出的特征圖添加兩層全連接層的多分類策略,實(shí)現(xiàn)健康蝦和多種染病蝦的分類。
(5)每輸入一批次的南美白對蝦圖像,采用上一批次對蝦圖像對應(yīng)的最佳深度d,該深度d會(huì)隨著輸入圖像的不同而不斷迭代更新,直到滿足步驟(4)中網(wǎng)絡(luò)相鄰層信息增益間的數(shù)值關(guān)系或當(dāng)前訓(xùn)練數(shù)據(jù)集中的圖像輸入完畢,采用參數(shù)更新后的DCNN對輸入圖像進(jìn)行步驟(2)~(4)的卷積操作。自適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建流程如圖5所示。
圖5 自適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)構(gòu)建流程Fig.5 Building process of adaptive convolutional neural networks
實(shí)驗(yàn)采用超參數(shù)學(xué)習(xí)率、樣本批量大小、權(quán)重衰減、像素膨脹、卷積核數(shù)量、卷積核填充,根據(jù)前期研究中最佳表現(xiàn)的ShrimpNet-3[5]和Deep-ShrimpNet[6]來確定。實(shí)驗(yàn)設(shè)定學(xué)習(xí)率為10-4,樣本批量大小為128,權(quán)重衰減為0.9,實(shí)驗(yàn)對每層網(wǎng)絡(luò)進(jìn)行裁剪操作,選擇裁剪率(Dropout ratio)為0.8,損失函數(shù)(Loss function)優(yōu)化策略采用隨機(jī)梯度下降規(guī)則(SGD)。在DCNN中,每一個(gè)隱含層中包含的卷積核數(shù)量各不相同,隨著網(wǎng)絡(luò)的加深,輸入圖像卷積后的特征被壓縮,導(dǎo)致卷積核數(shù)量不斷增加,這里定義首層卷積層的卷積核數(shù)量為16,之后逐層以公差為8構(gòu)建等差數(shù)列進(jìn)行每層卷積核數(shù)量的分配,全連接層FC1、FC2根據(jù)最后生成的特征圖向量確定線性分類為10個(gè)類別。訓(xùn)練和測試的對蝦圖像樣本數(shù)各占一半,即訓(xùn)練和測試過程中健康蝦數(shù)量均為7011,染病蝦數(shù)量為377,健康蝦和染病蝦圖像均在自然場景下采用不同背景獲取,構(gòu)建DCNN的訓(xùn)練和測試過程均采用Python 3.6.2和深度學(xué)習(xí)工具箱Pytorch 4.0.1,計(jì)算機(jī)系統(tǒng)采用酷睿i7Gen處理器,32 GB內(nèi)存,顯卡采用GTX1050Ti(4G)GPUs。
2.2.1混淆矩陣
采用2.1節(jié)構(gòu)建的5個(gè)對蝦圖像數(shù)據(jù)集,總共包含健康蝦圖像14 022幅,染病蝦圖像754幅。為驗(yàn)證本文所建DCNN可實(shí)現(xiàn)健康蝦及每類染病蝦的高效分類,建立了表3所示的混淆矩陣。
表3 混淆矩陣實(shí)驗(yàn)結(jié)果Tab.3 Experimental results expressed by confusion matrix 幅
由表3可知,14 022幅圖像中有13 799幅健康蝦圖像被正確識別,但存在223幅健康蝦圖像被誤識為染病蝦,其中被誤判為WSSV、SHIV、CMNV、HPV共4類染病蝦占比最高,占比分別達(dá)到14%、19%、23%、26%。從它們的外觀特征來看,部分WSSV染病蝦外觀的白斑覆蓋區(qū)域較少,此白斑也通常存在于對蝦的附足、蝦須、表殼等處,這些細(xì)微的白色斑點(diǎn)易與蝦體外在的由環(huán)境應(yīng)激反應(yīng)生成的自然斑點(diǎn)產(chǎn)生混淆,造成誤識別;SHIV染病蝦往往會(huì)在附足上體內(nèi)蝦肉蛋白與氧氣結(jié)合產(chǎn)生化學(xué)反應(yīng)導(dǎo)致黑變,當(dāng)黑變區(qū)域變小或特征不明顯時(shí),易產(chǎn)生誤識別;HPV染病蝦早期癥狀往往發(fā)生在對蝦頭胸部的內(nèi)臟中,內(nèi)部肝胰臟發(fā)生部分塌陷、腐敗,之后對蝦幾乎不進(jìn)食,導(dǎo)致空腸、紅腸等現(xiàn)象,而在DCNN的中低卷積層中,卷積核和步長如果被優(yōu)選為較大數(shù)值,則容易導(dǎo)致此類細(xì)節(jié)特征容易被忽視,易發(fā)生誤識別。對于CMNV染病蝦,早期發(fā)病狀態(tài)下,其外觀形態(tài)、顏色、紋理特征都與健康蝦相似,導(dǎo)致卷積特征無法學(xué)習(xí)到CMNV染病蝦特有的外觀特性,導(dǎo)致誤識別。在染病蝦識別中,同樣存在分類錯(cuò)誤的圖像,例如PVNV染病蝦有3幅圖像被誤識別為SHIV,LSNV有3幅圖像被誤識別為PVNV,這些錯(cuò)分的樣本除了與它們自身外觀特征相似之外,還與獲取的圖像清晰度、圖像復(fù)雜度以及圖像背景的復(fù)雜程度相關(guān)。
2.2.2數(shù)據(jù)集泛化
對所提方法的識別精度以及泛化屬性進(jìn)行實(shí)驗(yàn),結(jié)果如表4所示。表4中識別精度是指在單個(gè)數(shù)據(jù)集上得出的實(shí)驗(yàn)結(jié)果,泛化精度指采用當(dāng)前數(shù)據(jù)集構(gòu)建的DCNN模型,在其他4個(gè)數(shù)據(jù)集上計(jì)算對蝦識別的測試準(zhǔn)確率的平均值,染病蝦泛化精度指采用當(dāng)前數(shù)據(jù)集構(gòu)建DCNN模型,在其他4個(gè)數(shù)據(jù)集上的染病蝦樣本進(jìn)行識別準(zhǔn)確率的平均值,健康蝦泛化精度指采用當(dāng)前數(shù)據(jù)集構(gòu)建DCNN模型,在其他4個(gè)數(shù)據(jù)集上的健康蝦樣本進(jìn)行識別準(zhǔn)確率的平均值,泛化精度+則表示當(dāng)進(jìn)行泛化程序時(shí)加入本文所提方法得出的泛化精度。
表4 不同數(shù)據(jù)集的泛化結(jié)果Tab.4 Generalization results of different datasets %
實(shí)驗(yàn)結(jié)果表明,所建模型在數(shù)據(jù)集5上的識別精度最高,為97.96%,并在其他4個(gè)數(shù)據(jù)集上進(jìn)行泛化,泛化精度下降幅度均小于5個(gè)百分點(diǎn),且染病蝦泛化精度最高達(dá)到92.76%,健康蝦泛化精度最高達(dá)到97.10%。所提方法在數(shù)據(jù)集5上泛化能力較好,其原因除了與當(dāng)前數(shù)據(jù)集所包含染病蝦的種類有關(guān)外,還與數(shù)據(jù)集5中所涉及的染病蝦外觀形態(tài)的多樣性以及圖像樣本之間的離散度有關(guān),因?yàn)閿?shù)據(jù)集5中包含染病蝦圖像的復(fù)雜度越高,樣本圖像覆蓋范圍越廣,需要采用更大的信息熵進(jìn)行復(fù)雜度的消減,耗費(fèi)了較大的能量輸出,通過自適應(yīng)卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練越容易得出較為魯棒的模型,所建函數(shù)可以極限逼近相似圖像空間,獲得較為泛化的實(shí)驗(yàn)結(jié)果。由于不同數(shù)據(jù)集之間的圖像復(fù)雜度、同類別的緊實(shí)度和不同類別的離散度[16]之間存在較大差別,要適應(yīng)這些具有不同熵的數(shù)據(jù)集,泛化精度必定有一定幅度的下降,但當(dāng)繼續(xù)在新導(dǎo)入的圖像數(shù)據(jù)開始之后,啟用本文所提出的超參數(shù)自動(dòng)優(yōu)化方法,原始網(wǎng)絡(luò)又會(huì)對卷積核和步長及網(wǎng)絡(luò)深度進(jìn)行更新與調(diào)整,重新完成DCNN建模,泛化精度提升到與原始DCNN建模同樣精度水平。
根據(jù)文獻(xiàn)[20]描述,單幅圖像復(fù)雜度由其中物體數(shù)量、不同類物體數(shù)量、遮擋區(qū)域、模糊程度、非對稱性、物體覆蓋平均面積、復(fù)雜物體數(shù)量7個(gè)指標(biāo)組成,而不同數(shù)據(jù)集內(nèi)部復(fù)雜度除了由每幅圖像的復(fù)雜度組成外,還包含了類別之間的特征重疊度、同類圖像間緊實(shí)度、線性可分行、空間覆蓋率及不同類圖像間離散度等[21],這些用于描述數(shù)據(jù)集復(fù)雜度的指標(biāo)都有對應(yīng)的函數(shù)表示形式[22],描述函數(shù)越復(fù)雜,所在數(shù)據(jù)集的熵就越大,這就意味著需要構(gòu)建較深的DCNN來消解數(shù)據(jù)集的熵,因?yàn)椴煌疃鹊腄CNN所能擬合的函數(shù)不同,隨著網(wǎng)絡(luò)層數(shù)的增加,所能表示的函數(shù)復(fù)雜度越高,恰好可以解決由高數(shù)據(jù)圖像熵所帶來的數(shù)據(jù)集高度復(fù)雜的問題,因此本實(shí)驗(yàn)從該角度出發(fā)得到如圖6所示的數(shù)據(jù)集內(nèi)部圖像熵與網(wǎng)絡(luò)深度之間的關(guān)系柱狀圖。
圖6 不同數(shù)據(jù)集對應(yīng)的網(wǎng)絡(luò)深度Fig.6 Depth of network corresponding to image entropy in different datasets
圖6表明,復(fù)雜度越高的數(shù)據(jù)集,其對應(yīng)的識別難度越大,越需要構(gòu)建高度復(fù)雜的DCNN結(jié)構(gòu),從而獲得較高的識別精度。不同數(shù)據(jù)集對應(yīng)的網(wǎng)絡(luò)深度優(yōu)化結(jié)果存在較大區(qū)別,聚焦單個(gè)數(shù)據(jù)集可得出以下規(guī)律:染病蝦類型較多且數(shù)據(jù)集復(fù)雜度較高的數(shù)據(jù)集得出的網(wǎng)絡(luò)深度較大。以數(shù)據(jù)集3為例,其中包含有3 574幅健康蝦圖像和215幅染病蝦圖像,健康蝦圖像之間的差異較小,但是對于分布在3個(gè)病毒侵染類別的染病蝦(中國對蝦諾如病、白斑綜合征病、野田春偷死病),即使屬于同一個(gè)類別,在其形態(tài)、紋理、顏色方面也存在一定差異,這使得該數(shù)據(jù)集的復(fù)雜度較高,需要構(gòu)建較深的DCNN進(jìn)行熵的消解。為了進(jìn)一步闡述單幅圖像蘊(yùn)含的熵與DCNN網(wǎng)絡(luò)層數(shù)之間的關(guān)系,圖7以數(shù)據(jù)集3為例展示了熵特征與深度網(wǎng)絡(luò)層數(shù)之間的關(guān)系,其中熵特征為整個(gè)數(shù)據(jù)集熵的平均值。
圖7 圖像熵與深度網(wǎng)絡(luò)層數(shù)之間的關(guān)系Fig.7 Relationship between image entropy and depth of deep network
圖7a為數(shù)據(jù)集3整體熵對隨機(jī)批次梯度下降(SGD)在DCNN中的變化趨勢圖,在圖7a中,整體熵在DCNN的前5層下降迅速,后面下降速度開始逐漸放緩,原因主要是輸出卷積特征圖的有效性,DCNN前5層提取的對蝦特征對染病蝦的識別起到了關(guān)鍵作用,因此在后期為了把所提方法用于在線識別,該DCNN可縮減為一個(gè)具有5層結(jié)構(gòu)的精簡網(wǎng)絡(luò);在顏色熵方面(圖7b),其在DCNN的前10層下降迅速,尤其顯著的是前3層下降尤為迅速,10層之后下降速度開始逐漸放緩,說明顏色特征在識別染病蝦的過程中起到了極為關(guān)鍵的作用,因此造成前3層下降迅速;在紋理熵方面(圖7c),紋理熵在DCNN的前8層下降迅速,前4層下降尤為迅速,8層之后下降速度開始逐漸放緩,說明不同養(yǎng)殖源對蝦在紋理特征的表達(dá)差異可通過所構(gòu)建DCNN的前4層予以提取,這與在整體熵及顏色熵中分析的結(jié)果相一致,也體現(xiàn)了紋理特征的重要性;在形態(tài)熵方面(圖7d),來自不同源頭對蝦在外觀形態(tài)上的差異不明顯,整體形態(tài)熵下降趨勢比較平緩,說明形態(tài)特征隨著網(wǎng)絡(luò)層數(shù)的加深逐漸提取完成。
針對DCNN中的熵逐層衰減機(jī)制是否可以等價(jià)于把原始圖像數(shù)據(jù)的高維空間降解為低維空間的問題,本文繪制了如圖8所示的散點(diǎn)圖,其中不同顏色的實(shí)心圓點(diǎn)表示不同的對蝦類別(9類染病蝦和1類健康蝦)。從數(shù)據(jù)集1~5中,各類別分別抽取80幅圖像進(jìn)行降維實(shí)驗(yàn),圖8a~8f表示DCNN中從第1層到第6層的原始數(shù)據(jù)集圖像樣本的降維褪熵結(jié)果。
圖8 各類圖像復(fù)雜度隨DCNN逐層降維褪熵過程Fig.8 Various image complexity declining processes by deepening into DCNN layers
由圖8可知,隨著DCNN隱含層數(shù)的逐漸加深,各類樣本在由顏色熵和紋理熵構(gòu)成的二維空間的聚合程度越來越好,而且隨著各類樣本的精確耦合,顏色熵和紋理熵的數(shù)值也在逐層下降,尤其在前5層之內(nèi)下降迅速,這與圖7的實(shí)驗(yàn)結(jié)果高度吻合。隨著DCNN層數(shù)加深,各類朝著最有利于優(yōu)化特征表達(dá)的方向聚合,其主要原因在于借助信息守恒定律把熵的衰減量與新生成蝦關(guān)鍵部位的新特征產(chǎn)生了關(guān)聯(lián),例如對于WSSV染病蝦,在輸出的特征圖中會(huì)生成攜帶著對蝦觸角、附足、蝦殼等處的白色斑點(diǎn)特征,這種白色斑點(diǎn)一旦形成,當(dāng)前網(wǎng)絡(luò)層對應(yīng)的紋理熵和顏色熵就會(huì)定量消減,產(chǎn)生關(guān)聯(lián)效應(yīng),此類關(guān)聯(lián)的例子也可從HPV、PVNV、CMNV等染病蝦例子中給予說明,這對從香農(nóng)信息論角度解釋深度卷積神經(jīng)網(wǎng)絡(luò)的內(nèi)部運(yùn)行機(jī)制具有重要意義。
為了驗(yàn)證所提方法的優(yōu)越性,本文將所提方法與其他文獻(xiàn)中的對蝦識別方法進(jìn)行比較,實(shí)驗(yàn)結(jié)果如表5所示,其中測試精度為5個(gè)數(shù)據(jù)集的平均測試精度,以上測試精度和泛化精度的測試都進(jìn)行了5組實(shí)驗(yàn),表5為5組實(shí)驗(yàn)結(jié)果的平均值。
在傳統(tǒng)對蝦品質(zhì)識別研究中,研究者嘗試構(gòu)建精密且高復(fù)雜度的對蝦特征提取與識別算法,例如ECO組合特征[23]、對蝦形態(tài)骨架幾何特征[24]、特征黑變分割[25]、完整性檢測[25]、組合法[26]、迭代法[27]等,這些方法雖然在某些特定問題中可取得較高識別精度,但是泛化能力較弱,即使是針對同一地區(qū)、同一養(yǎng)殖池塘以及同一養(yǎng)殖環(huán)境的南美白對蝦樣本,都會(huì)存在準(zhǔn)確率退化現(xiàn)象,因此后來有學(xué)者針對該問題提出采用不同的淺層和深層神經(jīng)網(wǎng)絡(luò)方法,例如淺層神經(jīng)網(wǎng)絡(luò)[2]、改進(jìn)LeNet網(wǎng)絡(luò)[5]、改進(jìn)AlexNet網(wǎng)絡(luò)[6],雖然這些網(wǎng)絡(luò)有助于解決這些問題,但是難以確定深度網(wǎng)絡(luò)中的未知參數(shù)以及結(jié)構(gòu),單純靠試錯(cuò)方式無法獲取高效的深度網(wǎng)絡(luò)模型。本文方法可以解決此類問題,提升了網(wǎng)絡(luò)執(zhí)行的效率,減小了由于樣本圖像數(shù)據(jù)泛化帶來的精度振蕩問題。本文方法的測試精度可以達(dá)到97.83%,高于其他方法的測試精度,而且本文方法對于傳統(tǒng)方法是一次全面的泛化精度提升,相比于改進(jìn)AlexNet網(wǎng)絡(luò),本文方法提升了6.88個(gè)百分點(diǎn)。
表5 本文方法與其他對蝦識別方法性能比較Tab.5 Results comparison between the proposed method and other shrimp recognition methods %
(1)首先引入香農(nóng)信息論將不同來源對蝦所建數(shù)據(jù)集的復(fù)雜度通過顏色、紋理、形狀進(jìn)行熵特征表示,把原始數(shù)據(jù)集的圖像導(dǎo)入初始化DCNN網(wǎng)絡(luò)中,依據(jù)輸出特征圖建立卷積核和步長的優(yōu)化方法;然后,根據(jù)熵減規(guī)則依次計(jì)算每一卷積層被消減的熵,建立網(wǎng)絡(luò)深度優(yōu)化策略;最后,根據(jù)具有不同復(fù)雜度的數(shù)據(jù)集進(jìn)行參數(shù)更新和調(diào)整,獲取最佳的DCNN網(wǎng)絡(luò)參數(shù)和結(jié)構(gòu)。
(2)實(shí)驗(yàn)結(jié)果表明,DCNN網(wǎng)絡(luò)模型的性能表現(xiàn)與數(shù)據(jù)集復(fù)雜度及其中圖像數(shù)量都具有一定關(guān)系,這也解釋了在不同數(shù)據(jù)集上構(gòu)建DCNN所能逼近的函數(shù)差異的較大差異,而樣本越多越有利于網(wǎng)絡(luò)模型學(xué)習(xí)到眾多樣本中隱藏的特征空間分布特性,對最終的模型測試精度和泛化精度具有較大貢獻(xiàn)。實(shí)驗(yàn)也證實(shí),本文引入信息熵可以有效表征DCNN每層輸入圖像復(fù)雜度遞減特性:隨著DCNN層數(shù)遞增和網(wǎng)絡(luò)結(jié)構(gòu)加深,數(shù)據(jù)集的整體信息熵存在逐步遞減規(guī)律。從實(shí)驗(yàn)數(shù)據(jù)上來看,所建模型在單個(gè)數(shù)據(jù)集上的識別精度最高為97.96%,并在其他4個(gè)數(shù)據(jù)集上進(jìn)行泛化,泛化精度下降幅度均小于5個(gè)百分點(diǎn)。
農(nóng)業(yè)機(jī)械學(xué)報(bào)2022年5期