国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于魚體特征點(diǎn)檢測的淡水魚種類識別

2023-08-15 16:18:50李夢珂肖暢宇趙竣威
關(guān)鍵詞:淡水魚魚體特征向量

朱 明 ,李夢珂 ,萬 鵬 ,4※,肖暢宇 ,趙竣威

(1. 華中農(nóng)業(yè)大學(xué)工學(xué)院,武漢 430070;2. 農(nóng)業(yè)農(nóng)村部水產(chǎn)養(yǎng)殖設(shè)施工程重點(diǎn)實(shí)驗(yàn)室,武漢 430070;3. 農(nóng)業(yè)農(nóng)村部長江中下游農(nóng)業(yè)裝備重點(diǎn)實(shí)驗(yàn)室,武漢 430070;4. 農(nóng)業(yè)農(nóng)村部華南現(xiàn)代農(nóng)業(yè)智能裝備重點(diǎn)實(shí)驗(yàn)室,廣州,510630)

0 引 言

淡水魚種類識別是淡水魚機(jī)械化、自動化加工處理的基礎(chǔ)[1-3],同時(shí)在淡水魚的養(yǎng)殖、捕撈、銷售等環(huán)節(jié)具有重要應(yīng)用[4-5]。目前,淡水魚分類識別依靠人工進(jìn)行,勞動強(qiáng)度大、識別效率和準(zhǔn)確度較低,因此,開展準(zhǔn)確、高效的淡水魚種類識別方法研究對推動淡水魚養(yǎng)殖及加工的機(jī)械化、自動化具有重要意義。

機(jī)器視覺技術(shù)在農(nóng)業(yè)生產(chǎn)中具有廣泛應(yīng)用,在水產(chǎn)養(yǎng)殖領(lǐng)域,常被用來獲取養(yǎng)殖對象的視覺屬性,并據(jù)此研發(fā)快速、高效的種類識別、分級分選等方法[6]。如張志強(qiáng)等[7-8]提取魚體尺寸特征,通過統(tǒng)計(jì)分析建立魚體分類模型;WHITE 等[9-10]提取魚體顏色特征和尺寸特征后分別采用判別分析法和貝葉斯分類器對魚類圖像進(jìn)行分類;HU 等[11-12]提取魚體形態(tài)多種特征并采用支持向量機(jī)對魚體分類;萬鵬等[13]提取魚體形態(tài)特征和顏色特征采用BP 神經(jīng)網(wǎng)絡(luò)對淡水魚品種進(jìn)行識別。綜上所述,傳統(tǒng)機(jī)器視覺的淡水魚種類識別方法流程為魚體圖像預(yù)處理、特征值提取、基于特征值的魚體分類模型構(gòu)建;其中,魚體圖像預(yù)處理過程繁瑣,流程較多,易受圖像獲取環(huán)境的干擾,對魚體特征值提取效果有較大影響;而魚體特征值表達(dá)魚體的特征信息,直接影響淡水魚種類識別的準(zhǔn)確度,但常規(guī)的特征值提取難以挖掘魚體深層次的特征信息。特征點(diǎn)是指在不同圖像中能夠?qū)⒛繕?biāo)識別出來的具有統(tǒng)一性質(zhì)的位置點(diǎn),在魚體圖像中則表現(xiàn)為魚頭、魚鰭、魚尾等具有顯著特征的位置點(diǎn)?;谔卣鼽c(diǎn)檢測的目標(biāo)識別在生產(chǎn)生活中被廣泛應(yīng)用,因此,準(zhǔn)確檢測魚體的特征點(diǎn)并提取魚體的特征信息可以用于淡水魚的種類識別。

隨著深度學(xué)習(xí)技術(shù)的發(fā)展與應(yīng)用,相關(guān)學(xué)者利用深度學(xué)習(xí)技術(shù)對魚類的種類識別方法進(jìn)行了研究。如陳英義等[14-15]通過改進(jìn)的VGG16 網(wǎng)絡(luò)模型對魚類進(jìn)行識別;萬鵬等[16]構(gòu)建了基于改進(jìn)的ResNet50 模型的淡水魚種類識別方法;時(shí)揚(yáng)揚(yáng)[17]提出了一種將空間金字塔池化和DenseNet 相融合的圖像識別方法用于淡水魚種類檢測;VANEEDA 等[18]設(shè)計(jì)了基于深度卷積神經(jīng)網(wǎng)絡(luò)的海水魚分類方法。基于深度學(xué)習(xí)技術(shù)的目標(biāo)分類是一種端到端的分類方法,與傳統(tǒng)機(jī)器視覺技術(shù)相比,其簡化了圖像目標(biāo)的識別流程并保證了分類準(zhǔn)確率,但是這種端到端的方法導(dǎo)致特征提取過程被隱藏于整個(gè)分類過程中,難以對特征提取的結(jié)果進(jìn)行定量描述。

