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

?

基于改進(jìn)Mask R-CNN的花白鰱去鱗率計(jì)算方法研究

2022-06-06 07:08:18肖哲非鄭曉偉徐文其
漁業(yè)現(xiàn)代化 2022年2期
關(guān)鍵詞:掩膜魚鱗魚體

肖哲非,沈 建,鄭曉偉,徐文其

(1中國(guó)水產(chǎn)科學(xué)研究院漁業(yè)機(jī)械儀器研究所,上海 200092;2 農(nóng)業(yè)農(nóng)村部遠(yuǎn)洋漁船與裝備重點(diǎn)實(shí)驗(yàn)室,上海 200092;3 國(guó)家水產(chǎn)品加工裝備研發(fā)分中心,上海 200092;4 大連工業(yè)大學(xué)海洋食品精深加工關(guān)鍵技術(shù)省部共建協(xié)同創(chuàng)新中心,遼寧 大連,116034)

隨著經(jīng)濟(jì)的發(fā)展和人民生活質(zhì)量的提高,人們?cè)絹?lái)越重視飲食健康,淡水魚作為一種低價(jià)且優(yōu)質(zhì)的蛋白質(zhì)來(lái)源,廣受消費(fèi)者青睞。2020年,中國(guó)淡水水產(chǎn)品總量達(dá)到了3 234.64萬(wàn)t,但加工轉(zhuǎn)化率僅為12.72%[1],相比于海水產(chǎn)品50.66%的加工率,淡水產(chǎn)品的加工率明顯偏低。其原因在于,國(guó)內(nèi)大部分的淡水魚生產(chǎn)線還存在機(jī)械化程度低的問題[2-3]。

近年來(lái),有很多學(xué)者投入到淡水魚加工設(shè)備的研發(fā)中。去鱗是淡水魚加工前處理過(guò)程中非常重要的一個(gè)環(huán)節(jié),目前已有各種去鱗設(shè)備[4-6]。實(shí)時(shí)快速的去鱗率計(jì)算模塊不但可以應(yīng)用于去鱗設(shè)備中,作為運(yùn)行狀態(tài)監(jiān)控,還可以將其結(jié)果作為設(shè)備驗(yàn)收或評(píng)估時(shí)的參考之一。上述這些去鱗設(shè)備的去鱗率檢測(cè)都是基于操作者感官評(píng)價(jià)或在坐標(biāo)紙上標(biāo)記剩余魚鱗面積,不但效率低下而且受操作者主觀意識(shí)影響,還有可能在測(cè)量過(guò)程中對(duì)魚體造成損壞。為了更客觀準(zhǔn)確地檢測(cè)去鱗率,張軍文等[7]提出了使用三維激光掃描儀檢測(cè)羅非魚的去鱗率,在羅非魚體表貼上標(biāo)靶點(diǎn)貼紙,并將掃描后的模型導(dǎo)入ProE計(jì)算,該方法精度高、成像快,但需要應(yīng)用第三方軟件且對(duì)操作人員要求較高。

隨著計(jì)算機(jī)科學(xué)的不斷發(fā)展以及工業(yè)相機(jī)成本的下降,機(jī)器視覺識(shí)別和檢測(cè)等技術(shù)逐漸引起關(guān)注,由于其對(duì)魚體無(wú)損、檢測(cè)快速等特點(diǎn),在水產(chǎn)行業(yè)得到了越來(lái)越廣泛的應(yīng)用[8-10]。如通過(guò)魚體圖像實(shí)現(xiàn)對(duì)質(zhì)量的檢測(cè)[11-12]、品種分類[13-16]、魚體損傷區(qū)域檢測(cè)[17]。上述方法都以完整的魚體作為研究對(duì)象,并不能對(duì)魚體的不同部分做精確檢測(cè)。近些年,越來(lái)越多的基于深度學(xué)習(xí)的實(shí)例分割算法被提出,它們可對(duì)圖像做像素級(jí)的檢測(cè),預(yù)測(cè)出輸入圖像哪一個(gè)像素屬于待檢測(cè)目標(biāo)物體,并且具有良好抗干擾能力以及多維特征提取能力,可應(yīng)用于復(fù)雜的環(huán)境里[18-22]。

