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