AlexNet 模型[19]是首個(gè)應(yīng)用于圖像分類的深層卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)模型,它有5 個(gè)卷積層和3 個(gè)全連接層,采用圖形處理器代替中央處理器進(jìn)行運(yùn)算,不但能加速網(wǎng)絡(luò)的訓(xùn)練速度,還能提升數(shù)據(jù)的使用規(guī)模,同時(shí)具備收斂速度更快、錯(cuò)誤率較低、能避免模型過擬合等優(yōu)點(diǎn)。本文以典型的大宗淡水魚為研究對象,以經(jīng)典AlexNet模型為基礎(chǔ),構(gòu)建改進(jìn)AlexNet 模型對淡水魚特征點(diǎn)進(jìn)行檢測,在此基礎(chǔ)上提取魚體的形態(tài)特征值構(gòu)建特征向量,并結(jié)合Fisher 判別分析對淡水魚種類進(jìn)行識別,以期提高淡水魚種類識別準(zhǔn)確率及識別速率,為淡水魚分類識別、魚體特征參數(shù)檢測、魚體分割等自動化前處理加工裝置的研制提供借鑒。

1 淡水魚特征點(diǎn)檢測數(shù)據(jù)集構(gòu)建及預(yù)處理

1.1 淡水魚原始圖像獲取

為了獲取淡水魚圖像,本文搭建了淡水魚圖像采集裝置,其結(jié)構(gòu)如圖1 所示。

圖1 淡水魚圖像采集裝置示意圖Fig.1 Schematic diagram of the freshwater fish image acquisition device

淡水魚圖像采集裝置由圖像采集平臺、BASLER 工業(yè)相機(jī)(德國Blaser,acA640-90 gm)、鏡頭(日本Computar,M0814-MP2)、光源、相機(jī)支架、計(jì)算機(jī)系統(tǒng)、淡水魚圖像采集軟件等構(gòu)成。采集魚體圖像時(shí),通過調(diào)整鏡頭與魚體樣本之間的距離改變相機(jī)的視場,即可對不同淡水魚樣本進(jìn)行圖像采集。

本文以鳊、鳙、草魚、鰱、鯉5 種典型的大宗淡水魚為研究對象。魚體樣本自市場隨機(jī)采購,要求魚體完整、呈鮮活狀態(tài),采購回來后放于水池中暫養(yǎng)。5 種淡水魚樣本的質(zhì)量范圍為:鳊0.3~0.8 kg,鳙1.0~1.9 kg,草魚0.6~1.4 kg,鰱1.2~2.1 kg,鯉0.9~1.8 kg。

采集魚體圖像時(shí),先將淡水魚擊暈,擦干魚體,再將魚體樣本放置于相機(jī)的正下方,分別采集魚頭朝左、魚身傾斜角度隨機(jī)的魚體正反兩面完整淡水魚原始圖像,如圖2 所示。

1.2 淡水魚圖像數(shù)據(jù)增強(qiáng)

為了增加訓(xùn)練樣本的多樣性,擴(kuò)充訓(xùn)練樣本數(shù)量,提升模型的適應(yīng)性能,需對采集的淡水魚圖像進(jìn)行數(shù)據(jù)增強(qiáng)。本文采用添加椒鹽噪聲和高斯噪聲、改變圖像亮度、對圖像向上和向下平移、以及高斯模糊等方法對采集的淡水魚原始圖像進(jìn)行處理,共得到5 種淡水魚樣本圖像7 200 張,每種淡水魚圖像各1 440 張,組成淡水魚圖像數(shù)據(jù)集。

1.3 淡水魚魚體特征點(diǎn)標(biāo)記和坐標(biāo)獲取

為了準(zhǔn)確檢測淡水魚魚體特征點(diǎn),首先需要確定魚體特征點(diǎn),并對圖像數(shù)據(jù)集中的魚體圖像進(jìn)行特征點(diǎn)標(biāo)記。根據(jù)淡水魚魚體結(jié)構(gòu)和外形,本文將魚體分為魚頭、魚身、魚尾三部分,共設(shè)定20 個(gè)特征點(diǎn),其中魚頭部分特征點(diǎn)為魚體吻端、魚體眼部、魚體鰓蓋骨后緣與上下邊緣位置;魚身部分特征點(diǎn)為魚鰭與魚身連接點(diǎn)、魚體輪廓過渡點(diǎn)位置;魚尾部分特征點(diǎn)為魚體尾鰭末端、尾鰭與魚身連接點(diǎn)、魚體脊椎骨末端位置。魚體20 個(gè)特征點(diǎn)的位置標(biāo)記如圖3 所示。

采用LabelMe 軟件對圖像數(shù)據(jù)集中魚體特征點(diǎn)位置進(jìn)行標(biāo)記,標(biāo)記結(jié)果為原圖像坐標(biāo)系中相對原點(diǎn)的坐標(biāo)值。利用Python 程序編寫算法將魚體圖像特征點(diǎn)信息寫入csv 表格文件,構(gòu)建包含淡水魚圖像及對應(yīng)特征點(diǎn)信息的淡水魚特征點(diǎn)檢測數(shù)據(jù)集,用于特征點(diǎn)檢測網(wǎng)絡(luò)結(jié)構(gòu)模型的訓(xùn)練和測試。5 種淡水魚特征點(diǎn)位置如圖4所示。

