當前位置:
首頁 > 最新 > 從洪荒到智能——數據驅動的材質屬性建模發展歷程

從洪荒到智能——數據驅動的材質屬性建模發展歷程

如果我告訴你,計算機圖形學早在10年前就開始用機器學習了,你可能會不信。畢竟機器學習這個概念是在2012年左右才火起來的,並藉由深度學習的東風一吹,現在頗有燎原之勢;計算機圖形學本來就跟機器學習八竿子打不著,怎麼可能在10年前就做機器學習?

"我讀paper少,你不要騙我!"

當然,這也難怪,畢竟在人工智慧飛速發展的今天,三個月前的paper可能已經是舊的技術,兩三年前的架構都需要「學術考古」才能溯本清源了,自然不會有人去想10年前,甚至是15年前的圖形學論文。其實,在圖形學中,機器學習的方法早有應用,只是那個時候還不叫機器學習,而是更加淳樸地叫「數據驅動」的方法而已。

今天,我們就沿著數據驅動這條主線,從「學術考古」開始,挖一挖早年間的圖形學中的機器學習技術。並以微軟亞洲研究院網路圖形組在數據驅動圖形學方向上的幾份工作作為例子,講一講數據驅動圖形學的發展歷史。限於篇幅和筆者能力所限,本文僅僅圍繞材質屬性建模這一圖形學中的子問題進行討論,其實在圖形學很多其他方向,也有大量的數據驅動的做法。

既然提到所謂的材質屬性建模,我們就先來講講什麼是材質屬性建模。在圖形學的專業領域,材質屬性又稱為「表觀(Appearance)」,本意指的是表象上的、外觀上的屬性,故稱之為表觀。從科學的角度定義,圖形學中的表觀(Appearance)是描述光線如何在物體表面和內部進行交互的一種性質,例如,在不透明表面,光線如何進行反射,反射後的能量如何衰減;以及在半透明表面,光的能量如何在物體內部進行傳播,這些都是表觀要描述的。我們可以看到,這些性質,其實都是和物體的材質屬性有關的,比如金屬和石膏的表面反射自然就會不同,因此便於大家更好理解,本文就以材質屬性來代替所謂 「表觀」這一概念。

洪荒時代,機器學習,數據當先——早期表觀數據採集方法

我們知道,機器學習的方法往往需要有大量的數據作為「知識」,因此為了做好機器學習我們首先需要準備好大量的材質屬性數據。早期的數據採集方法多是基於burte-force sampling。之前,我們對「burte-force」還真是沒有什麼太優美的翻譯,不過現在我們有了一個特別合適的說法——「洪荒之力」。那麼就讓我們回到那個洪荒年代,看看早期的數據採集是怎麼做的。

早在2003年,數據驅動圖形學的先驅者之一Wojciech Matusik等人 [Matuski et al. 2003]在2003年就做出了驚人之舉,利用「洪荒之力(brute-force sampling)」的方法一舉獲得了100個不同材質的表面反射屬性。為了能夠完整地獲取光線在某一特定材質屬性表面的反射性質,我們需要測量在不同入射光和出射光方向的組合情況下光線衰減的比率。如果我們把入射和出射方向的角度離散化到1°的話,即使考慮了光線可逆等性質,削減冗餘的數據,對於一個材質而言,也要有90x90x360這樣上百萬個數據點。為了採樣這些數據,Matusik等人設計了一個具有兩個懸臂的巨大機械設備,自動拍攝一個球形物體在不同光照和視角下的照片,從而獲得所需要的數據。這種做法,不僅需要巨大的設備,同時還要手工打造100個均質材料的球體。想想當年Matusik等人還真是下了苦功夫才做出了這100個材質數據。直至今日,大家說起做表面反射屬性,總還是會提到這100個材質數據,也就是大名鼎鼎的MIT-MERL BRDF。

圖1 大名鼎鼎的MERL MIT BRDF數據集,及其採集設備

