999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

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

2022-06-06 07:08:18肖哲非鄭曉偉徐文其
漁業現代化 2022年2期
關鍵詞:區域檢測模型

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

(1中國水產科學研究院漁業機械儀器研究所,上海 200092;2 農業農村部遠洋漁船與裝備重點實驗室,上海 200092;3 國家水產品加工裝備研發分中心,上海 200092;4 大連工業大學海洋食品精深加工關鍵技術省部共建協同創新中心,遼寧 大連,116034)

隨著經濟的發展和人民生活質量的提高,人們越來越重視飲食健康,淡水魚作為一種低價且優質的蛋白質來源,廣受消費者青睞。2020年,中國淡水水產品總量達到了3 234.64萬t,但加工轉化率僅為12.72%[1],相比于海水產品50.66%的加工率,淡水產品的加工率明顯偏低。其原因在于,國內大部分的淡水魚生產線還存在機械化程度低的問題[2-3]。

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

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

針對目前國內缺少高效且準確的去鱗率檢測方法的情況,本研究將實例分割算法(Mask Region Convolution Neutral Network,Mask R-CNN)進行改進,平衡其運算速度與準確性,以花白鰱作為試驗對象,實現對魚體中有魚鱗區域與無魚鱗區域精細分割,并根據分割結果計算去鱗率,為后續智能去鱗機的研發提供參考。

1 改進Mask R-CNN模型結構分析

1.1 Mask R-CNN結構分析

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

Mask R-CNN的結構如圖1所示,輸入的圖像先經過骨架網絡(Backbone)提取特征圖像(Feature Map),特征圖像上的每一點會生成若干個錨框(Anchor)并進入區域建議網絡(Region Proposal Network,RPN)進行二分類以及邊界框的回歸,去掉一部分無用的錨框,ROI Align將剩余的感興趣區域(ROI,Region of Interest)尺寸統一并與原圖對應,最終在得到的感興趣區域上進行分類,邊界框回歸以及掩膜生成。

圖1 Mask R-CNN模型結構

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

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

當目標物的邊界框對應到特征圖上時,以及得到感興趣區域映射成固定尺寸時,得到的值通常是浮點數。在Faster R-CNN中,這兩個浮點數被量化取整,而產生的誤差導致了特征圖上的感興趣區域在對應到原圖上出現很大的偏差[20]。為了消除這部分誤差,Mask R-CNN提出了ROI Align,引入了雙線性插值的概念,取消了量化操作,保留了小數[30-31]。

圖2展示的是Faster R-CNN中使用的ROI Pooling和Mask R-CNN中使用的ROI Align的對比。假設原圖大小為800×800,目標物體在原圖中大小為665×400,得到的特征圖大小為32×32,包含著目標物體的邊界框對應到特征圖上時,得到的結果是(665/32)×(400/32)=20.78×12.5,ROI Pooling將其量化為20×12,之后再次將20×12的ROI映射成大小為7×7的ROI時,結果為(20/7)×(12/7)=2.86×1.71,ROI Pooling將其再次量化為2×1。兩次量化過程造成了數據量丟失,導致了特征圖上的感興趣區域在對應到原圖上出現偏差。

圖2 ROI Pooling 和ROI Align的對比

而ROI Align則通過雙線性插值將浮點數保留下來。雙線性插值的本質是通過x和y兩個方向上分別做線性插值來計算二維區間上某一點的值[33]。如圖3中左圖所示,已知Q11、Q12、Q21和Q22的值,計算P點的值可先在x方向上對Q11和Q21做線性插值,得到R1的值,再在x方向上對Q12和Q22做線性插值,得到R2的值,隨后在y方向上對R1和R2做線性插值,得到P的值:

(1)

(2)

(3)

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

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

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

得到的感興趣區域通過3個分支分別進行邊界框回歸,分類以及掩膜的生成,最終同時得到目標識別以及實例分割的結果。

1.2 Backbone改進

1.2.1 注意力機制模塊SENet

