楊克義,陳亮雄,楊靜學(xué),賈會梅,梁 濤
(1.河南中光學(xué)集團(tuán)有限公司,河南 南陽 473003;2.廣東省水利水電科學(xué)研究院,廣東 廣州 510640)
2019年全國水利工作會議和全國水文工作會議均提出當(dāng)前水文工作要聚焦支撐解決“四大水問題”,緊密圍繞水利中心工作,以提高水文監(jiān)測預(yù)報(bào)預(yù)警業(yè)務(wù)能力和服務(wù)水平為重點(diǎn),強(qiáng)化水旱災(zāi)害防御支撐,拓展水利監(jiān)管服務(wù),拓寬社會服務(wù)領(lǐng)域,以及時(shí)、準(zhǔn)確、全面的水文監(jiān)測預(yù)報(bào)預(yù)警信息為水利工作和經(jīng)濟(jì)社會發(fā)展提供可靠支撐和保障。結(jié)合國家、水利部以及省委省政府的政策要求,廣東省水利廳提出了開展廣東智慧水利融合工程。其中,漂浮物的監(jiān)督治理作為水利日常管理工作的重要一環(huán),急需通過智能化建設(shè)來解決。
在傳統(tǒng)圖像處理領(lǐng)域,主要通過漂浮物的邊緣、輪廓、顏色等特征并結(jié)合分類器進(jìn)行漂浮物的分類識別工作。例如,左建軍等采用背景減除法分割出圖像中的漂浮物區(qū)域,再利用BP算法進(jìn)行漂浮物特征訓(xùn)練,并構(gòu)建漂浮物分類器對分割區(qū)域進(jìn)行漂浮物識別。朱賀等結(jié)合灰度閾值分割和河道輪廓識別方法實(shí)現(xiàn)對河道區(qū)域的準(zhǔn)確提取。這些方法檢測效率高,執(zhí)行速度快,但同時(shí)存在對光照以及圖像噪聲極為敏感、魯棒性較差等缺點(diǎn)。隨著深度學(xué)習(xí)技術(shù)在目標(biāo)檢測領(lǐng)域的廣泛使用,越來越多的學(xué)者使用深度學(xué)習(xí)技術(shù)進(jìn)行河道、湖泊的漂浮物檢測識別,并提出了多種網(wǎng)絡(luò)模型的改進(jìn)和應(yīng)用案例。例如鮑佳松等采用的基于深度卷積神經(jīng)網(wǎng)絡(luò)的水面漂浮物分類識別術(shù)。李寧等采用的基于AlexNet的小樣本水面漂浮物識別。陳運(yùn)軍等提出的基于VGGNet的湖面塑料制品漂浮物識別。李國進(jìn)等采用的基于改進(jìn)FasterR-CNN的水面漂浮物識別與定位。楊偉煌等采用的一種水面漂浮垃圾的智能收集系統(tǒng)。由于在實(shí)際河道中漂浮物種類繁多、環(huán)境復(fù)雜,上述方法使用單一神經(jīng)網(wǎng)絡(luò)模型進(jìn)行檢測識別難度大、錯(cuò)誤率高,很難應(yīng)用在實(shí)際場景中。只在邊端進(jìn)行漂浮物檢測對硬件設(shè)備要求高,建設(shè)成本大;只在云端進(jìn)行漂浮物檢測,需要大量視頻回傳,網(wǎng)絡(luò)建設(shè)成本高。根據(jù)邊端、云端設(shè)備的不同特點(diǎn),本文設(shè)計(jì)了一種邊云結(jié)合的漂浮物檢測識別方法,該方法在邊端部署小型神經(jīng)網(wǎng)絡(luò)對視頻進(jìn)行初篩,剔除大量無目標(biāo)數(shù)據(jù)以降低網(wǎng)絡(luò)傳輸量;在云端部署大型神經(jīng)網(wǎng)絡(luò)對疑似目標(biāo)進(jìn)行精細(xì)識別分類。
本文設(shè)計(jì)了一種邊云結(jié)合的漂浮物檢測識別方法:
(1)在河岸架設(shè)多路攝像頭,對獲取的視頻幀進(jìn)行初篩,剔除大量無目標(biāo)的視頻信息;
(2)將疑似目標(biāo)的視頻信息傳輸?shù)皆贫朔?wù)器進(jìn)行精細(xì)識別分類,并轉(zhuǎn)換為報(bào)警信息進(jìn)行存儲和上報(bào)。
系統(tǒng)物理架構(gòu)如圖1所示,算法流程如圖2所示。
圖1 物理架構(gòu)
圖2 算法流程
在邊端實(shí)現(xiàn)疑似目標(biāo)的定位,但因設(shè)備算力有限,因此需要一個(gè)快速高效且算力要求不高的目標(biāo)檢測模型。二階目標(biāo)檢測模型檢測精度高但檢測速率低,無法滿足河道監(jiān)測的要求;一階目標(biāo)檢測模型中的YOLO系列是當(dāng)前工業(yè)界的最佳視覺識別算法之一,在精度和速率方面能夠達(dá)到較好均衡。相較于之前YOLOv1~v4采用的Darknet框架,YOLOv5使用PyTorch框架,對用戶非常友好,不僅容易配置環(huán)境,而且模型訓(xùn)練速度快,所以在邊端選用YOLOv5網(wǎng)絡(luò)進(jìn)行目標(biāo)檢測。YOLOv5結(jié)構(gòu)如圖3所示。
圖3 YOLOv5結(jié)構(gòu)
在云端部署的模型主要進(jìn)行目標(biāo)的識別,要求具有最優(yōu)的準(zhǔn)確率,目前各分類模型具體性能見表1所列。
表1 各分類模型性能表
由表1可以看出,ResNet152是當(dāng)前圖片分類任務(wù)中表現(xiàn)最好的神經(jīng)網(wǎng)絡(luò),所以本文選擇ResNet152模型在云端進(jìn)行目標(biāo)識別分類。所選模型在top5上的錯(cuò)誤率為5.94%,效果突出,ResNet的結(jié)構(gòu)可以很好地加速神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,模型準(zhǔn)確率有較大提升,避免了層數(shù)加深準(zhǔn)確率下降的問題。同時(shí),系統(tǒng)可以滿足云端的漂浮物分類需求,ResNet152模型的結(jié)構(gòu)見表2所列。
表2 ResNet152各層結(jié)構(gòu)表
網(wǎng)絡(luò)模型構(gòu)建完成后,進(jìn)入數(shù)據(jù)集準(zhǔn)備階段。數(shù)據(jù)集的質(zhì)量優(yōu)劣直接影響網(wǎng)絡(luò)模型的性能??紤]到數(shù)據(jù)集的來源應(yīng)與使用環(huán)境相近,本文在大中小型河道的岸邊進(jìn)行數(shù)據(jù)采集。考慮到季節(jié)、天氣、光照等環(huán)境因素對網(wǎng)絡(luò)模型的影響,本文在不同環(huán)境條件下對各種河道及漂浮物進(jìn)行拍攝錄像,然后通過抽幀獲取目標(biāo)圖片。此外,還借助一些數(shù)據(jù)增強(qiáng)手段來豐富數(shù)據(jù)集,例如通過對圖像進(jìn)行幾何變換,包括翻轉(zhuǎn)、旋轉(zhuǎn)、裁剪、變形、縮放等增加數(shù)據(jù),以及通過對圖像的像素重分布,包括噪聲、模糊、顏色變換、擦除、填充等增加數(shù)據(jù)。
邊端模型訓(xùn)練設(shè)備的硬件配置為:處理器 IntelCorei7-4460、內(nèi)存32G、顯卡GTX1080、16G;軟件環(huán)境為:操作系統(tǒng) Ubuntu18.04、框架PyTorch、網(wǎng)絡(luò) YOLOv5。共訓(xùn)練2次。第一次訓(xùn)練,保證數(shù)據(jù)集樣本及類別不變,并以此訓(xùn)練結(jié)果為基準(zhǔn)判斷本文方法的有效性。訓(xùn)練時(shí)主要觀察模型的精確率,精確率越高說明誤檢率越低,第一次訓(xùn)練效果如圖4所示。
圖4 YOLOv5第一次訓(xùn)練效果
第二次訓(xùn)練,考慮到邊端設(shè)備算力有限,將數(shù)據(jù)集樣本類別信息去除,由此,YOLOv5只做目標(biāo)定位而不做目標(biāo)識別,以降低其計(jì)算復(fù)雜度。第二次訓(xùn)練效果如圖5所示。
圖5 YOLOv5第二次訓(xùn)練效果
云端模型訓(xùn)練設(shè)備的硬件配置為:處理器IntelXeon(R) CPU E5-2678 v3 @ 2.50 GHz × 48、內(nèi) 存 32G、顯 卡GTX3090、32G。軟件環(huán)境為:操作系統(tǒng)Ubuntu18.04、框架PyTorch、網(wǎng)絡(luò)ResNet152。在訓(xùn)練前,需將數(shù)據(jù)集進(jìn)行裁剪,將目標(biāo)從背景分離得到目標(biāo)數(shù)據(jù)集,模型訓(xùn)練效果如圖6所示。
圖6 ResNet152訓(xùn)練效果
數(shù)據(jù)搜集完畢后,通過篩選和標(biāo)注形成最終的數(shù)據(jù)集。數(shù)據(jù)集共有圖片17 985張,樣本53 959個(gè),漂浮物類別10種。樣本類別分布均衡,達(dá)到訓(xùn)練要求。
通過圖4、圖5可以看出,YOLOv5兩次訓(xùn)練的損失函數(shù)曲線圖大致相同,目標(biāo)框的損失曲線大致相同,訓(xùn)練的2個(gè)模型的目標(biāo)定位檢測損失一致,可以說明模型在檢測定位方面一致,其中檢測分類YOLOv5模型的精確率為75.81%。圖6(a)是ResNet152模型的訓(xùn)練損失圖,訓(xùn)練1 000次后損失約0.001,圖6(b)是模型在驗(yàn)證集的準(zhǔn)確率,訓(xùn)練1 000次后準(zhǔn)確率約為98.2%。
將圖5的模型在相同驗(yàn)證集進(jìn)行定位檢測,將檢測到的目標(biāo)信息傳給ResNet152模型進(jìn)行分類,得到結(jié)果后計(jì)算出相應(yīng)的精確率,最終結(jié)果對比見表3所列。
表3 結(jié)果對比表
由表3可知,圖4的檢測準(zhǔn)確率與本文的邊端檢測準(zhǔn)確率基本相同,從圖4、圖5中box_loss函數(shù)趨于相同也可以得到佐證,圖4的精確率為75.81%。采用本文方法在邊端進(jìn)行檢測的準(zhǔn)確率為73.57%,在云端的識別精確率為98.2%,本文的精確率為85.89%。與圖4的精準(zhǔn)度對比,本文的精確度提高了10.08%。由此可見,本文提出的邊云結(jié)合的漂浮物檢測識別方法切實(shí)可行,滿足了河道漂浮物的預(yù)警需求。
通過對神經(jīng)網(wǎng)絡(luò)的研究分析,結(jié)合邊端和云端設(shè)備的不同特點(diǎn),本文設(shè)計(jì)了一種邊云結(jié)合的漂浮物檢測識別方法,該方法目前通過實(shí)驗(yàn)測試提高了模型檢測識別的精確度,減少了模型預(yù)測的耗時(shí)。但實(shí)驗(yàn)中還存在一些不足,比如檢測定位模型選用的是YOLOv5模型,沒有對其進(jìn)行剪枝壓縮,縮小模型規(guī)模以進(jìn)一步降低模型對邊端設(shè)備算力的要求,下一步嘗試在保證其檢測精度的前提下對模型進(jìn)行壓縮剪枝。
物聯(lián)網(wǎng)技術(shù)2022年10期