?

基于改進YOLO v4的單環刺螠洞口識別方法

2023-03-07 03:31梁翔宇曾立華宋小鹿周璽興
農業機械學報 2023年2期
關鍵詞:單環錨點洞口

馮 娟 梁翔宇 曾立華 宋小鹿 周璽興

(1.河北農業大學信息科學與技術學院,保定 071001;2.河北省農業大數據重點實驗室,保定 071001;3.華南師范大學生命科學學院,廣州 510631;4.廣東省水產健康安全養殖重點實驗室,廣州 510631;5.河北農業大學機電工程學院,保定 071001)

0 引言

單環刺螠是中國北方沿海常見的一種海洋底棲無脊椎動物,俗名海腸,體壁富含多種人體需要的生物活性肽,肉味鮮美,具有很高的營養價值及經濟價值[1]。單環刺螠有潛沙穴居習性,在海底營造非標準的U型洞穴生活,洞口向上,身體能潛到40 cm深度,洞口直徑約3 cm[2]。目前我國仍采用手工挖捕成體的方式,其缺陷較多,容易造成單環刺螠死亡或殘損,且采捕效率低、成本高,影響池塘內刺參的生態混養等[3]。本文對單環刺螠洞口進行識別研究,是實現自動化采捕、養殖池塘內產量預測、確定最佳單環刺螠投放比例的必要準備,目前尚未見相關報道。

水下圖像質量退化是準確識別單環刺螠洞口的主要難點。此前,國內外學者對水下目標識別進行了廣泛的研究。QIAO等[4]利用對比度受限的自適應直方圖均衡化(Contrast limited adaptive histogram equalization, CLAHE)算法增加海參刺和海參體的對比度,利用主動輪廓法對海參進行分割。吳健輝等[5]提出一種基于圖像處理技術的魚種類自動識別方法,識別4種主養魚類,對團頭魴的識別精度為100%,對鯽、鯉、草魚的識別精度為96%。在實際應用中,由于水下圖像信息的復雜性,傳統目標檢測算法只能適用于某種特定環境,無法應用在不同場景,算法檢測的精確率和速度都有待提高[6]。深度學習給水下目標識別帶來了新的發展方向,在農業[7-10]、工業[11-13]等多個領域得到了廣泛應用。DAI等[14]使用帶有內部特征和核校準模塊的殘差網絡進行水生生物識別,在自建數據集上識別Top-1準確率提高至95.7%。張明華等[15]通過改進Cascade R-CNN和圖像增強進行夜晚魚類的檢測。張佳林等[16]利用機器視覺進行魚類攝食分類,綜合準確率達到了89%。

上述研究對象多為水中生物,對于水下洞口識別暫無涉及,且圖像采集多在水質清的環境下進行。但養殖塘塘底受光線較弱和存在雜質等因素的影響,目標檢測效果并不理想。當前基于深度學習的目標檢測算法主要分為兩類,基于Two-stage的RCNN系列算法,基于One-stage的SSD和YOLO系列算法?;赥wo-stage的檢測算法具有高檢測精度的特點,缺點是檢測速度較慢;基于One-stage的檢測算法檢測精度相對較低,但檢測速度快,能夠滿足實時檢測需求。采捕船采捕時模型需部署在船上的嵌入式設備中進行實時檢測,模型尺寸與檢測速度要求較高。

針對上述問題,選擇One-stage系列綜合表現最穩定的YOLO v4為基礎目標檢測模型,替換其主干網絡為輕量型網絡,在此基礎上使用深度可分離卷積塊替換原網絡中的普通卷積塊,降低模型參數量,提高檢測速度;采用MSRCR增強算法對數據集進行圖像增強,提高圖像質量;對錨點框尺寸進行優化,降低預設錨點框尺寸帶來的誤差,進一步提升檢測精度。最后,將研究模型部署在嵌入式設備上,測試模型效果。

1 材料與方法

1.1 圖像采集

實驗地點位于河北省秦皇島市附近的一塊單環刺螠養殖池塘。模擬實際場景下采捕船的采捕,搭建了一套由水下相機、自主游弋式巡航無人船、Jetson AGX Xavier構成的圖像采集裝置,獲取單環刺螠養殖塘底影像。自主游弋式巡航無人船(圖1a)(山一科技)配備兩個電池供電的無刷電機,由采集人員在池塘內遙控航行。無人船搭載成像設備——水下攝像頭,鏡頭分辨率為352像素×240像素,獲取塘底視頻保存至嵌入式設備Jetson AGX Xavier上。

圖1 圖像采集裝置

1.2 數據集構建與標注

視頻獲取時間為2020年11月15日,采用垂直攝影的方式,共獲取視頻21.55 min,利用Python程序每間隔25幀截取一幅圖像,人工復檢刪除質量較低的圖像后共保留782幅圖像。為豐富數據集、提高模型泛化能力,對圖像進行數據增強操作,每幅圖像進行水平鏡像、垂直鏡像及水平垂直鏡像,將數據集擴增至3 128幅。將3 128幅圖像隨機劃分為訓練集、測試集和驗證集,其中(訓練集+驗證集)與測試集圖像數量比例為9∶1;訓練集與驗證集圖像比例為9∶1,訓練集2 533幅,驗證集282幅,測試集313幅。

使用目標檢測算法訓練前,需要對采集的原始圖像進行人工標注。選擇當前常用的LabelImg標注工具對水下單環刺螠洞口進行標注,選定圖像中僅有單環刺螠洞口一個分類,使洞口中心點位于標注框中心,標注完成后自動生成含有類別和位置信息的xml文件。為滿足YOLO v4神經網絡的訓練要求,將制作好的數據集保存為PASCAL VOC格式,以便用于網絡訓練與測試,在3 128幅圖像中共含邊框標注樣本30 896個。

1.3 圖像增強

水下圖像由于水中介質吸收光能、散射改變光的方向等,圖像對比度低、清晰度低、質量退化[17]。為提升檢測精度,對數據集進行圖像增強處理。目前主流的水下圖像增強方法包括3類:①基于空間域的增強方法,包括灰度變化和直方圖均衡化等。②基于顏色恒常性的增強方法,包括色域映射和Retinex理論等。③基于先驗知識的增強方法,包括暗通道先驗去霧和基于R通道的先驗顏色恢復等[18]。

選取當前主流的CLAHE算法[19]、暗通道先驗去霧算法[20]、MSRCR算法[21]對數據集進行圖像增強對比實驗,其效果見圖2。結果顯示,MSRCR算法增強后的數據集檢測精度提升最多。

圖2 不同方法增強效果對比

根據GIMP中MSRCR的思想, MSRCR算法有動態對比參數Dynamic、最大尺度、尺度數3個超參數可以對增強后的圖像質量進行動態調整。經不同參數組對比實驗,如圖3所示,尺度數與Dynamic對增強圖像質量的影響最大,針對此數據集,結果顯示Dynamic取1時目視增強效果最好,尺度數取值越大,水下圖像增強后的對比度越強,當其取值在6~8之間時能保持圖像最適宜的清晰度增強。對于最大尺度,針對此數據集,實驗結果顯示取值以大于300效果最佳,300~500目視效果接近。最終采用Dynamic為1,最大尺度為500,尺度數為8作為MSRCR選定參數對數據集進行圖像增強處理。

圖3 MSRCR算法不同參數效果對比

2 單環刺螠洞口識別模型優化與部署

2.1 YOLO v4模型改進

相比于Two-stage方法,One-stage是通過基于回歸的方式來提取特征,無需生成大量的候選窗口,直接對輸入圖像進行目標檢測和分類,屬于端到端的目標檢測。YOLO v4是One-stage系列中最為先進的目標檢測方法之一,綜合表現穩定。

YOLO v4[22]由主干網絡(Backbone)、頸部網絡(Neck)和預測頭網絡(Detection head)3部分組成,整體上是基于YOLO v3的改進,采用了很多新的目標檢測算法思想,如Mosaic數據增強、標簽平滑、余弦退火算法等。在檢測精度方面,由于YOLO v4模型預設錨點框是基于COCO數據集獲取,與單環刺螠洞口目標在尺寸上差距較大,導致檢測精度有所下降。在檢測速度與模型尺寸方面,自動采捕船嵌入式設備算力及存儲空間資源有限,采捕時洞口檢測實時性要求較高,而YOLO v4模型主干網絡CSPDarkNet53網絡參數量大,特征提取過程中計算量大,計算時間長,導致整體YOLO v4模型檢測速度與模型尺寸無法滿足要求。針對以上問題,在YOLO v4模型的基礎上進行了針對性改進,使其更適用于采捕船嵌入式設備的部署。