針對(duì)目前國(guó)內(nèi)缺少高效且準(zhǔn)確的去鱗率檢測(cè)方法的情況,本研究將實(shí)例分割算法(Mask Region Convolution Neutral Network,Mask R-CNN)進(jìn)行改進(jìn),平衡其運(yùn)算速度與準(zhǔn)確性,以花白鰱作為試驗(yàn)對(duì)象,實(shí)現(xiàn)對(duì)魚體中有魚鱗區(qū)域與無(wú)魚鱗區(qū)域精細(xì)分割,并根據(jù)分割結(jié)果計(jì)算去鱗率,為后續(xù)智能去鱗機(jī)的研發(fā)提供參考。

1 改進(jìn)Mask R-CNN模型結(jié)構(gòu)分析

1.1 Mask R-CNN結(jié)構(gòu)分析

選取實(shí)例分割算法(Instance Segmentation)分割有魚鱗區(qū)域與無(wú)魚鱗區(qū)域,原因是實(shí)例分割算法不僅能輸出目標(biāo)物體的檢測(cè)框(Bounding Box),而且可以輸出圖像中屬于目標(biāo)物體的像素點(diǎn)。因此,在多個(gè)目標(biāo)物體距離接近的情況下可大幅降低識(shí)別不清,相互重疊的情況[23]。Mask R-CNN是由Hue等[24]提出的一種實(shí)例分割算法,該算法使用了Ren等[25]提出的兩階段(Two Stage)目標(biāo)檢測(cè)算法Faster R-CNN的總體框架,即階段一的區(qū)域建議(Region Proposal)以及階段二的邊界框回歸(Bounding Box Regression)以及分類(Classification)。Mask R-CNN將原算法中用于提取特征圖(Feature Map)的VGG網(wǎng)絡(luò)替換成了ResNet[26]和FPN(Feature Pyramid Networks)[27]結(jié)合的網(wǎng)絡(luò),ResNet解決了深度學(xué)習(xí)中層數(shù)太多而梯度消失的問題, FPN網(wǎng)絡(luò)在多尺度目標(biāo)檢測(cè)上有更好表現(xiàn);將Faster R-CNN中的ROI Pooling改進(jìn)為ROI Align,解決了特征圖與原圖不對(duì)準(zhǔn)的問題,提高了檢測(cè)精度;并在Faster R-CNN的基礎(chǔ)上添加了一條與邊界框的回歸和分類并行的掩膜(Mask)分支,在完成目標(biāo)檢測(cè)任務(wù)的同時(shí)對(duì)目標(biāo)進(jìn)行像素級(jí)別的分割。

Mask R-CNN的結(jié)構(gòu)如圖1所示,輸入的圖像先經(jīng)過(guò)骨架網(wǎng)絡(luò)(Backbone)提取特征圖像(Feature Map),特征圖像上的每一點(diǎn)會(huì)生成若干個(gè)錨框(Anchor)并進(jìn)入?yún)^(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN)進(jìn)行二分類以及邊界框的回歸,去掉一部分無(wú)用的錨框,ROI Align將剩余的感興趣區(qū)域(ROI,Region of Interest)尺寸統(tǒng)一并與原圖對(duì)應(yīng),最終在得到的感興趣區(qū)域上進(jìn)行分類,邊界框回歸以及掩膜生成。

圖1 Mask R-CNN模型結(jié)構(gòu)

Mask R-CNN使用的骨架網(wǎng)絡(luò)包括3個(gè)部分,自下而上、自上而下以及橫向連接[28-29]。自下而上,即圖1中C1至C5層,使用ResNet對(duì)原圖進(jìn)行不同尺度的特征圖提取,每一層的步長(zhǎng)(Stride)都為2,每個(gè)階段輸出的特征圖分辨率都是上一層的1/4。中間的M5層是由C5層經(jīng)過(guò)1x1的卷積計(jì)算得到的,之后的自上而下是使用FPN網(wǎng)絡(luò)將M5層逐步上采樣,得到M4到M1層。最后的橫向連接是C2、C3、C4、C5的每一層都經(jīng)過(guò)一個(gè)1x1的卷積計(jì)算,再分別于M2、M3、M4、M5相加,得到P2、P3、P4、P5,并通過(guò)一個(gè)3×3的卷積處理消除混疊效應(yīng),得到特征圖。P6則是由M5經(jīng)最大池化得到的,P6只用于后續(xù)的區(qū)域建議網(wǎng)絡(luò)中,并不作為特征圖輸出。ResNet和FPN相結(jié)合的特征提取網(wǎng)絡(luò)在計(jì)算量保持不變的前提下,提高了對(duì)小尺度物體的檢測(cè)能力。

