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

?

基于深度學(xué)習(xí)的循環(huán)水養(yǎng)殖鰻鱺(Anguilla)計數(shù)研究*

2022-05-30 01:13:52江興龍陳爾康許志揚
海洋與湖沼 2022年3期
關(guān)鍵詞:鰻鱺錨框計數(shù)

李 凱 江興龍① 陳爾康 陳 彭 許志揚 林 茜

(1. 集美大學(xué)水產(chǎn)學(xué)院 福建廈門 361021; 2. 鰻鱺現(xiàn)代產(chǎn)業(yè)技術(shù)教育部工程研究中心 福建廈門 361021; 3. 集美大學(xué)海洋與信息工程學(xué)院 福建廈門 361021)

鰻鱺(Anguilla)是我國常見的淡水養(yǎng)殖魚類之一,因其肉質(zhì)細嫩、營養(yǎng)豐富, 且具有很高的經(jīng)濟價值,而成為我國的一種高檔水產(chǎn)品(張婷婷等, 2019)。20世紀70 年代初期我國的福建、廣東等地開始養(yǎng)殖鰻鱺, 至20 世紀80 年代中期之后迅速發(fā)展, 現(xiàn)今我國已經(jīng)成為養(yǎng)鰻業(yè)的世界第一大國( 葉翚 等, 2019)。而在鰻鱺養(yǎng)殖過程中, 掌握鰻鱺的準確數(shù)量有助于科學(xué)投喂飼料、成活率計算以及合理控制養(yǎng)殖密度, 對實現(xiàn)鰻鱺精準高效養(yǎng)殖有重要意義。

傳統(tǒng)的魚類計數(shù)方法多為人工計數(shù)法, 由養(yǎng)殖場工人將魚從養(yǎng)殖池中撈出, 逐條進行計數(shù)后再放回養(yǎng)殖池中, 這類方法存在耗費人力, 計數(shù)誤差大,效率低等缺點(黃玲等, 2012), 而且在撈魚計數(shù)過程中會使魚產(chǎn)生應(yīng)激反應(yīng), 甚至造成魚體損傷, 不利于魚的后續(xù)生長發(fā)育。在20 世紀80 年代之后我國陸續(xù)出現(xiàn)了一些現(xiàn)代化的計數(shù)器, 比如多通道式、電橋式、光電式等魚苗計數(shù)器(王寶舫, 1988; 李伯珩等, 1991; 張康德, 1997), 但是容易受到魚苗大小和通道管徑大小的影響, 導(dǎo)致計數(shù)誤差大, 而且設(shè)備價格高昂。隨著計算機和圖像處理技術(shù)的發(fā)展, 基于圖像處理的計數(shù)方式逐漸成為一種重要的魚類計數(shù)方法。Zhang 等(2021) 通過對采集的魚苗圖像使用二值化、膨脹、腐蝕等一系列圖像處理方法, 提取出魚苗的特征, 然后使用連通面積算法和細化算法對圖像中的魚苗進行計數(shù), 對比兩種算法之后發(fā)現(xiàn)細化算法對于魚苗重疊度較高的圖像的準確率遠高于連通面積算法, 為密集魚苗計數(shù)提供了一種新方法。但是這種方法對采集的魚苗圖像有很高的要求, 比如圖像前景和背景對比度要明顯, 并且圖像要清晰、噪聲少, 而在真實養(yǎng)殖的情況下很難滿足這些要求。王文靜等(2016)拍攝一個具有穩(wěn)定流速的水箱, 魚苗會隨水流平穩(wěn)地流過水箱, 通過這種方法來采集魚苗圖像, 對采集到的圖像進行局部閾值分割以提取出魚苗目標(biāo), 然后對圖像中不重疊的區(qū)域進行計數(shù), 最后累加計算魚苗總數(shù)。這種方法的計數(shù)誤差控制在15%以內(nèi), 但是易受水流速大小、魚苗大小和數(shù)量等因素的影響。王碩等(2015)利用常值演化法實現(xiàn)了對圖像中黏連重疊魚苗的準確計數(shù),但是這種方法可能存在魚體和魚尾分開演化成不同目標(biāo)的問題, 也很容易受到外部雜質(zhì)的影響, 造成計數(shù)結(jié)果偏多的情況。