2.2 單環刺螠洞口識別模型優化

2.2.1主干特征提取網絡替換

YOLO v4原始主干特征提取網絡CSPDarkNet53模型復雜、檢測實時性差、模型尺寸大。為滿足模型部署到采捕船的嵌入式設備上實現單環刺螠洞口實時檢測的要求,需要將YOLO v4主干網絡替換為更高效的輕量型網絡。

MobileNet v2是MobileNet v1的改進版,在MobileNet v1的基礎上利用Inverted residual策略加入了反向殘差模塊(Inverted residual block),利用Linear bottleneck策略將最后的ReLU6層變成了Linear形式,利用Expansion layer策略使深度卷積可以在更高維度進行。經一系列改進后的MobileNet v2網絡模型的參數量與計算量明顯降低,檢測速度有所提升,使用Mobilenet v2替換YOLO v4的主干特征提取網絡CSPDarkNet53。Mobilenet v2[23]作為輕量型神經網絡,使用3×3逐通道卷積與1×1逐點卷積的結構組合,實現目標的特征提取及特征信息的融合,3×3的逐通道卷積層參數占比少,網絡層的計算量及參數占比主要集中在1×1的逐點卷積。逐通道卷積參數占比的減少使得Mobilenet v2能夠提高網絡訓練效率,加快運算速度實現快速檢測,解決因硬件設備限制導致的目標檢測速度緩慢問題。

2.2.2深度可分離卷積

Mobilenet v2等輕量型網絡結構中,會有深度可分離卷積(Depthwise separable convolution,DSC)[24],由逐通道卷積和逐點卷積兩部分結合起來提取特征。相比常規的卷積操作,深度可分離卷積可以減少網絡參數量,節約計算成本,提高檢測速度。例如輸入特征圖尺寸為H×W、輸入通道數為M,卷積核尺寸為K×K,輸出通道數為N,輸出特征圖尺寸為DF×DF。普通卷積計算量Ns為

Ns=K×K×M×N×DF×DF

(1)

深度可分離卷積計算量由逐通道卷積與逐點卷積組成。逐通道卷積計算量Nd為

Nd=DF×DF×M×K×K

(2)

逐點卷積計算量Np為

Np=DF×DF×M×N

(3)

深度可分離卷積與普通卷積計算量比值為

(4)

由計算結果可以看出,深度可分離卷積的計算量減少與輸出通道數和使用的卷積核尺寸相關,如當卷積核為3×3時,深度可分離卷積的計算量約為普通卷積的1/9,有利于提高模型的推理速度。

2.2.3反向殘差模塊

Mobilenet v2的一個重要改進就是反向殘差模塊的使用,整個Mobilenet v2都由反向殘差模塊組成。反向殘差模塊可以分為兩部分:左邊是主干部分,首先利用1×1的普通卷積進行升維,使用批量標準化(Batch normalization,BN)層對特征進行歸一化處理,然后利用3×3的深度可分離卷積進行特征提取,接上批次BN層與ReLU 6激活函數,最后再利用1×1的普通卷積實現降維,并使用BN層進行歸一化處理。右邊是殘差邊部分,反向殘差模塊將輸入與左半部分的輸出直接融合作為殘差邊。當步長為2時,為使輸入與輸出的維度匹配,不采用短連接,如圖4所示。

圖4 反向殘差模塊

2.3 改進YOLO v4模型

