專利名稱:用于確定位置和方位的方法和設備的制作方法
技術領域:
本發(fā)明涉及一種用于確定目標的位置和方位的技術。
背景技術:
近年來,進行了大量的關于混合現(xiàn)實的研究,其針對現(xiàn)實空間和虛擬空間的無縫合成?;旌犀F(xiàn)實可以通過視頻透視方法顯示在圖像顯示裝置上,其中虛擬空間的圖像(例如,由計算機圖形或文本信息繪成的虛擬物體)疊加到用例如攝像機的攝像裝置拍攝而成的現(xiàn)實空間的圖像上。虛擬空間根據(jù)攝像裝置的位置和方位而生成。
另外,混合現(xiàn)實還可以通過光學透視方法顯示在設置于觀察者頭部的光學透視型顯示器上,其中顯示了根據(jù)觀察者的觀察點的位置和方位而生成的虛擬空間的圖像。
作為不同于已知的對于虛擬現(xiàn)實的應用的這些圖像顯示裝置的應用,可以期待新的領域如外科輔助工具,可以將病人身體內(nèi)的狀態(tài)疊加到體表或混合現(xiàn)實游戲,其中游戲者與虛擬空間內(nèi)的虛擬敵人作戰(zhàn)。
在這兩種新的應用領域中,都要求現(xiàn)實空間與虛擬空間的精確對齊,并且為了達到這個目的進行了各種各樣的實驗。在視頻透視方法中,攝像裝置在場景(也就是,在世界坐標系)中的位置和方位的精確確定可以導致混合現(xiàn)實中的精確對齊。同樣地,在光學透視方法中,對于觀察點或顯像在場景上的位置和方位的精確確定可導致混合現(xiàn)實的精確對齊。
在視頻透視方法中,通常通過在場景上排列或設定多個標志,也就是人造標記或自然特征并檢測標志在由攝像裝置拍攝的圖像上的投影的坐標來確定攝像裝置在場景上的位置和方位。
另外,可以將慣性傳感器附著在攝像裝置上,并且可以將基于傳感器的測量結果而估計的攝像裝置的位置和方位用于對標志的檢測處理中。估計的結果同樣還可以用作初始值用于基于圖像計算位置和方位或在未檢測標志的情況下用作大致位置。相應地,相較于僅使用了圖像信息的情況(參見例如,Hirofumi Fujii、Masayuki Kanbara、Hidehiko Iwasa、Haruo Takemura以及Naokazu Yokoya所著的“ARegistration Method Using Stereo Cameras with an Inertial Sensor forAugmented Reality”,IEICE Technical Report,PRMU 99-192,vol.99,no.574,pp.1-8),可以執(zhí)行更為穩(wěn)定的對齊。
在光學透視方法中,通常通過在目標物體上附著攝像裝置(以及慣性傳感器)、由上述方法確定攝像裝置的位置和方位并基于攝像裝置的位置和方位計算目標物體的位置和方位來確定目標物體的位置和方位(也就是,觀察者的頭或顯示屏)。
下面參考圖1對已知的確定攝像裝置的位置和方位的位置/方位確定設備進行描述。圖1顯示了已知的位置/方位確定設備的結構。如圖1所示,已知的位置/方位確定設備100包括圖像輸入單元160、數(shù)據(jù)存儲器170、標志檢測器110、方位傳感器單元140、方位預測單元150以及位置/方位計算器120,并且連接到攝像裝置130。
另外,作為由攝像裝置130拍攝的標志(以下簡稱為標志),將多個標志Qk(k=1...K1)排列在現(xiàn)實空間的多個位置上。標志Qk在世界坐標系(坐標系由位于現(xiàn)實空間的一個確定點上的原點以及互相垂直的X,Y以及Z軸來定義)的位置是已知的。標志Qk可以排列成當將攝像裝置放置在其位置和方位待確定的目標區(qū)域內(nèi)時,總是能夠在攝像裝置130所獲得的圖像上觀察到至少有三個或更多的標志。在圖1所示的例子中,排列了四個標志Q1,Q2,Q3,和Q4,并且將其中的三個標志Q1,Q3和Q4布置在攝像裝置130的視野內(nèi)。
標志Qk可以是具有不同色彩的圈形標記或特征點,例如具有不同質(zhì)地特征的自然特征。只要圖像上的標志的投影坐標是可檢測的,并且能夠個別地彼此區(qū)分這些標志,就可以使用任何類型的標志。
將攝像裝置130所輸出的圖像(下文中稱為拍攝圖像)輸入位置/方位確定設備100。
圖像輸入單元160將輸入到位置/方位確定設備100的拍攝圖像轉換為數(shù)字數(shù)據(jù),存儲數(shù)據(jù)到數(shù)據(jù)存儲器170,并且輸出將圖像輸入方位預測單元150的時間。
將方位傳感器單元140附著在攝像裝置130上。方位傳感器單元140測量出其自身目前的方位并且將所測量到的方位輸出到方位預測單元150。方位傳感器單元140基于回轉儀傳感器,例如,可以使用Tokimec Inc.制造的TISS-5-40或InterSense Inc.制造的Inertia Cube 2。這些方位傳感器單元中的每一個都生成一個隨著時間而累積的漂移誤差。這樣,所測量到的方位包括有誤差,且與真實方位有異。
方位預測單元150在對應于前一幀的時間(下文中稱為時間τ-1)從數(shù)據(jù)存儲器170處收到攝像裝置130的計算方位(從位置/方位計算器120輸出)。當攝像裝置130輸出的是NTSC信號時,在對于每個幀的位置和方位待確定的情況下時間τ-1為33.3毫秒之前而在對于每個半幀的位置和方位待確定的情況下為16.7毫秒。另外,方位預測單元150還在對應于現(xiàn)在幀的時間(下文中稱為時間τ)從方位傳感器單元140處收到測量到的方位,預測攝像裝置130在時間τ的方位,并且輸出預測的方位到數(shù)據(jù)存儲器170。
標志檢測器110從數(shù)據(jù)存儲器170處接收拍攝圖像并且檢測到圖像所包括的標志Qk的圖像坐標。例如,當標志Qk是具有不同色彩的標記時,檢測出拍攝圖像上對應于標記的色彩的區(qū)域,并且將被檢測區(qū)域的中心點的坐標定義為檢測坐標。另外,當標志Qk是具有不同質(zhì)地特征的特征點時,就在拍攝圖像上進行采用了標志模板圖像的模板匹配來檢測標志的位置。在這種情況下,預先存儲標志的模板圖像作為已知信息。標志檢測器110還可以從數(shù)據(jù)存儲器170處接收攝像裝置130在時間τ所計算的位置(從位置/方位計算器120輸出)以及預測的方位(從方位預測單元150輸出)。在這種情況下,將這些值用于預測圖像上的標志的位置并且限制搜索范圍,因此就能夠以較小的計算負載進行標志檢測處理,并且可以減少對于標志的誤檢測和誤識別。
然后,標志檢測器110輸出被檢測標志Qkn的圖像坐標uQkn以及標識符kn到數(shù)據(jù)存儲器170。這里,n(n=1...N)指的是被檢測標志,且N表示的是被檢測標志的總數(shù)。例如,在圖1所示的情況下,N為3,并且標識符k1=1、k2=3以及k3=4,并且輸出對應的u圖像坐標Qk1、uQk2以及uQk3。
位置/方位計算器120從數(shù)據(jù)存儲器170處接收在時間τ的預測的方位以及由標志檢測器110所檢測到的一組每個標志Qkn的圖像坐標uQkn以及世界坐標xWQkn。接著,位置/方位計算器120基于使用預測的方位的標志以及作為初始值的在時間τ-1所計算的位置之間的關系計算攝像裝置130的位置和方位。將這樣計算出的位置和方位輸出到數(shù)據(jù)存儲器170,并通過接口(I/F)(沒有顯示)輸出到外部裝置。
數(shù)據(jù)存儲器170存儲從圖像輸入單元160輸入的圖像、從方位預測單元150輸入的預測的方位、從位置/方位計算器輸入的所計算的位置和方位、從標志檢測器110輸入的標志的圖像坐標和標識符以及事先已知的標志的世界坐標,并且在必要的時候輸入或輸出這些數(shù)據(jù)。
以下將結合圖2的流程圖來描述由包括在已知設備內(nèi)的方位預測單元150所進行的處理。
雖然有很多方法來表示方位,本例中使用了一個3×3的旋轉矩陣。
在步驟S2000中,方位預測單元150判斷是否從圖像輸入單元160輸入了一個觸發(fā)(當輸入新圖像時產(chǎn)生)。如果輸入了一個觸發(fā)(步驟S2000的是),處理就進行到步驟S2010。如果觸發(fā)沒有輸入,重復步驟S2000。
在步驟S2010中,方位預測單元150從方位傳感器單元140接收測量到的方位R#(#代表該數(shù)據(jù)作為測量結果由傳感器獲得),并且將這個方位設定為時間τ的測量到的方位R#τ。
在步驟S2020中,方位預測單元150從數(shù)據(jù)存儲器170處接收在時間τ-1所計算的方位Rτ-1。
在步驟S2030中,方位預測單元150計算攝像裝置130在時間τ和τ-1之間的相對方位變化ΔR#,如下所示ΔR#=(R#τ-1·RSC)-1·R#τ·RSC(1)RSC代表了一個3×3的矩陣,其將照相攝像機坐標系(其中所表達的是攝像裝置130的位置和方位的坐標系)中的方位變換到傳感器坐標系(其中所表達的是傳感器單元140的位置和方位的坐標系)中的方位。RSC基于方位傳感器單元140的方位和攝像裝置130的方位之間的固定關系作為已知數(shù)據(jù)而事先設定。
在步驟S2040中,通過為在時間τ-1所計算的方位Rτ-1加上方位變化ΔR#,方位預測單元150計算時間τ的預測的方位R*τ,如下所示R*τ=Rτ-1·ΔR#(2)接著,方位預測單元150輸出預測的方位R*τ到數(shù)據(jù)存儲器170。
在步驟S2050中,方位預測單元150判斷是否完成處理。如果處理將繼續(xù)(步驟S2050的否),則將時間τ的測量到的方位R#τ作為前一次循環(huán)的測量到的方位R#τ-1存儲起來,并且處理回到步驟S2000。
接下來,參考圖3所示流程圖對由已知設備內(nèi)的位置/方位計算器120進行的處理進行描述。結構是已知的,通過對非線性等式的交互性解答來計算攝像裝置130的位置和方位。
在位置/方位計算器120中,將待計算的攝像裝置130的位置和方位內(nèi)部表達為三元素向量t=[x y z]T以及ω=[ξψζ]T。相應地,待確定的未知參數(shù)由六元素的狀態(tài)向量s=[x y zξψζ]T來表達。
雖然有各種的方法來用三個元素表達一個方位,但是本例中使用的是一個三元素的向量,用其絕對值來定義旋轉角及用其方向來定義旋轉軸方向。另外,方位ω可以用一個3×3的旋轉矩陣R如下表示
R(ω)=ξ2θ2(1-cosθ)+cosθξψθ2(1-cosθ)-ζθsinθξζθ2(1-cosθ)+ψθsinθψξθ2(1-cosθ)+ζθsinθψ2θ2(1-cosθ)+cosθξζθ2(1-cosθ)-ξθsinθζξθ2(1-cosθ)-ψθsinθζψθ2(1-cosθ)+ξθsinθζ2θ2(1-cosθ)+cosθ...(3)]]>其中θ=ξ2+ψ2+ζ2]]>這樣,ω和R可以唯一地相互變換。將R變換成ω的方法是公眾已知的,因而對其詳細的描述在此省略。
在步驟S3000中,位置/方位計算器120接收時間τ的攝像裝置130的預測的方位R*τ并且獲得一個三元素向量ω*τ(=[ξ*τψ*τζ*τ]T)。
在步驟S3005中,通過合并預測的方位ω*τ以及在時間τ-1所計算的向量tτ-1,位置/方位計算器120計算初始狀態(tài)向量s=[xτ-1yτ-1zτ-1ξ*τψ*τζ*τ]T。
在步驟S3010中,位置/方位計算器120從數(shù)據(jù)存儲器170接收由標志檢測器110從在時間τ輸入的拍攝圖像上檢測到的標志的圖像坐標以及被檢測標志的世界坐標。
在步驟S3020中,未知/方位計算器120判斷關于標志的輸入信息是否已經(jīng)足以估計位置和方位,并且根據(jù)判斷結果區(qū)分處理。更具體地,如果輸入標志的數(shù)目為三或更多,處理進行到步驟S3030。如果輸入標志的數(shù)目小于三,處理進行到步驟S3090。
在步驟S3030中,位置/方位計算器120計算每個標志Qkn的估計的圖像坐標uQkn*。通過關于作為已知信息預先存儲的每個標志Qkn的世界坐標xWQkn以及當前狀態(tài)向量S的函數(shù)來進行對估計的圖像坐標uQkn*的計算,如下所示uQkn*=Fc(xWQkn,S) (4)函數(shù)Fc()包括下面的等式用以從xWQkn和s獲得每個標志的照相攝像機坐標xCQkn(由位于照相攝像機上的特定點的原點以及互相垂直的X,Y和Z軸來定義的坐標系)XCQkn=xCQknyCQknzCQkn=R(ω)-1(xWQkn-t)...(5)]]>
以及下面的等式用以從照相攝像機坐標xCQkn獲得圖像坐標uQkn*uQkn*=uxQkn*uyQkn*T=-fxcxCQknzCQkn-fycyCQknzCQknT...(6)]]>這里,fCx和fCy分別是攝像裝置130沿著x軸和y軸的焦距,并且預先設定為已知值。
在步驟S3040中,位置方位計算器120計算每一個標志Qkn的估計的圖像坐標uQkn*和測量到的圖像坐標uQkn之間的誤差ΔuQkn,如下所示ΔuQkn=uQkn-uQkn*(7)在步驟S3050中,位置/方位計算器120計算關于每個標志Qkn的狀態(tài)向量s的圖像雅可比行列式JusQkn(=u/s)。該圖像雅可比行列式JusQkn是一個2行6列的雅可比矩陣,其元素由等式(4)中的函數(shù)Fc()對狀態(tài)向量S的元素進行偏微分而獲得。更為明確地,首先,計算一個2行3列的雅可比矩陣JuxQkn(=u/x),其元素由等式(6)的右邊對照相攝像機坐標xCQkn的元素進行偏微分而獲得。另外,還計算一個3行6列的雅可比矩陣JxsQkn(=x/s),其元素由等式(5)的右邊對狀態(tài)向量S的元素進行偏微分而獲得。這樣,如下所示計算圖像雅可比行列式JusQknJusQkn=JuxQkn·JxsQkn(8)在步驟S3060中,位置/方位計算器120在步驟S3040中和步驟S3050中分別計算出的誤差ΔuQkn以及圖像雅可比行列式JusQkn計算狀態(tài)向量s的校正向量Δs。更為具體地,首先,通過將誤差ΔuQkn垂直排列,得到如下所示的一個2N維的誤差向量U=ΔuQk1···ΔuQkN...(9)]]>另外,通過將圖像雅可比行列式JusQkn垂直排列,得到如下所示的2N行6列的矩陣
Θ=JusQk1···JusQkN...(10)]]>這樣,使用Θ的偽逆矩陣Θ′計算校正向量Δs,如下所示Δs=Θ′U (11)由于圖1所示的例子中N為3,誤差向量U為一個六維向量,并且Θ為一個6行6列的矩陣。
在步驟S3070中,位置/方位計算器120使用步驟S3060計算出的校正向量Δs來校正狀態(tài)向量s,并且將校正后的狀態(tài)向量s設定為新的估計的狀態(tài)向量ss+Δs→s(12)在步驟S3080中,位置/方位計算器120使用特定的標準來判斷計算是否收斂,例如,誤差向量U是否小于預定的限度或者校正誤差向量Δs是否小于預定的限度。如果計算沒有收斂,處理就回到步驟S3030,并且使用校正狀態(tài)向量s重復步驟S3030-步驟S3080。
如果在步驟S3080中判斷為計算收斂,處理就進行到步驟S3090并且位置/方位計算器120輸出所獲得的狀態(tài)向量s作為攝像裝置130在時間τ的位置和方位的信息(也就是,sτ)。位置和方位的信息可以是s自身。還可以的是,還可以輸出一組代表著方位3×3的矩陣R以及代表著從s計算出的位置的三維向量t。
在步驟S3100中,位置/方位計算器120判斷是否完成處理。如果處理將繼續(xù),處理就回到步驟S3000并且輸入對應于下一幀(時間τ+1)的數(shù)據(jù)并且隨后的幀都服從于相同的處理。
上述方法通常用于確定攝像裝置的位置和方位。另外,這種方法還可以用于確定任意目標物體(例如,光學透視頭部設置顯示屏(HMD))的位置和方位。在這種情況下,將攝像裝置附著在目標物體上并且使用上述方法來確定攝像裝置的位置和方位。于是,目標物體的位置和方位就可以從已知的攝像裝置的位置和方位和目標物體的位置和方位之間的關系而獲得。
在上述已知方法中,從方位傳感器單元獲得的信息僅作為用以基于從圖像所檢測到的標志在對齊處理中預測標志的坐標以及計算初始值的輔助信息,而最終的估計的位置和方位僅由圖像信息而確定。于是,如果輸入圖像并不包括足夠的圖像信息以進行穩(wěn)定對齊,例如,當標志是在圖像的相對較為狹窄的區(qū)域上收集的時,當僅檢測到三個標志時,或當標志檢測發(fā)生誤差時,會有不能獲得足夠精確且穩(wěn)定的解的風險。另外,當只觀察到兩個或更少的標志時,就不可能獲得解。雖然可以通過在場景上均勻設定很多標志來避免這些問題,但是將這些標志彼此識別開就變得困難且這種情況下的現(xiàn)實空間的外觀就會降低。
發(fā)明內(nèi)容
本發(fā)明提供了一種方法及設備用于確定攝像裝置的位置和方位即使在圖像上觀察的標志的數(shù)目較少的情況下。另外,本發(fā)明提供一種方法以及設備用于獲得具有增加穩(wěn)定性的解。
根據(jù)本發(fā)明的一個方面,一種位置/方位確定方法用于確定目標物體的位置和方位,包括圖像輸入步驟輸入從附著在目標物體上的攝像裝置所獲得的拍攝圖像;方位輸入步驟輸入從獲取關于目標物體的方位的信息的方位傳感器處獲得的測量到的方位;特征檢測步驟獲得作為測量到的特征值的關于排列在來自拍攝圖像的場景上的標志的圖像坐標的特征值;以及參數(shù)計算步驟計算用于確定目標物體的位置和方位的參數(shù);以及位置/方位計算步驟使用參數(shù)計算步驟得到的參數(shù)計算目標物體的位置和方位。在計算步驟中,通過使用關于參數(shù)的特征值的圖像雅可比行列式進行重復計算而確定參數(shù),使得關于標志的圖像坐標的理論特征值以及測量到的特征值之間的誤差減小,理論特征值是基于測量到的方位和估計的參數(shù)而獲得的并且測量到的特征值在特征檢測步驟獲得。
根據(jù)本發(fā)明的另一個方面,一種位置/方位確定方法用于確定拍攝場景的攝像裝置的位置和方位,包括圖像輸入步驟輸入從攝像裝置獲得的拍攝圖像;方位輸入步驟輸入從獲取關于攝像裝置的方位的信息的方位傳感器處獲得的測量到的方位;特征檢測步驟獲得作為測量到的特征值的關于排列在來自拍攝圖像的場景上的標志的圖像坐標的特征值;以及計算步驟計算用于確定攝像裝置的位置和方位的參數(shù)。在計算步驟中,使用關于參數(shù)的理論特征值的圖像雅可比行列式,計算參數(shù)從而使得基于特征檢測步驟所獲得的測量到的特征值和基于測量到的方位和估計的參數(shù)而獲得的理論特征值之間的誤差得到減小。
根據(jù)本發(fā)明的另外一個方面,一種位置/方位確定方法用于確定拍攝場景的攝像裝置的位置和方位,包括圖像輸入步驟輸入從攝像裝置獲得的拍攝圖像;方位輸入步驟輸入從獲取關于攝像裝置的方位的信息的方位傳感器處獲得的拍攝圖像;特征檢測步驟獲得作為測量到的特征值的關于排列在來自拍攝圖像的場景上的標志的圖像坐標的特征值;校正值更新步驟,其中操作員更新對于測量到的方位的誤差校正值;誤差校正步驟基于測量到的方位和誤差校正值獲得校正方位;以及計算步驟使用校正方位以及關于標志的圖像坐標的測量到的特征值來計算至少攝像裝置的位置。
本發(fā)明的其它特征和優(yōu)勢將在以下結合附圖的描述中變得明顯,附圖中貫穿圖形的同樣的參考符號所指的是相同或相似的部分。
圖1的圖表顯示的是已知的確定攝像裝置的位置和方位的位置/方位確定設備的結構。
圖2的流程圖表示的是包括在已知的確定攝像裝置的位置和方位的位置/方位確定設備中的方位預測單元所進行的處理。
圖3的流程圖表示的是包括在已知的確定攝像裝置的位置和方位的位置/方位確定設備中的位置/方位計算器所進行的處理。
圖4的圖表表示的是根據(jù)第一實施例的位置/方位確定設備的結構。
圖5的圖表表示的是計算機的基本結構。
圖6的流程圖表示的是當CPU執(zhí)行對應于方位預測單元的軟件程序時,計算代表攝像裝置的位置和方位的參數(shù)的處理。
圖7的流程圖表示的是當CPU執(zhí)行對應于位置/方位計算器的軟件程序時,計算代表攝像裝置的位置和方位的參數(shù)處理。
圖8的圖表表示的是根據(jù)第二實施例的位置/方位確定設備的結構。
圖9的流程圖表示的是當CPU執(zhí)行對應于位置/方位計算器的軟件程序時,計算代表攝像裝置的位置和方位的參數(shù)的處理。
具體實施例方式
以下參照附圖對本發(fā)明的實施例進行描述第一實施例根據(jù)第一實施例的一種位置/方位確定設備確定攝像裝置的位置和方位。以下描述根據(jù)本實施例的位置/方位確定設備以及一種位置/方位確定方法。
圖4表示了根據(jù)本實施例的位置/方位確定設備的結構。如圖4所示,根據(jù)本實施例的位置/方位確定設備400包括圖像輸入單元160、數(shù)據(jù)存儲器170、標志檢測器110、方位傳感器單元140、方位預測單元450以及位置/方位計算器420,并且與攝像裝置130相連。另外,把將由攝像裝置130拍攝的標志排列在現(xiàn)實空間的多個位置上,與上述已知結構相似。由與圖1中的相同的參考編號指示的元件的操作(也就是標志檢測器110、方位傳感器單元140、圖像輸入單元160以及數(shù)據(jù)存儲器170的操作)與上述已知的位置/方位確定設備中的相同,且對其詳細的描述在此不再重復。
位置/方位計算器420從數(shù)據(jù)存儲器170處接收攝像裝置130的預測的方位以及標志檢測器110所檢測到的每個標志Qkn的一組圖像坐標uQkn以及世界坐標xWQkn。接著,位置/方位計算器420基于所接收的信息計算攝像裝置130的位置和方位并且通過I/F輸出計算結果到外部裝置。另外,位置/方位計算器420還輸出攝像裝置130的所計算的位置到數(shù)據(jù)存儲器170,并且用方位角-漂移-誤差校正值的更新值來更新存儲在數(shù)據(jù)存儲器170中的方位傳感器單元140的方位角-漂移-誤差校正值。該更新值來自位置和方位的計算步驟。
下面描述根據(jù)本實施例的位置/方位計算器420和已知結構所使用的位置/方位計算器120之間的差異。在位置/方位計算器120中,從方位預測單元150輸入的估計的方位僅用于獲得計算用的初始值。相對比的是,在本實施例中,將一些具有足夠可靠性的預測值用作已知值而不是未知參數(shù)。更為具體地,在由位置/方位計算器420進行的計算步驟中,假設方位傳感器單元140在傾角(俯仰以及擺動角)的方位測量精確度在允許范圍內(nèi),并且漂移誤差僅包括在方位角(偏航角)內(nèi)。在方位傳感器單元140基于回轉儀傳感器單元,該回轉儀傳感器單元具有使用觀察地心引力方向的傾角儀來消除傾角方向的漂移誤差累積的功能的情況下,這個假設是合理的。滿足這種假設的方位傳感器單元的一個例子是Tokimec Inc.制造的TISS-5-40。
方位預測單元450從數(shù)據(jù)存儲器170接收方位角-漂移-誤差校正值φ,校正從方位傳感器單元140輸入的測量到的方位以預測攝像裝置130的方位,并且輸出預測的方位到數(shù)據(jù)存儲器170。
可以將圖4所示的圖像輸入單元160、數(shù)據(jù)存儲器170、標志檢測器110、方位預測單元450以及位置/方位計算器420設計成獨立的裝置,或作為安裝在一個或多個計算機并由包括在各個計算機中的中央處理器(CPUs)執(zhí)行的軟件程序。根據(jù)本實施例,將圖像輸入單元160、數(shù)據(jù)存儲器170、標志檢測器110、方位預測單元450以及位置/方位計算器420設計成在單獨一個計算機中執(zhí)行的軟件程序。
圖5所示為執(zhí)行對應于圖像輸入單元160、數(shù)據(jù)存儲器170、標志檢測器110、方位預測單元450以及位置/方位計算器420的軟件程序的計算機的基本結構。
CPU1001利用存儲在隨機存取存儲器(RAM)1002或只讀存儲器(ROM)1003中的程序和數(shù)據(jù)控制著整個計算機。另外,CPU1001執(zhí)行對應于圖像輸入單元160、數(shù)據(jù)存儲器170、標志檢測器110、方位預測單元450以及位置/方位計算器420的軟件程序以提供其功能。
RAM1002包括臨時存儲從外部存儲裝置1007或存儲介質(zhì)驅(qū)動器1008裝載的程序和數(shù)據(jù)的存儲區(qū)以及CPU1001用以執(zhí)行各種處理的工作區(qū)。RAM1002提供數(shù)據(jù)存儲器170的功能。
ROM1003通常用以為計算機存儲程序以及規(guī)定數(shù)據(jù)。另外,操作者用鍵盤1004以及鼠標1005來輸入各種指令到CPU1001。
顯示屏1006包括一個陰極射線管(CRT),一個液晶面板,等等,并且顯示待顯示在攝像裝置130的位置/方位確定中的訊息。
外部存儲裝置1007如同大容量存儲系統(tǒng)一樣運行,例如硬盤,并且存儲操作系統(tǒng)(OS)以及軟件程序。在本實施例中,將預先已知的信息存儲在外部存儲裝置1007,并在需要時將其裝載到RAM1002。
存儲介質(zhì)驅(qū)動器1008根據(jù)CPU1001發(fā)出的指令,讀出存儲在存儲介質(zhì),例如CD-ROM(壓縮光盤-ROM)以及DVD-ROM(數(shù)字通用光盤-ROM),上的程序和數(shù)據(jù),并且輸出程序和數(shù)據(jù)到RAM1002或外部存儲裝置1007。
I/F1009包括模擬視頻段口或數(shù)字輸入/輸出端口,例如IEEE1394,用以提供和攝像裝置130的連接,一個串行端口,例如RS232C和USB,用以提供與方位傳感器單元140的連接,以及以太網(wǎng)端口用以輸出攝像裝置的所計算的位置和方位到外部裝置。將來自上述元件的數(shù)據(jù)通過I/F1009輸入到RAM1002。I/F1009具備圖像輸入單元160的部分功能。
總線1010將上述元件彼此相連。
圖6的流程圖表示的是方位預測單元450所進行的處理。在CPU1001執(zhí)行對應于方位預測單元450的軟件程序時實現(xiàn)該處理。在處理開始前就將對應于這個流程圖的程序代碼裝載到RAM1002上。
在步驟S6000中,方位預測單元450從方位傳感器單元140接收測量到的方位R#。
在步驟S6010中,方位預測單元450從數(shù)據(jù)存儲器170接收方位角-漂移誤差校正值φ*。
在步驟S6020中,方位預測單元450將測量到的方位R#(方位傳感器單元140的方位)提交給從方位傳感器單元140到攝像裝置130的方位的變換,并且使用方位角-漂移-誤差校正值φ*來進行漂移誤差校正。將經(jīng)過方位角-漂移-誤差校正而得到的攝像裝置130的方位設定為預測的方位R*,如下所示R*=ΔR(φ*)·R#·RSC(13)其中ΔR(φ)是一個旋轉矩陣,代表方位角旋轉角度φ,并且將其作為φ的函數(shù)表示如下ΔR(φ)=l1l1(1-cosφ)+cosφl2l1(1-cosφ)-l3sinφl3l1(1-cosφ)+l2sinφl1l2(1-cosφ)+l3sinφl2l2(1-cosφ)+cosφl3l2(1-cosφ)-l1sinφl1l3(1-cosφ)-l2sinφl2l3(1-cosφ)+l1sinφl3l3(1-cosφ)+cosφ...(14)]]>這里,l=(l1,l2,l3)表示世界坐標系中代表垂直向上的方向(和地心引力方向相反)的已知向量。
在步驟S6030中,方位預測單元450輸出預測的方位R*到數(shù)據(jù)存儲器170。
在步驟S6040中,方位預測單元450判斷是否完成處理。如果處理將繼續(xù),處理就回到步驟S6000。
圖7的流程圖表示的是對代表著攝像裝置130的位置和方位的參數(shù)的計算處理。在CPU1001執(zhí)行對應于位置/方位計算器420的軟件程序時實現(xiàn)該處理。將對應于該流程的程序代碼在處理開始前裝載到RAM1002。
和上述已知結構中的位置/方位計算器120有所不同,位置/方位計算器420計算四個作為未知參數(shù)的參數(shù),其包括代表攝像裝置130的位置(t=[xyz]T)以及方位傳感器單元140的方位角-漂移-誤差校正值的更新值φ的元素。這樣,在本實施例中,并不將所有的代表方位的元素都作為未知參數(shù)來對待。更為具體地,所應用的模板中假設通過僅確定方位角-漂移-誤差校正值的更新值φ僅能獲得預測的方位R*中的包括漂移誤差的方位角以及精確方位。在接下來的描述中,待確定的未知參數(shù)由四元素狀態(tài)向量s′=[xyzφ]T來描述。
在步驟S7000中,位置/方位計算器420從數(shù)據(jù)存儲器170接收攝像裝置130的預測的方位R*(從方位預測單元450的輸出)。
在步驟S7005中,位置/方位計算器420設定初始狀態(tài)向量s′為s′=[xτ-1yτ-1zτ-10]T。這里,xτ-1,yτ-1,和zτ-1表示在上一個循環(huán)(在時間τ-1)步驟S7090所計算出來的攝像裝置(目標)130的位置。
在步驟S7010中,位置/方位計算器420從數(shù)據(jù)存儲器170接收標志檢測器110檢測到的標志的圖像坐標以及其世界坐標。例如,在圖4所示的情況下,被檢測標志的數(shù)目N為2,并且位置/方位計算器420接收圖像坐標和uQk1和uQk3以及世界坐標xWQk1和xWQk3。
在步驟S7020中,位置/方位計算器420判斷關于標志的輸入信息是否足以用來估計位置和方位,并且根據(jù)判斷結果區(qū)分處理。更為具體地,如果輸入標志的數(shù)目為二或更多,處理進行到步驟S7030。如果輸入標志的數(shù)目小于二,處理進行到步驟S7090。
在步驟S7030中,位置/方位計算器420基于狀態(tài)向量s′的函數(shù)計算每個標志Qkn的估計的圖像坐標uQkn*,如下所示uQkn*=Fc′(xWQkn,s′) (15)更具體地,函數(shù)Fc′()包括用于從照相攝像機坐標xCQkn獲得圖像坐標uQkn*的等式6以及下面的用于從世界坐標xWQkn和s′獲得照相攝像機坐標xCQkn的函數(shù)xCQkn=xCQknyCQknzCQkn=(ΔR(φ)·R*)-1(xWQkn-xyz)...(16)]]>這里,R*表示的是步驟S7000獲得的預測的方位。另外,ΔR(φ)表示的是代表方位角上的φ的旋轉的旋轉矩陣,并由等式14來表示。
在步驟S7040中,位置/方位計算器420從等式7計算每個標志Qkn的估計的圖像坐標uQkn*以及測量到的圖像坐標uQkn之間的誤差ΔuQkn。
在步驟S7050中,位置/方位計算器420計算對于每個標志Qkn的關于狀態(tài)向量s′的圖像雅可比行列式Jus′Qkn(=u/s′)。該圖像雅可比行列式Jus′Qkn是2行4列的雅可比矩陣,其元素由等式15中的函數(shù)Fc′()對狀態(tài)向量s′的元素偏微分而獲得。更具體地,首先,計算2行3列的雅可比矩陣JuxQkn(=u/x),其具有將等式6的右邊對照相攝像機坐標xCQkn的元素進行偏微分而獲得的元素。另外,還計算3行4列的雅可比矩陣Jxs′Qkn(=x/s′),其具有等式16的右邊對狀態(tài)向量s′的元素偏微分而獲得的元素。于是,通過用s′來代替s的等式8來計算圖像雅可比行列式Jus′Qkn。
在步驟S7060中,位置/方位計算器420基于步驟S7040和步驟S7050分別計算出的誤差ΔuQkn和圖像雅可比行列式Jus′Qkn計算對于狀態(tài)向量s′的校正向量Δs′。更具體地,首先將誤差ΔuQkn垂直放置獲得2N維的誤差向量U,并且通過將圖像雅可比行列式Jus′Qkn垂直放置獲得2N行4列的矩陣Θ。于是通過用s′來代替s的等式11的Θ的偽逆矩陣Θ′來計算校正向量Δs′。由于圖4所示的例子中N為2,誤差向量U是一個四維向量,并且Θ是一個4行4列的矩陣。
在步驟S7070中,位置/方位計算器420根據(jù)用s′來代替s的并使用了在步驟S7060中計算的校正向量Δs′的等式12來校正狀態(tài)向量s′,并將校正后的狀態(tài)向量s′設定成新的估計的狀態(tài)向量s′。
在步驟S7080中,位置/方位計算器420使用特定標準來判斷計算是否收斂,例如,誤差向量U是否小于預定的限度或校正向量Δs′是否小于預定的限度。如果計算不收斂,處理回到步驟S7030,并使用校正后的狀態(tài)向量s′來重復步驟S7030-S7080。
如果在步驟S7080中判斷計算收斂,處理就進行到步驟S7085,并且位置/方位計算器420從獲得的狀態(tài)向量s′計算攝像裝置130的方位。更具體地,從狀態(tài)向量s′來確定方位角-漂移-誤差校正值的更新值φ,并且用更新值φ來計算攝像裝置130的方位R,如下所示R=ΔR(φ)·R*(17)在步驟S7090中,位置/方位計算器420通過I/F1009輸出攝像裝置130的位置和方位的信息到外部裝置,并且還輸出攝像裝置130的位置到數(shù)據(jù)存儲器170??梢詫⑽恢煤头轿惠敵鰹橐唤M代表方位的3×3的矩陣R以及代表位置的三維向量t,通過變換方位的元素而獲得的Euler角,從位置和方位計算的攝像裝置130的觀察變換矩陣,或其它位置/方位描述方法。
在步驟S7095中,位置/方位計算器420用前述的計算步驟所獲得的方位角-漂移-誤差校正值的更新值φ來更新存儲在數(shù)據(jù)存儲器170中的方位角-漂移-誤差校正值φ*,如下所示φ*+φ→φ*(18)在步驟S7100中,位置/方位計算器420判斷是否結束處理。如果處理將繼續(xù),則處理回到步驟S7000并輸入對應于下一幀(時間τ+1)的數(shù)據(jù)且隨后的幀都服從相同的處理。
相應地,確定攝像裝置的位置和方位。在已知的位置/方位確定設備中,需要三個或更多的標志以確定攝像裝置的位置和方位。另外,當只提供了三個標志時,由于輸入數(shù)據(jù)沒有冗余故而解不穩(wěn)定(也就是解在很大程度上受標志的坐標檢測的誤差的影響)。相比較而言,在根據(jù)本實施例的位置/方位確定設備中,即使是在圖像上僅觀察到了兩個標志,也可以測量攝像裝置的位置和方位。另外,由于待確定的參數(shù)的數(shù)量較少,當獲得三個或更多的標志時,和已知方法相較,信息的冗余相對增加且可以得到更為穩(wěn)定的解。這個優(yōu)勢在標志的數(shù)目為三時尤其明顯。相應地,用以獲得具有特定穩(wěn)定性的解的必要標志數(shù)目減少,并且沒有解的風險同樣減少。結果是,提供在場景上的標記的數(shù)目可以減少。于是,誤檢測率可以減少并且可以相應地提高精確度。另外,可以防止外觀因標記而變差。
第二實施例在第一實施例中,在一個空間內(nèi)移動的攝像裝置其本身的位置和方位可以確定。相比較而言,根據(jù)第二實施例的位置/方位確定設備確定任意目標物體的位置和方位,并且將該設備設計成使得用于獲得拍攝圖像的照相攝像機附著在根據(jù)第一實施例的位置/方位確定設備上。以下對根據(jù)第二實施例的位置/方位確定設備和位置/方位確定方法進行描述。
圖8所示的是根據(jù)本實施例的位置/方位確定設備的結構。如圖8所示,根據(jù)本實施例的位置/方位確定設備800包括圖像輸入單元160、數(shù)據(jù)存儲器170、標志檢測器110、方位傳感器單元140、方位預測單元450、位置/方位計算器820以及攝像裝置830。
圖8中,和圖1和4所示的元件相同的元件用同樣的參考編號來指示,并且對其的描述在此不再重復。本實施例和第一實施例的不同之處在于將攝像裝置830所獲得的圖像作為拍攝圖像輸入到圖像輸入單元160,方位預測單元450預測攝像裝置830的方位,并且將方位傳感器單元140附著在攝像裝置830上。
將攝像裝置830固定在目標物體880上。目標物體880在照相攝像機坐標系中的位置和方位為預知的。
位置/方位計算器820從數(shù)據(jù)存儲器170處接收攝像裝置830的預測的方位R*以及一組由標志檢測器110檢測到的每個標志Qkn的圖像坐標uQkn和世界坐標xWQkn。于是,位置/方位計算器820通過和第一實施例中的位置/方位計算器420所執(zhí)行的處理相同的處理來計算攝像裝置830的位置和方位。另外,位置/方位計算器820輸出計算位置t到數(shù)據(jù)存儲器170,并且用方位角-漂移-誤差校正值的更新值φ來更新存儲在數(shù)據(jù)存儲器170中的方位傳感器單元140的方位角-漂移-誤差值。更新值φ來自位置和方位的計算步驟。
另外,位置/方位計算器820基于攝像裝置830的所計算的位置和方位(在世界坐標系中)以及已知的目標物體880在照相攝像機系中的位置和方位計算目標物體880的位置和方位。將所計算出的位置和方位通過I/F1009輸出到外部裝置。
相應地,確定任意的目標物體的位置和方位。
在本實施例中,位置/方位計算器820確定攝像裝置830的位置和方位,并且接著確定目標物體880的位置和方位。然而,目標物體880的位置和方位也可以直接確定。在這種情況下,方位預測單元450通過等式13來預測目標物體880的方位,其中RSC變成了將目標物體坐標系中的方位變換成傳感器坐標系中的方位的3×3的矩陣,并且設定包括目標物體880的位置的狀態(tài)向量s′。另外,將用于獲得標志的照相攝像機坐標xCQkn的等式16重寫成如下的等式19xCQkn=xCQknyCQknzCQkn=RCO·(ΔR(φ)·Rτ*)-1(xwQkn-xyz)+tCO...(19)]]>其中RCO是一個矩陣,其將目標物體坐標系(由位于目標物體880上的特定點的原點以及互相垂直的X,Y和Z軸來定義的坐標系)中的方位變換成照相攝像機坐標系中的方位,并且tCO是一個向量,其將目標物體坐標系中的位置變換為照相攝像機坐標系中的位置。RCO和tCO是基于已知的目標物體880基于照相攝像機坐標系中的位置和方位計算出來的。
第三實施例在上面所描述的實施例中,將方位傳感器單元的方位角-漂移-誤差校正值的更新值φ作為未知參數(shù)而確定。然而,當方位傳感器單元具有高精確度時,當方位傳感器單元僅用于短時間內(nèi)時,或當方位角-漂移-誤差校正值的更新值可以手工輸入時,可以把將由位置/方位計算器確定的參數(shù)限定于攝像裝置的位置。根據(jù)第三實施例的位置/方位確定設備確定攝像裝置的位置和方位,并且將該設備設計成除了位置/方位計算器420的功能外類似于根據(jù)第一實施例的位置/方位確定設備。以下對根據(jù)本實施例的位置/方位確定設備以及一種位置/方位確定方法進行描述。
在本實施例中,將根據(jù)第一實施例的更新值φ設定為0。更具體地,根據(jù)本實施例的位置/方位計算器420表達了將由三元素狀態(tài)向量s″=[xyz]T來確定的未知參數(shù)。另外,除了省略關于更新值φ的項之外,根據(jù)本實施例的位置/方位計算器執(zhí)行類似于根據(jù)第一實施例的位置/方位計算器420所執(zhí)行的處理(對于雅可比矩陣,等式16等的計算)。例如,可以將等式16重寫為等式20用于從世界坐標xWQkn和s″獲得照相攝像機坐標xCQkn,如下所示
xCQkn=xCQknyCQKnzCQkn=R*-1(xWQkn-xyz)...(20)]]>根據(jù)本實施例的位置/方位確定設備,待確定的未知參數(shù)的數(shù)目減小,并且相應地解(攝像裝置130的位置和方位)的穩(wěn)定性進一步增加了。
在方位角-漂移-誤差校正值的更新值為手工輸入的情況下,可以將一個校正值更新單元添加到圖4所示的結構上。該校正值更新單元根據(jù)來自操作員的輸入接收方位角-漂移-誤差校正值的更新值φ,并且根據(jù)表達式18更新存儲在數(shù)據(jù)存儲器170中的方位角-漂移-誤差校正值φ*。該校正值更新單元可以使用包括在鍵盤1004中的特殊的鍵作為界面。例如,‘+’鍵可以用來增加校正值0.1度,并且‘-’鍵可以用來減少校正值0.1度。該校正值更新單元可以隨意地使用在根據(jù)第一實施例的結構中,其中方位角-漂移-誤差校正值的更新值是基于圖像信息而確定的。
第四實施例在上述實施例中,將待確定的未知參數(shù)固定到位置和方位角-漂移-誤差校正值的更新值φ二者或其一上。然而,并沒有必要固定未知參數(shù),并且可以通過根據(jù)每個參數(shù)的特征而改變未知的參數(shù)來進行對位置和方位的估計。根據(jù)第四實施例的位置/方位確定設備確定攝像裝置的位置和方位,并且將該設備設計成除了位置/方位計算器420的功能外類似于根據(jù)第一實施例的位置/方位確定設備。以下描述根據(jù)第四實施例的位置/方位確定設備以及一種位置/方位確定方法。
在本實施例中,位置/方位計算器同時具有根據(jù)第一實施例的位置/方位計算器和根據(jù)第三實施例的位置/方位計算器的功能?;旧?,執(zhí)行根據(jù)第三實施例的位置/方位計算器的處理,其中只將位置設為未知參數(shù)。另外,根據(jù)第一實施例的位置/方位計算器的處理,其中將位置和方位角-漂移-誤差校正值的更新值都設定為未知參數(shù),并在每個預定的時間間隔上執(zhí)行,例如,每10秒(300幀)一次。更新方位角-漂移-誤差校正值的時間間隔可以根據(jù)方位傳感器單元140的漂移特征而設定,并且可以由操作員通過交互式的操作輸入。
根據(jù)本實施例的位置/方位確定設備,只要方位傳感器140僅使用短的時間方位傳感器140就具有足夠的精確度以忽略方位角漂移,就可以校正方位角漂移,而且可以同時提高解的穩(wěn)定性。
第五實施例在上述實施例中,方位角-漂移-誤差校正值的更新值是基于一個單獨的時間點上獲得的圖像信息而確定的。然而,在鄰近的幀獲得的方位角漂移誤差之間具有高度的相關性,所以可以通過使用多個幀的信息更為精確地確定更新值。根據(jù)第五實施例的位置/方位確定設備確定攝像裝置的位置和方位,并且除了位置/方位計算器420的功能之外,將該位置/方位確定設備設計成類似于根據(jù)第一實施例的位置/方位確定設備。以下對根據(jù)第五實施例的位置/方位確定設備以及一種位置/方位確定方法進行描述。
根據(jù)本實施例的位置/方位計算器同時具有根據(jù)第一實施例的位置/方位計算器和根據(jù)第三實施例的位置/方位計算器的功能,并且同時執(zhí)行第一和第三實施例的參數(shù)估計處理。圖9的流程圖表示的是代表著攝像裝置130的位置和方位的參數(shù)的計算處理。在CPU1001執(zhí)行對應于位置/方位計算器的軟件程序時實現(xiàn)該處理。將對應于該流程的程序代碼在處理開始之前裝載到RAM1002。
在步驟S9000中,和第一實施例的步驟S7000相似,位置/方位計算器從數(shù)據(jù)存儲器170處接收攝像裝置130的預測的方位R*(從方位預測單元450輸出)。
在步驟S9010中,和第一實施例的步驟S7010類似,位置/方位計算器從數(shù)據(jù)存儲器170接收由標志檢測器110檢測到的標志的圖像坐標和世界坐標。
在步驟S9020中,位置/方位計算器執(zhí)行類似于第一實施例的步驟S7005以及步驟S7020到步驟S7080來估計作為未知參數(shù)的攝像裝置130的位置t=[xyz]T以及方位傳感器單元140的方位角-漂移-誤差校正值的更新值φ。
在步驟S9030中,位置/方位計算器累積步驟S9020計算出來的方位角-漂移-誤差校正值的更新值φ,并且確定累積更新值φSUM。
在步驟S9040中,位置/方位計算器確定是否對預定數(shù)目的幀(例如,30幀)進行了累積。如果對預定數(shù)目的幀進行了累積處理,就進行步驟S9050,并且如果沒有對預定數(shù)目的幀進行了累積處理,就進行步驟S9080。
在步驟S9050中,通過將在步驟S9030中獲得的累積更新值φSUM除以幀數(shù),位置/方位計算器計算出平均更新值。將該計算出的平均值設定為方位角-漂移-誤差校正值的新的更新值φ。接著,將累積值φSUM清零。
在步驟S9060中,類似于第一實施例的步驟S7095,位置/方位計算器根據(jù)表達式18用在步驟S9050中獲得的方位角-漂移-誤差校正值的更新值φ更新存儲在數(shù)據(jù)存儲器170中的方位角-漂移-誤差校正值φ*。
在步驟S9070中,位置/方位計算器從等式17并使用在步驟S9050中獲得的方位角-漂移-誤差校正值的更新值φ來計算攝像裝置130的方位,并且設定計算的方位為新的預測的方位。
在步驟S9080中,通過執(zhí)行類似于第三實施例中的這些步驟,位置/方位計算器估計作為未知參數(shù)的攝像裝置130的位置t=[xyz]T。
在步驟S9090中,類似于第一實施例的步驟S7090,位置/方位計算器輸出攝像裝置130的位置和方位的信息。
在步驟S9100中,位置/方位計算器判斷是否結束處理。如果處理將繼續(xù),處理就回到步驟S9000并且輸入對應于下一幀(時間τ+1)的數(shù)據(jù)并且隨后的幀都服從同樣的處理。
相應地,由于使用了多個幀的信息,方位角-漂移-誤差校正值的更新值的精確度就提高了。雖然本實施例使用了在幀上獲得的更新值的平均值,但是還可以使用更新值的中間值或其它低通濾波器。另外,還可以將根據(jù)本實施例的位置/方位計算器應用為根據(jù)第四實施例的位置/方位計算器,其中將位置以及方位角-漂移-誤差的更新值設定為未知參數(shù)。
第一修改在上述每個實施例中,將由等式11表示的Gauss-Newton方法用于從誤差向量U以及矩陣Θ來計算校正向量Δs。然而,并不是必須利用Gauss-Newton方法來計算校正向量Δs。例如,Levenberg-Marquardt(LM)方法,其為非線性等式的已知迭代解,統(tǒng)計方法如M-估計,其為已知的健壯估計,或其它數(shù)字計算方法都可以用于本發(fā)明的范圍。
第二修改在上述每一個實施例,將標志用作標志Q,每一個標志都對應于一個單獨的坐標組(下文中稱為點標志)。然而,上述實施例的特征在于未知參數(shù)的自由度根據(jù)傳感器測量的結果而受限制并且剩余未知參數(shù)由非線性等式的迭代解而計算出。相應地,標志的類型并不受上述任何一個實施例的限制。
例如,具有特殊幾何形狀的標記如用于已知的位置/方位確定設備(參見Takahashi、Ishii、Makino以及Nakashizu所著的High-AccuracyRealtime Estimation Method of Position/Orientation of RectangularMarker by Monocular Vision for VR Interface,Proceedings of 3D ImageConference′96,pp.167-172,1996(日文))中的標記同樣可以作為標志。在使用了矩形標記的情況下,將矩形的每個頂點的世界坐標作為已知值預先存儲起來(或從位置,方位以及標記的尺寸計算出世界坐標)。相應地,通過從圖像上檢測每個頂點的圖像坐標,可以得到類似于根據(jù)上述實施例的標志的效果。
另外,也可以使用具有線型特征的標志(下文中稱為線標志)如用于另一個已知的位置/方位確定設備的標志(參見例如D.G.Lowe所著Fitting Parameterized Three-Dimensional Models to Images,IEEETransactions on PAMI,vol.13,no.5,pp.441-450,1991)。作為用以評估每個線標志離原點的距離的參照,誤差向量U可以由從圖像獲得的檢測值d計算而來的誤差Δd以及從狀態(tài)向量s′獲得的估計值d*組成,且矩陣Θ可以通過排列1行6列的雅可比矩陣Jds′(=d/s′)而構成,該矩陣具有用于計算d*的等式對狀態(tài)向量s′的元素偏微分而獲得的元素。相應地,對位置和方位的確定可以類似于上述實施例。另外,通過累積由線標志、點標志以及其它類型的標志而獲得的誤差以及圖像雅可比行列式,可以同時使用所有標志的特征。
第三修改雖然第二實施例中只提供了攝像裝置830,可以將多個攝像裝置可以附著在目標物體880上以確方位置和方位。在這種情況下,圖像輸入單元160以及標志檢測器110處理從每個照相攝像機獲得的輸入圖像。另外,方位預測單元450以及位置/方位計算器820基于目標物體880的位置和方位進行計算。位置/方位計算器820設定向量s′包括目標物體880的位置以及方位角-漂移-誤差校正值的更新值。通過使用了從每個圖像獲得的標志的信息的等式19(對于每個照相攝像機,RCO和tCO不同)來獲得每個標志的誤差和圖像雅可比行列式,并且通過累積誤差和圖像雅可比行列式來獲得誤差向量U和矩陣Θ。相應地,類似于上述實施例,可以估計的位置和方位。
另外,雖然第一實施例中只提供了攝像裝置130作為目標物體,但是即使將要把兩個攝像裝置的位置和方位確定于例如立體視頻透視頭部設置顯示屏中,也可以通過設定攝像裝置(例如,用于左眼的攝像裝置)為參照來類似地進行位置/方位的確定。
第四修改在每一個上述實施例中,使用了導致方位角漂移誤差的方位傳感器單元。然而,還可以使用所導致的顯著誤差僅限于方位角的其它的方位傳感器單元。例如,當使用的方位傳感器單元通過加速傳感器測量傾角并通過地磁傳感器測量方位角時,類似于上述實施例,通過將方位和方位角-漂移-誤差校正值的更新值設置為未知參數(shù),可以確定目標物體的位置和方位。然而,在這種情況下,誤差的特性有別于方位角漂移誤差的特性,并且因此這種結構不適用于運用第四和第五實施例。另外,在使用了僅測量傾角方位的傳感器單元的情況下,通過進行相似的處理并假設傳感器單元是方位角的測量值永遠為0的三軸方位傳感器單元,可以確定目標物體的位置和方位。
其它實施例本發(fā)明還可以通過提供具有存儲介質(zhì)(存儲器介質(zhì))的系統(tǒng)或設備來實現(xiàn),該存儲介質(zhì)存有用于執(zhí)行上述實施例的功能并導致系統(tǒng)或設備的計算機(或CPU或MPU(微處理單元))讀取并執(zhí)行存儲在存儲介質(zhì)上的程序代碼的軟件程序的程序代碼。在這種情況下,從存儲介質(zhì)讀出的程序代碼本身提供上述實施例的功能。另外,上述實施例的功能不僅通過使計算機讀取并執(zhí)行程序代碼來實現(xiàn),還可以通過使運行在計算機上的操作系統(tǒng)(OS)基于程序代碼的指令執(zhí)行一些處理來實現(xiàn)。
更進一步,通過將讀自存儲介質(zhì)的程序代碼寫在插在計算機上的功能擴展板或連接在計算機上的功能擴展單元的存儲器上,并使功能擴展板或功能擴展單元的CPU基于程序代碼的指令執(zhí)行一些或全部的處理,也可以實現(xiàn)上述實施例的功能。
當本發(fā)明應用在上述存儲介質(zhì)上時,將對應于上述流程圖的程序代碼存儲在記錄介質(zhì)上。
由于可以做出不脫離本發(fā)明的主旨和范圍的許多明顯地、廣泛地不同的實施例,因此應當理解,除非在所附權利要求中進行了定義,否則本發(fā)明并不局限于其特定實施例。
權利要求
1.一種用于確定目標物體的位置和方位的位置/方位確定方法,該方法包括圖像輸入步驟,用于輸入從附著在目標物體上的攝像裝置獲得的拍攝圖像;方位輸入步驟,用于輸入從方位傳感器獲得的測量到的方位,所述方位傳感器獲取關于目標物體的方位的信息;特征檢測步驟,用于獲得關于來自拍攝圖像的場景上排列的標志的圖像坐標的特征值,作為測量到的特征值;以及計算步驟,用于計算用于確定目標物體的位置和方位的參數(shù),利用關于該參數(shù)的理論特征值的圖像雅可比行列式計算該參數(shù),使得在特征檢測步驟中所獲得的測量到的特征值和基于測量到的方位和估計的參數(shù)而獲得的理論特征值之間的誤差減小。
2.根據(jù)權利要求1所述的位置/方位確定方法,其中參數(shù)代表的是校正值,其用于校正方位傳感器的方位角誤差以及目標物體的位置。
3.根據(jù)權利要求2所述的位置/方位確定方法,其中參數(shù)代表的是目標物體的位置。
4.一種用于確定拍攝場景的攝像裝置的位置和方位的位置/方位確定方法,該方法包括圖像輸入步驟,用于輸入從攝像裝置獲得的拍攝圖像;方位輸入步驟,用于輸入從方位傳感器獲得的測量到的方位,所述方位傳感器獲取關于攝像裝置的方位的信息;特征檢測步驟,用于獲得關于來自拍攝圖像的場景上排列的標志的圖像坐標的特征值,作為測量到的特征值;以及計算步驟,用于計算用于確定攝像裝置的位置和方位的參數(shù),利用關于該參數(shù)的理論特征值的圖像雅可比行列式計算該參數(shù),使得在特征檢測步驟中所獲得的測量到的特征值和基于測量到的方位和估計的參數(shù)而獲得的理論特征值之間的誤差減小。
5.根據(jù)權利要求4所述的位置/方位確定方法,其中參數(shù)代表的是校正值,其用于校正方位傳感器的方位角誤差以及目標物體的位置。
6.根據(jù)權利要求5所述的位置/方位確定方法,其中參數(shù)代表的是目標物體的位置。
7.一種用于確定拍攝場景的攝像裝置的位置和方位的位置/方位確定方法,該方法包括圖像輸入步驟,用于輸入從攝像裝置獲得的拍攝圖像;方位輸入步驟,用于輸入從方位傳感器獲得的測量到的方位,所述方位傳感器獲取關于攝像裝置的方位的信息;特征檢測步驟,用于獲得關于來自拍攝圖像的場景上排列的標志的圖像坐標的特征值作為測量到的特征值;校正值更新步驟,其中操作員對于測量到的方位更新誤差校正值;誤差校正步驟,用于基于測量到的方位和誤差校正值獲得校正方位;以及計算步驟,用于利用關于標志的圖像坐標的校正方位和測量到的特征值來計算至少攝像裝置的位置。
8.一種用于確定目標物體的位置和方位的位置/方位確定設備,該設備包括圖像輸入單元,用于輸入從附著在目標物體上的攝像裝置獲得的拍攝圖像;方位輸入單元,用于輸入從方位傳感器獲得的測量到的方位,所述方位傳感器獲取關于目標物體的方位的信息;特征檢測單元,用于獲得關于來自拍攝圖像的場景上排列的標志的圖像坐標的特征值,作為測量到的特征值;以及計算單元,用于計算用于確定目標物體的位置和方位的參數(shù),利用關于該參數(shù)的理論特征值的圖像雅可比行列式計算該參數(shù),使得在特征檢測步驟中所獲得的測量到的特征值和基于測量到的方位和估計的參數(shù)而獲得的理論特征值之間的誤差減小。
9.一種用于確定拍攝場景的攝像裝置的位置和方位的位置/方位確定設備,該設備包括圖像輸入單元,其輸入從攝像裝置獲得的拍攝圖像;方位輸入單元,其輸入從方位傳感器獲得的測量到的方位,所述方位傳感器獲取關于攝像裝置的方位的信息;特征檢測單元,其獲得關于來自拍攝圖像的場景上排列的標志的圖像坐標的特征值,作為測量到的特征值;計算單元,其計算用于確定攝像裝置的位置和方位的參數(shù),利用關于該參數(shù)的理論特征值的圖像雅可比行列式計算該參數(shù),使得在特征檢測步驟中所獲得的測量到的特征值和基于測量到的方位和估計的參數(shù)而獲得的理論特征值之間的誤差減小。
10.一種用于確定拍攝場景的攝像裝置的位置和方位的位置/方位確定設備,該設備包括圖像輸入單元,其輸入從攝像裝置獲得的拍攝圖像;方位輸入單元,其輸入從方位傳感器獲得的測量到的方位,所述方位傳感器獲取關于攝像裝置的方位的信息;特征檢測單元,其獲得關于來自拍攝圖像的場景上排列的標志的圖像坐標的特征值,作為測量到的特征值;校正值更新單元,操作員利用其來對測量到的方位更新誤差校正值;以及誤差校正單元,其基于測量到的方位和誤差校正值獲得校正方位;計算單元,其利用關于標志的圖像坐標的校正方位和測量到的特征值來計算至少攝像裝置的位置。
全文摘要
一種標志檢測器檢測排列在來自由攝像裝置拍攝的圖像的場景上的標志的圖像坐標。方位傳感器附著在攝像裝置上,并且輸出測量到的方位。方位預測單元基于方位傳感器所獲得的測量到的方位預測攝像裝置的方位。位置/方位計算器接收攝像裝置的預測的方位以及每個標志的一組圖像坐標和世界坐標,確定攝像裝置的位置以及方位傳感器的方位角-漂移-誤差校正值的更新值,并且計算攝像裝置的位置和方位。
文檔編號G01B11/03GK1865842SQ200510068069
公開日2006年11月22日 申請日期2005年5月16日 優(yōu)先權日2004年5月14日
發(fā)明者佐藤清秀, 內(nèi)山晉二 申請人:佳能株式會社