目前, 深度學(xué)習(xí)技術(shù)在魚類檢測方面也得到了應(yīng)用(段青玲等, 2018)。以目標(biāo)檢測算法為例, 典型的有Faster RCNN (Renet al, 2015)、YOLO (Redmonet al, 2016)、SSD (Liuet al, 2016)等, 它們在ImageNet、COCO 等大型數(shù)據(jù)集上都有很好的表現(xiàn), 因此利用深度學(xué)習(xí)技術(shù)對魚類進行檢測和計數(shù)成為了研究學(xué)者們的重要研究課題之一。Mandal 等(2018)利用Faster RCNN 模型對水下視頻中的魚類進行檢測和識別, 克服了水下圖像模糊、背景復(fù)雜、光照不均等因素帶來的挑戰(zhàn), 最終模型得到的準確率達到82.4%, 相比以往提出的方法準確率更高。Labao 等(2019)提出了一種基于深度學(xué)習(xí)的海洋魚類檢測系統(tǒng), 用于對水下魚類進行檢測和計數(shù), 該系統(tǒng)的算法以Faster RCNN模型結(jié)構(gòu)為模板, 由一系列基于區(qū)域的卷積神經(jīng)網(wǎng)絡(luò)組成, 并且這些卷積神經(jīng)網(wǎng)絡(luò)通過LSTM 網(wǎng)絡(luò)以級聯(lián)的形式連接, 最終系統(tǒng)得到的計數(shù)準確率約為70%。崔榛(2020)提出了一種改進的YOLOV3 模型,實現(xiàn)了 對紅鰭東方的檢測和計數(shù), 試驗結(jié)果表明改進后的YOLOV3 模型有效降低了對魚類密集區(qū)域的漏檢情況, 最終模型的計數(shù)準確率為92.5%。深度學(xué)習(xí)模型的網(wǎng)絡(luò)結(jié)構(gòu)更深, 并且它所提取到的特征是神經(jīng)網(wǎng)絡(luò)經(jīng)過大量的學(xué)習(xí)得到, 不易受魚類大小、圖像噪聲、光照不均等因素的影響, 相較于圖像處理等方法具有更強的魯棒性(Robust)。綜上, 本研究將針對鰻鱺體型和姿態(tài)的特殊性, 在原Faster RCNN 模型基礎(chǔ)上進行改進, 以提升模型對鰻鱺的檢測識別能力, 最后基于模型的檢測結(jié)果對圖像中的鰻鱺進行計數(shù)。

1 圖像采集與標(biāo)注

1.1 圖像采集

實驗圖像均采集于集美大學(xué)水產(chǎn)試驗場的鰻鱺循環(huán)水養(yǎng)殖車間。經(jīng)過實驗發(fā)現(xiàn)若拍攝過程中使用普通光源進行補光, 循環(huán)水養(yǎng)殖系統(tǒng)中的養(yǎng)殖鰻鱺會因突然的光線刺激而四處躲避, 這是因為鰻鱺的生活習(xí)性為晝伏夜出(陳學(xué)豪, 2003), 對普通光線很敏感; 當(dāng)使用紅外燈進行補光時, 通過長時間觀察后發(fā)現(xiàn)紅外光線不會對養(yǎng)殖鰻鱺活動產(chǎn)生影響, 因此本文拍攝用的相機選擇近紅外工業(yè)相機(MER-232-48NIR)并使用紅外燈補光。圖像采集和處理由紅外相機、紅外燈、計算機完成。整個圖像采集系統(tǒng)如圖1所示, 紅外相機固定于養(yǎng)殖桶上方中央位置, 為避免水面反光, 選擇把兩個紅外燈分別安裝在離相機較遠的兩側(cè), 相機和計算機通過一根長4 m 的千兆雙絞線相連。圖像采集過程中為避免增氧設(shè)備產(chǎn)生的氣泡對圖像處理造成影響, 選擇將增氧設(shè)備短暫關(guān)停, 把每次圖像采集時間都嚴格控制在30 min 以內(nèi), 以避免鰻鱺缺氧。

圖1 圖像采集系統(tǒng)Fig.1 The image acquisition system

試驗選擇體重在150~950 g 之間的南美洲鰻鱺為研究對象, 總共采集了1 000 張圖像, 圖像中鰻鱺的數(shù)量在13~45 條之間。

