王曼菲,李志明
(重慶交通大學,重慶 400074)
隨著智慧港口[1]概念的提出和發展,計算機視覺已逐步應用于港口自動化建設,其主要通過分析港口現場的視頻圖像并自動提取分析,包括港口自動駕駛[2]、集裝箱識別[3]、船舶識別[4]等,這些技術的研究表明港口場景實例對象的自動識別有著廣泛的應用前景。港口場景包含了眾多關系到港口生產活動的移動目標,這類目標的圖像位置和類型信息屬于視覺監控技術的基礎資料,關系到港口環境的視覺感知,也是港口監管自動化的重要支撐。
港口移動目標的識別可將其作為目標檢測任務實現對每個實例邊界框的定位和種類分類。傳統的機器視覺方法基于人工設計的特征對于港口場景的魯棒性較低,難以在復雜的港口環境中實現較高精度的識別任務。近年來,隨著人工智能技術取得里程碑式的成果,基于深度卷積神經網絡方法使得模型通過學習目標特征而取得了較好的效果。但目前關于港口場景移動目標相關的研究很少,這需要展開港口移動目標識別技術研究。
深度學習模型的數據集是必要的,因此本文建立了面向港口場景的港口移動目標檢測數據集,該數據集包含涉及到港口常見荷載類型和裝卸活動對應的12 類目標的3073 張包含不同的視角、環境條件和港口場景的圖像,包括:1.集裝箱卡車(328)、2.集裝箱岸橋(517)、3.散貨船(360)、4.集裝箱叉車(394)、5.門座式起重機(1202)、6.集裝箱正面吊(450)、7.集裝箱船(393)、8.集裝箱跨運車(577)、9.堆場火車(307)、10.吊橋空載主小車(190)、11.吊橋滿載主小車(365)、12.集裝箱牽引車(315)。本文使用labelimg 工具標注每個實例的邊界框的中心坐標與寬高和類別。數據集部分樣本如圖1 所示。
根據應用場景對識別速度和準確性的要求,選取了深度學習YOLOv5s[5]目標檢測算法作為識別基準。YOLOv5 是YOLO 算法系列結合目標檢測領域優秀成果的改進版本。其特點首先體現在數據輸入端采用了馬賽克數據增強,其原理為隨機選擇圖像并隨機裁剪和拼接一起作為輸入,然后再在訓練過程中根據初始錨框和標注框不斷計算更新錨框參數代入到模型的訓練。如圖2所示,然后在特征提取架構輸入層引入Focus 切片操作進行第一步的特征圖多通道及大小轉換,然后再使用了基于CSPNet 設計的CSP 瓶頸結構,該結構能夠在減少網絡計算規模的同時增強其特征提取能力。在經過特征提取后,對于特征融合部分,引入PANet 自頂向下和自下向頂的特征融合方式,由于低層語義特征弱但具有豐富的位置信息且包含較多的小目標特征信息,高層位置特征弱但抽象語義信息豐富,增加自下而上的下采樣將低層大量的位置特征融合到高層特征中,強化了特征融合的效果。接著在檢測層部分,對于YOLO 算法中的IoU 回歸損失函數,引入了基于CIoU 指標的CIoU 損失函數,該函數能夠在目標框與預測框重疊面積、中心點距離以及框的尺度比例上優化訓練效果。
本文實驗采用的計算機配置為Intel(R) Xeon(R) CPU E5-2637 V4,操作系統為Ubantu18.04,考慮到數據集訓練對計算資源的要求,使用了GPU 加速計算,硬件型號為NVIDIA RTX 2080Ti,模型的搭建基于Pytorch框架。模型的訓練集和測試集按8:2 劃分,學習率、動量和衰減分別為0.001、0.9 和0.0001。本文使用目標檢測常用的精確率(Precision)、召回率(Recall)指標。AP(Average Precision)0.5 代表某一分類的且當檢測框與目標框IoU 值大于0.5 時,在不同召回率下的精確率的平均值。mAP(mean Average Precision)代表多分類檢測模型中所有類別的AP 均值。
如圖3 所示,模型在訓練過程中損失函數值不斷減小,精度不斷提高,在200 輪次附近時mAP0.5 值達到穩定,最終為0.871,模型最終分類損失為0.002,IoU損失為0.013,定位損失為0.017,模型訓練結果理想。其中,每個類別的結果如表1 所示,表明檢測器對于每個類別均能夠有較好的識別精度。檢測速度為0.004s/幀,能夠滿足實時檢測港口移動目標的精度和實時速度需求。

表1 各類港口移動目標檢測精度結果
使用訓練好的模型對港口場景的移動目標進行檢測,效果如圖4 所示,對于各種港口場景下,模型均能夠預測較高的類別置信度以及準確地定位不同尺度和視角下的港口移動目標。
為了自動識別港口中的移動目標,本文采用基于深度學習的YOLOv5 算法對自建港口移動目標數據集進行了訓練和測試,經過實驗測試,該模型平均準確率達到87%,檢測速度能夠滿足碼頭現場應用的實時檢測需求。該項技術研究將能夠為港口視覺感知智能化提供新的思路。