用照片建立模型:Autodesk Project Photofly 2

一般要建立物體的 3D 模型,其實都相當麻煩,算是一份苦工。而實際上,不管是學界或是業界,都有在往「自動建模」這條路努力;實際,也有不少已經商業化的 3D 掃描器,可以快速地建立真實物體的 3D 模型了∼如果有對應的軟體的話,Kinect 這類的深度感應器應該也可以做到一定程度。

不過這次介紹 Autodesk 的這個 Photo Scene Editor(官方網站、註一)則比較特別,他不需要特別硬體,只要準備大量的照片,就可以由照片來建立出物體的 3D 模型了!下面是他的介紹影片:

基本上,這是一個「雲端」軟體,自己的電腦只是安裝一個小程式,負責選取檔案、上傳、檢視結果、微調,真正將照片建立模型的動作,都是上傳到 Autodesk 的伺服器上,在那邊做計算的∼整體來說,Heresy 覺得還滿像之前介紹過的微軟 Photosynth;只不過 Photosynth 雖然可以把對應點、位置都算出來,但是只是用來顯示照片,並沒有辦法建立物體的 3D 模型而已。

而他的程式執行起來非常單純,就像下圖的樣子。而要建立一個新的專案的話,只要點選左上方的「Create a new Photo Scene」,再選取照片檔案就可以了∼

在選取好照片後(至少要三張,不過基本上要多一點才夠),剛剛的按鈕就會變成綠色的勾、文字也會變成「Compute Photo Scene」(如圖),這時候再按下去,程式要求輸入 E-Mail 和這個專案的名稱(對話框),然後就會把照片都傳到 Autodesk 的伺服器上,並且開始進行處理了∼(註二)

而由於所有的照片都會透過網路傳到 Autodesk 那邊,所以有隱私問題的照片,最好還是自重;另外,照片的解析度最好也考慮縮小一點,以免上傳的時間拖太久。

這段期間,程式大概會像右邊的圖一樣,上面第一條進度是上傳的進度、第二條則是處理的進度;等兩個進度都到 100% 後,程式就會自動下載處理好的專案檔,然後顯示出來了∼而他的顯示介面,會像下面這樣子(Heresy 是拿 Sony 的 NEX-VG10 這台數位攝影機來當例子):

中間主要就是重建出來的物體,而繞著他的一大堆相機,就是對應到每一張照片的拍攝位置。要進行瀏覽的話,請先選取工具列上的各項功能,來切換操作模式;不過,Heresy 總覺得他的旋轉的方法怪怪的…

在下方會列出這個場景裡的所有照片,其中顏色比較深、右上角有黃色警告符號的,則代表是程式沒有辦法自動找到對應的位置;這個時候,可以在這張照片上點下,自行加入對應點,讓程式知道這張照片和其他照片的相對關係。他的介面會像下圖一樣:

左邊的照片是要手動加入的照片,而右邊上下兩張照片,則是已經在場景內有找到對應關係的照片(照片左右的三角形按下去可以換成別張)。

要加入對應點的方法很簡單,先在左邊找到要對應的點後用滑鼠左鍵點一下,就會建立一組新的對應點,照片上就會顯示圓圈標示、並且編號;而在建立對應點後,只要再到右邊的照片、找到對應的位置點下去就可以了!基本上,一組有效的對應點至少要出現在三張不同的照片裡;如果這組對應點的數量不夠的話,程式會用黃色來顯示、有超過三張的話,則會變成綠色的圈。(註三)

而一張圖片要能加到場景裡,裡面則至少要有四組對應點;所以,只要重複地增加對應點,直到右下角標著 1, 2, 3, 4 圓球都變成綠色,就可以了∼不過這邊要注意的是,要結束編輯這張照片的話,一般是按右下角的「Close」,如果是按「Submit」的話,則是代表整個場景都編輯完了,要丟到伺服器重新計算;由於一般狀況下不會只是編輯單張照片的對應點,所以一般就按 close 關閉這張照片、繼續編輯下一張就夠了,沒有必要每一張都 submit 一次。(註四)

接下來,就是逐步把沒有辦法自動處理的照片,依序加上對應點了∼而就算有自動對應好位置的照片,如果不滿意的話(點選照片後,可以看到重建的模型和照片的對應關係、如圖),也是可以自己去加上對應點的∼

如果一切都順利完成的話,接下來就可以點選右上角的「Mesh Quality」按鈕,來產生比較精細的 3D 模型了∼他的精細度有分 Mobile、Standard、Maximum 三種,一般只是要玩看看的話,mobile 的應該就夠了。而以 Heresy 自己拿著相機繞著 Sony NEX-VG10 這台攝影機拍了 70 張照片出來的結果,則如下圖:

該怎麼說呢?Heresy 自認拍的照片應該算夠多了,沒有找到的對應點也都給了,出來的結果…雖然模型本身有破洞,但是基本上外型還是算有啦∼但是整個感覺,就活像整台 DV 融化過、或是沾了果醬一樣…完全不像官方影片產生的結果那樣乾淨。 XD
而實際上 Heresy 也還有試著處理其他的資料,不過效果也都沒有非常地好…

