計算機圖形學與機器學習(深度學習)怎麼結合起來?

謝謝這麼多人關注這個問題。
本人即將攻讀浙大CADCG實驗室的計算機圖形學的PhD,接觸圖形學不多,做過一些深度學習方面的課題。在讀博期間希望能夠將人工智慧相關演算法與CG結合起來,交叉研究,以後的就業/創業口徑也會相對寬些。
麻煩各位大神給我分析一下在哪些點、方面上可以將兩者結合起來,幫我提供一些思路,謝謝了。


我就放兩篇。

第一篇是Global Illumination with Radiance Regression Functions 喂進去很多離線渲染的場景和渲染結果,訓練出個NN。運行時直接用場景就能預測出GI的效果。SIGGRAPH 2013的。GI可以60fps,任意bounce數,間接高光隨便搞。

第二篇Image Based Relighting Using Neural Networks (Global Illumination with Radiance Regression Functions),把前面那套框架用在了relighting上。現實中拍攝的場景也可以重新打光。


使用渲染的圖片訓練視覺識別網路。好處是不用人肉添加label。參見某公司用GTA5的截圖訓練無人駕駛道路物體檢測的神經網路(https://arxiv.org/pdf/1608.02192.pdf)。

現在很多人希望有一個好用的可以直接調用的渲染引擎,現有遊戲引擎的問題在於都是它調用你,你很難調用他,也沒有專門的工具讓你可以輕鬆地同時產生渲染的圖片和label。


  • Deep Convolutional Neural Networks

Accelerating Eulerian Fluid Simulation With Convolutional Networks [Tompson et al. 2016]

離線訓練一個解poisson equation的CNN,然後用它代替流體模擬中pressure projection那一步的conjugate gradient solve以加速。這篇文章很新,目前剛上傳arxiv,至於最後會被哪個期刊或會議收錄,我們拭目以待。

  • Reinforcement Learning for Motion Control

Dynamic Terrain Traversal Skills Using Reinforcement Learning [Peng et al. 2015]Terrain-Adaptive Locomotion Skills Using Deep Reinforcement Learning [Peng et al. 2016]

這兩篇估計算是CG里把Reinforcement Learning用來做motion control的先驅了,分別發表於15和16年的SIGGRAPH,作者是UBC的傑森大神,由於不是很懂,就不多說啥了。據說傑森大神下一篇文章也會是相關問題,並且難度設定大大升級,期待他本碩期間的第三篇SIGGRAPH一作!

  • Data-Driven Approaches

不知道大家把不把Data driven approach分類在learning里,其實CG里近年來有很多data driven的文章,裡面會用到很多統計學工具以及unsupervised learning什麼的。就是說最初的CG把各種圖形處理工具和演算法研製出來後,素材一直是靠藝術家來創作的。最近幾年,大數據流行起來了,CG從業的藝術家們通過十幾年的努力也創作了大批大批的成品,那麼研究人員就開始想著利用這些數據來給今後藝術家們的創作帶來方便,所以CG就朝data driven邁步了。具體可以去看看MIT教授Wojciech Matusik得了ACM SIGGRAPH New Significant Researcher Award - 2009後的獲獎感言。Youtube鏈接:Video Part 1 , Video Part 2

我印象里data driven的文章用得比較多的就是PCA降維一個資料庫里的數據,然後使得用戶得到的結果是和他的簡單輸入最相似的在資料庫形成的數據空間里的一點。有興趣可以去搜一搜,例子很多,我這裡簡單舉兩個:

A Morphable Model For The Synthesis of 3D Faces [Blanz et al. 1999]

用單張人臉正面照片做3D人臉重建,基於3D人臉模型資料庫。

A Data-driven Approach for Synthesizing High-resolution Animation of Fire [Sato et al. 2012]

用高精度火焰模擬數據讓低精度火焰模擬結果快速的獲得更多細節。

  • Active Learning

Active Learning對我來說是個新概念。簡單來講,它是一種可以互動式的向外界索要數據點label的semi-supervised learning方法。由於每個數據點的label在訓練過程中其實並不是同等重要的,所以active learning通過不斷詢問最關鍵的數據點的label進行訓練,可以大大減少所需的label數量,這對在大數據集上訓練模型而言可以很好地減輕人工標定的負擔。下面這篇SIGGRAPH Asia 2016的文章提出了一種active learning的方法來快速、輕鬆地獲取大型三維模型數據集的模型區塊標籤:

A Scalable Active Framework for Region Annotation in 3D Shape Collections [Li et al. 2016]

這篇文章研究的問題屬於Shape Analysis,是三大CG傳統研究分支(詳見計算機圖形學是不是計算機專業方向中對數學要求最高的? - 李旻辰的回答)之一的Geometry方向目前的一個研究熱點。Shape Analysis主要解決如何從幾何形體中挖掘出高層次語義信息的問題,而且通常研究的對象是大型三維模型數據集。從中我們也可以看出Geometry方向已經逐漸開始從基礎的低語義層次幾何問題不斷向高語義層次問題延伸了。這種趨勢有點像計算機視覺,從特徵點提取到物體識別。事實上,我個人的觀點是Shape Analysis與計算機視覺研究非常相似,只不過是把研究對象從圖像換成了三維模型而已,所以它也是一個inverse problem,用到機器學習也就理所當然了。

References

  1. Tompson, J., Schlachter, K., Sprechmann, P., Perlin, K. (2016). Accelerating Eulerian Fluid Simulation With Convolutional Networks. arXiv preprint arXiv:1607.03597.
  2. Peng, X. B., Berseth, G., van de Panne, M. (2015). Dynamic terrain traversal skills using reinforcement learning. ACM Transactions on Graphics (TOG), 34(4), 80.
  3. Peng, X. B., Berseth, G., van de Panne, M. (2016). Terrain-adaptive locomotion skills using deep reinforcement learning. ACM Transactions on Graphics (TOG), 35(4), 81.
  4. Blanz, V., Vetter, T. (1999, July). A morphable model for the synthesis of 3D faces. In Proceedings of the 26th annual conference on Computer graphics and interactive techniques (pp. 187-194). ACM Press/Addison-Wesley Publishing Co..
  5. Sato, S., Morita, T., Dobashi, Y., Yamamoto, T. (2012, August). A data-driven approach for synthesizing high-resolution animation of fire. InProceedings of the digital production symposium (pp. 37-42). ACM.
  6. Kim, L. Y. V. G., Ceylan, D., Yan, I. C. S. M., Huang, H. S. C. L. Q., Sheffer, A., Guibas, L. A Scalable Active Framework for Region Annotation in 3D Shape Collections.

謝邀。這個簡直太多了。其實在深度學習沒起來時候,圖形學已經在大量應用相關的方法了。只不過不叫學習,一般叫做Data-Driven。以上的很多答案列出的文章都是比較相關的,除了上面提到的之外,我來多列幾篇。題主可以找比較感興趣的子方向看一下。

圖像、視頻處理
Data-driven visual similarity for cross-domain image matching
Data-driven enhancement of facial attractiveness
Data-driven image color theme enhancement
Deep photo: Model-based photograph enhancement and viewing
Real-time video abstraction
What makes paris look like paris?
Data-driven hallucination of different times of day from a single outdoor photo
Fragment-based image completion
Example-based image color and tone style enhancement
Intrinsic colorization

運動控制、合成
A data-driven approach to quantifying natural human motion
Data-driven biped control
Group behavior from video: a data-driven approach to crowd simulation
Simulating biped behaviors from human motion data
Performance animation from low-dimensional control signals
Mapping optical motion capture data to skeletal motion using a physical model
Motion patches: building blocks for virtual environments annotated with motion data
Simple and efficient compression of animation sequences
Efficient content-based retrieval of motion capture data
Learning physics-based motion style with nonlinear inverse optimization
Real-time prosody-driven synthesis of body language
Synthesizing animations of human manipulation tasks
Crowds by example
Morphable crowds
Data-driven interactive balancing behaviors
Dynamo: dynamic, data-driven character control with adjustable balance
Style-based inverse kinematics
Example-based facial rigging
Example-based dynamic skinning in real time
Example-based control of human motion
Motion modeling for on-line locomotion synthesis
Articulated body deformation from range scan data
Parametric motion graphs

三維重建、建模
Scene completion using millions of photographs
Data-driven suggestions for creativity support in 3D modeling
Exploring the space of human body shapes: Data-driven synthesis under anthropometric control
Robust single-view geometry and motion reconstruction
Image-based plant modeling
Automatic reconstruction of tree skeletal structures from point clouds
Computer-generated residential building layouts
Probabilistic reasoning for assembly-based 3D modeling
Modeling by example
Photo-inspired model-driven 3D object modeling
Context-based surface completion
Interactive example-based urban layout synthesis
Example-based synthesis of 3D object arrangements
Example-based hair geometry synthesis
A probabilistic model for component-based shape synthesis

物理模擬、材料合成
Data-driven modeling of skin and muscle deformation
Data-driven elastic models for cloth: modeling and measurement
Real-time data driven deformation using kernel canonical correlation analysis
A Data‐Driven Approach for Real‐Time Clothes Simulation
Capture and modeling of non-linear heterogeneous soft tissue
Capturing and animating occluded cloth
Design and fabrication of materials with desired deformation behavior
Example-based wrinkle synthesis for clothing animation
Example-based elastic materials

紋理合成
Texture design using a simplicial complex of morphable textures
Texture optimization for example-based synthesis
Multiscale texture synthesis
Inverse texture synthesis

渲染、風格化
All-frequency precomputed radiance transfer using spherical radial basis functions and clustered tensor approximation
Physical reproduction of materials with specified subsurface scattering
Modeling anisotropic surface reflectance with example-based microfacet synthesis
Stylizing animation by example


Lab大師兄在SIGGRAPH 2015上的文章,渲染去噪:
A Machine Learning Approach for Filtering Monte Carlo Noise

不算Deep learning (只有1層hidden layer...),但好歹算是Neural Network了


可以考慮人能做什麼事情,嘗試用機器去做:

  1. 繪畫 → 根據繪畫例子的風格渲染非實感圖形。
  2. 攝影 → 根據真實的攝影作品在虛擬世界構圖拍攝作品。
  3. 舞蹈、武術 → 根據動作捕捉數據按需求生成動畫。

我覺得吧可以在建模方面找切入點。通過機器學習的方法利用一些鮮艷的知識進行計算機輔助建模。
比如,利用單張人臉圖片來講進行3D 重建,本來對於3D 重建來講一張圖片的信息量是不夠的,但是可以利用大量的人臉數據訓練來進行。浙大的周昆老師做了很多這方面的工作,你可以參考一下。再比如說,能不能利用訓練數據生成某種特定風格的城市建築群的模型啦之類的。這一類自動建模,三維重建之類的應該還是蠻有意思的。

此外,不知道能不能通過機器學習的方法簡化渲染的計算量。比如毛髮、水體這些大量的物理運算,本來都是按照物理規律來的,但在實際應用中我們其實只需要一個合理的近似就可以。那是否可以通過機器學習的演算法對於物理規律進行近似,然後簡化計算。大部分的機器學習演算法都具有訓練時間長,測試時間短的特點。比如把對某個計算量巨大的物理函數用神經網路進行回歸之類的。

還有就是生成某種特定的風格(漫畫、油畫)的渲染結果之類的。


在計算機視覺領域裡,人們通過分析大量的圖像數據來幫助機器理解世界;在語音信號處理領域裡,人們藉助機器學習從大量的語音數據中解析語言的魅力。隨著三維數據的日益增多,讓機器通過分析三維數據來理解物理世界也方興未艾,優秀的工作也層出不窮。做為三維理解的第一步,人們希望能從數據中學習三維形體空間。

隨著深度學習尤其是卷積神經網路(CNN)這一利器在各領域裡的卓越表現,如何將CNN運用到三維數據上成為計算機視覺和圖形學一個焦點課題。

結合近期微軟亞洲研究院網路圖形組在這方面的一些工作,劉洋博士分享了數據在三維幾何處理與分析的作用與效力,主要包括三維幾何處理中的去噪問題,以及卷積神經網路在三維數據上的應用。

————這裡是正式回答的分割線————

分析與處理三維形體是計算機圖形學中的一個基本任務與研究方向。近年來隨著三維數據獲取的便捷和三維數據集的迅猛增長,這個研究方向也面臨新的挑戰和契機。一方面,在新的數據形勢下,傳統演算法的一些前提假設不再成立,研發新型演算法的需求迫在眉睫。另一方面,大數據的出現,可以使得傳統的三維分析和機器學習更加有機地結合起來,從而幫助人們加深對三維世界的認知,有效地理解現實三維幾何世界並構建虛擬數字世界。

從「三維去噪」談起

&>&>&>&> 問題緣起

關於三維網格去噪或點雲去噪的問題,圖形學的初學者一定不會陌生。舉一個例子,利用微軟的Kinect設備掃描三維物體(圖一(a)),我們可以獲得三維網格(圖一(b))。但由於Kinect設備的低精度,三維網格存在著大量的雜訊。去除這些雜訊並盡量恢復物體的原貌(如圖一(c))就是三維去噪需要解決的問題。從簡單的拉普拉斯平滑到複雜點的譜分析去噪,從熱門的 L_{0} 平滑到便捷的雙邊濾波, 林林總總有非常多的演算法可以使用,也有非常多的圖像域上的去噪方法可以借鑒。但遺憾的是對於類似圖一的雜訊,已有的演算法並不能很好地去除。問題出在何處?

圖 一:三維網格去噪

&>&>&>&> 三維去噪問題的前生今世

在回答上述具體問題之前,我們先從一個更大的範疇來考察三維去噪問題。去噪問題難在何處?我們對該問題有以下幾點認識:

● 去噪問題本質上是求解一個病態的逆問題:在雜訊的類型和程度未知、真實模型的幾何特性未知的前提下,如果要把雜訊從輸入中完美剝離,必然需要引入各種假設來輔助求解。

● 很多去噪演算法對真實物體的幾何特性做了很強的假設,比如曲面是 C^{2} 光滑,或者曲面類似CAD模型具有分片光滑和含有大量平面的特性。 然而這一類的曲面只佔三維物體類型中一小部分。

● 眾多演算法顯式或隱含地對雜訊模型做了假設,這些模型基本以高斯雜訊為主,更廣義一點,演算法假設雜訊是獨立同分布。然而真實雜訊的成因複雜,這些假設在很多情況下並不成立。針對高斯雜訊的去噪方法在實際中也表現一般。

● 很多演算法的機理和評測是有缺陷的,呈現理論和實際脫節的情況。以三角網格曲面去噪為例,很多演算法在已知網格上加若干雜訊,然後用去噪結果和已知曲面的差異來比較演算法的優劣。這些演算法有兩大缺陷:(1)雜訊類型人為給定,與真實不符。(2)已知網格和加噪網格共享相同的網格連接關係,與真實情況不符。如無視這些缺陷,就無助於解決真實去噪問題。

● 實用中各個演算法的參數需要人為調配,根據不同輸入反覆嘗試。對於用戶而言,調參顯然是一門痛苦且頗具經驗色彩的苦力活。

&>&>&>&> 讓數據說話

不同採集設備由於精度和三維數據獲取方式的差異會導致數據雜訊的不同(比如Kinect一代和二代的雜訊迥異),雜訊在相異幾何特徵和不同物體材質上的表現也會有所不同。真實雜訊是與數據以及設備相關的,簡單的雜訊模型不可能刻畫出真實的雜訊。因此,我們提出用數據驅動的方式來學習雜訊和數據的關係,從而幫助解決去噪這一問題。

眾所周知,數據驅動不能盲目地進行,數據本身要有內在並自洽的聯繫。在假定了三維數據獲取方式的一致性、物體材質的相似性之後,我們認為符合這些前提獲取的數據集可以用來揭示其中雜訊的特點,並有效地幫助去除這類數據的雜訊。

&>&>&>&> 演算法概略

我們對無雜訊三維曲面做一個合理的假設:曲面局部光滑並且任意一點的法方向 ar{N} 可以由其局部鄰域的法方向構成的函數刻畫。進一步假設局部鄰域 Omega 的法方向可以構造一個特徵描述子 S_{Omega} 並且存在一個函數g使得 ar{N}_{f} :=g( S_{Omega} )。如果該特徵描述子對雜訊不敏感,那麼在該曲面相對應的雜訊曲面上,可以尋找類似g的函數 ar{g} 並使得 ar{g} ( S_{	ilde{Omega } } )來近似真實的法方向 ar{N_{f} } 	ilde{Omega } 是雜訊曲面上對應 Omega 的區域)。