1.2 圖像標(biāo)注

圖像標(biāo)注工具選擇labelImg, 每張圖像的標(biāo)注信息都會存儲在一個xml 文件中。由于鰻鱺體型呈棍棒型且姿態(tài)多變, 若對整條魚進行標(biāo)注如圖2, 會出現(xiàn)一個矩形框中包含多條魚的情況, 存在太多冗余信息, 容易對模型檢測效果造成不利影響。因此參照汪夢婷等(2020)的方法, 只對特征明顯的魚頭部進行標(biāo)注如圖3。

圖2 標(biāo)注整條魚(方框示例: 標(biāo)注四條魚)Fig.2 The whole-fish labeling (four fish are labeled in this case)

圖3 標(biāo)注魚頭部(方框示例: 標(biāo)注四條魚)Fig.3 The fish-head labeling (four fish are labeled in this case )

2 Faster RCNN 模型及改進

2.1 Faster RCNN 模型

Faster RCNN 是Girshick 團隊繼RCNN (Girshicket al, 2014)、Fast RCNN (Girshick, 2015)之后又一力作, 相較于前兩個模型, 它的主要貢獻在于用RPN網(wǎng)絡(luò)代替了非常耗時的Selective Search 算法來生成候選框, 這一改進大大提高了整個模型的檢測速度,使其在GPU 上檢測一張圖片僅需0.2 s, 與此同時模型的檢測精度也獲得了提升。

Faster RCNN 模型結(jié)構(gòu)如圖4 所示, 它將目標(biāo)檢測大致分為3 個步驟: 首先, 待檢測圖像輸入到模型的骨干網(wǎng)絡(luò)如ResNet (Heet al, 2016)中提取特征, 此特征圖被用于后續(xù)的RPN 網(wǎng)絡(luò)和全連接層; 之后經(jīng)過RPN 網(wǎng)絡(luò)后獲得一系列候選框, 使用NMS 算法對這些候選框進行篩選; 然后將得到的不同尺寸的特征圖通過ROI Pooling 層統(tǒng)一縮放至固定尺寸, 最后讓特征圖通過后續(xù)的全連接層進行類別預(yù)測和邊界框回歸位置預(yù)測。

圖4 Faster RCNN 模型結(jié)構(gòu)Fig.4 Structure of the Faster RCNN model

2.2 Faster RCNN 模型改進

由1.2 節(jié)圖像標(biāo)注可知, 鰻鱺數(shù)據(jù)集有兩個特點,一是檢測目標(biāo)即鰻鱺頭部尺寸較小, 二是圖像中存在部分鰻鱺重疊的情況。如果利用原Faster RCNN 模型進行檢測會存在以下兩個弊端:

(1) 對小尺度目標(biāo)檢測效果差。原Faster RCNN模型只在骨干網(wǎng)絡(luò)最后一層的特征圖上進行預(yù)測,因為骨干網(wǎng)絡(luò)通常選擇層數(shù)較深的網(wǎng)絡(luò)(如ResNet50等), 在網(wǎng)絡(luò)最后一層的特征圖尺寸小, 包含更多的是圖像的高級語義特征, 損失了圖像的細節(jié)特征, 所以會導(dǎo)致模型對小尺度目標(biāo)即鰻鱺頭部檢測效果差。

(2) 對鰻鱺重疊區(qū)域容易出現(xiàn)漏檢的情況。原Faster RCNN 模型中的NMS (非極大值抑制)算法有個很大的缺點, 就是會將相鄰的兩個高置信度的檢測框中的一個直接去除, 從而導(dǎo)致模型出現(xiàn)漏檢的情況。

本文針對上述兩個弊端, 提出改進的 Faster RCNN 模型, 如圖5 所示。鰻鱺圖像輸入ResNet50+FPN 骨干網(wǎng)絡(luò)中提取多尺度特征并融合, 利用k-means 聚類算法獲取適合鰻鱺頭部檢測的錨框(anchors), 經(jīng)過RPN 網(wǎng)絡(luò)后獲得一系列候選框, 使用Soft-NMS 算法對這些候選框進行篩選, 之后將得到的不同尺寸的特征圖通過ROI Pooling 層統(tǒng)一縮放至固定尺寸, 最后特征圖經(jīng)過一系列全連接層進行類別預(yù)測和邊界框回歸位置預(yù)測。接下來將對改進的Faster RCNN 模型作具體介紹。