為簡化網絡結構,降低模型尺寸,滿足模型部署在嵌入式設備上實現單環刺螠洞口實時檢測的要求,利用輕量型網絡Mobilenet v2替換YOLO v4的CSPDarkNet53網絡,將其輸出作為頸部網絡部分的輸入,Mobilenet v2主要由3個6層、7層、4層的反向殘差模塊構成,同時為進一步減少模型參數量,使用深度可分離卷積塊替換YOLO v4中Neck和Detection Head部分的3×3和5×5普通卷積塊,改進后的YOLO v4網絡結構如圖5所示。其中DWconv代表一個3×3的深度可分離卷積和一個 1×1的普通卷積組成的深度可分離卷積塊,CBR由卷積層(Convolutional)、BN層和激活函數層(ReLU 6)組成。

圖5 改進后的YOLO v4算法網絡結構圖

2.4 錨點框聚類與優化

YOLO v4網絡按大中小比例預設了9個共3類錨點框,分別用于3個不同尺度的YOLO Head來預測目標,預設錨點框尺寸是在COCO數據集上通過聚類獲得。預設的錨點框尺寸在常規場景下的目標檢測任務已經具有較好的適用性,但在極端場景小目標識別方面,使用預設的錨點框會增大誤差,影響模型的檢測精度。為提升單環刺螠洞口檢測精度,針對數據集重新進行錨點框聚類。利用K-means聚類算法對數據集進行聚類獲取錨點框,尺寸為(5,6)、(6,7)、(7,6)、(7,7)、(8,8)、(10,7)、(8,9)、(10,10)、(14,13),經訓練測試發現,檢測精度相較預設錨點框有所下降。分析原因是K-means對初始聚類中心的選取敏感,不同初始聚類中心聚類的結果差別較大,易造成選取不準確。

針對K-means選取初始聚類中心的弊端,利用K-means++算法解決該弊端。K-means++從輸入寬高的集合N中隨機選擇一個作為第一個聚類中心O1,然后計算每個點x到已有最近聚類中心點的距離D(x),同時計算出每個樣本被確定為下一個聚類中心的概率P(x)為

(5)

其中

D(x)=1-IOU

(6)

式中IOU——聚類中心與每個標注框的交并比

選擇P(x)最大的樣本作為下一個聚類中心,即距離當前n個聚類中心越遠的點會有更高的概率被選為第n+1個聚類中心,重復上述操作直到選定K個中心點。最后不斷重復計算每個樣本到K個聚類中心點的距離,將樣本點劃分至距離最近的聚類中心的類中并更新聚類中心,直到錨點框的大小不再發生改變,得到新的錨點框尺寸為(7,12)、(7,10)、(7,8)、(8,12)、(10,10)、(10,17)、(11,13)、(14,20)、(18,26)。

經訓練測試發現,經過K-means++算法重新聚類后的錨點框對于目標檢測的mAP略有提升,但召回率和調和平均值(F1值)有所下降。分析是由于數據集目標類型單一,標記框尺寸集中,導致K-means++聚類的錨框尺寸集中,無法體現YOLO v4模型的多尺度輸出優勢。針對此問題,采用對錨框線性縮放擴展的方法,將錨框尺寸進行縮放拉伸,計算公式為

(7)

式中Xi——第i個經聚類獲得的錨點框寬

Yi——第i個經聚類獲得的錨點框高

X′i——經過縮放擴展后的錨點框寬

Y′i——經過縮放擴展后的錨點框高

α——錨點框縮放倍數

β——錨點框擴展倍數

為確定最佳的比例參數,將參數α固定設置為0.3,參數β依次設置為2、3、…、10進行對比實驗。如表1所示,當α設置為0.3時,隨著β的變化,mAP呈現非標準的折線變化,mAP最高點時α=0.3,β=5。如表2所示,設置參數β為5,α取不同值進行實驗(α設為0.1時縮放后部分錨點框為0,舍棄該參數),由實驗結果可得,當α=0.7、β=5時能夠取得對于單環刺螠洞口的最佳識別精度,此時錨點框尺寸為(4,8)、(4,5)、(4,4)、(11,17)、(27,27)、(27,46)、(35,41)、(58,83)、(90,130)。

表1 α=0.3時不同β的實驗結果

表2 β=5時不同α的實驗結果

2.5 模型嵌入式設備部署