本研究目的是實現去魚鱗率的識別,實際應用中需要分割的實例只有2個,即魚體上無魚鱗的區域和有魚鱗的區域。對于魚體的其余部分,比如魚頭魚尾不需要給予特別的關注。并且需要分割的實例相對于整張圖像只是小部分。并且考慮到在實際應用中,檢測的快速與準確同時重要,針對這種情況對骨架網絡進行改進,使用層數較小的ResNet50保證計算速度,并加入注意力機制模塊SENet提高檢測精度。

Squeeze-and-Excitation Net (SENet)是由Hu等[32]提出的一種網絡,它改變了傳統卷積神經網絡(convolutional Neural Networks,CNN)對每一個通道同等關注的特點,對不同的通道賦予了權重,使得網絡更加重視有價值的通道。SENet的基本結構如圖 4所示。

圖4 注意力機制SENet結構

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

(4)

U=[u1,u2,…,uc]

(5)

式中:zc表示擠壓操作的計算結果,uc表示構成U的第c個二維矩陣,其高和寬分別為H和W。

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

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

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

(6)

(7)

式中:sc為各個通道對應的權重。

1.2.2 改進Backbone結構

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

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

圖 5為原ResNet50的結構與經過本文改進后的結構。

圖5 原ResNet50與改進后的ResNet50結構圖

1.3 改進損失函數

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

L=Lcls+Lbox+Lmask

(8)

本研究中去鱗率的計算完全取決于掩膜的分割,為了使模型學習過程中更加側重掩膜的分割,本研究在掩膜誤差Lmask前乘以1.05,改進后的損失函數如下式所示:

L=Lcls+Lbox+1.05Lmask

(9)

2 試驗驗證

2.1 樣本采集

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

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

圖6 標注圖與數據增強

增強后的數據集按照8∶1∶1的比率劃分為訓練集、驗證集和測試集。其中1 560張圖像為訓練集,用于訓練模型。195張圖像作為驗證集,在訓練過程中調整參數。195張圖像被用作測試集,用于最終的模型評估。訓練中分類為2+1,即無魚鱗區域、有魚鱗區域以及背景。

2.2 環境搭建

深度學習的訓練環境包括Intel Xeon? W-2158 CPU的處理器和內存為8G的NVIDIA GeForce RTX 2080 Ti顯卡。操作系統為64的Ubuntu 18.04,使用Python編程語言以及開源的Pytorch框架構建深度學習網絡。

2.3 模型訓練

將Labelme標注后的數據集轉化為COCO數據集格式,并且在預訓練模型上做遷移訓練,batch size設為4,動量因子為0.9,初始學習率設為0.001,在80個epoch(所有的樣本都送入網絡訓練一編,稱為一個epoch)時權重衰減為0.000 1,使用隨機梯度下降算法對網絡進行優化,一共訓練 200個epoch。

圖7中展示的是Backbone為ResNet50的Mask R-CNN與改進后的Mask R-CNN在訓練過程中的損失值對比。

圖7 訓練過程中總損失值與掩膜損失值

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

模型最終會輸出檢測的目標物體的分類以及屬于該分類的掩膜。掩膜的大小為圖像大小,屬于該目標物體的像素即為1,不屬于的記為0。分別統計屬于有魚鱗分類的像素總數以及無魚鱗分類的像素總數,通過公式(10)可得到去鱗率。

(10)

式中:D為去鱗率,M1為無魚鱗區域像素總數,M2為有魚鱗區域像素總數。

為了定量評價算法的綜合性能,選取精確率(Precision)以及召回率(Recall)作為評價標準。精確率表示在所有檢測出來的目標物體中,有多少是真正的目標物體,召回率則表示所有被標記的目標物體有多少被檢測出來。

(11)

(12)

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

3 結果與分析

3.1 改進模型與原模型結果對比

表1展示了原Mask R-CNN模型、改進的Mask R-CNN模型的評價結果以及平均檢測每張圖片所需要的時間(平均運行時間均由本文中提到的實驗平臺測量得出)。在同樣的試驗平臺下訓練了以ResNet101為Backbone的Mask R-CNN作為對比。可以看出,在原ResNet50基礎上改進的模型相比于原ResNet50,查準率與查全率都有明顯提升,分別提高了19.7%和16.8%,并且運行時間僅增加了1 ms,即2.12%。原ResNet101模型的查準率和查全率比改進模型分別提高1.2%和1.3%,但是運行時間增加了50%。由此可見,本文改進模型在檢測精度和運行速度上達到了較好的平衡,在運行時間基本沒有增加的情況下精度接近于更復雜的模型。