描述子。注意到雙邊法向濾波運算元具有一定的抗噪性,我們提出整合不同參數下的雙邊法向濾波運算元來構造上述的特徵描述子,並稱之為「法方向描述子」(FND)。FND在不同雜訊下具有很好的抗噪性,並且可以用來區分不同的幾何特徵。下圖是我們用FND來聚類雜訊曲面的面片(每一類用不同顏色繪製)。可以看到,具有不同幾何特徵的雜訊區域被明顯地區分開來,在不同雜訊下(高斯雜訊、均勻雜訊)劃分也具有比較一致的相似性。

級聯回歸網路。 在給定無雜訊曲面和其對應的含雜訊曲面數據下,我們通過構造一個簡單的神經網路來尋找 ar{g} 。該神經網路是一個單隱層的RBF網路,其輸入是雜訊數據的法方向,損失函數由 ar{g} ( S_{	ilde{Omega } } )和其對應的真實法方向的差異構造。為了進一步減少回歸誤差,我們針對由FND分類的區域分別尋找各自的 ar{g} 。回歸出來的法方向結果,用來指導雜訊曲面頂點位置的更新,從而達到減少雜訊的效果。注意到單隱層網路的擬合能力有限,我們利用級聯的方式將當前去噪後曲面的法方向作為輸入,訓練新的網路降低逼近誤差。我們發現,級聯若干個單隱層網路可以極大程度地減少雜訊並不失計算的便捷性。在實際中,三次級聯就可以帶來非常優秀的去噪結果。訓練出來的網路在實際運用時也不再有調參之苦。

