劉 磊,趙志敏
(南京航空航天大學(xué) 理學(xué)院,江蘇 南京 211106)
在計算機(jī)視覺領(lǐng)域內(nèi),空間目標(biāo)的位置和姿態(tài)是非常關(guān)鍵的參數(shù),尤其是在視覺導(dǎo)航、目標(biāo)識別以及人機(jī)交互等方面[1,2]。圓是物體的基本幾何形狀,在許多自然景物和人造物體中大量存在,并且圓形是一種幾何特征明顯且容易識別的形狀,在圖像處理中有著其它幾何形狀無法比擬的優(yōu)點(diǎn)。圓形特征已經(jīng)被應(yīng)用在各種機(jī)器視覺相關(guān)的領(lǐng)域[3]。例如,使用圓形標(biāo)志來進(jìn)行移動機(jī)器人位置的精確估計,使用圓形標(biāo)志物來進(jìn)行三維物體的識別,以及使用圓形表面輪廓來進(jìn)行目標(biāo)的三維姿態(tài)估計等[4]。
作為姿態(tài)角的一種,俯仰角在許多領(lǐng)域起著重要作用。在火箭發(fā)射過程中,火箭的俯仰角等姿態(tài)參數(shù)是反映火箭飛行狀態(tài)的重要參數(shù),對于分析火箭的運(yùn)動狀態(tài)等有著重要的價值[5]。無人機(jī)及其它飛行器在飛行及著陸的過程中,也需要實時估計其姿態(tài)角等參數(shù)[6,7]。在頭盔瞄準(zhǔn)具中,射擊目標(biāo)的位置是依靠頭部的運(yùn)動來確定的,頭部的俯仰角等姿態(tài)角測量,關(guān)系到射擊的命中率[8]。而在計算機(jī)視覺領(lǐng)域,通過攝像測量獲得距離等參數(shù)已經(jīng)應(yīng)用于汽車自動測距等,而攝像機(jī)的俯仰角參數(shù)直接影響著所測距離的精確度[9]。對于空間圓形目標(biāo)的姿態(tài)角,國內(nèi)外已經(jīng)開始了相關(guān)研究。Safaee-Rad等人[4]使用幾何分析的方法,提出了一種圓形目標(biāo)的三維定位問題的閉合分析解。魏振中[3,10]等人研究了中心畸變誤差及空間圓姿態(tài)識別二義性的消除問題?,F(xiàn)有的俯仰角測量方法,計算較為復(fù)雜。
現(xiàn)作為探索性研究,基于攝像機(jī)透視投影原理,對空間圓形目標(biāo)的俯仰運(yùn)動及俯仰角的測量進(jìn)行研究,提出一種測量空間圓形目標(biāo)俯仰角的方法。
俯仰角最早出現(xiàn)在航空航天領(lǐng)域,定義為機(jī)體坐標(biāo)系X軸與水平面的夾角。當(dāng)X軸的正半軸位于過坐標(biāo)原點(diǎn)的水平面之上時,俯仰角為正,俯仰角θ的范圍為[-π/2,π/2]。
由于設(shè)定攝像機(jī)光心與圓形目標(biāo)之間的距離相對圓形目標(biāo)的直徑來說非常大,并且圓形目標(biāo)可在攝像機(jī)成像平面上完全成像,成像部位為感光器件中央或靠近中央位置,因此不考慮因攝像機(jī)鏡頭畸變等因素而帶來的影響。結(jié)合運(yùn)動分析的方法,現(xiàn)對圓形目標(biāo)的俯仰運(yùn)動進(jìn)行研究。不妨設(shè)定圓形目標(biāo)的初始位置,并根據(jù)俯仰運(yùn)動的旋轉(zhuǎn)軸是否通過其圓心,將俯仰運(yùn)動分為以下兩種情況來分別進(jìn)行分析。
如圖1所示,OXYZ為空間圓坐標(biāo)系,OCXCYCZC為攝像機(jī)坐標(biāo)系,OC為攝像機(jī)光心。圓形目標(biāo)O-ABCD(簡稱圓O)位于攝像機(jī)正前方,圓心O與攝像機(jī)光心OC距離為l,攝像機(jī)光軸即為ZC軸,與圓O所在平面垂直并過O點(diǎn)。圓坐標(biāo)系X軸與過原點(diǎn)O的水平面的夾角即為俯仰角,初始時為0°。當(dāng)圓O圍繞Z軸做旋轉(zhuǎn)運(yùn)動時,即為俯仰運(yùn)動。正方向設(shè)定為從逆著Z軸正向看,逆時針方向運(yùn)動。
圖1 圓坐標(biāo)系與攝像機(jī)坐標(biāo)系(情況1)Fig.1 The coordinate systems of the circle and camera(case 1)
根據(jù)攝像機(jī)透視投影原理,現(xiàn)作出圓形目標(biāo)的透視投影圖。圖2(a)為初始時圓O的透視投影成像圖,圓O所在平面為P,在成像平面P′上所成像為圓O′-A′B′C′D′。圖2(b)所示為發(fā)生俯仰運(yùn)動后的狀態(tài),運(yùn)動后的圓標(biāo)記為OAB1CD1,所在平面為P1。旋轉(zhuǎn)軸為直徑AC所在直線(Z軸)。
圖3為圖2的簡化示意圖。根據(jù)相似三角形原理,可以得到:
式(1)中,D1E=B1F=rcosα,r為圓O的半徑,α為所求俯仰角。由式(1)可得:
D′1O′與B′1O′為圓的兩個半徑DO與BO在成像平面上所成像,設(shè)其長度分別為R1和R2。因此,俯仰角的計算公式為:
若R1>R2,俯仰角為正;若R1<R2,俯仰角為負(fù)。
圖2 圓形目標(biāo)的成像圖(情況1)Fig.2 The perspective projection of circular object(case 1)
如圖4所示,O-XYZ為圓坐標(biāo)系,OCXCYCZC為攝像機(jī)坐標(biāo)系,OC為攝像機(jī)光心。圓形目標(biāo)O1-ABCD(簡稱圓O1)位于攝像機(jī)前方,圓坐標(biāo)系原點(diǎn)O與攝像機(jī)光心OC距離為l,攝像機(jī)光軸即為ZC軸,與圓O1所在平面垂直并過O點(diǎn)。圓心O1與原點(diǎn)O之間距離為h(相對l,h大小與r同量級,圓形目標(biāo)可實現(xiàn)完全成像)。圓O1繞Z軸(不經(jīng)過圓心)做旋轉(zhuǎn)運(yùn)動時,即為俯仰運(yùn)動。圓坐標(biāo)系X軸與過原點(diǎn)的水平面的夾角即為俯仰角,初始時為0°。正方向設(shè)定為從逆著Z軸正向看,逆時針方向運(yùn)動。
圖3 圖2的簡化示意圖Fig.3 The simplified schematic representation of Fig.2
圖4 圓坐標(biāo)系與攝像機(jī)坐標(biāo)系(情況2)Fig.4 The coordinate systems of the circle and camera(case 2)
根據(jù)攝像機(jī)透視投影原理,作出其透視投影成像圖,圖5(a)和圖5(b)分別為初始狀態(tài)和發(fā)生俯仰運(yùn)動后的狀態(tài)。初始時,圓O1-ABCD位于平面P,其成像為圓O′1-A′B′C′D′,在平面P′上。俯仰運(yùn)動后,圓O1-ABCD標(biāo)記為圖5(b)中平面P2上的圓O2-A2B2C2D2,成像為平面P′上的橢圓O′2-A′2B′2C′2D′2。
圖6為圖5的簡化示意圖,直徑BD做俯仰運(yùn)動后記為線段B2D2,過O2點(diǎn)做線段OCO的垂線段O2E,垂足為E點(diǎn)。設(shè)直徑A2C2在成像平面上所成像A′2C′2長度為s,可以得到:
即:
式(5)中,f為攝像機(jī)的有效焦距,r為圓O1的半徑,α為所求俯仰角。
圖5 圓形目標(biāo)的成像圖(情況2)Fig.5 The perspective projection of circular object(case 2)
由式(5),可求得俯仰角的計算公式:
圖6 圖5的簡化示意圖Fig.6 The simplified schematic representation of Fig.5
針對上述1.2節(jié)中的第二種情況進(jìn)行了實驗,實驗原理及裝置如圖4所示。實驗中,采用了一個圓形目標(biāo),其上標(biāo)有互相垂直的兩條直徑。圓形目標(biāo)可繞旋轉(zhuǎn)軸做俯仰運(yùn)動,初始的俯仰角為0°,每當(dāng)圓形目標(biāo)運(yùn)動10°時,攝像機(jī)記錄其圖像,并通過對所獲取圖像進(jìn)行濾波、對比度增強(qiáng)等處理,獲取計算所需的直徑像素數(shù)等數(shù)據(jù)。
圖7示出了當(dāng)俯仰角分別為0°,20°和40°時,采集到的空間圓形目標(biāo)的圖像。實驗中,l=0.9m,h=0.15m,r=0.045m,f=1.36×10-4m,s值可通過比例求解得到。進(jìn)而根據(jù)式(6)進(jìn)行計算,得到一組俯仰角的計算值,如表1所示。結(jié)果顯示,在不考慮攝像機(jī)透視畸變及誤差允許的情況下,文中所提出的方法可以方便有效地計算出空間圓形目標(biāo)的俯仰角度。只是在俯仰角度的絕對值增大時,測量誤差會相應(yīng)地增大,這與攝像機(jī)成像原理及提取直徑像素的精度等因素有關(guān)。當(dāng)俯仰角為±90°時,將無法采集到圓形目標(biāo)的直徑,所以該方法測量的俯仰角范圍為(-π/2~π/2)。
圖7 實驗中所采集空間圓形目標(biāo)圖像Fig.7 The images of circular object acquired in experiment
表1 空間圓形目標(biāo)俯仰角測量值Tab.1 The measurement value of pitch angles of circular object
文中研究了空間圓形目標(biāo)的俯仰運(yùn)動,提出了一種基于攝像機(jī)透視投影原理的空間圓形目標(biāo)俯仰角的測量方法。根據(jù)圓形目標(biāo)的俯仰運(yùn)動旋轉(zhuǎn)軸是否通過其圓心,將俯仰運(yùn)動分為兩類。通過分析空間圓形目標(biāo)在不同姿態(tài)時的透視投影成像,使用幾何推理的方法,分別推導(dǎo)出了空間圓形目標(biāo)兩種俯仰運(yùn)動俯仰角的計算公式,并通過實驗進(jìn)行了驗證。結(jié)果表明,所提出的方法,能夠很好地實現(xiàn)空間圓形目標(biāo)俯仰角的測量。如何提高現(xiàn)場的測量和計算結(jié)果的精度,都將是進(jìn)一步的研究工作。
[1] LU Y,LEINONEN T.Solution and simulation of position-orientation for multi-spatial 3-RPS parallel mechanisms in series connection[J].MultibodySystemDynamics,2005,14(1):47-60.
[2] FANTONI C.3Dsurface orientation based on a novel representation of the orientation disparity field[J].VisionResearch,2008,48(25):2509-2522.
[3] 魏振忠,張廣軍.視覺檢測中橢圓中心成像畸變誤差模型研究[J].北京航空航天大學(xué)學(xué)報,2003,29(2):140-143.
[4] SAFAEE-RAD R,TCHOUKANOV I,SMITH K C,etal.Three-dimensional location estimation of circular features for machine vision[J].IEEETransRobotAutomat,1992,8(2):624-640.
[5] 于起峰,孫祥一,陳國軍.用光測圖像確定空間目標(biāo)俯仰角和偏航角的中軸線法[J].國防科技大學(xué)學(xué)報,2000,22(2):15-19.
[6] 潘 翔,馬德強(qiáng),吳貽軍,等.基于視覺著陸的無人機(jī)俯仰角與高度估計[J].浙江大學(xué)學(xué)報(工學(xué)版),2009,43(4):692-696.
[7] 趙世峰,張 海,范耀祖.一種基于計算機(jī)視覺的飛行器姿態(tài)估計算法[J].北京航空航天大學(xué)學(xué)報,2006,32(8):885-898.
[8] 王 超,魏生民,周繼紅,等.視頻圖像技術(shù)在頭部位置跟蹤上的應(yīng)用研究[J].現(xiàn)代制造工程,2008(2):111-115.
[9] 郭 磊,徐友春,李克強(qiáng),等.基于單目視覺的實時測距方法研究[J].中國圖像圖形學(xué)報,2006,11(1):74-81.
[10] 魏振忠,趙 征,張廣軍.空間圓姿態(tài)識別二義性的角度約束消除[J].光學(xué) 精密工程,2010,18(3):685-691.