虛擬瀏覽可附加物件的影像
Virtual Tour Into the Image with Augmented Objects
最近在影像式繪圖(image-based rendering)領域上, 不少論文提出一種稱為TIP(Tour Into the Picture)的技術, 它只要使用單一一張照片,便能夠建構出可供3D瀏覽的場景。 TIP利用一種稱作「蜘蛛網」(spidery mesh)的圖形界面 (graphical user interface),以及單一消失點(one vanishing point)的設定, 簡易且快速的建構一個封閉的幾何模型(geometry model), 用來描述照片中的3D場景。然而,大多數的室外場景是屬於開放式的環境, 若以TIP的封閉模型建構場景,在瀏覽場景的過程中, 勢必產生嚴重的成像變形(distortion)。因此,在本篇論文中, 我們建議將原有的簡單箱型模型結構,修改成為另一種開放式的模型結構, 我們稱它為Topless Box。同時,我們將照片中遠處與近處的景觀, 分離成前景與後景兩張貼圖,避免了瀏覽成像時不合理的變形, 而獲得更好的瀏覽效果。
此外,我們更進一步提出應用兩個消失點(two vanishing points)的技術, 來建構室外場景的幾何模型。相較於單一消失點所建構的模型, 以兩個消失點所行成的模型,更能符合真實的環境,獲得更好的瀏覽效果。 同時,延伸這樣的概念,我們創造了更多不同型態的幾何模型, 可以套用在更多各式各樣的室外場景照片上,而免於受限在以單一消失點所建構的模型上。
In addition, we extend TIP into two vanish points perspective projection
that was mentioned in the previous research works but rarely discussed and
seriously studied before. Comparing the scene model that is constructed by
the two vanish points method with the scene model by the one vanish point
method, we find that the new model is more adequate for describing the real
scene and produces a more satisfy animation effect. Meanwhile, several
different types of models are also proposed under the extension of the same
concept. They are suitable for many different forms of images—indoors,
outdoors, near, or far scenes. The limitation due to the simple box model
can be avoided.
1.1 研究動機
傳統上要建立一個可供任意瀏覽的3D環境, 會先從建構場景的幾何模型(geometry model)作起,也就是廣為人知的模型式繪圖(model-based rendering)技術。 由於計算機圖學(computer graphics)科技的不斷成熟,以及輔助繪圖運算硬體(hardware accelerator)的不斷發展下, 利用模型式的繪圖技術可以產生出相當逼真的效果。然而,在模型式繪圖技術下, 要描繪(render)出有如真實照片般的品質,除了在即時性(real-time)的繪圖速度上可能面臨挑戰外, 事前的模型建構工作所須花費的人力,更是無法避免的沉重負擔。
為了要作出逼真照片的3D瀏覽效果,興起了另外一門不同於傳統的繪圖技術, 稱之為影像式繪圖(image-based rendering)。在這門技術中,主要是從一張或多張真實照片中粹取出場景的幾何資訊, 加以建構模型,並將照片作為材質貼圖(texture mapping)的資源。與傳統的模型式繪圖相比,省去了大量且繁複的模型建構工作, 同時也節省了大量描繪所須的計算工夫,而能作出即時的場景瀏覽效果。
Tour into the picture (TIP)是由Horry et al.[10]所提出的一種既簡單又有效的顯像技術, 只利用僅僅一張照片就能產生即時的場景瀏覽。該技術使用一種互動式操作界面(Graphical User Interface, GUI), 稱之為spidery mesh。藉由spidery mesh的操控界面,在照片裡設定單一消失點(one vanishing point), 就可以建構出一個簡單的3D場景模型,而達到瀏覽3D場景的效果。
TIP技術非常方便用來瀏覽室外場景。然而,大多數的室外場景是屬於開放式的環境, 若以TIP的封閉模型建構場景,在瀏覽場景的過程中,勢必產生嚴重的變形(distortion),特別是在天空與前景的交接處。 為了因應室外場景的開放環境,在本篇論文中,我們建議將原有的簡單箱型模型結構,修改成為另一種開放式的模型結構, 我們稱它為Topless Box。另外,我們將照片中遠處與近處的景觀分離成兩張貼圖,避免了不合理的變形,而獲得更好的瀏覽效果。
此外,我們也提出應用兩個消失點(two vanishing points)的TIP技術,來建構室外場景的照片。 相較於單一消失點所建構的模型,以兩個消失點所成的模型,更能符合真實的環境,獲得更好的瀏覽效果。 同時,延伸這樣的概念,我們創造了更多不同型態的模型,可以套用在更多各式各樣的室外場景照片上, 而免於受限在以單一消失點所建構的模型上。
1.2 相關研究
在影像式繪圖(image-based rendering)的領域中,有許多重要的技術被提出。 其中有一些研究,嘗試同時從數張參考照片中,來產生逼真可供瀏覽的場景,而避免建構場景的模型。 McMillan et al.[14] 所提出的技術,是將場景看作是一個球面的(spherical)結構,而該球面是從固定觀察點中, 以輻射狀的光線(ray)向外發散出來所形成的,分散的照片則是球面場景的一部份。將這些照片組合, 再不斷從中加以取樣(resample),就產生出瀏覽場景的效果。
Chen et al.[4] 所提出的技術,將一系列由固定觀察點水平(horizontally)拍攝出來的照片, 加以縫合(stitch)起來,就形成了柱狀(cylinder)的全景圖(panorama)。利用這樣的全景圖,觀測者可以水平的作360度的瀏覽。
Devebec et al.[6] 則結合模型式與影像式的技術,來建構現成的建築物,並加以描繪。 該技術利用從建築物的各個角落拍攝出來的照片作為參考照片,將這些照片作線條對應(line correspondence)後, 以嘗試錯誤演算法(trial and error)找出建築物的結構,並利用現成的簡單模型原件(primitives) 來建構建築物的模型, 如立方體(boxes)、角柱體(prisms)…等。同時,為求更細膩的模型,他們使用了立體比對(stereo matching)來取得模型的細節資料。 此外,他們使用了觀察點相關的材質貼圖方法(view-dependent texture mapping),可以在不同觀察點使用不同的貼圖,以描繪更逼真的3D場景。
另外,還有一些以單張參考照片為基礎的研究,如Liebowitz et al.[13] 所提出的技術。 該技術可以在一張照片中,建構出建築物的模型。而針對建築物的模型,他們使用了各種幾何上的限制(geometry constraints), 例如平行(parallelism)與垂直(orthogonality)的特性,來推導出模型的幾何資料。 同時,利用他們的演算法也能夠找出平面方向(plane orientations)、內部照像機參數(internal camera parameters)…等資料,以建構出建築物的場景。
另一個也是使用單張照片的研究是由Oh et al.[15] 所提出的。 他們所使用的是影像式的建構與編輯模型(image-based modeling and editing)的系統, 將場景當作是許多有層次的深度值照片(depth images)的集合,這些深度值照片的每個像素(pixel)都包含了色彩與深度值。 同時,他們設計了一些使用者圖形界面(GUI)的工具,例如使用painting metaphor,來設定深度值與層次(layers), 或是以複製刷子工具(clone brushing tool)來複製變形(distortion)的部份,以及應用貼圖亮度篩選工具(texture-illumination decoupled filter), 將固定的貼圖區域分離出亮度與貼圖材質的成份。
利用以上的技術為基礎的影像式繪圖系統(image-based rendering system)[6, 13, 15],可以產生逼真的3D場景, 並且作任意的瀏覽(novel view)。然而,即使對於一個熟練這種技術的人員來說,這些前置作業仍可能花費大量的時間。 Horry et al.[10] 提出了一個稱為TIP (Tour Into the Picture)的技術, 它們利用了一個稱之為蜘蛛網(spidery mesh)的圖形界面(graphical user interface),以及單一消失點(one vanishing point)的設定, 可以簡易且快速的建構出3D場景,並且作任意瀏覽。相較於前者的技術,TIP的簡單快速的特點,可以讓即使是非熟練的人員, 也能很快的操作圖形界面,來建構場景的模型,達到任意的3D瀏覽的效果。此外,TIP還可以應用在非真實照片(non-photorealistic)所建構的3D場景中, 像是山水畫或合成圖片。透過TIP技術重建出3D場景,讓這些靜止的繪畫有了一個全新的風貌。
而Kang et al.[11] 所提出的技術就也是以TIP為基礎的繪圖方法。 在一張照片中,如果有許多消失點存在,或者不容易找出消失點時,他們使用了消失線(vanishing line)來取代消失點, 而修正了這個問題。同時,他們也把這樣的概念延伸到了全景圖上。 Fleishman et al.[8] 所提出的技術也嘗試利用TIP來連結幾張沿著特定的照像機路徑所拍攝的照片,可以解決TIP在瀏覽空間上的限制問題。
另外一個以TIP為基礎的研究是由Chu et al.[5] 所提出的。 他們使用了一種稱為多透視建構模型的技術(multi-perspective modeling technique)。 他們結合了全景圖與TIP兩種影像式繪圖技術,在全景圖裡是以有限的路徑範圍進行瀏覽, 並且在全景圖中取出一個區塊作為子場景(sub-scene),以建立TIP的瀏覽場景。 藉由這樣的技巧,觀察者可以在多個TIP場景中穿梭。
4.2 更多範例
在這個章節中,我們將以更多的實例展示TIP技術的效果, 這些範例的來源是以實景所拍攝的照片及掃描雲科大校景的水彩畫所得。 範例包括了spidery mesh的設定與輸出結果,我們可以從中觀察出設定與輸出結果間的關係。 我們讓觀察點在場景的兩側間游走,並且以不同的角度作觀察,從相互對照中就可以發現這些室外模型結構所顯示的效果。
![]() |
![]() |
| (a) spidery mesh設定 | (b) 輸出結果1 |
![]() |
![]() |
| (c) 輸出結果2 | (d) 輸出結果3 |
| 圖4-2範例1 - 雲科大行政中心的一角(Type4模型) | |
![]() |
![]() |
| (a) spidery mesh設定 | (b) 輸出結果1 |
![]() |
![]() |
| (c) 輸出結果2 | (d) 輸出結果3 |
| 圖4-3範例2 - 雲科大營建系館後方景物(Type1模型) | |
![]() |
![]() |
| (a) spidery mesh設定 | (b) 輸出結果1 |
![]() |
![]() |
| (c) 輸出結果2 | (d) 輸出結果3 |
| 圖4-4範例3 - 雲林縣消防局(Type1模型) | |
![]() |
![]() |
| (a) spidery mesh設定 | (b) 輸出結果1 |
![]() |
![]() |
| (c) 輸出結果2 | (d) 輸出結果3 |
| 圖4-5範例4 - 雲科大校門口之水彩畫(Type1模型) | |
![]() |
![]() |
| (a) spidery mesh設定 | (b) 輸出結果1 |
![]() |
![]() |
| (c) 輸出結果2 | (d) 輸出結果3 |
| 圖4-6範例5 - 雲科大的綜合體育場之水彩畫(Type2模型) | |
![]() |
![]() |
| (a) spidery mesh設定 | (b) 輸出結果1 |
![]() |
![]() |
| (c) 輸出結果2 | (d) 輸出結果3 |
| 圖4-7範例6 - 雲科大的觀雲閣(Topless box模型) | |
![]() |
![]() |
| (a) spidery mesh設定 | (b) 輸出結果1 |
![]() |
![]() |
| (c) 輸出結果2 | (d) 輸出結果3 |
| 圖4-8範例7 - 雲科大行政中心之水彩畫(Type3模型) | |
5.1 結論
原有的TIP技術將單照片或圖片分離成前景圖與背景圖, 以作為前景物件與場景模型的貼圖使用。在本篇論文中,我們將原有的背景圖中極遠處與較近處的資料再次的分離, 分別成為背景圖與場景圖。同時,套用在我們所建構的topless box模型及各種開放式室外模型中, 除了避免原來可能出現變形的情況外,也凸顯出景物遠近程度不同的層次感。 因此,利用三個圖層的TIP技術改善了原來的缺點,得到更為理想的瀏覽效果。
以往我們若要利用TIP技術建構出3D環境時, 往往只能在參考照片中找出單一消失點作為TIP參考的依據,對於多數的場景而言, 利用單一消失點所建構的box模型過於簡單,難以適用於各種不同的場景中。 而基於兩個消失點TIP技術的出現,讓TIP建構3D環境時增加了更多的選擇性。 我們可能在參考照片中同時找出單一消失點及兩個消失點的資訊,這時我們便能選擇不同的TIP技術來建構場景。 然而,以室外場景而言,多數的場景都缺少left wall與right wall的景物, 以致參考照片中未能構成模型各牆面間的連接線,無法作為spidery mesh設定時的參考依據。 在缺少參考依據的情況下,使用者必須自行決定消失點的位置,因而影響3D瀏覽的效果。 因此,以兩個消失點作為TIP技術的參考便顯得更為重要,不但提供TIP建構場景時的選擇性, 也能在缺少參考依據的情況下,更為準確的建構出場景模型,得到更好的瀏覽效果。
我們所建構的室外場景模型可以較精準的貼近真實場景中凸狀建築物的模型, 同時讓瀏覽的視野更為寬廣,使得觀察點可以在建築物兩側間遊走,因而增加TIP技術的實用價值。 除此之外,我們通常會將前景物件以平面來建構模型,在瀏覽範圍增加的情況下, 更容易因觀察角度過大使得前景物件平面漸漸投影成一直線,而失去觀察的目標。 因此,我們將廣告版(billboard)的概念套用在前景物件上,使前景物件與觀察方向能維持一定的角度, 如此一來,當觀察點以各種可能的角度在場景中遊走時,前景物件的顯像仍能保持一定的合理性。
TIP技術可以輕易的讓非熟練的人員經由簡單的spidery mesh設定而建構出3D場景, 並在場景中作任意的3D瀏覽。然而,多數的參考照片或圖片往往因為觀察角度的偏差或觀察點的移動, 使得TIP技術無法真正準確的計算出可靠的場景模型。除此之外,基於TIP簡單易用的特點,我們犧牲些微建構模型的準確性, TIP技術還是能產生令人信服的瀏覽效果。
5.2 未來發展方向
TIP技術經過了spidery mesh的設定後就能快速方便的建構出3D場景。 相較於spidery mesh設定簡單,貼圖處理的前置作業就顯得更為繁複而費時。 因此,本論文的發展方向將著重在貼圖的處理上,減輕貼圖修補的工作負擔,讓TIP在使用上更為便利。
Efros et al.[7] 提出了一個材質貼圖的合成方法,能自動的將貼圖中的破洞(hole)修補起來, 這樣的方法特別在圖樣(pattern)重複性高的貼圖中有顯著的成效。而本篇論文中為了因應室外場景的需要, 將單張原始圖片分離成了三張貼圖,因而產生大量的破洞。利用這樣的貼圖合成技術,就可以大幅節省修補破洞所耗費人力與時間, 例如背景圖中的天空或極遠處景色的破洞,都是值得加以應用該技術的地方。此外,除了場景圖與背景圖重疊而產生破洞外, 在前景圖中,物件之間也可能存在重疊的現象。我們以目前的作法只能將這些重疊的物件當作同一個前景處理, 無法一一分割開來並且對重疊的貼圖部份加以填補破洞。透過貼圖合成處理後,可以自動的將每一個重疊的物件填補完整, 讓每個物件都能被放在場景中正確的位置上,如此一來,便能產生出更為合理的瀏覽效果。
貼圖的自動修補技術只能針對貼圖中極遠處且不需顧慮細節的部份作處理, 而細膩度高且圖樣重複性少的貼圖部份還是必須仰賴人力,雖然自動化的程度已經能為我們減少很多的工作, 但還是無法完全取代掉人工作業。Oh et al.[15]在他們的影像式建構與編輯模型(image-based modeling and editing)系統中 使用了複製刷子工具(clone brushing tool)來複製變形(distortion)的部份。首先,分別選定貼圖中的複製來源與複製目標兩個區域, 複製筆刷的功能會在貼圖資料轉移(transfer)的過程中,將來源區域原有的透視投影效果加以還原並且在複製目標區域中產生合理的透視投影效果, 因而得到更正確的貼圖。相較於影像處理軟體中單純的以像素(pixel)複製來處理,很顯然的,這樣的複製筆刷能產生更為逼真而自然的效果。
若要延伸TIP的應用層面及功能,仍有許多方向可以作進一步的發展。 其中我們可能想要嘗試建構出更準確與細膩的場景模型以求更逼真的瀏覽效果。 雖然場景看起來更為逼真了,然而,對於觀察者而言,場景細節往往可能不像前景物件來得更引人注目。 因此,從視覺效果的角度而言,將發展重心放在如何創造活潑生動的前景物件上應該會有更顯著的成效。 Kang et al.[12] 延伸TIP的概念提出一套系統,可以從一段影片的連續鏡頭中(video sequences)設定前景物件在整個背景圖的範圍(bounding box) 以便取出前景物件的連續動作,並且在瀏覽場景時將前景物件的動作播放出來,如此一來,會讓整個環境顯得更生動有趣且令人印象深刻。 要增加視覺上的瀏覽效果,從如何創造活潑生動的前景物件上來著手應該是一個值得努力的方向。
Chu et al.[5] 提出從全景圖(panorama)中取出部份範圍並利用TIP技術作3D瀏覽的方法。 這個方法可以有效的增加TIP的瀏覽範圍,讓觀察者能夠在各個TIP場景中穿梭。而這樣的概念也可以很容易套用在本論文中基於兩個消失點的模型上, 只要我們在全景圖的部份區塊中找出單一或兩個消失點的資訊,便能以這些資訊建構出各種不同的場景模型並且穿梭於其中。
在整個影像式繪圖(image-based rendering)的領域中,有許多的研究方向能讓TIP技術變得更為強大。 然而,TIP技術的低操作門檻讓非專業熟練的人員也能快速建構出可供瀏覽的3D場景,這應該是值得重視的特性與價值。 因此,在TIP的未來發展上,我們希望在便於使用性與視覺效果上能有一個適當的取捨,才不致於使TIP從簡單快速的特點漸漸變成專業且費時的工作。
本程式是基於TIP(Tour Into the Picture)技術實作而成的,可快速建構出3D場景, 並且提供即時的3D瀏覽功能。本程式可建構的場景模型除了基本的封閉box模型外,也能建構出topless box模型, 以及在本論文所介紹過的模型,包括所有基於兩個消失點的oblique box模型、室內模型與室外模型。在程式中, 使用者可以載入三個圖片檔(bmp或jpg格式),作為模型貼圖之用;或者載入外部模型檔(3ds)以建構出虛擬物件模型並加入3D場景中。 此外,本程式也提供資料檔(dat)的載入與儲存功能,可將使用者在程式中的TIP設定儲存下來以供日後重新載入, 其內容記載了TIP的種種設定(包括控制點的座標,要載入的圖片檔名…等),以及外部模型的資訊(包括模型檔名,模型的位移、旋轉與縮放比…等)。
表A-1所列出的是執行本程式必須具備的軟硬體環境。
| 作業系統 | 32位元windows作業系統 |
| 顯示卡 | 具備OpenGL硬體加速能力的nVidia系列顯示卡 (經測試可用的型號:
RivaTNT2、GeForce2MX、GeForce3與GeForce4MX440) |
| 輸入裝置 | 滑鼠及鍵盤 |
|
表A-1 執行環境需求 |
|
表A-2所列出的是本程式開發時的軟體環境,包括在程式中所使用的應用程式界面(Application Interface, API)及程式庫。
| 作業系統 | Windows2000 pro |
| 編譯器 | Borland C++ Builder 6 |
| SDK | Windows APIs、C標準函式庫、STL與OpenGL 1.2 |
|
表A-2 系統開發環境 |
|
![]() |
|
表A-3 主選單功能列表與簡介 |
![]() |
|
圖A-2 工具列說明 |
![]() |
|
圖A-3 OpenGL的輸出視窗界面 |
圖A-3所顯示的是OpenGL的輸出視窗界面。在該視窗中,我們可以利用鍵盤與滑鼠加以移動觀察點,其操控方法如表A-4所列。
| 輸入裝置 功能 |
鍵盤 | 滑鼠 |
| 沿x軸平移 | A鍵、D鍵 | 按住shift鍵並以右鍵水平拖曳 |
| 沿y軸平移 | Q鍵、Z鍵 | 按住shift鍵並以右鍵垂直拖曳 |
| 沿z軸平移 | W鍵、S鍵 | 以右鍵垂直拖曳 |
| 繞x軸旋轉 | 以左鍵垂直拖曳 | |
| 繞y軸旋轉 | 以左鍵水平拖曳 | |
| 回到原點 | F3鍵 | |
|
表A-4 觀察點的操控方法 |
||
本程式的資料檔是以純文字所構成的,包括了TIP相關設定與外部模型的相關設定。 資料的讀取與分析是由程式中的簡易剖析器(parser)來處理,只要資料檔符合文法結構,文字的排列格式則無需明確的規範。 資料檔允許/**/與//兩種形式的註解(comment),使用者可以利用文字編輯工具手動的修改資料檔的內容。
![]() |
|
圖A-4 資料描述檔範例與說明 |
| 更新日期 | 檔案 | 大小 | 說明 |
| 09/04/03 | thesis.pdf | 2.04MB | 論文全文 |
| 09/04/03 | tip.zip | 427KB | TIP主程式 |
| 以下為主程式資料檔範例 | |||
| 09/25/03 | 雲科大行政中心的一角 | 214KB | Type4模型(圖4-2範例1) |
| 09/25/03 | 雲科大營建系館後方景物 | 333KB | Type1模型(圖4-3範例2) |
| 09/25/03 | 雲林縣消防局 | 238KB | Type1模型(圖4-4範例3) |
| 09/25/03 | 雲科大校門口之水彩畫 | 340KB | Type1模型(圖4-5範例4) |
| 09/25/03 | 雲科大綜合體育場之水彩畫 | 412KB | Type2模型(圖4-6範例5) |
| 09/25/03 | 雲科大的觀雲閣 | 332KB | Topless box模型(圖4-7範例6) |
| 09/25/03 | 雲科大行政中心之水彩畫 | 387KB | Type3模型(圖4-8範例7) |
| 09/25/03 | 雲科大的觀雲閣 | 132KB | box模型 |
| 09/25/03 | 實驗室外走廊 | 27.8KB | box模型 |
| 09/25/03 | 電子系館外建築物 | 263KB | Type1模型 |
| 09/25/03 | 雲科大綜合體育場之水彩畫 | 401KB | Type2模型 |
| 09/25/03 | 雲林縣斗六市鎮東國小操場 | 288KB | Type3模型 |