張政 王晉鑫 李磊
摘要:本文主要研究一種基于視覺目標捕捉的船舶航行態勢感知系統。該系統旨在通過對船只上的視頻信息進行分析處理,采用一種基于深度學習的目標檢測算法,通過處理視頻流,準確識別海上運動的目標船只,并獲得其位置、速度和航向等關鍵信息。同時,利用機器學習算法預測目標船的航行軌跡,進一步提高系統的準確性和實用性,旨在滿足用戶在實際應用場景中的需求,以供參考。
關鍵詞:態勢感知;圖像處理;目標識別
DOI:10.12433/zgkjtz.20233105
基金項目:工業和信息化部“船舶(航行)態勢智能感知系統研制”項目
項目編號:MC-201920-X01
隨著人工智能技術的不斷發展和應用,無人船作為一種智能化、自主化的新型船舶正在迅速崛起。無人船相較于傳統的船舶,具有無人值守、成本低廉、風險低等諸多優勢,在海上巡航、監測、勘探等方面具有廣闊的應用前景。本文旨在研究和應用基于視覺目標捕捉的船舶航行態勢感知系統,為無人船的航行安全提供可靠的技術保障。
一、概述
目標檢測是水面航行器的重要任務,因為它是航行駕駛員能識別和跟蹤環境中的目標,對航行決策提供輔助建議,也可以用于與AIS目標、雷達ARPA目標融合后得到更精準的目標位置。
本文采用了一種將目標屏幕坐標轉換為地球經緯度坐標的方法。該方法基于船舶的GPS定位信息和攝像機的拍攝角度等參數,可以實現對目標在地球表面上的準確定位。在轉換過程中,需要進行多次坐標變換和計算,以實現對目標的精確定位。
本文訓練了一個基于YOLOv5的深度神經網絡用于船舶目標的識別,并將其與卡爾曼濾波相結合用于船舶目標的跟蹤與預測。
二、方法
(一)空間對齊體系
1.基礎信息
一般的攝像頭會存在由于鏡頭光學系統的物理特性引起的徑向畸變或切向畸變問題。針對攝像頭畸變問題,張正友等人提出了一種基于棋盤格校正的畸變校正算法。該算法通過攝像頭拍攝放置的已知形狀和大小的棋盤格,并通過計算棋盤格角點與圖像像素之間的映射關系,推導出畸變系數,并將其應用于整個圖像中,從而糾正畸變圖像。在具體實現上,該算法需要計算攝像頭的內參矩陣和畸變系數,并通過對每個像素點進行畸變校正,將畸變圖像糾正為無畸變的圖像。
2.攝像頭位姿
本文可通過獲取本船靜態信息與姿態信息的方式計算攝像頭的瞬時位姿。
所需的本船靜態信息數據包括船舶的長、寬、高、吃水深度(靜態)、攝像頭(組)的固定位置;同時,還要將實時獲取的船身動作輸入運動模型,包括縱搖、橫搖等瞬時數據,計算當前狀態下,攝像頭所處三維位置和朝向,并進一步計算出攝像頭畫面的中心坐標,以保持視頻數據與相融合的物標三維坐標的動態對齊。
本系統在不考慮遮擋的情況下將攝像頭各個時刻的位置信息、高度信息和姿態信息作為輸入,通過下列步驟,獲得攝像頭畫面中識別出目標的屏幕坐標轉換為經緯度坐標,并作為下一步目標融合的輸入。
(1)計算目標點(地球表面點)距離畫面中心的水平和垂直像素距離:
(1)
(2)計算畫面中目標點(地球表面點)與攝像頭位置的距離:
(2)
(3)計算畫面中目標點(地球表面點)相對于攝像頭位置的方位角:
(3)
(4)畫面中目標點(地球表面點)的經緯度:
(4)
(5)
其中pointpixelx和pointpixely是畫面中任意一點的像素坐標,cameralat是攝像頭位置的緯度,cameralon是攝像頭位置的經度,cameraheight是攝像頭的高度(單位:米),camerabearing是攝像頭的方位角(單位:弧度),earthradius是地球的半徑(單位:米),viewangle是攝像頭的視野角度(單位:弧度)。
(二)目標檢測
為了在本系統中使用YOLOv5進行目標檢測,可以采取以下步驟:
1.數據的預處理
使用COCO數據集中1578張作為本系統的訓練集,自行標注數據1006張,共2584張已標注圖片作為訓練集。
2.模型的選擇和配置
選擇YOLOv5s作為模型版本,僅設置1類識別類,這是因為訓練集標注單一且訓練集較小,避免過擬合并提高訓練速度。使用COCO預訓練權重處理類似的目標檢測任務。
3.模型的訓練和評估
混淆矩陣如圖1所示,顯示了對于目標的識別結果,可以看到在船舶的識別中的準確率達85%,但在假正和真反上存在較大的誤判率。損失函數收斂曲線如圖2、圖3所示,顯示了算法在訓練過程中損失函數的收斂情況,算法在迭代次數逐漸增加后,損失函數有逐漸下降趨勢,表明算法在訓練過程中逐漸收斂。
圖1 ? 混淆矩陣
圖2 ?訓練損失函數收斂曲線
圖3 ? 測試損失函數收斂曲線
(三)目標跟蹤
本文使用爾曼濾波的方式對目標進行跟蹤。具體而言,使用YOLOv5算法檢測和識別視頻幀中的船舶目標,并獲取目標的邊界框位置信息。將目標位置信息輸入到卡爾曼濾波器中,估計目標的位置和速度,并預測下一幀中目標的位置。然后,使用YOLOv5算法檢測和識別下一幀中的目標,并將檢測到的目標位置信息輸入到卡爾曼濾波器中,更新目標的位置和速度。通過不斷重復這一過程,可以實現對目標的跟蹤。實現步驟如下:
1.狀態空間模型
假設目標狀態由位置和速度兩個維度組成,即
(6)
觀測量是目標位置信息,即
(7)
因此,狀態空間模型表示為:
(8)
(9)
其中,Fk是狀態轉移矩陣,表示上一時刻的狀態如何轉移到當前時刻的狀態;Wk是過程噪聲,表示狀態轉移過程中的不確定性;Hk是觀測矩陣,表示當前狀態如何映射到觀測量;vk是觀測噪聲,表示觀測過程中的不確定性。
2.預測
在預測階段,根據上一時刻的狀態和狀態轉移矩陣Fk,預測當前時刻的狀態xk。同時,估計當前的狀態協方差Pk,表示對當前狀態的不確定性。
預測公式如下:
(10)
(11)
其中,是預測的狀態,是預測的狀態協方差,Qk是過程噪聲協方差。
3.更新
在更新階段,根據觀測量Zk和Hk觀測矩陣,對預測的狀態進行校正,并計算當前狀態的協方差Pk。
更新公式如下:
(12)
(13)
(14)
其中,Kk是卡爾曼增益,Rk是觀測噪聲協方差。
通過預測和更新兩個步驟,可以實現對目標位置和速度的跟蹤和預測,從而更加準確地進行目標識別和跟蹤。
三、實驗和評估
在對視頻目標捕捉的試驗評估中,選用航速較高的船舶運行中的AIS真實值數據和同時錄制的視頻數據,作為評估參考值和評估目標。
評估的指標是計算船舶的定位誤差,即目標的實際位置和濾波估計位置之間的距離。選用的計算參數為平均絕對誤差,計算公式如下:
(15)
其中,n為樣本個數,x1i、y1i為真實坐標值,x2i、y2i為估計坐標值。即對每個樣本,計算估計值與真實值之間的差,求出均值,得到平均絕對誤差。
圖4 ? 視頻識別目標跟蹤絕對誤差分布
本文使用50s的錄制視頻(視頻畫面中僅存在一個目標),以每秒所在視頻幀識別的目標位置,與對應的AIS目標位置使用上述公式進行計算,得到的平均絕對誤差為5.43m。
四、結語
本文提出基于視覺目標捕捉的船舶航行態勢感知系統,并模擬船載攝像頭的拍攝畫面(船艏)進行測試,使用成熟的深度神經網絡進行目標識別獲得了近95%的捕捉成功率,并跟蹤識別出的目標,獲得近98%的目標跟蹤率。
系統在實驗評估過程中作為評估參考值的AIS數據進行比對的過程中,雖然精選了AIS數據的來源,但受限于AIS設備誤差,參考值仍存在數據不準確的隱患。所以,關于目標捕獲的評價體系的搭建仍存在不足,本文的方法可作為目標融合的信號源之一,在船舶導航領域為船舶識別和跟蹤的準確性的提升給出了一個可行的方向,同時本系統在與AR設備z結合之后也可作為輔助瞭望設備。
參考文獻:
[1]Kalman,R.E.(1960).A New Approach to Linear Filtering and Prediction Problems[J].Journal of Basic Engineering,82(01),35-45.
[2]Zhang,Z.(2000).A Flexible New Technique for Camera Calibration[J].IEEE Transactions on Pattern Analysis and Machine Intelligence,22(11),1330-1334.
[3]Lin,T.-Y.,Maire,M.,Belongie,S.,et al(2014).Microsoft COCO:Common Objects in Context[J].In European Conference on Computer Vision (740-755).Springer,Cham.