圖4 5 種淡水魚魚體20 個(gè)特征點(diǎn)位置Fig.4 Location of 20 feature points on the body of five species of freshwater fish

1.4 圖像預(yù)處理

淡水魚特征點(diǎn)檢測數(shù)據(jù)集在輸入網(wǎng)絡(luò)結(jié)構(gòu)模型訓(xùn)練之前,需要進(jìn)行預(yù)處理。本文調(diào)用PyTorch 算法工具庫對淡水魚圖像進(jìn)行處理。首先采用尺寸壓縮算法將圖像數(shù)據(jù)集中魚體圖像的尺寸壓縮成227 像素×227 像素大?。辉俨捎脷w一化處理將圖像像素值大小由[0,255] 轉(zhuǎn)變?yōu)閇0,1] ;最后采用張量處理將圖像和對應(yīng)特征點(diǎn)信息由Numpy 格式轉(zhuǎn)換為PyTorch 中的Tensor 格式。經(jīng)預(yù)處理后,淡水魚魚體圖像成為3 通道×227 像素×227 像素的張量,有助于加快深度學(xué)習(xí)網(wǎng)絡(luò)模型的訓(xùn)練和收斂速度、提升模型的檢測精度。

2 基于改進(jìn)AlexNet 模型的淡水魚特征點(diǎn)檢測方法

2.1 改進(jìn)AlexNet 模型的構(gòu)建

經(jīng)典AlexNet 模型由5 個(gè)卷積層和3 個(gè)全連接層構(gòu)成(圖5)。卷積層共包含1 個(gè)11×11 的卷積層、1 個(gè)5×5 的卷積層和3 個(gè)3×3 的卷積層,并在第1、2、5 層的卷積層設(shè)置最大池化模塊,在池化操作時(shí),每次移動的步長小于池化的窗口長度,有利于減少過擬合。輸入圖像經(jīng)過一系列卷積操作后,在第5 層輸出的特征圖尺寸為6×6×256,經(jīng)過展平處理后,輸出特征矩陣大小變?yōu)?×1×9 216,然后經(jīng)過3 層全連接層,最后由softmax 計(jì)算得到類別概率。

圖5 經(jīng)典AlexNet 模型網(wǎng)絡(luò)結(jié)構(gòu)Fig.5 Network structure of classical AlexNet model

為了縮減模型大小、提升模型的運(yùn)算效率,同時(shí)選擇適用于特征點(diǎn)檢測的損失函數(shù),本文對經(jīng)典AlexNet模型結(jié)構(gòu)進(jìn)行改進(jìn)和優(yōu)化,方案如下:

1)減小卷積核大小。為了減小模型的參數(shù)量和計(jì)算量,改進(jìn)AlexNet 模型將前兩層卷積的11×11 和5×5 尺寸的卷積核改為7×7 和3×3 尺寸的卷積核,這2 種尺寸的卷積核應(yīng)用于多種經(jīng)典神經(jīng)網(wǎng)絡(luò)中,并取得了較好的效果[20]。同時(shí),為保證卷積完成后輸出特征圖的尺寸,把前兩層卷積操作的步長s和填充p改為2 和0。

2)去除局部響應(yīng)歸一化(local response normalization,LRN)。經(jīng)典AlexNet 模型的局部響應(yīng)歸一化可以將數(shù)據(jù)分布調(diào)整到合理的范圍內(nèi),有助于計(jì)算處理,從而提高泛化能力,但是提升能力有限,同時(shí)還會導(dǎo)致內(nèi)存消耗和計(jì)算時(shí)間增加[21],因此本文在改進(jìn)AlexNet 模型中去除了LRN 結(jié)構(gòu)。

3)引入批量歸一化(batch normalization,BN)。為了有效避免梯度消失,加快網(wǎng)絡(luò)收斂,改善正則化策略,本文在改進(jìn)AlexNet 模型的卷積層之后、激活函數(shù)之前添加BN 層。

4)更換損失函數(shù)并修改全連接層參數(shù)。本文選擇均方誤差(mean square error,MSE)作為改進(jìn)AlexNet 模型特征點(diǎn)檢測問題的損失函數(shù)[22]。

改進(jìn)AlexNet 模型第5 層輸出的特征圖經(jīng)過展平處理后的輸出特征矩陣大小為1×1×9 216。為了減少全連接層參數(shù),并使改進(jìn)AlexNet 模型能夠輸出對應(yīng)數(shù)量的坐標(biāo)值,將全連接層Fc6 層和Fc7 層的輸出特征通道數(shù)修改為4 096 和1 000,并將全連接層Fc8 層的輸出特征矩陣大小定為1×1×40。改進(jìn)后的AlexNet 模型的網(wǎng)絡(luò)結(jié)構(gòu)如圖6 所示。

圖6 改進(jìn)AlexNet 模型網(wǎng)絡(luò)結(jié)構(gòu)Fig.6 Network structure of improved AlexNet model

