王書獻,張勝茂,朱文斌,孫永文,楊昱皞,隋江華,沈烈,沈介然
(1.大連海洋大學 航海與船舶工程學院,遼寧 大連116023;2.中國水產(chǎn)科學研究院東海水產(chǎn)研究所 農(nóng)業(yè)農(nóng)村部遠洋與極地漁業(yè)創(chuàng)新重點實驗室,上海200090;3.浙江省海洋水產(chǎn)研究所 浙江省海洋漁業(yè)資源可持續(xù)利用技術研究重點實驗室,浙江 舟山316021;4.深圳市聯(lián)成遠洋漁業(yè)有限公司,廣東 深圳518035)
隨著海洋強國戰(zhàn)略的實施,漁業(yè)中對捕撈量、捕撈努力量、捕撈效率等捕撈數(shù)據(jù)的精度要求逐漸提高。對船隊捕撈數(shù)據(jù)做更高精度的統(tǒng)計不僅能夠顯著提高捕撈效率、節(jié)約人類觀察員成本,還能夠降低兼捕誤捕量、減輕捕撈工作對海洋生物環(huán)境的破壞,對海洋強國戰(zhàn)略具有重要意義。
由于傳統(tǒng)的人類觀察員難以滿足日漸提高的統(tǒng)計精度要求,近年來電子監(jiān)控系統(tǒng)(electronic monitoring system,EMS)逐漸在漁業(yè)企業(yè)中普及,該系統(tǒng)有可能成為人類觀察員的替代或補充辦法。金槍魚是一種具有高蛋白、低脂肪的大洋性洄游魚類,是國際營養(yǎng)協(xié)會推薦的綠色無污染健康美食。因其營養(yǎng)價值高、肉質柔嫩鮮美,受到市場青睞[1]。Ruiz等[2]密切觀察并比較了7次金槍魚圍捕作業(yè)中EMS系統(tǒng)與人類觀察員所獲取到的捕撈努力量、捕撈量、兼捕量等信息,認為EMS對金槍魚等大型物種有較好的記錄,能夠可靠地估算捕撈數(shù)據(jù)。該研究同時指出,EMS系統(tǒng)在標準化安裝、視頻處理方法等方面仍有諸多改進之處,且這些改進對EMS方案的效果具有較大影響。Gilman等[3]使用Satlink數(shù)字觀察員服務對比了人類觀察員與EMS數(shù)據(jù)差異,認為EMS在漁獲物種類、漁獲量、捕撈量等數(shù)據(jù)上與人類觀察員所獲數(shù)據(jù)差異很小,但是在丟棄物種類、漁獲長度等數(shù)據(jù)上表現(xiàn)不佳。Gilman等[4]為擴展EMS功能、提高EMS準確率,提出了重新定位相機、集成額外傳感器等EMS改進措施。在漁獲識方面,該研究還使用Bicknell 等[5]提出的圖像識別軟件,使用機器學習(machine learning)方法識別漁獲物。機器學習方法在物種分類、行為識別等方面較傳統(tǒng)方法有突出表現(xiàn),一些學者利用TensorFlow等機器學習系統(tǒng),對魚類目標檢測、魚類識別、魚類運動目標提取等進行研究[6-9],取得了良好效果,證明了機器學習方法能夠與計算機視覺方法結合,在EMS系統(tǒng)中為魚類識別做出貢獻。
深度學習(deep learning)是機器學習的一個分支[10],關于深度學習的研究最早可以追溯到20世紀40年代。1943年,Mcculloch等[11]提出神經(jīng)活動中內(nèi)在思想的邏輯演算,正式開啟近代關于深度學習的研究。近年來,深度學習為人工智能技術在自動控制系統(tǒng)[12-13]、人臉識別[14-16]、目標檢測[17-19]、自動駕駛[20-21]、生物建模[22]等領域中的快速增長提供了強大動力。深度學習在水產(chǎn)及船舶領域的應用也已見雛形。部分學者利用深度學習算法,對復雜海況下的船舶識別[23-24]、船舶定位[25]等課題展開研究。2016年, Redmon等[26]針對目標檢測任務提出一種新的思路,即YOLO(you only look once)神經(jīng)網(wǎng)絡模型。YOLO初代版本中,在R-CNN、Fast R-CNN等目標檢測模型的基礎上,首次提出將“目標識別”和“目標定位”兩大任務合二為一。自2016年至今,經(jīng)過各界學者的努力,YOLO神經(jīng)網(wǎng)絡模型經(jīng)歷了數(shù)次更新迭代,先后解決了多目標檢測、小目標檢測、漏檢修復、多尺度預測等多個維度的問題[27]。
YOLO神經(jīng)網(wǎng)絡模型在各個領域的研究[28-30]顯示,該模型在目標檢測領域有較為突出的表現(xiàn)和應用前景。由于遠洋漁船作業(yè)類型多、監(jiān)控安裝位置缺乏統(tǒng)一標準,傳統(tǒng)EMS系統(tǒng)的計算機視覺方法已經(jīng)很難滿足行業(yè)對目標識別精度的需求。EMS系統(tǒng)也逐漸朝著通過機器學習實現(xiàn)目標識別的方向發(fā)展[31-32]。但是,目前仍鮮有YOLO神經(jīng)網(wǎng)絡模型在EMS系統(tǒng)目標檢測中的應用研究。本研究中,基于YOLOV5神經(jīng)網(wǎng)絡模型,擬結合傳統(tǒng)計算機視覺方法,從HNY722遠洋金槍魚延繩釣漁船EMS系統(tǒng)監(jiān)控視頻數(shù)據(jù)中,提取出某段視頻或某一幀圖片中的浮球、金槍魚的數(shù)量及位置,以期為輔助漁業(yè)企業(yè)規(guī)范化管理及電子觀察員技術應用提供技術參考。
YOLOV5網(wǎng)絡結構按照處理階段分為Input、Backbone、Neck、Prediction 4個部分(圖1)。其中,Input部分完成數(shù)據(jù)增強、自適應圖片縮放、錨框計算等基本處理任務;Backbone部分作為主干網(wǎng)絡,主要使用CSP(cross stage partial)結構提取出輸入樣本中的主要信息,以供后續(xù)階段使用;Neck部分使用FPN(feature pyramid network)及PAN(path aggregation network)結構,利用Backbone部分提取到的信息,加強特征融合;Prediction部分做出預測并計算GIOU_loss等損失值。
YOLOV5代碼中,YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4種網(wǎng)絡基本結構類似,但網(wǎng)絡深度及寬度存在差異。Neck部分5次使用CSP結構(圖1中CSP2_X1、CSP2_X2、CSP2_X3、CSP2_X4、CSP2_X5),YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x分別使用1、2、3、4個殘差組件。Backbone骨干網(wǎng)絡部分3次使用CSP結構,4種網(wǎng)絡模型使用的殘差組件數(shù)不盡相同,具體深度差異如表1所示。
圖1 YOLOV5網(wǎng)絡結構
表1 網(wǎng)絡模型深度差異
除深度差異外,上述4種網(wǎng)絡模型在寬度上也存在差異。網(wǎng)絡寬度上的差異主要由Focus及CBL方法中卷積核數(shù)量的差異導致(表2)。4種網(wǎng)絡模型在深度、寬度等結構上的差異決定了其所需機器配置的差異及其在不同作業(yè)類型中表現(xiàn)的差異。
表2 網(wǎng)絡模型寬度差異
延繩釣是一種經(jīng)典的魚釣方式,基本結構為一根主線上系結有等距支線,在支線的末端,置有魚鉤及魚餌,利用浮球、沉子及浮球繩長度,控制調節(jié)作業(yè)水層[33-34](圖2)。根據(jù)回收浮球、金槍魚數(shù)量及狀態(tài)信息,可以推斷延繩釣系統(tǒng)運行狀態(tài),計算系統(tǒng)捕撈效率,為漁業(yè)企業(yè)帶來便利,使遠洋漁船管理有序、合理、規(guī)范、高效。
圖2 金槍魚延繩釣系統(tǒng)概念圖
本文中監(jiān)控數(shù)據(jù)來源于深圳聯(lián)成遠洋漁業(yè)有限公司HNY722遠洋金槍魚延繩釣漁船EMS系統(tǒng),利用該漁船2018年10月12日—2019年3月2日在完成捕撈作業(yè)過程中產(chǎn)生的監(jiān)控視頻數(shù)據(jù)進行研究。該漁船左舷、右舷、前甲板、后甲板各安裝有一個攝像頭,由監(jiān)控主機交換機傳輸至錄像機、顯示器、漁船終端、遠程終端等設備(圖3)。EMS系統(tǒng)每天動態(tài)生成一個文件夾,4個監(jiān)控攝像頭每小時自動保存一次。視頻保存格式為DAV。收網(wǎng)過程主要由安裝于漁船左舷的1號攝像頭記錄。
圖3 HNY722漁船監(jiān)控結構
Pot Player播放器是免費的視頻播放器,除解析常見視頻格式外,該工具具有連續(xù)幀采集功能。使用Pot Player播放器打開HNY722遠洋漁船監(jiān)控視頻文件,使用其“連續(xù)截圖”功能,截取出大量畫面中包含有檢測目標(浮球和金槍魚)的關鍵幀(圖4)。經(jīng)過人工篩選,最終以圖片格式保存包含有不同日期、天氣、時間段的關鍵幀共計15 778幀。將該15 778張圖片劃分為14 178張訓練集圖片及1 400張測試集圖片。訓練集用于在YOLO神經(jīng)網(wǎng)絡模型中訓練、提取特征,測試集用于測試訓練結果使用Anaconda工具創(chuàng)建一個Python3.8.5預處理工作環(huán)境,在該環(huán)境中,安裝LabelImg工具及其依賴包。LabelImg工具為目標檢測標記工作提供可視化支持,可使用矩形框快速確定目標位置及名稱。標注后的文件為Pascal VOC支持的xml格式,編寫Python腳本可以快速將xml格式輸出文件轉化為YOLO支持的txt標簽格式。
圖4 含有浮球的關鍵幀
txt格式的標簽文件中包含有目標種類及目標位置等信息,種類以0、1表示(本文中目標僅包含浮球和金槍魚兩種),0表示浮球,1表示金槍魚。位置信息以4個數(shù)字表示,4個數(shù)據(jù)分別代表歸一化之后的中心點橫坐標、縱坐標、目標寬度、目標高度。由于數(shù)值經(jīng)過了歸一化,數(shù)字值均在0~1,也即實際表示的是比例關系。
2.3.1 樣本數(shù)據(jù)統(tǒng)計結果 對15 778個標簽數(shù)據(jù)進行目標位置及目標大小整體分析,得到目標相對位置圖(圖5(a))和目標相對大小圖(圖5(b))。結果顯示,目標相對位置集中在x、y坐標值較大處,由于計算機視覺中以左上角像素為原點,故目標應集中在圖片的右下側位置。目標寬度大多數(shù)占圖片寬度的2.5%~5.0%,目標高度大多占圖片高度的5.0%~7.5%。
圖5 標簽總體特征圖
2.3.2 參數(shù)收斂結果 試驗結果表明,4組試驗的各個參數(shù)均逐漸收斂(損失參數(shù)收斂至0,結果參數(shù)收斂至1)。除YOLOV5x網(wǎng)絡模型在訓練至100~250輪次(epoch)時,出現(xiàn)了一段時間內(nèi)的結果異常外,各個網(wǎng)絡模型的廣義交并比損失(GIoU loss)、目標檢測損失(objectness loss)、目標分類損失(classification loss)、準確率(precision)、召回率(recall)、廣義交并比閾值下多類別平均精度值(mAP@0.5)和變化交并比閾值下多類別平均精度值(mAP@0.5∶0.95)7個參數(shù)均在500輪次內(nèi)達到收斂(圖6,objectness loss、classfication loss、mAP@0.5∶0.95圖略)。但是僅憑參數(shù)收斂性分析,只能判斷出YOLOV5x模型在本文試驗中存在較強的不確定性,而YOLOV5s、YOLOV5m、YOLOV5l網(wǎng)絡模型的選擇是否會對訓練結果產(chǎn)生影響需要進一步分析。
圖6 訓練參數(shù)收斂分析
2.3.3 模型對參數(shù)的影響 為研究模型對訓練參數(shù)的影響,在500輪次訓練中,用YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4種模型對GIoU loss、objectness loss、classification loss、precision、recall、mAP@0.5和mAP@0.5∶0.95等7個參數(shù)做單因素方差分析。各組分析結果如表3所示,其中,classification loss 的P=0.32,GIoU loss、objectness loss、precision、recall、mAP@0.5、mAP@0.5∶0.95等6個參數(shù)的P值均小于0.01,這表明,YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x模型的選擇對GIoU loss、objectness loss、precision、recall、mAP@0.5、mAP@0.5∶0.95等6個參數(shù)均具有顯著性影響(P<0.05),而對classification loss參數(shù)無顯著性影響(P>0.05)。
表3 單因素方差分析組間P值
為進一步研究各網(wǎng)絡模型在不同參數(shù)中的表現(xiàn)情況,在500輪次訓練中,統(tǒng)計上述GIoU loss、objectness loss、precision、recall、mAP@0.5、mAP@0.5∶0.95等6個受模型選擇影響顯著的參數(shù)平均值,結果如表4所示。GIoU loss、objectness loss參數(shù)值越接近0,表示訓練效果越好; precision、recall、mAP@0.5、mAP@0.5∶0.95參數(shù)值越接近1,表示訓練效果越好。
表4 模型參數(shù)平均值
這表明, 選擇YOLOV5l作為模型時,GIoU loss、objectness loss、precision、recall、mAP@0.5∶0.95等5個參數(shù)值最接近理想狀態(tài);選擇YOLOV5m作為模型時,mAP@0.5參數(shù)值最接近理想狀態(tài)。因此,YOLOV5l網(wǎng)絡模型在本試驗中綜合性能最強,可以在金槍魚延繩釣EMS系統(tǒng)監(jiān)控視頻提取中得到深入應用。
2.3.4 模型消耗GPU資源分析 由于YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4種模型深度、寬度上的差異,其訓練過程中對資源的消耗情況也有所不同。為充分考慮程序的普適性,從GPU內(nèi)存消耗的角度對各模型的性能進行分析。結果顯示:在500輪次的訓練中,4種網(wǎng)絡模型的GPU內(nèi)存占用情況均在前3個輪次內(nèi)達到一個穩(wěn)定值,后續(xù)訓練過程中占用情況保持穩(wěn)定;YOLOV5s模型GPU占用明顯低于YOLOV5m模型,且這兩個模型GPU占用均低于YOLOV5l、YOLOV5x模型,而YOLOV5l、YOLOV5x模型的GPU占用曲線基本重合(圖7)。
圖7 部分GPU占用情況
為進一步研究4種模型的GPU占用情況,計算4種網(wǎng)絡模型在500輪次訓練中GPU占用的平均值,結果如表5所示,其中YOLOV5l與YOLOV5x的GPU占用平均值十分接近,均在26~27 GB,而訓練機器配置有32 GB GPU,并未達到滿載情況,因此,受配置限制的可能性較小。
表5 GPU占用平均值
在深度學習目標檢測發(fā)展進程中,先后誕生了許多優(yōu)秀的深度學習框架和神經(jīng)網(wǎng)絡模型,如R-CNN、Fast R-CNN、Faster R-CNN等。一些研究基于這些框架,挖掘出深度學習在各個領域的利用價值[35-36]。目標識別算法實質上包含了識別目標及定位目標兩個核心任務。在識別目標的核心任務上,CNN算法的實現(xiàn)使得結果已經(jīng)滿足了現(xiàn)階段需求。后續(xù)諸多目標檢測算法都借鑒了CNN的目標識別方法。在目標檢測這項任務上,常規(guī)傳統(tǒng)方式是對所有像素不同大小框進行反復搜索,這樣的方式顯然是十分低效的,實際環(huán)境中應用較為困難。R-CNN提出了候選區(qū)(region proposals)的思路,即先從圖像中找到若干個待選擇區(qū)域(selective search)(一般約2 000個),再從所有的selective search中識別目標,該方法大幅提升了目標定位的耗時(相較于完整搜索的思路)。Fast R-CNN、Faster R-CNN算法在R-CNN算法的思路基礎上,提升了單張照片的識別速度。YOLO的創(chuàng)造性在于其將候選區(qū)的確定和對象的識別合二為一。本試驗的預試驗中也采用了Fast R-CNN等其他優(yōu)秀的算法,但是相較之下,YOLO網(wǎng)絡更適宜于本應用。
Deepa等[37]在網(wǎng)球軌跡提取試驗中,結合圖像處理技術,使用動作決策網(wǎng)絡重構網(wǎng)球的運動軌跡,并比較了YOLO、SSD、Faster R-CNN 3種網(wǎng)絡模型在該試驗環(huán)境下的性能情況,結果表明,YOLO神經(jīng)網(wǎng)絡模型的處理速度優(yōu)于Faster R-CNN神經(jīng)網(wǎng)絡,但SSD神經(jīng)網(wǎng)絡的處理速度和效果優(yōu)于YOLO網(wǎng)絡模型。該研究的YOLO與Faster R-CNN網(wǎng)絡模型比較結果與本試驗的預試驗結果一致,但本試驗的預試驗中參與比較的網(wǎng)絡模型不包括SSD模型。值得關注的是,該研究未明確指出所使用YOLO的版本。Liu等[38]研究了YOLOV3、YOLOV4、YOLOV5在公共數(shù)據(jù)集上的訓練和表現(xiàn)情況,結果表明,YOLOV4在mAP值方面優(yōu)于YOLOV3,但在速度方面略低,而YOLOV5在各方面均優(yōu)于YOLOV3及YOLOV4。因此,YOLO(尤其是YOLOV5)網(wǎng)絡模型與SSD網(wǎng)絡模型在目標檢測任務中的性能情況仍有待進一步研究。
Liu等[39]研究了YOLO模型與GPR(ground-penetrating radar)三維圖像在道路檢測中的應用,并設計試驗對比了YOLOV3、YOLOV3-Tiny、YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x等6種網(wǎng)絡模型的性能情況,結果顯示,YOLOV5的各個模型在收斂程度及mAP值的表現(xiàn)上均明顯優(yōu)于YOLOV3,YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4種模型的mAP值均高于90%(最高值為94.45%,由YOLOV5x訓練得到),mAP值由低到高排序為YOLOV5s Zhou等[40]在工地安全頭盔檢測試驗中對比了YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4種網(wǎng)絡模型的表現(xiàn)情況,結果顯示,YOLOV5x在mAP參數(shù)上的表現(xiàn)最佳,達到了94.7%,該試驗結果與本試驗結果有一定差異。本試驗中YOLOV5x模型在各個參數(shù)上均出現(xiàn)了較大程度的波動現(xiàn)象,但是觀察其GPU占用情況,并未達到滿載(YOLOV5x訓練過程中穩(wěn)定狀態(tài)下GPU占用約為26.58 GB,而訓練機器GPU內(nèi)存為32 GB)。本試驗中造成YOLOV5x模型表現(xiàn)不穩(wěn)定的因素有待進一步研究。 Li等[41]在Faster R-CNN模型的基礎上,提出一種改進的水培生菜幼苗檢測方法,該方法中采用高分辨率網(wǎng)絡進行圖像特征提取,并使用RoI Align方法提高不同狀態(tài)下幼苗的檢測精度,訓練后mAP值達到了86.2%。Liu等[42]基于YOLOV3模型,提出了一種改進的番茄檢測模型(YOLO-Tomato),該研究中將傳統(tǒng)的矩形邊界框替換為新的圓形邊界框對番茄進行定位,以提高識別率,改進后的網(wǎng)絡模型在番茄識別場景中的mAP值達到96.4%,高于YOLOV3原模型在該場景下達到的94.06%。Sharma[43]針對新冠肺炎病毒將YOLOV5模型應用在口罩檢測上,在該試驗的100輪次訓練中,mAP值最終達到65%左右,召回率也不足70%。該研究者認為試驗結果的不盡人意可能與其使用的個人電腦配置有關(受設備限制,該研究僅測試了YOLOV5s模型)。Junos等[44]提出一種改進的YOLO模型,用于檢測無人機圖像中的油棕果,改進的模型在訓練后mAP值達到了99.76%。本試驗中綜合性能最佳的YOLOV5l模型mAP值達到了99.1%,召回率達到了98.4%,在相似應用中處于較高水平,但仍有一定改進的空間。 1)YOLO V5算法經(jīng)過訓練,可以識別出漁船EMS系統(tǒng)視頻數(shù)據(jù)中所有的浮球、金槍魚等檢測目標,能夠解決EMS系統(tǒng)中目標分類問題。 2)YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x模型的選擇對GIoU loss、objectness loss、precision、recall、mAP@0.5、mAP@0.5∶0.95等參數(shù)均具有顯著性影響,而對classification loss參數(shù)無顯著影響。 3)選擇YOLOV5l模型時,GIoU、objectness、precision、recall、mAP@0.5∶0.95等5個參數(shù)值最接近理想狀態(tài);選擇YOLOV5m模型時,mAP@0.5參數(shù)值最接近理想狀態(tài)。 4)YOLOV5l在4種網(wǎng)絡模型中表現(xiàn)最為均衡,在mAP值、召回率等參數(shù)上的表現(xiàn)處于類似研究中較高水平。3.2 目標檢測網(wǎng)絡在各領域應用效果比較
4 結論