宋彧嬙 馬占軍 李宜諾
(大連海洋大學 遼寧 大連 116023)
我國的海岸線長達1.8 萬多km,海洋垃圾廣布于海洋和海灘中,危及生態環境、經濟發展和人類健康。據1997年美國科學院估計,全球每年約有640萬t垃圾進入海洋,而每天約有800萬件垃圾進入海洋,目前海洋垃圾正以指數形式增長。因此,治理海灘垃圾污染問題一直以來都是研究者關注的焦點,而快速鑒別或識別海灘垃圾是治理垃圾污染和分類處置的技術關鍵之一[1-2]。然而,目前海灘垃圾監測大多是基于人工手段,例如:建立采樣點,采用現場調查,利用這種方法需要大量的人力和時間,而且對采樣點的選取也有諸多要求,在一些不開放或難以建立采樣點的海域就無法進行監測。另外,國內市場上所見到的大部分目標檢測設備來源于國外,性能和可靠性不夠。并且現有的模型太大,無法實現本地化運算,是海灘管理者共同面對的問題。
國內已經發布了垃圾分類的標準,而海灘垃圾識別是一個重要組成部分。通過識別、提取這些參數可大大增加識別效率。本文通過采用計算機視覺的方法,提出在復雜背景下針對海灘垃圾進行個體信息提取的算法[3-4]。通過背景減法和去除噪聲算法可去除背景干擾,可準確提取自然姿態下海灘垃圾的輪廓,對采集到的樣本輪廓進行垃圾體測點提取,識別其體測點,實現對垃圾體積、顏色和種類的測量并完成質量估測[5]。
因此,計算機視覺和本地化運算成為關鍵。海灘垃圾識別與分類系統基于計算機視覺的基礎上,進行了設備的輕量化訓練,使其實現本地化運算。以至于可以完全代替人工實現對海灘的實時監控,不管是在網絡惡劣的環境,或者寬廣的海灘區域都不再是問題。海灘垃圾識別與分類系統替代人工成為了必然趨勢[6-7]。
本文利用Labelimage 軟件對所采集樣本進行標注,采用水下攝像機及輔助LED照明光源,共獲得圖像及其標注信息2 552 組,可滿足本研究模型訓練需求。基于YOLOv5 框架進行海灘垃圾識別與分類研究,該框架屬于全監督深度學習方法。樣本數據集標注信息的準確度會直接影響模型訓練準確性[8]。
采用基于YOLOv5 目標檢測框架,結合標注數據集樣本訓練模型,實現海灘垃圾識別與分類精準目標檢測。利用TensorRT 進行模型優化及與加速,實現Jetson Nano 邊緣設備平臺下的移動端模型部署,實現海灘垃圾精準目標檢測的實時,如圖1所示。

圖1 實驗總體模型架構
近年來,YOLO 系列目標檢測算法以其較高的準確度和較快的檢測速度成為一階段的代表性算法。YOLOv5 擁有著較前代算法更優的識別速度與精準度,其框架結構具體見圖2。

圖2 YOLOv5模型結構圖
YOLOv5 檢測框架主要由特征提取器和目標檢測器兩部分組成。YOLOv5 特征提取器采用自下向上特征金字塔網絡FPN 結構,FPN 結構可以實現同時預測低層特征和高層特征的功能。低層特征不需要經過所有層就能輸出對應目標,改善低層特征傳播質量,且使用跨層連接網絡實現不同尺度特征融合,提高特征質量[9]。其中,跨層連接網絡采用殘差模塊,增加網絡可訓練深度,進一步提升網絡對特征的學習能力。結合高質量圖像特征,目標檢測器設置3 個檢測模塊分別針對大、中、小尺寸目標進行檢測,提升模型多尺度目標的檢測能力,實現海灘垃圾的精準目標檢測。
基于圖像樣本訓練的所得到目標檢測模型的邊緣設備部署,實現本地化運算,是實現海灘垃圾識別與分類實時檢測,完成模型產業化的重要環節。本文選擇Jetson Nano 平臺進行模型部署,硬件設備圖如圖3所示。