圖6 中,改進(jìn)AlexNet 模型在網(wǎng)絡(luò)的主體結(jié)構(gòu)上與經(jīng)典AlexNet 模型相同,都由5 個(gè)卷積層和3 個(gè)全連接層構(gòu)成,保留了第1、2、5 層的卷積層的最大池化模塊;在激活函數(shù)的選擇上,改進(jìn)AlexNet 模型仍選擇ReLU激活函數(shù);為減少過擬合,改進(jìn)AlexNet 模型保留了Dropout。

改進(jìn)AlexNet 模型卷積層的卷積核大小分別為7、3、3、3、3,前2 個(gè)卷積操作的步長為2,其余層均為1;最大池化的采樣窗口大小為3×3,步長為2;輸入圖像經(jīng)過一系列卷積操作后,在第5 層卷積層輸出的特征圖尺寸為6×6×256,經(jīng)過展平處理后進(jìn)入3 層全連接層,最后輸出特征矩陣大小變?yōu)?×1×40。在特征點(diǎn)檢測問題中,F(xiàn)c8 的輸出為40 個(gè)坐標(biāo)值,對應(yīng)20 個(gè)特征點(diǎn)的橫、縱坐標(biāo)。

2.2 淡水魚特征點(diǎn)檢測評價(jià)指標(biāo)

為評價(jià)利用改進(jìn)AlexNet 模型對魚體特征點(diǎn)檢測的效果,參考現(xiàn)有特征點(diǎn)檢測相關(guān)研究[23-26],選擇歸一化平均誤差(E)和失敗率(failure rate,F(xiàn)R)作為特征點(diǎn)檢測準(zhǔn)確度的評價(jià)指標(biāo);并使用平均檢測時(shí)間作為特征點(diǎn)檢測速度的評價(jià)指標(biāo)。

2.2.1 歸一化平均誤差

歸一化平均誤差是衡量特征點(diǎn)檢測準(zhǔn)確度的重要指標(biāo)。魚體圖像中,特征點(diǎn)1 表征魚體吻端,特征點(diǎn)18 表征魚體脊椎骨末端位置,本研究以魚體特征點(diǎn)1 與特征點(diǎn)18 之間的距離為歸一化距離,對每個(gè)圖像求歸一化平均誤差,并在整個(gè)測試集上求其平均值。則每個(gè)圖像歸一化平均誤差E的計(jì)算式為

式中Pi和Qi為圖像上第i個(gè)特征點(diǎn)的真實(shí)坐標(biāo)和預(yù)測坐標(biāo);L為該圖像上魚體特征點(diǎn)1 與特征點(diǎn)18 之間的距離。歸一化平均誤差的值越小,說明特征點(diǎn)定位準(zhǔn)確率越高。

2.2.2 失敗率

失敗率是指特征點(diǎn)定位失敗,即歸一化平均誤差大于閾值δ的魚體圖像在圖像數(shù)據(jù)集中所占的比例,用Fδ表示閾值為δ時(shí)的失敗率。

為了確定閾值δ的取值,參考人臉特征點(diǎn)檢測的閾值選取方法[23-26],同時(shí)考慮淡水魚特征點(diǎn)檢測數(shù)據(jù)集的實(shí)際情況,確定閾值δ設(shè)定為0.02 和0.03,使用F0.02和F0.03表示2 種閾值下的失敗率。

2.2.3 平均檢測時(shí)間

為了評價(jià)圖像特征點(diǎn)檢測的速度,論文以淡水魚測試樣本圖像特征點(diǎn)的平均檢測時(shí)間來衡量檢測速度,平均檢測時(shí)間的計(jì)算式為

式中T為平均檢測時(shí)間,s;Tstart為檢測開始的時(shí)刻,即第一張測試樣本圖像輸入模型的時(shí)刻;Tend為檢測結(jié)束的時(shí)刻,即最后一張測試樣本圖像的檢測結(jié)果輸出的時(shí)刻;Ntest為測試樣本圖像的數(shù)量。

2.3 改進(jìn)AlexNet 模型的訓(xùn)練

2.3.1 模型的訓(xùn)練環(huán)境

文中模型訓(xùn)練和測試時(shí)的環(huán)境為: Windows 11 操作系統(tǒng),GPU 為NVIDIA GeForce RTX 3 090,編程語言為Python3.8,深度學(xué)習(xí)框架為PyTorch,基礎(chǔ)配置為Anaconda3、PyCharm。

2.3.2 模型訓(xùn)練過程

網(wǎng)絡(luò)模型訓(xùn)練時(shí),將數(shù)據(jù)集按照8∶1∶1 的比例隨機(jī)劃分為訓(xùn)練集、驗(yàn)證集、測試集,使用Adam 優(yōu)化算法更新梯度,使用余弦退火算法衰減學(xué)習(xí)率,使用Kaiming 正態(tài)分布初始化卷積層權(quán)重。網(wǎng)絡(luò)模型訓(xùn)練流程如圖7 所示。

圖7 模型訓(xùn)練流程Fig.7 Model training process

2.4 試驗(yàn)分析