利用Jetson AGX Xavier進行模型嵌入式設備部署,將在PC端訓練的YOLO v4和改進模型導入Jetson AGX Xavier開發板,并配置相應的運行環境。在直接運行模型測試時發現改進模型相比于YOLO v4檢測速度確實有很大提升,但仍無法滿足實時檢測要求。針對該問題,利用嵌入式平臺廣泛應用的TensorRT進行模型推理加速,TensorRT是NVIDIA高性能深度學習推理優化器,可為深度學習模型的推理提供低延遲、高吞吐量的加速度,支持包括Pytorch在內的多種深度學習框架部署推理。利用TensorRT加速需將模型轉換為TensorRT支持格式,轉換過程為Pytorch格式(Pth)—開放神經網絡交換格式(Onnx)—TensorRT格式(Trt),轉換時模型計算精度為半精度計算(FP16),利用Python API實現trt文件的導入與初始化。模型運行檢測圖像如圖6所示。

圖6 Jetson AGX Xavier部署測試

3 實驗結果與分析

3.1 實驗平臺和參數設置

模型訓練和PC端測試均在同一臺計算機進行,CPU 為Intel Core i5 9300H,GPU為 NVIDIA GeForce GTX 1650,使用Pytorch 1.6.0作為深度學習框架,CUDA 10.2,CUDNN 7.5.6,Windows 10操作系統,運行內存12 GB。

模型的嵌入式端部署測試在Jetson AGX Xavier上進行,搭載64個Tensor Core的512核NVIDIA Volta GPU, CPU為8核NVIDIA Carmel ARMv8.2 64位CPU, 內存為32 GB,顯存為32 GB。相應配置系統為ARM版Ubuntu 18.04操作系統,模型運行環境的配置為Python 3.8、Pytorch 1.6.0、CUDA 10.2、TensorRT 7.1。

訓練參數設置如下:訓練集樣本2 533幅,測試集樣本313幅,驗證集282幅,為防止過擬合,訓練共設置100個迭代周期(Epoch),前50個周期的初始學習率為0.001,樣本批量大小(Batchsize)為8,后50個周期學習率設置為0.000 1,Batchsize為4,非極大值抑制(Non-maximum suppression, NMS)為0.3,置信度閾值為0.5,交并比(Intersection over union,IOU)閾值為0.5。

3.2 評價指標

利用精確率(Precision,P)、召回率(Recall,R)、F1值、平均精度均值(mAP)、模型尺寸和檢測速度來評估模型的綜合性能。

精確率是指在所有檢測出的單環刺螠洞口目標中檢測正確的概率,召回率是指所有的正樣本中正確識別的概率,F1值表示精確率與召回率的調和平均數,平均精度均值表示模型在各個召回率下的精確率平均值。檢測目標僅為單環刺螠洞口,平均精度(Average precision,AP)也等于mAP,檢測精度的各指標優先級由高到低為mAP、F1值、P、R。

3.3 增強算法性能評價

由水下環境復雜、能見度低等因素導致圖像質量較低不利于模型對目標的識別,使用當前主流的3種水下圖像增強算法:CLAHE算法、暗通道先驗去霧算法、MSRCR算法對數據集進行圖像增強。增強算法的選擇在相關水下目標識別研究中[25-26]多為研究者目視估計選擇,受研究者個人因素影響較大。為評價算法性能,利用3種算法增強后的圖像與原始圖像在相同軟硬件環境下進行目標檢測效果對比實驗,對比實驗結果見表3。

表3 不同增強算法檢測結果對比

由表3可知,CLAHE算法增強后的圖像mAP略有提升,但召回率有所下降。MSRCR算法與暗通道先驗去霧算法在檢測精度方面提升效果接近,但MSRCR算法對單環刺螠洞口目標檢測精度提升最高且顏色分布更加平衡,保持了較好的視覺觀感,最終選用MSRCR算法作為模型的圖像增強算法。

3.4 錨點框優化效果

利用YOLO v4預設錨點框、K-means聚類得到的錨點框、K-means++聚類得到的錨點框以及K-means++聚類后線性縮放優化的錨點框(K-means++E)共4種錨點框在相同軟硬件環境下進行訓練并測試,對單環刺螠洞口目標的檢測性能結果如表4所示。

表4 不同算法獲得的錨點框檢測效果對比

