曾慶湖 陳新儒
摘要:隨著西江內(nèi)河河道漂浮物污染問題日益引起人們的重視,智能漂浮物檢測也成為西江內(nèi)河流域治理的重要研究內(nèi)容之一。針對人工巡檢西江內(nèi)河河道效率偏低和花銷大的問題,文章提出了基于微服務(wù)技術(shù)設(shè)計的西江河道漂浮物智能檢測系統(tǒng)。該系統(tǒng)采用SpringBoot Alibaba技術(shù)構(gòu)建,使用YOLOv5算法對漂浮物進行識別。系統(tǒng)根據(jù)業(yè)務(wù)需求設(shè)計微服務(wù),能夠?qū)崟r觀察河道情況,并及時發(fā)現(xiàn)異常情況,從而降低人工定點巡視的次數(shù)。
關(guān)鍵詞:漂浮物檢測;生態(tài)環(huán)境;微服務(wù)架構(gòu)
中圖分類號:TP391 文獻標(biāo)識碼:A
文章編號:1009-3044(2024)14-0046-03 開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID) :
1 漂浮物檢測研究背景和現(xiàn)狀
1.1 研究背景
經(jīng)濟的繁榮通常伴隨著大規(guī)模的城市化,但也影響了發(fā)展地區(qū)的生態(tài)環(huán)境。西江部分內(nèi)河河道中遍布的漂浮物已經(jīng)威脅到了水生生物的棲息環(huán)境,也對西江內(nèi)河河道航運的發(fā)展產(chǎn)生了不利影響。西江作為一個重要的水域資源,其環(huán)境治理工作尤為重要,這些工作需要多個部門的協(xié)調(diào)配合,要有科學(xué)的方略,按時踐行。只有做好西江流域環(huán)境保護工作,才能夠?qū)崿F(xiàn)西江內(nèi)河河道環(huán)境的持久改善,確保西江流域經(jīng)濟的可持續(xù)發(fā)展。
1.2 研究現(xiàn)狀
當(dāng)前,國內(nèi)外學(xué)者在水面漂浮物檢測領(lǐng)域已有一定的研究。例如,ZHANG等[1]針對早期的水面物體檢測方法存在魯棒性差和檢測效果容易受到背景影響的問題,提出了一種基于改進的RefineDet模型的表面漂浮物體實時檢測方法,能有效實現(xiàn)較高精度和實時檢測。LIN F等[2]提出了一種FMA-YOLOv5s算法,通過在主干網(wǎng)絡(luò)的底端添加FMA層,進而達到航道漂浮物實時監(jiān)測的效果。國內(nèi)學(xué)者李寧等[3]提出了一種水面漂浮物識別方法,該方法比基于傳統(tǒng)的HOG特征提取方法,能夠卓有成效地提高漂浮物識別率。陳任飛等[4]則通過改進SSD算法實現(xiàn)了水面漂浮物檢測。SUN H等[5]基于MobileNet V2網(wǎng)絡(luò)模型提出一種水面漂浮物檢測方法,該方法與現(xiàn)有圖像識別方法相比,能夠減少模型參數(shù)量,并實現(xiàn)高效率檢測。唐小敏[6]提出了基于SSD神經(jīng)網(wǎng)絡(luò)的識別方法,并基于該方法設(shè)計了基于安卓端的檢測系統(tǒng)。
雖然眾多學(xué)者在河道漂浮物研究領(lǐng)域投入了大量精力,但仍然存在很多問題需要解決。西江河道漂浮物的運動軌跡會受到多種外因的影響,包括水流速度、水深、漂浮物形狀和重量等,這些因素都會對漂浮物的預(yù)測精度造成不同程度的影響。研究智能漂浮物檢測能夠有效減少多種因素對識別結(jié)果的影響,提高檢測效率,因此研究西江河道漂浮物智能檢測系統(tǒng)具有重要意義。
2 需求分析
2.1 業(yè)務(wù)需求分析
系統(tǒng)主要包括圖片推理微服務(wù)、攝像推理微服務(wù)、統(tǒng)計微服務(wù)和日志微服務(wù),其中不同的推理微服務(wù)所用的業(yè)務(wù)處理流程不同。為了能夠讓市民也參與西江環(huán)境保護工作,系統(tǒng)還設(shè)有投訴模塊的微服務(wù)。一旦市民拍照或拍視頻上傳,并填寫好相關(guān)表單,系統(tǒng)將通過自動識別并將推理結(jié)果推送至生態(tài)環(huán)境局工作人員,幫助工作人員快速處理。
2.2 用戶和安全性分析
系統(tǒng)的用戶分別為生態(tài)環(huán)境局工作人員和市民,其中市民通過小程序端進行訪問,而生態(tài)環(huán)境局工作人員則在后臺管理端進行處理。不同用戶擁有不同的權(quán)限,系統(tǒng)能夠自動鑒別不同用戶,并根據(jù)用戶身份展示不同的界面。
3 系統(tǒng)總體設(shè)計
3.1 系統(tǒng)架構(gòu)設(shè)計
系統(tǒng)架構(gòu)圖如圖1所示,分為訪問層、接口層、業(yè)務(wù)服務(wù)層和存儲層。
3.1.1 訪問層
用戶在PC端或者Mobile端接入系統(tǒng),并向系統(tǒng)發(fā)送推理和識別漂浮物服務(wù)的請求。通過負載均衡方法處理請求后,向各個微服務(wù)發(fā)送,最后將處理結(jié)果渲染在前端界面。
3.1.2 接口層
接口層主要用于處理用戶請求,并轉(zhuǎn)發(fā)至各個微服務(wù)。通過Ribbon和Feign的使用,能夠有效處理并發(fā)的請求,從而提高系統(tǒng)的處理能力和性能,并能有效地降低服務(wù)器的壓力,降低出現(xiàn)故障的概率。
3.1.3 業(yè)務(wù)服務(wù)層
在業(yè)務(wù)服務(wù)層,在前期系統(tǒng)規(guī)劃中,按照業(yè)務(wù)邏輯將系統(tǒng)分成多個獨立的微服務(wù)模塊。采用Nacos組件管理各個微服務(wù),降低系統(tǒng)管理開支;采用Gateway 組件為微服務(wù)提供路由和監(jiān)控等服務(wù);而Feign作為聲明式的客戶端,使得調(diào)用各個微服務(wù)成本降低,減低系統(tǒng)的響應(yīng)時間;消息管理則采用RabbitMQ中間件,為各個微服務(wù)提供異步的消息服務(wù)支持。
3.1.4 存儲層
存儲層采用關(guān)系型數(shù)據(jù)庫和非關(guān)系型數(shù)據(jù)庫。每個微服務(wù)都有自己的本地數(shù)據(jù),采用KingBase 存儲,保證了數(shù)據(jù)的獨立性和隔離性。Redis非關(guān)系型數(shù)據(jù)庫作為緩存中間件使用,能夠降低查詢壓力,減低查詢的等待時間。
3.2 數(shù)據(jù)庫設(shè)計
系統(tǒng)主要包括了用戶表、圖片檢測表和視頻檢測表等3張數(shù)據(jù)表。
4 基于微服務(wù)架構(gòu)的西江漂浮物檢測系統(tǒng)的主要實現(xiàn)
4.1 圖片推理微服務(wù)
圖像推理微服務(wù)模塊主要負責(zé)圖片的推理。待測圖像輸入系統(tǒng)后,便進行圖像推理。用戶通過該模塊輸入待識別的西江內(nèi)河河道漂浮物的航拍圖片,系統(tǒng)會對圖像進行預(yù)處理,調(diào)整圖像至模型識別的尺寸大小,隨后調(diào)用算法識別漂浮物,并在頁面顯示結(jié)果如圖2所示。
4.2 攝像頭推理微服務(wù)
攝像頭推理微服務(wù)模塊負責(zé)視頻推理,攝像頭實時拍攝的視頻作為輸入視頻,然后進行推理。通過對RTSP視頻推流進行視頻處理,然后識別漂浮物和實時推理。
4.3 視頻推理微服務(wù)
視頻推理微服務(wù)模塊負責(zé)視頻推理,按照輸入視頻的格式要求輸入視頻,然后進行視頻結(jié)果推理,如圖3所示。通過對RTSP視頻推流進行視頻處理,然后識別漂浮物和結(jié)果,可以識別出漂浮物類別、地理位置等信息,如圖4所示。
4.4 日志微服務(wù)
通過日志微服務(wù),用戶可以方便地查看系統(tǒng)檢測到的漂浮物信息,包括圖像和位置等細節(jié)。這種實時的信息展示可以幫助相關(guān)用戶更快速地了解西江內(nèi)河河道中的漂浮物情況,從而提高處理效率。用戶可以根據(jù)日志中提供的信息,有針對性地采取措施,例如派遣人員前往特定位置清理漂浮物,或者調(diào)整巡航路線等。
4.5 統(tǒng)計微服務(wù)
統(tǒng)計微服務(wù)主要用于統(tǒng)計各個推理任務(wù)的結(jié)果,或在攝像頭推理中實時統(tǒng)計,并可視化表現(xiàn)出必要的統(tǒng)計信息。統(tǒng)計微服務(wù)可以通過設(shè)定時間段,周期性統(tǒng)計并保存西江河道某處出現(xiàn)漂浮物的頻率和種類等信息,并且可以對比各個時間段的信息。統(tǒng)計微服務(wù)的統(tǒng)計結(jié)果能夠為后期西江河道環(huán)境治理提供數(shù)據(jù)支持,既能夠直觀展現(xiàn)信息,又便于對西江河道環(huán)境治理進度進行實時把控。
5 結(jié)束語
本文基于微服務(wù)架構(gòu),設(shè)計和實現(xiàn)了西江河道漂浮物檢測系統(tǒng)。在算法方面,采用了基于YOLOv5算法對西江內(nèi)河河道漂浮物進行檢測,通過YO?LOv5算法快速對西江內(nèi)河道河漂浮物進行識別和定位;然后對系統(tǒng)的架構(gòu)和各個模塊做出了詳細的介紹。
參考文獻:
[1] ZHANG L L, WEI Y X, WANG H B, et al.Real-time detection of river surface floating object based on improved RefineDet[J].IEEEAccess,2021(9):81147-81160.
[2] LIN F,HOU T,JIN Q N,et al.Improved YOLO based detection algorithm for floating debris in waterway[J].Entropy,2021,23(9):1111.
[3] 李寧,王雨萱,徐守坤,等.基于AlexNet的小樣本水面漂浮物識別[J].計算機應(yīng)用與軟件,2019,36(2):245-251.
[4] 陳任飛,彭勇,吳劍,等.基于深度學(xué)習(xí)的水面漂浮物智能檢測方法[J].工程科學(xué)與技術(shù),2023,55(3):165-174.
[5] SUN H X,ZHANG S J,REN R,et al.Maturity classification of “hupingzao” jujubes with an imbalanced dataset based on im?proved MobileNet V2[J].Agriculture,2022,12(9):1305.
[6] 唐小敏.河道漂浮物智能檢測系統(tǒng)研究與開發(fā)[D].南昌:南昌航空大學(xué),2020.
【通聯(lián)編輯:謝媛媛】
基金項目:梧州市科技計劃項目(項目編號:2022C01002) ;梧州學(xué)院大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目(項目編號:S202311354069)