有沒有 2D 圖轉 3D 圖的軟體? 主要是想得到 2D 圖的深度圖,一定要有左右視角的才行嗎?
無意間又點進來,發現居然我這個當時隨手寫的粗糙答案居然承蒙錯愛排在了前面,再來補充幾句吧。
下面有答案提到一篇Andrew Ng在08年IJCV的,沿著名字去膜拜了下,不知道這個答案為什麼被弄的那麼靠後……其實對於這種任意圖像的重建,大部分還是要有數據進行訓練的,在這篇paper誕生的06年DL還沒現在這麼火,能人肉提出一堆視覺特徵外加概率模型訓練能出這個結果已經很不錯了。畢竟用這種計算量花了老大的勁兒出來這樣的結果,這類文章可能並不是題主想要的結果。
如果題主想不藉助深度攝像頭自己使用單幅圖實現的話,可以看下其他人提到的具體演算法,@lin zhang提到的SFS是用的比較多的演算法了,感興趣的話也可以看看shape from X,還有一大票相關演算法;至於多幅圖片的話,已經是發展了數十年成熟到不能再成熟的演算法了,例如可以看看這這個鏈接最後提到的眾多軟體:http://en.wikipedia.org/wiki/Structure_from_motion
當然不得不說一句,這些演算法恢復的,大多數是近似深度;如果是單目重建的話,深度信息可能偏差會更大甚至可能會無法達到預期目的。題主要做好心理準備……
提前預祝各位新年快樂~
2015.02.04
---------原始答案分割線----------
2D圖與3D圖之間最大的跨度就是,2D圖形缺少了深度信息。
題主的問題就近似等價於,『有沒有恢復圖片深度信息的軟體/演算法』?
- 兩張圖的話,可以通過許多成熟的演算法,重建出深度信息。應該就是題主提到的『左右視角圖片』吧。在此不多說
- 只有一張圖的情況下,也不是沒有可能的,但是你需要強先驗才可以。例如一張人臉的正面圖片,只要你能定位出眼睛,你肯定知道這裡是凹進去了;定位出鼻子,這裡肯定是要凸起的……有大量統計基礎數據的話,就可以『恢復』深度信息了。當然,這裡的深度信息,嚴格意義上講,是假的……
- 如果只有一張圖,還沒有先驗或者預訓練……請問,你這是打算逆天了嗎,打算置資訊理論於何地?
歡迎指正
從一張圖可以恢復深度!!!
參考:
Saxena, A., Chung, S. H., Ng, A. Y. (2008). 3-d depth reconstruction from a single still image. International Journal of Computer Vision, 76(1), 53-69.
3Defy
insight3D
Sketchup的插件 PhotoSketch
AutoCAD 123D Catch
更加齊全的可以看我的麥芽圈的貼子:http://www.maiyaquan.com/t/you-mei-you-tu-pian-2dzhuan-3dde-ruan-jian/165/2
據我所知至少需要左右兩張視圖才能得到深度圖
要麼有人輔助,要麼有訓練庫,總是要有先驗知識才可能。我司用的是前一種方法,反正建模的人工費便宜,還準確
這個東西之前做過相關的:
首先這個問題是病態的,你要怎麼去從一張圖裡恢復一維不存在的信息?
之前的回答里有說利用多張圖像的,這東西有個專門的演算法叫做struct-from-motion,主要是根據圖像序列中的特徵點對應來恢復整個場景的結構,算是比較成熟了。不過要求圖像序列中攝像機的旋轉,這個除非自己實拍,否則意義不太大(話說如果實拍的話我用RGB-D攝像機去拍多好要它幹嘛)。
另一方面,如果只有一張圖的話,倒也不像大家說的那樣完全不可能做到。這麼想:如果給你一張圖片讓你一點一點標註出來深度圖,做得到么?我想大部分還是可以做的。其實現在也有很多工作也是這樣:提取一張圖片中有關depth的信息從而部分地恢復出來。裡邊用到的信息可以是物體的相互遮擋,物體邊緣的模糊程度和大氣光散射之類的。
印象中湯曉鷗老師他們做過一個類似的工作,如果感興趣可以去Google一下。我這裡有個實現,雖然比較渣但是大概可以看出個大概,現在如果有相關的成熟的工作效果肯定就比我這個好得多啦:
圖片來自刺殺金三胖
就像前面回答者提到的,下面篇文章可以實現從單幅圖像提取深度(在有深度的圖像庫上訓練一個MRF)。
Saxena, A., Chung, S. H., Ng, A. Y. (2008). 3-d depth reconstruction from a single still image.International Journal of Computer Vision, 76(1), 53-69.
這篇文章有源碼,訓練參數是給好的,我用過這個訓練好的MRF估計單幅圖像的深度,然後嵌入到sift特徵中,用BOW對圖像分類,實驗證明是有效的(即使訓練數據和測試數據來源完全不同)。當然,分類任務是有效的,如果lz只是單純希望得到深度進行可視化的,效果可能不太好,畢竟這是個病態問題。
這篇文章Depth Map Prediction from a Single Image using a Multi-Scale Deep Network可以幫樓主解決這個問題,是相關問題很新的一個工作
除了用多個視角(左右兩個相機或一個相機兩個位置)和另外一個回答中用machine learning的方式得到深度信息,還有一種基於shading的方法。
說通俗點就是人用一隻眼看世界,我們多少能知道物體的遠近,這除了有先前經驗(machine learning)外,還有光影信息。如我們能根據陰影知道物體遠,根據反光知道物體近。
詳情Google:Shape-from-shading
軟體推薦:123d Catch
這個是autodesk的軟體,蘋果應用商店就有。
相機圍繞目標物體旋轉拍攝多張照片,然後軟體自動重建三維模型並完成貼圖。
第二個問題答案,不一定。
有一篇論文專門討論通過一張圖即可完成三維重建的理論方法。
比如說
Cad牆體導入3D max,這個時候是二維的
然後擠出牆體,你就可以看到三維的了
是這樣嗎???
如果2D圖是一張RGBA紋理圖,裡面alpha通道可以存儲深度信息,另外計算機視覺里有RGBD含深度的圖像。
推薦閱讀:
※為什麼說3Ds Max永遠不能可能精確了?
※ICML 2017上哪些論文值得關注?
※怎樣評價「微軟亞洲研究院4人團隊完成視覺識別里程碑式突破」?
※做底層 AI 框架和做上層 AI 應用,哪個對自己的學術水平(或綜合能力)促進更大?
※OPTA 發布的球員在每場比賽中的熱點圖和傳球線路是怎樣製作出來的?
TAG:計算機視覺 | Autodesk3dsMax | 效果圖 |