經(jīng)過(guò)骨架網(wǎng)絡(luò)提取的特征圖上的每一點(diǎn)會(huì)自動(dòng)生成大量的錨框,錨框由RPN中的一個(gè)分支softmax進(jìn)行二分類,包括目標(biāo)物體的為正例,不包含目標(biāo)物體的為負(fù)例。 區(qū)域建議網(wǎng)絡(luò)中另一個(gè)分支用于計(jì)算錨框的邊界框回歸偏移量。兩個(gè)分支的計(jì)算結(jié)果結(jié)合以獲得精確的建議錨框。從精確的建議錨框中剔除超出邊界以及太小的錨框,再通過(guò)非極大值抑制(Non-Maximum Suppression)對(duì)包含目標(biāo)物體的錨框進(jìn)行篩選,得到感興趣區(qū)域。

當(dāng)目標(biāo)物的邊界框?qū)?yīng)到特征圖上時(shí),以及得到感興趣區(qū)域映射成固定尺寸時(shí),得到的值通常是浮點(diǎn)數(shù)。在Faster R-CNN中,這兩個(gè)浮點(diǎn)數(shù)被量化取整,而產(chǎn)生的誤差導(dǎo)致了特征圖上的感興趣區(qū)域在對(duì)應(yīng)到原圖上出現(xiàn)很大的偏差[20]。為了消除這部分誤差,Mask R-CNN提出了ROI Align,引入了雙線性插值的概念,取消了量化操作,保留了小數(shù)[30-31]。

圖2展示的是Faster R-CNN中使用的ROI Pooling和Mask R-CNN中使用的ROI Align的對(duì)比。假設(shè)原圖大小為800×800,目標(biāo)物體在原圖中大小為665×400,得到的特征圖大小為32×32,包含著目標(biāo)物體的邊界框?qū)?yīng)到特征圖上時(shí),得到的結(jié)果是(665/32)×(400/32)=20.78×12.5,ROI Pooling將其量化為20×12,之后再次將20×12的ROI映射成大小為7×7的ROI時(shí),結(jié)果為(20/7)×(12/7)=2.86×1.71,ROI Pooling將其再次量化為2×1。兩次量化過(guò)程造成了數(shù)據(jù)量丟失,導(dǎo)致了特征圖上的感興趣區(qū)域在對(duì)應(yīng)到原圖上出現(xiàn)偏差。

圖2 ROI Pooling 和ROI Align的對(duì)比

而ROI Align則通過(guò)雙線性插值將浮點(diǎn)數(shù)保留下來(lái)。雙線性插值的本質(zhì)是通過(guò)x和y兩個(gè)方向上分別做線性插值來(lái)計(jì)算二維區(qū)間上某一點(diǎn)的值[33]。如圖3中左圖所示,已知Q11、Q12、Q21和Q22的值,計(jì)算P點(diǎn)的值可先在x方向上對(duì)Q11和Q21做線性插值,得到R1的值,再在x方向上對(duì)Q12和Q22做線性插值,得到R2的值,隨后在y方向上對(duì)R1和R2做線性插值,得到P的值:

(1)

(2)

(3)

式中:Q11、Q21、Q12和Q22圖中已知值的像素點(diǎn),坐標(biāo)分別為(x1,y1)、(x2,y1)、(x1,y2)和(x2,y2)。R1、R2以及P是數(shù)值為未知的像素點(diǎn),坐標(biāo)分別為(x,y1)、(x,y2)和(x,y)。

圖3右圖為ROI Align的示意圖,圖中虛線部分表示特征圖,實(shí)線部分表示感興趣區(qū)域,這里將感興趣區(qū)域切分成2×2的單元格,假設(shè)采樣點(diǎn)數(shù)為4,將每個(gè)單元格分成2×2的小單元格,中心點(diǎn)則是采樣點(diǎn)。但采樣點(diǎn)的坐標(biāo)一般都為浮點(diǎn)數(shù),于是使用雙線性插值得到中心點(diǎn)的值,然后再對(duì)每個(gè)單元格內(nèi)的四個(gè)采樣點(diǎn)做最大池化處理,即可得到ROI Align的結(jié)果。

圖3 雙線性插值(左圖)和ROI Align(右圖)

