亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于改進ResNet50模型的大宗淡水魚種類識別方法

        2021-09-15 06:23:28趙竣威譚鶴群鄧志勇黃毓毅吳文錦丁安子
        農業(yè)工程學報 2021年12期
        關鍵詞:背景模型

        萬 鵬,趙竣威,朱 明,譚鶴群,鄧志勇,黃毓毅,吳文錦,丁安子

        (1. 華中農業(yè)大學工學院,武漢 430070;2. 農業(yè)農村部長江中下游農業(yè)裝備重點實驗室,武漢 430070;3. 湖北省農業(yè)科學院農產品加工與核農技術研究所,武漢 430070)

        0 引 言

        中國是淡水魚養(yǎng)殖大國,2019年淡水魚養(yǎng)殖產量2 548.02萬t,占全部淡水養(yǎng)殖總產量的84.55%[1]。淡水魚種類繁多,品種之間差異很大;淡水魚的種類識別在淡水魚的養(yǎng)殖、捕撈、加工等過程具有重要作用[2-4]。目前,中國淡水魚分類主要依靠人工進行,勞動強度大、效率低、準確率不高,制約著淡水魚養(yǎng)殖產業(yè)及生產加工機械化、自動化的發(fā)展[5-6]。因此,開展淡水魚識別方法研究對于提高淡水魚種類識別效率、研發(fā)新的種類識別裝置具有重要意義。

        傳統(tǒng)的淡水魚品種識方法研究主要通過機器視覺技術獲取魚體的圖像,再通過圖像處理技術對魚體圖像進行分析,提取魚體特征值并構建模型對淡水魚進行種類識別。這方面國內外相關研究人員開展了較多工作。張志強等[7]基于機器視覺技術獲取魚體圖像,通過提取魚體圖像的顏色分量、長短軸之比等特征值,構建模型對4種淡水魚進行種類識別,準確率可達96.67%。萬鵬等[8]通過圖像處理技術提取魚體外觀特征,構建BP神經網絡對4種淡水魚進行種類檢測,準確率達到92.50%,平均檢測時間為1.3 s。吳一全等[9]提出了一種基于Krawtchouk矩、灰度共生矩陣、多核支持向量機(Support Vector Machine,SVM)的識別方法,對5種魚分類識別準確率可達95.83%以上。胡燦[10]通過圖像處理獲取魚體的顏色、形態(tài)、紋理等25個特征值,采用主成分分析(Principal Component Analysis,PCA)和粒子群優(yōu)化(Particle Swarm Optimization,PSO)算法對其降維、優(yōu)化,生成極限學習機(Extreme Learning Machine,ELM)分類器對魚體進行分類識別,準確率達到96.67%。涂兵等[11]提出利用魚體背部輪廓相關系數(shù)算法對魚類進行識別,對4種淡水魚的識別率均達到91%,但無法識別背部輪廓曲率接近的魚體。此外,White等[12]利用機器視覺技術,根據(jù)不同比目魚的傾斜度以及體長的差異建立7種比目魚種類識別模型,準確率達99.8%。Larsen等[13]通過對海水魚的形態(tài)、紋理特征進行提取,采用線性判別法(Liner Discriminant Analysis,LDA)對3類魚的108張圖像進行分類識別,正確率達到76%。Alsmadi等[14]通過提取海水魚的顏色、紋理特征,并以BP反向傳播神經網絡對20類魚進行分類,平均識別率為84%。綜上所述可知,傳統(tǒng)的魚類品種識別主要通過圖像預處理,提取魚體的顏色、形狀、紋理、輪廓等特征[15-16],通過構建BP神經網絡、SVM等模型進行種類識別,特征提取復雜、且需要依賴人工進行選擇,識別精度不高[17],不具備可遷移性;同時只能提取魚體表層的特征,難以挖掘到深層的區(qū)別力強的特征,在不同的背景、光照等干擾下識別效果較差。

        近年來,隨著深度學習算法研究的日益深入,其在識別方面顯示出了許多優(yōu)越性,在魚類的品種分類識別、檢測等領域也有較多研究。顧鄭平等[18]利用卷積神經網絡對海水魚進行分類識別準確率達98.6%。陳英義等[19]采用遷移學習訓練模型構建優(yōu)化的FTVGG16模型,對遠洋捕撈的海水魚進行識別準確率為95.89%。王文成等[20]提出基于ResNet50網絡框架的魚類圖像識別算法,對10種海水魚進行分類識別準確率達到了93.33%。Vaneeda等[21]開發(fā)了經過合成數(shù)據(jù)訓練的卷積神經網絡,對藍鱈魚、大西洋鯡魚和大西洋鯖魚的識別精度達到94%,Banan等[22]通過搭建VGG16神經網絡模型,采用5倍交叉驗證法進行訓練和評估對4種海水魚進行種類識別,準確率可達99.9%。深度學習算法具有自動學習、提取研究對象的顏色、輪廓等低層次特征以及內在聯(lián)系等高層次特征的優(yōu)點,且構建的種類識別模型具有可遷移性[23];但是模型訓練數(shù)據(jù)集不足、圖像背景單一等因素會導致模型識別率和泛化能力降低。因此研究并構建基于深度學習的淡水魚種類識別模型,不僅能夠降低人工對于魚體特征值選擇的難度和準確度,而且具有較好的遷移性,能夠適用于不同場景的檢測應用,對提高魚體的品種識別速度,開發(fā)智能化的淡水魚分類分級裝置具有重要借鑒意義。

        本文研究的目的,探索通過構建大宗淡水魚圖像數(shù)據(jù)集,在分析深度學習中經典ResNet50模型網絡結構的基礎上,對ResNet50模型網絡進行改進,并對模型的相關參數(shù)進行優(yōu)化,以期構建適用于不同應用場景的淡水魚種類識別方法,提高淡水魚分類分級的準確率和工作效率。

        1 淡水魚圖像數(shù)據(jù)的構建及預處理

        1.1 淡水魚圖像數(shù)據(jù)獲取

        本文以鳙魚、鳊魚、鯉魚、鯽魚、草魚、白鰱6種大宗淡水魚為研究對象,為了獲取足夠的淡水魚圖像樣本構建淡水魚圖像數(shù)據(jù)集,本文采用圖像采集裝置獲取具有單一背景的淡水魚圖像,同時采用從互聯(lián)網搜索具有干擾背景的淡水魚圖像。淡水魚圖像采集裝置如圖1所示。

        淡水魚圖像采集裝置由XY水平移動平臺、轉向板、光源以及包含Matrox圖像采集卡的計算機硬件系統(tǒng)、圖像采集軟件系統(tǒng)、BASLER工業(yè)相機(德國Blaser,acA640-90gm)、鏡頭(Computar,M0814-MP2)等組成。通過XY水平移動平臺以及轉向板調節(jié)相機相對于魚體的位置,通過圖像采集軟件控制BASLER工業(yè)相機從淡水魚的正上方和傾斜45°方向獲取淡水魚圖像。為了擴展淡水魚圖像數(shù)據(jù)集,本文分別采集魚頭朝向隨機放置的淡水魚魚體正反兩面的圖像構建單一背景圖像數(shù)據(jù)集;同時,通過互聯(lián)網搜索包含有單一品種的完整淡水魚魚體及干擾背景的圖片構建具有干擾背景圖像數(shù)據(jù)集,則淡水魚圖像數(shù)據(jù)集由單一背景圖像數(shù)據(jù)集和干擾背景圖像數(shù)據(jù)集構成。淡水魚圖像樣本如圖2所示。

        淡水魚圖像數(shù)據(jù)集中不同品種的淡水魚圖像樣本數(shù)量分布如表1所示。

        表1 淡水魚圖像數(shù)據(jù)集數(shù)量分布Table 1 Quantity distribution of freshwater fish image data sets

        本文構建的淡水魚圖像數(shù)據(jù)集中,采集到的單一背景圖像樣本為2 700張;互聯(lián)網搜索的干擾背景圖像樣本為1 880張,兩者組成混合圖像樣本數(shù)據(jù)集為4 580張,即為淡水魚種類識別圖像數(shù)據(jù)集。

        1.2 圖像預處理

        為了加快網絡模型的訓練和收斂速度、提升模型的準確率等,需要對用于模型訓練的圖像數(shù)據(jù)集進行預處理。本文調用Pytorch算法工具庫對淡水魚圖像進行空間尺度變換、張量處理及歸一化處理。其中空間尺度變換對魚體圖像進行隨機縮放、裁剪、水平翻轉以及變換亮度、對比度等處理;張量處理將魚體圖像中像素點的單通道顏色值由[0,255]轉變成[0,1],將圖像轉變成張量格式;最后對張量圖像進行歸一化處理。經預處理后,淡水魚圖像的分辨率為224像素×224像素×3通道。

        2 改進ResNet50種類識別模型的構建及其優(yōu)化

        2.1 改進ResNet50模型的構建

        隨著神經網絡深度的增加,會出現(xiàn)梯度消失、退化等問題,導致模型難以訓練、錯誤率增加,包含殘差結構的網絡模型能夠在很大程度上避免出現(xiàn)此種問題。因此本文選擇具有殘差結構的ResNet50模型,并對其結構進行優(yōu)化后用于淡水魚種類識別研究。ResNet50模型的殘差結構如圖3。

        在3×3卷積核的前后,采用1×1的卷積核降維和升維可以減小模型的參數(shù)量。殘差結構3a中的實線和殘差結構3b中的虛線部分為輸入的下采樣函數(shù),殘差結構3a表示不改變尺寸的殘差塊,即輸出特征矩陣的高和寬不改變;殘差結構3b為添加尺度的殘差塊,輸出特征矩陣的高和寬為輸入的一半。ResNet50模型的殘差結構增加了輸出特征圖的維度,能夠解決梯度退化、消失問題。

        以殘差結構為基礎的ResNet50模型其經典結構及改進后的結構如圖4所示。

        改進后的ResNet50模型結構和經典ResNet50的模型結構主體部分相同。2種模型結構中的Input(224,224,3)均表示輸入大小為224像素×224像素×3通道的淡水魚圖像,模型網絡結構左側Output(112×112× 64)表示輸出特征圖的尺寸,右側表示多層神經網絡的卷積組成,如“7×7 conv, 64, /2”中卷積核的尺寸為7×7,通道數(shù)為64,步長為2。Conv Block1表示第一個卷積塊1,其中包含1個卷積層;Conv Block2_1、Conv Block3_1、Conv Block4_1、Conv Block5_1表示添加尺度的殘差塊,殘差塊的數(shù)目均為1;Conv Block2_x、Conv Block3_x、Conv Block4_x、Conv Block5_x表示不改變尺寸的殘差塊,殘差塊的數(shù)目分別為2、3、5、2。Conv Block2至Conv Block5定義為殘差塊2、3、4、5,每個殘差塊均由3個卷積層組成,即一共包含有3×(3+4+6+3)+1=49個卷積層。

        神經網絡結構中Conv為卷積層,BN為批標準化操作,Pool表示最大池化層,Avg Pool表示平均池化層,F(xiàn)c為全連接層。從整體上可理解為5個卷積塊,包括1個7×7的卷積層、4個3×3的殘差塊,卷積核的數(shù)量分別為64、64、128、256、512。對于7×7卷積層,“/2”表示卷積核的移動步長為2,數(shù)據(jù)填充默認為1,卷積層不添加偏置(bias);批標準化BN加速網絡訓練,且將BN層放在Conv和激活函數(shù)之間;對于3×3池化層,步長為2,數(shù)據(jù)填充為1。

        圖4 中改進后的ResNet50網絡結構由49個卷積層和2個全連接層組成,綠色標記為網絡結構的改進之處,激活函數(shù)選擇CELU代替原始模型的ReLU;通過Kaiming正態(tài)分布初始化卷積層權重,全連接層不添加;在卷積神經網絡的深度上,增加了1個全連接層Fc1,同時在Fc1和Fc2中添加Dropout。

        將預處理后的圖像輸入,經過一系列殘差塊處理后,輸出特征圖尺寸為7×7×2 048,再經過平均池化層以及flatten展平處理后,輸出特征矩陣變?yōu)?×1×2 048,然后輸入到全連接層Fc1、Fc2,輸出特征圖的通道數(shù)分別為2 048、6,最后由Softmax分類器輸出6種淡水魚的對應概率值,從而給出種類識別結果。

        2.2 改進ResNet50網絡的結構優(yōu)化

        根據(jù)圖4中改進ResNet50模型的網絡結構,需要對其激活函數(shù)及其初始化權重方式、全連接層及其Dropout、損失函數(shù)、優(yōu)化算法及其學習率衰減進行改進和優(yōu)化。

        2.2.1 激活函數(shù)及其初始化權重方式

        ReLU是神經網絡中普遍使用的激活函數(shù),特點是運算速度快、性能好,但輸入x<0時函數(shù)輸出為零,反向傳播時損失梯度消失,導致參數(shù)不能進行更新,造成神經元死亡。為解決此問題,改進ResNet50模型選擇CELU[25]為激活函數(shù),CELU為折點非線性且連續(xù)可微的指數(shù)平滑函數(shù),有利于神經網絡的收斂和泛化性能。CELU激活函數(shù)的計算公式如下,取α為0.075,函數(shù)輸出值對比如圖5。

        Kaiming正態(tài)分布在CELU激活函數(shù)中能夠加快模型的收斂,具有較好的效果[26],本文模型選擇Kaiming正態(tài)分布作為初始化權重方式。

        2.2.2 全連接層及其Dropout

        改進ResNet50模型網絡結構中增加了1個全連接層Fc1,可以通過神經網絡提取更多的特征信息,同時添加Dropout能夠避免過擬合風險,降低分類泛化誤差。將Dropout參數(shù)設置為0.5,網絡在訓練過程中會隨機失活一半的神經元;當梯度反向傳播時,失活后斷開的神經元將不參與參數(shù)的更新。Dropout正向傳播[27]如圖6所示,梯度由輸入神經元傳至輸出神經元。

        2.2.3 損失函數(shù)選擇

        本文選擇交叉損失熵(Cross Entropy Loss)作為改進ResNet50模型的損失函數(shù),其在網絡訓練時梯度更大,網絡優(yōu)化更快。表達式為

        式中Loss表示損失函數(shù);M表示樣本數(shù),N表示類別數(shù);pij表示標簽的真實值中第i個樣本的第j個類別的概率分布值;qij表示網絡的預測值中第i個樣本的第j個類別的概率分布值。

        2.2.4 優(yōu)化器及其學習率衰減

        學習率決定了神經網絡模型的學習進度,可以控制網絡模型權重的更新比率。Adam優(yōu)化算法[28]在損失梯度更新時,能夠為神經網絡設置自適應的學習率。本文中改進ResNet50網絡模型選擇Adam優(yōu)化算法,默認學習率為0.001,指數(shù)衰減率β1、β2分別為0.9、0.999,除零誤差項ε=1×10-8。

        同時,學習率衰減可以極大提高Adam優(yōu)化算法的性能[29],在改進ResNet50模型中,選擇余弦退火(Cosine Annealing)衰減學習率,并將其參數(shù)T_max設置為迭代次數(shù)的大小,在網絡訓練過程中隨著網絡迭代次數(shù)的增加逐步減小,網絡收斂更快。

        3 改進ResNet50種類識別模型的訓練與評估

        3.1 模型的訓練環(huán)境

        本文中模型訓練的試驗環(huán)境為:基于Python3.6編程語言的Pytorch深度學習框架,操作系統(tǒng)為Windows 10,GPU為內存4GB的英偉達GTX1050Ti,同時使用CUDA平臺加速網絡訓練,基礎配置為Anaconda3、PyCharm。

        3.2 單次驗證方法

        將數(shù)據(jù)集劃分為訓練集和測試集,比例分別為75%、25%,通過訓練集訓練模型,在測試集上評估模型的性能,稱之為單次驗證的普通驗證方法。單次驗證方法通過對模型訓練一次,能夠更快速的得出訓練結果并優(yōu)化出超參數(shù)。

        3.3 四折交叉驗證

        利用構建的淡水魚圖像數(shù)據(jù)集,對ResNet50模型訓練后,需要對模型的識別準確率、損失、檢測時間等進行評估。交叉驗證是一種模型訓練和評估方式,它將數(shù)據(jù)集劃分后,圖像樣本在訓練和測試過程中被重復使用,構成多組互不相交的訓練集和測試集[30]。K折交叉驗證中K的選擇與數(shù)據(jù)集大小有關,其計算公式為

        式中n表示數(shù)據(jù)集大小。

        本文中淡水魚樣本圖像數(shù)據(jù)集大小為4 580,因此K值取4,劃分的每個數(shù)據(jù)集的大小為1 145,即訓練集和測試集的比例分別為75%、25%。四折交叉驗證方法如圖7。

        四折交叉驗證方法將整個數(shù)據(jù)集隨機劃分為D1、D2、D3、D4四個子數(shù)據(jù)集,之間無交集且樣本數(shù)量相同。依次從4個數(shù)據(jù)集中選擇1個作為測試集,另外3個作為訓練集;然后進行4次獨立的模型訓練和測試過程,最后將4次模型的測試結果取平均值,作為此模型的泛化誤差。使用四折交叉驗證能夠對泛化誤差有更好的近似,對模型的預測性能給出公正的評估。

        3.4 網絡訓練過程

        引入遷移學習機制訓練模型,將大數(shù)據(jù)集ImageNet上預訓練的模型權重遷移到種類識別模型的訓練過程中。由于深度學習中的圖像等數(shù)據(jù)集龐大,遷移學習能夠加速網絡模型收斂,增強分類模型的準確率。

        針對改進ResNet50模型在不同種類和不同超參數(shù)模型上的對比,選擇單次驗證方法訓練和評估模型的性能。針對改進ResNet50網絡模型在不同數(shù)據(jù)集上的對比,采用四折交叉驗證方法來訓練和評估模型的性能。模型的訓練流程如圖8。

        具體訓練過程如下:

        通過Pytorch深度學習框架中數(shù)據(jù)集加載方式,加載ResNet50-pre.pth預訓練模型,從訓練集中每次抽取的圖像數(shù)量為批大小(batch size)。利用Adam優(yōu)化算法和余弦退火來調整每個迭代次數(shù)(epoch)的學習率(learning rate),使其隨著迭代次數(shù)逐漸減小。每批次樣本在梯度下降時更新一次參數(shù),迭代次數(shù)設置為60。

        在訓練集上對改進ResNet50進行訓練,在測試集上獲得每個迭代次數(shù)的模型測試結果。交叉損失熵函數(shù)使得損失逐漸減小,準確率逐漸增加。

        經過60個迭代次數(shù)后網絡會逐步收斂,直至訓練和測試的損失、準確率穩(wěn)定。由于每次訓練時模型損失或準確率曲線在不同的迭代次數(shù)下有波動,因此保存測試準確率最高的模型權重,同時得到損失和準確率曲線。

        4 改進ResNet50模型的超參數(shù)優(yōu)化

        4.1 學習率的選擇

        Adam優(yōu)化算法中學習率設置過小,模型收斂速度較慢;設置過大則出現(xiàn)不收斂狀態(tài),損失函數(shù)會錯過最優(yōu)解[31]。選擇初始批大小為16,由于Adam優(yōu)化算法中學習率默認值為0.001,因此取不同數(shù)量級的參數(shù)值,比較學習率為0.01、0.001、0.000 1、0.000 01時模型的訓練效果。依次對學習率進行粗調和微調,學習率調節(jié)時對損失值和準確率的影響如圖9所示。

        由圖9可知,學習率為0.01、0.001時模型不收斂和收斂緩慢,且損失值較大;學習率為0.000 01時模型收斂比0.000 1較快,但在最后的損失偏高,故學習率為0.000 1時收斂效果較好。

        由于學習率為0.000 1、0.000 01時訓練結果相差不大,故對其進行微調,設置初始學習率為0.000 01、0.000 03、0.000 05、0.000 1、0.000 3、0.000 5,比較模型的訓練效果。由圖9 b、圖9 c可知,學習率為0.000 03、0.000 05、0.000 1時,模型收斂較快,且收斂穩(wěn)定后損失較低。當網絡迭代至50后,學習率為0.000 1時測試準確率最高,因此選擇學習率為0.000 1。

        4.2 批大小的選擇

        批大小對神經網絡模型性能的影響不如學習率敏感,但進一步提升神經網絡性能時,就要考慮批大小對模型性能的影響。確定了學習率為0.000 1后,不同的批大小對損失和準確率的影響如圖10所示。

        由圖10可知,當批大小為8、64時損失較大,當批大小為32、64時模型訓練所需的內存不足,出現(xiàn)內存溢出現(xiàn)象;當批大小為16時模型收斂較快,能獲得較高的準確率,因此選擇批大小為16。

        5 結果與分析

        5.1 不同神經網絡模型對比

        本文利用包含單一背景圖像和干擾背景圖像的淡水魚圖像數(shù)據(jù)集對改進的ResNet50模型進行訓練,并與其他模型進行對比。采用單次驗證法,將淡水魚圖像數(shù)據(jù)集按照75%、25%劃分為訓練集和測試集,即包含淡水魚圖像3 435、1 145張。不同模型的預處理方式、初始化權重、優(yōu)化算法等基本設置保持相同,迭代次數(shù)為60,學習率和批大小分別取0.000 1和16,使用遷移學習進行模型訓練,則不同模型的種類識別結果對比如表 2所示。

        表2 不同模型的種類識別結果對比Table 2 Comparison of the results of different kinds of models

        從表2可知:

        1)改進ResNet50模型在訓練時間上比VGG16、VGG19分別減小29.86、52.02 s,準確率比VGG16、VGG19分別提升3.5%、3.93%,平均檢測時間比VGG16、VGG19分別減小0.327 9、0.431 8 s。由于VGG網絡模型的浮點運算量較大,網絡模型較復雜,因此改進ResNet50比VGG各方面都要優(yōu)秀。

        2)改進ResNet50模型的準確率比AlexNet、GoogleNet準確率高5.77%、2.09%,在識別準確率上優(yōu)勢明顯。

        3)改進ResNet50模型平均檢測時間、訓練時間比經典ResNet50模型分別增加0.029 8、15.89 s,但測試準確率為96.94%,準確率提升1.22%;單張圖像樣本的平均檢測時間為0.234 5 s,使用該模型不會明顯增加檢測所需時間。同時,在本文研究中,種類識別對測試準確率的評估優(yōu)要先于平均檢測速度。因此本研究中改進ResNet50模型的結構和激活函數(shù)等優(yōu)化方式可以使模型獲得更好的種類識別效果。

        5.2 改進ResNet50模型在不同數(shù)據(jù)集上對比

        通過構建的淡水魚圖像數(shù)據(jù)集,分別使用單一背景圖像數(shù)據(jù)集、干擾背景圖像數(shù)據(jù)集以及包含單一背景圖像和干擾背景圖像的淡水魚圖像數(shù)據(jù)集對改進ResNet50模型進行訓練和測試,模型的訓練和評估方式采用四折交叉驗證。單一背景圖像數(shù)據(jù)集中,訓練集和測試集的大小分別為2 025、675;干擾背景圖像數(shù)據(jù)集中,訓練集和測試集的大小分別為1 410、470;淡水魚圖像數(shù)據(jù)集中,訓練集和測試集的大小分別為3 435、1 145,結果如表3所示。

        表3 改進ResNet50模型在不同數(shù)據(jù)集種類識別結果對比Table 3 Comparison of species recognition results of improved ResNet50 in different data sets

        從表3可知:

        1)在單一背景圖像數(shù)據(jù)集上,模型測試準確率達到100%,訓練和測試損失分別為0.042 3、0.000 1。說明模型網絡收斂充分,對單一背景下淡水魚的識別效果較好,適用于具有單一背景的淡水魚種類識別和分級任務。

        2)在干擾背景圖像數(shù)據(jù)集上,模型測試準確率為91.17%,訓練和測試損失分別為0.281 1、0.398 2,相比其他2種數(shù)據(jù)集上準確率較低、損失較大,說明數(shù)據(jù)集數(shù)量小容易導致網絡收斂不足。

        3)在淡水魚圖像數(shù)據(jù)集上,模型測試準確率達到96.20%,訓練和測試損失分別為0.087 9、0.184 8。相比干擾背景圖像數(shù)據(jù)集的種類識別效果,模型識別準確率顯著提升5.03%,說明擴充數(shù)據(jù)集后,模型的泛化能力和魯棒性增強,適用于具有單一背景、干擾背景的淡水魚種類識別和分級任務。

        5.3 混淆矩陣對種類識別結果可視化分析

        混淆矩陣在評判分類模型的優(yōu)劣和分類性能時具有較好的顯示性[22],在淡水魚種類識別上可以顯示出識別錯誤的魚體的數(shù)量。分別利用包含6種淡水魚樣本圖像的淡水魚圖像數(shù)據(jù)集及單一背景圖像數(shù)據(jù)集對改進的ResNet50模型進行訓練,對不同應用場景下模型的識別效果進行可視化分析,在混淆矩陣中呈現(xiàn)的結果如圖11所示。

        觀察2種混淆矩陣,淡水魚圖像數(shù)據(jù)集上,識別出的淡水魚數(shù)量基本分布在對角線上,出現(xiàn)個別偏差;單一背景圖像數(shù)據(jù)集上,每類淡水魚的識別結果均分布在對角線上,說明可以成功識別出所有淡水魚類別。

        混淆矩陣中衡量模型性能的指標通常有準確率(Accuracy)、精確度(Precision)、召回率(Recall)和F1分數(shù)(F1 score),公式如下

        式中TP表示淡水魚樣本為真實種類,模型識別為正確的種類的數(shù)量;FN表示淡水魚樣本為真實種類,模型識別為錯誤的種類的數(shù)量;FP表示淡水魚樣本為錯誤種類,模型識別為正確的種類的數(shù)量;TN表示淡水魚樣本為錯誤種類,模型識別為錯誤的種類的數(shù)量。準確率為所有樣本被正確分類的概率,即為模型整體的識別準確率;精確度表示所有預測類別中,模型預測正確的比例;召回率表示所有真實類別中,模型預測正確的比例;F1分數(shù)是精確率和召回率的綜合評價指標,在兩者中間取得了很好的平衡。

        根據(jù)圖11中混淆矩陣,得到不同數(shù)據(jù)集上6種淡水魚種類識別試驗結果如表4所示。

        表4 不同數(shù)據(jù)集上淡水魚種類識別試驗結果Table 4 Experimental results of freshwater fish species identification under the different data set

        由表4分析得出結論:

        1)在淡水魚圖像數(shù)據(jù)集上訓練模型,模型的精確度、召回率和F1分數(shù)都比較高,160個鳙魚樣本中有9個識別錯誤,150個鯉魚樣本中有10個識別錯誤,這兩類的識別效果相對有偏差,但整體的準確率達到了96.94%,即表2中改進ResNet50的準確率,說明模型識別準確率較高。

        2)在單一背景圖像數(shù)據(jù)集上訓練模型,由于圖像的背景干擾很小,因此精確度、召回率和F1分數(shù)都達到了100%,說明ResNet50模型對單一背景淡水魚的識別準確率為100%,模型識別效果優(yōu)秀。

        這表明改進ResNet50模型性能優(yōu)越,能夠適用于單一背景下及干擾背景下魚體的種類識別。

        5.4 卷積層輸出特征可視化

        為了進一步說明本文改進ResNet50模型中卷積層的工作原理,根據(jù)圖4中改進ResNet50模型的網絡結構,分別對卷積塊1和殘差塊2、3、4、5的最后一個卷積層進行輸出特征可視化,結果如圖12所示。

        由圖12可知,由卷積塊1到卷積塊5的最后一個卷積層,神經網絡學習、提取的特征信息由整體至局部不斷細化。圖12 b、圖12 c中Conv Block1_conv1、Conv Block 2_3_conv3卷積層保留了大部分原始魚體的圖像信息;圖12 d、圖12 e中卷積層Conv Block 3_4_conv3、Conv Block 4_6_conv3的卷積核,對顏色、邊緣形成的部分紋理進行了描述,更多地表達圖像的線條、輪廓等抽象特征;圖12 f中最后一個卷積層Conv Block 5_3_conv3的卷積核提取圖像的紋理和特定信息,僅僅保留了圖像的高階像素信息。通過對卷積層的輸出特征進行可視化,能夠反映卷積層提取特征的過程和原理,以及神經網絡底層的特征信息。

        6 結 論

        本文提出了一種基于改進ResNet50模型的淡水魚種類識別方法,以鳊魚、鳙魚、鯉魚、鯽魚、草魚、白鰱6種大宗淡水魚為研究對象,搭建基于機器視覺的淡水魚圖像采集系統(tǒng)獲取單一背景的淡水魚圖像2 700 張,同時基于互聯(lián)網搜索6種淡水魚圖像1 880張,構建了淡水魚種類識別圖像數(shù)據(jù)集。以Pytorch為深度學習框架,在經典ResNet50基礎上,增加全連接層Fc1以及Dropout、引入遷移學習進行模型訓練、選擇CELU為激活函數(shù)、使用Adam優(yōu)化算法更新梯度并嵌入了余弦退火方法衰減學習率等對6種淡水魚進行種類識別。主要結論如下:

        1)在單次驗證方法下,選用包含單一背景圖像和干擾背景圖像的淡水魚圖像數(shù)據(jù)集對改進ResNet50模型進行訓練,學習率為0.000 1、批大小為16;對淡水魚種類進行識別準確率可達到96.94%,相比經典ResNet50模型提高了1.22%,對單張淡水魚圖像樣本的平均檢測時間為0.234 5 s。

        2)通過四折交叉驗證方法對比研究了不同場景下的識別效果,單一背景圖像數(shù)據(jù)集下模型識別準確率可達100%,淡水魚圖像數(shù)據(jù)集下模型識別準確率為96.20%,說明模型泛化能力較強,適用于不同背景下的應用。

        3)通過混淆矩陣對種類識別結果可視化分析,在淡水魚圖像數(shù)據(jù)集上訓練模型,整體的預測準確率達到了96.94%;在單一背景數(shù)據(jù)集上訓練模型時,每類淡水魚的精確度、召回率和F1分數(shù)均可達到100%。進一步驗證了改進ResNet50模型的性能優(yōu)越,能夠應用于不同背景下的6種淡水魚種類識別。

        猜你喜歡
        背景模型
        一半模型
        “新四化”背景下汽車NVH的發(fā)展趨勢
        《論持久戰(zhàn)》的寫作背景
        當代陜西(2020年14期)2021-01-08 09:30:42
        重要模型『一線三等角』
        黑洞背景知識
        重尾非線性自回歸模型自加權M-估計的漸近分布
        晚清外語翻譯人才培養(yǎng)的背景
        3D打印中的模型分割與打包
        背景鏈接
        FLUKA幾何模型到CAD幾何模型轉換方法初步研究
        午夜国产精品一区二区三区| 亚洲av成本人无码网站| 日韩最新在线不卡av| 综合中文字幕亚洲一区二区三区 | 一区二区三区免费观看日本 | 天天躁狠狠躁狠狠躁夜夜躁| 亚洲AV无码一区二区二三区我| 少妇人妻偷人中文字幕| 亚洲国产av自拍一区| 国产精一品亚洲二区在线播放 | 国产精品一区二区久久乐下载| 国产高清不卡在线视频| 四虎永久在线精品免费网址| 中国凸偷窥xxxx自由视频妇科| 精品中文字幕久久久久久| 一二三四在线观看韩国视频| 在线视频夫妻内射| 亚洲av一区二区三区色多多| 国产ww久久久久久久久久| 亚洲色成人网站www观看入口| 国产精品成人黄色大片| 日韩女同视频在线网站| 水蜜桃亚洲一二三四在线| 手机色在线| 91l视频免费在线观看| 山外人精品影院| 在线一区不卡网址观看| 少妇人妻字幕一区二区| 国产成人无码一区二区三区| 国产亚洲日韩在线三区| 国产韩国精品一区二区三区| 亚洲成人精品久久久国产精品| 中国少妇内射xxxx狠干| 揄拍成人国产精品视频| 天堂精品人妻一卡二卡| 亚洲av无码国产精品色午夜字幕 | 天天躁日日躁狠狠很躁| 成人不卡国产福利电影在线看| 亚洲无人区乱码中文字幕动画 | 日本最新一区二区三区在线视频| 伊人久久精品无码av一区|