在進(jìn)行性能分析和對比試驗(yàn)前,對構(gòu)建的模型進(jìn)行超參數(shù)優(yōu)化,確定最優(yōu)的超參數(shù)組合。使用不同的初始學(xué)習(xí)率和批次大小訓(xùn)練模型并比較模型的訓(xùn)練效果,結(jié)果表明:當(dāng)初始學(xué)習(xí)率設(shè)定為0.000 1、批次大小設(shè)定為32 時(shí)模型訓(xùn)練效果最好;當(dāng)模型迭代次數(shù)達(dá)到250 次時(shí)所有條件下模型均可完全收斂。因此,在對模型進(jìn)行訓(xùn)練時(shí),針對不同的方案和模型設(shè)置相同的優(yōu)化算法、迭代次數(shù)、學(xué)習(xí)率和批次大小,并使用相同的均方誤差損失函數(shù);其中初始學(xué)習(xí)率設(shè)定為0.000 1,批次大小設(shè)定為32,迭代次數(shù)設(shè)定為250 次。

2.4.1 消融試驗(yàn)

為了研究不同改進(jìn)方案對優(yōu)化模型性能的影響,本文從卷積核大小、LRN 層取舍、BN 層設(shè)置3 個(gè)角度提出了對經(jīng)典AlexNet 模型的改進(jìn)方案,同時(shí)本文設(shè)置了5 種試驗(yàn)方案進(jìn)行性能分析,各試驗(yàn)方案具體設(shè)置和試驗(yàn)結(jié)果如表1 所示。

表1 試驗(yàn)方案與試驗(yàn)結(jié)果Table 1 Experiment schemes and experiment results

各試驗(yàn)方案訓(xùn)練集前100 輪的損失曲線如圖8 所示。

圖8 各試驗(yàn)方案訓(xùn)練集前100 輪的損失曲線Fig.8 Loss curve for the first 100 rounds of training set for each experiment scheme

由表1 可知,方案1 為經(jīng)典AlexNet 模型結(jié)構(gòu),方案2 在方案1 的基礎(chǔ)上用7×7 和3×3 尺寸的卷積核代替11×11 和5×5 尺寸的卷積核,其參數(shù)量減少為45.223×106,浮點(diǎn)運(yùn)算量減少為0.900×109,而歸一化平均誤差的均值和失敗率無明顯改變,說明減小卷積核尺寸可在不影響模型檢測效果的基礎(chǔ)上簡化模型。方案3 在方案1的基礎(chǔ)上去除LRN 層,去除LRN 層后,對模型各方面影響較小,說明LRN 層的優(yōu)化效果不明顯,故可去除。方案4 在方案1 的基礎(chǔ)上去除LRN 層,并添加批量歸一化層,其歸一化平均誤差的均值減小為0.009 6,失敗率F0.02和F0.03分別減小為2.36%和0.97%,但方案4 的參數(shù)量和浮點(diǎn)計(jì)算量略有增加,這是由于BN 層進(jìn)行了歸一化計(jì)算造成的。方案5 在方案1 的基礎(chǔ)上綜合了3 種改進(jìn)方案,結(jié)果表明,其參數(shù)量減少為45.224×106,浮點(diǎn)運(yùn)算量減少為0.906×109,失敗率F0.02和F0.03分別減小為2.50%和0.83%,由圖8 可知,方案5 的模型收斂速度優(yōu)于其他方案,說明方案5 在模型大小、計(jì)算量、檢測效果方面均優(yōu)于原始模型。

綜上所述,本文提出的對經(jīng)典AlexNet 模型的改進(jìn)方案均對特征點(diǎn)檢測效果的提高產(chǎn)生了效果,其中方案5 在模型大小、計(jì)算量、檢測效果方面呈現(xiàn)出了較好的改善效果,其歸一化平均誤差的均值僅為0.009 9,失敗率F0.02和F0.03為2.50%和0.83%,因此本文將方案5 作為最終改進(jìn)方案。

2.4.2 不同模型對比試驗(yàn)

采用VGG16 模型和MobileNetV2 模型開展對比試驗(yàn)。其中VGG16 模型[21]是一種經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)模型,在圖像識別領(lǐng)域受到了廣泛的應(yīng)用[27-28];MobileNetV2模型是一種輕量化的卷積神經(jīng)網(wǎng)絡(luò)模型,使用了深度可分離卷積來減少參數(shù)量和計(jì)算量,加強(qiáng)了特征表征能力,準(zhǔn)確率更高,模型更小[29]。

在相同的試驗(yàn)環(huán)境下,每種模型均使用相同的均方誤差損失函數(shù),并調(diào)整模型最后一層的參數(shù)使之能輸出40 個(gè)坐標(biāo)值。試驗(yàn)時(shí)使用同一數(shù)據(jù)集對不同模型進(jìn)行訓(xùn)練和測試,3 種模型的初始學(xué)習(xí)率和批次大小為0.000 1、32,迭代次數(shù)為250 次。對比試驗(yàn)結(jié)果如表2 所示。

表2 不同模型的測試結(jié)果Table 2 Test results of different models

