專利名稱:用于確定立體視覺中的分散視差場的方法
技術領域:
本發明一般涉及用于自動分析立體視覺的圖像的方法,尤其涉及 用于在對極幾何已知時確定分散視差場的方法。
背景技術:
自動分析圖像中要解決的常見問題是確定在顯示利用一個或多 個相機從不同視點獲得的同 一 場景的兩幀之間存在的視差
(disparity)。視差與同一場景元素的兩幀的位置有關。現已有計算 每個圖像像素以及限于像素的子集(即一組點)的視差的算法。前一 情形涉及密集視差場,后一情形涉及分散視差場。本發明屬于第二類。
用于確定兩幀之間存在的分散視差場的普遍技術在于識別和關 聯相對的相關點,即描述特征圖像區域的點。為此,現已有基于識別 可在幀之間似真地關聯(即降低模糊度)的角度、邊緣(egde)、輪 廓或任何其它特征的若干算法。這些算法用于跟蹤一般幀(也是由一個 相機在不同時刻拍攝的)之間的點。
在"計算機視覺,,領域,已有很多文獻涉及尋求不同幀之間的對應 問題。尤其,在立體視覺中,主要目的之一是確定自"("a)個不同 視圖到描繪的對象之間的距離。當w-2時,為確定對應,考慮描述視覺 系統(即相機特征和位置)的參數,使用描述與同一場景有關的兩幀之 間存在的關系的所謂基本矩陣。該關系意味著,在第一圖像(幀)上取 一個點,其在笫二圖像(幀)上的對應點將位于一條直線上(稱為對極 線)。
基于識別和跟蹤圖像中具有的特征可被用于計算分散視差場的最 著名算法之一是在Carlo Tomasi和Takeo Kanade的"Shape and Motion from Image Stream-part 3-Detection and Tracking of Point features"
(Technical Report CMU畫CS-91國132, April 1991 )文中描述的那個算法, 本領域中稱為KLT (Kanade畫Lucas-Tomasi)技術。如該文所述,幀之 間的正確點跟蹤存在兩個要解決的重要問題如何選擇要跟蹤的特征
("特征選擇")和如何逐幀跟蹤它們("跟蹤")。該文尤其描述了一種用 于通過2x2線性系統(其可在要被最小化的成本函數中變換)進行跟蹤 的算法,其未知量是兩幀之間的點特征的兩維移位向量(-現差向量)。盡 管可與圖像順序有關,KLT技術也可被有效地用于相同場景的同時圖像 的情形。
基于KLT技術的J. Shi和C. Tomasi的文章"Good features to track,, ( IEEE Conference on Computer Vision and Pattern Recognition(CVPR94), Seattle, June 1994 )提出了 一種可對其進行
跟蹤的特征的選擇標準。
J. Mendelsohn 、E. Simoncelli和R. Bajcsy的文章"Discrete-Time Rigidity-Constrained Optical Flow,,( 7th International Conference On Computer Analysis of Images and Patterns, September 10-12, 1997) 涉及密集場的計算并且提出視差向量(其構成密集場)指向位于對極直 線上的位置。有了該約束,如果準確得知對極直線,則可改進可獲得的 結果。
H. Najafi和G. Klinker的文章"Model-based Tracking with Stereovision for AR,,(Proceedings of the Second IEEE and ACM International Symposium on Mixed and Augmented Reality(ISMAR),2003)提出利用KLT技術的基本矩陣順流來移除某些 特征,對于這些特征,第二幀中的對應點未處在對極直線上。從而,與 兩個相機的配置相沖突的視差向量被移除。
發明內容
申請人注意到,KLT技術并未利用基本矩陣知識,這些知識在兩
個或更多相機的情形中通常是可獲得的。
而且,申請人注意到,利用基本矩陣的視差計算技術約束點停留
在對極線(epipolar line)上,并且這種約束只在假定精確相機校準的 情況下帶來正確結果。然而,校準典型地通過估計來獲得,并且因而容 易有誤差或者不準確。
申請人發現,通過適當修改KLT方法以考慮與可通過校準處理計 算的基本矩陣有關的信息,可提高提取的視差場的質量。尤其,申請人 發現,通過修改點跟蹤處理以便考慮基本矩陣(但不設定絕對約束),可 任意地影響處理,以便補償校準系統過程中的誤差。
尤其,申請人發現,通過在KLT技術成本函數中引入一個與對極 線和搜索點之間距離的平方成正比的項從而允許該設置偏離對極直線, 能夠在近似校準的情況下獲得精確結果。由此獲得的結果好于可通過運 用原始KLT技術獲得的結果和可通過約束識別的點只處于對極直線上 的結果。
優選地,為了確定與第一圖像的像素相關聯的第二圖像的點,反復 執行成本函數最小化步驟多次,每次均使用在之前的循環中獲得的成本 函數更新。
而且,申請人發現,可進一步限定相對于對極直線的有效區域,這 種限制由半線(對極直線的子集)表示,其導致消除不指向該半線附近 的位置的所有視差場。
本發明的優選應用領域是計算機視覺,尤其用于從多視點拍才聶的情形。
下面將參考示出了本發明的非限制性應用例子的附圖來描迷本 發明。具體地
圖1示意性地示出了用于視頻拍攝的系統,其包括兩個相機和由 本發明中描述的處理組成的塊;
圖2示意性地示出了兩相機攝取的圖像,在其中 一圖像上指出與 另一圖像的像素相關聯的對極線;
圖3示出了上述圖像,其指出上述對極線和視差向量的可允許區
域;
圖4和圖5示出了從不同角度攝取的同一場景的一對幀,以在本 發明的技術和以原始方式執行的KLT技術之間進行對比試驗; 圖6示出了以原始方式執行的KLT跟蹤技術的結果; 圖7示出了通過本發明的技術獲得的結果; 圖8和圖9示出了圖6和圖7中所示結果的對比細節。
具體實施例方式
參考圖1, 100整體上表示一個用于使用多個相機進行視頻拍攝 的系統。具體而言,系統100能夠從同一場景的不同位置拍攝并且確 定所拍攝的圖像之間的分散視差場。
系統100包括第一相機Tt和第二相機T2,兩者均能產生同一場 景的相應數字圖像(或幀)IM,、 IM2。可使兩相機T。 T2朝向場景 的方向為相互平行或相互傾斜。
系統100還包括處理單元PU,其連接到兩相機Tp T2并能夠按照 下述方法處理從兩相機1\、 T2接收的數字圖像IMi和IM2以獲得*視 差場。而且,系統100包括相機校準模塊CM (最好是處理單元中或單 獨單元中的軟件模塊),能夠向處理單元提供要用于按照本發明方法的處 理的校準數據。
同一場景的兩個同時圖像之間存在的關系與由一單獨相機拍攝的 連續圖像序列中存在的關系相似。因而可參考KLT跟蹤技術來解決確定 圖像特征移位的問題,如上述文章中Shi和Tomasi所提出地來選取特征。
可用函數7Tx,j;力表示圖像序列,其中F指強度(單色情況下是標 量l)、 ;c和y是空間坐標(幀中的位置),/是時間。KLT技術也同樣基 于的常用的近似方法將時刻,和,+ r之間的圖像變化僅表示為空間失真。
F(x,jV)二F(x + wO,y),;; + v(x,y), "r) (1) 其中M(x,力和vOc,;;)是兩空間方向中的移位量。公式1在文獻中稱
為"亮度變化約束等式"(BCCE)。
這意味著可通過在時刻-將每個圖像點移動適當量(稱為移位(displacement))獲得時刻f + r中的圖像。通過得知圖像中每個像素的 移位,可構建圖像自身的視差場(即一組應用于相關幀的向量),允 許在另一時刻構建幀。
實際上,不是嚴密觀察BCBE。只要考慮其中一個圖像中的部分隱 藏對象就足夠了這些對象不是從一幀"移"到下一幀,而只是出現或不 出現。相同問題可在對象進入或離開場景的圖像邊緣發現。在任何情況 中,KLT技術考慮一些特征而不是所有像素,并且能夠對特征獲得在移 位計算下游的BCCE校正的估計。
本發明的技術對屬于場景的不同特征單獨地計算兩(或更多)幀之 間存在的視差場(從而其產生分散場)。
簡要地,如圖1中所示,本發明的方法包括下述步驟,下面將對 這些步驟進行詳細描述
-通過計算相機T,、 T2的諸如焦距和投影中心之類的固有參數和 諸如旋轉-平移(roto-translation )矩陣之類的非固有參數來校準相機1\ 、 T2 (塊110);
-提取圖像IIVh的特征(塊120);
-跟蹤第二圖像IM2上的特征,考慮校準參數(塊130);和 -從計算中移除第二圖像IM2中未落入可允許區域內的點,下面進
行定義(塊140 );
在本發明的方法中必須將移除步驟看作是優選的而不是強制的。
本方法輸出的是第一圖像IM,的特征和第二圖像IM2的對應點之間的匹配。
如上所述,計算分散視差場的問題可分為兩部分如何選擇要跟 蹤的對象(即圖像特征),和如何跟蹤選擇的對象。本發明影響跟蹤 操作。
可以下列方式將兩時刻,和"r的上述函數F表示為兩個函數/
和/:
/(X) = FO,W) (2) 和
/(x + d)二尸0 + w,y + v" + r) (3〉
其中"是與具有坐標x-(x,力的像素相關聯并且包含兩個分量"和V
的移位向量。通過將該置換插入,可以下述方式重寫等式(1)表示的
BCCE
/(x)-/(x + d) (4)
由于本方法單獨地應用于每個選擇的點,因此能夠考慮以須計算其 移動(即在像素x上)的對象為中心的像素窗『。在窗口『中,除了可
表示為下式的剩余誤差之外,等式(4)是有效的
f = J"[/(X)-/(X + d)]2血 (5)
通過使等式(5)中的誤差最小來獲得最佳移位向量么等式(5) 不是線性的,為了對其求解,最好將其轉換成線性等式。當移位向量d
較小時,通過利用在一階處被截斷的泰勒逼近,可完成該轉換。
/(x + d)"(x) + g『d (引
其中g是在A:-(^,力中所求的函數/的梯度,
gfk」-V單」 (7)
通過使等式(6)對落入窗口 W內的所有像素離散化,得到下迷等
式系
< (8)
其中人)和、(p )是一般像素pn中的梯度向量的兩個元素,并且TV 是包含在窗口『中的像素數。
等式系(8)可表示為下述矩陣形式<formula>formula see original document page 10</formula>
(9)
,w)-可將等式 (9) 重寫成緊湊形式爿rf4。 矩陣A由落入所應用的窗口 內的像素中的第二幀的亮度梯度組成。向量6由同一窗口中的兩幀的像 素之間的亮度差組成。向量"是要計算的移位。應當理解,移位不必朝 向像素(因而具有離散坐標),而是更通常地朝向第二圖像的點,其可以 在兩相鄰像素的中間。
通過下述方式(見等式(10))將權重與每個等式相乘,對屬于窗
口的每個像素分配相對重要性是有利的。<formula>formula see original document page 10</formula> (10)
其中
權重被用于將較大的重
因此,分配給一般像素A的權重等于HV 要性賦予位于窗口中心的像素。
該系統是超定(over-determined)的,因為其由7V個等式(N>2) 和兩個未知量組成并且可通過代表最小二乘逼近的法方程求解
<formula>formula see original document page 10</formula> (11)
其中
G = ATWA , e = ATWb
KLT技術還包括用于選取要跟蹤的點的標準。可利用例如按照 Shi-Tomasi的教導的公知技術來完成該選取。選取的標準無論如何必 須保證矩陣G的可逆性。
所有上述討論對于呈現同一場景并且同時攝取的一對幀(例如圖 1中的幀IMi和IM2)也同樣有效。在這種情況下,事實上,兩函數 /和J分別與第一圖像IMt和第二圖像/A6相關聯。兩幀/3/7和 可滿足等式(1)的一個必要條件是兩個相機TV T2被放置為一個足 夠靠近另一個,使得它們拍攝相同場景部分。
通過對極幾何來表示同 一場景的兩次拍攝之間的關系。兩次拍攝 均可見的場景中的每個元素在兩幀/Af/和/M2中投影在遵從筒單等式 的位置上。該等式的系數包含在由3x3個元素組成的基本矩陣F中。 在齊次坐標中指定的兩幀中的投影位置是
和
<formula>formula see original document page 11</formula>其中X/、》、義2,力是呈現拍攝元素的兩幀中的兩個像素的坐標。 這些坐標必須遵從等式
mfFw,-0 (12〉
因此,給出兩幀的第一幀中的一點附7,第二幀中的點附2必須位 于其系數由乘積F附/確定的直線上。對稱地,給出第二幀中的一點 W2,點附7必須位于具有包含在乘積W/F中的系數的直線上。將這些 直線稱為對極。這些關系構成了完全由基本矩陣F表示的對極幾何。
在本說明書中,假定已知確定基本矩陣的固有和非固有的相機校 準參數。不過,申請人注意到,由于校準可以被估計錯誤影響,使用 由此提供的信息來作為絕對約束可能是不正確的。
為了關聯自校準參數的知識得到的信息,將KLT技術解釋為自等 式(9)獲得的特定函數的最小化是有用的。此等式是超定等式,并且可 通過最小二乘逼近來求解;其解對應于找到由Ad-b給出的所謂剩余范 數的最小值。因此,可用下式重新描述上述問題
<formula>formula see original document page 11</formula>(13)
即作為要被最小化的成本函數。考慮等式(io)中引入的權重,等
式(13)變成
<formula>formula see original document page 12</formula>
實際上,會出現這種情況由此獲得的向量并不總是正確的,即并 不總與從一幀到另一幀的對象移位相對應。例如,當KLT算法基于的線 性逼近失效時,這種情況可能發生。
對于兩個相機的情況,能夠考慮與校準有關的信息,從而改進結果。 對極幾何提供關于第二幀中的區域(在其中,為計算移位向量"而不得 不搜索特征)的指示。
本發明通過將校準數據變換為要被添加到已經包含在等式(14)中 的那些約束的約束來利用校準數據。將該約束變換為與對極信息有關的 成本項。如果已精確得知幾何形狀,搜索點應當位于對極直線上。考慮 到校準是通過估計獲得的,因而易于產生誤差或者不準確,更合適的是 分配與校準信息有關的價(valence )。因此,必須允許解偏離對極直線, 這在本發明中是通過在成本函數(14)中引入與對極線和搜索點之間距 離的平方成比例的一項來獲得的。
從而,等式(14)采取形式
<formula>formula see original document page 12</formula>其中P是表示點z+d(即,被量rf=f" v廣變換的點z-A:j;/)和L(即, 與點z相關聯的對極直線)之間的歐幾里得距離的函數。A因子必須預 先構建并且可被啟發式地確定,這同樣取決于分配給基本矩陣的可靠性。 義值越高,越依賴基本矩陣的正確性。義可增加,直到它實際約束解位于 對極直線上。
通過基本矩陣F獲得對極直線。在第二幀中,自點z+d的直線 距離可表示為
<formula>formula see original document page 12</formula>
其中系數fl、 6和c由下式中的乘積給出 <formula>formula see original document page 13</formula>(17)
從而該線上的任意點〃^"遵從等式 等式(15)的解可通過法方程獲得
<formula>formula see original document page 13</formula>(18)
其中向量p和r被定義為
<formula>formula see original document page 13</formula>(19)
和
<formula>formula see original document page 13</formula>(20)
可對等式(11 )和(14 )進行擴展,以通過每步均提供泰勒級數
的更新的迭代計算,獲得更精確的結果。在這種情況中,視差向量由 多個項組成。在每步均添加項,并且最終的結果可表示為
<formula>formula see original document page 13</formula>(21)
其中每一項是一個向量
<formula>formula see original document page 13</formula>(22)
在第M步中,等式(9)變成
或者,更緊湊地
<formula>formula see original document page 13</formula>(23)
從而,在第M次迭代,等式(ll)變成
U (25)
在3/=/、同時^="時初始化迭代。迭代的總次數可預先設定或根 據最后添加的項的范數確定。
可通過修改等式(20)中描迷的向量r,使得提供等式(15)的解 的法方程(18 )適合上述迭代處理。在第M次迭代,該向量將采取如下 形式
迄今所述的處理添加關于要計算的移位向量方向的信息,即等式 (15)產生與對極幾何一致的移位矢量。但是,這對于正確地表征向量 本身是不夠的,因為對于對極直線的約束帶有一定自由度。該自由度由 下述事實得出等式(15)中的第二項將解帶向對極直線,但不一定帶 向第二幀中的真實特征位置。可通過引入對極直線的可允許區域從而將
它轉換成半線來減小該問題。
該核對基于的事實是參考圖2,可將點P (可在拍攝場景中的無 窮遠距離處找到)關聯到第一幀IMi中的特征A。從而,點B可位于與 第二幀IM2相關聯的對極直線L上,其是點P的投影。由于投影到點A 的任意場景對象位于半線AP上,該對象在第二幀中的投影必須位于作 為半線AP的投影的半線S上。因此,該半線是對極直線的子集。
考慮由于不確定的校準可靠性而偏離對極直線的可能性,可將可 允許的子集擴展為以B為頂點、包含半線S的可允許區域Z,如圖3 中可看出。
按照這些討論,可執行允許有效地移除不遵從場景幾何的移位向量 的核對。因而,該核對(在點B位于第二幀IM2中的情形時是有用的) 允許移除點z+"不處在可允許區域Z中的所有備選{;^}(特征和移位向量)。區域z可具有不同形狀。必要的是z是該平面的子集,該平面由
經過與^目鄰的點B的曲線界定并包含半線S。 可將半線S表示如下
<formula>formula see original document page 15</formula> (27)
其中K是非負因子,;是與對極直線平行的方向向量。
可通過相機校準參數知識獲得用于限定半線S的元素。在這些元 素中,兩相機的固有參數被包含在矩陣&和&中,而將與第二機器 相關聯的旋轉矩陣和變換向量(非固有參數)稱為/ 和,。更多詳情 請參考Richard Hartley和Andrew Zisserman的"Multiple Vision Geometry" ( Cambridge University Press, 2000 )中第153-156和244 頁。矩陣/ 和向量,將屬于第二相機的坐標系轉換為屬于第一相機的 坐標系。第一幀中的特征A可用齊次坐標表示為
<formula>formula see original document page 15</formula>
點B (位于無窮遠處的點P的投影)可通過A和校準參數表示
<formula>formula see original document page 15</formula> (28),
其中A表示旋轉矩陣/ 的第三行。向量vv從點A獲得,為
<formula>formula see original document page 15</formula> (29)
方向向量〗可表示為
<formula>formula see original document page 15</formula> (30〉
其中t3是變換向量t的第三個元素。
作為例子,可參考圖3,以下述方式定義可允許區域。必須檢驗 其正確性的點的位置由和z+"給出。如果從B開始并且穿過z+d的半 線與半線S形成的角度小于特定閾值,則該點屬于可允許區域。在這 種情況下,在檢驗下述關系時用向量項來表示其是否屬于的核對
<formula>formula see original document page 16</formula>
I—"-,間「 (31) 其中標準化向量的內積超出了要設定的閾值^
。最小閾值是
0,此時可允許區域是由垂直于點B中的對極直線的直線界定并且包 含半線S的半平面。閾值越趨于值l增加,可允許區域越受限。依據 上述標準,圖3示出了與0和1之間的中間閾值對應的可允許區域, 以及一個不可接受的點r^/,的例子。
當作為上述處理的結果從處理單元PU輸出時,獲得從第一幀 IM,提取的特征和在第二幀IM2中找到的對應點之間的關聯,從而獲 得與這些點本身相關的移位向量rf。
可在圖4-9中看到一些例子。圖4和5包含從不同角度拍攝的同 一場景的一對幀,已經對其運用了構成本發明的算法。
圖6示出了以原始方式執行的KLT跟蹤技術的結果,而圖7示 出了通過本發明的技術獲得的結果。兩圖中指出,為跟蹤選取的特征 的移位向量為線段。如可觀察到的,在圖7中這些線段相互間更相干 地面對一定方向,這是誤差出現得較少的指標。
圖8和9示出了其中由本發明帶來的益處較明顯的一些重要細 節。在這些后面的圖像的每一個中,左上方塊(8a, 9a)以由第一幀 提取的特征為中心;右上方塊(8b, 9b)以通過原始KLT技術獲得 的第二幀中的點為中心;右下方塊(8c, 9c)以通過本發明獲得的第 二幀中的點為中心。在兩右方塊中,示出了與有關特征相關聯的對極 直線,這使我們能夠了解獲得的重要改進。
權利要求
1、用于確定立體視覺中分散視差場的方法,包括步驟●從兩個不同位置捕獲同一場景的第一和第二圖像,使得所述第一圖像的至少一組像素與所述第二圖像上對應的一組點相關聯;●選擇所述第一圖像中的至少一個像素;和●確定與所述像素相關聯的所述第二圖像的點,其中確定所述點包括使成本函數最小化,所述成本函數以所述像素和所述點之間的視差向量作為變量,并且依賴于以所述像素為中心的窗口中和以要確定的點為中心的對應窗口中第一和第二圖像之間的差異;其特征在于所述成本函數包括一項,該項以單調增加方式依賴于要確定的所述點與和所述像素相關聯的所述第二圖像中的對極直線的距離。
2、 按照權利要求l的方法,其中分別通過第一和第二相機捕獲 所述第一和第二圖像,并且所述項依賴于所述第一和第二相機的校準 參數。
3、 按照權利要求2的方法,其中根據相機校準數據的不確定性 對所述項施加權重。
4、 按照權利要求l的方法,其中所述項與所述點和對極線之間 的]f巨離平方成比例。
5、 按照前述權利要求中任一項的方法,其中確定與所述像素相 關聯的所述第二圖像的點的步驟包括在所述第二圖像中界定在所述 對極直線周圍的所述點的可允許區域。
6、 按照權利要求5的方法,其中所述可允許區域包含在由垂直 于所述對極直線的直線界定的半平面中。
7、 按照前述權利要求中任一項的方法,其中所述成本函數包括 參數,所述參數由以所述第二圖像中所述像素為中心的所述窗口的像素中的亮度梯度以及以所述像素為中心的所述窗口的像素與同一窗 口中所述第二圖像的像素之間的亮度差構成。
8、 按照前述權利要求中任一項的方法,其中確定與所述像素相 關聯的所述第二圖像的點的步驟包括使相對權重與包含在以所述像 素為中心的所述窗口中的所有像素相關聯。
9、 按照權利要求8的方法,其中與以所述像素為中心的所述窗 口的中心區域中的像素相關的權重大于與所述窗口的外部區域中的 像素相關的權重。
10、 按照前述權利要求中任一項的方法,其中確定所述點的步驟 包括使成本函數最小化的所述步驟。
11、 用于立體視覺的系統,包括適于拍攝同一場景的第一和第二 拍攝相機和適于從所述第一和第二相機接收所述場景的相應同時圖 像的處理單元,所述處理單元被配置用于按照權利要求1-10中任一項 來處理所述相應圖像。
全文摘要
在立體視覺的系統(100)中包括拍攝同一場景的兩個相機(T1,T2),在得知對極幾何時執行用于確定分散視差場的方法,包括下述步驟通過兩個相機,從兩個不同位置捕獲場景的第一和第二圖像(IM1,IM2);選擇第一圖像中的至少一個像素,所述像素與場景中的某點相關聯,第二圖像包含也同樣與場景的上述點相關聯的一點;和計算使成本函數最小化的從所述像素到第二圖像中的所述點的移位,該成本函數包括依賴于第一和第二圖像之間的差別的項和依賴于從對極直線到第二圖像中上述點的距離的項,然后核對其是否屬于圍繞對極直線的子集的可允許區域(其中允許所述點存在),以便在相機校準中考慮誤差或不確定性。
文檔編號H04N13/00GK101356831SQ200580052496
公開日2009年1月28日 申請日期2005年11月30日 優先權日2005年11月30日
發明者G·弗朗西尼, G·普雷斯蒂, S·萊普索尼 申請人:意大利電信股份公司