&>&>&>&> 去噪實戰

我們的演算法在人工合成的雜訊數據和真實掃描數據上都表現卓越。比起現有的去噪演算法以及它們最佳的參數搭配,在質量和速度上都有很大程度的提高。下圖中展示的是我們使用的真實三維物體(樹脂石膏材料)。我們用高精度的三維掃描儀獲取這些雕像的真實幾何模型併當作無雜訊數據(groundtruth)。

我們準備了三種雜訊數據:1.利用 Kinect 一代的單幀深度數據構成的三角網格;2. 利用Kinect 二代的單幀深度數據構成的三角網格;3. 利用Kinect Fusion 技術重構的三角網格。前面提到,雜訊跟數據、設備都相關,因此對於這三個來源不同的數據,我們分別訓練不同的級聯回歸網路用來去噪。以下各圖展示了典型的雜訊數據和它們對應的無雜訊數據。

我們的演算法可以很好地針對以上數據去噪。以下各圖展示了我們的演算法在這三類數據的測試集上的表現。左右兩端分別是雜訊數據和真實數據。可以看到與其他演算法(雙邊法向濾波bilateral normal、引導法向濾波 guided normal、 光順等)相比,我們演算法的輸出更忠實於真實結果:雜訊引起的曲面波動明顯減少,曲面也無過分光滑和過強的劇烈變化。圖下方數值表示的網格法方向與真實值的平均誤差也進一步說明了我們數據驅動下的演算法優越性。

