1
本文作者: 黃鑫 | 2016-07-19 01:28 |
來自伯克利大學(xué)和麻省理工學(xué)院的三名研究者Richard Zhang、Phillip Isola、Alexei A. Efros日前給出了深度學(xué)習(xí)在另一個特定領(lǐng)域的研究進展,開發(fā)了一套可以通過深度學(xué)習(xí)自動學(xué)會幫黑白圖片上色的技術(shù)。從給出的示例來看,這項技術(shù)的準確性還是比較高的。說到這些技術(shù)的應(yīng)用,讓許多承載著回憶的老照片煥發(fā)新生是它能做的極好的貢獻之一。
值得注意的是,這個算法是在算法應(yīng)用平臺Algorithmia上的,雷鋒網(wǎng)之前報道過這個平臺,它的主要作用就是讓算法的開發(fā)者將他們開發(fā)出來的算法托管在平臺上,而APP的開發(fā)者等需要算法的人就可以很方便的通過幾條簡單的指令就調(diào)用上面存儲著的算法,這樣就能達到一個研究成果最大化利用的目的。
研究小組表示,他們給算法制定的目標——為隨意給出的黑白照片上色,很明顯條件過于寬泛,因此之前的類似算法要么需要用戶很多的干涉,要么生成的照片的顏色飽和度往往相當?shù)?。而他們通過將算法設(shè)定為一個分類任務(wù)并且在訓(xùn)練時使用重分類方法來增加了圖像顏色的多樣性。他們?yōu)樗惴ㄔO(shè)計了一個類似于圖靈測試的“顏色圖靈測試”,用來評估算法的效果。讓受試者區(qū)分攝制了同樣物體的照片,哪張是真的哪張是程序生成顏色的結(jié)果。結(jié)果他們的方法成功騙過了20%的人,這個結(jié)果要顯著高于之前的方法。
上圖是這個算法的網(wǎng)絡(luò)結(jié)構(gòu),每個卷積層(conv layer)都代表著由2到3個重復(fù)的卷積和整流線性單元(ReLU)層組成的區(qū)塊,最后是一個BatchNorm層。整個網(wǎng)絡(luò)沒有池化層。分辨率的變化是由卷積塊之間的空間縮減取樣或不取樣實現(xiàn)的。
研究團隊在他們的論文中介紹,在圖像本身的信息之外,該方法的靈感倒主要來源于它的語義學(xué)特征和其中物體的表面提供的線索,在實例中通常意味著圖像標簽(label)所含有的信息:如草一般都是綠的,天一般都是藍的等。雖然這個規(guī)律并不一定是通用的,但是事實上,要讓一幅圖變成漂亮的彩色,并不意味著它的著色一定要跟現(xiàn)實中的顏色一模一樣,很多時候只要顏色的相對關(guān)系看起來合理,就足夠騙過人類的眼睛了。
與傳統(tǒng)的實現(xiàn)方法不同,他們并不是利用著色問題的損失定制來實現(xiàn)算法的,之前提到過,其實顏色的預(yù)測結(jié)果有時并不需要同現(xiàn)實結(jié)果一模一樣,比如一件襯衫,表現(xiàn)出很多種顏色看起來其實都是合理的。他們的方法是在算法中對每一個像素點都預(yù)測了顏色可能的分布情況。并且在訓(xùn)練中給不常出現(xiàn)的顏色更多的權(quán)重,以增加最終顏色的多樣性。最終以一種分布退火的方式得到最后的顏色分布函數(shù)。得到的結(jié)果同以前的結(jié)果相比看起來會更加真實。
研究團隊展示了他們的算法在1000組來自ImageNet的圖像上的實驗效果,其中大部分都得到了比較好的效果。
研究團隊在Github上提供了他們算法的源代碼(目前還是Demo版):https://github.com/richzhang/colorization
由于其算法發(fā)在了Algorithmia上,因此想要使用他們的研究結(jié)論,只需用簡單的幾句指令就可以調(diào)用算法實現(xiàn)圖片的轉(zhuǎn)換。
或者用這樣的格式
小組展示了許多算法成功的案例。如下圖
不過還需要注意的一點是,該團隊自己也表示,這個算法仍處在試驗階段,它在運算有些圖片的時候表現(xiàn)得會很好,但有的時候又會表現(xiàn)得很差,(不過在這一點上其他的類似算法也一樣)。因為目前這個算法主要使用ImageNet的圖像做訓(xùn)練數(shù)據(jù),因此在處理與其訓(xùn)練數(shù)據(jù)類似的圖像的時候會表現(xiàn)得比較好。但該團隊也給出了一些失敗的例子,不過他們在示例中同時加入了其他算法的表現(xiàn),可以看出,在這些圖片上,其他算法幾乎也無法給出比他們算法更好的結(jié)果:
最右側(cè)是現(xiàn)實情況,中間的三個是不同算法的橫向比較,其中標記為“Ours”的就是該團隊的算法。
雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。