蘇建東,段修生,齊曉慧
(陸軍工程大學石家莊校區(qū),石家莊 050003)
視覺測量是將計算機視覺應用于空間幾何尺寸的精確測量和定位的方法[1]。視覺測量技術以其非接觸性、測量精度高、響應速度快、不易受干擾等特點,正逐漸應用到航空航天[2-3]、軍事裝備[4]、目標識別[5]、裝備制造[6]、工業(yè)測量和自動化控制等諸多領域。
視覺測量在空間物體的位置和姿態(tài)求解等空間定位問題中應用廣泛,該類問題所用到的幾何特征可以分為點、直線和高級幾何特征等幾類,其中基于點特征的視覺定位問題通常被稱為PnP問題,其研究最為廣泛和成熟[7]。張正友等人提出了一種基于平面靶標的攝像機標定方法[8],受該方法啟發(fā)本文提出了一種基于單目視覺的平面靶標姿態(tài)測量方法,在獲取攝像機內參以后,根據多點透視問題解的穩(wěn)定性,結合最小二乘擬合算法得到相應位置的外參矩陣,并利用Givens矩陣對外參矩陣進行分解,從而求得靶標的3個姿態(tài)角。
仿真系統(tǒng)由于沒有圖像噪聲、模型誤差和機械震動等其他不確定因素,因此,可以用來驗證相關算法的正確性與準確性,分析算法的精度,為進一步優(yōu)化測量算法提供方向。目前攝像機成像仿真技術,大部分的研究是在攝像機線性模型的基礎上,加上鏡頭的畸變、景深效應、光線和色彩等因素。研究點不同,側重點也就不同,以閆龍[9]、張子淼[10]為代表的一批學者在攝影仿真方面取得了一些成果,但在具體的應用中缺乏針對性,結合具體的應用背景,本文設計了一套簡單有效的仿真系統(tǒng),并對文中提出的解算方法進行了驗證。
先給出棋盤狀靶標在理想針孔成像模型下的成像過程示意圖,如圖1所示。
圖1 棋盤狀靶標成像示意圖
圖中定義了4個坐標參考系,其中ow-xwywzw是三維直角坐標系,簡稱世界坐標系。oc-xcyczc是相機三維直角坐標系,簡稱攝像機坐標系,其zc軸與相機鏡頭的光軸重合,攝像機坐標系可在世界坐標系的任意位置。op-xpyp是圖像二維直角坐標系,簡稱圖像坐標系,一般都以像素為單位定義圖像上點的坐標,ob-xbybzb是以棋盤狀靶標所在的平面為xy面的三維直角坐標系,簡稱靶標坐標系,其隨靶標位置姿態(tài)變化而變化。
在不考慮鏡頭畸變的情況下,靶標上任一角點P在靶標坐標系下的齊次坐標向量Pb與其投影點p在圖像坐標系下的齊次坐標向量Pp滿足關系:
式中,zb=0;M1為相機內參矩陣;αx和 αy分別為相機鏡頭在x軸和y軸上的歸一化焦距;u0和v0則是光軸與成像面角點在圖像坐標系下的偏移,內參矩陣在相機安裝好鏡頭、調焦完畢之后就不變了;M2為外參矩陣,不同的靶標坐標系對應一個不同的外參矩陣;R 為旋轉矩陣,設 R=[r1,r2,r3],t為平移向量,設 t=[t1,t2,t3]。
獲取多幅模板在不同姿態(tài)下的圖像進行相機標定,即求解出相機內參。求解內參矩陣的算法是基于張正友提出的張氏定法。
對每一幅圖像,標定模板平面上的點與其像點之間建立了一個Homography映射,定義單應性矩陣:
根據正交矩陣的性質,對于每一幅圖像可以得到約束方程:
這是攝像機內參的兩個基本約束,令:
B是對稱矩陣,可以另表示為下面的六維向量:
這樣,約束方程就可以寫成兩個以b為未知數的齊次方程:
可見只需堆疊其中3幅圖像的方程,可以解出b,那么攝像機內參數可以從B矩陣的封閉解中直接得到,計算如下:
對每一幅圖像,外參數可以由單應性條件計算得到,計算如下:
測量時首先采集零位置圖像,作為測量基準,然后采集待測姿態(tài)圖像。按照上述方法分別計算其旋轉矩陣R0,Rn。則其由零位置至待測位置的旋轉矩陣為:
對該矩陣選擇合適的參數分解,即可求得3個姿態(tài)角 α1、α2、α3,求解過程如下:
定義3個三階Givens旋轉矩陣:
令
選擇合適的參數使得L的l32元素變?yōu)?,即
仿真試驗可運用仿真得到的圖像代替攝像機實際采集的圖像,進行攝像機標定、角點的提取和姿態(tài)角的解算,并將解算結果和仿真輸入作對比,以判斷測量算法的準確性。
如圖2所示,以角點數為8×8的棋盤格靶標為例,給棋盤格上所有的角點編號,建立右手直角坐標系,并設定該坐標系即為世界坐標系ow-xwywzw。
圖2 角點標號及坐標系
設第i行j列的任意一角點P在世界坐標系的初始坐標為:
其中,d為棋盤格每個小方塊的邊長。
當靶標僅繞xw軸旋轉α1時,角點P旋轉后的坐標為:
同理,當靶標分別僅繞yw軸和zw軸旋轉α2和α3時,角點P的坐標分別為:
當棋盤格靶標由初始位置轉到任意位置時,其旋轉過程可分解為:先繞xw軸轉α1,再繞yw軸轉α2,最后繞zw軸轉α3。則點P旋轉之后的世界坐標為:
圖3 角點投影示意圖
設A點為攝像機所在的位置,其在世界坐標系下的坐標為PA。角點P旋轉后在空間的坐標(x1,y1,z1)T可由式(18)求得,建立 AP 的空間直線方程,該直線與投影面的交點即為投影面內角點的坐標,這就是建立仿真模型時需要標繪的點。
如圖3所示,為簡化成像模型,假定點A在世界坐標系的 zw軸上,其坐標為 PA=(0,0,d1)T,d1是攝像機到坐標原點的距離。成像面垂直于zw軸,建立圖像坐標系op-xpyp,使opxp軸平行于owyw軸,攝像機焦距為f,設投影點在世界坐標系內的坐標為Pw,在圖像坐標系內的坐標為Pp,則
其中,R2×3是坐標系世界坐標系和圖像坐標系間的坐標變換矩陣。
世界坐標系中直線AP的兩點式方程為:
令z=d1-f,可得AP與投影面的交點世界坐標為:
使用上文設計的仿真試驗系統(tǒng),生成靶標在不同姿態(tài)下的仿真圖像,設 α1、α2、α3分別為靶標繞 xw、yw、zw軸轉過的角度。圖4所示為靶標在幾組不同姿態(tài)下的仿真圖像。
仿真試驗過程中用仿真圖像代替攝像機實際采集圖像進行角點提取、攝像機標定、角度解算等操作,并將解算得到的角度和仿真輸入作對比,仿真試驗結果如下頁表1所示,由表1可知仿真試驗平均精度可以達到0.05°,并且繞zw軸轉角的精度明顯高于其他兩軸,分析認為這是由于仿真系統(tǒng)中zw軸為光軸方向,靶標繞zw軸轉動是垂直于光軸的,靶標繞其他兩軸轉動均會產生沿光軸運動的分量。單攝像機對于景深信息不敏感,造成了上述試驗結果,這與晁志超[11-12]等人的研究結果是一致的。
圖4 幾組不同姿態(tài)下的仿真圖像
表1的試驗結果雖然可以達到0.05°的精度,但是經分析不難發(fā)現,仿真圖像提取角點時只能達到像素級,這相當于在圖像上加了很強的高斯噪聲,為了分析角點提取精度帶來的誤差,做了以下兩組試驗。
第1組試驗將理論計算得到的投影角點坐標代替仿真提取坐標直接用于姿態(tài)解算,結果如表2所示。不難發(fā)現結果基本和仿真輸入一致,最大誤差不超過0.000 02°。有限的幾組誤差也是數值計算導致的。表2的結果可以說明本文提出的平面靶標姿態(tài)解算方法,理論上是可行的,并且在測量精度上有很大的潛力。
表1 仿真試驗結果(單位:°)
表2 理論試驗結果(單位:°)
表3 降低分辨率后的仿真試驗結果(單位:°)
第2組試驗是修改仿真模型參數,降低仿真圖像分辨率。姿態(tài)解算時仍使用仿真圖像去提取角點坐標,結果如表3所示。不難發(fā)現降低分辨率以后測量精度明顯變差,精度只有0.5°左右,誤差最大值甚至接近1°,與表1結果相比差了一個數量級。分析認為這是由于降低分辨率后仿真圖像仍然提取像素級坐標,與此相對的是表1試驗中雖然也是像素級坐標,但是兩者圖像分辨率差了10倍。因此,相對于本組試驗,表1結果也就相當于提取的“亞像素級”的角點坐標,所以表1測量結果精度更高。
綜合表1~表3的試驗結果可知:圖像分辨率越高、角點檢測精度越高,測量誤差也就越小??梢苑治鋈绻麑Ρ?所用圖像進行亞像素級提取其精度可以提高約一個數量級,預期精度可達0.005°~0.01°左右。
本文提出了一種基于單目視覺的平面靶標姿態(tài)測量方法,并基于攝像機成像模型和靶標運動分析設計一套仿真試驗系統(tǒng)。仿真試驗結果表明本文所提姿態(tài)測量方法可行有效,其仿真測量精度可達0.05°,理論精度可達0.000 02°,實際應用精度期望達到0.005°~0.01°。分析全文仍存在以下不足:建立仿真模型時未考慮畸變參數,將其默認為0,這與實際明顯不符,可進一步完善仿真模型,并且增加圖像畸變矯正的過程,豐富整個仿真系統(tǒng)。