由圖7可以看出,使用K-means++E錨點框模型的P-R曲線下包含的面積明顯高于其他3組,說明mAP更高,更適合作為單環刺螠洞口數據集的錨點框。

圖7 不同錨點框的檢測結果P-R曲線

3.5 綜合改進后模型性能評價

3.5.1訓練損失值對比與最優模型確定

使用相同訓練集、驗證集和測試集分別在YOLO v4與改進模型上進行訓練,對比迭代損失值變化曲線,如圖8所示。

圖8 YOLO v4和改進模型訓練的損失值曲線

由圖8可見,改進模型與YOLO v4模型的損失值曲線均能夠在前10個迭代周期中迅速下降,表明輕量化后的改進模型能夠快速收斂。從第11到第50個周期損失值逐步下降,在第50個周期由于學習率與Batchsize的改變出現振蕩。之后直到第90個周期仍處于緩慢下降狀態,在第90個周期之后,改進模型損失值穩定在1.6左右,模型擬合結束。為確定實驗最優模型,所有對比實驗模型在訓練穩定后的5個最低損失值模型為最優模型前提下,綜合考慮mAP與其他3項精度指標確定最優模型,最終選用第98個迭代周期迭代完成后保存的模型為單環刺螠洞口識別模型,此時模型具有最高的mAP與召回率,也具有較高的F1值和精確率。

3.5.2模型輕量化效果

為展示模型輕量化效果,將YOLO v4與僅替換主干網絡為Mobilenet v2的模型以及進一步替換網絡內Neck和Detection Head部分普通卷積塊為深度可分離卷積塊的改進模型進行參數量和模型尺寸的對比,對比結果如表5所示。

表5 網絡結構參數量對比

由表5可得,改進模型參數量由63 937 686降低至11 975 749,而模型尺寸由244 MB降低至 46.5 MB,可見模型輕量化效果明顯,有效減小了模型尺寸,更適于部署在資源有限的嵌入式設備。

3.5.3不同模型性能指標比較

為測試模型效果,在相同軟硬件環境下將改進模型與輕量化YOLO v4和當前主流的One-stage目標檢測算法SSD、YOLO v3、YOLO v4、YOLO v4-tiny進行對比實驗,對模型進行綜合評估。在檢測精度方面,由于mAP和F1值均同時兼顧了檢測模型的精確率和召回率,主要采用mAP和F1值來評價模型的檢測精度,評估結果如表6所示。

表6 不同模型綜合效果對比

由表6可知,在檢測精度方面,改進模型的平均精度均值達到92.48%,相比One-stage的SSD、YOLO v4-tiny、YOLO v3提高24.35、24.36、0.59個百分點,相比YOLO v4降低1.01個百分點;F1值達到90.99%,相比SSD、YOLO v4-tiny、YOLO v3分別提高64.76、18.02、1.08個百分點,相比YOLO v4降低3.19個百分點。在檢測速度方面,改進模型為45.31 f/s,比SSD、YOLO v3、YOLO v4提高30.08、24.56、28.34 f/s。改進模型的內存占用量僅為46.5 MB,相比SSD、YOLO v3和YOLO v4分別減小44.1、188.5、197.5 MB,更適用于嵌入式設備的部署。

3.5.4不同模型檢測效果對比

為直觀展示模型檢測性能,分別采用表6中YOLO v4、輕量化YOLO v4與改進模型對不同的單環刺螠洞口圖像進行檢測。

如圖9所示,模型輕量化后,目標檢測精確率有所下降,在第1幅圖像中左下角出現錯檢,在第2幅最右側和第3幅最上方出現漏檢,但在改進之后模型沒有錯檢且完全檢測出所有單環刺螠洞口,模型檢測目標的置信度在0.9以上的更多,表明改進模型對檢測目標的置信度有一定加強作用,檢測效果更好,檢測能力更強,滿足實際應用場景下單環刺螠洞口的實時檢測精度要求。

圖9 不同模型單環刺螠洞口識別效果

3.5.5模型嵌入式設備部署測試

為驗證模型是否滿足部署在嵌入式設備實時檢測的要求,在Jetson AGX Xavier開發板進行模型部署對比實驗。對YOLO v4、改進模型和經過TensorRT加速的YOLO v4(trt)、改進模型(trt)進行性能評估,實驗結果如表7所示,其中模型尺寸為模型文件在Ubuntu系統的實際占用空間。