圖5 改進的Faster RCNN 模型Fig.5 The improved Faster RCNN model

2.2.1 加入 FPN 的多尺度特征提取網(wǎng)絡(luò) 在Faster RCNN 模型的特征提取網(wǎng)絡(luò)即骨干網(wǎng)絡(luò)中加入FPN (Linet al, 2017)結(jié)構(gòu), 能夠?qū)⒕W(wǎng)絡(luò)深層特征和淺層特征相融合, 使得模型在檢測過程中不會損失圖像的細節(jié)特征, 以提升模型對小尺度目標(biāo)的檢測能力。因此本文選擇在ResNet50 網(wǎng)絡(luò)中嵌入FPN 結(jié)構(gòu)來作為模型的骨干網(wǎng)絡(luò), 如圖6 所示, 分為ResNet50和FPN 兩個部分, 下面將對此網(wǎng)絡(luò)作具體分析。

圖6 ResNet50 + FPN 網(wǎng)絡(luò)Fig.6 The ResNet50 + FPN model

ResNet50 部分包含Conv1、Conv2_x、Conv3_x、Conv4_x 以及Conv5_x 五個卷積模塊, C2、C3、C4以及C5 分別表示ResNet50 后四個卷積模塊的最后一層輸出的特征圖, 這四層特征圖的維度分別為 256維、512 維、1024 維和2048 維。各層特征圖輸入FPN部分后先經(jīng)過一個1×1 卷積層(卷積核大小為1×1, 維度為256 維, 步長為1), 將維度統(tǒng)一變?yōu)?56 維以減少運算量。M5 層由C5 層經(jīng)過上述1×1 卷積層得到,M5 特征層進行2 倍上采樣后與經(jīng)過1×1 卷積層的C4層執(zhí)行相加操作得到M4 層, 用同樣的方法依次可以得到M3 層和M2 層。M2、M3、M4 以及M5 層特征圖都分別經(jīng)過一個3×3 卷積層(卷積核大小為3×3, 維度為256 維, 步長為1), 作用是消除深層特征和淺層特征融合時產(chǎn)生的混疊效應(yīng), 然后依次可以得到P2、P3、P4 以及P5 層特征, P6 層特征由P5 層經(jīng)過一個1×1 的最大池化層(卷積核大小為1×1, 維度為256 維,步長為2)得到。

最終得到的P2、P3、P4、P5 以及P6 這五個特征層分別用來預(yù)測不同尺度的目標(biāo), 為此分別設(shè)置了不同尺寸的錨框, 對應(yīng)關(guān)系如表1 所示, 錨框的尺寸設(shè)置五種(322, 642, 1282, 2562, 5122), 寬高比同為(0.5, 1, 2)。

表1 錨框和特征層對應(yīng)關(guān)系Tab.1 Correspondence between anchors and characteristic layers

2.2.2k-means 算法聚類生成錨框 在 Faster RCNN 模型中, 通過生成的錨框進行目標(biāo)檢測。在執(zhí)行檢測任務(wù)時, 模型檢測的準確度和速度依賴于錨框的尺寸和數(shù)量, 所以應(yīng)當(dāng)根據(jù)不同數(shù)據(jù)集的特點合理設(shè)置錨框, 而不是簡單地沿用原模型設(shè)置的錨框。在基于ResNet50+FPN 的Faster RCNN 模型中, 15 種不同尺寸的錨框都是基于人工經(jīng)驗設(shè)置的,對于本文數(shù)據(jù)集中鰻鱺頭部尺寸小的情況并不完全適用, 因此本文通過使用k-means (Kanungoet al, 2004)算法聚類生成適合鰻鱺數(shù)據(jù)集的錨框尺寸, 以提升模型對鰻鱺頭部檢測的準確度。

k-means 聚類算法的輸入樣本是鰻鱺數(shù)據(jù)集中真實標(biāo)注框的寬、高, 在算法統(tǒng)計樣本數(shù)據(jù)之前需要提前指定聚類簇個數(shù)k(人為指定)。之后算法將相似度高的標(biāo)注框分配至同一個指定簇中, 每個標(biāo)注框只會分配至其中一個簇, 標(biāo)注框與簇中心的距離最小,算法會不斷地迭代更新, 直至聚類簇中心不再改變或達到所設(shè)定的迭代次數(shù)為止。通過計算k個簇中全部標(biāo)注框?qū)?、高的均值就能得到適合鰻鱺數(shù)據(jù)集的錨框尺寸。