Kinect V1 數據上的去噪比較結果

Kinect V2 數據上的去噪比較結果

Kinect Fusion 數據上的去噪比較結果

從數據中學習雜訊與三維數據之間的複雜關係是我們去噪方法的核心思想。從這項工作中我們也認識到:忽略真實數據去研發一個放之四海而皆準的去噪演算法是不可行的。雜訊來自數據,我們應該從數據中探究其中的奧秘。我們的工作也體現了數據的威力。大家不妨參考我們發表在Siggraph Asia 2016的文章」 Mesh Denoising via Cascaded Normal Regression」,並試試附帶的Matlab代碼。

值得一提的是,我們的演算法假設了物體某點雜訊只和該點附近區域的數據相關。這個局部相關的假設並不總是成立。比如Kinect二代這樣飛時測距的設備,光線由於物體幾何形狀不同可以產生多次反射,從而造成全局位置偏差。我們的演算法並不能很好地去除這樣的偏差。是否可以從數據中挖掘其中的規律,還是一個值得探討的問題.

形狀空間與3D CNN

三維形狀在數字世界裡可以有不同的表達,如三角網格、點雲、體素、參數曲面、隱式曲面等。不同的表達和CNN也有著不同的結合方式。有的方法將網格參數化到二維空間,在二維空間編碼幾何特徵,並利用CNN在二維定義域上類似圖像空間進行卷積;有的將曲面局部處理成測地圓盤域並在其上編碼幾何信號,然後在圓盤上進行CNN卷積;也有的以三維空間的體素作為定義域,示性函數作為信號(即物體形狀內部信號編碼為1,外部為0)進行3D卷積,將CNN直接拓展到三維空間;還有一大類方法是利用空間投影將物體變為多個視圖下的二維影像,然後當作圖像來處理。在近年的視覺、機器學習、計算機圖形學的會議上,如CVPR/ICCV/NIPS/SIGGRAPH,針對三維形狀的深度學習網路已開始大放光彩。但這些方法各有利弊,對輸入也各有不同的要求。