這種洪荒式的數據採集,可以說是數據驅動建模方法的一個開端。這就好比是現在人工智慧中的數據標定,沒有ImageNet和MS CoCo這樣的大規模數據集,再好的機器學習演算法也是白搭。因此,為了能登上數據驅動圖形學這條船,洪荒之力的船票還是需要的。微軟亞洲研究院的網路圖形組也是認定了這一方向,專門配置了數據採集實驗室,配置了昂貴的數據材質設備。磨刀不誤砍柴功,基於這些採集到的海量數據,網路圖形組也做出了很多知名的早期工作,如Modeling and Rendering of Quasi-Homogeneous Materials、SubEdit: a representation for editing measured heterogeneous subsurface scattering等一系列優秀的SIGGRAPH論文。

圖2 微軟亞洲研究院網路圖形組的表觀數據採集設備

當年我也有幸親眼見證了一次利用「洪荒之力」採集半透明材質屬性(BSSRDF)的過程,那時對於每一個材料樣本,都要拍攝數萬張的照片。每次數據採集,相機都會在程序自動控制的情況下進行長達數十個小時的連續拍攝。依稀記得當年為了拍攝所有的BSSRDF數據,組裡的單反相機在一個月內換了兩次快門。連相機的維修人員都驚詫於我們是怎麼能在這麼短時間內(保修期之內)用壞相機快門的。現在回想起來,這類方法真的算是用上「洪荒之力」了。當然,值得慶賀的是,藉由分析這些「洪荒」來的大量數據,得出了很多重要結論,並發表在2009年的SIGGRAPH會議上 [Song et al. 2009]。另外,這一數據也多次被其他科研項目所應用,那幾個可憐的單反相機做出的犧牲也算是值得了。

模型決定效率——基於數據相關性的建模方法

看過前面這種洪荒式的數據採集方法,我想大部分人也能明白,這種做法是不適用於一般應用的。為了科研拚命採集幾十個數據尚且可以接受,但是要讓一般用戶接受,還是需要極大地簡化採集數據的規模。因此,如何分析和利用數據本身所具有的特性,對數據進行建模,進而減少所需要採集數據的規模,就成為數據驅動建模研究的精要之處。用最簡單的說法就是「模型決定效率」,有什麼樣的模型,就決定了所需要採集數據的規模。這裡,我們以微軟亞洲研究院做得最多的物體表面反射紋理這一工作為例,分析在幾篇論文中是如何利用不同的模型來實現高效的數據採集的。

這裡值得注意的是,我們需要採集的是一個具有空間分布的材質屬性,對於空間中的每一個點,它的材質屬性都是不一樣的。因此,在下文中,我們用材質屬性(BRDF)來特指在空間中每一個點的材質性質,表現為一種角度分布(不同的入射光、出射光方向的反射率),而用紋理來特指這些材質屬性在空間上的分布(Spatial-distributions,,不同區域的不同材質)。

圖3 物體表面材質是由非常有限的材質構成的

我們知道,對一般的物體表面而言,雖然其表面材質具有非常複雜的空間紋理變化,但是仔細觀察會發現,其實每一個物體表面上所具有的材質數目是非常有限的。比如上圖中這個絲綢的材質,從大類上看,僅有金色和紅色兩種絲綢材質而已,即使算上細節的變化,整個表面的材質也不會超過幾十種。這個數量比起用「洪荒法」獨立處理每一個表面位置的材質而言,數目少了多個數量級。因此,如何利用這一性質,並進行建模就成了提高採集效率的關鍵。這裡的一個核心問題就是,如何找到空間中不同位置上具有相同(或相似)材質的點。而且,更重要的是,我們需要利用具有相同材質的不同的點所具有的不同性質(如不同的相對相機、光源位置等)來為我們提供更多的信息。因此,我們就需要尋找表象上並不相近(相機觀察到的數值),而本質上確是同一個材質(材質屬性)的一組點;由於他們的表象並不相近,想要找出內涵上的相似性並非易事。