表7 模型嵌入式設備部署效果對比

由表7可知,未經TensorRT加速的YOLO v4與改進模型在Xavier開發板上由于硬件條件的限制檢測速度大幅下降,經TensorRT加速的模型由于模型轉換導致檢測精度略微降低,但模型尺寸與推理時間大大減少。經TensorRT加速后的YOLO v4(trt)相較于YOLO v4,檢測速度提升2.11倍,為19.14 f/s,無法滿足單環刺螠洞口實時檢測的要求。經TensorRT加速后的改進模型(trt)在精確率、召回率、F1值、mAP分別下降0.02、0.21、0.11、0.22個百分點,但檢測速度達到36.00 f/s,相較于直接推理的18.55 f/s,加速比約為1.94,且模型尺寸僅為22.2 MB。實驗結果表明,經過TensorRT加速后的改進模型滿足部署在嵌入式設備上實時檢測單環刺螠洞口的需求。

3.6 討論

將YOLO v4主干網絡替換為輕量型網絡會導致mAP一定程度的下降,但在經過圖像增強和錨點框優化后,在檢測精度方面,模型平均精度均值能達到92.48%,低于YOLO v4模型1.01個百分點,檢測速度提升約3倍,且模型尺寸僅為YOLO v4模型的1/5;而在檢測速度與模型尺寸方面,YOLO v4-tiny雖然獲得了110.67 f/s的最高檢測速度與22.4 MB的最小模型內存占用量,但是對于小目標或遮擋目標的檢測效果遠差于YOLO v4網絡,mAP僅為68.12%,無法滿足檢測精度要求。最后,通過嵌入式端設備檢測效果對比實驗,經過TensorRT加速后的改進模型在檢測精度方面F1值為90.88%,mAP為92.26%,檢測速度為36.00 f/s,模型滿足部署在單環刺螠自動采捕船嵌入式設備上實時檢測的檢測精度及檢測速度要求。

4 結論

(1)以單環刺螠洞口為研究對象,提出了適于移植到采捕船嵌入式設備的、基于深度學習的單環刺螠洞口識別方法。在嵌入式設備上,改進模型的F1值為90.88%,mAP為92.26%,滿足實際生產需要,可用于水下單環刺螠洞口實時識別,是實現養殖環境中單環刺螠自動采捕和產量預測的必要前提,其研究思路為后續研發相關自動化設備提供了技術支持。

(2)針對水下圖像質量退化問題,在網絡訓練前對圖像采用MSRCR增強方法,圖像增強后F1值提升1.4個百分點,mAP提升2.26個百分點。

(3)針對YOLO v4模型冗余,模型尺寸大,檢測速度慢的問題,將YOLO v4的特征提取網絡由CSPDarkNet53替換為Mobilenet v2,并將模型中Neck和Detection Head部分的普通卷積塊替換為深度可分離卷積塊,減小模型尺寸,提升檢測速度。嵌入式端模型內存占用量僅為22.2 MB,檢測速度為36.00 f/s,單幅圖像的推理時間為27.78 ms,滿足實時檢測的要求。

(4)針對數據集中多為小目標的特點,使用K-means++聚類算法對數據集進行重新聚類,并將聚類獲得的錨點框進行線性縮放擴展,以獲取更適合數據集的錨點框,改進后的錨點框相比預設錨點框F1值提升1.64個百分點,mAP提升4.69個百分點。

猜你喜歡
單環錨點洞口
響應面法優化開發單環刺螠罐頭食品
pH、氨氮和亞硝酸鹽對單環刺螠稚螠耗氧率和排氨率的影響
高速公路隧道洞口淺埋段的施工工藝
基于NR覆蓋的NSA錨點優選策略研究
5G手機無法在室分NSA站點駐留案例分析
5G NSA錨點的選擇策略
5G NSA組網下錨點站的選擇策略優化
“單環學習”與“雙環學習”
高寒地區隧道洞口段排水系統改進措施與建議
一類具(擬-)Baer性的特殊Morita Context環
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合