我們希望發明一個對輸入魯棒(如不對形狀拓撲、曲面光滑程度、物體可見範圍等做過多假設)的三維CNN網路,用來處理紛雜的三維數據。這裡面最接近我們期望的就是基於體素的3D CNN。基於體素的3D CNN是圖像空間CNN的自然推廣,然而從二維推廣到三維,CNN涉及的離散元素(2D是像素,3D是體素)個數是空間格點解析度的三次方,即 N^{3} 。龐大的存儲量和計算量讓基於體素的3D CNN畏足於高解析度,徘徊於 32^{3} 這樣低解析度的數據中,使得該方法在眾多的三維學習任務中飲恨敗北。


突破口之一:八叉樹的稀疏表達與面向CNN的高效訪問

如何提升基於體素的3D CNN的能力? 我們依舊讓數據說話。

和圖像空間不同,三維形狀只佔其所在三維空間的一小部分,大部分三維區域是空的。用空間中所有體素來表達形體,無疑是非常浪費存儲的。一個自然的想法是,利用自適應的空間剖分來壓縮存儲,八叉樹顯然是個非常好的選擇。在指定最大深度的情況下,三維空間根據是否含有三維形狀的一部分來決定是否一分為八,並在子塊里重複這樣的劃分。八叉樹的最深葉節點可以存儲三維形狀的信息。在我們的實現中,這些葉節點只需存儲所含區域的平均法向,並且它們的數目也只是O( N^{2} ) 。這樣的存儲方式不受形狀表達的限制,網格、曲面、點雲等都可以輕鬆存儲。

傳統八叉樹的實現是構建標準的樹型結構,其訪問周邊鄰居的效率並不高。而在CNN計算中,經常要大量訪問周邊鄰居來做卷積運算。為此,我們構造了一種高效的八叉樹結構並在GPU上高效實現:八叉樹的每一層由一個排序過的散亂鍵數組、一個標記非空節點序號的數組組成。訪問節點鄰居可以通過這些數組快速獲得,並支持高效訪問所有同父節點的鄰居。這一實現非常利於CNN計算,並且數據的下採樣也非常便捷。 在下圖中我們用二維的四叉樹來闡述我們的數據結構。

