專利名稱:通過分析圖像序列構建三維景物模型的方法
技術領域:
本發明涉及通過分析圖像序列構建三維(3D)景物模型的方法。
該領域涉及在進行導航時對圖像序列進行處理并對真實靜態景物建模。序列是與靜態景物有關的圖像,在靜態景物中,視點(即攝像機)發生變化。
目的是允許用戶在真實景物中進行虛擬導航。然而,與景物有關的數據包括代表大量信息的圖像序列。必須以這樣的方式對這些序列進行處理以提供景物壓縮圖,即導航時,可以以最佳方式使用此景物壓縮圖,即利用受控圖像質量允許交互式再現。問題是在獲得高壓縮比的同時避免不適于進行導航的預測類型圖像間的技術。
可以將當前存在各種景物圖像主要劃分為●基于3D模型的圖像,在這種圖像中,通常以與圖像紋理有關的多面體的方式表示景物的幾何圖形。這種建模過程多用于描繪利用CAD(計算機輔助設計)類軟件獲得的合成景物。相反,由于這種建模過程復雜,所以到目前為止,它很少用于描繪真實景物。現有方法使用少量圖像,通常是照片,而且效果圖不太細致并缺少真實感。
●非3D圖像,例如基于QuickTime VR(蘋果公司的商標)軟件獲得;利用從一個全景拍攝轉換另一個全景拍攝的變遷圖像序列,以全景拍攝的形式獲得景物數據。這種描繪過程明顯地限制了在虛擬景物內進行導航的可能性。
本發明目的在于克服上述缺點。本發明的目標是提供一種通過分析圖像序列構造3D景物的方法,各圖像與其位置和其方向確定的視點對應,其特征在于,該方法包括下列步驟●對圖像計算與該圖像像素在3D空間內的深度對應的深度圖;●根據深度圖,對圖像計算與該圖像像素的分辨率對應的分辨率●通過將當前圖像像素投影到其它圖像,使當前圖像像素與另一個序列圖像像素匹配,像素與3D景物的相同點有關;●根據其分辨率以及與此像素匹配的其它序列圖像像素的分辨率,選擇當前圖像的像素;●根據選擇的像素構建3D模型。
根據特定實施例,該方法的特征在于,圖像的選擇像素構成一個或多個區域,根據像素是否屬于該區域并根據他們在圖像內所屬的區域的幾何圖形特征計算權重并將權重分配到圖像像素,其特征還在于,根據對像素賦予的分辨率和權重值,重新選擇像素。
根據可以與上述特定實施例合并使用的特定實施例,該方法的特征在于,通過對當前圖像識別其相應視點具有與涉及當前圖像的觀察區交叉的觀察區的圖像,分割圖像以致形成與其有關的圖像列表,其特征還在于,與當前圖像像素匹配的序列的其它圖像即其列表中的圖像。
通過從與圖像有關的列表中刪除具有太少與當前圖像的像素對應像素的圖像,可以分割序列圖像。
本發明還涉及在3D景物內進行導航的方法,該方法包括根據視點的移動創建圖像,其特征在于,根據上述構建3D模型的方法創建圖像。
圖像序列代表非常大量、具有圖像間高冗余度的數據。通過使用作為描繪靜態景物的最佳模型的3D模型以及通過簡單幾何變換使圖像匹配,可以廣泛識別圖像間的冗余度。事實上,此模型可以考慮大量圖像。此外,不需要在2D圖像級進行運動補償操作。
可以實現再現交互和再現質量的、在壓縮方法之間的一種更好的折衷方案,即對待保存和待處理的數據進行壓縮的折衷方案盡管壓縮率高,但是該方法可以提供高質量圖像并且允許在導航時具有非常高的柔性和速度。
與現有的3D建模技術獲得的真實感比較,本發明可以實現更好的真實感,并且與對圖像進行編碼的傳統技術獲得的柔性進行比較,本發明具有更好的柔性。
通過參考附圖和利用實例進行的下列說明,本發明的特征和優勢將變得更加明顯,附圖包括
圖1示出根據本發明方法的各步驟的運算算法;圖2示出與視點有關的參照幀。
獲得的真實景物數據與所觀察的圖像有密切關系。在此例中,我們研究由標準攝像機以視頻速率拍攝圖像的情況,并且在使用期間攝像機以前進步伐的方式移動。在這種情況下,根據圖像序列構建景物圖像與對圖像進行編碼的技術相同。
構建景物圖像的原理就是選擇必要、足夠數據用于重構具有可控質量的序列圖像。該過程包括對一幅一幅圖像進行比較以選擇具有最佳關聯性的區域、與分辨率和描繪成本有關的參數。事實上,在像素級進行比較選擇像素和比較像素的基本準則為與各像素有關的3D局部表面分辨率。
從現有技術中已知,假定通過對各視點進行適當處理,就可以獲得其在與景物有關的參照幀內的3D位置(視點的位置和方向),以及與視點圖像有關的深度圖。下一個目的就是構建適于導航的所有這些數據的壓縮圖像。
圖1示出根據本發明方法各步驟的流程圖。
參考圖1,在系統輸入端輸入與通過在真實景物范圍內移動攝像機獲得的圖像序列有關的數據。然而,完全可以想象在圖像內可以出現某個運動對象。在這種情況下,用特定方法識別這些對象,然后標記這些對象以在后續處理期間忽略這些對象。對各圖像進行特定處理可以提供深度圖以及相應視點的位置和方向。在與刪除運動對象對應的區域內沒有深度信息。
在步驟2,對各圖像的各像素計算分辨率值。然后,在步驟3期間,進行第一次分割和第二次分割。在步驟4計算權重以便在步驟5提供與像素有關的關聯性數值。接著,在步驟6,選擇依賴于其關聯性的像素。然后,在步驟7,對圖像序列獲得選擇像素的掩碼序列。在步驟7之后,為了提純掩碼重復步驟4至步驟7。重復這些步驟直到掩碼不再發生明顯變化。因此,為了僅根據選擇的像素構建多面體3D模型執行步驟8。
以下將詳細說明各步驟。
在系統的輸入端,各序列圖像可以使用深度圖以及相應視點的位置和方向。
步驟2在于對圖像的各像素計算分辨率值,該分辨率值給出圖像的分辨率圖。
各像素的分辨率指出表面的詳細灰度級(例如從當前視點觀察的表面)。例如,通過集中在像素上的點塊可以計算分辨率并且分辨率與與此塊有關的景物上(即3D空間內)的點的密度對應。
在一個實例中,可以使用集中在被計算分辨率的圖像像素上的7×7像素的滑窗。對于屬于此滑窗的各像素,對深度信息進行處理以根據被處理像素周圍的點在3D空間內的分布確定3D分辨率在大深度分布點獲得的分辨率比在小深度分布點獲得的分辨率要差。對圖像的所有像素進行處理之后,可以獲得各序列圖像的圖像分辨率圖。
然后,進行步驟3分割序列。
導航過程在于根據3D模型插入當前視點圖像。模型可以非常大,可以對它進行分割以限制為了重構視點在各瞬時處理的信息量。的確,重要的是在有限時間內將圖像插入以確保流暢導航。此外,如下所述,在數據選擇步驟6,逐個像素對圖像進行比較運算量龐大,尤其是在序列長時,運算量更大。分割也是如此,盡早完成分割以減少計算量。
事實上,為了減少數據計算量,可以在構建圖像過程中和在使用過程中(導航過程中)進行兩次分割運算。
通過識別沒有觀察區域交叉的視點,可以對序列進行第一次分割。這樣在后續步驟,就可以不對它們進行比較,即只對與這些視點有關的圖像進行比較。因此,通過檢測這些區域邊緣之間的交叉可以確定各視點錐形觀察區域之間的交叉。只根據各視點的相對位置進行此運算,而不根據景物的內容進行此運算。對于各圖像均存在一組相關圖像,相關圖像的觀察區域與當前圖像的觀察區域之間存在交叉,此組圖像構成一個列表。
在允許進行第二次分割的分割步驟3進行投影。對于各圖像組,為了識別各匹配像素,進行與之后根據步驟6說明的投影相同的投影。如果一幅圖像中與其列表中圖像的像素相匹配的像素很少,則將此圖像從此列表中刪除。
對于各視點,這些分割過程會獲得具有與其共用的3D點視點列表或視點組,并且在選擇像素期間可以對這些視點進行比較以減少冗余度。為了對各序列圖像識別對其進行重構所需的選擇圖像,構建矩陣。
在投影期間,通過設置分辨率,例如設置為1,對無匹配的像素進行標記。利用此特定掩碼,顯然在步驟6無需為了尋找匹配像素重新投影這些像素。事實上,在步驟6重復此投影操作就可以避免存儲在步驟3獲得的與這些匹配有關的信息,此信息代表非常大量數據。
在步驟4計算圖像中各像素的權重。引入此參數是為了考慮保存像素的代價。由于選擇像素時不存在附加限制,所以像素可以含有各種尺寸和各種形狀并且描述這些區域的代價高。為了避免此問題,在封閉環境下(選擇的像素和未選擇的像素)考慮像素分類的權重與像素有關。可以以這樣的方式選擇權重,即惡化區域的小尺寸或使小尺寸更粗糙,圖像具有少量選擇點。在這種情況下,每幅圖像一個值,例如,選擇點的百分比。還可以對描述選擇點區域的掩碼設置形態濾波器以降低其形狀的復雜性并描繪的代價。
計算權重考慮的判據為,例如●圖像內選擇的點的數量●區域的尺寸●對區域的壓縮(與權重成反比)●為了考慮例如待刪除的尖峰的區域的外圍區。在計算權重之前,形態濾波器還可以通過掩碼以刪除小區域的這些外圍區。
在第一次迭代過程中,將掩碼初始化為0,即利用缺省可以選擇所有像素。將第一次通過步驟4計算的權重作為單位值。作為圖像所有像素的權重,在此第一此迭代過程中,變量在于根據圖像的點數選擇不與其它圖像匹配的圖像的點的百分比。因此,有助于保存沒有匹配的大多數像素的圖像(參考選擇像素的步驟5和步驟6)。
在步驟5,可以計算將分辨率和權重合并的關聯值。例如,可以這樣計算關聯值=分辨率×(1+權重)
將此數值指定到各像素以對圖像提供關聯圖。
在此,目的是通過最小的圖像獲得描述景物的最多點,根據其關聯值選擇像素(參考步驟6)。
在步驟6選擇像素。
在此,對于各像素,這包括在其它視點內搜索匹配,并包括用于識別最佳關聯像素的關聯值。
為此,通過進行幾何變換,各種圖像像素之間可以實現匹配。圖2示出與圖像i對應的圖像參照幀(O、u、v),即與視點i有關的圖像。參照幀(Oci、xci、yci、zci)依賴于視點i(例如Oci與視點i的位置相同)和絕對參照幀(Oa、xa、ya、za)。
對于各視點i,我們知道其在絕對參照幀內的位置和方向。圖像的各像素(u,v)具有在與視點i有關的參照幀(Oci、xci、yci、zci)內定義的深度值zci(u,v)。
幾何變換可以將圖像參照幀(O,u,v)變換到依賴于視點的參照幀(Oci、xci、yci、zci),并且幾何變換還可以將此參照幀變換到依賴于已知景物的絕對參照幀(Oa、xa、ya、za)。
如下所述,這些變換確實可以將一幅圖像變換為另一幅圖像,即可以使一幅圖像的像素與另一幅圖像的像素匹配。
各像素是將3D空間內的點投影到當前視點i的2D圖像平面獲得的結果。從與景物內任意點對應的圖像i的像素開始(其z分量已知),通過已知幾何變換,可以確定其在圖像j內的投影點。如果此投影點與圖像上的像素一致,則存在匹配像素。否則,此2D投影點與最近像素有關。然后,我們研究與景物內相同表面上非常近的點有關的這2個像素(起始像素和目標像素)的匹配關系并對它們的特性進行比較。
對于其列表內的所有圖像,完成一幅圖像的像素的匹配,這就是在步驟3定義的分割目的。將各像素投影到組中各其它圖像上如上所述,它與像素匹配。對關聯值進行比較并標記具有最差關聯值的像素。如果發現具有良好關聯性的匹配,就停止將此像素與相應像素的比較過程。
因此,通過只保留最佳關聯性像素,這些操作可以識別并刪除圖像間的冗余度。然而,盡管降低了冗余度,但是優勢在于為了創建遠距離視點、避免必須在最高分辨率對圖像進行處理,可以保留更多的給定表面圖像。因此其優勢在于將閾值引入分辨率的比較過程如果兩個分辨率的比值超過此閾值,則不標記任何像素。因此,根據要求的分辨率、細粒度和粗糙度,可以使用各像素。
首先通過初始化所有標記的所有像素,例如初始化為二進制1,可以對像素進行標記。在分割過程,如果在其它有關視點內存在匹配像素,可以將各像素與其匹配像素進行比較。將具有最低關聯性的像素標記為0,即拒絕標記。因此,如果其匹配像素沒有比當前像素具有更高的關聯性,則因為它保留初始標記就是被選擇像素。對于二進制掩碼或圖像內的各序列圖像,這樣會導致被指定數值1的像素與選擇像素對應。
步驟7采集與構成序列的各圖像有關的掩碼以提供掩碼序列。
為了提高計算的關聯值精度,存在從步驟7到步驟4的循環。在每次迭代時,根據先前迭代獲得的標記重新計算權重和關聯值。
在每次迭代時重復投影操作,并且投影操作與圖像的所有像素以及在例如為了降低其匹配像素的切合性數值選擇的先前迭代期間不選擇的像素有關。然而,不對沒有匹配像素的像素進行投影。
為了減少計算量,每次迭代時,可以將不具有比當前圖像內的相應像素具有更高關聯性的像素的圖像從與當前圖像有關的圖像列表內刪除。這樣,給定圖像的最終列表含有對其進行重構所必需的足夠圖像。
預定次數的迭代完成之后并且當在掩碼內不再存在明顯變化時,停止迭代過程。一旦在步驟7之后的步驟8獲得這些最終掩碼,則將這些掩碼用于構建多面體3D模型,僅根據由這些掩碼定義的選擇像素完成此構建過程。
與此多面體3D模型有關的數據包括幾何信息和紋理信息。對于掩碼定義的各選擇區域,其輪廓成為多角形并利用3D三角形來近似相應深度圖。為了不保留不必要區域,所以將選擇的紋理數據組合在一起。根據所有這些信息可以容易地建立3D模型。在為了對它進行分割構建3D模型時,優勢在于可以考慮圖像列表以及與各圖像有關的區域。在重構圖像的過程中,為了減少信息的處理量,此分割過程可以用于重新過程。
在3D景物內進行導航的方法在于根據視點的運動創建圖像并利用所有信息來重新創建此圖像。
權利要求
1.一種通過分析圖像序列構建三維(3D)景物模型的方法,各圖像與根據其位置和方位定義的視點對應,其特征在于,該方法包括下列步驟●對圖像計算與該圖像像素在3D空間內的深度對應的深度圖(1);●根據深度圖,對圖像計算與該圖像像素的分辨率對應的分辨率圖(2);●通過將當前圖像像素投影到其它圖像,使當前圖像像素與另一個序列圖像像素匹配(6),像素與3D景物的相同點有關;●根據其分辨率以及與此像素匹配的其它序列圖像像素的分辨率,選擇當前圖像(6)的像素;●根據選擇的像素構建3D模型(8)。
2.根據權利要求1所述的方法,其特征在于,圖像的選擇像素構成一個或多個區域,根據像素是否屬于該區域并根據他們在圖像內所屬的區域的幾何圖形特征計算權重并將權重分配到圖像像素(4),其特征還在于,根據對像素賦予的分辨率和權重值,重新選擇像素(6)。
3.根據權利要求2所述的方法,其特征在于,根據已經賦予此像素的權重和分辨率,將關聯值賦予各圖像像素(5),其特征還在于,為了給出選擇像素的掩碼,根據匹配像素內的最高關聯值(5)選擇當前圖像像素(6)。
4.根據權利要求1所述的方法,其特征在于,通過對當前圖像識別其相應視點具有與涉及當前圖像的觀察區交叉的觀察區的圖像,分割圖像(2)以致形成與其有關的圖像列表,其特征還在于,與當前圖像(6)像素匹配的序列的其它圖像即其列表中的圖像。
5.根據權利要求4所述的方法,其特征在于,通過從與圖像有關的列表中刪除具有太少與當前圖像的像素對應像素的圖像,可以分割序列圖像。
6.根據權利要求3所述的方法,其特征在于,重復進行計算權重(4)、計算關聯性(5)以及選擇像素的運算直到從選擇中獲得的掩碼不再發生明顯變化。
7.根據權利要求3所述的方法,其特征在于,如果發現具有更高關聯值的相應像素,則通過投影到其它圖像,對此像素停止匹配當前圖像像素的運算。
8.根據權利要求3所述的方法,其特征在于,當匹配像素的分辨率比值在運動限度內時根據關聯值進行選擇。
9.根據權利要求1所述的方法,其特征在于,其它圖像的像素即在此其它圖像上距離投影點(6)最近的像素。
10.根據權利要求1所述的方法,其特征在于,對在景物內運動的運動對象進行檢測以從中抽取并獲得靜態景物。
11.一種在3D景物內進行導航的方法,其中根據視點的運動創建圖像,其特征在于,根據權利要求1構建的3D模型創建圖像。
全文摘要
一種通過分析圖像序列構建3D景物模型的方法,該方法包括步驟:對圖像計算與該圖像像素在3D空間內的深度對應的深度圖(1);根據深度圖,對圖像計算與該圖像像素的分辨率對應的分辨率圖(2);通過將當前圖像像素投影到其它圖像,使當前圖像像素與另一個序列圖像像素匹配(6),像素與3D景物的相同點有關;根據其分辨率以及與此像素匹配的其它序列圖像像素的分辨率,選擇當前圖像(6)的像素;根據選擇的像素構建3D模型(8)。
文檔編號G06T7/20GK1321285SQ00801990
公開日2001年11月7日 申請日期2000年9月14日 優先權日1999年9月17日
發明者揚尼克·尼古拉斯, 菲利普·羅伯特 申請人:湯姆森多媒體公司