韋鈞樂 侯明鑫 ,2*
(1.廣東海洋大學(xué)機(jī)械與動力工程學(xué)院,廣東 湛江 524088;2.南方海洋科學(xué)與工程廣東省實(shí)驗(yàn)室,廣東 湛江 524013)
2021 年4 月25 日,《廣東省國民經(jīng)濟(jì)和社會發(fā)展第十四個五年規(guī)劃和二〇三五年遠(yuǎn)景目標(biāo)綱要》正式發(fā)布,其中一項(xiàng)指出,打造世界級海洋創(chuàng)新平臺,積極搶占全球涉海創(chuàng)新增長制高點(diǎn),深入推進(jìn)湛江海洋經(jīng)濟(jì)發(fā)展示范區(qū)建設(shè)。湛江,三面臨海,海域面積2.1 萬平方公里,海岸線長2 023 公里約占全省海岸線的三分之一、全國的十分之一,自古以來就因海洋生物資源豐富聞名海內(nèi)外。憑借著得天獨(dú)厚的地理位置,湛江的漁業(yè)非常發(fā)達(dá)。其中馬鮫魚產(chǎn)業(yè)在湛江水產(chǎn)中占據(jù)重要的地位。馬鮫魚,體形狹長,頭及體背部藍(lán)黑色,一般體長為25~50 cm、體重300~1 000 g。馬鮫魚群每年春季游到粵西沿海產(chǎn)卵,形成魚汛。因其肉質(zhì)細(xì)嫩,味道鮮美,且營養(yǎng)價值高,是近海作業(yè)主要捕撈對象。因此,為了更好地實(shí)施規(guī)劃綱要,漁民們科學(xué)合理地分揀出漁獲物中的馬鮫魚十分必要。
目標(biāo)檢測(Object Detection),其本質(zhì)的任務(wù)是找出圖像中所有的目標(biāo)物體,確定它們的類別和位置。在實(shí)際檢測情況中,往往有許多不可抗力的因素,由于各類物體有不同的外觀、形狀和姿態(tài),加上成像時光照、遮擋等因素的干擾,目標(biāo)檢測一直是計(jì)算機(jī)視覺領(lǐng)域最具有挑戰(zhàn)性的問題。隨著計(jì)算機(jī)技術(shù)的不斷發(fā)展,圖像采集技術(shù)的日益提高,這幾項(xiàng)技術(shù)促進(jìn)了目標(biāo)檢測的日臻完善。目標(biāo)檢測應(yīng)用廣泛,徐樂先等基于深度學(xué)習(xí)對車位進(jìn)行檢測,祝朝坤等基于目標(biāo)檢測的智能垃圾分類垃圾桶的設(shè)計(jì),任宇晴等對水果成熟度的識別。機(jī)器學(xué)習(xí)的目標(biāo)檢測技術(shù)不僅在人工智能理論層面進(jìn)行了系里研究,同時,在各行業(yè)有目標(biāo)檢測需求的場景中得到了廣泛的應(yīng)用。
根據(jù)目前的文獻(xiàn)檢索,目標(biāo)檢測雖然在絕大多數(shù)領(lǐng)域已有較為成熟的研究和應(yīng)用,但是尚未廣泛應(yīng)用于漁業(yè),尤其是對魚類的檢測識別相對有限。傳統(tǒng)的對漁獲物進(jìn)行分類方法大多依靠人眼識別,一般的漁獲物淡季尚且能滿足市場需求,但是在捕撈的旺季,漁獲物數(shù)目巨量增加,這使得工人的作業(yè)任務(wù)量增加巨大。隨著工作時間的增加,工人的專注度降低,難免會造成分類錯誤,引起后續(xù)一系列的麻煩。為了解決這一難題,本文采用機(jī)器學(xué)習(xí)中的目標(biāo)檢測技術(shù)對魚類進(jìn)行識別檢測,再結(jié)合相關(guān)的漁獲物器械打撈,能有效地節(jié)省工人工作時間,提高工作效率。
本文將以馬鮫魚為例,提出一種基于深度學(xué)習(xí)SSD 模型在馬鮫魚檢測中的算法模型。通過該深度學(xué)習(xí)模型以馬鮫魚為案例進(jìn)行成功的目標(biāo)檢測,驗(yàn)證本文提出模型的可行性。同時,本文提出的基于深度學(xué)習(xí)目標(biāo)檢測模型SSDResNet50V1FPN 的檢測方法,可以進(jìn)一步推廣應(yīng)用到其他種類有目標(biāo)檢測需求的漁獲物場景中。
本文基于深度學(xué)習(xí)TensorFlow 框架對漁民捕獲的魚類進(jìn)行分類識別檢測。首先根據(jù)需要識別的魚類——馬鮫魚選取恰當(dāng)?shù)哪P汀H缓罄肞ython 的爬蟲功能從網(wǎng)上的圖庫爬取了上萬張馬鮫魚相關(guān)的圖片,并對圖片進(jìn)行篩選。要刪除會加大機(jī)器學(xué)習(xí)運(yùn)行負(fù)擔(dān)的像素過大圖片,通過對這些圖片進(jìn)行相關(guān)的預(yù)處理,即將圖像進(jìn)行尺寸調(diào)整、旋轉(zhuǎn)、拉伸、光線補(bǔ)償、灰度變直方圖均衡化、規(guī)范化、幾何校正、過濾及銳化等操作,令其符合TensorFlow 框架下對圖像識別的要求。然后再構(gòu)建出深度學(xué)習(xí)SSDResNet50V1FPN 模型,并對模型進(jìn)行多次訓(xùn)練,實(shí)現(xiàn)經(jīng)過算法修改調(diào)整后,達(dá)到最終檢測效果的目標(biāo)。本文提出的深度學(xué)習(xí)目標(biāo)檢測實(shí)現(xiàn)流程為模型確定,收集圖片,訓(xùn)練模型,調(diào)整參數(shù),模型驗(yàn)證。
本文選用的是TensorFlow 框架,與其他深度學(xué)習(xí)框架對比,其特點(diǎn)是在建模能力、模型部署、性能、架構(gòu)、生態(tài)系統(tǒng)等多個方面呈現(xiàn)優(yōu)越性。
本文選取的是深度學(xué)習(xí)SSDResNet50V1FPN 模型。SSD,全稱Single Shot MultiBox Detector,是Wei Liu 在ECCV 2016 上提出的一種目標(biāo)檢測算法,是主要的檢測框架之一,相比Faster RCNN 有明顯的速度優(yōu)勢,相比YOLO 又有明顯的MAP 優(yōu)勢。SSD 的方法是基于一個前饋卷積神經(jīng)網(wǎng)絡(luò),通過算法產(chǎn)生候選框,然后再對這些候選框分類和回歸,接著生成一個反應(yīng)檢測對象于檢測目標(biāo)相關(guān)的可靠度分?jǐn)?shù)。SSD 采用卷積神經(jīng)網(wǎng)絡(luò)(CNN)來直接進(jìn)行檢測,提取了不同尺度的特征圖來做檢測,大尺度特征圖可以用來檢測小物體,而小尺度特征圖可以用來檢測大物體;再由SSD 采用了不同尺度和長寬比的先驗(yàn)框Prior boxes,在Faster R-CNN 中叫作錨(Anchors)。
本次實(shí)驗(yàn)從11 630 選取了10 000 張馬鮫魚的圖片,其中9 000 張作為訓(xùn)練集,1 000 張作為測試集。訓(xùn)練集全部被保存到了“images1”目錄下,根據(jù)每張圖片里馬鮫魚的體型,姿態(tài)的不同以達(dá)到高準(zhǔn)確率的訓(xùn)練效果。測試集則被保存到了“images2”目錄文件下,這些圖片用于對模型的訓(xùn)練效果進(jìn)行檢測。為了確定該模型的訓(xùn)練效果,還需要利用labeling 軟件進(jìn)行目標(biāo)邊框的處理,得到XML 文件。此處還需修改labeling 軟件中的data 文件,將其改為“mackerel”,選擇邊框打標(biāo)后可以為保存XML 文件,且保存的XML文件名與圖片的名字一一對應(yīng)。
本次訓(xùn)練的工作站硬件采用Dell7920,CPU 為Intel Xeon 5218R,內(nèi)存64G,1TB 三星ssd 970 EVO Plus,顯卡為NVIDIA GeForce RTX 2080Ti(12G)GPU;軟件環(huán)境為Ubuntu 20.04,TensorFlow 2.8 版本。
本文采用SSDResNet50V1FPN 模型對10 000 張馬鮫魚圖片進(jìn)行訓(xùn)練,總的損失函數(shù)如圖1 所示,從圖1 可以看出經(jīng)過25 000 步訓(xùn)練后,總的損失函數(shù)減少到2.2×10,圖1 中的曲線平滑度設(shè)置為0.8,從整個曲線訓(xùn)練的過程可以看出在25 000 步訓(xùn)練后,采用SSDResNet50V1FPN 模型訓(xùn)練已經(jīng)達(dá)到穩(wěn)定狀態(tài)。
圖1 基于SSDResNet50V1FPN 模型總的損失函數(shù)訓(xùn)練曲線(25 000 步)
機(jī)器學(xué)習(xí)的應(yīng)用成果已經(jīng)滲透融入于社會生產(chǎn)的方方面面,基于機(jī)器學(xué)習(xí)研究目標(biāo)檢測更是成為一個熱門的方向。本文基于TensorFlow 目標(biāo)檢測以漁獲物馬鮫魚為例,進(jìn)行了算法識別的應(yīng)用研究,通過設(shè)計(jì)SSDResNet50V1FPN 模型,經(jīng)過9 000 張圖片作為訓(xùn)練集,1 000 張馬鮫魚的圖片作為測試集。經(jīng)過25 000步訓(xùn)練后,SSDResNet50V1FPN 模型損失函數(shù)收斂到2.2×10,訓(xùn)練曲線表明此模型應(yīng)用于馬鮫魚的目標(biāo)檢測精度已經(jīng)良好,且可以用于漁獲物馬鮫魚的檢測中。進(jìn)一步的,本文基于深度學(xué)習(xí)SSDResNet50V1FPN 模型不僅適用于馬鮫魚的檢測,也同樣適用于其他海產(chǎn)品的檢測。