圖(a)中紅色部分表示一個二維形狀,l=0,1,2表示了不同深度下四叉樹,每個節點的標號用排序過的散亂鍵標定並記在數組 S_{0} ,S_{1} ,S_{2} 里 (圖(b)),每一層非空節點的序號(從1開始計數,0表示空節點))由 L_{0} ,L_{1} ,L_{2} 數組存儲(圖(c))。在四叉樹每一層都存儲CNN網路的特徵數組,和 S_{i} 相對應,比如 T_{1},T_{2} 。當下採樣發生的時候,如在 T_{2} 上,四個同父的子節點通過 L_{1} 可以迅速把採樣結果放在 T_{1} 中父節點所對應的位置。

突破口之二:限制在八叉樹節點的CNN計算

圖像域上每一像素都含有具體信息,都會經歷CNN的計算,如卷積、池化。而在三維空間中,並不是每個體素都含有三維形體信息。我們認為,盲目地對所有體素做CNN計算是得不償失的。為此,我們提出只在八叉樹節點上進行CNN運算,這樣的方式有以下三個好處。

● 存儲優勢:由於卷積計算限制在八叉樹節點上,多次卷積也不會擴張卷積的計算區域,從而保證了計算量只和八叉樹節點數目相關。而已有的一些基於稀疏存儲的CNN的工作在多次卷積後會將整個空間佔據,變得低效且無法處理高解析度。

計算高效:八叉樹的層次結構和便捷的數據組織使得卷積、反卷積、池化、反池化操作與八叉樹高效結合。比如,常見池化操作就是把一個父節點的所有子節點的信息降採樣到該父節點上。

信息傳播優勢:我們限定卷積計算只在八叉樹節點上發生,實際上是隱式地將網路信息在形狀表面上傳播,從而可以更高效地交換和共享信息。基於全空間體素的3D CNN將信息在整個空間傳播,信息流動的效率慢,很多含零信號的區域並不能貢獻有效信息。從另一方面看,我們的限定計算也和多視角CNN、基於流形的CNN思想不謀而合:CNN計算都在形狀表面發生。雖然目前我們還缺乏理論上對這一優勢的嚴密分析,但我們的實驗已經很好地體現這方面的優勢。

基於八叉樹的卷積神經網路(O-CNN)

基於高效的八叉樹和限定CNN計算思想,我們提出了一個基於八叉樹的卷積神經網路(O-CNN)。為了體現我們方法的優越性,並盡量避免不同網路結構所帶來的優劣難以做公正的評價,我們只用常見的卷積和池化層來構造網路。把卷積+BN+ReLU+池化看作一個構建單元並記作 U_{l} (如果卷積是應用在八叉樹的第l層)。O-CNN的前端構造如下: input 
ightarrow U_{d} 
ightarrow U_{d-1} 
ightarrow cdot cdot cdot 
ightarrow U_{2} 。為了使得不同八叉樹結構在最後具有相同長度的特徵,我們對所有八叉樹的第二層空節點補零填滿。 基於這個前端(見下圖),我們開發了完整的O-CNN網路,用在形狀識別、檢索、分割等三維分析的任務上。

圖二: O-CNN 前端


牛刀小試

我們首先在Princeton ModelNet40數據集上測試O-CNN的形狀識別能力。該數據集含有標定物體類別的40類三維數據,共含12311個CAD模型。我們利用這個數據集訓練並測試了六個O-CNN網路:O-CNN(3)、O-CNN(4)、O-CNN(5)、O-CNN(6)、O-CNN(7)、O-CNN(8)。其中的數字表示所用八叉樹的最大深度,即這個六個網路所用的最大空間解析度為 8^{3} ,16^{3} ,32^{3} ,64^{3} ,128^{3} ,256^{3} 。下表展現了這六個網路以及其他一些深度學習網路在ModelNet40上的識別率。從中可以看出,在同等解析度下,O-CNN明顯優於其他方法。值得一提的是,在低解析度下,我們的O-CNN(3)和O-CNN(4)也表現不俗。O-CNN(7)和O-CNN(8)稍遜於O-CNN(6),這主要是由於ModelNet40的數據量不足以很好地訓練這些相對深的網路。

我們也在ModelNet40數據集上測評了O-CNN在不同解析度下(即八叉樹最大深度)的顯存開銷以及運算時間,並和基於全部體素的3D CNN做了對比。實驗中我們使用了一塊 GeForce 1080 GPU (8GB顯存),網路的minibatch大小為32。下表是各個網路的內存開銷。

O-CNN網路平均一個前向和反向運算時間見下表。

由此可見,O-CNN的內存佔用和計算時間明顯佔優,尤其在高解析度下得到充分體現。

在形狀檢索任務中,我們和SHREC16比賽中的各個方法也做了對比。在ShapeNet55 Core數據集上,我們測評了O-CNN(5)和O-CNN(6),O-CNN(5)和其他方法中最好的結果類似,O-CNN(6)在各項測評指標上有明顯優勢。圖三中展示了一些檢索結果。

