基于定向傳感器解決單應性分解不明確性的制作方法
【專利摘要】將平坦對象的兩個所俘獲圖像之間的單應性分解為至少一個可能的解,且通常至少兩個不明確的解。使用來自定向傳感器的測量值移除所述兩個解之間的不明確性,或使單一解生效??赏ㄟ^將從所述一個或一個以上解的相對旋轉(zhuǎn)矩陣導出的偏航、俯仰和/或橫搖角中的至少一者與從來自定向傳感器的所述測量值導出的偏航、俯仰和/或橫搖角中的對應至少一者進行比較而使用來自所述定向傳感器的所述測量值。
【專利說明】基于定向傳感器解決單應性分解不明確性
[0001]待決臨時申請案的交叉參考
[0002]本申請案主張2011年12月2日申請的且標題為“基于定向傳感器解決單應性分角軍不明石角性(Resolving Homography Decomposition Ambiguity Based on OrientationSensors) ”的第13/310,204號美國專利申請案的優(yōu)先權(quán),所述專利申請案又依據(jù)35USC119主張2011年9月12日申請的且標題為“解決單應性分解不明確性(Resolving HomographyDecomposition Ambiguity) ”的第61/533,733號美國臨時專利申請案的優(yōu)先權(quán),其兩者均指派給本受讓人且全文以引用的方式并入本文中。
【背景技術(shù)】
[0003]基于視覺的跟蹤技術(shù)使用移動平臺俘獲的圖像來確定移動平臺相對于環(huán)境中的對象的位置和定向(方位)。跟蹤對于例如導航和擴增現(xiàn)實(其中將虛擬對象插入到用戶對現(xiàn)實世界的視圖中)等許多應用是有用的。
[0004]一種類型的基于視覺的跟蹤通過檢測環(huán)境中的平坦表面而初始化參考斑塊。所述表面通常使用表面的多個圖像檢測,計算兩個圖像之間的單應性且將其用于估計表面上檢測到的點的3D位置。同一平坦表面的任何兩個相機圖像通過3x3單應性矩陣h相關(guān)。單應性h可分解為兩個圖像之間的旋轉(zhuǎn)R和平移t。方位信息[Rlt]可接著用于導航、擴增現(xiàn)實或其它此類應用。
[0005]然而,在大多數(shù)情況下,單應性h的分解產(chǎn)生多個可能的解。然而,這些解的僅一者表示實際平坦表面。因此,單應性h的分解中存在必須解決的不明確性。解決單應性分解不明確性的已知方法需要使用額外信息來選擇正確的解,例如平坦表面的額外圖像或先前知識。
[0006]借助實例,例如Georg Klein和David Murray “照相手機上的并行跟蹤和映射(Parallel Tracking and Mapping on a Camera Phone) ”(混合和擴增現(xiàn)實國際研討會(ISMAR)會議記錄中,4頁,2009年(“PTAM”))描述的跟蹤技術(shù)遭遇單應性分解之后方位選擇的不明確性。PTAM需要額外視頻幀(即,圖像)來解決所述不明確性。對于每一可能的解,PTAM計算3D相機方位且針對若干后續(xù)幀比較方位重投影誤差。當一個解的平均投影誤差大于另一者(例如大兩倍)時,消除具有較大誤差的解。然而,使用方位重投影解決不明確性花費較長時間收斂且有時產(chǎn)生不正確的結(jié)果。
[0007]用于解決不明確性的另一方法是選擇具有最接近相機的初始定向的法線的單應性解。然而,此方法限制用戶始終接近正面定向而開始且移動相機遠離所述位置。
[0008]在D.Santosh Kumar和C.V.Jawahar “用于逐段平坦環(huán)境中的相機定位的穩(wěn)健的基于單應性的控制(Robust Homography-Based Control for Camera Positioning inPiecewise Planar Environments) ”(印度計算機視覺、圖形和圖像處理會議(ICVGIP),906-918(2006))描述的方法中,需要空間中的另一平坦表面,或需要關(guān)于平面的先前知識來選擇正確的解。因此,此方法具有有限的實際應用。
【發(fā)明內(nèi)容】
[0009]將平坦對象的兩個所俘獲圖像之間的單應性分解為至少一個可能的解,且通常至少兩個不明確解。使用來自定向傳感器的測量值移除所述兩個解之間的不明確性,或使單一解生效??赏ㄟ^將從所述一個或一個以上解的相對旋轉(zhuǎn)矩陣導出的偏航、俯仰和/或橫搖角的至少一者與從來自定向傳感器的所述測量值導出的偏航、俯仰和/或橫搖角的對應至少一者比較而使用來自所述定向傳感器的所述測量值。
[0010]在一個實施例中,一種方法包含從不同位置俘獲平坦對象的兩個圖像;確定所述兩個圖像之間的單應性;分解所述單應性以獲得至少一個可能的解;使用來自定向傳感器的測量值確定所述至少一個可能的解是否正確;以及存儲正確的解。
[0011]在另一實施例中,一種設備包含:相機,其用于俘獲平坦對象的圖像;定向傳感器,其用于感測相機的定向;以及處理器,其經(jīng)耦合以當俘獲到兩個圖像時從不同位置接收平坦對象的兩個圖像且從定向傳感器接收測量值,所述處理器經(jīng)配置以確定兩個圖像之間的單應性,分解所述單應性以獲得至少一個可能的解,使用來自定向傳感器的測量值確定所述至少一個可能的解是否正確,且將正確的解存儲在存儲器中。
[0012]在另一實施例中,一種設備包含:用于從不同位置俘獲平坦對象的兩個圖像的裝置;用于確定所述兩個圖像之間的單應性的裝置;用于分解所述單應性以獲得至少一個可能的解的裝置;用于使用來自定向傳感器的測量值確定所述至少一個可能的解是否正確的裝置;以及用于存儲正確的解的裝置。
[0013]在又一實施例中,一種包含存儲在其上的程序代碼的非暫時性計算機可讀媒體包含:用以確定從不同位置俘獲的平坦對象的兩個圖像之間的單應性的程序代碼;用以分解所述單應性以獲得至少一個可能的解的程序代碼;用以使用來自定向傳感器的測量值確定所述至少一個可能的解是否正確的程序代碼;以及用以存儲正確的解的程序代碼。
【專利附圖】
【附圖說明】
[0014]圖1說明移動平臺在兩個不同位置處俘獲平坦對象的圖像。
[0015]圖2說明平坦對象上的三維(3D)點到不同位置處俘獲的兩個圖像上的投影。
[0016]圖3說明單應性分解的解的不明確性。
[0017]圖4說明相對于移動平臺的不同坐標系,包含世界坐標系、相機坐標系和傳感器坐標系。
[0018]圖5是說明使用來自定向傳感器的測量值解決單應性分解中的不明確性的過程的流程圖。
[0019]圖6是說明使用來自定向傳感器的測量值消除至少一個可能的解的過程的流程圖。
[0020]圖7是說明能夠使用平坦對象的僅兩個圖像且在無平坦對象的任何先前知識的情況下解決單應性分解中的不明確性的移動平臺的框圖。
【具體實施方式】
[0021]圖1說明移動平臺100,其包含相機112且利用相機112在兩個不同位置A和B處俘獲平坦對象102的圖像,其中位置A對應于第一(或初始)所俘獲圖像102A,且位置B對應于第二(或當前)所俘獲圖像102B。所俘獲圖像102A和102B說明為正由顯示器114展示。在實踐中,單一移動平臺100可在其從位置A移動到位置B (如圖1中的虛線箭頭指示)的同時從實況視頻流俘獲一系列幀?;蛘?,兩個不同移動平臺可用于從不同位置A和B俘獲平坦對象102的圖像。移動平臺100還包含定向傳感器116,例如加速計、磁力計和/或陀螺儀。應注意,雖然例如加速計等傳感器測量線性運動且例如陀螺儀等傳感器測量角運動,但兩個位置之間的相對定向可使用此類傳感器確定,且因此,所有此類傳感器在本文稱為定向傳感器116。
[0022]如圖2所示,如果平面π上的3D點在兩個圖像I’和I上檢視,那么其在圖像I’上的2D投影q’ =(x’,y’,l)與其在圖像I上的2D投影q= (x,y,l)通過單應性h相關(guān)為:
[0023]q'^ Ik1 等式 I
[0024]平坦表面的兩個視圖之間的單應性h可使用Faugeras, 0.和Lustman, F.“逐段平坦環(huán)境中的運動和來自運動的結(jié)構(gòu)(Motion and structure from motion in a piecewiseplanar environment)” (國際模式辨識和人工智能期刊2 (1988) 485-508,其以引用的方式并入本文中)描述的眾所周知的程序分解為旋轉(zhuǎn)矩陣R、平移矩陣t和法線η。在大多數(shù)一股情況下,單應性h的分解產(chǎn)生四個可能的解,即旋轉(zhuǎn)矩陣R和平移矩陣t的四個可能集合。兩個解可通過強加非交叉約束和可見性約束來消除。非交叉約束要求從平坦對象的同一側(cè)俘獲兩個相機圖像,例如從平坦對象上方俘獲兩個圖像。可見性約束要求當俘獲圖像時平坦對象上的所有3D點必須在相機前方。然而,其它兩個可能解之間的不明確性仍保
&3甶O
[0025]圖3是移動平臺100相 對于平坦對象102處于初始位置A以及處于當前位置B (連同用戶201)的另一說明。來自在初始位置A和當前位置B處產(chǎn)生的圖像的單應性分解會產(chǎn)生兩個可能的解200和202,其中解200對應于移動平臺100的正確位置B,且解202不正確并以點線說明。如上文論述,單應性分解的每一解200和202包含平面法線η (圖3所示)以及旋轉(zhuǎn)矩陣R(由圖3中的箭頭R2tic^PR2tl2說明)和平移矩陣t(圖3未圖示)。應理解,如上文論述,單應性分解可產(chǎn)生多達四個可能的解,但兩個解可通過強加非交叉約束和可見性約束而容易地消除且因此在圖3中未圖示。圖3所示的兩個剩余可能的解200和202均為來自單應性分解的有效解,且因此需要解決不明確性。另外,應理解,單應性分解可產(chǎn)生僅一個可能的解,例如解200,但可能需要使所述解生效。
[0026]兩個剩余解之間的不明確性可使用來自定向傳感器116的測量值解決(或在僅存在一個解的情況下使其生效)以消除可能的解。來自定向傳感器116的測量值可用于導出相機坐標系中的基于測量值的偏航(am)、俯仰(βΜ)和橫搖(Ymb)角(有時在本文中統(tǒng)稱為基于測量值的角)。類似地,與來自單應性h的分解的可能解200和202相關(guān)聯(lián)的相對旋轉(zhuǎn)矩陣R2tltl和R2tl2可用于導出偏航、俯仰和橫搖角(有時在本文中統(tǒng)稱為基于單應性的角)。換句話說,如圖3中說明,偏航(a.)、俯仰(β.)和橫搖(Y.)角可從旋轉(zhuǎn)矩陣R2tltl導出,且偏航U 202)、俯仰(β 202)和橫搖U 202)角可從旋轉(zhuǎn)矩陣R2tl2導出。接著可將基于測量值的角的一者或一者以上與同可能解相關(guān)聯(lián)的對應的一個或一個以上角比較以確定哪一解為正確的(或在僅存在一個解的情況下使解生效)。
[0027]定向傳感器116測量旋轉(zhuǎn)矩陣Kws,其使向量在時間t從傳感器坐標系變換到世界坐標系。另外,在時間t,旋轉(zhuǎn)矩陣i?r使向量從相機坐標系變換到世界坐標系。矩陣^?廠與R之間的關(guān)系界定為:
[0028]ατ 等式 2
[0029]其中IT為將向量從相機坐標系變換到傳感器坐標傳感器的旋轉(zhuǎn)矩陣,其為已知常數(shù),例如其可針對移動平臺100預先校準。
[0030]圖4借助實例說明在兩個不同位置處在時間h和時間t2相對于移動平臺100的不同坐標系。所述坐標系包含世界坐標系302、以及相機坐標系304和傳感器坐標系306。如箭頭說明,旋轉(zhuǎn)矩陣Rse使向量從相機坐標系304變換到傳感器坐標系306,且其對于移動平臺100保持恒定。
[0031]如果例如在圖4所示的時間h和時間t2從不同位置俘獲同一平坦對象的兩個相機圖像,那么所述兩個圖像在相機坐標系中通過3x3單應性矩陣h相關(guān)。單應性矩陣h可分解為平面法線η、相對旋轉(zhuǎn)矩陣ΛΙζ(圖4中以時間h和時間t2處移動平臺100之間的箭頭說明)和平移矩陣At。如上文論述,單應性h的分解通常產(chǎn)生多個解,且因此圖4中的相對旋轉(zhuǎn)矩陣Λ Rc對應于與圖3中的可能解200和202相關(guān)聯(lián)的相對旋轉(zhuǎn)矩陣R2tltl和
尺202。
[0032]在時間&和時間t2俘獲的兩個圖像之間的相對旋轉(zhuǎn)矩陣Λ Rc可基于使向量從相機坐標系304變換到世界坐標系302的旋轉(zhuǎn)矩陣確定為:
[0033]
【權(quán)利要求】
1.一種方法,其包括: 從不同位置俘獲平坦對象的兩個圖像; 確定所述兩個圖像之間的單應性; 分解所述單應性以獲得至少一個可能的解; 使用來自定向傳感器的測量值確定所述至少一個可能的解是否正確;以及 存儲正確的解。
2.根據(jù)權(quán)利要求1所述的方法,其中獲得多個可能的解,且使用來自所述定向傳感器的所述測量值消除所述多個可能的解中的至少一者。
3.根據(jù)權(quán)利要求1所述的方法,其中分解所述單應性產(chǎn)生所述兩個圖像之間的至少一個相對旋轉(zhuǎn)矩陣,其中使用來自所述定向傳感器的所述測量值包括: 從所述至少一個相對旋轉(zhuǎn)矩陣導出基于單應性的偏航、俯仰和橫搖角; 使用來自所述定向傳感器的所述測量值確定基于測量值的相對旋轉(zhuǎn)矩陣; 針對所述基于測量值的相對旋轉(zhuǎn)矩陣導出基于測量值的偏航、俯仰和橫搖角;以及將所述基于測量值的偏 航、俯仰和橫搖角中的至少一者與所述基于單應性的偏航、俯仰和橫搖角中的至少一者進行比較以確定所述至少一個可能的解是正確的。
4.根據(jù)權(quán)利要求3所述的方法,其中分解所述單應性產(chǎn)生兩個解,每一解具有相應的相對旋轉(zhuǎn)矩陣,且其中針對所述兩個解中的每一者導出所述基于單應性的偏航、俯仰和橫搖角,且其中針對所述兩個解中的每一者將所述基于測量值的偏航、俯仰和橫搖角中的所述至少一者與所述基于單應性的偏航、俯仰和橫搖角中的所述至少一者進行比較。
5.根據(jù)權(quán)利要求4所述的方法,其進一步包括將針對第一解的所述基于單應性的偏航、俯仰和橫搖角與針對第二解的所述基于單應性的偏航、俯仰和橫搖角進行比較以確定具有最大差的角,以及當針對所述兩個解中的每一者將所述基于測量值的偏航、俯仰和橫搖角中的所述至少一者與所述基于單應性的偏航、俯仰和橫搖角中的所述至少一者進行比較時僅使用所述具有所述最大差的角。
6.根據(jù)權(quán)利要求1所述的方法,其中使用來自所述定向傳感器的所述測量值確定所述至少一個可能的解是否正確不使用所述平坦對象的先前知識且不使用所述平坦對象的額外圖像。
7.一種設備,其包括: 相機,其用于俘獲平坦對象的圖像; 定向傳感器,其用于感測所述相機的定向;以及 處理器,其經(jīng)耦合以當俘獲到從不同位置俘獲的所述平坦對象的兩個圖像時接收所述兩個圖像以及來自所述定向傳感器的測量值,所述處理器經(jīng)配置以確定所述兩個圖像之間的單應性,分解所述單應性以獲得至少一個可能的解,使用來自所述定向傳感器的所述測量值確定所述至少一個可能的解是否正確,且將正確的解存儲在存儲器中。
8.根據(jù)權(quán)利要求7所述的設備,其中獲得多個可能的解,且所述處理器經(jīng)配置以使用來自所述定向傳感器的所述測量值消除所述多個可能的解中的至少一者。
9.根據(jù)權(quán)利要求7所述的設備,其中所述處理器經(jīng)配置以分解所述單應性以產(chǎn)生所述兩個圖像之間的至少一個相對旋轉(zhuǎn)矩陣,其中所述處理器經(jīng)配置以使用來自所述定向傳感器的所述測量值來通過經(jīng)配置以進行以下操作而確定所述至少一個可能的解是否正確:針對所述至少一個相對旋轉(zhuǎn)矩陣導出基于單應性的偏航、俯仰和橫搖角; 基于來自所述定向傳感器的所述測量值確定基于測量值的相對旋轉(zhuǎn)矩陣; 針對所述基于測量值的相對旋轉(zhuǎn)矩陣導出基于測量值的偏航、俯仰和橫搖角;以及將所述基于測量值的偏航、俯仰和橫搖角中的至少一者與所述基于單應性的偏航、俯仰和橫搖角中的至少一者進行比較以確定所述至少一個可能的解是否正確。
10.根據(jù)權(quán)利要求9所述的設備,其中分解所述單應性產(chǎn)生兩個解,每一解具有相應的相對旋轉(zhuǎn)矩陣,且其中所述處理器經(jīng)配置以針對所述兩個解中的每一者導出所述基于單應性的偏航、俯仰和橫搖角,且針對所述兩個解中的每一者將所述基于測量值的偏航、俯仰和橫搖角中的所述至少一者與所述基于單應性的偏航、俯仰和橫搖角中的所述至少一者進行比較。
11.根據(jù)權(quán)利要求10所述的設備,其中所述處理器進一步經(jīng)配置以將針對第一解的所述基于單應性的偏航、俯仰和橫搖角與針對第二解的所述基于單應性的偏航、俯仰和橫搖角進行比較以確定具有最大差的角,且僅使用所述具有所述最大差的角來針對所述兩個解中的每一者將所述基于測量值的偏航、俯仰和橫搖角中的所述至少一者與所述基于單應性的偏航、俯仰和橫搖角中的所述至少一者進行比較。
12.根據(jù)權(quán)利要求7所述的設備,其中所述處理器經(jīng)配置以在無所述平坦對象的先前知識且無所述平坦對象的額外圖像的情況下使用來自所述定向傳感器的所述測量值確定所述至少一個可能的解是否。
13.—種設備,其包括: 用于從不同位置俘獲平坦對象的兩個圖像的裝置; 用于確定所述兩個圖像之間`的單應性的裝置; 用于分解所述單應性以獲得至少一個可能的解的裝置; 用于使用來自定向傳感器的測量值確定所述至少一個可能的解是否正確的裝置;以及 用于存儲正確的解的裝置。
14.根據(jù)權(quán)利要求13所述的設備,其中所述用于分解所述單應性的裝置產(chǎn)生多個可能的解,且其中所述用于使用來自所述定向傳感器的所述測量值的裝置消除所述多個可能的解中的至少一者。
15.根據(jù)權(quán)利要求13所述的設備,其中所述用于分解所述單應性的裝置產(chǎn)生所述兩個圖像之間的至少一個相對旋轉(zhuǎn)矩陣,其中所述用于使用來自所述定向傳感器的所述測量值的裝置包括: 用于從所述至少一個相對旋轉(zhuǎn)矩陣導出基于單應性的偏航、俯仰和橫搖角的裝置; 用于使用來自所述定向傳感器的所述測量值確定基于測量值的相對旋轉(zhuǎn)矩陣的裝置; 用于針對所述基于測量值的相對旋轉(zhuǎn)矩陣導出基于測量值的偏航、俯仰和橫搖角的裝置;以及 用于將所述基于測量值的偏航、俯仰和橫搖角中的至少一者與所述基于單應性的偏航、俯仰和橫搖角中的至少一者進行比較以確定所述至少一個可能的解是正確的裝置。
16.根據(jù)權(quán)利要求15所述的設備,其中所述用于分解所述單應性的裝置產(chǎn)生兩個解,每一解具有相應的相對旋轉(zhuǎn)矩陣,且其中針對所述兩個解中的每一者導出所述基于單應性的偏航、俯仰和橫搖角,且其中針對所述兩個解中的每一者將所述基于測量值的偏航、俯仰和橫搖角中的所述至少一者與所述基于單應性的偏航、俯仰和橫搖角中的所述至少一者進行比較。
17.根據(jù)權(quán)利要求16所述的設備,其進一步包括用于以下操作的裝置:將針對第一解的所述基于單應性的偏航、俯仰和橫搖角與針對第二解的所述基于單應性的偏航、俯仰和橫搖角進行比較以確定具有最大差的角,以及當針對所述兩個解中的每一者將所述基于測量值的偏航、俯仰和橫搖角中的所述至少一者與所述基于單應性的偏航、俯仰和橫搖角中的所述至少一者進行比較時僅使用所述具有所述最大差的角。
18.根據(jù)權(quán)利要求13所述的設備,其中所述用于使用來自所述定向傳感器的所述測量值確定所述至少一個可能的解是否正確的裝置不使用所述平坦對象的先前知識且不使用所述平坦對象的額外圖像。
19.一種包含存儲在其上的程序代碼的非暫時性計算機可讀媒體,其包括: 用以確定從不同位置俘獲的平坦對象的兩個圖像之間的單應性的程序代碼; 用以分解所述單應性以獲得至少一個可能的解的程序代碼; 用以使用來自定向傳感器的測量值確定所述至少一個可能的解是否正確的程序代碼;以及 用以存儲正確的解的程序代碼。
20.根據(jù)權(quán)利要求19所述的非暫時性計算機可讀媒體,其中獲得多個可能的解,且使用來自所述定向傳感器的所述測量值消除所述多個可能的解中的至少一者。
21.根據(jù)權(quán)利要求19`述的非暫時性計算機可讀媒體,其中所述用以分解所述單應性的程序代碼產(chǎn)生所述兩個圖像之間的至少一個相對旋轉(zhuǎn)矩陣,且其中所述用以使用來自所述定向傳感器的所述測量值的程序代碼包括: 用以針對所述至少一個相對旋轉(zhuǎn)矩陣導出基于單應性的偏航、俯仰和橫搖角的程序代碼; 用以使用來自所述定向傳感器的所述測量值確定基于測量值的相對旋轉(zhuǎn)矩陣的程序代碼; 用以針對所述基于測量值的相對旋轉(zhuǎn)矩陣導出基于測量值的偏航、俯仰和橫搖角的程序代碼;以及 用以將所述基于測量值的偏航、俯仰和橫搖角中的至少一者與所述基于單應性的偏航、俯仰和橫搖角中的至少一者進行比較以確定所述至少一個可能的解是正確的程序代碼。
22.根據(jù)權(quán)利要求21所述的非暫時性計算機可讀媒體,其中所述用于分解所述單應性的程序代碼產(chǎn)生兩個解,每一解具有相應的相對旋轉(zhuǎn)矩陣,且其中所述程序代碼針對所述兩個解中的每一者導出所述基于單應性的偏航、俯仰和橫搖角,且其中針對所述兩個解中的每一者將所述基于測量值的偏航、俯仰和橫搖角中的所述至少一者與所述基于單應性的偏航、俯仰和橫搖角中的所述至少一者進行比較。
23.根據(jù)權(quán)利要求22所述的非暫時性計算機可讀媒體,其進一步包括用以將針對第一解的所述基于單應性的偏航、俯仰和橫搖角與針對第二解的所述基于單應性的偏航、俯仰和橫搖角進行比較以確定具有最大差的角的程序代碼,且所述用以進行比較的程序代碼在針對所述兩個解中的每一者將所述基于測量值的偏航、俯仰和橫搖角中的所述至少一者與所述基于單應性的偏航、俯仰和橫搖角中的所述至少一者進行比較時僅使用所述具有所述最大差的角。
24.根據(jù)權(quán)利要求19所述的非暫時性計算機可讀媒體,其中所述用以使用來自所述定向傳感器的所述測量值確定所述至少一個可能的解是否正確的程序代碼不使用所述平坦對象的先前知識且不使用所述平坦對象的`額外圖像。
【文檔編號】G06T7/20GK103875020SQ201280050170
【公開日】2014年6月18日 申請日期:2012年8月15日 優(yōu)先權(quán)日:2011年9月12日
【發(fā)明者】蔣博蘭, 迪拉杰·阿胡賈, 克里斯托?!げ剪敿{ 申請人:高通股份有限公司