在聚類過程中, 本文使用的距離度量公式如式(1)所示:

式(1)中, box 代表真實標(biāo)注框, center 代表聚類中心框, IOU(box, center)代表聚類中心框與真實標(biāo)注框的交并比,d(box, center)代表聚類中心框和真實標(biāo)注框的距離。

值得注意的是, 通常在模型的數(shù)據(jù)預(yù)處理階段會限制輸入網(wǎng)絡(luò)中的圖像大小, 比如本文的模型中就在保持圖像寬高比不變的情況下將輸入圖像的最大邊長縮放至1 000 像素, 同時圖像中的標(biāo)注框也會進行縮放, 因此在聚類前需要使用同樣的處理方式去縮放鰻鱺標(biāo)注框, 這樣聚類獲得的錨框才是實際網(wǎng)絡(luò)訓(xùn)練時匹配的錨框。

取聚類簇個數(shù)k=15 對鰻鱺標(biāo)注數(shù)據(jù)進行聚類, 同時統(tǒng)計所有聚類中心框的寬高及其比例, 結(jié)果如圖7和表2 所示。根據(jù)聚類結(jié)果將錨框尺寸重新設(shè)置為(142,182, 242, 282, 322), 寬高比設(shè)置為{0.6, 1.2, 1.8}。

表2 聚類中心的寬高及其比例Tab.2 Width and height and their ratio in the cluster center

圖7 鰻鱺標(biāo)注數(shù)據(jù)聚類分析Fig.7 Clustering analysis of eel labeling data

2.2.3 Soft-NMS 算法 在目標(biāo)檢測模型中NMS算法發(fā)揮著重要作用, 它能夠有效去除大量重復(fù)的檢測框, 從而降低模型的誤檢率。算法的主要流程是將檢測框按照置信度大小進行排序, 篩選出置信度最高的框, 之后計算其余所有檢測框和該框的重疊度, 倘若重疊度的值大于或等于所設(shè)置的閾值, 就將此檢測框的置信度分數(shù)置為0。NMS 算法的分數(shù)重置函數(shù)如公式(2)所示:

式中,Nt為人為設(shè)置閾值, 本文設(shè)置為0.5;Si為第i個檢測框?qū)?yīng)的得分;M為當(dāng)前得分最高的檢測框;b為所有檢測框的集合,bi為其中的第i個檢測框; IOU為M和bi的重疊度。

從式(2)中可以看出, NMS 算法直接將與得分最高的框M 的重疊度大于或等于所設(shè)閾值的相鄰檢測框的分數(shù)置0, 所以當(dāng)圖像中出現(xiàn)鰻鱺較為重疊的情況時就容易導(dǎo)致漏檢目標(biāo)。因此本文選擇使用Soft-NMS (Bodlaet al, 2017)算法來代替原NMS 算法,該算法會根據(jù)相鄰檢測框重疊度的大小對其分數(shù)進行衰減, 而不是簡單地將其分數(shù)置0。若檢測框與最高得分框M 的重疊度很大, 則這個檢測框的分數(shù)會變得很低; 若檢測框與最高得分框M 的重疊度很小,則這個檢測框的分數(shù)基本不受影響。Soft-NMS 算法的分數(shù)重置函數(shù)如式(3)所示:

3 實驗與結(jié)果分析

3.1 實驗環(huán)境、參數(shù)及計數(shù)方法設(shè)置

本文實驗基于PyTorch 框架, 使用硬件環(huán)境配置為: 處理器為Intel 酷睿i9-9900X, 顯卡為NVIDIA RTX2080Ti, 顯存為11 G; 使用軟件環(huán)境配置為: 系統(tǒng)為Ubuntu18.04.1, 運行內(nèi)存為128 G, Python 版本為3.8, CUDA 版本為11.2。

