孫月瑩 ,陳俊霖 ,張勝茂 ,王書獻 ,熊 瑛 ,樊 偉
(1.上海海洋大學信息學院,上海 201306;2.大連海洋大學航海與船舶工程學院,大連 116023;3.農業(yè)農村部漁業(yè)遙感重點試驗室,中國水產科學研究院東海水產研究所,上海 200090;4.江蘇省海洋水產研究所,南通 226007)
中國毛蝦 (Acetes chinensis) 又稱蝦皮,隸屬于櫻蝦科、毛蝦屬,為浮游性小型蝦類,分布于中國渤海、黃海、東海及南海北部沿岸,是重要的海洋經濟漁業(yè)資源[1]。長期以來,生物和環(huán)境學家十分重視對海洋生物多樣性的保護[2],而非法的過度捕撈一直是海洋生物多樣性的最大威脅之一[3],導致包括中國毛蝦在內的許多漁獲物的產量逐年下降?!吨袊鴿O業(yè)統(tǒng)計年鑒》顯示,中國毛蝦的捕撈產量自2006年達到72萬t的峰值后,出現(xiàn)了急劇下降現(xiàn)象。2019年,中國毛蝦捕撈產量為38.9萬t,相較于2018年42.5萬t的捕撈產量再次出現(xiàn)了高達8.46%的負增長。2020年,中國毛蝦捕撈產量為36.7萬t,相較于2019年38.9萬t的捕撈產量達5.62%的負增長。為科學捕撈毛蝦、保護海洋漁業(yè)資源,中國于2020年開始實行毛蝦限額捕撈[1, 4- 5]。嚴格的限額捕撈依賴于精準的漁船捕撈作業(yè)數(shù)據(jù)[6],但是傳統(tǒng)的漁撈日志存在記錄完整度低、數(shù)據(jù)客觀性差等缺點[7]。因此,可將近幾年新興的電子監(jiān)控(electronic monitoring,EM)系統(tǒng)應用于中國毛蝦限額捕撈漁船中,并以此數(shù)據(jù)來源開發(fā)出自動化的漁船作業(yè)信息記錄系統(tǒng),以規(guī)避傳統(tǒng)漁撈日志的弊端。
近年來,國內外許多學者進行了相關捕撈作業(yè)研究。李國東等[8]以中國毛蝦限額捕撈管理為例,提取毛蝦網船在限額捕撈期間的北斗船位數(shù)據(jù),對捕撈努力量等管控要素進行了分析研究,為解決中國單品種限額捕撈難點積累了經驗。WANG等[7]以監(jiān)控數(shù)據(jù)為數(shù)據(jù)來源提出了一種基于三維卷積神經網絡的中國毛蝦漁船狀態(tài)識別方法,實現(xiàn)了對捕撈作業(yè)漁船船位狀態(tài)的實時監(jiān)控。KALAISELVIV等[9]基于VMS(vessel monitoring system,VMS)數(shù)據(jù)開發(fā)了用于預測船舶捕撈狀態(tài)的模型,該模型可以用來監(jiān)控非法的捕撈活動。以上研究大多側重于捕撈行為,在漁業(yè)捕撈作業(yè)中目標檢測和計數(shù)方面的研究較少。
深度學習中的卷積神經網絡在文字、語音、圖片和視頻等領域應用廣泛,近年來,正逐漸深入到海洋等研究領域中[10-12]。各種預訓練卷積網絡模型被用于提取圖像特征,但由于缺少運動建模,基于圖像的深度特征無法直接應用于視頻[13-16]?;谏疃葘W習的行為識別技術通常以視頻流為數(shù)據(jù)源,綜合考察一個時間序列的圖像信息,繼而實現(xiàn)一個完整的行為識別[17-18]。深度學習中的目標檢測算法,具有自動提取特征,可并行化和檢測精度高等優(yōu)點,廣泛應用于高精度測量領域[19]。目標檢測算法主要分為兩類:單階段算法(one stage)和雙階段算法(two stage)。單階段算法通過網絡提取特征來預測物體的分類與位置,主要有YOLO系列算法、SSD算法。雙階段算法需先生成候選區(qū)域再通過卷積神經網絡預測目標的分類與定位,主要有R-CNN系列算法[20-22]。一般認為,單階段算法實時性較好但檢測精度相比雙階段算法較差。但是,隨著YOLO等單階段目標檢測算法的不斷迭代,其快速、高效、準確的檢測性能受到了廣泛關注和應用,目前主流的目標檢測算法精度已經達到了工業(yè)標準[23]。此外,YOLO系列算法還具有較強的泛化能力和適應性,能夠適應不同尺度、姿態(tài)、遮擋等復雜情況下的目標檢測任務,這對于海洋漁業(yè)領域的實際應用非常有意義。
傳統(tǒng)的漁船捕撈作業(yè)研究主要基于VMS數(shù)據(jù),但VMS數(shù)據(jù)相比于EM數(shù)據(jù)具有一定的局限性,在停泊狀態(tài)下難以進一步細分捕撈行為。EM可采集豐富的數(shù)據(jù)源,其中包含多種漁業(yè)信息[24-26],結合深度學習技術,有助于分析捕魚動態(tài),在漁船監(jiān)測領域有很好應用前景。本研究以中國毛蝦限額捕撈漁船的EM數(shù)據(jù)為數(shù)據(jù)來源,對數(shù)據(jù)進行篩選、標記、劃分,采用目標檢測算法中的YOLOv7算法實現(xiàn)毛蝦捕撈作業(yè)目標檢測,結合實際數(shù)據(jù)特征,對算法做了進一步改進,以期提升算法在該領域的檢測性能。基于目標檢測的結果,使用SORT算法,以視頻流為數(shù)據(jù)源,對檢測到的目標進行追蹤計數(shù),實現(xiàn)中國毛蝦捕撈漁船作業(yè)信息統(tǒng)計記錄。
本研究毛蝦捕撈船長36.9 m、噸位160 t、主機功率220 kW,網具為張網(圖1a)。本研究所采用的EM數(shù)據(jù)利用型號為DS-2CD7A47EWD-XZS(D)的??低暩咔鍞z像頭拍攝,分辨率均為2 560×1 440像素,設置5個位置的拍攝(圖1b)。
圖1 毛蝦捕撈漁船監(jiān)控示意圖Fig.1 Schematic diagram of the monitoring of fishing vessels for Acetes chinensis
前甲板鐵桿上的攝像頭1朝船尾方向拍攝,從正方向拍攝記錄漁船工作區(qū)。前甲板駕駛艙上方的攝像頭2和攝像頭3互為補充的拍攝記錄了收放網過程及鐵錨的狀態(tài)。安裝在后甲板鐵桿上的攝像頭4朝船尾方向拍攝,用于拍攝記錄船舶碰撞等安全狀態(tài)。安裝在前甲板駕駛艙左下方的攝像頭5,用于拍攝記錄捕撈的毛蝦裝筐的漁獲過程。
捕撈漁船一般在白天作業(yè),晚上偶爾作業(yè)。為確保數(shù)據(jù)的有效性,對2022年6月15日—2022年7月10日的中國毛蝦限額捕撈EM數(shù)據(jù)進行篩選,剔除晚上無作業(yè)、視頻模糊不清和斷幀等無效視頻段。選擇使用攝像頭2拍攝到的下網視頻,對下網時拋出的錨(anchor)進行標注識別,進而對毛蝦捕撈漁船下網數(shù)量實現(xiàn)計數(shù)。選擇使用攝像頭5拍攝到的毛蝦裝筐漁獲過程視頻,對裝有毛蝦的筐(basket)進行標注識別,并對捕撈的毛蝦筐數(shù)進行計數(shù),為實現(xiàn)毛蝦單位捕撈努力量漁獲量(catch per unit effort,CPUE)計算提供產量數(shù)據(jù)。經過以上篩選后,最終選擇使用其中的80個有效視頻段作為本次試驗的數(shù)據(jù)。
在有效視頻段中,隨機選取部分視頻使用PotPlayer工具截取目標檢測模型所需的圖片數(shù)據(jù)(圖2),對圖片進行篩選,并使用labelImg軟件標注,同時生成對應包含標注類別和位置坐標的txt標簽文件,共標注6 258張圖片。標注分為兩類,分別命名為basket和anchor,依次代表裝有毛蝦的漁筐和下網時拋出的錨,其中含有basket目標的圖片共3 364張,含有anchor目標的圖片共2 894張。將兩類目標圖片及其txt標簽文件分別按照8∶1∶1分為訓練集、驗證集和測試集,然后再將兩類目標的對應數(shù)據(jù)集合并,形成標準的coco格式數(shù)據(jù)集。
圖2 預訓練圖片F(xiàn)ig.2 Pre-training images
本研究旨在利用深度學習方法通過中國毛蝦漁船EM視頻數(shù)據(jù)實現(xiàn)毛蝦捕撈作業(yè)目標檢測與計數(shù),本研究的技術路線如圖3所示。
圖3 技術路線圖Fig.3 Technical routes graph
1)圖像獲取:在實施中國毛蝦限額捕撈的漁船上安裝EM系統(tǒng),獲取毛蝦捕撈過程的視頻數(shù)據(jù)。通過通訊基站或移動硬盤等設備將數(shù)據(jù)傳輸?shù)椒掌魃稀?/p>
2)數(shù)據(jù)集構建:篩選有效視頻片段,提取視頻中關鍵的毛蝦捕撈作業(yè)圖像,對圖像進行分類標注后構建目標檢測數(shù)據(jù)集、目標跟蹤計數(shù)數(shù)據(jù)集。
3)毛蝦捕撈作業(yè)目標檢測網絡構建:將構建的目標檢測數(shù)據(jù)集輸入到YOLOv7網絡模型中進行訓練,結合數(shù)據(jù)集的特征和實際需求對原始模型進行改進,以得到目標檢測性能更高的模型作為毛蝦捕撈作業(yè)跟蹤計數(shù)的檢測器。
4)毛蝦捕撈作業(yè)目標識別和計數(shù)實現(xiàn):將采集篩選出的毛蝦捕撈作業(yè)視頻,使用改進后的SORT算法進行目標檢測與計數(shù)試驗。
5)結果分析:對毛蝦捕撈作業(yè)目標檢測和計數(shù)結果進行評估,將模型輸出的結果與人工核驗的結果進行對比分析,驗證方法的可行性。
1.3.1 YOLOv7網絡模型
YOLOv7整體的網絡架構如圖4所示,主要由輸入端Input、主干網絡Backbone和網絡輸出端Head3個部分組成。輸入端Input部分對輸入的圖片預處理,經過Mosaic數(shù)據(jù)增強、自適應圖像填充、自適應錨框后得到640×640大小的RGB圖片,輸入到Backbone中。Backbone為網絡的主干,用于提取特征,由若干CBS模塊、MP1及ELAN結構組成,其中CBS模塊由Conv+BN+SiLU構成,MP1主要是由Maxpool和CBS構成,ELAN是由多個CBS構成的結構,實現(xiàn)對同一特征圖不同尺寸的特征提取。輸出端Head部分是一個PAFPN結構,與YOLOv5的head結構基本一致,區(qū)別在于將YOLOv5中的CSP模塊換成了ELAN-P模塊,ELAN-P與backbone部分ELAN的組成結構基本一致,不同之處是CAT數(shù)量不同。網絡Head部分最終完成類別預測和目標邊界框錨定,輸出3個不同尺寸的預測結果,實現(xiàn)對多目標的多尺度預測。
圖4 YOLOv7網絡結構Fig.4 YOLOv7 network structure
1.3.2 YOLOv7模型改進
為了提高網絡性能,本文引入了MobileOne結構,提出了改進的YOLOv7網絡模型YOLOv7-MO。主要改進工作為:1)使用輕量級網絡MobileOne作為YOLO v7的主干網絡。2)網絡輸出端Head部分加入C3模塊。3)剪除一些冗余操作,讓整個網絡輕量化。
MobileOne的核心模塊基于MobileNetV1設計,結構與MobileNetV1基本一致,區(qū)別是把MobileNet中的深度可分離卷積替換為了圖5所示的神經網絡結構塊。圖5中左側部分構成了MobileOne的一個完整結構塊,由上下兩部分構成,其中上面部分基于深度卷積(depthwise convolution),下面部分基于點卷積(pointwise convolution),Act.表示激活函數(shù)。深度卷積模塊由三條分支構成,最左側分支是1×1卷積;中間分支是過參數(shù)化的3×3卷積,即k個3×3卷積;右側部分是一個包含BN層的跳躍連接。深度卷積本質上是分組卷積,分組數(shù)與通道數(shù)相同,這里的1×1卷積和3×3卷積都是深度卷積。點卷積模塊由兩條分支構成,左側分支是過參數(shù)化的1×1卷積,由k個1×1卷積構成,右側部分是一個包含BN層的跳躍連接。在訓練階段,MobileOne由如圖5所示的神經網絡塊堆疊而成。訓練完成后經過重參數(shù)化方法將圖5左側所示的神經網絡塊重參數(shù)化為圖5右側的結構。
圖5 MobileOne神經網絡結構塊Fig.5 MobileOne neural network blocks
1.3.3 SORT算法
在目標檢測的基礎上對毛蝦捕撈作業(yè)信息進行統(tǒng)計,主要統(tǒng)計對象為漁筐(裝有毛蝦的筐)、錨(下網時拋的錨)即目標檢測階段的basket和anchor目標。根據(jù)視頻數(shù)據(jù)中basket和anchor目標移動時間不固定、同一時間可能出現(xiàn)多個basket目標等特點,本研究選擇使用基于目標檢測的多目標跟蹤算法SORT(simple online and realtime tracking)對毛蝦捕撈漁船EM數(shù)據(jù)進行目標跟蹤。基于對算法效率和準確率的提升,對SORT算法的檢測部分做出改進:將其檢測部分由原始的Fast R-CNN替換為本研究預訓練階段得到的最優(yōu)模型;在SORT算法中添加合適的碰撞檢測線、計數(shù)器、閾值和時間戳,在對basket和anchor進行目標追蹤的基礎上實現(xiàn)對兩者的計數(shù),由anchor和basket的數(shù)量可進一步計算得到中國毛蝦捕撈漁船作業(yè)時的下網數(shù)量和CPUE值。
SORT算法是一個簡單、有效、實用的多目標跟蹤算法,核心是卡爾曼濾波和匈牙利算法[27],其算法流程如圖6所示。
圖6 改進的SORT算法流程圖Fig.6 Flowchart of the improved SORT algorithm
卡爾曼濾波(Kalman filter)是一種高效的自回歸濾波器[28-29],其主要作用是通過傳感器測量獲得預測數(shù)據(jù),再根據(jù)預測和更新的公式,可以基于目標前一時刻的位置來預測當前時刻的位置。
預測式:
更新式:
匈牙利算法又稱匈牙利匹配法,常在數(shù)學問題上用于解決指派問題,即上一幀的目標和當前幀的目標具有一一對應的關系,可求解出最好的分配結果[30-31]。在目標追蹤中解決的是預測框和檢測框之間的分配問題,即確定當前幀的某個目標是否與前一幀的某個目標相同,如本試驗的漁筐和錨。
通過卡爾曼濾波預測軌跡,并使用匈牙利算法將預測后的軌跡和當前幀中的檢測目標進行匹配,之后對卡爾曼濾波更新,實現(xiàn)對同一物體的定位。最后,結合數(shù)據(jù)的實際特征設置閾值和時間戳,通過線與線的碰撞檢測方法,用計數(shù)器實現(xiàn)了對捕撈的漁筐和拋錨數(shù)量的精準統(tǒng)計。
試驗基于Ubuntu 18.04操作系統(tǒng), Python 3.8編程語言, Pytorch 1.8.2深度學習框架。試驗使用訓練集和驗證集的數(shù)據(jù)進行模型訓練和驗證。試驗相關硬件配置和訓練階段的模型參數(shù)設置如表1所示。
表1 試驗相關硬件配置和模型參數(shù)Table 1 Experiment-related hardware configuration and model parameters
在檢驗模型效果時,本文采用精確度(precision,P)、召回率(recall,R)、平衡分數(shù)(F1)、模型參數(shù)量(parameters)、浮點運算數(shù)(floating point operations,F(xiàn)LOPs)、查準率和查全率(P-R)曲線、F1曲線來評估目標檢測模型的性能。
精確度(P)和召回率(R)的計算公式如下:
式中TP指將正樣本正確預測出來的數(shù)量,F(xiàn)P指將負樣本錯誤的預測為正樣本的數(shù)量,F(xiàn)N指將正樣本預測為負樣本的數(shù)量。以本試驗檢測的anchor為例,TP指在檢測anchor目標時將真實為anchor的目標預測為anchor的數(shù)量,F(xiàn)P指將不是anchor的目標預測為anchor的數(shù)量,F(xiàn)N指將真實anchor的目標預測為其他的數(shù)量。
F1是P和R的調和值,綜合考慮了召回率和精確率對試驗數(shù)據(jù)的影響,防止某一指標主導試驗結果,計算式如下所示:
浮點運算量(floating point operations,F(xiàn)LOPs)即模型計算量,其大小可以用來衡量模型復雜度。
P-R曲線可以直觀地顯示出樣本的精確率和召回率在總體數(shù)據(jù)上的關系,曲線與坐標軸圍成的面積為類別平均精度AP值和各類平均精度mAP值,兩者的計算式如下所示:
本文使用ACP值(average counting precision)來評估中國毛蝦捕撈漁船作業(yè)的計數(shù)算法準確率,計算式如下所示:
式中S表示算法統(tǒng)計的basket或anchor數(shù)量,N表示人工統(tǒng)計的basket或anchor數(shù)量,i表示視頻序號,j代表目標種類,M表示計數(shù)試驗的視頻段總數(shù)量。
2.1.1 YOLOv7模型與YOLO系列其他模型對比
為驗證YOLOv7在本研究毛蝦捕撈漁船作業(yè)數(shù)據(jù)集上檢測效果,分別將YOLOv3、YOLOv5s和YOLOv7三種YOLO系列的網絡模型在毛蝦捕撈漁船作業(yè)數(shù)據(jù)集上進行訓練,并在測試集上進行測試,試驗結果如表2所示。
表2 不同YOLO系列模型檢測結果Table 2 Different YOLO series model target detection results
通過表2對比結果可以看出,在相同迭代次數(shù)內,YOLOv7網絡模型的大小和參數(shù)量小于YOLOv3,大于YOLOv5s, 但YOLOv7網絡模型的大小和參數(shù)量已能滿足毛蝦捕撈作業(yè)的決策需求。YOLOv7的各類平均平衡分數(shù)F1比YOLOv3和YOLOv5s分別高出10.2、3.4個百分點,F(xiàn)1得分情況在basket和anchor兩類目標上YOLOv7均高于YOLOv3和YOLOv5s兩類模型。因此,本研究選用YOLOv7模型,并在此基礎上進行改進,以增強其在實際漁船作業(yè)情況下,提高捕撈漁船作業(yè)目標的實時監(jiān)測準確率并使得模型更加容易嵌入到EM系統(tǒng)中。
2.1.2 改進YOLOv7結果對比
將目標檢測階段訓練得到的YOLOv7和YOLOv7-MO模型在相同的測試集(658張圖像)下進行對比試驗,得到如表3所示目標檢測結果。
表3 目標檢測模型結果對比Table 3 Comparison of target detection models results
由表3可知,本研究改進的YOLOv7-MO模型相比原始YOLOv7模型檢測效果有了明顯提升。改進后的YOLOv7-MO模型在測試集上獲得了97.3%的平均識別精確率,其中漁筐和錨的識別精確率分別為96.9%和97.6%。改進后的YOLOv7-MO相比原始YOLOv7模型的P、R、F1值均有提升,根據(jù)表中數(shù)據(jù)計算可得,改進后的模型相比原始模型,兩類平均P、R、F1分別提升了2.0、1.1、1.5個百分點。
圖7a為本試驗模型YOLOv7-MO的總體及兩類目標(Basket、anchor)在測試集上的P-R曲線對比圖。其中橫軸代表Recall,縱軸代表Precision,該曲線與坐標軸圍成的面積為類別精度(AP)值,其中basket和anchor的值分別為98.9%和98.8%,各類平均精度(mAP)值為98.8%。
圖7 YOLOv7-MO模型目標檢測結果Fig.7 YOLOv7-MO model target detection results
圖7b為本試驗模型YOLOv7-MO的總體及兩類目標(Basket、anchor)在測試集上的F1得分圖。由圖可得,置信度在40%~60%區(qū)間上取得了比較好的F1分數(shù),在置信度為51.9%時,兩類平均F1分數(shù)取得了最大值97.0%。
在深度學習模型中,模型大小及其復雜度直接影響了實際應用的效果。模型大小(model size)可以直接影響模型的運行速度。模型的復雜度可以用參數(shù)量(parameters)和浮點運算數(shù)(floating point operations,F(xiàn)LOPs)來衡量,兩者可以共同描述模型計算量,模型的復雜度也可以直接影響模型的運行速度。
由表4的模型參數(shù)結果對比可得,本研究優(yōu)化的YOLOv7-MO模型大小、參數(shù)量、浮點運算量較原始模型YOLOv7均有所下降,模型運行速度得到了提升。因此,在毛蝦捕撈目標識別中,本研究優(yōu)化的YOLOv7-MO模型相較于原始的YOLOv7模型目標檢測效果和模型大小及其復雜度均取得了較好的效果,模型性能得到了提升,可用于毛蝦捕撈目標識別。
表4 模型參數(shù)比較Table 4 Comparison of model parameters
2.1.3 與其他模型的比較
在本研究的毛蝦捕撈漁船作業(yè)數(shù)據(jù)集上,將本研究改進的模型與改進前的YOLOv7模型以及其他典型的目標檢測算法模型Faster RCNN、YOLOv3、YOLOv5s分別進行對比,結果如表5所示。
表5 不同模型檢測效果對比Table 5 Comparison of detection results of different models
通過對比可以看出,相比雙階段模型(以Faster RCNN為例)YOLO系列模型較小且目標檢測效果較好。雖然Faster RCNN模型的精確度和召回率較高,但是平均準確率和各類AP值明顯低于YOLO系列模型,在實際的漁船捕撈作業(yè)中錯檢漏檢情況會較為明顯。本文根據(jù)YOLOv7改進后的YOLOv7-MO模型平均準確率與Faster RCNN、YOLOv3、YOLOv5s、YOLOv7模型相比,分別提高了21.4、12.7、1.1和0.7個百分點。平衡分數(shù)F1相比YOLO系列模型中的YOLOv3、YOLOv5s、YOLOv7分別提升了11.7、4.9、1.5個百分點。改進后的模型大小和參數(shù)量小于YOLOv7,綜合性能指標有一定的優(yōu)勢。
2.1.4 改進后模型檢測效果
本試驗模型YOLOv7-MO的檢測效果如圖8所示,圖8a、8b、8c分別表示了在等待拋錨、開始拋錨和拋錨過程三個主要狀態(tài)下,模型對anchor目標的檢測情況;圖8d、8e、8f表示了在收網過程中,模型對basket目標的檢測情況,圖8d表示單個目標出現(xiàn)時的檢測情況、圖8e表示目標被遮擋時的檢測情況、圖8f表示多個目標出現(xiàn)時的檢測情況。由圖片和視頻檢測效果可得,該模型可以精確的識別出漁船EM視頻數(shù)據(jù)中的basket和anchor,由此進一步可得漁船作業(yè)過程中的下網數(shù)量和漁獲量。
圖8 YOLOv7-MO模型檢測效果Fig.8 YOLOv7-MO model detection effects
對毛蝦主要作業(yè)類別(下網數(shù)量和漁獲筐數(shù))進行人工統(tǒng)計,與YOLOv7-MO-SORT的統(tǒng)計結果作對比。在算法中添加碰撞檢測線,如圖9所示,采用黑色線作為計數(shù)統(tǒng)計試驗的碰撞檢測線,圖9a、9b中黑色水平直線為basket計數(shù)的碰撞檢測線,圖9c、9d中黑色斜線為anchor計數(shù)的碰撞檢測線。
圖9 計數(shù)統(tǒng)計碰撞檢測線示意圖Fig.9 Schematic diagram of the counted statistical collision detection line
在算法中設置碰撞檢測線、計數(shù)器、閾值和時間戳。根據(jù)視頻數(shù)據(jù)的實際情況,毛蝦漁獲過程中basket目標由人拖動,所以攝像頭5拍攝到的basket目標通過檢測線時存在目標被遮擋和目標不完整的情況。結合實際數(shù)據(jù)特征,將basket目標的置信度計數(shù)閾值設置為0.5,即當通過檢測線的basket目標檢測置信度大于等于0.5時,認為該目標是應當被檢出的basket目標。通過觀察訓練出的最優(yōu)目標檢測模型對EM視頻中anchor目標的檢測情況,在下網拋錨過程中anchor目標的置信度在0.8左右,因此將anchor目標的置信度計數(shù)閾值設置為0.7。圖像左上方顯示目標計數(shù)器,檢測到的目標未通過檢測線時計數(shù)器并未對該目標計數(shù),目標達到設定閾值并通過檢測線后計數(shù)器對目標進行計數(shù)。
隨機選取有效視頻段中15個含有漁獲毛蝦裝筐的視頻段,人工統(tǒng)計15個視頻段的漁獲毛蝦筐數(shù)(Nb)。將隨機選取的15個漁獲毛蝦視頻段輸入YOLOv7-MOSORT算法中,對漁獲的毛蝦筐數(shù)(Sb)進行統(tǒng)計,得到如表6所示的計數(shù)信息。
表6 漁獲毛蝦筐數(shù)計數(shù)試驗結果統(tǒng)計Table 6 Statistics on the results of the basket counting experiment
隨機選取有效視頻段中含有10次下網作業(yè)的視頻段,人工統(tǒng)計10次下網作業(yè)的下網數(shù)量(Nn)。將隨機選取的10次下網作業(yè)的視頻段輸入YOLOv7-MO-SORT算法中,對拋錨的數(shù)量(Sa)進行統(tǒng)計繼而得到下網數(shù)量(Sn),據(jù)張網捕撈示意圖可得兩者的數(shù)量關系如式(9)所示。下網數(shù)量計數(shù)信息如表7所示。
表7 下網數(shù)量計數(shù)試驗結果統(tǒng)計Table 7 Statistics on the results of the net counting experiment
通過計算可得,本研究YOLOv7-MO-SORT模型實現(xiàn)了毛蝦筐數(shù)80.0%和下網數(shù)量95.8%的計數(shù)精度。
傳統(tǒng)的漁船捕撈作業(yè)研究主要基于VMS數(shù)據(jù),但VMS數(shù)據(jù)相比于EM數(shù)據(jù)具有一定的局限性。VMS系統(tǒng)是基于衛(wèi)星定位技術的船舶監(jiān)控系統(tǒng),其數(shù)據(jù)主要包含船舶經緯度、航速、航向等船位信息,可用于識別漁船捕撈行為[12, 32]。EM系統(tǒng)是以攝像裝置為核心的電子監(jiān)控系統(tǒng),以視頻的形式記錄作業(yè)漁船的行為活動,EM數(shù)據(jù)是實時的視頻,可用于量化漁船作業(yè)信息。例如,在航速為0時,基于VMS數(shù)據(jù)僅可將漁船行為識別為停泊。但在此情況下,根據(jù)EM數(shù)據(jù)可做進一步的漁船作業(yè)識別和信息統(tǒng)計,如:拋錨、下網、收錨、收網行為識別、量化漁獲或下網數(shù)量。此外,目前漁船作業(yè)的統(tǒng)計主要依靠人工記錄的方法,往往會出現(xiàn)漏記、錯記等現(xiàn)象,導致航次捕撈統(tǒng)計的結果不準確。在作業(yè)漁船上安裝EM系統(tǒng),可以輔助觀察員,以更加直觀、客觀的方法對漁船作業(yè)信息監(jiān)控和記錄。
本研究在對數(shù)據(jù)進行預處理時首先對獲取到的EM數(shù)據(jù)進行篩選,剔除晚上無作業(yè)、視頻模糊不清和斷幀等無效的視頻段,提高了數(shù)據(jù)質量,確保了試驗數(shù)據(jù)的有效性,提高了試驗效率。在深度學習算法中,訓練集用于計算梯度更新權重,即訓練模型;驗證集在模型訓練過程中檢驗模型配置,驗證模型的有效性,挑選獲得最佳效果的模型,在模型訓練過程中通常是重復利用的;測試集用于評估模型,選擇使用未參與模型訓練和驗證的數(shù)據(jù)對模型進行評估可避免過擬合現(xiàn)象的出現(xiàn),有效評估模型的泛化能力。因此,本研究進行目標檢測模型訓練與評估時,將數(shù)據(jù)集按照8∶1∶1劃分為訓練集、驗證集和測試集,確保了試驗結果的可靠性。
本研究以YOLOv7模型為基礎,它在YOLO系列先前工作的基礎上進一步提高了檢測速度和精度[33-36]??傮w架構方面提出了ELAN結構及基于此的E-ELAN結構[37-38],該架構在不破壞原始梯度路徑的情況下可以增強網絡的學習能力。在網絡優(yōu)化策略方面,添加了一個額外的輔助頭部結構[39]。網絡新增方便部署的REP層,REP層在訓練時,如果輸入和輸出的通道數(shù)、高、寬和大小一致時,會再添加一個BN的分支,三個分支相加輸出。在部署時,會將分支的參數(shù)重參數(shù)化到主分支上,取3×3的主分支卷積輸出,這對部署非常方便[40-41]。
MobileOne是Apple公司為移動設備設計的基于重參數(shù)化的主干神經網絡結構,具有簡單、高效、即插即用的特點,實現(xiàn)了高效架構中最先進的技能[42]。本研究選擇使用該輕量級網絡作為YOLOv7的主干網絡,并在輸出端head部分加入了C3模塊,從試驗結果來看,該改進方法使得模型精確率(P)、召回率(R)、F1得分情況相比YOLOv7模型分別提升了2.0、1.1和1.5個百分點。在選擇使用輕量級網絡MobileOne輕量級網絡作為模型主干網絡的同時剪除了YOLOv7模型中的一些冗余操作,使得模型更加輕量化,改進后的模型大小明顯減小,模型大小、參數(shù)量和浮點運算數(shù)相比YOLOv7模型分別縮小了10.2%、10.6%和61.6%,提高了模型的運行速度和可用性。
評估計數(shù)模型時,使用本研究設計的評估指標ACP。隨機選取一定數(shù)量的有效視頻段,對每個視頻段進行人工計數(shù),再輸入模型進行計數(shù),計算得到兩者計數(shù)之差,將所有視頻段的計數(shù)差值相加除以各視頻段的人工計數(shù)總數(shù)得到計數(shù)誤差,進而計算得到計數(shù)準確率(ACP)。吳必朗等[43]在進行魚道過魚計數(shù)時,采用模型計數(shù)總數(shù)除以人工計數(shù)總數(shù)的計算方法評估計數(shù)模型性能,該方法可能會因為試驗樣本的選擇存在一定的偶然誤差。ZHANG等[44]在進行丁香魚作業(yè)漁船信息計數(shù)時,也采用模型計數(shù)總數(shù)除以人工計數(shù)總數(shù)的計算方法評估計數(shù)模型性能,但試驗數(shù)據(jù)本身可能是多個視頻段,因此該計算方法可能會存在一定的修正誤差。本研究中的計數(shù)試驗選擇采用多個視頻段作為試驗數(shù)據(jù),避免了單個視頻段帶來的計數(shù)偶然誤差;計算計數(shù)準確率時,用每個視頻段人工計數(shù)與模型計數(shù)的差值之和除以總體人工計數(shù)之和,可以避免修正誤差,本試驗設計的評估指標能更加合理評估計數(shù)試驗模型。
對于置信度計數(shù)閾值的選取,一般需要根據(jù)實際場景中目標的大小、形態(tài)、數(shù)量等特點來確定。通常情況下,較小的置信度計數(shù)閾值可以提高目標檢測的召回率,但同時也會引入一些誤檢結果。較高的置信度計數(shù)閾值可以提高檢測結果,但可能會導致漏檢的情況。
本研究在對目標的計數(shù)閾值進行選取時,主要考慮目標的大小、數(shù)量和分布情況。Anchor目標的數(shù)量相對較多出現(xiàn)頻率較高,且anchor目標個體較大,結合目標檢測階段對anchor目標檢測精度和置信度均大于0.8的試驗結果,將anchor目標的計數(shù)閾值設置為0.7,以確保目標檢測追蹤到anchor目標并完成正確計數(shù),并避免一些虛假檢測結果的產生。Basket目標的數(shù)量根據(jù)實際作業(yè)情況來看,在大多數(shù)情況下,其出現(xiàn)的頻率較低,且basket目標個體較小,在漁船工作人員將其移動通過攝像頭5時,會出現(xiàn)目標遮擋的情況,在目標追蹤到通過檢測線的瞬間,basket目標的目標檢測置信度較低,因此適當降低目標計數(shù)閾值,將basket目標的計數(shù)閾值設置為0.5,減少漏檢情況的發(fā)生。
本研究仍存在一些不足之處有待改進。在EM視頻識別計數(shù)結果中,目標檢測框會出現(xiàn)短暫的消失和重現(xiàn),這使得計數(shù)結果出現(xiàn)了一定的誤差。因此,在試驗中采用卡爾曼濾波消除抖動,使得預測框在整個檢測過程中保持平穩(wěn),得到更加準確的檢測結果。模型統(tǒng)計的下網數(shù)量偏高,是因為在模型統(tǒng)計拋錨數(shù)量時,anchor目標被重復檢測。通過觀察總結拋錨規(guī)律,設置時間戳,當兩次檢測出anchor目標之間達到一定時間間隔時被認為出現(xiàn)下一個anchor目標,進行計數(shù),anchor目標的計數(shù)誤差問題因此得到了一定的解決。在進行毛蝦筐(basket)的計數(shù)統(tǒng)計時,實際作業(yè)規(guī)律不穩(wěn)定,并非所有漁獲的裝有毛蝦的筐都會通過本研究設置的檢測線。當漁獲量較大時,作業(yè)后期漁獲的一些裝有毛蝦的筐可能未通過檢測線,如圖10a所示。當轉運船到達時,這些未通過計數(shù)檢測線的漁筐會直接轉載到轉運船,本試驗設置的計數(shù)器未對其進行計數(shù),如圖10b所示直接被移動到圖像的右側區(qū)域。此外,當裝有毛蝦的筐(basket)通過檢測線時,在攝像頭拍攝到的圖像中,basket目標會被船員遮擋,如圖10c左下方所示導致可識別的目標不完整,當模型識別出此目標時,置信度較低。
圖10 漁獲毛蝦時的特殊情況Fig.10 Special circumstances when catching Acetes chinensis
本研究為確保計數(shù)目標是正確目標,在計數(shù)模型中設置了閾值,考慮到basket目標通過檢測線時目標不完整、置信度較低的情況,適當調低了basket計數(shù)閾值,以盡可能確保船員拖動的basket目標通過檢測線時被檢測出。因此,本研究所作的毛蝦筐數(shù)計數(shù)統(tǒng)計是在basket目標均通過檢測線的理想狀態(tài)下的統(tǒng)計。針對以上所述問題,還需進行進一步的研究,可以解決的方案有:1)在作業(yè)漁船的適當位置增加安裝攝像頭,拍攝作業(yè)漁船漁獲物的轉運情況,通過漁獲物的轉運EM數(shù)據(jù)進行計數(shù)。調整現(xiàn)有攝像頭的位置,拍攝更清楚的作業(yè)過程。2)制定漁船作業(yè)規(guī)范,劃分漁船工作區(qū)域,船員在工作時將漁獲物按照指定區(qū)域和流程進行移動。3)修改模型,設計更加合理的計數(shù)方法,以進行完整計數(shù)。
針對中國毛蝦捕撈漁船限額捕撈作業(yè)規(guī)范問題,研究采用漁船電子監(jiān)控(electronic monitoring,EM)系統(tǒng)采集作業(yè)數(shù)據(jù),改進YOLOv7模型,構建了YOLOv7-MO目標檢測模型和YOLOv7-MO-SORT計數(shù)模型。目標檢測YOLOv7-MO模型使用輕量級網絡MobileOne作為主干網絡,網絡輸出端head部分加入C3模塊,在原始YOLOv7模型上剪除了一些冗余操作,讓整個網絡輕量化,更適合漁船捕撈作業(yè)識別。使用該模型對中國毛蝦限額捕撈漁船的主要特征進行檢測,達到了97.3%的識別精確率,在模型更加輕量化的基礎上實現(xiàn)了更好的準確性。在目標檢測的基礎上,改進SORT算法對目標進行計數(shù),將目標檢測部分修改為預訓練的YOLOv7-MO,并在算法當中添加合適的碰撞檢測線,設置閾值和計數(shù)器,實現(xiàn)了對毛蝦捕撈漁船漁獲毛蝦筐數(shù)和下網數(shù)量的自動化數(shù)量統(tǒng)計,分別達到了80%和95.8%的計數(shù)準確率。該功能方便漁船作業(yè)信息的管理和記錄,一定程度上避免了傳統(tǒng)的人工記錄漁船作業(yè)信息的一些弊端,進行毛蝦筐數(shù)計數(shù)統(tǒng)計可為毛蝦單位捕撈努力量漁獲量(catch per unit effort,CPUE)等漁業(yè)信息值的計算提供方便。本研究解決了毛蝦捕撈漁船作業(yè)識別和計數(shù)問題,同樣可應用于其他作業(yè)漁船,為后續(xù)實現(xiàn)精度更高、更快的捕撈漁船作業(yè)識別和統(tǒng)計方法提供了參考。