0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

一個模型可以實現(xiàn)多個圖像修改任務(wù)

DPVg_AI_era ? 來源:未知 ? 作者:李倩 ? 2018-11-05 17:02 ? 次閱讀

一個模型可以實現(xiàn)多個圖像修改任務(wù)!本文作者結(jié)合自注意力GAN、逐漸增大的訓(xùn)練方式等技術(shù),實現(xiàn)了驚艷的舊照片著色效果。

圖像著色、圖像增強、恢復(fù)舊圖像等是計算機視覺領(lǐng)域的熱點問題,不過,用一個模型很好地實現(xiàn)多個任務(wù)的研究不多。

近日,GitHub用戶Janson Antic發(fā)布了一個名為DeOldify的項目,這是一個給舊照片著色和修復(fù)的神器。

地址:https://github.com/jantic/DeOldify

讓我們先看看效果:

Maria Anderson as the Fairy Fleur de farine and Lyubov Rabtsova as her page in the ballet “Sleeping Beauty” at the Imperial Theater, St. Petersburg, Russia, 1890.

Woman relaxing in her livingroom (1920, Sweden)

Medical Students pose with a cadaver around 1890

Surfer in Hawaii, 1890

Whirling Horse, 1898

Interior of Miller and Shoemaker Soda Fountain, 1899

Paris in the 1880s

Edinburgh from the sky in the 1920s

(更多結(jié)果圖像請點擊文末鏈接查看)

技術(shù)細(xì)節(jié)

這是一個基于深度學(xué)習(xí)的模型。具體來說,我結(jié)合了以下方法:

Self-Attention生成對抗網(wǎng)絡(luò)(https://arxiv.org/abs/1805.08318)。除了generator是一個預(yù)訓(xùn)練的Unet之外,我只做了一點修改,使它具有光譜規(guī)范化(spectral normalization)和自注意力(self attention)。一開始我努力想實現(xiàn)一個Wasserstein GAN版本,但沒成功,轉(zhuǎn)向這個版本之后就一切都好了。我喜歡Wasserstein GAN的理論,但它在實踐中并不成功,因此我喜歡上了Self-Attention GANs。

訓(xùn)練結(jié)構(gòu)的靈感來自Progressive Growing of GANs(https://arxiv.org/abs/1710.10196)。但不是完全一樣,差別主要是我的版本層數(shù)保持不變——只是逐步改變輸入的大小并調(diào)整學(xué)習(xí)率以確保尺寸的轉(zhuǎn)換成功。最終結(jié)果基本一致——訓(xùn)練速度更快、更穩(wěn)定,并且能更好地泛化。

Two Time-Scale Update Rule(https://arxiv.org/abs/1706.08500)。 這也非常簡單, 就是一對一的generator/critic迭代和更高的critic學(xué)習(xí)率。

Generator Loss包括兩部分:一部分是基于VGG16的基本Perceptual Loss(或Feature Loss),基本上只是使生成模型偏差以復(fù)制輸入圖像。第二部分是critic的loss score。對于curious來說,Perceptual Loss本身不足以產(chǎn)生良好的結(jié)果。它往往只是鼓勵一堆棕色/綠色/藍(lán)色 ,基本上這只是在測試中作弊,神經(jīng)網(wǎng)絡(luò)很擅長做這些!這里需要意識到的關(guān)鍵問題是,GAN實際上正在學(xué)習(xí)損失函數(shù),這對于我們在機器學(xué)習(xí)中所追求的理想來說真正邁出了一大步。當(dāng)然,當(dāng)你把以前人工編碼的東西交給機器學(xué)習(xí),通常能得到更好的結(jié)果。這個項目就是這樣。

這個模型的驚艷之處在于,它對各種各樣的圖像修改都很有用,而且應(yīng)該能做得很好。上面舉例的是著色模型的結(jié)果,但這只是pipeline的一個部分,用同樣的模型可以開發(fā)更多任務(wù)。

我用這個模型開發(fā)的下一個任務(wù)是修復(fù)舊圖像,使它們看起來更好,所以我的下一個項目是“defade”模型。我已經(jīng)做了最初的努力,在我寫這篇文章時已經(jīng)處于模型訓(xùn)練的早期階段。基本上,它只是訓(xùn)練相同的模型來重建圖像,使用夸張的對比度/亮度調(diào)整來增強圖像,作為褪色照片和使用舊/壞設(shè)備拍攝的照片的模擬。我已經(jīng)看到了一些有希望的結(jié)果:

如何啟動這個項目

以上就是這個項目的要點——我希望用GAN讓老照片看起來更好,更重要的是,讓項目有用。

這個項目是用Fast.AI library建的。不幸的是,用的是舊版本,我還沒有升級到新版本。 因此,先決條件是:

舊版本的Fast.AI library:https://github.com/jantic/fastai

Fast.AI已有的dependencies:已有方便的requirements.txt和environment.yml

Pytorch 0.4.1(需要spectral_norm,因此需要最新的穩(wěn)定版本)。

Jupyter Lab

Tensorboard(即安裝Tensorflow)和TensorboardX(https://github.com/lanpa/tensorboardX)。 需要注意的是,默認(rèn)情況下, progress images將每200次迭代寫入Tensorboard,因此可以持續(xù)方便地查看模型正在執(zhí)行的操作。

BEEFY顯卡。我的是GeForce 1080TI(11GB),真希望有比11 GB更大的內(nèi)存。Unet和Critic都非常大,但越大效果越好。

對于想要立即開始轉(zhuǎn)換自己的圖像的人:......好吧,你需要等我先上傳預(yù)先訓(xùn)練好的權(quán)重。 一旦可用,就可以在可視化筆記本中引用它們。我將使用ColorizationVisualization.ipynb。你只需要用我上傳的生成器(colorizer)的權(quán)重文件替換colorizer_path = IMAGENET.parent /('bwc_rc_gen_192.h5')

假設(shè)你在內(nèi)存足夠大的GPU(例如11 GB GeForce 1080Ti)上運行這個程序,我將保持大小約為500px。如果內(nèi)存小于11GB,你可以將圖像縮小,或嘗試在CPU上運行。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 圖像
    +關(guān)注

    關(guān)注

    2

    文章

    1080

    瀏覽量

    40382
  • 計算機視覺
    +關(guān)注

    關(guān)注

    8

    文章

    1695

    瀏覽量

    45905

原文標(biāo)題:舊照片著色修復(fù)神器!自注意力GAN效果驚艷

文章出處:【微信號:AI_era,微信公眾號:新智元】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

    相關(guān)推薦

    請問下FREERTOS只能創(chuàng)建4任務(wù)修改哪個宏定義可以增加創(chuàng)建任務(wù)的數(shù)量?

    請問下FREERTOS只能創(chuàng)建4任務(wù),修改哪個宏定義可以增加創(chuàng)建任務(wù)的數(shù)量?解決方法:增加F
    發(fā)表于 05-13 06:44

    基于GAC模型實現(xiàn)交互式圖像分割的改進算法

    些,也就是說,不要集中在局部取點,所選點之間應(yīng)該有定的幾何距離。這可以通過簡單的刪選程序實現(xiàn)。3.3 對
    發(fā)表于 09-19 09:19

    labview can卡模型次只能發(fā)送幀ID,請問怎樣修改使它次發(fā)送多個不同ID?

    附件是我的模型,模型單次發(fā)送沒有問題,就是不知道怎么修改讓他可以發(fā)送多個幀ID,
    發(fā)表于 07-17 15:45

    ucos ii多個任務(wù)等待信號量

    小弟新學(xué)ucos ii,今天遇到點問題,特來請教具體是這樣的:1,對于ucos ii多個任務(wù)等待信號量,當(dāng)信號量有效以后,最高優(yōu)先級任務(wù)
    發(fā)表于 05-06 06:24

    labview can卡模型次只能發(fā)送幀ID,請問怎樣修改使它次發(fā)送多個不同ID?

    labview can卡模型次只能發(fā)送幀ID,請問怎樣修改使它次發(fā)送
    發(fā)表于 05-14 11:33

    請問是否可以使用x-cube ai將多個模型放入MCU中呢?

    請問是否可以使用x-cube ai將多個模型放入MCU中。第一個
    發(fā)表于 01-05 06:33

    freertos怎么在任務(wù)修改任務(wù)的優(yōu)先級?

    freertos怎么在任務(wù)修改任務(wù)的優(yōu)先級
    發(fā)表于 10-11 07:56

    freertos中任務(wù)可以支持多個信號量嗎?

    freertos中任務(wù)可以支持多個信號量嗎
    發(fā)表于 11-07 06:58

    圖像插值的變指數(shù)變分模型

    為了消除插值圖像在邊緣的鋸齒現(xiàn)象、在平坦區(qū)域的分塊現(xiàn)象,提出了種變指數(shù)變分模型圖像插值方法。通過對變指數(shù)變分模型擴散特性的研究,引入了
    發(fā)表于 11-30 15:35 ?0次下載

    單片機可以同時處理多個任務(wù)

    單片機可以按分時、順序、中斷的方法處理多個任務(wù)。
    的頭像 發(fā)表于 04-06 15:43 ?4767次閱讀

    圖像分類任務(wù)的各種tricks

    計算機視覺主要問題有圖像分類、目標(biāo)檢測和圖像分割等。針對圖像分類任務(wù),提升準(zhǔn)確率的方法路線有兩條,一個
    的頭像 發(fā)表于 09-14 16:42 ?1128次閱讀

    如何在SpringBoot項目中實現(xiàn)動態(tài)定時任務(wù)

    之前寫過文章記錄怎么在SpringBoot項目中簡單使用定時任務(wù),不過由于要借助cron表達(dá)式且都提前定義好放在配置文件里,不能在項目運行中動態(tài)修改任務(wù)執(zhí)行時間,實在不太靈活。
    的頭像 發(fā)表于 09-30 11:16 ?1773次閱讀

    如何動態(tài)修改cron參數(shù)呢?

    按正常來講,修改定時任務(wù)的執(zhí)行周期,把服務(wù)停下來,改下任務(wù)的cron參數(shù),再重啟服務(wù)就搞搞定了。這種方式很簡單,沒有可說的,但是有沒有種可能,在不停服務(wù)的情況下,就可以動態(tài)的
    的頭像 發(fā)表于 04-12 11:04 ?1870次閱讀

    如何動態(tài)添加修改刪除定時任務(wù)

    如何動態(tài)添加修改刪除定時任務(wù)?那么我們起看看具體怎么實現(xiàn),先看下本節(jié)大綱: (1)思路說明; (2)代碼解析; (3)修改定時任
    的頭像 發(fā)表于 04-12 11:06 ?1048次閱讀

    如何使用python獲取和修改圖像信息

    獲取和修改圖像信息 在對圖像進行壓縮之前,我們可能需要獲取圖像的基本信息,例如大小、格式、模式等。這些信息可以通過Image對象的屬性來
    的頭像 發(fā)表于 09-12 17:26 ?902次閱讀