得到的感興趣區(qū)域通過(guò)3個(gè)分支分別進(jìn)行邊界框回歸,分類以及掩膜的生成,最終同時(shí)得到目標(biāo)識(shí)別以及實(shí)例分割的結(jié)果。

1.2 Backbone改進(jìn)

1.2.1 注意力機(jī)制模塊SENet

本研究目的是實(shí)現(xiàn)去魚鱗率的識(shí)別,實(shí)際應(yīng)用中需要分割的實(shí)例只有2個(gè),即魚體上無(wú)魚鱗的區(qū)域和有魚鱗的區(qū)域。對(duì)于魚體的其余部分,比如魚頭魚尾不需要給予特別的關(guān)注。并且需要分割的實(shí)例相對(duì)于整張圖像只是小部分。并且考慮到在實(shí)際應(yīng)用中,檢測(cè)的快速與準(zhǔn)確同時(shí)重要,針對(duì)這種情況對(duì)骨架網(wǎng)絡(luò)進(jìn)行改進(jìn),使用層數(shù)較小的ResNet50保證計(jì)算速度,并加入注意力機(jī)制模塊SENet提高檢測(cè)精度。

Squeeze-and-Excitation Net (SENet)是由Hu等[32]提出的一種網(wǎng)絡(luò),它改變了傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)(convolutional Neural Networks,CNN)對(duì)每一個(gè)通道同等關(guān)注的特點(diǎn),對(duì)不同的通道賦予了權(quán)重,使得網(wǎng)絡(luò)更加重視有價(jià)值的通道。SENet的基本結(jié)構(gòu)如圖 4所示。

圖4 注意力機(jī)制SENet結(jié)構(gòu)

在得到大小為H×W×C的特征圖U之后,首先對(duì)其進(jìn)行擠壓操作(Squeeze):對(duì)U進(jìn)行全局平均池化(Global Average Pooling),得到大小為1×1×C的數(shù)列,計(jì)算公式為:

(4)

U=[u1,u2,…,uc]

(5)

式中:zc表示擠壓操作的計(jì)算結(jié)果,uc表示構(gòu)成U的第c個(gè)二維矩陣,其高和寬分別為H和W。

選擇全局平均池化,可以保留了全局感受野,使網(wǎng)絡(luò)的低層也可使用全局信息。

之后將擠壓操作的結(jié)果做非線性變化,即激活操作(Excitation),為每一個(gè)通道生成權(quán)重。激活操作的計(jì)算公式如下:

s=Fex(z,W)=σ[g(z,W)]=σ[W2δ(W1z)]

(6)

(7)

式中:sc為各個(gè)通道對(duì)應(yīng)的權(quán)重。

1.2.2 改進(jìn)Backbone結(jié)構(gòu)

將SENet作為模塊插入到ResNet50的stage2、stage3和stage4中。加入SENet后,輸出的特征圖每一層都會(huì)被賦予相應(yīng)的權(quán)重。而stage5由于層數(shù)較多,如果加入SENet需要較大的計(jì)算量,為了保證計(jì)算速度,本研究中沒有在stage5中加入SENet。

由上文可知,加入SENet后多出的計(jì)算量主要來(lái)源于2個(gè)全連接層,為了平衡加入SENet而增加的計(jì)算量,減少了stage4的層數(shù),并且為了提高模型的泛化能力與魯棒性,防止過(guò)擬合,在最后一個(gè)全連接層前加入dropout。

圖 5為原ResNet50的結(jié)構(gòu)與經(jīng)過(guò)本文改進(jìn)后的結(jié)構(gòu)。

圖5 原ResNet50與改進(jìn)后的ResNet50結(jié)構(gòu)圖

1.3 改進(jìn)損失函數(shù)

Mask R-CNN的損失函數(shù)由3個(gè)部分構(gòu)成,分別是分類誤差Lcls,邊界框誤差Lbox以及掩膜誤差Lmask,公式如下所示:

L=Lcls+Lbox+Lmask

(8)

本研究中去鱗率的計(jì)算完全取決于掩膜的分割,為了使模型學(xué)習(xí)過(guò)程中更加側(cè)重掩膜的分割,本研究在掩膜誤差Lmask前乘以1.05,改進(jìn)后的損失函數(shù)如下式所示:

L=Lcls+Lbox+1.05Lmask

(9)

2 試驗(yàn)驗(yàn)證

2.1 樣本采集

圖像采集使用Basler acA1920-155ucMED,拍攝的圖像分辨率為1 920×1 200,使用兩條24 W白色條形LED背光光源作為輔助。

