摘要:海上目標(biāo)檢測(cè)技術(shù)在海洋監(jiān)測(cè)、海上救援以及軍事應(yīng)用等方面扮演著重要角色。文章設(shè)計(jì)了一套基于OpenMV模塊和控制模塊的海上目標(biāo)檢測(cè)系統(tǒng)。該系統(tǒng)能實(shí)時(shí)采集并處理圖像,以實(shí)現(xiàn)對(duì)海洋環(huán)境中小目標(biāo)的高效精確識(shí)別、定位及預(yù)警,從而提升海上安全監(jiān)測(cè)的效率和精確度。具體而言,系統(tǒng)運(yùn)用深度學(xué)習(xí)框架實(shí)時(shí)檢測(cè)海上船舶等目標(biāo),突破了傳統(tǒng)目標(biāo)檢測(cè)技術(shù)在效率和性能上的局限,并成功將模型部署到OpenMV平臺(tái)。實(shí)驗(yàn)證明了檢測(cè)方案的有效性。
關(guān)鍵詞:海上目標(biāo);OpenMV;卷積神經(jīng)網(wǎng)絡(luò);檢測(cè)
中圖分類(lèi)號(hào):TP29" 文獻(xiàn)標(biāo)志碼:A
0 引言
海上目標(biāo)檢測(cè)在海洋工程、海上安全等領(lǐng)域具有重要意義,傳統(tǒng)方法成本高昂且效率低下。隨著機(jī)器視覺(jué)技術(shù)的發(fā)展,基于圖像處理和目標(biāo)識(shí)別的智能監(jiān)控設(shè)備備受關(guān)注。隨著深度學(xué)習(xí)技術(shù)的發(fā)展,基于卷積神經(jīng)網(wǎng)絡(luò)的海上目標(biāo)檢測(cè)設(shè)備成了一種更有效的解決方案[1-2]。本文針對(duì)海上目標(biāo)檢測(cè)進(jìn)行了研究和設(shè)計(jì),提出了一種基于OpenMV模塊和控制模塊的海上目標(biāo)檢測(cè)系統(tǒng)方案。該方案通過(guò)對(duì)海洋中目標(biāo)的圖像進(jìn)行高效準(zhǔn)確的識(shí)別和定位,實(shí)現(xiàn)了海上安全監(jiān)測(cè)的有效性和高精度。
1 系統(tǒng)硬件組成
海上環(huán)境隨時(shí)都在變化,如海浪、潮汐、風(fēng)力等,這些因素影響了圖像的清晰度和穩(wěn)定性,增加了目標(biāo)檢測(cè)的復(fù)雜性。光照條件變化頻繁,會(huì)對(duì)圖像質(zhì)量產(chǎn)生影響,須要設(shè)備具備適應(yīng)不同光照條件的能力。海上視野寬廣,目標(biāo)的大小和形狀差異巨大,增加了目標(biāo)檢測(cè)的難度。此外,設(shè)備須要在海上長(zhǎng)時(shí)間運(yùn)行,需要設(shè)計(jì)低功耗的硬件和算法,以延長(zhǎng)設(shè)備的使用時(shí)間;設(shè)備須要具有防塵防水和遠(yuǎn)程通信功能,以保證設(shè)備在惡劣的海上環(huán)境下可靠運(yùn)行。因此,系統(tǒng)硬件組成須要考慮海上環(huán)境的變化、光照條件、目標(biāo)復(fù)雜性等因素,主要包括控制器、OpenMV模塊、電源供電及充電模塊、通信模塊、動(dòng)力驅(qū)動(dòng)模塊以及外殼和支架等組件。
系統(tǒng)中的控制器是整個(gè)系統(tǒng)的控制核心,用于信息處理與傳輸、儲(chǔ)存檢測(cè)結(jié)果以及與外界通信,如樹(shù)莓派。OpenMV模塊包括攝像頭和微控制器,負(fù)責(zé)實(shí)時(shí)捕獲海上圖像并進(jìn)行處理。OpenMV模塊以其開(kāi)源、低成本、功能強(qiáng)大的特點(diǎn)而受到青睞[3],其以STM32F427CPU為核心,集成了OV7725攝像頭芯片,并在小巧的硬件模塊上,用C語(yǔ)言高效地實(shí)現(xiàn)了核心機(jī)器視覺(jué)算法,提供Python編程接口,使得開(kāi)發(fā)者可以快速上手并開(kāi)發(fā)視覺(jué)應(yīng)用程序。使用者僅須編寫(xiě)簡(jiǎn)單的Python代碼,就能輕松完成各種機(jī)器視覺(jué)相關(guān)的任務(wù)。電源供電及充電模塊確保系統(tǒng)能在海上長(zhǎng)時(shí)間運(yùn)行,太陽(yáng)能充電方式可以實(shí)現(xiàn)自動(dòng)充電,增加設(shè)備的自主運(yùn)行能力。通信模塊用于與其他設(shè)備的通信,可采用全球定位系統(tǒng)(Global Positioning System,GPS)模塊。動(dòng)力驅(qū)動(dòng)模塊則使設(shè)備能夠在海上自由移動(dòng),增加其監(jiān)控范圍和靈活性。外殼和支架設(shè)計(jì)為防水型,以保護(hù)設(shè)備免受惡劣環(huán)境的影響,確保其在海上的穩(wěn)定運(yùn)行。整個(gè)系統(tǒng)的設(shè)計(jì)還須要考慮低功耗要求,以延長(zhǎng)設(shè)備的使用壽命。此外,系統(tǒng)的遠(yuǎn)程通信功能允許用戶(hù)遠(yuǎn)程監(jiān)控設(shè)備狀態(tài)和檢測(cè)結(jié)果,確保操作的便捷性和結(jié)果的可訪問(wèn)性。
綜上所述,本文提出了基于OpenMV的海上目標(biāo)檢測(cè)系統(tǒng),旨在提高海上監(jiān)測(cè)和安全的效率和準(zhǔn)確性。系統(tǒng)組成如圖1所示。
2 基于OpenMV的深度學(xué)習(xí)算法
將深度學(xué)習(xí)網(wǎng)絡(luò)部署于海上目標(biāo)檢測(cè)設(shè)備的OpenMV模塊需要以下步驟。
(1)步驟1,數(shù)據(jù)準(zhǔn)備。該步驟用于收集并標(biāo)記包括浮標(biāo)、集裝箱、游輪、魚(yú)雷艇、軍艦等多個(gè)類(lèi)別的海上目標(biāo)圖像數(shù)據(jù)集,劃分訓(xùn)練集和驗(yàn)證集,并確保數(shù)據(jù)集均衡,包含足夠多的正負(fù)樣本。
(2)步驟2,模型選擇和訓(xùn)練。該步驟用于選擇適合的深度學(xué)習(xí)模型,如YOLOv5[4],并使用訓(xùn)練集訓(xùn)練模型,調(diào)整模型參數(shù)和超參數(shù),以提高模型在驗(yàn)證集上的性能。YOLOv5的結(jié)構(gòu)如下所示。
輸入端(Input):輸入圖像的尺寸被設(shè)置為640x640像素。在YOLOv5中,數(shù)據(jù)增強(qiáng)技術(shù)(如Mosaic和自適應(yīng)圖片縮放)可在這一步驟中應(yīng)用實(shí)現(xiàn),以?xún)?yōu)化模型的性能。
骨干(Backbone)網(wǎng)絡(luò):這一部分是模型的主體,負(fù)責(zé)提取圖像特征。Backbone由多個(gè)子結(jié)構(gòu)組成,如Focus和CSP(Cross Stage Partial)結(jié)構(gòu)。Focus結(jié)構(gòu)通過(guò)切分輸入圖像并在較小的尺度上處理,從而減少計(jì)算量并保留重要特征。CSP結(jié)構(gòu)通過(guò)部分連接不同階段的特征,以降低計(jì)算復(fù)雜度并保持特征的豐富性。
頸部(Neck)網(wǎng)絡(luò):Neck部分用于提高特征圖之間的信息流通。在這個(gè)結(jié)構(gòu)中,F(xiàn)PN(Feature Pyramid Network)和PAN(Path Aggregation Network)被結(jié)合起來(lái)。FPN結(jié)構(gòu)幫助模型利用不同尺度的特征進(jìn)行檢測(cè),而PAN結(jié)構(gòu)進(jìn)一步增強(qiáng)了低層次和高層次特征之間的連接。
預(yù)測(cè)端(Prediction):最終的預(yù)測(cè)部分使用得到的特征圖來(lái)預(yù)測(cè)對(duì)象的類(lèi)別和位置。這里用到了例如GIoU Loss的損失函數(shù),該損失函數(shù)在訓(xùn)練過(guò)程中用來(lái)測(cè)量預(yù)測(cè)框和真實(shí)框的一致性,幫助模型更準(zhǔn)確地定位對(duì)象。
架構(gòu)圖還包含不同的層和操作,如卷積層(Convolutional layer)、批量歸一化(Batch Normalization,BN)、激活函數(shù)(如ReLU、Leaky ReLU)、殘差連接等。這些元素共同工作,最終構(gòu)成了YOLOv5網(wǎng)絡(luò),實(shí)現(xiàn)圖像類(lèi)別識(shí)別和邊界框預(yù)測(cè)。
(3)步驟3,模型轉(zhuǎn)換。該步驟將訓(xùn)練好的深度學(xué)習(xí)模型轉(zhuǎn)換為OpenMV可用的格式。OpenMV支持的模型格式通常是Caffe或TensorFlow Lite。根據(jù)OpenMV的文檔和要求,將模型轉(zhuǎn)換為對(duì)應(yīng)的格式。例如,使用TensorFlow Lite的轉(zhuǎn)換工具將模型轉(zhuǎn)換為.tflite格式。
(4)步驟4,部署和使用模型。該步驟將轉(zhuǎn)換后的模型文件(.tflite文件)和相關(guān)的配置文件復(fù)制到OpenMV開(kāi)發(fā)板上。編寫(xiě)OpenMV的Python腳本,加載模型并進(jìn)行目標(biāo)檢測(cè)。通??梢允褂肙penMV提供的tf.classify或tf.detect模塊來(lái)實(shí)現(xiàn)這一步驟。
利用深度學(xué)習(xí)技術(shù)中的卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)進(jìn)行海上目標(biāo)的檢測(cè)。CNN可以自動(dòng)學(xué)習(xí)圖像特征,并在訓(xùn)練過(guò)程中不斷優(yōu)化模型,使用包括卷積層、池化層和全連接層在內(nèi)的多層網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)反向傳播算法進(jìn)行參數(shù)的訓(xùn)練和更新,從而提高檢測(cè)的準(zhǔn)確率和效率。
3 實(shí)驗(yàn)與結(jié)果分析
3.1 模型評(píng)估
在實(shí)驗(yàn)中,本文使用精度(Precision)作為評(píng)價(jià)標(biāo)準(zhǔn)之一來(lái)評(píng)估模型的性能。Precision表示正確檢測(cè)到的目標(biāo)數(shù)量與總目標(biāo)數(shù)量之比,高Precision代表模型的性能較好。除此之外,本文還采用均值平均密度(mAP)作為評(píng)價(jià)標(biāo)準(zhǔn),mAP綜合考慮了Precision和Recall,其值趨于1表示模型的性能較好。此外,本文還評(píng)估了模型的大小和檢測(cè)速度,確保滿(mǎn)足實(shí)時(shí)要求。實(shí)驗(yàn)結(jié)果表明,檢測(cè)準(zhǔn)確率在95%以上,且具有良好的實(shí)時(shí)性。
3.2 實(shí)驗(yàn)結(jié)果
在實(shí)驗(yàn)中,本文使用YOLOv5模型對(duì)海洋物體進(jìn)行分類(lèi)[5-6]。模型能夠準(zhǔn)確地識(shí)別并界定集裝箱船、軍艦、漁船等多種船舶類(lèi)別,展示了針對(duì)復(fù)雜海洋環(huán)境中各類(lèi)船只有效檢測(cè)的能力。模型對(duì)海上目標(biāo)檢測(cè)結(jié)果如圖2所示。在標(biāo)注結(jié)果中可以看到,模型對(duì)特定對(duì)象類(lèi)別(如浮標(biāo)和軍艦)的識(shí)別情況,證明了模型的泛化能力和對(duì)不同類(lèi)別的敏感性。實(shí)驗(yàn)結(jié)果證明了模型不僅在靜態(tài)圖像中表現(xiàn)出色,還在不同天氣和光線(xiàn)條件下保持了良好的性能。在未來(lái)的工作中,研究將進(jìn)一步收集更多樣化的數(shù)據(jù),并優(yōu)化模型以增強(qiáng)其對(duì)小型或部分遮擋對(duì)象的檢測(cè)能力。
4 結(jié)語(yǔ)
本文提出了一種基于OpenMV的海上目標(biāo)檢測(cè)系統(tǒng)的設(shè)計(jì)方案,利用OpenMV進(jìn)行視覺(jué)識(shí)別和海上目標(biāo)檢測(cè),高效準(zhǔn)確地識(shí)別和定位海洋中的特定目標(biāo),具有在海洋環(huán)境下穩(wěn)定運(yùn)行的能力,可用于監(jiān)測(cè)船只、浮標(biāo)等物體。研究工作對(duì)推進(jìn)海上船舶小目標(biāo)檢測(cè)領(lǐng)域發(fā)展具有積極意義,不僅提供了一種有效的解決方案,還為未來(lái)的研究和應(yīng)用實(shí)踐指明了方向。未來(lái),研究者可以進(jìn)一步優(yōu)化設(shè)備的性能和功能,以滿(mǎn)足海上監(jiān)測(cè)的需求,提高深度學(xué)習(xí)技術(shù)在海上目標(biāo)檢測(cè)的適應(yīng)度,對(duì)于維護(hù)海上交通安全和監(jiān)控海洋環(huán)境將發(fā)揮重要作用。
參考文獻(xiàn)
[1]沈豐毅,王琴,蔣劍飛.基于改進(jìn)卷積神經(jīng)網(wǎng)絡(luò)艦船的實(shí)時(shí)目標(biāo)檢測(cè)算法[J].計(jì)算機(jī)應(yīng)用研究,2020(增刊1),316-319.
[2]劉祚時(shí),許志良,張平.基于OpenMV輔助進(jìn)食機(jī)械手人臉檢測(cè)算法研究[J].傳感器與微系統(tǒng),2021(1):39-4145.
[3]江達(dá)飛,徐中貴.基于OpenMV的零件缺陷檢測(cè)系設(shè)計(jì)[J].河南科技,2020(10):58-59.
[4]秦曉輝,黃啟東,常燈祥,等.基于改進(jìn)YOLOv5的露天礦山目標(biāo)檢測(cè)方法[J].湖南大學(xué)學(xué)報(bào)(自然科學(xué)版),2023(2):23-30.
[5]石文豪,安博文.基于多結(jié)構(gòu)形態(tài)學(xué)的港口船舶檢測(cè)方法[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2016(10),283-287.
[6]易華輝,宋文治,黃金香,等.基于改進(jìn)YOLOv5的無(wú)人機(jī)小目標(biāo)檢測(cè)方法研究[J].機(jī)電工程技術(shù),2023(2),139-144.
(編輯 沈 強(qiáng))
Design of offshore target detection system based on OpenMV
WANG" Yisen, LYU Shaocheng, WU" Yang
(School of Intelligent Equipment Engineering, Wuxi Taihu University, Wuxi 214064, China)
Abstract: Offshore target detection technology plays an important role in marine monitoring, marine rescue and military applications. In this paper, a set of offshore target detection system based on OpenMV module and control module is designed. The system can collect and process images in real time to realize efficient and accurate identification, positioning and early warning of small and medium-sized targets in marine environment, so as to improve the efficiency and accuracy of marine safety monitoring. Specifically, the system uses deep learning framework to detect marine vessels and other targets in real time, breaking through the limitations of traditional target detection technology in efficiency and performance, and successfully deploying the model to the OpenMV platform. The experiment proves the validity of the detection scheme.
Key words: offshore target; OpenMV; convolutional neural network; detection
基金項(xiàng)目:2023年江蘇省大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目;項(xiàng)目編號(hào):202313571003Z。
作者簡(jiǎn)介:王奕森(2002— ),男,本科生;研究方向:深度學(xué)習(xí),機(jī)械電子工程。
無(wú)線(xiàn)互聯(lián)科技2024年16期