leiphone 魏秀参
電腦視覺(Computer Vision,CV)是一門研究如何使機器「會看」的科學。1963年來自MIT的Larry Roberts發表了該領域第一篇博士論文《Machine Perception of Three-Dimensional Solids》,標誌著CV作為一門新興人工智慧方向研究的開始。
在發展了50多年後的今天,我們就來聊聊最近讓電腦視覺擁有「無中生有」能力的幾個有趣嘗試:
1 超解析度重建;
2 圖像著色;
3 看圖說話;
4 人像復原;
5 圖像自動生成。
可以看出,這五個嘗試層層遞進,難度和趣味程度也逐步提升。由於篇幅有限,本文在此只談視覺問題,不提太過具體的技術細節,若大家對某部分感興趣,以後再來單獨寫文章討論。
超解析度重建(Image Super-Resolution)
去年夏天,一款名為「waifu 2x」的日本應用在,動畫和電腦圖形學中,著實火了一把。Waifu 2x借助深度「卷積神經網路」(Convolutional Neural Network,CNN)技術,可以將圖像的解析度提升2倍,同時還能對圖像進行降噪。
簡單來說,就是讓電腦「無中生有」地填充一些原圖中並沒有的像素,從而讓漫畫看起來更清晰真切。大家不妨看看圖1、圖2,真想童年時候看的就是如此高清的龍珠啊!
圖1 《龍珠》超解析度重建效果。右側為原畫,左側為waifu 2x對同幀動畫超分辨率重建結果
圖2 waifu 2x超解析度重建對比,上方為低解析度且有噪聲的動畫圖像,左下為直接放大的結果,右下為waifu 2x去噪和超解析度結果
不過需要指出的是,圖像超解析度的研究始於2009年左右,只是得力於「深度學習」的發展,waifu 2x才可以做出更好的效果。在具體訓練CNN時,輸入圖像為原解析度,而對應的超解析度圖像則作為目標,以此構成訓練的「圖像對」(Image Pair),經過模型訓練便可得到超解析度重建模型。
waifu 2x的深度網路原型,基於香港中文大學湯曉歐教授團隊的成果(如圖3所示)。有趣的是,這一研究指出可以用傳統方法,給予深度模型以定性的解釋。在圖3中,低解析度圖像通過CNN的卷積(Convolution)和池化(Pooling)操作後,可以得到抽象後的特徵圖 (Feature Map)。
基於低解析度特徵圖,同樣可以利用卷積和池化實現,從低解析度到高解析度特徵圖的非線性映射(Non-Linear Mapping)。
最後的步驟則是利用高解析度特徵圖,重建高解析度圖像。實際上,這三個步驟與傳統超解析度重建方法的三個過程是一致的。
圖3 超分辨率重建算法流程。從左至右依次為:低分辨率圖像(輸入)、經過若干卷積和池化操作得到的低分辨率特徵圖、低分辨率特徵圖經過非線性映射得到的高分辨率特徵圖、高分辨率重建圖像(輸出)
圖像著色(Image Colorization)
顧名思義,圖像著色是將原本「沒有」顏色的黑白圖像,進行彩色填充。圖像著色同樣借助卷積神經網路,輸入為黑白和對應彩色圖像的「圖像對」,但僅僅通過對比黑白像素和RGB像素,來確定填充的顏色,效果欠佳。
因為顏色填充的結果,要符合我們的認知習慣,比如,把一條「汪星人」的毛塗成鮮綠色,就會讓人覺得很怪異。
於是近期,早稻田大學發表在2016年電腦圖形學國際頂級會議,SIGGRAPH上的一項工作,就在原來深度模型的基礎上,加入了「分類網路」來預先確定圖像中物體的類別,以此為「依據」,再做以顏色填充。
圖4就分別展示了模型結構圖和顏色恢復示例,其恢復效果還是頗為逼真的。另外,此類工作還可用於黑白電影的顏色恢復,操作時只需簡單將影像中逐幀拿來做著色即可。
圖像著色(Image Colorization)
顧名思義,圖像著色是將原本「沒有」顏色的黑白圖像,進行彩色填充。圖像著色同樣借助卷積神經網路,輸入為黑白和對應彩色圖像的「圖像對」,但僅僅通過對比黑白像素和RGB像素,來確定填充的顏色,效果欠佳。
因為顏色填充的結果,要符合我們的認知習慣,比如,把一條「汪星人」的毛塗成鮮綠色,就會讓人覺得很怪異。
於是近期,早稻田大學發表在2016年電腦圖形學國際頂級會議,SIGGRAPH上的一項工作,就在原來深度模型的基礎上,加入了「分類網路」來預先確定圖像中物體的類別,以此為「依據」,再做以顏色填充。
圖4就分別展示了模型結構圖和顏色恢復示例,其恢復效果還是頗為逼真的。另外,此類工作還可用於黑白電影的顏色恢復,操作時只需簡單將影像中逐幀拿來做著色即可。
圖4 圖像著色的深度學習網絡結構和效果。輸入黑白圖像後即分為兩支,上側一支用於圖像著色,下側一支用於圖像分類。在圖中紅色部分(Fusion layer),兩支的深度特徵訊息進行融合,由於包含了分類網路特徵,因此可以起到「用分類結果為依據輔助圖像著色」的效果
看圖說話(Image Caption)
人們常說「圖文並茂」,文字是除圖像之外另一種描述世界的方式。近期,一項名為「Image Caption」的研究逐漸升溫起來,其主要目的是通過電腦視覺和機器學習的方法,實現對一張圖像自動地生成人類自然語言的描述,即「看圖說話」。
一般來講,在Image Caption中,CNN用來獲取圖像的特徵,接著將圖像特徵作為語言模型LSTM(RNN的一種)的輸入,整體作為一個End-to-End的結構,進行聯合訓練,最終輸出對圖像的語言描述(如圖5所示)。
看圖說話(Image Caption)
人們常說「圖文並茂」,文字是除圖像之外另一種描述世界的方式。近期,一項名為「Image Caption」的研究逐漸升溫起來,其主要目的是通過電腦視覺和機器學習的方法,實現對一張圖像自動地生成人類自然語言的描述,即「看圖說話」。
一般來講,在Image Caption中,CNN用來獲取圖像的特徵,接著將圖像特徵作為語言模型LSTM(RNN的一種)的輸入,整體作為一個End-to-End的結構,進行聯合訓練,最終輸出對圖像的語言描述(如圖5所示)。
圖5 Image Caption網路結構。圖像作為輸入,首先經過微調後的多標記(Multi-Label)分類網路得到預測的類別標籤,並以此連同圖像的深度特徵,作為下方語言模型LSTM的輸入,最終進行聯合訓練。下圖左一可完成Image Caption任務,左2為單個單詞圖像問答任務,右1為句子級別的圖像問答任務
人像復原(Sketch Inversion)
就在六月初,荷蘭科學家在arXiv上發佈了他們的最新研究成果——通過深度網路對人臉輪廓圖進行「復原」。
如圖6所示,在模型訓練階段,首先對真實的人臉圖像利用傳統的線下邊緣化方法,獲得對應人臉的輪廓圖,並以原圖和輪廓圖組成的「圖像對」作為深度網路的輸入,進行類似超解析度重建的模型訓練。
在預測階段,輸入為人臉輪廓(左二Sketch),經過卷積神經網路的層層抽象,和後續的「還原」操作,可以逐步把像片般的人臉圖像復原出來(右一),與最左邊的人臉真實圖像對比,足夠以假亂真。
在模型流程圖下,還另外展示了一些人像復原的結果,左側一列為真實人像,中間列為畫家手工描繪的人臉輪廓圖,並以此作為網路輸入,進行人像復原,最終得到右側一列的復原結果——目測以後刑偵警察再也不用苦練美術了。
人像復原(Sketch Inversion)
就在六月初,荷蘭科學家在arXiv上發佈了他們的最新研究成果——通過深度網路對人臉輪廓圖進行「復原」。
如圖6所示,在模型訓練階段,首先對真實的人臉圖像利用傳統的線下邊緣化方法,獲得對應人臉的輪廓圖,並以原圖和輪廓圖組成的「圖像對」作為深度網路的輸入,進行類似超解析度重建的模型訓練。
在預測階段,輸入為人臉輪廓(左二Sketch),經過卷積神經網路的層層抽象,和後續的「還原」操作,可以逐步把像片般的人臉圖像復原出來(右一),與最左邊的人臉真實圖像對比,足夠以假亂真。
在模型流程圖下,還另外展示了一些人像復原的結果,左側一列為真實人像,中間列為畫家手工描繪的人臉輪廓圖,並以此作為網路輸入,進行人像復原,最終得到右側一列的復原結果——目測以後刑偵警察再也不用苦練美術了。
圖6 人像復原算法流程及效果
圖像自動生成
回顧剛才的四個工作,其實它們的共同點是仍然需要依靠一些「素材」方可「無中生有」,例如「人像復原」還是需要一個輪廓畫,才可以恢復人像。接下來的這個工作,則可以做到由任意一條隨機向量,生成一張逼近真實場景的圖像。
「無監督學習」可謂是電腦視覺領域的聖杯。最近該方向的一項開創性工作是由Ian Goodfellow和Yoshua Bengio等提出的「生成對抗網路」(Generative Adversarial Nets, GAN)。
該工作的靈感來自博弈論中的零和博弈。在二元零和博弈中,兩位博弈方的利益之和為零或一個常數,即一方有所得,另一方必有所失。而GAN中的兩位博弈方分別由一個「判別式網路」和一個「生成式網路」充當,如圖7所示。
圖像自動生成
回顧剛才的四個工作,其實它們的共同點是仍然需要依靠一些「素材」方可「無中生有」,例如「人像復原」還是需要一個輪廓畫,才可以恢復人像。接下來的這個工作,則可以做到由任意一條隨機向量,生成一張逼近真實場景的圖像。
「無監督學習」可謂是電腦視覺領域的聖杯。最近該方向的一項開創性工作是由Ian Goodfellow和Yoshua Bengio等提出的「生成對抗網路」(Generative Adversarial Nets, GAN)。
該工作的靈感來自博弈論中的零和博弈。在二元零和博弈中,兩位博弈方的利益之和為零或一個常數,即一方有所得,另一方必有所失。而GAN中的兩位博弈方分別由一個「判別式網路」和一個「生成式網路」充當,如圖7所示。
圖7 生成式網路和判別式網路
其中,「判別式網路」的輸入為圖像,其作用為判斷一張圖像是真實的,還是由電腦生成的像;「生成式網路」的輸入,為一條隨機向量,可以通過網路「生成」一張合成圖像。這張合成圖像亦可作為「判別式網路」的輸入,只是此時,在理想情況下,應能判斷出它是由電腦生成的。
接下來,GAN中的零和博弈就發生在「判別式網路」和「生成式網絡路上:「生成式網路」想方設法的讓自己生成的圖像,逼近真實圖像,從而可以「騙過」「判別式網路」;而「判別式網路」也時刻提高警惕,防止「生成式網路」蒙混過關……你來我往,如此迭代下去,頗有點「左右互搏」的意味。
GAN整個過程的最終目標,是習得一個可以逼近真實數據分布的「生成式網路」,從而掌握整體真實數據的分布情況,因此取名「生成對抗網路」。需要強調的是,GAN不再像傳統的監督式深度學習那樣,需要海量帶有類別標記的圖像,它不需任何圖像標記即可訓練,也就是進行無監督條件下的深度學習。
2016年初,在GAN的基礎上,Indico Research和Facebook AI實驗室將GAN用深度卷積神經網路實現(稱作DCGAN,Deep Convolutional GAN),工作發表在國際表示學習重要會議ICLR 2016上,並在無監督深度學習模型中,取得了當時最好的效果。圖8展示了一些由DCGAN生成的臥室圖像。
圖8 DCGAN生成的臥室圖像
更為有趣的是,DCGAN還可以像word2vec一樣支持圖像「語義」層面的加減(如圖9所示)。
圖9 DCGAN「語義加減」示意
另外,前些天「生成式電腦視覺」研究領域大牛UCLA的Song-Chun Zhu教授團隊,發佈了他們基於生成式卷積網路的最新工作STGConvNet:它不僅可以自動合成動態紋理,同時還可以合成聲音,可以說將無監督電腦視覺又向前推進了一大步。
結語
如今借著「深度學習」的東風,電腦視覺中絕大多數任務的性能表現都被「刷」上了新高,甚至連「人像復原」,「圖像生成」類似「無中生有」的奇談,都可以較高質量地實現,著實讓人激動不已。
不過儘管如此,事實上距離所謂的顛覆人類的AI「奇點」還相當遙遠,並且可以預見,現階段甚至相當長的一段時間內,電腦視覺或人工智慧還不可能做到真正意義上的「無中生有」——即擁有「自我意識」。
但是,也非常慶幸我們可以目睹,並且經歷這次電腦視覺,乃至是整個人工智慧的革命浪潮,相信今後還會有很多「無中生有」的奇跡發生。站在浪潮之巔,我興奮不已、徹夜難眠。
沒有留言:
張貼留言