實驗圖像均為個人采集, 采集地點為集美大學(xué)水產(chǎn)試驗場的鰻鱺循環(huán)水養(yǎng)殖車間??偣膊杉? 000 張鰻鱺圖像, 通過labelImg 軟件將鰻鱺數(shù)據(jù)集標(biāo)注為VOC 數(shù)據(jù)格式, 并對數(shù)據(jù)集進行隨機劃分,其中70%用作訓(xùn)練, 30%用作測試。

在Faster RCNN 模型訓(xùn)練階段: 模型總訓(xùn)練迭代次數(shù)設(shè)置為 35 000 次; 模型優(yōu)化器選擇帶動量的SGD 算法, 其中動量因子參數(shù)設(shè)置為0.9; 權(quán)重衰減參數(shù)設(shè)置為0.000 5; 模型學(xué)習(xí)率參數(shù)初始化為0.005, 并且模型每訓(xùn)練迭代1 750 次就衰減為原來的0.33 倍。

本文的鰻鱺計數(shù)方法參考自張銀松等(2019)對昆蟲的計數(shù)方法, 首先人為設(shè)定置信度閾值N(本文設(shè)定為0.7), 然后遍歷圖像當(dāng)中所有的檢測框, 當(dāng)某一檢測框的得分S大于閾值N時, 就認為檢測到了目標(biāo),此檢測框參與統(tǒng)計計數(shù); 當(dāng)某一檢測框的得分S小于或等于閾值N時, 就認為沒有檢測到目標(biāo), 此檢測框不參與統(tǒng)計計數(shù), 計數(shù)方法如式(4)所示:

3.2 Faster RCNN 模型改進后的訓(xùn)練結(jié)果

改進后的Faster RCNN 模型每迭代一次就記錄一下模型總損失值, 將訓(xùn)練集數(shù)據(jù)輸入COCO 預(yù)訓(xùn)練模型進行訓(xùn)練, 模型訓(xùn)練時的總損失和學(xué)習(xí)率變化如圖8 所示。從圖8 中可知, 模型訓(xùn)練總迭代次數(shù)為35 000 次, 訓(xùn)練過程中模型總損失下降很快, 在迭代5 000 次之前有持續(xù)下降趨勢, 超過5 000 次之后基本趨于穩(wěn)定, 證明模型已經(jīng)達到收斂。

圖8 總損失和學(xué)習(xí)率變化圖Fig.8 The total loss and the variant of learning rate

模型每訓(xùn)練一個epoch (訓(xùn)練集中所有圖像都訓(xùn)練過一次)就通過測試集進行評估, 記錄下此時模型的mAP 值(IOU 閾值為0.5 時的平均精度均值)。模型在訓(xùn)練階段的mAP 如圖9 所示。從圖9 中可知, 模型共訓(xùn)練了100 個epoch, 訓(xùn)練時mAP 值上升很快,在第5 個epoch 時模型檢測精度就達到96%以上, 在第10 個epoch 之后模型總損失值雖然還略有下降, 但是mAP 值已經(jīng)基本趨于穩(wěn)定。

圖9 測試集上mAP 變化圖Fig.9 mAP changes on the test set

3.3 模型檢測結(jié)果比較與分析

使用不同的Faster RCNN 改進模型在相同的鰻鱺數(shù)據(jù)集上進行實驗, 同時在其測試集上比較各個模型的mAP 值, 實驗時的實驗環(huán)境和所設(shè)置的參數(shù)均保持一致。使用不同改進策略后的模型的實驗結(jié)果如表3 所示。SSD 和YOLO 都是目標(biāo)檢測領(lǐng)域中典型的單階段檢測模型, 具有檢測速度快、精度高等優(yōu)點,本文使用改進后的Faster RCNN 模型對比SSD300 模型以及YOLOV3 模型的實驗結(jié)果如表4 所示。

表3 不同改進模型的性能比較Tab.3 Comparison in performance of different models that are improved

表4 改進后的Faster RCNN 模型與其他模型性能比較Tab.4 The performance of the improved Faster RCNN model compared with other models