為什麼結果會有這樣的差異呢,Heresy 也不確定是什麼原因?雖然說一般展示成果本來就都會選結果最好的狀況,但是這個跑出來的差異,也有點太大了。當然啦,Heresy 拍攝的模型幾何上本來就比較複雜,再加上對於這隻程式、演算法都比較不熟,所以給他的資料,應該不算是最佳資料(搞不好還有沒發現、會錯意的功能 :p),所以或許這也是導致結果不佳的原因了。

總之,最後在模型建立好了以後,這隻程式不但可以把建立好的模型,輸出成 DWG(Autodesk Drawing)、OBJ 等格式,也可以直接在程式內編輯攝影機移動的路徑,來產生影片!基本上,只要移到想要看的視角,然後再加道路徑裡、設設定時間間隔就可以了,算是相當方便的了∼下面就是上面 VG10 的影片:

下面,則是另外一組比較能看的資料處理結果:

實際上,這兩組資料算是 Heresy 處理出來覺得比較好的了∼另外還有兩組資料,基本上慘不忍睹,也就完全不想放出來了。 ^^”

而基本上,整個流程大概就是這樣玩了∼更詳細的操作細節,則可以參考官方的操作手冊《Getting Started with the Photo Scene Editor 2.0》(PDF);而照片拍攝的技巧,則可以參考官方的照片拍攝指南影片(YouTube)。


最後,Heresy 對這東西的感想,基本上是:

  1. 很有趣,但是實用性有限

    基本上,這種模型重建的技術不算新,很多研究都在做,但是成果在 Heresy 來看都不盡理想。而 Autodesk 這套 Phototfly 也差不多,雖然使用上還算滿方便的,但是實際上建立出來的東西,Heresy 還是覺得不太能用。雖然說他可以把模型建立到一定的程度,但是相對的,要再去細修到好看所要花的時間,應該也還是不少(不過 Heresy 不熟標準的建模流程就是)。

    當然,另一個想法就是,如果是幾何形狀比較單純的東西,應該可以建得更好吧?不過 Heresy 個人是覺得,真的比較單純的幾何形狀,搞不好美工自己拉一拉還比較快啊…

  2. 雲端是好東西,但是很麻煩

    這套軟體真的算是雲端軟體,本機安裝的 client 端基本上要負責的工作不多,主要在進行計算的部分,都丟到 Autodesk 的伺服器去了∼這樣的好處,是低階的電腦也可以跑,不會說因為電腦太爛就玩不起(不過要能看到畫面,還是要有支援 OpenGL 的顯示卡);但是相對的,處理的時間,就沒有辦法自己想辦法加快了…也就是,電腦再快,都得等 server 把資料算完才行。

    另外,Autodesk 在這邊的作法,是每次做了修改要重新計算的時候,都得重新把圖片上傳到 Server 去(應該是吧),這對於上傳頻寬不夠的人來說,應該會是很頭大的一件事吧?如果 Autodesk 可以改成圖檔就一直放在 server 上,應該會比較方便吧∼

  3. 接受的資料類型能更多應該會更好

    基本上,Heresy 認為現在 Autodesk 這樣的成果,大概也是基於照片做處理的極限了;但是實際上,Heresy 認為如果能接受更多其他的資料,應該會有更好的效果。例如如果可以接受影片的話,由於影片內的每一張都會是連續的、內容變化也不會太大,理論上在自動找對應點的時候,應該可以獲得更好的效果;另外像是 Kinect 這類的深度感應器已經可以在單一視角取得深度資訊了,如果可以透過這樣的資料來輔助重建,應該也可以獲得更好的效果!基本上,後者算是 Heresy 自己會想玩的東西,但是目前還沒有時間去搞那些演算法就是了。 ^^”

附註:

  1. 該網頁的程式下載連結需要註冊、登入後方可下載;不過 Heresy 在 IE9 沒有辦法正確地開啟登入對話框,有一樣問題的人,建議請換套瀏覽器。
  2. 雖然程式在上傳完成後,是號稱可以關掉、等完成後會收到一封通知信、並可以下載處理完成的專案檔,但是 Heresy 自己測試的時候,並沒有收到通知信,也沒辦法找回專案…這點可能要注意一下。
  3. 程式有的時候會用黃色的方框來提供建議的對應點位置,可以透過拖動這個框框,來找標示對應點。另外,要刪除對應點的話,到左邊點以下已經存在的控制點,然後按鍵盤的 del 就可以把整組對應點都刪掉了。
  4. 每次重新 submit 似乎都需要重新上傳圖片,這點算是滿討人厭的…
  5. 要玩的話,建議找物體上面有明顯的點、可以用來建對應點的東西會比較合適;如果上面很光滑、有沒有什麼特殊的花紋的話,要找對應點會很麻煩。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *