夏紅杰,陳姚節(jié),徐 新,王 薇
(1.武漢科技大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,湖北 武漢 430065;2.武漢科技大學(xué) 智能信息處理與實時工業(yè)系統(tǒng)湖北省重點實驗室,湖北 武漢 430065)
隨著“十四五”規(guī)劃將人工智能技術(shù)視為未來研究領(lǐng)域的首要任務(wù),海上運(yùn)輸正朝著智能化方向快速發(fā)展,“智能船舶”必將成為船舶工業(yè)未來的發(fā)展趨勢。近年來,計算機(jī)視覺的迅速發(fā)展,推動了無人駕駛、機(jī)器人、智能醫(yī)療、安檢防控和人臉識別等新興領(lǐng)域的研究和普及。在復(fù)雜環(huán)境下利用計算機(jī)視覺進(jìn)行相關(guān)目標(biāo)檢測與測距等算法在相關(guān)輔助系統(tǒng)中占據(jù)核心地位,因此可以借鑒智能機(jī)器人與自動駕駛場景下的前方障礙物檢測與測距算法,對其進(jìn)行分析并改進(jìn)遷移應(yīng)用于船舶行駛場景下。
目前大多數(shù)研究采用的視覺測距方法是通過物理手段實現(xiàn)的,主要分為單目視覺和雙目視覺。雙目視覺是利用兩臺攝像機(jī)采集周圍環(huán)境的視頻圖像信息,利用雙眼視差原理進(jìn)行目標(biāo)檢測物的深度信息恢復(fù),然而在視差的計算過程中,就必須對相同情景下的兩張圖像進(jìn)行特征點提取并匹配對應(yīng)點,存在算法復(fù)雜、計算量大、特征點匹配魯棒性保障等技術(shù)難題。而單目視覺則是利用一臺攝像機(jī)采集視頻圖像信息,基于小孔成像原理實現(xiàn)距離測量,因其裝置簡單、成本低、算法復(fù)雜度低、實時性好等特點,符合大部分實時場景的要求,其測距算法包括傳統(tǒng)的通過成像模型、函數(shù)擬合及幾何關(guān)系推導(dǎo)等方法。在目前的研究及實際應(yīng)用中,幾何關(guān)系推導(dǎo)算法因其更強(qiáng)的實用性而被廣泛使用。張云飛等先用背景差分法提取出前方行駛車輛,再利用道路平行約束條件通過幾何推導(dǎo)實現(xiàn)單目視覺實時測距。趙松等基于相機(jī)成像原理建立成像點與目標(biāo)點的幾何關(guān)系,實現(xiàn)室內(nèi)移動物體與目標(biāo)障礙物之間距離的實時監(jiān)測。李勇等通過透視投影原理計算圖像消失點,利用已提取的三維信息和場景中的約束,實現(xiàn)單目視覺的三維重建與測距。王健等利用透視投影幾何原理及單目CCD攝像機(jī)在感興區(qū)域內(nèi)通過灰度梯度進(jìn)行目標(biāo)檢測,從而進(jìn)一步實現(xiàn)單目視覺船舶測距定位。
該文主要針對動態(tài)船舶行駛場景,通過船載攝像頭拍攝船舶行駛過程中附近水域環(huán)境的視頻信息,利用目標(biāo)檢測模型對目標(biāo)船舶在圖像中的位置信息進(jìn)行提取,從而實現(xiàn)目標(biāo)船舶的實時測距。首先對傳統(tǒng)的基于幾何關(guān)系的測距方法進(jìn)行推導(dǎo),在引入包含俯仰角、水平角的相似三角形測距算法的基礎(chǔ)上結(jié)合船舶在水面動態(tài)搖晃及相機(jī)姿態(tài)等誤差分析,采用陀螺儀姿態(tài)補(bǔ)償策略提出單目視覺目標(biāo)船舶測距算法,從而實現(xiàn)單目視覺目標(biāo)船舶測距。
攝像機(jī)成像過程就是三維空間中的物體通過投影映射為圖像平面上的像素點,這種映射關(guān)系也就是不同坐標(biāo)系坐標(biāo)點的轉(zhuǎn)換關(guān)系,總共涉及四個坐標(biāo)系和三次坐標(biāo)系轉(zhuǎn)換,這四個坐標(biāo)系如圖1所示,具體轉(zhuǎn)換過程如圖2所示。
圖1 攝像機(jī)成像坐標(biāo)系
圖2 坐標(biāo)系轉(zhuǎn)換流程
X
,Y
,Z
)表示,可以用來表示所有物體的定位信息。在船舶行駛場景下,世界坐標(biāo)系與相機(jī)坐標(biāo)系的原點分別為船舶中心在水平面的豎直投影點、船載相機(jī)的光心,相機(jī)坐標(biāo)系的光軸(Z
軸)垂直于成像平面,X
軸和Y
軸分別與圖像坐標(biāo)系相應(yīng)軸平行。第一層轉(zhuǎn)換為世界坐標(biāo)系到相機(jī)坐標(biāo)系的轉(zhuǎn)換,通過對目標(biāo)物體的坐標(biāo)進(jìn)行簡單的平移和旋轉(zhuǎn)變換即可實現(xiàn),其轉(zhuǎn)換公式的矩陣表示形式為:(1)
P
(X
,Y
,Z
)根據(jù)小孔成像原理推出其在像平面上的投影點坐標(biāo)p
(x
,y
),原理如圖3所示。圖3 小孔成像原理
利用相似三角形公式,可以推導(dǎo)出公式(2),其矩陣表示形式為公式(3)。
(2)
(3)
其中,f
為相機(jī)焦距,Z
為空間中三維物體沿光軸到相機(jī)的距離。像素坐標(biāo)系的坐標(biāo)原點為成像平面左上角,設(shè)為(u
,v
),其基本單位為像素,圖像坐標(biāo)系到像素坐標(biāo)系的轉(zhuǎn)換需要對成像平面中的點按比例縮放,其轉(zhuǎn)換關(guān)系如公式(4)所示,矩陣表示形式為公式(5)。(4)
(5)
其中,d
,d
分別為圖像坐標(biāo)系中x
軸和y
軸方向上單位像素的長度。聯(lián)合式(1)、(3)、(5),即可得到由世界坐標(biāo)系到像素坐標(biāo)系轉(zhuǎn)換的最終公式:
(6)
在1.1節(jié)建立的單目相機(jī)模型中,待測物體的實際大小需要事先測量,而在船舶行駛實時測距過程中,不可能獲知待測船舶實際大小,因而該模型不適合應(yīng)用于船舶行駛過程中的實時測距?;趲缀瓮茖?dǎo)的單目視覺測距是目前使用最廣泛的模型,簡單的相似三角形測距模型未考慮相機(jī)姿態(tài)角對距離測量的影響,曹毓等分析了相機(jī)定位算法的精確度受到相機(jī)姿態(tài)安裝誤差的影響后,利用車載姿態(tài)傳感器進(jìn)行安裝誤差校正并設(shè)計三組車輛行駛實驗,實驗結(jié)果表明單目視覺定位算法精度得到顯著提高。郭磊等通過實驗分析出車載相機(jī)的俯仰角對測距結(jié)果影響較大,根據(jù)道路邊界平行約束條件,實時計算車載相機(jī)的俯仰角度,從而獲得較為準(zhǔn)確的前方障礙物距離信息。楊雪姣等全面分析相機(jī)姿態(tài)角(俯仰角pitch、水平角yaw、翻滾角roll)對于測距的誤差影響之后,提出了改進(jìn)的相似三角形測距算法,從而減小了由相機(jī)姿態(tài)導(dǎo)致的誤差。
該文為驗證pitch俯仰角與yaw水平角分別對單目視覺測距的影響,在室內(nèi)通過固定相機(jī)移動目標(biāo)檢測物進(jìn)行測距實驗,首先保持相機(jī)俯仰角為35°不變并保持目標(biāo)待測物距離相機(jī)3 m距離,改變水平角進(jìn)行測距,實驗數(shù)據(jù)如表1所示;接著保持相機(jī)水平角為75°不變,目標(biāo)待測物距離相機(jī)從6 m開始依次以1 m為間隔增加距離進(jìn)行測距,實驗數(shù)據(jù)如表2所示;最后通過Matlab對兩組實驗數(shù)據(jù)分別進(jìn)行擬合,擬合結(jié)果如圖4所示。從擬合模型中可以看出,俯仰角相較于水平角對相機(jī)測距模型影響更大。
表1 固定俯仰角改變水平角測距
表2 固定水平角改變俯仰角測距
圖4 Matlab實驗數(shù)據(jù)擬合結(jié)果模型圖
在實際工業(yè)應(yīng)用中,通常將可以測量慣性的傳感器(如陀螺儀、加速度計等)固連在運(yùn)動裝置(如汽車、船舶和飛機(jī)等),根據(jù)相應(yīng)的測量參數(shù)值計算出運(yùn)動裝置的姿態(tài)信息。蘇菲等通過MEMS陀螺儀并結(jié)合加速度傳感器高效并穩(wěn)定地實現(xiàn)了帆船運(yùn)動姿態(tài)角度測量。彭孝東等歸納的MEMS三軸數(shù)字陀螺儀誤差主要包括:設(shè)備安裝、隨機(jī)噪聲常值漂移及標(biāo)度因數(shù)等,并指出傳感器輸出的主要誤差受后兩項影響,從而提出一種陀螺儀標(biāo)定方法補(bǔ)償相關(guān)誤差以提高精確度。
因此,該文考慮到動態(tài)船舶行駛場景下的相機(jī)姿態(tài)誤差,采用高精度陀螺儀來監(jiān)測船舶狀態(tài)從而及時對相機(jī)姿態(tài)進(jìn)行補(bǔ)償,并結(jié)合含pitch、yaw的相似三角形測距算法實現(xiàn)目標(biāo)船舶實時單目測距。
陀螺儀標(biāo)定數(shù)學(xué)模型矩陣形式公式為:
(7)
其中,S
,S
,S
為陀螺儀的標(biāo)定因數(shù),K
,K
,K
,K
,K
,K
為安裝誤差系數(shù),w
,w
,w
為實際測量陀螺儀的輸出值,W
,W
,W
為陀螺儀的實際角速率輸入值,b
,b
,b
為陀螺儀的漂移,其計算公式如下:(8)
其中,w
=15.04°/h為地球自轉(zhuǎn)角速率,φ
=31°為緯度,緯度可以通過GPS定位實時更新。姿態(tài)補(bǔ)償?shù)膶嵸|(zhì)是通過陀螺儀實時監(jiān)測船舶的運(yùn)動狀態(tài),然后使用計算好的陀螺儀標(biāo)定方程,求出船載相機(jī)的補(bǔ)償角度。
H
,鏡頭焦距為f
,相機(jī)俯仰角為α
,水平角為δ
,光軸與物體成像連線夾角為γ
,物體落地點與光軸投影連線形成的夾角為ε
。圖5 含pitch、yaw的相似三角形測距模型
首先計算物體落地點在光軸上的情況,即ε
=0時,由圖可知,β
=α
+γ
。(9)
(10)
計算得到垂直縱向距離為:
(11)
當(dāng)物體落地點不在光軸上時,由圖可知,O
A
=d
(公式9),記為d
,則垂直縱向距離d
,水平橫向距離k
的計算公式為:d
=O
C
*cos(ε
+δ
),k
=O
C
*sin(ε
+δ
)(12)
設(shè)AC
=k
,由三角形oCA
與oFE
相似可得:(13)
由圖可知:
(14)
因此,聯(lián)立以上各式,得到最終的測距公式:
(15)
(16)
實驗數(shù)據(jù)通過將攝像頭與高精度陀螺儀固定安裝在船舶模型并放置在水中,將一些小型船舶模型及障礙物隨機(jī)擺放在船舶周圍10 m以內(nèi)水域以模擬動態(tài)船舶在水面行駛場景,將攝像頭采集到的視頻圖像每隔10幀提取一個視頻幀圖像作為測距實驗分析圖像,考慮到每次移動目標(biāo)船舶時攝像頭需要轉(zhuǎn)動調(diào)整,以及由于水面的波動造成船舶的搖晃均需要一段時間穩(wěn)定,因而每次移動目標(biāo)船舶后均等待1~2分鐘再記錄相關(guān)數(shù)據(jù)。
記錄數(shù)據(jù)之前,先將船舶模型放置在室內(nèi)地面,根據(jù)一系列已知目標(biāo)檢測物距離進(jìn)行攝像頭初始狀態(tài)的標(biāo)定,從而確定相機(jī)的校正參數(shù)。隨后,將模型根據(jù)陀螺儀標(biāo)定方法進(jìn)行陀螺儀標(biāo)定,計算出安裝誤差系數(shù)和陀螺儀標(biāo)定因數(shù)。最后安裝好所有模型及設(shè)備,隨機(jī)移動目標(biāo)船舶在水面中的位置,測量實際距離并利用陀螺儀實時監(jiān)測船舶模型的姿態(tài)變化及時進(jìn)行相機(jī)姿態(tài)補(bǔ)償后記錄預(yù)測數(shù)據(jù)。其中以計算得到的垂直縱向距離作為記錄的測量距離。
由于系統(tǒng)檢測框的不穩(wěn)定性以及船舶模型在水面中的搖晃,導(dǎo)致測量的距離在一定范圍內(nèi)波動,因此對每一次移動目標(biāo)船舶后進(jìn)行多次數(shù)據(jù)記錄,計算平均誤差作為最終誤差,計算公式如下,實驗結(jié)果如表3所示。
(17)
表3 單目視覺測距實驗結(jié)果
實驗結(jié)果顯示,測距在船舶附近10 m水域內(nèi)誤差較穩(wěn)定為3.45%,明顯提高了測量精度和測量距離,可以應(yīng)用于船舶在行駛過程中的目標(biāo)船舶測距。
船舶在行駛過程中實時監(jiān)測與周圍障礙物之間的距離在船舶安全防控中是至關(guān)重要的。該文提出了一種基于單目視覺綜合考慮相機(jī)姿態(tài)角的改進(jìn)相似三角形測距算法,同時結(jié)合陀螺儀監(jiān)測船舶姿態(tài)狀態(tài)并對船載攝像頭進(jìn)行姿態(tài)補(bǔ)償從而很好地應(yīng)對由于船舶在水面行駛的晃動導(dǎo)致的測量誤差,實現(xiàn)對船舶行駛場景下周圍水域目標(biāo)船舶進(jìn)行實時測距。由于該文僅使用單一的陀螺儀傳感器進(jìn)行測量,因此相機(jī)長時間姿態(tài)角度的精準(zhǔn)測量無法保證,以及船舶在實際江域、海域行駛時的自然環(huán)境(如大霧、降雨等)對船載攝像機(jī)拍攝畫面模糊的影響等問題,尚有待于深入研究。