最直接的方法就是,先部分套用「洪荒法」,在一個固定的視角上採集足夠多數據,然後利用這些數據,在每個像素點上都重構一些「部分材質屬性 partial-BRDF」,利用這些部分屬性作為媒介,在整個材質表面尋找具有相似材質的點 [Wang et al. 2008]。進而綜合這些點所具有的信息,統一計算出它們對應的完整的材質屬性。這樣雖然能夠利用數據的相關性減少採集所需要的圖像數量,但是最初部分洪荒採集還是需要花費不少功夫,一個高質量的數據依然需要數個小時的數據採集過程。

前面的方法是先嘗試找到不同的「部分數據」而後拼接起來,而另一種直觀的思路則是先用一些技巧直接獲得對於某一材質所特定的那幾種單點材質屬性(BRDF),而後僅僅需要決定這些材料的紋理(空間分布 Spatial-distributions)就好了 [Dong et al. 2010]。如果有完整的材質屬性作為媒介,我們就利用這個已知的材質屬性(BRDF),計算出這個材質在不同空間位置應有的反射響應,進而推算出哪些空間中的像素是具有同樣材質屬性的。因此,我們設計了一個兩步走的數據採集方法—— 設計並製造了一種專門採集某一單點上材質屬性的設備。利用專門設計的光學系統,這一設備可以非常快速地採集單點材質屬性;而後,利用採集到的這些單點材質作為媒介,我們僅需要拍攝少數幾張照片即可重建整個材質樣本的完整材質屬性(SVBRDF)。

我們還進一步發現,對於一個特定材質而言,其表面的材質屬性其實可以表示為一些少數具有代表性的材質屬性(representative BRDF)所構成的一個低維流型(Manifold),這個流型模型比傳統的全局線性模型具有更少的自由度,可以利用更少的參數刻畫一個樣本具有空間分布的反射屬性(SVBRDF)。因此,這一模型也進一步減少了所需採集圖像的數目。利用數據採集的兩步法,加上這個流型模型,我們將採集一個材質樣本材質屬性的時間減少到了幾十分鐘。

雖然這一方法能極大地減少採集數據的成本,但是需要一個專門設計的光學設備還是極大地制約了這一方法的適用範圍。為解決這一問題,我們進一步設計了同時求解代表性材質屬性(representative BRDF)以及紋理空間分布(spatial distribution)的方法,一舉解決了難以確定哪些空間上的點具有相似材質屬性的問題。將「兩步走」改進為「一步走」,在減少了採集設備複雜度的同時,依然保持了僅需少量圖像的優勢。

在最初的嘗試中,我們採用了相對易於優化的全局線性模型,並利用傳統低秩矩陣優化(Low-rank optimization)的方法進行求解 [Chen et al. 2014]。為了進一步減少採集圖像的數目,我們提出了儘可能精簡化(Sparse-as-possible)模型,也就是儘可能用精簡的方式去解釋所觀察到的內容,盡量用簡單的少數幾個代表性材質線性表示觀察到的數據,精簡模型的複雜度。相比全局線性模型而言,這一精簡化模型可以進一步壓縮所需要採集圖像的數目,對於一個一般的物體,僅需要花幾分鐘採集幾張到幾十張照片即可實現高質量的材質重建 [Zhou et al. 2016]。

圖4 利用Sparse-as-possible模型採集的材質進行渲染的結果

讓計算機變成藝術家

