專利名稱:單目視覺半實物仿真系統(tǒng)及方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種單目視覺半實物仿真系統(tǒng)及方法。
背景技術(shù):
隨著計算機視覺理論以及計算機技術(shù)的發(fā)展,計算機視覺已廣泛應(yīng)用于目標(biāo)識別、視覺導(dǎo)引、工業(yè)測量、工業(yè)控制等方面。半實物仿真技術(shù)又稱為硬件在回路仿真,在條件允許的情況下盡可能在仿真系統(tǒng)中接入實物,以取代相應(yīng)部分的數(shù)學(xué)模型,這樣更接近實際情況,從而得到更確切的信息。在計算機視覺研究過程中經(jīng)常會遇到一些復(fù)雜情況,比如常需要大量場景圖像來進(jìn)行算法研究,但通常現(xiàn)場情況復(fù)雜,很難在研究初期就進(jìn)行實物實驗來獲得大量場景圖像。那樣既浪費資金,又影響研究進(jìn)度。因此,在研究工作的初期進(jìn)行仿真實驗是十分必要的。完全的數(shù)字仿真雖然節(jié)約資金、研究時間短,但由于復(fù)雜系統(tǒng)建模困難,不得不對復(fù)雜系統(tǒng)進(jìn)行簡化,并將很多狀態(tài)設(shè)為理想狀態(tài)。雖然也加入了噪聲,但還是很難得到非常接近實際情況的仿真結(jié)果。因此,半實物仿真在計算機視覺研究的初期階段就體現(xiàn)出了優(yōu)勢。但現(xiàn)有資料中還沒有提到一種半實物仿真系統(tǒng)能很好的解決計算機視覺研究過程中所遇到的復(fù)雜情況仿真難的問題,因此設(shè)計一種單目視覺半實物仿真系統(tǒng)用以解決這些困難是十分必要和迫切的。
發(fā)明內(nèi)容
本發(fā)明的目的在于克服現(xiàn)有技術(shù)的缺陷,提供一種單目視覺半實物仿真系統(tǒng)及方法,用以實現(xiàn)在復(fù)雜環(huán)境下計算機視覺研究的仿真工作,尤其適合應(yīng)用于標(biāo)定和視覺導(dǎo)航定位的仿真實現(xiàn),其具有設(shè)備簡單、易于實現(xiàn)和使用范圍廣的優(yōu)點。
本發(fā)明的單目半實物仿真系統(tǒng)包括虛擬成像單元、圖像投影單元和攝像實現(xiàn)單元,這三個單元之間順次連接,并且其相對位置不能變化。所述的虛擬成像單元是將虛擬景象投影到計算機屏幕上;所述的圖像投影單元是將計算機屏幕上的虛擬景象投影到投影平面上;所述的攝像實現(xiàn)單元是通過單目攝像機獲取投影平面上的圖像。
本發(fā)明的單目半實物仿真方法包括以下步驟首先,在虛擬成像單元中,通過OpenGL等軟件對虛擬景象進(jìn)行構(gòu)建,設(shè)定虛擬景象的位置姿態(tài),通過虛擬攝像機將虛擬景象投影到計算機屏幕上。然后,圖像投影單元將圖像投影到投影平面上,經(jīng)過攝像實現(xiàn)單元在投影平面上獲得投影圖像。最后,通過計算機軟件計算得出虛擬攝像機的內(nèi)部參數(shù),虛擬景象的位置姿態(tài),通過與設(shè)定值進(jìn)行比較,分析得出仿真結(jié)果的精度誤差。
本發(fā)明的優(yōu)點主要有(1)創(chuàng)造性地將計算機視覺與虛擬現(xiàn)實技術(shù)結(jié)合起來,很好的解決了復(fù)雜情況仿真難的問題;(2)設(shè)備簡單、易于實現(xiàn),使用范圍廣;(3)通過本仿真環(huán)境,既能得到比完全數(shù)字仿真更加接近真實情況的仿真結(jié)果,又解決了實物實驗花費資金多,準(zhǔn)備時間長等問題。
下面參照附圖和具體實施方式
對本發(fā)明的單目視覺半實物仿真系統(tǒng)及方法作進(jìn)一步詳細(xì)地說明。
圖1是本發(fā)明的系統(tǒng)結(jié)構(gòu)原理圖;圖2是本發(fā)明的系統(tǒng)的結(jié)構(gòu)示意圖;圖3是本發(fā)明的方法流程原理圖;圖4是本發(fā)明的虛擬攝像機視場角與尺度因子關(guān)系示意圖;圖5是本發(fā)明的實施例的平面靶標(biāo)示意圖;圖6是圖5的實施例的虛擬景象的投影圖像示意圖;圖7是圖6的實施例的提取的特征點的圖像示意圖。
具體實施例方式
圖1所示的單目視覺半實物仿真系統(tǒng)包括虛擬成像單元、圖像投影單元和攝像實現(xiàn)單元,這三個單元之間順次連接,并且其相對位置不能變化。所述的虛擬成像單元是將虛擬景像投影到計算機屏幕上;所述的圖象投影單元是將計算機屏幕上的虛擬景象投影到投影平面上;所述的攝像實現(xiàn)單元是通過單目攝像機獲取投影平面上的圖像。
如圖2所示,本發(fā)明的虛擬成像單元包括裝有虛擬視景軟件的計算機1,所述的圖象投影單元包括投影儀2和投影屏幕3。所述的攝像實現(xiàn)單元包括攝像機4、攝像機云臺5和裝有仿真軟件的計算機6。計算機6可控制攝像機云臺5,使攝像機4獲得最佳的視場位置,而且,投影儀2、投影屏幕3、攝像機4和攝像機云臺5均固定在室內(nèi)墻壁或支架上,它們之間位置不能出現(xiàn)相對變化。投影儀2的參數(shù)固定不變,其與計算機1相連接,在投影屏幕3上投出由計算機1中虛擬視景軟件生成的虛擬三維視覺圖像,攝像機4和計算機6相接,通過圖像采集卡先將由攝像機4采集的圖像數(shù)據(jù)傳送至計算機6,并通過計算機6中的仿真軟件對該次采集的圖像進(jìn)行處理,計算得出虛擬攝像機的內(nèi)部參數(shù)及虛擬景象的位置姿態(tài),然后,改變虛擬場景的位置姿態(tài),再重復(fù)進(jìn)行采集計算。
如圖3所示,本發(fā)明的單目半實物仿真方法包括以下步驟首先,在虛擬成像單元中,通過OpenGL等軟件對虛擬景象進(jìn)行構(gòu)建,設(shè)定虛擬景象的位置姿態(tài),通過虛擬攝像機將虛擬景象投影到計算機屏幕上,然后,圖像投影單元將圖像投影到投影平面上,經(jīng)過攝像實現(xiàn)單元在投影平面上獲得投影圖像,最后,通過計算機軟件計算得出虛擬攝像機的內(nèi)部參數(shù),虛擬景象的位置姿態(tài),通過與設(shè)定值進(jìn)行比較,分析得出仿真結(jié)果的精度誤差。
下面結(jié)合附圖具體說明該方法實現(xiàn)的各個步驟步驟一建立由虛擬景象到計算機屏幕的成像模型攝像機線性模型如下式1s1ab1=αx0u000αyv000010RT0T1xwywzw1=Mx1Mx2xwywzw1...(1)]]>其中虛擬景象上點的齊次坐標(biāo)為[xw,yw,zw,1]T,圖像上點的齊次坐標(biāo)為[a,b,1]T;αx是虛擬攝像機像平面上u軸上的尺度因子,αy是虛擬攝像機像平面上v軸上的尺度因子;[u0,v0]為虛擬攝像機像平面上圖像中心坐標(biāo);s1是一比例因子;R,T為旋轉(zhuǎn)矩陣和平移向量; Mx1由αx,αy,u0,v0決定,被稱為虛擬攝像機的內(nèi)部參數(shù);Mx2由R,T決定,被稱為虛擬攝像機的外部參數(shù)。
步驟1確定虛擬攝像機內(nèi)部參數(shù)設(shè)定虛擬攝像機圖像分辨率為1024×768。垂直視場角取30度,具體幾何關(guān)系參照圖4,這里設(shè)定αx=αy=384.0/tan(15.0×π/180)=1433.1075357064;u0=512,v0=384。
步驟2確定虛擬攝像機外部參數(shù)在虛擬視景軟件中為了確定虛擬攝像機的外參需要確定視點的空間位置,即視點在虛擬世界坐標(biāo)系下的三維坐標(biāo)值Tw=[Xw,Yw,Zw];視線方向偏航角度θ(繞X軸方向旋轉(zhuǎn))、俯仰角度(繞Y軸方向旋轉(zhuǎn))和滾轉(zhuǎn)角度φ(繞Z軸方向旋轉(zhuǎn))。
這里設(shè)定虛擬攝像機坐標(biāo)系的初始位置與虛擬世界坐標(biāo)系位置重合。虛擬攝像機在初始狀態(tài)下按照先滾轉(zhuǎn)再俯仰最后偏航的順序進(jìn)行旋轉(zhuǎn),從而確定虛擬攝像機旋轉(zhuǎn)后的最終位置,其旋轉(zhuǎn)矩陣為R,再將虛擬攝像機視點位移到所設(shè)置的位置即完成了從虛擬世界坐標(biāo)系到虛擬攝像機坐標(biāo)系的變換。
坐標(biāo)旋轉(zhuǎn)矩陣R可以用歐拉角表示法求得,根據(jù)前面所規(guī)定的虛擬攝像機旋轉(zhuǎn)順序可知歐拉角表示法中旋轉(zhuǎn)順序為繞Z軸→繞Y軸→繞X軸,旋轉(zhuǎn)角度正負(fù)按右手坐標(biāo)系法則確定,繞X軸、Y軸、Z軸的角度分別為θ,,φ后,可推導(dǎo)求得旋轉(zhuǎn)矩陣為 設(shè)虛擬攝像機視點在虛擬世界坐標(biāo)系中的坐標(biāo)值為TW,則平移向量為T=-(R*TW)最終得到虛擬攝像機外部參數(shù)矩陣為Mx2=RT0T1]]>步驟二建立由計算機屏幕到攝像機像平面的成像模型由于在標(biāo)定過程中,很難對投影儀進(jìn)行單獨標(biāo)定,故將后兩個投影過程合并,作為一個整體來考慮。
在建立計算機屏幕到攝像機像平面的成像模型時,不但要考慮具體模型的建立,而且要對系統(tǒng)的參數(shù)進(jìn)行標(biāo)定,具體分為步驟1建立成像模型為了更準(zhǔn)確的了解整個成像模型,先分別建立計算機屏幕到投影平面,投影平面到攝像機像平面的模型,最后再將兩個模型合并形成由計算機屏幕到攝像機像平面的成像模型,具體包括1)建立由計算機屏幕到投影平面的成像模型由于計算機屏幕到投影平面的投影關(guān)系是面—面投影,故可以得到如下模型s2xtyt1=Htab1...(2)]]>其中s2為比例因子;Ht為一3×3非奇異矩陣;投影平面上點的齊次坐標(biāo)為[xt,yt,1]。
2)建立由投影平面到攝像機的成像模型由于投影平面為一平面,投影平面到攝像機的成像模型可得s3uv1=αcx0uc00αcyvc0001rc1rc2Tcxtyt1...(3)]]>其中攝像機像平面上點的齊次坐標(biāo)為[u,v,1]T;s3為一比例因子;αcx是攝像機像平面上u軸上的尺度因子,αcy是攝像機像平面上v軸上的尺度因子;[uc0,yc0]為攝像機像平面上圖像中心處坐標(biāo);rc1,rc2分別為Rc的第1、2列。
3)建立由計算機屏幕到攝像機像平面的成像模型將式(2)和式(3)合并形成由計算機屏幕到攝像機像平面的成像模型具體公式如下s4uv1=αcx0uc00αcyvc0001rc1rc2tcHtab1=Hbab1...(4)]]>式中Hb為3×3矩陣;s4為一比例因子。
步驟2系統(tǒng)的標(biāo)定利用式(4)的模型公式,對系統(tǒng)進(jìn)行標(biāo)定。
具體過程如下(1)根據(jù)Lenz和Tsai提出的變焦距法(參見Lenz.R.K,Tsai.R.Y,Techniques for Calibrationof the Scale Factor and Image Center for High Accuracy 3-D Machine Vision Metrology,IEEETransactions on Pattern Analysis and Machine Intelligence.Volume 10.Issue 5.September 1988.Pages713-720)求得攝像機像平面上的圖像中心。
(2)利用張廣軍等提出的基于交比不變的攝像機畸變系數(shù)標(biāo)定方法(參見張廣軍編著,《機器視覺》,北京科學(xué)出版社,2005.)實現(xiàn)對攝像機徑向畸變系數(shù)的標(biāo)定。
(3)在求出攝像機像平面上的圖像中心和徑向畸變系數(shù)的基礎(chǔ)上,對攝像機像平面上的圖像進(jìn)行畸變校正后,通過靶標(biāo)上多個角點可由(4)式建立線性方程,利用最小二乘法即可求出矩陣Hb,即完成參數(shù)的標(biāo)定。
步驟三建立整體計算機視覺半實物仿真環(huán)境模型將前邊過程的數(shù)學(xué)模型合并,即可得到半實物仿真環(huán)境的整體模型s5uv1=Hbαx0u000αyv000010RT0T1xwywzw1...(5)]]>s5為一比例因子;其中Hb可通過標(biāo)定得到;R,T為人為設(shè)定。
根據(jù)上述模型可以看出,當(dāng)已知攝像機像平面上點的齊次坐標(biāo)[u,v,1]T和虛擬景象上點的齊次坐標(biāo)[xw,yw,zw,1]T時,就可以計算出式(5)中的虛擬攝像機的內(nèi)參及外參(R、T)。
下面通過一具體實施例來說明本發(fā)明的單目半實物視覺仿真的步驟無人機在陸戰(zhàn)場上已取得顯赫戰(zhàn)績,其出色的表現(xiàn)向整個世界展示了無人機應(yīng)用于海戰(zhàn)的廣闊前景,因而受到各國海軍的重視。而艦載無人機的關(guān)鍵技術(shù)問題之一就是使用后的著艦回收問題,在這里我采用本發(fā)明進(jìn)行無人機著艦仿真實驗。
步驟一首先由虛擬成像單元的OpenGL軟件設(shè)計一個平面靶標(biāo),如圖5所示。這里取靶標(biāo)區(qū)域內(nèi)各黑色方塊的四個角點為特征點,各特征點的坐標(biāo)事先設(shè)定,其中大小黑色方塊的排列方式是為了識別靶標(biāo)坐標(biāo)系的原點和X軸方便。
步驟二由攝像實現(xiàn)單元在投影平面上獲得經(jīng)圖像投影單元投影的圖像。為了敘述簡單起見,這里只相應(yīng)的改變一次位置姿態(tài),以俯仰角為45度,視點是在150厘米處為例,如圖6所示。
步驟三通過計算機仿真軟件的圖像處理功能提取圖像中特征點的圖像坐標(biāo),如圖7所示。
步驟四在已知式(5)中M1,M2,αx,αy,u0,v0情況下,根據(jù)式(5),可求解出無人機的位置姿態(tài)(R,T),具體數(shù)據(jù)如下R=0.702725-0.001678-0.714938
-0.000565-0.9999560.001809-0.711514-0.000596-0.699186T=-0.006923-0.004578150.141495OpenGL中設(shè)定值與實際測量值如下表
表中T=[Tx,Ty,Tz]T為攝像機光心在世界坐標(biāo)系下的坐標(biāo)。
以上所述的僅是本發(fā)明的優(yōu)選實施方式。應(yīng)當(dāng)指出,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干變型和改進(jìn),這些也應(yīng)視為屬于本發(fā)明的保護范圍。
權(quán)利要求
1.一種單目視覺半實物仿真系統(tǒng),其特征在于包括虛擬成像單元、圖像投影單元和攝像實現(xiàn)單元,這三個單元之間順次連接,并且其相對位置不能變化。
2.一種如權(quán)利要求1所述的單目視覺半實物仿真系統(tǒng),其特征在于所述的虛擬成像單元包括裝有虛擬視景軟件的計算機(1),所述的圖象投影單元包括投影儀(2)和投影屏幕(3),所述的攝像實現(xiàn)單元包括攝像機(4)、攝像機云臺(5)和裝有仿真軟件的計算機(6),計算機(6)可控制攝像機云臺(5),使攝像機(4)獲得最佳的視場位置,所述的投影儀(2)、投影屏幕(3)、攝像機(4)和攝像機云臺(5)固定在室內(nèi)墻壁或支架上,它們之間位置不能出現(xiàn)相對變化,投影儀(2)的參數(shù)固定不變,其與計算機(1)相連接,在投影屏幕(3)上投出從計算機1中虛擬視景軟件生成的虛擬三維視覺圖像,所述的攝像機(4)和計算機(6)相接。
3.一種利用如權(quán)利要求1所述的單目視覺半實物仿真系統(tǒng)進(jìn)行半實物仿真的方法,其特征在于包括如下步驟第一步,在虛擬成像單元中,通過OpenGL等軟件對虛擬景象進(jìn)行構(gòu)建,設(shè)定虛擬景象的位置姿態(tài),通過虛擬攝像機將虛擬景象投影到計算機屏幕上;第二步,圖像投影單元將圖像投影到投影平面上,經(jīng)過攝像實現(xiàn)單元在投影平面上獲得投影圖像;第三步,通過計算機軟件計算得出虛擬攝像機的內(nèi)部參數(shù),虛擬景象的位置姿態(tài),通過與設(shè)定值進(jìn)行比較,分析得出仿真結(jié)果的精度誤差。
4.一種如權(quán)利要求3所述的單目視覺半實物仿真方法,其特征在于所述的第一步包括設(shè)定虛擬攝像機的內(nèi)外部參數(shù)的步驟。
5.一種如權(quán)利要求3所述的單目視覺半實物仿真方法,其特征在于所述的第二步包括建立由計算機屏幕到投影平面的成像模型;建立由投影平面到攝像機的成像模型;建立由計算機屏幕到攝像機像平面的成像模型。
6.一種如權(quán)利要求3所述的單目視覺半實物仿真方法,其特征在于所述的第三步包括建立半實物仿真的整體模型s5uv1=Hbαx0u000αyv000010RT0T1xwywzw1]]>其中Hb為3×3矩陣,αx是虛擬攝像機像平面上u軸上的尺度因子,αy是虛擬攝像機像平面上v軸上的尺度因子,[u0,v0]為虛擬攝像機像平面上圖像中心坐標(biāo),s5為一比例因子,攝像機像平面上點的坐標(biāo)[u,v,1]T,虛擬景象上點的齊次坐標(biāo)[xw,yw,zw,1]T。
全文摘要
本發(fā)明涉及一種單目視覺半實物仿真系統(tǒng)及方法,所述的系統(tǒng)包括虛擬成像單元、圖像投影單元和攝像實現(xiàn)單元,在進(jìn)行半實物仿真時,包括如下步驟在虛擬成像單元中,通過OpenGL等軟件對虛擬景象進(jìn)行構(gòu)建,設(shè)定虛擬景象的位置姿態(tài),通過虛擬攝像機將虛擬景象投影到計算機屏幕上,然后,圖像投影單元將圖像投影到投影平面上,經(jīng)過攝像實現(xiàn)單元在投影平面上獲得投影圖像,最后,通過計算機軟件計算得出虛擬攝像機的內(nèi)部參數(shù),虛擬景象的位置姿態(tài),通過與設(shè)定值進(jìn)行比較,分析得出仿真結(jié)果的精度誤差。本發(fā)明的優(yōu)點是設(shè)備簡單、易于實現(xiàn),使用范圍廣,尤其適合應(yīng)用于標(biāo)定和視覺導(dǎo)航定位的仿真實現(xiàn)。
文檔編號G06F3/00GK1851618SQ200610083639
公開日2006年10月25日 申請日期2006年5月31日 優(yōu)先權(quán)日2006年5月31日
發(fā)明者張廣軍, 劉震, 孫軍華 申請人:北京航空航天大學(xué)