使用自制的數(shù)據(jù)集訓(xùn)練花白鰱去鱗率的檢測(cè)。 選用36條1.1~1.8 kg的花白鰱,購(gòu)于上海當(dāng)?shù)厥袌?chǎng)。使用電動(dòng)去鱗工具對(duì)魚體進(jìn)行去鱗處理后拍攝照片,每一條魚在不同的角度下拍攝10到15張圖像,共采集435張圖像。使用Labelme對(duì)圖像中魚體的無(wú)磷區(qū)域(圖6a中紅色區(qū)域)和有鱗區(qū)域(綠色區(qū)域)進(jìn)行標(biāo)注,其余部分為背景,標(biāo)注圖如圖6a所示。為了防止訓(xùn)練過(guò)程中的過(guò)擬合,采用水平翻轉(zhuǎn)、垂直翻轉(zhuǎn)、高斯模糊等方法擴(kuò)充數(shù)據(jù)集,將原圖中一半數(shù)量的圖像水平翻轉(zhuǎn),剩余圖像水垂直翻轉(zhuǎn),再每次從原圖中隨機(jī)抽取270張圖像,分別進(jìn)行高斯模糊,加噪聲,增強(qiáng)飽和度和對(duì)比度的操作,將數(shù)據(jù)集擴(kuò)充到1 950張。數(shù)據(jù)增強(qiáng)圖像如圖6b~圖6g所示。

圖6 標(biāo)注圖與數(shù)據(jù)增強(qiáng)

增強(qiáng)后的數(shù)據(jù)集按照8∶1∶1的比率劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。其中1 560張圖像為訓(xùn)練集,用于訓(xùn)練模型。195張圖像作為驗(yàn)證集,在訓(xùn)練過(guò)程中調(diào)整參數(shù)。195張圖像被用作測(cè)試集,用于最終的模型評(píng)估。訓(xùn)練中分類為2+1,即無(wú)魚鱗區(qū)域、有魚鱗區(qū)域以及背景。

2.2 環(huán)境搭建

深度學(xué)習(xí)的訓(xùn)練環(huán)境包括Intel Xeon? W-2158 CPU的處理器和內(nèi)存為8G的NVIDIA GeForce RTX 2080 Ti顯卡。操作系統(tǒng)為64的Ubuntu 18.04,使用Python編程語(yǔ)言以及開源的Pytorch框架構(gòu)建深度學(xué)習(xí)網(wǎng)絡(luò)。

2.3 模型訓(xùn)練

將Labelme標(biāo)注后的數(shù)據(jù)集轉(zhuǎn)化為COCO數(shù)據(jù)集格式,并且在預(yù)訓(xùn)練模型上做遷移訓(xùn)練,batch size設(shè)為4,動(dòng)量因子為0.9,初始學(xué)習(xí)率設(shè)為0.001,在80個(gè)epoch(所有的樣本都送入網(wǎng)絡(luò)訓(xùn)練一編,稱為一個(gè)epoch)時(shí)權(quán)重衰減為0.000 1,使用隨機(jī)梯度下降算法對(duì)網(wǎng)絡(luò)進(jìn)行優(yōu)化,一共訓(xùn)練 200個(gè)epoch。

圖7中展示的是Backbone為ResNet50的Mask R-CNN與改進(jìn)后的Mask R-CNN在訓(xùn)練過(guò)程中的損失值對(duì)比。

圖7 訓(xùn)練過(guò)程中總損失值與掩膜損失值

從圖7中可以看出,原Mask R-CNN一開始的總損失值和掩膜損失都小于改進(jìn)Mask R-CNN,這是因?yàn)楦倪M(jìn)Mask R-CNN的損失函數(shù)中掩膜分支前加了系數(shù),所以一開始損失函數(shù)較大。但隨著訓(xùn)練的進(jìn)行,大約在40個(gè)epoch之后,改進(jìn)Mask R-CNN的損失值開始小于原Mask R-CNN,持續(xù)下降直至最終收斂。在訓(xùn)練200個(gè)epoch后,改進(jìn)Mask R-CNN的總損失值和掩膜損失值都小于原Mask R-CNN。