圖三: O-CNN(6) 的形狀檢索結果。

在形狀分割任務中(其中需要反卷積和反池化操作),O-CNN(6)也取得非常好的成績 (下表中對比了我們方法和其他方法的結果,黑體標示最好的指標)。 限於篇幅,感興趣的讀者可以閱讀我們即將發表在Siggraph2017上的文章,」 O-CNN: Octree-based Convolutional Neural Networks for 3D Shape Analysis」。

表一: 形狀分割對比結果。比較指標為分類結果的IoU。

O-CNN在三維分析任務中的優良表現讓我們更有信心在未來研究工作中繼續探索O-CNN的其他任務能力,如去噪、形狀對應、形狀補全、形狀生成、場景理解等範疇更廣、粒度更細的三維分析與理解的任務。

結語

紛繁蕪雜的三維數據構建了多姿多彩的三維幾何世界,如何整合數據的力量、結合機器學習與圖形學知識來認識三維世界是我們研究的重點方向。我們將沿著這一方向繼續前行!也期望看到更多年輕學子和研究學者加入到這一充滿活力的前沿領域。


————這裡是回答結束的分割線————

以上回答摘選自微軟研究院AI頭條,以數據的名義——淺談三維幾何的處理與分析(上)和 以數據的名義——淺談三維幾何的處理與分析(下)

感謝大家的閱讀。

本賬號為微軟亞洲研究院的官方知乎賬號。本賬號立足於計算機領域,特別是人工智慧相關的前沿研究,旨在為人工智慧的相關研究提供範例,從專業的角度促進公眾對人工智慧的理解,並為研究人員提供討論和參與的開放平台,從而共建計算機領域的未來。

微軟亞洲研究院的每一位專家都是我們的智囊團,你在這個賬號可以閱讀到來自計算機科學領域各個不同方向的專家們的見解。請大家不要吝惜手裡的「邀請」,讓我們在分享中共同進步。

也歡迎大家關注我們的微博和微信賬號,了解更多我們研究。


http://weixin.qq.com/r/PUliejrEzWeyrX4Z9xwv (二維碼自動識別)