從表3 中可以看出, Backbone 為MobilenetV2(Sandleret al, 2018)網(wǎng)絡(luò)時, 模型的mAP0.5為73.2%,mAP0.75為19.7%, mAPmedium為31.8%, 檢測速度為0.095 s/圖。當(dāng)Backbone 更改為ResNet50 網(wǎng)絡(luò)時, 模型各mAP 值都有較大的提升, 其中mAP0.5提高了9.3%, mAP0.75提高了9.7%, mAPmedium提高了7.4%,檢測速度有所下降, 多耗時0.017 s。筆者對Backbone為VGG16 (Simonyanet al, 2015)網(wǎng)絡(luò)時也進行過實驗, 結(jié)果發(fā)現(xiàn)模型各mAP 值都幾乎為0, 分析原因可能是由于VGG16 缺少像ResNet50 (圖10)中的瓶頸結(jié)構(gòu)以及MobilenetV2 中的倒殘差結(jié)構(gòu)(圖11), 網(wǎng)絡(luò)深層的輸出中沒有融合淺層特征, 損失了小目標(biāo)的特征, 因此使得模型的檢測效果很差, 也反映出了淺層特征對于小目標(biāo)檢測非常重要。當(dāng) Backbone 為ResNet50 結(jié)合FPN 結(jié)構(gòu)時, 模型的檢測精度得到了極其顯著的提升, 與Backbone 為ResNet50 模型相比,mAP0.5提升了13%, mAP0.75提升了34.8%, mAPmedium提高了18.9%, 檢測速度僅多耗時0.011 s。

圖10 瓶頸結(jié)構(gòu)Fig.10 The bottleneck structure

圖11 倒殘差結(jié)構(gòu)Fig.11 The inverted residual structure

從表3 中還可以看出在Backbone 為ResNet50+FPN 網(wǎng)絡(luò)基礎(chǔ)上, 使用k-means 算法聚類生成的錨框之后, 模型的mAP0.5為96.5%, mAP0.75為66.7%,mAPmedium為59.4%, 檢測速度為0.123 s/圖, 在保持檢測速度不變的情況下提升了模型的檢測精度, 其中mAP0.5提升了1%, mAP0.75提升了2.5%, mAPmedium提升了1.3%。接著使用Soft-NMS 算法之后, 模型的檢測精度又有了進一步的提升, 其中mAP0.75提升了1.8%,mAPmedium提升了0.7%, 檢測速度多耗時0.013 s。

從表4 中可以看出改進后的Faster RCNN 模型與SSD300 模型和YOLOV3 模型相比檢測速度慢但是模型各檢測精度均有顯著提升, 其中mAP0.75的提升尤為顯著。與SSD300 模型相比, 改進后的模型mAP0.5提升了24.9%, mAP0.75提升了46.8%, mAPmedium提升了 27.8%。與 YOLOV3 模型比較, 改進后的模型mAP0.5提升了15%, mAP0.75提升了41%, mAPmedium提升了21.7%。

綜上證明, 本文對Faster RCNN 模型的不同改進策略均顯著有效, 改進后的模型對鰻鱺頭部識別能力更強、檢測效果更好。

改進后的Faster RCNN 模型對鰻鱺頭部的檢測結(jié)果如圖12 所示, 兩張圖片中鰻鱺的數(shù)量分別為30條和40 條, 所用來測試模型效果的圖片均來自鰻鱺數(shù)據(jù)集中的測試集。

圖12 改進后的模型檢測效果Fig.12 The detection result of improved model

3.4 鰻鱺計數(shù)結(jié)果與分析

本文是基于模型的檢測結(jié)果對圖像中的鰻鱺進行計數(shù)的, 即模型的檢測效果越好, 計數(shù)結(jié)果就越準確, 因此選擇使用改進后的 Faster RCNN 模型即Faster RCNN (ResNet50+FPN)+k-means+Soft-NMS 模型進行計數(shù)。