模型最終會(huì)輸出檢測(cè)的目標(biāo)物體的分類以及屬于該分類的掩膜。掩膜的大小為圖像大小,屬于該目標(biāo)物體的像素即為1,不屬于的記為0。分別統(tǒng)計(jì)屬于有魚鱗分類的像素總數(shù)以及無(wú)魚鱗分類的像素總數(shù),通過(guò)公式(10)可得到去鱗率。

(10)

式中:D為去鱗率,M1為無(wú)魚鱗區(qū)域像素總數(shù),M2為有魚鱗區(qū)域像素總數(shù)。

為了定量評(píng)價(jià)算法的綜合性能,選取精確率(Precision)以及召回率(Recall)作為評(píng)價(jià)標(biāo)準(zhǔn)。精確率表示在所有檢測(cè)出來(lái)的目標(biāo)物體中,有多少是真正的目標(biāo)物體,召回率則表示所有被標(biāo)記的目標(biāo)物體有多少被檢測(cè)出來(lái)。

(11)

(12)

式中:XTP(True Positive)為人工標(biāo)記和算法預(yù)測(cè)都為目標(biāo)物體的樣本數(shù)量,XFN(False Negative)表示人工標(biāo)記為目標(biāo)物體而算法未能預(yù)測(cè)為目標(biāo)物的樣本數(shù)量,XFP(False Positive)為人工未標(biāo)記為目標(biāo)物體而算法預(yù)測(cè)成目標(biāo)物體的樣本數(shù)量,PR表示精確率,R表示召回率。

3 結(jié)果與分析

3.1 改進(jìn)模型與原模型結(jié)果對(duì)比

表1展示了原Mask R-CNN模型、改進(jìn)的Mask R-CNN模型的評(píng)價(jià)結(jié)果以及平均檢測(cè)每張圖片所需要的時(shí)間(平均運(yùn)行時(shí)間均由本文中提到的實(shí)驗(yàn)平臺(tái)測(cè)量得出)。在同樣的試驗(yàn)平臺(tái)下訓(xùn)練了以ResNet101為Backbone的Mask R-CNN作為對(duì)比??梢钥闯觯谠璕esNet50基礎(chǔ)上改進(jìn)的模型相比于原ResNet50,查準(zhǔn)率與查全率都有明顯提升,分別提高了19.7%和16.8%,并且運(yùn)行時(shí)間僅增加了1 ms,即2.12%。原ResNet101模型的查準(zhǔn)率和查全率比改進(jìn)模型分別提高1.2%和1.3%,但是運(yùn)行時(shí)間增加了50%。由此可見,本文改進(jìn)模型在檢測(cè)精度和運(yùn)行速度上達(dá)到了較好的平衡,在運(yùn)行時(shí)間基本沒有增加的情況下精度接近于更復(fù)雜的模型。

表1 對(duì)比試驗(yàn)結(jié)果

圖8a為改進(jìn)模型輸出的特征圖,圖8d為ResNet50作為Backbone的原模型輸出的特征圖,圖8b和圖8c為改進(jìn)模型的檢測(cè)結(jié)果,圖8e和圖8f為原模型的檢測(cè)結(jié)果。從圖8中可以看出,改進(jìn)模型的結(jié)果明顯優(yōu)于原模型。改進(jìn)模型的特征圖中包含了更加豐富的語(yǔ)義信息,并且僅圖8c中在大片無(wú)魚鱗的魚體上有零星的魚鱗沒有被識(shí)別出來(lái)。原Mask R-CNN的檢測(cè)結(jié)果中有明顯的錯(cuò)誤,圖8e中靠近魚體腹部以及尾部的無(wú)魚鱗部分被錯(cuò)誤識(shí)別為有魚鱗魚體,圖8f中也有大面積的有魚鱗魚體被識(shí)別為無(wú)魚鱗魚體。

圖8 原Mask R-CNN與改進(jìn)Mask R-CNN的特征圖與結(jié)果圖

本模型分別與基于改進(jìn)Mask R-CNN電力設(shè)備銹蝕識(shí)別[34]和改進(jìn)Deeplab v3+網(wǎng)絡(luò)的手術(shù)器械分割方法[35]中的結(jié)果作對(duì)比,改進(jìn)模型精確率分別提高4.9%和3.2%。 基于DeepLab V3模型的圖像語(yǔ)義分割速度優(yōu)化研究[36]主要以提高運(yùn)算速度為主要研究目的,本模型的運(yùn)算速度比其快53%。

3.2 誤差分析