由表2 可知,改進(jìn)AlexNet 模型的參數(shù)量為45.224×106,浮點(diǎn)計(jì)算量為0.906×109,均優(yōu)于VGG16 模型,在測試集上歸一化平均誤差的均值也小于VGG16 模型,對特征點(diǎn)的檢測更準(zhǔn)確。與輕量化網(wǎng)絡(luò)MobileNetV2相比,改進(jìn)AlexNet 模型的參數(shù)量和浮點(diǎn)計(jì)算量雖然比較大,但歸一化平均誤差的均值明顯小于輕量化網(wǎng)絡(luò)MobileNetV2 模型,并且平均檢測時(shí)間也無明顯差距。從失敗率的角度比較,改進(jìn)AlexNet 模型的F0.02和F0.03小于其他2 種模型。

綜上所述,改進(jìn)AlexNet 模型在保證了特征點(diǎn)檢測準(zhǔn)確度的基礎(chǔ)上,同時(shí)保證了時(shí)效性,有利于實(shí)現(xiàn)模型在實(shí)際場景中的應(yīng)用。

2.4.3 不同種類淡水魚的特征點(diǎn)檢測結(jié)果

使用包含5 種淡水魚的特征點(diǎn)檢測數(shù)據(jù)集對改進(jìn)AlexNet 模型進(jìn)行訓(xùn)練,并用包含單一種類淡水魚的測試集對模型進(jìn)行測試,不同種類淡水魚特征點(diǎn)檢測的歸一化平均誤差和失敗率如表3 所示。

表3 不同種類淡水魚特征點(diǎn)檢測結(jié)果Table 3 Detection results of feature points of different species of freshwater fish

由表3 可知,改進(jìn)AlexNet 模型對5 種淡水魚特征點(diǎn)檢測準(zhǔn)確度都較高,測試集歸一化平均誤差的均值均不高于0.011 4;從失敗率角度看,5 種淡水魚的失敗率F0.02均小于5%,F(xiàn)0.03均小于3%。這說明改進(jìn)AlexNet模型對5 種淡水魚的特征點(diǎn)檢測具有較好結(jié)果,改進(jìn)AlexNet 模型對不同種類淡水魚特征點(diǎn)檢測具有較好適應(yīng)性。

為了表征淡水魚特征點(diǎn)檢測效果,將改進(jìn)AlexNet網(wǎng)絡(luò)模型預(yù)測的特征點(diǎn)結(jié)果與標(biāo)記的真實(shí)點(diǎn)繪制在圖像中,則5 種淡水魚檢測效果如圖9 所示。

圖9 5 種淡水魚數(shù)據(jù)集訓(xùn)練改進(jìn)模型的檢測結(jié)果Fig.9 Detection results of training improved model on data set of 5 freshwater fish species

由圖9 可知,本文構(gòu)建的改進(jìn)AlexNet 模型對5 種淡水魚特征點(diǎn)的檢測都比較準(zhǔn)確,預(yù)測點(diǎn)和真實(shí)點(diǎn)的擬合程度較好。進(jìn)一步分析發(fā)現(xiàn),魚體頭部和背部特征點(diǎn)檢測結(jié)果最好,而魚體腹部和尾部的預(yù)測點(diǎn)與真實(shí)點(diǎn)的偏差較大。這是因?yàn)轸~體腹部顏色較淺,特征不明顯,特征提取較為困難,因此造成了特征點(diǎn)的偏差;而魚尾柔軟易擺動使得圖像采集時(shí)部分魚尾的姿態(tài)發(fā)生變化,這對神經(jīng)網(wǎng)絡(luò)模型的訓(xùn)練和最終的檢測效果產(chǎn)生了一定的影響。

綜上所述,改進(jìn)AlexNet 模型可用于5 中淡水魚魚體特征點(diǎn)檢測,且檢測準(zhǔn)確率高,速度快。

3 基于Fisher 判別分析的淡水魚種類識別方法

前述魚體圖像中設(shè)定的特征點(diǎn)根據(jù)魚體的外形特征進(jìn)行標(biāo)記,不能直接表征魚體的形態(tài)特征并對淡水魚種類進(jìn)行識別。因此,論文在前述魚體特征點(diǎn)檢測的基礎(chǔ)上,提取魚體形態(tài)特征值構(gòu)建魚體特征向量,結(jié)合判別分析對淡水魚種類識別方法進(jìn)行研究。

3.1 基于特征點(diǎn)的淡水魚形態(tài)特征值提取及特征向量構(gòu)建

魚體的特征點(diǎn)分布于淡水魚的外形輪廓及體表特定部位,特征點(diǎn)兩兩之間的歐式距離可以表征魚體的大小及形態(tài)特征,本文以魚體特征點(diǎn)1 與18 之間的歐式距離表征魚體體長,以魚體表面每兩個(gè)特征點(diǎn)之間的歐式距離與魚體體長的比值作為形態(tài)特征值,則單條淡水魚體表20 個(gè)特征點(diǎn)可以得到190 個(gè)特征值。淡水魚表面特征點(diǎn)間距離示意圖如圖10 所示。

