翟先一 魏鴻磊 韓美奇 黃萌
摘要: 為了實(shí)現(xiàn)水下海參的自動(dòng)化捕撈,需要利用機(jī)器視覺(jué)方法實(shí)現(xiàn)水下海參的實(shí)時(shí)檢測(cè)與定位。本研究提出一種基于改進(jìn)YOLOv5s的水下海參檢測(cè)定位方法。針對(duì)海參與水下環(huán)境對(duì)比度較低的問(wèn)題,引入多尺度視覺(jué)恢復(fù)算法對(duì)圖像進(jìn)行處理,增強(qiáng)圖像對(duì)比度;為了提高模型特征提取能力,加入了注意力機(jī)制模塊;原始模型對(duì)YOLOv5s小目標(biāo)的檢測(cè)效果不佳,改進(jìn)后的YOLOv5s模型替換了原有的激活函數(shù),并在Head網(wǎng)絡(luò)中加入了新的針對(duì)小目標(biāo)的Detect層。使用改進(jìn)的YOLOv5s模型與YOLOv5s、YOLOv4和Faster-RCNN在相同的圖像數(shù)據(jù)集上進(jìn)行試驗(yàn),結(jié)果表明,改進(jìn)的YOLOv5s模型的檢測(cè)精度和置信度,尤其是對(duì)小目標(biāo)的檢測(cè)效果優(yōu)于其他模型。與YOLOv5s模型相比,改進(jìn)后的YOLOv5s模型的精度和召回率分別提高了9.6個(gè)百分點(diǎn)和12.4個(gè)百分點(diǎn),能夠滿足水下海參的實(shí)時(shí)檢測(cè)要求。
關(guān)鍵詞: YOLO;目標(biāo)檢測(cè);深度學(xué)習(xí);機(jī)器視覺(jué);卷積神經(jīng)網(wǎng)絡(luò)
中圖分類號(hào): S126?? 文獻(xiàn)標(biāo)識(shí)碼: A?? 文章編號(hào): 1000-4440(2023)07-1543-11
Underwater sea cucumber identification based on improved YOLO convolutional neural network
ZHAI Xian-yi1, WEI Hong-lei1, HAN Mei-qi2, HUANG Meng1
(1.School of Mechanical Engineering and Automation, Dalian Polytechnic University,Dalian 116034, China;2.Aerospace Information Research Institute, Chinese Academy of Sciences/State Key Laboratory of Transducer Technology, Beijing 100190, China)
Abstract: To realize automatic fishing of sea cucumber underwater, it is necessary to use machine vision method to realize real-time detection and positioning of underwater sea cucumber. In this study, a detection and localization method for underwater sea cucumber based on improved YOLOv5s was proposed. Aiming at the problem of low contrast between the sea cucumber and the underwater environment, a multi-scale vision restoration algorithm was introduced to process the images to enhance the contrast of the images. The attention mechanism module was added to improve the feature extraction ability of the model. The original model didn’t show good detection effect on small object of YOLOv5s. The improved YOLOv5s model replaced the original activation function and added a new Detect layer into the Head network which aimed at small object. The improved YOLOv5s model was used to conduct experiments with YOLOv5s, YOLOv4 and Faster-RCNN on the same image data set. The results showed that, the improved YOLOv5s model showed better detection accuracy and degree of confidence compared with other models, especially for small target detection. Compared with the YOLOv5s model, the precision and recall rate of the improved YOLOv5s model increased by 9.6 percentage points and 12.4 percentage points respectively, which could meet the requirement of real-time detection of underwater sea cucumber.
Key words: YOLO (You only look once);object identification;deep learning;computer vision;convolutional neural network
江蘇農(nóng)業(yè)學(xué)報(bào) 2023年第39卷第7期
翟先一等:基于改進(jìn)YOLO卷積神經(jīng)網(wǎng)絡(luò)的水下海參檢測(cè)
隨著生活水平的提高,人們對(duì)海參等海珍品的需求量越來(lái)越大。底播養(yǎng)殖是海參的主要養(yǎng)殖方式,即將海參苗播撒在海底,待長(zhǎng)成后進(jìn)行捕撈。由于海參生長(zhǎng)環(huán)境特殊,主要靠人工潛水進(jìn)行捕撈,采捕過(guò)程危險(xiǎn)、收益低,因此養(yǎng)殖企業(yè)需要自動(dòng)化的裝備來(lái)取代人工作業(yè)[1]。海參自身顏色和環(huán)境顏色較為接近,區(qū)分度較低。為了能夠在水下環(huán)境更加準(zhǔn)確地捕捉海參,研究海參的精準(zhǔn)快速檢測(cè),對(duì)研究海參采捕機(jī)器人,從而實(shí)現(xiàn)水下捕撈的自動(dòng)化有較大的價(jià)值。
在海參檢測(cè)的研究中,眾多學(xué)者已經(jīng)做出了研究和探索,李娟等[2]基于計(jì)算機(jī)視覺(jué)技術(shù)進(jìn)行研究,對(duì)水下海參進(jìn)行邊緣檢測(cè),提取海參刺的質(zhì)心,并通過(guò)橢圓擬合進(jìn)行水下海參檢測(cè),檢測(cè)準(zhǔn)確率為93.33%;隨著機(jī)器學(xué)習(xí)等相關(guān)學(xué)科的飛速發(fā)展,其在海參檢測(cè)領(lǐng)域也逐漸被使用。強(qiáng)偉等[3]提出一種基于改進(jìn)的單激發(fā)多框探測(cè)器(SSD)算法進(jìn)行水下目標(biāo)檢測(cè),此方法檢測(cè)精度達(dá)到95.06%;林宇等[4]提出了基于Cascade RCNN的水下目標(biāo)檢測(cè),通過(guò)調(diào)節(jié)超參數(shù),有效提高了對(duì)小目標(biāo)的檢測(cè)效果,平均準(zhǔn)確率為89.10%;馬孔偉[5]在水下機(jī)器人中應(yīng)用了基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的海參檢測(cè)技術(shù),將輕量化模型MobileNet與SSD模型相結(jié)合,平均精度達(dá)到90.06%,且采用卷積核剪枝對(duì)特征提取網(wǎng)絡(luò)進(jìn)行修剪,模型尺寸縮減75%;王璐等[6]提出的基于Faster-RCNN的水下目標(biāo)檢測(cè)算法研究中,將更深層次的神經(jīng)網(wǎng)絡(luò)ResNet-101替換原始的VGG-16網(wǎng)絡(luò),對(duì)增強(qiáng)數(shù)據(jù)集的平均測(cè)試精度達(dá)到63.03%。
上述方法利用海參的形態(tài)特征、外觀特點(diǎn)和背景顏色差異等單個(gè)特征或多個(gè)特征組合進(jìn)行海參的檢測(cè),但是絕大多數(shù)算法都是面向?qū)嶒?yàn)室環(huán)境,海參所處的實(shí)際水下環(huán)境中,因?yàn)橛兴?、其他海洋?dòng)物以及人類垃圾的影響,存在過(guò)多不確定因素;海參習(xí)慣群居,一旦出現(xiàn)重疊和遮擋等情況,檢測(cè)準(zhǔn)確率會(huì)大幅降低。
2015年,Joseph Redmon提出了單階段檢測(cè)(One-stage)算法(You only look once version 1,YOLOv1)。與YOLO算法同樣經(jīng)典的目標(biāo)檢測(cè)方法RCNN(Region with CNN features)與YOLO的本質(zhì)區(qū)別是,RCNN檢測(cè)時(shí)分為分類問(wèn)題和回歸問(wèn)題2步運(yùn)算,YOLO只進(jìn)行一步回歸問(wèn)題求解,因此YOLO算法處理圖像速度更快;YOLO利用全圖信息進(jìn)行訓(xùn)練和預(yù)測(cè)以降低背景預(yù)測(cè)錯(cuò)誤率,由于RCNN無(wú)法利用全局圖像,所以在檢測(cè)過(guò)程中可能會(huì)將背景中的斑塊錯(cuò)誤地檢測(cè)為目標(biāo)。徐建華等[7]基于YOLOV3算法提出的水下目標(biāo)檢測(cè)跟蹤方法實(shí)現(xiàn)了水中目標(biāo)的檢測(cè)定位與跟蹤,平均準(zhǔn)確率為75.10%,檢測(cè)速度為15 FPS;張聰輝[8]基于輕量化的tiny-YOLOv3網(wǎng)絡(luò)提出了海參目標(biāo)檢測(cè)算法,算法對(duì)原始YOLO進(jìn)行了修改優(yōu)化,檢測(cè)精度達(dá)到90%以上,在低性能運(yùn)算平臺(tái)上仍然能達(dá)到47 FPS;朱世偉等[9]提出的基于類加權(quán)YOLO網(wǎng)絡(luò)的水下目標(biāo)檢測(cè),平均準(zhǔn)確率為78.30%,處理速度為12 FPS,對(duì)多目標(biāo)檢測(cè)效果提升明顯。因此YOLO算法兼具較高的準(zhǔn)確率和內(nèi)存占用小的優(yōu)點(diǎn)。
針對(duì)海參與其所處水下環(huán)境在自然條件下區(qū)分度低和目前算法小目標(biāo)檢測(cè)不精確的問(wèn)題,本研究提出一種基于改進(jìn)YOLOv5的水下海參檢測(cè)算法。采用MSRCR算法對(duì)圖像進(jìn)行預(yù)處理,以增強(qiáng)海參與環(huán)境的區(qū)分度,增加模型中Neck網(wǎng)絡(luò)的上采樣次數(shù),在Head網(wǎng)絡(luò)中增加新的Detect層,引入更適合目標(biāo)檢測(cè)的激活函數(shù),以提高模型檢測(cè)較小海參目標(biāo)的能力;壓縮和激勵(lì)網(wǎng)絡(luò)(Squeeze and excitation networks,SENet)可提高模型訓(xùn)練效率,增強(qiáng)特征提取能力,作為即插即用模塊集成到現(xiàn)有網(wǎng)絡(luò)架構(gòu)中。本研究對(duì)改進(jìn)的YOLOv5s模型進(jìn)行消融研究,驗(yàn)證改進(jìn)的可行性,與YOLOv5s、YOLOv4和Faster-RCNN相比,改進(jìn)后的YOLOv5s具有更高的準(zhǔn)確率和召回率,對(duì)小目標(biāo)海參檢測(cè)效果優(yōu)異。
1 材料與方法
水下海參檢測(cè)模型的訓(xùn)練與檢測(cè)過(guò)程如圖1所示。首先對(duì)圖像進(jìn)行MSRCR算法處理,然后使用標(biāo)簽工具M(jìn)ake Sense對(duì)圖像進(jìn)行標(biāo)注,完成后導(dǎo)出txt格式的標(biāo)簽。使用數(shù)據(jù)擴(kuò)增對(duì)圖像數(shù)據(jù)集進(jìn)行擴(kuò)充,最后使用改進(jìn)的YOLOv5s模型對(duì)數(shù)據(jù)集進(jìn)行訓(xùn)練,得到模型并測(cè)試分析模型性能。
1.1 數(shù)據(jù)集的獲取
本研究所使用的海參圖為潛水員在獐子島海參養(yǎng)殖水域拍攝的海參圖像,拍攝時(shí)間為2021年5月19日9:00-11:00,自然光條件下采集,采集時(shí),潛水員使用高清數(shù)碼相機(jī)在距離海參30~70 cm的地方拍攝,圖像分辨率為640像素×360像素,共獲得892幅圖像,其中部分海參圖像如圖2所示。
1.2 圖像預(yù)處理
由于水下采集到的圖像亮度過(guò)低,存在失真、難以明顯區(qū)分海參與背景的問(wèn)題,給模型的訓(xùn)練造成困難,故引入帶顏色恢復(fù)的多尺度視網(wǎng)膜增強(qiáng)方法(Multi-scale retinex with color restoration, MSRCR)對(duì)圖像進(jìn)行預(yù)處理,以增強(qiáng)海參與背景的區(qū)分度,MSRCR具體實(shí)現(xiàn)如公式(1) [10-11]所示:
RMSRCR(x,y)=Ci(x,y)RMSRi(x,y)(1)
式中,RMSRCR(x,y)表示使用MSRCR算法后第i個(gè)通道恢復(fù)后的圖像;Ci(x,y)為MSRCR加入的色彩恢復(fù)因子,如公式(2)所示,用來(lái)調(diào)節(jié)原始圖像顏色通道的比例,突出圖像暗部區(qū)域信息,消除顏色失真,公式(2)中α是調(diào)節(jié)因子,β是增益常數(shù),I(x,y)表示原圖像[12]。RMSRi(x,y)表示使用多尺度濾波后第i個(gè)通道的恢復(fù)圖像[公式(3)],Gn(x,y)是單尺度的高斯濾波,λn表示權(quán)值,m為尺度數(shù)目,取值一般為3 [13-14]。n為從1到3的尺度數(shù)目。
Ci(x,y)=β{lg[α·Ii(x,y)]-lg[∑Ni=1Ii(x,y)]}(2)
RMSRi(x,y)=∑mn=1λn{lgI(x,y)-lg[Gn(x,y)·I(x,y)]}
(3)
MSRCR處理前后圖像對(duì)比如圖3所示,左側(cè)為原始圖像,右側(cè)為處理后圖像,左上角顯示算法運(yùn)行時(shí)長(zhǎng)。可以看出,MSRCR算法在對(duì)水下海參圖像進(jìn)行處理時(shí),平均處理時(shí)間為26.26 ms,兼顧了處理效果和速度,每秒可處理約38張圖像,能夠滿足實(shí)時(shí)視頻檢測(cè)要求。
1.3 數(shù)據(jù)增強(qiáng)
在深度學(xué)習(xí)訓(xùn)練過(guò)程中,數(shù)據(jù)集圖像的數(shù)量對(duì)模型有一定的影響。由于采集的海參圖像數(shù)量有限,在訓(xùn)練之前需要進(jìn)行數(shù)據(jù)增強(qiáng)[15]。在實(shí)際使用海參捕撈機(jī)器人的過(guò)程中,由于光線、距離、角度、水流等引起的抖動(dòng),經(jīng)常會(huì)出現(xiàn)角度、位置、大小、亮度的變化,以及圖像模糊等情況。為了提供更全面的訓(xùn)練圖像,利用YOLOv5自帶的數(shù)據(jù)增強(qiáng)模塊,結(jié)合Pytorch框架下的OpenCV,對(duì)采集到的海參圖像進(jìn)行鏡像、正負(fù)角度旋轉(zhuǎn)45°、平移、隨機(jī)縮放、隨機(jī)裁剪、亮度變化等操作,共得到5 017幅訓(xùn)練集圖像。
1.4 數(shù)據(jù)集準(zhǔn)備
為訓(xùn)練圖片添加標(biāo)簽時(shí)使用線上標(biāo)注網(wǎng)站Make Sense(https://www.makesense.ai/),標(biāo)注規(guī)則為:對(duì)于形態(tài)完整的海參使用矩形框標(biāo)注;對(duì)于有遮擋或有重疊的海參,對(duì)顯示在圖像中的部分進(jìn)行標(biāo)注;對(duì)位于圖像邊框以及顯示區(qū)域小于15%的海參不進(jìn)行標(biāo)記。標(biāo)記完成后導(dǎo)出視覺(jué)目標(biāo)分類(VOC)類型數(shù)據(jù)集。選取數(shù)據(jù)集中圖像的80%作為訓(xùn)練集,10%作為驗(yàn)證集,10%作為測(cè)試集。
2 海參檢測(cè)網(wǎng)絡(luò)
在最新版本的YOLOv5官方代碼中,共提供了YOLOv5n、YOLOv5s、YOLOv5m、YOLOv5l、YOLOv5x 5種不同深度的模型[16]。本次研究由于檢測(cè)的海參數(shù)量較少,且對(duì)速度要求較高,所以選擇了兼顧速度和精度的YOLOv5s作為基礎(chǔ)模型。
2.1 YOLOv5s網(wǎng)絡(luò)模型
YOLOv5s網(wǎng)絡(luò)模型如圖4所示,包括Backbone、Neck和Head等。YOLOv5s的Backbone網(wǎng)絡(luò)采用CSPDarknet53結(jié)構(gòu)作為基礎(chǔ)網(wǎng)絡(luò),Backbone的主要作用是提取輸入信息的基本特征[16]。Neck網(wǎng)絡(luò)位于Head網(wǎng)絡(luò)和Backbone網(wǎng)絡(luò)之間,其主要功能是進(jìn)一步增強(qiáng)待提取特征的多樣性和網(wǎng)絡(luò)的魯棒性。Head網(wǎng)絡(luò)的作用是檢測(cè)目標(biāo)的輸出結(jié)果。YOLOv5s模型有3個(gè)Detect層,Head網(wǎng)絡(luò)接收3個(gè)不同尺度的特征圖,然后對(duì)這3個(gè)特征圖進(jìn)行網(wǎng)格預(yù)測(cè),通過(guò)卷積運(yùn)算得到特征輸出,主要通過(guò)大目標(biāo)、中目標(biāo)和小目標(biāo)3個(gè)維度進(jìn)行檢測(cè)[17]。
與YOLOv4相比,YOLOv5增加了Focus結(jié)構(gòu),用來(lái)防止下采樣時(shí)信息丟失。圖像進(jìn)入Backbone網(wǎng)絡(luò)之前,F(xiàn)ocus模塊對(duì)其進(jìn)行切片。具體操作是在圖片中每隔一個(gè)像素取1個(gè)值,得到4張互補(bǔ)的圖片,且沒(méi)有信息丟失[18]。此操作將水平和垂直的信息集中在通道空間,輸入通道擴(kuò)大了3倍,即與原來(lái)的紅綠藍(lán)(RGB)三通道模式相比,拼接后的圖片變成了12通道[19-20]。最后對(duì)得到的新圖像進(jìn)行卷積,得到無(wú)信息丟失的2倍下采樣特征圖。
以YOLOv5s為例,原640×640×3圖像輸入Focus結(jié)構(gòu),通過(guò)切片操作,先生成320×320×12的特征圖,再經(jīng)過(guò)卷積運(yùn)算,最終生成320×320×32的特征圖[21]。切片操作如圖5所示。
2.2 損失函數(shù)
交并比(Intersection over union,IoU)是目標(biāo)檢測(cè)中常用的評(píng)價(jià)指標(biāo),一般用來(lái)區(qū)分正負(fù)樣本,反映預(yù)測(cè)框和真實(shí)框的距離[22-24]。計(jì)算方法如公式(4)所示。
IoU=A∩BA∪B(4)
IoU算法應(yīng)用廣泛,對(duì)尺度變化不敏感,具有非負(fù)性等。但是由于IoU并沒(méi)有考慮真實(shí)框與預(yù)測(cè)框之間的距離,所以直接將IoU作為L(zhǎng)oss函數(shù)時(shí)會(huì)暴露各種問(wèn)題:若預(yù)測(cè)框與真實(shí)框之間沒(méi)有重合部分,根據(jù)定義IoU為0,此時(shí)不能計(jì)算出2個(gè)框之間的距離;由于不同方向、不同角度的對(duì)齊方式不同,會(huì)導(dǎo)致IoU完全相同,此時(shí)不能判斷預(yù)測(cè)框與真實(shí)框的重合情況。YOLOv5算法采用的是 Generalized intersection over union_loss (GIoU_Loss)作為邊界框回歸的損失函數(shù)[25-26]。GIoU在關(guān)注重疊部分的同時(shí),也關(guān)注其他非重疊部分,可以更精準(zhǔn)地描述預(yù)測(cè)框和真實(shí)框的各類重疊情況。假設(shè)A為預(yù)測(cè)框,B為真實(shí)框,令C表示包含A與B的最小閉合框。GIoU_Loss的計(jì)算公式如下:
GIoU_Loss=1-GIoU=IoU-|C/(A∪B)||C|(5)
2.3 YOLOv5s網(wǎng)絡(luò)的改進(jìn)
水下海參個(gè)體的姿態(tài)和大小差異較大,YOLOv5對(duì)于小目標(biāo)的檢測(cè)并不理想,在實(shí)際測(cè)試中,一些海參不能被檢測(cè)或檢測(cè)不精確。為了提高對(duì)小目標(biāo)的檢測(cè)能力,對(duì)YOLOv5s結(jié)構(gòu)進(jìn)行了改進(jìn)。
2.3.1 增加注意力機(jī)制模塊 為了提高YOLO訓(xùn)練和檢測(cè)的效率,引入了SENet注意力機(jī)制。SENet首先將輸入的特征圖進(jìn)行全局池化,將特征圖變成1×1×C通道數(shù),然后使用全連接層和激活函數(shù)對(duì)1×1×C通道數(shù)的特征圖進(jìn)行調(diào)整,得到每一個(gè)特征圖的權(quán)重,最后與輸入的特征進(jìn)行相乘。SENet結(jié)構(gòu)如圖6所示,它能夠顯著提高檢測(cè)性能,同時(shí)保持較小的開銷。此次試驗(yàn)中,將SENet模塊添加在CBL結(jié)構(gòu)的Sigmoid結(jié)構(gòu)中后,如圖7a所示。
2.3.2 替換激活函數(shù) YOLOv5s使用的是Leakyrelu激活函數(shù),在回歸任務(wù)中效果更為明顯,故而將Leakyrelu替換為更適合二分類的激活函數(shù)Sigmoid。更改后的激活函數(shù)如圖7a所示。
2.3.3 增加小目標(biāo)Detect層 原始YOLOv5s共進(jìn)行2次上采樣,本研究方法在第17層后,對(duì)特征圖進(jìn)行上采樣處理,使得特征圖進(jìn)一步增大;在第23層時(shí),將骨干網(wǎng)絡(luò)中第2層特征圖與上采樣獲取的特征圖進(jìn)行特征融合,得到更大的特征圖來(lái)改善小目標(biāo)檢測(cè)不精準(zhǔn)的問(wèn)題。在第30層以后添加一個(gè)新的小目標(biāo)Detect層,綜合以上,改進(jìn)后的模型如圖7所示。
3 模型訓(xùn)練和測(cè)試
3.1 試驗(yàn)平臺(tái)
本試驗(yàn)環(huán)境如表1所示。
3.2 消融試驗(yàn)
為了驗(yàn)證模型改進(jìn)的可行性,進(jìn)行消融試驗(yàn)。
3.2.1 圖像預(yù)處理的消融試驗(yàn) 首先使用未經(jīng)過(guò)處理的水下圖像作為訓(xùn)練集進(jìn)行模型訓(xùn)練,得到模型NONE-YOLO。再對(duì)相同的圖像,使用MSRCR水下圖像處理算法進(jìn)行圖像預(yù)處理,并作為訓(xùn)練集訓(xùn)練相同周期,得到模型MSRCR-YOLO。模型對(duì)比結(jié)果如表2所示。由表2可以看出,MSRCR-YOLO相比于NONE-YOLO模型,精確率提升2.1個(gè)百分點(diǎn),訓(xùn)練時(shí)長(zhǎng)、權(quán)重大小和檢測(cè)速度幾乎無(wú)變化。由于加入了MSRCR圖像預(yù)處理,圖像質(zhì)量有了一定提高,YOLO模型更加容易提取出海參的特征,準(zhǔn)確率有一定提升。
為了顯示2個(gè)模型的區(qū)別,使用2個(gè)模型對(duì)相同圖像進(jìn)行測(cè)試,測(cè)試結(jié)果如圖8所示??梢钥闯觯琈SRCR-YOLO模型相比于NONE-YOLO模型在海參檢測(cè)的置信度方面有一定提升。
3.2.2 模型改進(jìn)的消融試驗(yàn) 使用改進(jìn)的YOLOv5s與原始YOLOv5s、YOLOv5s+SENet和YOLOv5s+SENet+Detect進(jìn)行比較。選取1 035張海參圖像作為數(shù)據(jù)集,訓(xùn)練集、測(cè)試集和驗(yàn)證集的比例為8∶1∶1,使用同一平臺(tái)進(jìn)行訓(xùn)練,訓(xùn)練迭代次數(shù)(Epoch)設(shè)置為200,最終結(jié)果如表3所示。結(jié)果表明,與YOLOv5s原始模型相比,在YOLOv5s中只添加SENet模塊、只添加Detect層、同時(shí)添加SENet模塊和Detect層3種情況都可以提高精確率,但由于YOLOv5s模型的復(fù)雜度增加,會(huì)導(dǎo)致資源占用增加,訓(xùn)練時(shí)間會(huì)變長(zhǎng),訓(xùn)練產(chǎn)生的權(quán)重會(huì)增加,檢測(cè)圖像的時(shí)間會(huì)略有增加。
為了更加直觀地對(duì)比4種算法的區(qū)別,使用相同圖像進(jìn)行對(duì)比測(cè)試。對(duì)比結(jié)果如圖9所示。從圖9可以看出,小目標(biāo)檢測(cè)效果算法4,即本研究改進(jìn)的YOLOv5s模型的效果相對(duì)更優(yōu),置信度相對(duì)更高。故本試驗(yàn)對(duì)于模型的改進(jìn)具有可行性。
3.3 模型訓(xùn)練及測(cè)試
為了避免過(guò)擬合,試驗(yàn)中采用5-Folder交叉驗(yàn)證方法,如圖10所示。
圖11為訓(xùn)練結(jié)果。圖11a為精度圖,即找對(duì)的正類(TP)/所有找到的正類(TP+FP);精度(precision)計(jì)算方法如式(6)所示,在IoU設(shè)置為0.5時(shí),經(jīng)過(guò)改進(jìn)的模型精度呈現(xiàn)穩(wěn)定上升趨勢(shì),100次迭代以后,訓(xùn)練結(jié)果精度達(dá)到99.0%。
precision=TPTP+FP(6)
圖11b為召回率隨訓(xùn)練次數(shù)變化曲線,即找對(duì)的正類(TP)/所有本應(yīng)該被找對(duì)的正類(TP+FN);召回率(recall)計(jì)算公式如式(7)所示,在IoU設(shè)置為0.5時(shí),經(jīng)過(guò)改進(jìn)的模型呈現(xiàn)穩(wěn)定上升趨勢(shì),100次迭代以后,訓(xùn)練結(jié)果精度達(dá)到99.6%。
recall=TPTP+FN(7)
在目標(biāo)檢測(cè)中,測(cè)量檢測(cè)精度的方法是平均精度(mAP)。在多類目標(biāo)檢測(cè)中,每一類都可以根據(jù)召回率和精度繪制一條曲線,AP為曲線下的面積,mAP為多類AP的平均值。AP值越高,模型的平均精度越高。mAP_0.50和mAP_0.50:0.95是2個(gè)最常用的指標(biāo)。mAP_0.50表示當(dāng)IoU設(shè)置為0.50時(shí),計(jì)算每一類所有圖像的AP[27],然后對(duì)所有類別取平均值;mAP_0.50:0.95為不同IoU閾值(0.50~0.95,步長(zhǎng)0.05,即0.50、0.55、0.60、0.65、0.70、0.80、0.85、0.90、0.95)下的平均mAP。圖11c表示mAP_0.50隨迭代次數(shù)變化曲線,圖11d表示mAP_0.50:0.95隨迭代次數(shù)變化曲線。
圖11e顯示了訓(xùn)練集和驗(yàn)證集的損失曲線,數(shù)值越小表示預(yù)測(cè)框越精確[28-29]。當(dāng)IoU設(shè)置為0.5時(shí),隨著訓(xùn)練周期的增加,訓(xùn)練集和驗(yàn)證集的損失曲線呈下降趨勢(shì),最終趨于穩(wěn)定;100次迭代后,訓(xùn)練集和驗(yàn)證集的損失函數(shù)值達(dá)到最小值(0.02左右)。
4 測(cè)試和分析
為了驗(yàn)證水下海參目標(biāo)檢測(cè)算法的性能,采用改進(jìn)的YOLOv5s、YOLOv5s、YOLOv4和Fast-RCNN模型對(duì)單圖像庫(kù)和混合圖像庫(kù)進(jìn)行訓(xùn)練和測(cè)試。
4.1 試驗(yàn)結(jié)果對(duì)比
表4比較了IoU設(shè)置為0.5時(shí)改進(jìn)后的YOLOv5s與其他3種模型的測(cè)試結(jié)果。與YOLOv5s模型相比,改進(jìn)后的YOLOv5s模型準(zhǔn)確率提高約9.6個(gè)百分點(diǎn),召回率提高約12.4個(gè)百分點(diǎn)。由于改進(jìn)的方法增加了計(jì)算量,檢測(cè)速度相比于原始YOLOv5s算法略有下降,但是相比于其他算法仍有一定優(yōu)勢(shì)。
4.2 海參圖像檢測(cè)
使用改進(jìn)的YOLOv5s、YOLOv5s、YOLOv4和Faster-RCNN對(duì)相同的海參圖像進(jìn)行檢測(cè),試驗(yàn)結(jié)果如圖12所示。
從圖12可以看出,改進(jìn)的YOLOv5s模型對(duì)圖像中小目標(biāo)的檢測(cè)效果高于其他3種模型,預(yù)測(cè)框的選擇范圍更精確,對(duì)同一目標(biāo)的置信度更高。例如,在YOLOv5s的檢測(cè)結(jié)果中,在圖12b1、圖12b3和圖12b4中存在漏檢;在YOLO4的檢測(cè)結(jié)果中,圖12c1存在預(yù)測(cè)框不精確的問(wèn)題,圖12c3存在錯(cuò)誤檢測(cè),圖12c4存在漏檢;在Faster-RCNN結(jié)果中,圖12d1、圖12d3、圖12d4相比于YOLOv5s檢測(cè)到的海參數(shù)量,存在漏檢,圖12d2有錯(cuò)誤檢測(cè)。
5 結(jié)論
本研究提出了一種基于改進(jìn)YOLOv5s的水下海參檢測(cè)方法,旨在解決小目標(biāo)海參檢測(cè)效果較差的問(wèn)題,提高檢測(cè)精度,實(shí)現(xiàn)自然條件下水下海參的快速精確檢測(cè)。研究主要利用MSRCR算法對(duì)水下海參圖像進(jìn)行預(yù)處理,減少了圖像失真,增強(qiáng)了對(duì)比度,提高了海參與環(huán)境的對(duì)比度,降低了模型訓(xùn)練的難度。根據(jù)水下海參的實(shí)際情況,選擇YOLOv5s算法作為算法實(shí)現(xiàn)的基礎(chǔ),并對(duì)模型進(jìn)行了改進(jìn):增加了SENet注意力機(jī)制模塊,以增加少量檢測(cè)時(shí)間為代價(jià),換來(lái)了訓(xùn)練的效率和準(zhǔn)確率的極大提高。替換了原有的激活函數(shù),改進(jìn)了Head網(wǎng)絡(luò),增加了一層新的針對(duì)小目標(biāo)海參的Detect層,實(shí)現(xiàn)了對(duì)輸入圖像進(jìn)行更多次的上采樣,使得改進(jìn)的YOLOv5s模型對(duì)小目標(biāo)的檢測(cè)精度進(jìn)一步提高。對(duì)改進(jìn)模型進(jìn)行了消融試驗(yàn),驗(yàn)證其可行性。與YOLOv5s、YOLOv4和Faster-RCNN等主流目標(biāo)檢測(cè)算法進(jìn)行對(duì)比試驗(yàn),結(jié)果表明,本研究方法對(duì)小目標(biāo)的檢測(cè)效果明顯提高。與YOLOv5s相比,能檢測(cè)到Y(jié)OLOv5s無(wú)法檢測(cè)的小目標(biāo)海參,精確率提高了9.6個(gè)百分點(diǎn),召回率提高了12.4個(gè)百分點(diǎn),改進(jìn)模型能夠以較高的置信度檢測(cè)到海參目標(biāo),小目標(biāo)檢測(cè)效果明顯提高,具有較明顯的優(yōu)勢(shì)。但是本算法訓(xùn)練時(shí)間較長(zhǎng),且需要額外進(jìn)行圖像預(yù)處理,在后續(xù)研究中將優(yōu)化算法,盡量使用輕量級(jí)網(wǎng)絡(luò)實(shí)現(xiàn),并部署在移動(dòng)設(shè)備或邊緣設(shè)備上,同時(shí)對(duì)海參進(jìn)行高精度追蹤。
參考文獻(xiàn):
[1] 劉吉偉,魏鴻磊,裴起潮,等. 采用相關(guān)濾波的水下海參目標(biāo)跟蹤[J]. 智能系統(tǒng)學(xué)報(bào), 2019, 77(3): 525-532.
[2] 李 娟,朱學(xué)巖,葛鳳麗,等. 基于計(jì)算機(jī)視覺(jué)的水下海參檢測(cè)方法研究[J]. 中國(guó)農(nóng)機(jī)化學(xué)報(bào), 2020, 41(7): 171-177.
[3] 強(qiáng) 偉,賀昱曜,郭玉錦,等. 基于改進(jìn)SSD的水下目標(biāo)檢測(cè)算法研究[J]. 西北工業(yè)大學(xué)學(xué)報(bào), 2020, 38(4): 747-754.
[4] 林 宇,何水原. 改進(jìn)Cascade RCNN的水下目標(biāo)檢測(cè)[J]. 電子世界, 20221(1):105-108.
[5] 馬孔偉. 基于CNN的海參檢測(cè)技術(shù)及其在水下機(jī)器人中的應(yīng)用[D]. 哈爾濱:哈爾濱工業(yè)大學(xué), 2019: 56.
[6] 王 璐,王雷歐,王東輝. 基于Faster-rcnn的水下目標(biāo)檢測(cè)算法研究[J]. 網(wǎng)絡(luò)新媒體技術(shù), 2021, 10(5): 43-51,58.
[7] 徐建華,豆毅庚,鄭亞山. 一種基于YOLO-V3算法的水下目標(biāo)檢測(cè)跟蹤方法[J]. 中國(guó)慣性技術(shù)學(xué)報(bào), 2020, 28(1): 129-133.
[8] 張聰輝. 基于YOLO-v3的海參目標(biāo)檢測(cè)系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D]. 哈爾濱:哈爾濱工程大學(xué),2020.
[9] 朱世偉,杭仁龍,劉青山. 基于類加權(quán)YOLO網(wǎng)絡(luò)的水下目標(biāo)檢測(cè)[J]. 南京師大學(xué)報(bào)(自然科學(xué)版), 2020, 43(1): 129-135.
[10]WANG J, LU K, XUE J, et al. Single image dehazing based on the physical model and MSRCR algorithm[J]. IEEE Transactions on Circuits and Systems for Video Technology, 2017, 28(9): 2190-2199.
[11]LIU Y, YAN H, GAO S, et al. Criteria to evaluate the fidelity of image enhancement by MSRCR[J]. IET Image Processing, 2018, 12(6): 880-887.
[12]許偉棟,趙忠蓋. 基于卷積神經(jīng)網(wǎng)絡(luò)和支持向量機(jī)算法的馬鈴薯表面缺陷檢測(cè)[J].江蘇農(nóng)業(yè)學(xué)報(bào),2018, 34(6): 1378-1385.
[13]KUMARI N, RUF V, MUKHAMETOV S, et al. J mobile eye-tracking data analysis using object detection via YOLO v4[J]. Sensors,2021,21(22): 7668.
[14]張開興,呂高龍,賈 浩,等. 基于圖像處理和BP神經(jīng)網(wǎng)絡(luò)的玉米葉部病害檢測(cè)[J]. 中國(guó)農(nóng)機(jī)化學(xué)報(bào), 2019, 40(8): 122-126.
[15]尚志軍,張 華,曾 成,等. 基于機(jī)器視覺(jué)的枳殼自動(dòng)定向方法與試驗(yàn)[J]. 中國(guó)農(nóng)機(jī)化學(xué)報(bào), 2019, 40(7): 119-124.
[16]LIU S, XU Y, GUO L M, et al. Multi-scale personnel deep feature detection algorithm based on Extended-YOLOv3[J]. Journal of Intelligent & Fuzzy Systems, 2021, 40(1): 773-786.
[17]JOBSON D J, RAHMAN Z, WOODELL G A. A multiscale retinex for bridging the gap between color images and the human observation of scenes[J]. IEEE Transactions on Image Processing,1997, 6(7): 965-976.
[18]WANG Q Z, LI S, QIN H, et al. Super-resolution of multi-observed RGB-D images based on nonlocal regression and total variation[J]. IEEE Transactions on Image Processing: A Publication of the IEEE Signal Processing Society, 2016, 25(3): 1425-1440.
[19]ZHANG M H, XU S B, SONG W, et al. Lightweight underwater object detection based on YOLOv4 and multi-scale attentional feature fusion[J]. Remote Sensing,2021,13(22): 4706.
[20]TAN L, HUANGFU T R, WU L, et al. Comparison of RetinaNet, SSD, and YOLOv3 for real-time pill identification[J]. BMC Medical Informatics and Decision Making,2021,21(1): 1-11.
[21]ZHANG M, XU S, SONG W, et al. Lightweight underwater object detection based on YOLO v4 and multi-scale attentional feature fusion[J]. Remote Sensing, 2021, 13(22): 4706.
[22]朱 ?磊. Retinex圖像增強(qiáng)算法的研究與FPGA實(shí)現(xiàn)[D]. 北京:清華大學(xué), 2012.
[23]朱秋旭,李俊山,朱英宏,等.Retinex理論下的自適應(yīng)紅外圖像增強(qiáng)[J]. 微電子學(xué)與計(jì)算機(jī), 2013, 30(4): 22-25.
[24]陳旭君,王承祥,朱德泉,等. 基于YOLO卷積神經(jīng)網(wǎng)絡(luò)的水稻秧苗行線檢測(cè)[J].江蘇農(nóng)業(yè)學(xué)報(bào),2020,36(4):930-935.
[25]LEI F, TANG F, LI S. Underwater target detection algorithm based on improved YOLOv5[J]. Journal of Marine Science and Engineering,2022, 10:310.
[26]QIAO X, BAO J, ZHANG H, et al. fvUnderwater sea cucumber identification based on principal component analysis and support vector machine[J]. Measurement,2019, 133:444-455.
[27]ZHANG L, XING B, WANG W et al. Sea cucumber detection algorithm based on deep learning[J]. Sensors,2022, 22:5717.
[28]XUE L, ZENG X, JIN A. A novel deep-learning method with channel attention mechanism for underwater target recognition [J]. Sensors,2022, 22:5492.
[29]孟 亮,郭小燕,杜佳舉,等. 一種輕量級(jí)CNN農(nóng)作物病害圖像識(shí)別模型[J].江蘇農(nóng)業(yè)學(xué)報(bào),2021,37(5):1143-1150.
(責(zé)任編輯:陳海霞)