將訓(xùn)練后的模型與人工測(cè)量結(jié)果進(jìn)行對(duì)比,共檢測(cè)了8組樣本,經(jīng)去鱗處理的魚體分別通過(guò)相機(jī)拍攝圖像,放入模型中計(jì)算結(jié)果,以及在坐標(biāo)紙上描畫出無(wú)魚鱗區(qū)域以及有魚鱗區(qū)域并計(jì)算面積。改進(jìn)的Mask R-CNN在去鱗率計(jì)算上平均相對(duì)誤差為4.5%。此外,模型檢測(cè)結(jié)果相比于人工檢測(cè)結(jié)果都有偏高的現(xiàn)象。經(jīng)分析,產(chǎn)生誤差的因素主要有兩點(diǎn):一是二維圖像無(wú)法完全拍攝到魚體腹背部彎曲的部分;二是分割結(jié)果在邊緣部分有缺失或不平整的現(xiàn)象。

表2 平均相對(duì)誤差結(jié)果

與人工測(cè)量結(jié)果作對(duì)比,檢測(cè)誤差主要來(lái)源于兩個(gè)方面,一是魚體中背部、腹部由于其彎曲的表面,相機(jī)無(wú)法完全拍攝到這部分魚體以及魚鰭下覆蓋的面積,魚體中背部和腹部的實(shí)際面積大于圖像中呈現(xiàn)的像素面積;二是當(dāng)無(wú)磷區(qū)域面積小于3 cm2時(shí),發(fā)現(xiàn)很難識(shí)別出無(wú)磷區(qū)域。

4 結(jié)論

提出了一種基于深度學(xué)習(xí)的無(wú)接觸去鱗率檢測(cè)方法,在特征提取網(wǎng)絡(luò)中插入注意力機(jī)制,并修改損失函。在相同的訓(xùn)練集以及訓(xùn)練環(huán)境中,改進(jìn)模型將精準(zhǔn)率從70.9%提高到90.6%,召回率從75.1%提高到91.9%。在基本沒有增加運(yùn)算時(shí)間的前提下,提高了檢測(cè)精度。 本模型對(duì)面積小于3 cm2左右的魚鱗仍有識(shí)別不清的情況,并且普遍有掩膜邊界分割不精細(xì)的情況。但相比于費(fèi)時(shí)費(fèi)力的人工檢測(cè),本模型實(shí)現(xiàn)了便捷、快速、無(wú)損、低成本和較高準(zhǔn)確率的去鱗率計(jì)算。通過(guò)進(jìn)一步優(yōu)化模型,得到更加準(zhǔn)確耗時(shí)更小的模型是下一步研究目標(biāo)。將本研究的方法應(yīng)用于去鱗設(shè)備中,實(shí)時(shí)監(jiān)測(cè)并反饋去鱗效果,或作為檢測(cè)模塊用于評(píng)估一臺(tái)去鱗設(shè)備的優(yōu)劣,為智能農(nóng)機(jī)提供參考。

猜你喜歡
掩膜魚鱗魚體
利用掩膜和單應(yīng)矩陣提高LK光流追蹤效果
一種結(jié)合圖像分割掩膜邊緣優(yōu)化的B-PointRend網(wǎng)絡(luò)方法
軸流泵內(nèi)魚體的運(yùn)動(dòng)行為與撞擊損傷分析
淡水魚水平往復(fù)振動(dòng)頭尾定向輸送方法
淡水魚腹背定向裝置設(shè)計(jì)及試驗(yàn)
遺失的魚鱗
光纖激光掩膜微細(xì)電解復(fù)合加工裝置研發(fā)
魚鱗瓦(節(jié)選)
怎樣刮魚鱗不亂飛?
飲食保健(2017年9期)2017-02-27 09:13:42
多層陰影掩膜結(jié)構(gòu)及其制造和使用方法
科技資訊(2016年21期)2016-05-30 18:49:07
淮安市| 内江市| 宽城| 新绛县| 安国市| 山西省| 尉犁县| 浠水县| 尼木县| 虎林市| 祁东县| 墨江| 烟台市| 麟游县| 康保县| 丰县| 渑池县| 信阳市| 老河口市| 阳东县| 灵川县| 韶山市| 修文县| 佛冈县| 小金县| 东平县| 通河县| 彰武县| 盖州市| 涪陵区| 天台县| 沧源| 永泰县| 姚安县| 沈阳市| 大竹县| 东乌珠穆沁旗| 和田县| 易门县| 琼结县| 德庆县|