圖10 淡水魚特征點(diǎn)與特征點(diǎn)間距離示意圖Fig.10 Schematic diagram of the distances between feature points and feature points in freshwater fish

如圖10 所示,假定淡水魚圖像左上角的坐標(biāo)為(0,0),則魚體圖像上第p個(gè)特征點(diǎn)(xp,yp)與第q個(gè)特征點(diǎn)(xq,yq)之間的歐式距離為

式中p、q為特征點(diǎn)編號,p、q=1, 2, …, 20,且p<q。

特征點(diǎn)1 與18 之間的歐式距離為

淡水魚特征值可表示為

故可構(gòu)建單條淡水魚的魚體特征向量

則向量V為190 維列向量。

3.2 基于Fisher 判別分析的淡水魚分類方法

Fisher 判別分析法是一種線性有監(jiān)督分類技術(shù),對樣本的分布無任何要求,可以將樣本向低維空間投影,使得樣本集中的各個(gè)類在低維特征空間中形成若干個(gè)聚合的可分離的子集,通過計(jì)算待測樣本到各類中心的距離,從而完成分類。本文在前述魚體特征向量構(gòu)建的基礎(chǔ)上,利用Fisher 判別分析構(gòu)建模型對淡水魚種類進(jìn)行識別。

從淡水魚圖像數(shù)據(jù)集中隨機(jī)選取5 種淡水魚圖像各140 張構(gòu)建Fisher 判別分析模型的樣本集,每類淡水魚圖像中,40 張作為訓(xùn)練樣本,其余作為測試樣本。

樣本類別數(shù)N=5,訓(xùn)練樣本總數(shù)m=200,第i類訓(xùn)練樣本的數(shù)量mi=40,i= 1, 2, …, 5。根據(jù)訓(xùn)練樣本集中淡水魚的特征點(diǎn)坐標(biāo)構(gòu)造每個(gè)魚體樣本的特征向量,設(shè)置訓(xùn)練樣本種類標(biāo)簽,構(gòu)建Fisher 判別分析模型訓(xùn)練樣本集D,則:

式中i= 1, 2, …, 5;j= 1, 2, …, 40;Vij為第i類樣本集中第j個(gè)樣本的特征向量;yij為第i類樣本集中第j個(gè)樣本的種類標(biāo)簽,yij= 1, 2, …, 5。

第i個(gè)類別樣本的均值向量 μi和所有樣本的均值向量 μ的計(jì)算式如下:

式中i= 1, 2, …, 5;為第i個(gè)類別樣本中40 個(gè)樣本的特征向量中指定位置特征值的平均值。

每個(gè)類別的類內(nèi)散度矩陣之和SW與類間離散度矩陣SB的計(jì)算式為

則Fisher 準(zhǔn)則函數(shù)為

式中tr()表示矩陣的跡。

根據(jù)Fisher 判別分析的基本原理,求使準(zhǔn)則函數(shù)JF(W)達(dá)到最大時(shí)的解W,即求廣義特征值問題:

則W的閉式解是的k個(gè)最大非零廣義特征值對應(yīng)的特征向量組成的矩陣,且k≤N—1,故最多有4 個(gè)特征向量。

將W視為一個(gè)投影矩陣,將樣本向4 維空間投影,即將訓(xùn)練樣本降維,則每個(gè)維度的貢獻(xiàn)率如表4 所示。

表4 各維度貢獻(xiàn)率Table 4 Contribution rate of each dimension

根據(jù)表4 可知,前3 個(gè)維度的累計(jì)貢獻(xiàn)率已達(dá)到了98.522%,綜合考慮累計(jì)貢獻(xiàn)率和高維度帶來的計(jì)算量的增加,選擇的前3 個(gè)最大非零廣義特征值對應(yīng)的特征向量組成W矩陣,因此確定了最佳投影方向。

Fisher 線性判別函數(shù)為:

即:

式中Y=[Y1,Y2,Y3] ,表示將樣本向W矩陣表示的方向投影后的向量,也即訓(xùn)練樣本降維后的向量。

將訓(xùn)練樣本集中的所有樣本向W矩陣表示的方向投影,得到所有樣本投影后的向量。將投影后的向量視為三維空間的點(diǎn),繪制投影結(jié)果在三維空間的分布,如圖11所示。

圖11 訓(xùn)練樣本投影結(jié)果可視化Fig.11 Visualization of training samples projection results

在圖11 中,異類樣本點(diǎn)之間界限明顯,同類樣本點(diǎn)分布集中,這說明樣本在三維空間容易區(qū)分。

對于待測樣本,計(jì)算樣本的特征向量Vt,分別計(jì)算Vt到每個(gè)種類樣本均值的馬氏距離,其中最小距離對應(yīng)的類別即為待測樣本的預(yù)測類別。Vt到第i類樣本的馬氏距離dt的計(jì)算式如下:

式中 μi為第i類樣本的均值向量;為第i類樣本的協(xié)方差矩陣。

3.3 基于特征點(diǎn)的淡水魚種類識別方法驗(yàn)證