首先從測試集當(dāng)中選取9 張圖像, 各圖像中的鰻鱺數(shù)量都不同, 然后使用訓(xùn)練好的改進Faster RCNN模型進行檢測計數(shù), 最后將模型計數(shù)結(jié)果與圖像中鰻鱺真實數(shù)量進行比較, 結(jié)果如表5 所示。可以看出,當(dāng)圖像中鰻鱺數(shù)量中較少時, 模型計數(shù)結(jié)果準確無誤差; 隨著鰻鱺數(shù)量的增加模型誤差也在增大, 其中最大誤差為–4, 表示模型漏計4 條; 從整體來看, 模型的計數(shù)準確率都在90%以上, 而模型的誤差都表現(xiàn)為漏檢。通過對模型檢測后的圖像進行分析后發(fā)現(xiàn),漏檢原因主要有三個: 一是圖像中鰻鱺較為密集時容易出現(xiàn)部分鰻鱺頭部遮擋嚴重甚至完全遮擋的情況, 導(dǎo)致模型漏檢; 二是模型未檢測出鰻鱺頭部, 導(dǎo)致漏檢。三是模型檢測框中雖然包含鰻鱺頭部, 但是該檢測框的置信度分數(shù)低于所設(shè)的計數(shù)閾值N(0.7),此時該檢測框不參與統(tǒng)計計數(shù), 從而導(dǎo)致模型漏檢。因此未來的工作中將融合深度學(xué)習(xí)領(lǐng)域的分割算法如Unet (Ronnebergeret al, 2015)、Mask RCNN (Heet al, 2017)等輔助計數(shù), 還將擴充鰻鱺數(shù)據(jù)集, 以提高模型的泛化能力和檢測精度。

表5 鰻鱺計數(shù)結(jié)果Tab.5 The eel counting results

4 結(jié)論

本文將目標(biāo)檢測模型Faster RCNN 應(yīng)用于循環(huán)水養(yǎng)殖鰻鱺的檢測和計數(shù), 針對原Faster RCNN 模型在鰻鱺數(shù)據(jù)集上存在的弊端, 對模型做出了改進。其中針對模型對小尺度目標(biāo)檢測效果差的問題, 用ResNet50+FPN 網(wǎng)絡(luò)作為模型的骨干網(wǎng)絡(luò), 提取并融合了多尺度的特征, 以提升模型對鰻鱺頭部的檢測能力; 接著用k-means 算法聚類生成適合鰻鱺數(shù)據(jù)集的15 種不同尺度的錨框, 進一步提升模型的檢測能力; 針對圖像中存在鰻鱺頭部重疊的問題, 選擇使用Soft-NMS 算法替代原NMS 算法對RPN 部分生成的候選框進行篩選, 以減少模型對鰻鱺重疊部分的漏檢情況。

實驗結(jié)果表明, 本文對Faster RCNN 模型的各改進策略均顯著有效。最終改進后的Faster RCNN 模型的mAP0.5、mAP0.75、mAPmedium分別為96.5%、68.5%、60.1%, 相較于原模型(Backbone 為ResNet50) mAP0.5提升了14%, mAP0.75提升了39.1%, mAPmedium提升了20.9%。此外, 與SSD300 和YOLOV3 模型相比, 改進后的Faster RCNN 模型各檢測精度均有顯著提升,其中在mAP0.75上的提升尤為顯著, 較SSD300 提升了46.8%, 較YOLOV3 提升了41%。在鰻鱺計數(shù)上,利用改進后的Faster RCNN 模型的檢測結(jié)果進行計數(shù), 計數(shù)準確率達到了90%以上。綜上, 本文改進后的Faster RCNN 模型在循環(huán)水養(yǎng)殖鰻鱺計數(shù)中有重要應(yīng)用價值。

猜你喜歡
鰻鱺錨框計數(shù)
基于YOLOv3錨框優(yōu)化的側(cè)掃聲吶圖像目標(biāo)檢測
信號處理(2022年11期)2022-12-26 13:22:06
錨框策略匹配的SSD飛機遙感圖像目標(biāo)檢測
基于SSD算法的輕量化儀器表盤檢測算法*
基于GA-RoI Transformer的遙感圖像任意方向目標(biāo)檢測
古人計數(shù)
遞歸計數(shù)的六種方式
泥鰍魚
古代的計數(shù)方法
泥鰍魚
這樣“計數(shù)”不惱人
湟源县| 陆川县| 盐池县| 轮台县| 眉山市| 凌云县| 高阳县| 丘北县| 兰溪市| 马尔康县| 奉贤区| 河源市| 垫江县| 靖远县| 缙云县| 铜鼓县| 阳新县| 乌什县| 平顺县| 罗城| 昭通市| 邵阳市| 松溪县| 绥中县| 开远市| 宁阳县| 淳安县| 伽师县| 江永县| 民丰县| 徐州市| 营山县| 泽州县| 余江县| 武威市| 海城市| 巧家县| 星座| 甘孜| 临桂县| 济源市|