徐筱龍 徐國華
華中科技大學(xué),武漢,430073
水下遙控機(jī)器人/水下無人自主機(jī)器人(remotely operated vehicles/autonomous underwater vehicle,ROV/AUV)通常攜帶多種傳感器,其中水下相機(jī)是較為重要和常用的視覺傳感設(shè)備。例如,麻省理工學(xué)院研發(fā)的用來參加 2004年國際AUV競賽的ORCA-VII型AUV配備了一個(gè)指向下方的彩色視頻CCD相機(jī),可識別水下多個(gè)方形區(qū)域并完成規(guī)定動(dòng)作[1];法國的 IFREMER研究開發(fā)了視頻鑲嵌技術(shù),并在2003年ROV“VICTOR6000”的深海6000m 海底火山探測實(shí)驗(yàn)中得到應(yīng)用[2];日本的東京大學(xué)工業(yè)科學(xué)協(xié)會(huì)在AUV“Tan Tan”上嵌入了一個(gè)很完善的光視覺系統(tǒng),可以檢測并識別出不同的水中浮游生物;澳大利亞的 CSIRO ICT Centre在AUV“StarBug”上嵌入了一個(gè)基于視覺的運(yùn)動(dòng)控制系統(tǒng),裝有朝向下和朝向前的CMOS相機(jī),分別用于運(yùn)動(dòng)估計(jì)和避碰控制;國內(nèi)也在水下機(jī)器人視覺方面開展了一系列的研究,如湯士華等[3]對7000m載人潛器的視覺定位試驗(yàn)。
單目視覺作為機(jī)器視覺的一個(gè)重要研究領(lǐng)域,對于水下微小型自主作業(yè)型機(jī)器人而言,因?yàn)槟茉垂?yīng)、搭載體積等限制而具有重要的研究意義。本文討論的視覺定位方法,不借助結(jié)構(gòu)光照、也無外部參照物。在陸地機(jī)器人單目視覺研究領(lǐng)域,McLauchlan提出了一種基于VSDF的迭代求解方法[4];Azarbayejani等[5]于1995年提出了一種迭代求解運(yùn)動(dòng)參數(shù)、結(jié)構(gòu)參數(shù)的方法;Davison等[6-9]提出了一種MonoSLAM 方法,其提供的算例及實(shí)驗(yàn)室機(jī)器人運(yùn)動(dòng)控制錄像表明該方法具有較強(qiáng)的實(shí)用性。
出于簡化模型的考慮,目前機(jī)器人所攜帶的相機(jī)模型一般不考慮畸變的影響或有極少數(shù)僅考慮一階的畸變(如前文提到的各種算法)。簡化模型在大多數(shù)情況下是滿足精度要求的,但在下述兩種情況應(yīng)對畸變作非線性修正:①當(dāng)鏡頭的視野較寬廣時(shí),此時(shí)模型畸變較明顯,不能忽略;②當(dāng)相機(jī)在水下工作時(shí),水流的晃動(dòng)、渾濁度等都會(huì)引起模型畸變,此時(shí)相機(jī)與目標(biāo)間的水層相當(dāng)于是給鏡頭又加了個(gè)透鏡,因此應(yīng)對畸變作非線性修正。
本文的研究目的是通過對OutLand1000型ROV水下相機(jī)的標(biāo)定,獲取可靠的數(shù)據(jù)并分析得到內(nèi)參數(shù),然后對畸變進(jìn)行非線性修正,再對陸地機(jī)器人采用單目視覺定位算法進(jìn)行改進(jìn),提高水下定位精度。
圖1所示為本文的實(shí)驗(yàn)對象OutLand1000型ROV,其基本模型信息如下:①Outland1000機(jī)器人彩色相機(jī)使用了Ex-view CCD芯片;②1/3″CCD;③480線分辨率;④0.01 lux敏感度;⑤3.6mm鏡頭。
理想小孔相機(jī)模型是陸地機(jī)器人視覺定位方法常采用的一種模型,小孔相機(jī)模型下的理想投影變換為
設(shè)P w(x w,y w,z w)是三維世界坐標(biāo)系中物體的三維坐標(biāo);P R(x,y,z)是同一點(diǎn)在相機(jī)坐標(biāo)系中的三維坐標(biāo);P u(x u,y u)是在理想小孔相機(jī)模型下點(diǎn)的正則化坐標(biāo),P m(x m,y m)是計(jì)算機(jī)獲得圖像坐標(biāo)。
采用文獻(xiàn)[10]中的相機(jī)畸變模型,參數(shù)間的對應(yīng)關(guān)系如表1所示。
圖1 OutLand1000 ROV
表1 本文與文獻(xiàn)[10]相機(jī)模型參數(shù)對照
表1中,f c(f c1,f c2)為焦距;c c(c c1,c c2)為相機(jī)光軸與圖像平面的交點(diǎn);αc為傾斜因子;k c為5階畸變向量,kc=(kc1,kc2,kc3,kc4,kc5)。相機(jī)畸變模型可由下式得到:
其中,Pd為相機(jī)畸變模型下的正則化坐標(biāo)。
由上式可得:
相機(jī)標(biāo)定方法是指用一個(gè)結(jié)構(gòu)已知、精度很高的標(biāo)定塊作為空間參照物,通過空間點(diǎn)和圖像點(diǎn)之間的對應(yīng)關(guān)系來建立相機(jī)模型參數(shù)的約束,然后通過優(yōu)化算法來求取這些參數(shù)。定位用模板(圖2)的小方格組成個(gè)數(shù)為9×7;小方格的尺寸為28mm×28mm。
圖2 相機(jī)內(nèi)參數(shù)標(biāo)定試驗(yàn)
本文采用Bouguet方法[11]進(jìn)行標(biāo)定,其主要步驟如下:①讀入像片;②提取黑白方格的交叉點(diǎn)(圖3);③標(biāo)定;④誤差分析(圖4);⑤圖像的二次投影;⑥補(bǔ)償后提取交叉點(diǎn);⑦再次標(biāo)定。
圖3 提取交叉點(diǎn)
圖4 誤差分析
最終標(biāo)定的結(jié)果(以標(biāo)定值及誤差上下限的形式給出)為
MonoSLAM算法是陸地機(jī)器人用的單目視覺定位方法,其有效性已得到了檢驗(yàn),實(shí)驗(yàn)室機(jī)器人基于視覺的避障試驗(yàn)及戶外汽車定位試驗(yàn)如圖5、圖 6 所示。
圖5 MonoSLAM算法室內(nèi)避障試驗(yàn)
圖6 戶外汽車定位試驗(yàn)
單目視覺坐標(biāo)系如圖7所示。
圖7 單目視覺坐標(biāo)系
(1)狀態(tài)向量形如
式中,(yW1,…,yWi,…,yWn)T為n個(gè)目標(biāo)的空間位置坐標(biāo)。
相機(jī)位置及運(yùn)動(dòng)參量
式中,VW、ΩW為世界坐標(biāo)系中的線速度與角速度增量;q為一個(gè)四元素的轉(zhuǎn)換矩陣;Δt為時(shí)間間隔。
(3)觀測方程。目標(biāo)到相機(jī)的距離可表示為
式中,hRL(hRLx,hRLy,hRLz)為目標(biāo)與相機(jī)間的距離;RRW為轉(zhuǎn)換矩陣。
根據(jù)相機(jī)的針孔成像原理有觀測值
式中,向量(u,v)T為特征點(diǎn)在像片中的二維坐標(biāo);u0、v0、f、ku、kv為相機(jī)的內(nèi)參數(shù),先由標(biāo)定算法得到。
式(6)~式(9)可以構(gòu)成標(biāo)準(zhǔn)的EKF(擴(kuò)展卡爾曼濾波)狀態(tài)方程,可通過標(biāo)準(zhǔn)的求解步驟解出狀態(tài)向量x。
式(9)是根據(jù)針孔成像原理所列,u0、v 0、f、ku、kv為相機(jī)的內(nèi)參數(shù),這些參數(shù)與式(4)中的量存在一定的對應(yīng)關(guān)系,如表2所示。
表2 參數(shù)對照表
由Bouguet標(biāo)定方法的最后結(jié)果可知(式(5)),畸變參量 k c=(-0.448 81,0.066 40,0.013 16,0.002 18,0),前四項(xiàng)并非是可以忽略的小量。因此,采用陸地機(jī)器人MonoSLAM 單目視覺定位方法將造成較大的誤差,水下定位方法應(yīng)進(jìn)行畸變修正以提高精度。式(6)~式(8)不變,式(9)的修正如下:
通過下式實(shí)現(xiàn)實(shí)際圖像坐標(biāo)系到計(jì)算機(jī)圖像坐標(biāo)的變換:
式(12)為進(jìn)行高階畸變修正的公式,如果僅考慮一階的畸變,可簡化如下:
式(6)~式(8)與式(12)(或式(13))可以構(gòu)成標(biāo)準(zhǔn)的EKF狀態(tài)方程,可通過標(biāo)準(zhǔn)的求解步驟解出狀態(tài)向量x。
本文提出的單目視覺水下定位算法,可以針對任意結(jié)構(gòu)化、非結(jié)構(gòu)化的目標(biāo)。在試驗(yàn)階段,為獲取目標(biāo)的準(zhǔn)確值、方便與算法結(jié)果相比較,選用了前面所述的標(biāo)定對象,并通過標(biāo)定算法獲得了目標(biāo)的定位值。試驗(yàn)中選取了8個(gè)點(diǎn)(圖8),對照相中截取的35幀圖像(圖9)進(jìn)行了目標(biāo)定位分析,采用了三種算法:陸地機(jī)器人MonoSLAM算法、一階畸變修正改進(jìn)算法和畸變修正改進(jìn)算法。選取分布具有代表性的1號點(diǎn)、5號點(diǎn)(分別位于目標(biāo)的邊緣、中心位置),分別采用此三種算法進(jìn)行試驗(yàn),結(jié)果如圖10所示。分析圖10可知:①直接在水下定位過程中采用陸地機(jī)器人單目視覺定位算法誤差較大,部分特征點(diǎn)處誤差超過2%,這對于精密作業(yè)而言是不允許的,需提高精度;②三種算法核心還是采用EKF方法,初始部分誤差較大,隨著像片幀的增加,誤差逐步減小;③作了一階畸變修正后,精度有了較大提高,相對而言,1號點(diǎn)提高的幅度較大,這是因?yàn)?號點(diǎn)選的位置處于角點(diǎn)位置,而5號點(diǎn)位于中心位置,相對來說位于視野邊緣的特征點(diǎn)畸變較大,因而經(jīng)修正后精度提高較多;④對1號點(diǎn)、5號點(diǎn)的高階畸變修正,精度提高的幅度雖然相對一階修正而言并不大,但也有不同程度的提高,特別是在某些幀改善較明顯。
圖8 水下定位試驗(yàn)?zāi)繕?biāo)點(diǎn)的選取
圖9 用于試驗(yàn)的35幀像片
圖10 水下定位試驗(yàn)
本文對OutLand1000小型水下機(jī)器人的視覺傳感器進(jìn)行了一系列的試驗(yàn),取得了可靠的試驗(yàn)數(shù)據(jù)并在此基礎(chǔ)上分析得到了ROV攜帶相機(jī)的內(nèi)參數(shù);通過對陸地機(jī)器人采用的單目視覺定位算法MonoSLAM的分析改進(jìn),完成了水下單目視覺定位算法,三個(gè)算法的試驗(yàn)比照表明,本文所提出的單目視覺定位算法適用于水下環(huán)境,可以使視覺傳感器精度得到較大提高。
[1] Altshuler R C,Apgar JF,Edelson JS,et al.Orca-Ⅶ:an Autonomous Underwater Vehicle[R].Massachusetts:Massachusetts Institute Technology,2004.
[2] Michel J L.Victor 6000:Design,Utilization and First Improvements[C]//Proceedings of Thirteenth International Offshore and Polar Engineering Conference.Hawaii,2003:7-14.
[3] 湯士華,李碩,吳清瀟,等.一種基于視覺的水下機(jī)器人動(dòng)力定位方法[J].海洋工程,2006,24(2):112-117.
[4] McLauchlan PF,Murray DW.A Unifying Framework for Structure and Motion Recovery from Image Sequences[C]//Proc.ICCV'95.Washington:IEEE Computer Society Press,1995:314-320.
[5] Azarbayejani A,Pentland A.Recursive Estimation of Motion,Structure and Focal Length[J].IEEE Transactions on Pattern Analysis and Maching Intelligence,1995,17(6):562-575.
[6] Davison A J.Real-time Simultaneous Localisation and Mapping with a Single Camera[C]//Proc.ICCV'95.Washington:IEEE Computer Society Press,2003:1403-1410.
[7] Davison A J,Reid I D,Molton N D,et al.Mono-SLAM:Real-time single camera SLAM[J].IEEE Transactions on Pattern Analysis and Maching Intelligence,2007,29(6):1052-1067.
[8] Davison A J.Vision-based SLAM in real-time[C]//Proceedings of 3rd Iberian Conference on Pattern Recognition and Image Analysis.Girona,2007:9-12.
[9] Civera J,Davison A J,Montiel JMM.Inverse Depth Parametrization for Monocular SLAM[J].IEEE Transactions on Robotics,2008,24(5):932-945.
[10] Heikkil?J,Silvén O.A Four-step Camera Calibration Procedure with Implicit Image Correction[C]//IEEEComputer Society Conference on Computer Vision and Pattern Recognition(CVPR'97).Washington :IEEE Computer Society Press,1997:1106-1112.
[11] Bouguet J Y.Visual Methods for three-dimensional Modeling[D].Pasadena:California Institute of Technology Pasadena,1999.