基於深度學習的自動上色程式,以及其實際應用

2021-08-13 03:31:15 字數 1964 閱讀 2509

2016-07-19 01:28

來自伯克利大學和麻省理工學院的三名研究者richard zhang、phillip isola、alexei a. efros日前給出了深度學習在另乙個特定領域的研究進展,開發了一套可以通過深度學習自動學會幫黑白上色的技術。從給出的示例來看,這項技術的準確性還是比較高的。說到這些技術的應用,讓許多承載著回憶的老**煥發新生是它能做的極好的貢獻之一。

研究小組表示,他們給演算法制定的目標——為隨意給出的黑白**上色,很明顯條件過於寬泛,因此之前的類似演算法要麼需要使用者很多的干涉,要麼生成的**的顏色飽和度往往相當低。而他們通過將演算法設定為乙個分類任務並且在訓練時使用重分類方法來增加了影象顏色的多樣性。他們為演算法設計了乙個類似於圖靈測試的「顏色圖靈測試」,用來評估演算法的效果。讓受試者區分攝製了同樣物體的**,哪張是真的哪張是程式生成顏色的結果。結果他們的方法成功騙過了20%的人,這個結果要顯著高於之前的方法。

上圖是這個演算法的網路結構,每個卷積層(conv layer)都代表著由2到3個重複的卷積和整流線性單元(relu)層組成的區塊,最後是乙個batchnorm層。整個網路沒有池化層。解析度的變化是由卷積塊之間的空間縮減取樣或不取樣實現的。

研究團隊在他們的**中介紹,在影象本身的資訊之外,該方法的靈感倒主要**於它的語義學特徵和其中物體的表面提供的線索,在例項中通常意味著影象標籤(label)所含有的資訊:如草一般都是綠的,天一般都是藍的等。雖然這個規律並不一定是通用的,但是事實上,要讓一幅圖變成漂亮的彩色,並不意味著它的著色一定要跟現實中的顏色一模一樣,很多時候只要顏色的相對關係看起來合理,就足夠騙過人類的眼睛了。

與傳統的實現方法不同,他們並不是利用著色問題的損失定製來實現演算法的,之前提到過,其實顏色的**結果有時並不需要同現實結果一模一樣,比如一件襯衫,表現出很多種顏色看起來其實都是合理的。他們的方法是在演算法中對每乙個畫素點都**了顏色可能的分布情況。並且在訓練中給不常出現的顏色更多的權重,以增加最終顏色的多樣性。最終以一種分布退火的方式得到最後的顏色分布函式。得到的結果同以前的結果相比看起來會更加真實。

研究團隊展示了他們的演算法在1000組來自imagenet的影象上的實驗效果,其中大部分都得到了比較好的效果。

研究團隊在github上提供了他們演算法的源**(目前還是demo版):

由於其演算法發在了algorithmia上,因此想要使用他們的研究結論,只需用簡單的幾句指令就可以呼叫演算法實現的轉換。

或者用這樣的格式

小組展示了許多演算法成功的案例。如下圖

不過還需要注意的一點是,該團隊自己也表示,這個演算法仍處在試驗階段,它在運算有些的時候表現得會很好,但有的時候又會表現得很差,(不過在這一點上其他的類似演算法也一樣)。因為目前這個演算法主要使用imagenet的影象做訓練資料,因此在處理與其訓練資料類似的影象的時候會表現得比較好。但該團隊也給出了一些失敗的例子,不過他們在示例中同時加入了其他演算法的表現,可以看出,在這些上,其他演算法幾乎也無法給出比他們演算法更好的結果:

最右側是現實情況,中間的三個是不同演算法的橫向比較,其中標記為「ours」的就是該團隊的演算法。

基於深度學習的NER

命名實體識別 ner 是在自然語言處理中的乙個經典問題,其應用也極為廣泛。比如從一句話中識別出人名 地名,從電商的搜尋中識別出產品的名字,識別藥物名稱等等。傳統的公認比較好的處理演算法是條件隨機場 crf 它是一種判別式概率模型,是隨機場的一種,常用於標註或分析序列資料,如自然語言文字或是生物序列。...

基於深度學習的目標跟蹤

基於深度學習的目標檢測 基於深度學習的目標檢測綜述 目標檢測演算法匯聚 目標檢測演算法總結 10行 實現目標檢測 深度學習目標檢測 綜述 作者的個人理解 一刀流 tensorflow實現的目標檢測 有github 目標檢測演算法簡介,都是文字 內容摘要 r cnn是region based conv...

基於遙感背景的深度學習探索 深度學習簡介(一)

深度學習,我起初對其感覺既陌生又熟悉 陌生的是我完全不懂它背後的數學原理,熟悉是深度學習炒的太火,你不想知道都不可能 換句話說我腦海中沒有建立深度學習的大樹,只有硬生生的 深度學習 這個詞。而本文我想簡單介紹一下我通過學習之後建立起的深度學習的簡單樹,而這個所謂的樹指的是機器學習 深度學習 神經網路...