表1 對比試驗結果

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

圖8 原Mask R-CNN與改進Mask R-CNN的特征圖與結果圖

本模型分別與基于改進Mask R-CNN電力設備銹蝕識別[34]和改進Deeplab v3+網絡的手術器械分割方法[35]中的結果作對比,改進模型精確率分別提高4.9%和3.2%。 基于DeepLab V3模型的圖像語義分割速度優化研究[36]主要以提高運算速度為主要研究目的,本模型的運算速度比其快53%。

3.2 誤差分析

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

表2 平均相對誤差結果

與人工測量結果作對比,檢測誤差主要來源于兩個方面,一是魚體中背部、腹部由于其彎曲的表面,相機無法完全拍攝到這部分魚體以及魚鰭下覆蓋的面積,魚體中背部和腹部的實際面積大于圖像中呈現的像素面積;二是當無磷區域面積小于3 cm2時,發現很難識別出無磷區域。

4 結論

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

猜你喜歡
區域檢測模型
一半模型
“不等式”檢測題
“一元一次不等式”檢測題
“一元一次不等式組”檢測題
重要模型『一線三等角』
重尾非線性自回歸模型自加權M-估計的漸近分布
3D打印中的模型分割與打包
小波變換在PCB缺陷檢測中的應用
關于四色猜想
分區域
主站蜘蛛池模板: 日韩精品一区二区三区视频免费看| 不卡色老大久久综合网| 国产精品林美惠子在线观看| 亚洲精品麻豆| 88av在线播放| 亚洲AV一二三区无码AV蜜桃| 国产成人高清精品免费软件| 日本伊人色综合网| 欧美性天天| 亚洲国内精品自在自线官| 欧美性猛交xxxx乱大交极品| 免费在线成人网| 成人无码一区二区三区视频在线观看| 久久频这里精品99香蕉久网址| av一区二区三区高清久久| 九色在线视频导航91| 性视频久久| 四虎永久免费地址在线网站| 国产欧美网站| 亚洲美女一区| 91精品视频网站| 国产在线一区视频| 国产欧美在线观看精品一区污| 亚洲bt欧美bt精品| 亚洲黄色片免费看| 日韩精品一区二区三区免费| 国产jizzjizz视频| 欧美成人h精品网站| 97在线公开视频| 四虎成人精品在永久免费| 亚洲成人在线网| 中文字幕欧美日韩高清| 国产综合在线观看视频| 国模极品一区二区三区| 国产区精品高清在线观看| 国产第一页免费浮力影院| 久久黄色视频影| 她的性爱视频| 国产精品自在在线午夜| 中文国产成人精品久久一| 无码免费视频| 无码视频国产精品一区二区| 国产福利大秀91| 国产成人1024精品下载| 国产精品黄色片| 国产精品爽爽va在线无码观看| 国产人妖视频一区在线观看| 亚洲综合国产一区二区三区| 尤物国产在线| 尤物特级无码毛片免费| 91在线视频福利| 四虎免费视频网站| 99精品国产自在现线观看| 亚洲成年人网| 99无码中文字幕视频| 国产成人狂喷潮在线观看2345| 亚洲AV无码不卡无码| 91成人在线观看| 亚洲永久精品ww47国产| 国产精品不卡永久免费| 国产成人精品午夜视频'| 国产精品成人不卡在线观看 | 嫩草在线视频| 成人在线亚洲| 综合网天天| 亚洲精品图区| 国产福利一区在线| 国产综合色在线视频播放线视| 91久久偷偷做嫩草影院免费看| 在线观看网站国产| 婷婷丁香在线观看| 日韩 欧美 小说 综合网 另类| 手机在线看片不卡中文字幕| 亚洲中文字幕国产av| 国产麻豆91网在线看| 国产高清在线精品一区二区三区 | 99视频在线免费| 国内精品久久久久久久久久影视| 无码福利日韩神码福利片| 国产欧美中文字幕| 亚洲伊人天堂| 性视频久久|