取Fisher 判別分析模型樣本集中的測試樣本,采用改進(jìn)AlexNet 模型檢測測試樣本的特征點(diǎn)構(gòu)建魚體特征向量,再使用Fisher 判別分析對淡水魚種類進(jìn)行檢測。為驗(yàn)證本文特征提取方法對不同分類方法的適用性,同時(shí)使用貝葉斯判別法[30]進(jìn)行淡水魚種類識別檢測試驗(yàn),并比較2 種方法的檢測準(zhǔn)確率及平均識別時(shí)間t,試驗(yàn)結(jié)果如表5 所示。

表5 淡水魚種類識別試驗(yàn)結(jié)果Table 5 Test results of freshwater fish species identification

由表5 可知,基于魚體特征點(diǎn),采用Fisher 判別分析法對5 種淡水魚進(jìn)行識別的平均準(zhǔn)確率為98.0%,單張圖像的平均識別時(shí)間為0.368 s;采用貝葉斯判別法對5 種淡水魚進(jìn)行識別的平均準(zhǔn)確率為96.4%,略低于Fisher 判別分析法,單張圖像的平均識別時(shí)間為0.404 s,略高于Fisher 判別分析法。試驗(yàn)結(jié)果表明,使用改進(jìn)AlexNet 模型檢測魚體特征點(diǎn)并提取魚體特征向量可用于淡水魚的分類檢測;基于特征點(diǎn)構(gòu)建的魚體形態(tài)特征向量適用于不同的分類檢測方法,其中使用Fisher 判別分析法進(jìn)行分類的準(zhǔn)確率更高,并具有較好的時(shí)效性。

4 結(jié) 論

1)本文提出了一種基于特征點(diǎn)檢測的淡水魚種類識別方法,該方法首先利用卷積神經(jīng)網(wǎng)絡(luò)獲取魚體特征點(diǎn),再使用特征點(diǎn)信息結(jié)合Fisher 判別分析法對淡水魚種類進(jìn)行識別。

2)在經(jīng)典AlexNet 模型的基礎(chǔ)上,通過改變卷積核尺寸、去除局部響應(yīng)歸一化、加入批量歸一化、更換損失函數(shù)構(gòu)建了改進(jìn)AlexNet 模型。使用改進(jìn)AlexNet 模型進(jìn)行特征點(diǎn)檢測,其歸一化平均誤差的均值為0.009 9,閾值取0.02 和0.03 時(shí)的失敗率分別為2.50%和0.83%,優(yōu)于經(jīng)典AlexNet 模型,且對5 種淡水魚的檢測效果均較好。將改進(jìn)AlexNet 模型與其他特征提取網(wǎng)絡(luò)對比,歸一化平均誤差的均值和失敗率均小于VGG16 模型和輕量化網(wǎng)絡(luò)MobileNetV2 模型。

3)根據(jù)魚體表面特征點(diǎn)提取魚體形態(tài)特征值構(gòu)建魚體特征向量,采用Fisher 判別分析進(jìn)行淡水魚種類識別,對5 種淡水魚種類的識別準(zhǔn)確率達(dá)到98.0%,單張魚體圖像的平均檢測時(shí)間為0.368 s,具有較好的實(shí)時(shí)性。

本研究提出了基于改進(jìn)AlexNet 模型的淡水魚特征點(diǎn)檢測方法,并通過魚體特征點(diǎn)構(gòu)建魚體特征向量實(shí)現(xiàn)對淡水魚的種類識別;同時(shí)該研究方法也可用于其他淡水魚種類識別、魚體特征參數(shù)檢測及魚體分割加工裝置研究等方面。

猜你喜歡
淡水魚魚體特征向量
二年制職教本科線性代數(shù)課程的幾何化教學(xué)設(shè)計(jì)——以特征值和特征向量為例
淡水魚類育種和人工繁殖技術(shù)關(guān)鍵點(diǎn)分析
克羅內(nèi)克積的特征向量
軸流泵內(nèi)魚體的運(yùn)動行為與撞擊損傷分析
淡水魚水平往復(fù)振動頭尾定向輸送方法
淡水魚健康養(yǎng)殖及病害的防治技術(shù)
淡水魚腹背定向裝置設(shè)計(jì)及試驗(yàn)
一類特殊矩陣特征向量的求法
EXCEL表格計(jì)算判斷矩陣近似特征向量在AHP法檢驗(yàn)上的應(yīng)用
九大巨無霸淡水魚
汶川县| 云安县| 斗六市| 山东省| 抚州市| 山丹县| 蒙山县| 商城县| 孟连| 舞阳县| 和静县| 承德县| 武宁县| 德保县| 扎囊县| 咸阳市| 西安市| 丹凤县| 义乌市| 石景山区| 台安县| 昆山市| 锦州市| 霍林郭勒市| 林口县| 苗栗市| 壤塘县| 奉贤区| 泰顺县| 彩票| 郁南县| 汾西县| 昌乐县| 边坝县| 安徽省| 加查县| 石家庄市| 汾西县| 班玛县| 汽车| 边坝县|