前面介紹了多種數據驅動的紋理材質採集方法,但走的都是傳統數據驅動的路子——通過分析和利用數據上的一些特殊結構,對數據進行建模,進而減少數據採集的數目。然而,在計算機圖形學中,其實還有另外一種紋理材質建模方法,就是用藝術家的手去繪製出所有的紋理材質屬性。現在電影特效和遊戲行業中的大部分紋理材質,其實依然是藝術家手工加工繪製出來的。藝術家根據自己的豐富經驗,可以從一張簡單的照片出發,對照片進行種種處理,最終繪製出紋理材質對應的不同屬性,並可以用於圖像渲染。隨著人工智慧、深度學習等技術的飛速發展,現在能不能通過「訓練」計算機,讓計算機也變成像藝術家一樣,可以根據輸入的照片就「繪製」出所對應的材質屬性呢?答案當然是可以的。但是,這個目標依然面臨著很多的技術挑戰。

我們知道,機器學習需要大量的訓練數據,只有計算機「學習」了這些訓練數據,並掌握了其中的規律,才能做到舉一反三,完成給定的智能任務。但是,對於紋理材質屬性這一問題而言,我們能夠獲得的訓練數據少之又少。為了能讓計算機學會從普通的照片就能繪製出對應的紋理材質,需要大量的與已知紋理材質對應的照片。這個數據集還需要足夠大,換句話說,我們需要這個訓練數據能夠涵蓋絕大多數的紋理材質變化。而現有的紋理材質資料庫還遠遠達不到所需要的規模。

雖然現有的紋理材質資料庫非常有限,但是紋理照片卻非常多。這些照片雖然沒有對應的紋理材質信息,但卻也反應了紋理本身的部分信息,尤其是紋理的空間分布基本都被照片所涵蓋。為了利用這些海量的未標定的照片來進行機器學習,我們設計了自增強訓練的方法(Self-augmented training)。與傳統的機器學習方法一樣,我們依然需要訓練一個卷積神經網路(CNN),這個CNN的輸入是普通的紋理照片,輸出則是對應的紋理材質屬性。自增強訓練採用了一種特殊的CNN訓練方式,區別於傳統利用標註的輸入輸出對作為訓練數據的訓練方法,自增強訓練利用當前尚未訓練好的CNN來對未標定的數據進行測試。當然,由於現在CNN還沒有訓練好,測試結果肯定不能作為正確的標定用來訓練。但是,我們對材質屬性估計這個問題的逆問題,也就是紋理材質屬性的渲染,具有完整的知識。因此,可以用這個中間測試結果得到的材質屬性,配合現有的材質渲染程序,生成一個當前中間結果的材質屬性和其對應的渲染結果(照片)的數據對,這一數據對是完好保持紋理照片和紋理屬性這一對應關係的「正確標定數據對」,因此我們就可以放心地利用這一自增強出來的數據來進行訓練了。

圖5 自增強訓練的基本流程

雖然這個中間測試結果可能距離真實的材質屬性尚有距離,但是這個自增強學習過程是隨著CNN的訓練更新的。因此,當CNN被訓練得更好的時候,我們就可以得到更高質量的自增強數據,可以進一步去改進CNN,進行進一步訓練。

利用這一自增強訓練的方法,我們可以用非常少的標定數據,配合海量的未標定數據來進行訓練。僅需要幾十個標定過的紋理數據,配合數千張未標定的照片,即可訓練出一個能夠有效估計具有空間分布的材質紋理(SVBRDF)的CNN。針對某一種特定材料(如金屬、木頭或塑料),我們的CNN可以根據一張普通的紋理照片估計出漫反射貼圖(diffuse map)、法向貼圖(normal map)、均質的光滑度(roughness)和高光反射強度(specular coefficient)。

另外,我們還在單一材質屬性(BRDF)估計這一相對簡單的問題上,做出了更詳細地分析,討論了自增強訓練的優勢,以及如何最有效地進行自增強訓練等。[Li et al. 2017]

總結

通過回顧傳統數據驅動的圖形學發展過程,以及對最新的利用深度學習方法進行機器學習的介紹,相信大家能夠對數據驅動的圖形學有了進一步認識,如果你希望能更深入地了解其中所介紹的具體方法,就去仔細研讀一下相關的論文吧,相信你一定會有更多收穫的。也歡迎大家在文章下方留言與我們交流討論。