圖3 Jetson Nano設備展示圖
軟件方面,其包含40余個深度學習、計算機視覺、計算機圖形和多媒體處理的加速庫,可用于進行程序運行加速,并且還包含有最新版本的CUDA、cuDNN、TensorRT和完整版桌面Linux操作系統,滿足目標檢測模型邊緣部署要求。雖然Jetson Nano平臺具有豐富的硬件與軟件資源,但其算力條件與桌面級GPU相比相差較大。在Jetson Nano上運行海灘垃圾識別與分類檢測模型時,其推理速度嚴重受限,無法達到實時性要求,因此需要對所得模型推理過程進行加速,以提升檢測速度。TensorRT 是一個高性能的深度學習推理(Inference)優化器,可以為深度學習應用提供低延遲、高吞吐率的部署推理。采用TensorRT 框架對YOLOv5框架進行加速,然后基于Jetson Nano進行模型部署,實現海灘垃圾實時目標檢測[10-12]。
本文采用平均準確率均值(Mean Average Precision,mAP)作為模型評價指標。該指標是目標檢測較重要的指標之一,平均準確率均值為所有類別檢測精度的平均值計算公式為
式(1)中,J(P,r)k為平均精度函數,即類別編號為K時準確率P與召回率R所構成的P-R曲線的面積。準確率P與召回率R的計算公式為
式(2)、式(3)中:TP為將正樣本預測為正樣本的數量;FP為將負樣本預測為正樣本的數量;Fn為將正樣本預測為負樣本的數量。
本文以YOLOv5s 作為預訓練模型,利用海灘垃圾圖像數據集進行目標檢測網絡訓練,訓練硬件使用NVIDIA Titan RTX 型號GPU,顯存為24G。將圖像數據樣本按照8∶2進行劃分,其中,2 042幅圖像用于模型訓練,510幅圖像用于模型驗證,輸入圖像尺寸統一設置為640×640,訓練過程采用分批次小批量訓練,每批次圖像樣本數為32幅,訓練數據集中所有圖像參與訓練過程計為1 個訓練輪次,共計訓練300 輪次,采用Adam 作為優化器,動量超參數為0.999。訓練結果如圖4所示。

圖4 閾值為0.5的mAP曲線
從圖4 可以看出,訓練所得模型具有高準確率和低誤差值,其中,IoU閾值為0.5時mAP最高為0.876,圖5 為閾值0.5~0.95 時的平均mAP 為0.502,檢測框平均誤差為0.026,前景平均誤差為0.087。

圖5 閾值為0.5~0.95的mAP曲線
通過利用自制海灘垃圾數據集,基于YOLOv5 框架,訓練獲得高分布密度精準垃圾目標檢測模型,該模型基于高性能GPU 服務器平運行,檢測精度高,推理速度快。然而,高性能GPU成本高,移動不便,在生產現場配置難度大。因此,需要現場采集圖像數據,傳輸至遠端服務器,運算結果再回傳至本地,導致數據傳輸成本增加,且無法實現海灘垃圾目標在線監測。針對這一問題,本文基于JetsonNano 邊緣設備進行模型部署,實現模型的本地化運算,現場采集圖像進行推理并獲得檢測結果,節約數據傳輸成本,實現海灘垃圾的在線目標檢測。Jetson Nano 設備硬件核心為Arm 架構,基于Intel 平臺服務器的模型運行環境不能直接使用。因此,本研究基于Nano 硬件平臺和系統,重新搭建Arm 架構下的Pytorch 環境,將檢測模型部署到平臺上運行,檢測模型可在Nano設備運行且保持很好的檢測效果,能夠在高分布密度環境下精準檢測垃圾目標。但是,由于Nano平臺硬件和算有限,推理速度較慢,實時性差,無法滿足在線識別要求。
為解決上述問題,本文基于TensorRT 框架,通過優化模型推理算法,且將模型轉換為C語言環境運行,實現模型推理加速,提高模型檢測速度。基于TensorRT 加速后,模型依然具有良好的目標檢測性能,實現高分布密度下的精準垃圾檢測。此外,加速后模型推理時間得到大幅度提升,每幅時間縮短約71 ms,與未加速模型相比檢測速度提升1 倍。Jetson Nano 設備上模型加速前后的推理運算速度以及Titan RTX 型號GPU 上模型檢測速度。由此可以看出,采用TensorRT進行模型加速可在保持檢測精度基礎上大幅度提高推理速度,與高性能GPU 運算速度相比仍慢了許多(約0.23倍)。但Jetson Nano 設備成本約是Titan RTX 型號GPU的0.035倍,且具有便攜性高,無需數據傳輸,可實現本地化運算等優點。因此,通過基于高性能GPU利用大量數據樣本進行模型訓練,能夠獲得高精度檢測模型,然后利用TensorRT 框架進行模型優化及加速,并將其部署到Jetson Nano 邊緣設備中進行本地化運算,實現高分布密度下海灘垃圾的精準在線目標檢測。
本文利用真實海灘垃圾分布圖像樣本進行標注、制作數據集,并利用基于YOLOv5s 框架,結合海灘垃圾數據集進行模型訓練,獲得高分布密度下垃圾精準目標檢測模型,模型可在高性能GPU 平臺運算,具有精度高、速度快的優勢。其次,針對高性能GPU 運算平臺成本高,現場配置難度大,且需要增加數據傳輸成本等問題,本文又基于Jetson Nano 邊緣設備進行模型部署,實現模型的本地化運算,避免數據遠程傳輸;最后利用TensorRT 框架進行模型優化及加速,實現海灘垃圾的在線精準目標檢測,為海灘垃圾自動識別與檢測提供重要數據支撐。