今年Siggraph Asia 2016有一篇基於機器學習對三維模型去噪的:Mesh Denoising via Cascaded Normal Regression(http://wang-ps.github.io/)。

模型去噪在圖形學中是一個很古老當然也很重要的問題。近幾十年來,研究這個問題的論文估計有上千篇。但是據我所知,近15年來,發表在Siggraph或者Siggraph Asia這種頂級會議上的這類文章也就5篇左右。這篇能中Siggraph Asia,肯定是對這個方向有巨大貢獻的。作者把代碼數據也都放出來了。


今年siggraph有篇用 DL 做 automatic colorization 的,雖然我覺得這種 end-to-end 的方式很不圖形學......

這種問題你最好問你老闆,可能你們組不做跟機器學習有關的......其實我覺得機器學習跟圖形學不怎麼搭,還是視覺、圖像處理里用得多

去年上張宏鑫的圖形學時感覺他對機器學習挺感興趣的,也許你可以找他聊聊


先貼個圖

千億像素級里約全景圖2(152GP)


在貼個圖

千億像素級里約全景圖1(69GP)


這個是港科大Prof. Pedro V. Sander和他的研究團隊一同製作出了好幾張超高解析度的實景圖片。其中這兩張千億像素級的里約全景圖更是前後兩次打破了當時的世界紀錄。


雖然說這個只是純粹的計算機圖形學的研究作品,但默默的覺得,作為來自里約的教授,這就是一種情懷吧!


------------------------------ 情懷分割線 ----------------------------------------------------

好了,扯完情懷了。


目前計算機圖形學設計的領域包括而不僅限於圖像、視頻處理、渲染、可視化到網路傳輸,除此之外,我想到了兩個例子,所屬的方向還是計算機圖形學和機器學習的結合。只說方向,具體的論文,自己查閱就好。


1. 3D列印3D圖像識別

這方面舉個比較有趣的公司,就是著名數學家邱成銅老師開到3D列印公司GEOMETRIC INFORMATICS Technology Inc.(GIT) , 不懂邱老師的請自己蹲牆角吧,公司主要專註於三維幾何的計算處理,包括曲面匹配、三維人臉識別、動態曲面跟蹤、形狀分析、表情模擬等各種演算法。

現在的人臉識別可以理解為是計算機視覺和機器學習的結合,但是3D的人臉識別那就是涉及到包括了計算機圖形學再加機器學習的應用了。


2. 用深度學習做圖像修復或者圖像渲染

近期的一個例子,用了TensorFlow+DCGAN(生成對抗模型)做的圖像修復,深度|如何在?TensorFlow?中用深度學習修復圖像?(附論文)

-------廣告分割線,順一則廣告,反正有興趣的就加我,沒興趣的就繞道就好---------

我司組織了一個計算機視覺的開發者交流微信群,目標是彙集【計算機視覺,圖像處理,3D圖像,視頻處理,深度學習,機器學習】的開發者,一起分享開發經驗,共同探討技術,有興趣入群的可以加我微信(WeChat: LaurenLuoYun,二維碼如下),請註明「姓名-公司/學校-技術方向-加群」(純交流的無需添加「加群」),謝謝。


借用一句圖形學著名學者liyi wei的話"machine learning is a tool instead of a field to me"。

題主如果讀過一些文章,其實就能知道所謂的圖形學跟機器學習的結合的文章實在太多了,多到數都數不清。如果你將機器學習做為一種工具,那麼它跟數學中的數值方法,最優化無異,在若干年前就在圖形學領域中被廣泛使用。圖形學中的任何子領域,建模,渲染,模擬,動畫,幾何,都可以結合機器學習進行研究。其中任何涉及到的函數,某些輸入到某些輸出的映射,你都可以使用與問題適用的機器學習演算法去訓練,去擬合,只要效果夠好,就是一個好的工作。

當然,對機器學習演算法進行修改創新,使其對你所做的圖形學演算法的表現更好,這是更好的工作。如題主所說的深度學習,據我所知,目前還是更適合做2d image的問題。那麼怎麼處理複雜的數據,比如3d幾何,模擬數據,這些都是值得研究的問題。近些年來其實在這兩塊也有很多SIGGRAPH paper了。

當然對於機器學習,大家的看法也不完全一樣。比如同是著名學者,usc的hao li就認為"learning is the key!".


2015年SIGGRAPH Asia 有一篇用機器學習搞流體的,貌似是回歸森林。名字記不清了,建議去看一下。
-------------------------------------------------------------------------------------------------------------------------------
找到了,Data-driven Fluid Simulations using Regression Forests https://cgl.inf.ethz.ch/Downloads/Publications/Papers/2015/Jeo15a/Jeo15a.pdf


我覺得可以利用3d模擬環境來生成大量訓練數據用於訓練深度學習網路


來個一圖勝千言萬語


可以做三維生物角色模型組合,通俗的說就是給你一堆的三維的生物模型,然後通過這組模型組合出更多的生物模型。這裡面可以做的工作就很多了,首先你要將三維模型語義分割,這種已經有很好的paper做的不錯,但組合不錯的文章就比較少了,要考慮的東西太多,什麼樣的部件適合連接在一起,怎麼連接比較平滑,最後合成的生物模型怎樣比較好看,都是可以通過機器學習的方法去處理這些模型的幾何特徵或者還可以加上情感特徵 比如這個生物是溫順還是兇惡,進而得出比較好的推薦組合策略,個人覺得還是挺有意思的。
但感覺好難啊 圖形學代碼太難寫了,特徵數據量太大了,好的特徵太難找了,結果打了個醬油,做了個模型組合工具就畢業了,不過裡面可挖掘的東西真的好多,對了,我覺得幾何特徵跟情感特徵的關聯性研究很有意思。 好久不寫圖形學代碼了,心酸。(☆_☆)(☆_☆)(☆_☆) 這些坑還是要靠你們這些聰明人去踩,你不知道我搞了好久搞的心力憔悴了都。摔 (☆_☆)(☆_☆)(☆_☆)
以上。我隨便亂說的。入坑需謹慎。(☆_☆)(☆_☆)(☆_☆)


waifu2x 這個福利。


ML-&>CG:用ML替代傳統方法做某些CG問題
CG-&>ML:用CG圖訓網路,省得加label了


來源:Deep learning algorithm paints smooth-moving works of art
原圖為blender里製作的
=========
有空再仔細編輯。。。
多圖殺貓 照顧未翻牆黨和手機黨,視頻有空再搬b站。。

========

====

====失敗例子

========
原理 額外加上

z深度檢測
===根據論文轉換的視頻

http://www.genekogan.com/works/style-transfer.html
==================
論文關鍵詞 劃掉 :#ManuelRuder,#deeplearning ,#deepart
=============
額外說一下http://deepart.io這個網址的,當然沒有足夠的數據,效果差很多
=====
動畫直接用,當然fail了:用深度學習鬼畜哆啦A夢_野生技術協會_科技_bilibili_嗶哩嗶哩彈幕視頻網
=====


北大汪國平這方面做的不錯,可以看看


推薦閱讀:

SVM和logistic回歸分別在什麼情況下使用?
有沒有傻瓜化的機器學習界面?
該不該堅持學習Machine Learning?
用 Python 進行數據分析,不懂 Python,求合適的 Python 書籍或資料推薦?
如何評價谷歌的「人工智慧先行」(AI First)戰略?

TAG:機器學習 | 神經網路 | 計算機圖形學 | 深度學習(Deep Learning) |