參考文獻

Wojciech Matusik, Hanspeter Pfister, Matthew Brand, and Leonard McMillan. 2003. Efficient isotropic BRDF measurement. In Proceedings of the 14th Eurographics workshop on Rendering (EGRW 03). Eurographics Association, Aire-la-Ville, Switzerland, Switzerland, 241-247.

http://people.csail.mit.edu/wojciech/EfficientMeasurement/index.html

Ying Song, Xin Tong, Fabio Pellacini, and Pieter Peers. 2009. SubEdit: a representation for editing measured heterogeneous subsurface scattering. In ACM SIGGRAPH 2009 papers (SIGGRAPH 09), Hugues Hoppe (Ed.). ACM, New York, NY, USA, , Article 31

https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/subedit_final-2.pdf

Jiaping Wang, Shuang Zhao, Xin Tong, John Snyder, and Baining Guo. 2008. Modeling anisotropic surface reflectance with example-based microfacet synthesis. In ACM SIGGRAPH 2008 papers (SIGGRAPH 08). ACM, New York, NY, USA, , Article 41

http://shuangz.com/projects/aniso-sg08/

Yue Dong, Jiaping Wang, Xin Tong, John Snyder, Yanxiang Lan, Moshe Ben-Ezra, and Baining Guo. 2010. Manifold bootstrapping for SVBRDF capture. ACM Trans. Graph. 29, 4, Article 98

http://yuedong.shading.me/project/bootstrap/bootstrap.htm

Guojun Chen, Yue Dong, Pieter Peers, Jiawan Zhang, and Xin Tong. 2014. Reflectance scanning: estimating shading frame and BRDF with generalized linear light sources. ACM Trans. Graph. 33, 4, Article 117 (July 2014).

http://yuedong.shading.me/project/refscan/refscan.htm

Zhiming Zhou, Guojun Chen, Yue Dong, David Wipf, Yong Yu, John Snyder, and Xin Tong. 2016. Sparse-as-possible SVBRDF acquisition. ACM Trans. Graph. 35, 6, Article 189 (November 2016).

http://yuedong.shading.me/project/sparsesvbrdf/sparsesvbrdf.htm

Xiao Li, Yue Dong, Pieter Peers, and Xin Tong. 2017. Modeling Surface Appearance from a Single Photograph using Self-augmented Convolutional Neural Networks. ACM Trans. Graph. 36, 4, Article 45 (July 2017)

http://msraig.info/~sanet/sanet.htm


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 微軟亞洲研究院 的精彩文章:

以數據的名義——淺談三維幾何的處理與分析(下)

TAG:微軟亞洲研究院 |

您可能感興趣

聚碳酸酯塑料、金屬、玻璃,淺談手機材質的發展
魅族摺疊屏專利曝光 受制於屏幕材質 能否成為趨勢並不明朗
手錶防水性能、材質科普
不變的材質 多變的體驗
鑄鐵發動機&鑄鋁發動機 到底哪種材質更適合汽車?
人物雕塑——最普通的材質成就偉大的創作
運動旅行必備腰包,時尚潮流多功能,萊卡材質,彈性十足不變形!
古代鎧甲的形制變化與使用材質
用野獸的尿液或油脂作為淬火材質?古代刀劍工藝發展的辛酸史
創建新的表面材質
不同形制、材質與題材的多寶古珠
金屬、聚合物還是混合材質?美國槍械作家細說不同彈匣的優劣
原木、皮質等柔和的天然材質,使「黑白灰」也能散發出溫暖
美國認為技術難度最大的武器,空天飛機難在哪裡?技術和材質問題
玻璃材質的淋浴房質量好嗎?
淺聊音箱箱體材質與音質的關係
轉向系統與車身材質的輕量化處理
「鈦」有魅力 新興材質鈦金屬腕錶推薦
燈光材質渲染練習……
鍛件材質的控制