丁香五月天婷婷久久婷婷色综合91|国产传媒自偷自拍|久久影院亚洲精品|国产欧美VA天堂国产美女自慰视屏|免费黄色av网站|婷婷丁香五月激情四射|日韩AV一区二区中文字幕在线观看|亚洲欧美日本性爱|日日噜噜噜夜夜噜噜噜|中文Av日韩一区二区

您正在使用IE低版瀏覽器,為了您的雷峰網(wǎng)賬號安全和更好的產(chǎn)品體驗,強(qiáng)烈建議使用更快更安全的瀏覽器
此為臨時鏈接,僅用于文章預(yù)覽,將在時失效
人工智能開發(fā)者 正文
發(fā)私信給AI研習(xí)社-譯站
發(fā)送

0

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

本文作者: AI研習(xí)社-譯站 2018-04-25 14:20
導(dǎo)語:2014年 Ian Goodfellow 提出了生成對抗網(wǎng)絡(luò)(GAN),這篇文章主要介紹在Keras中搭建GAN實現(xiàn)圖像去模糊。

雷鋒網(wǎng)按:本文為雷鋒字幕組編譯的技術(shù)博客,原標(biāo)題GAN with Keras: Application to Image Deblurring,作者為Rapha?l Meudec。

翻譯 | 廖穎  陳俊雅  整理 | 凡江

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

2014年 Ian Goodfellow 提出了生成對抗網(wǎng)絡(luò)(GAN)。這篇文章主要介紹在Keras搭建GAN實現(xiàn)圖像去模糊。所有的Keras代碼可點擊這里

可點擊查看原始出版文章Pytorch實現(xiàn)。

快速回憶生成對抗網(wǎng)絡(luò)

GAN中兩個網(wǎng)絡(luò)的訓(xùn)練相互競爭。生成器( generator) 合成具有說服力的假輸入來誤導(dǎo)判別器(discriminator ),而判別器則是來識別這個輸入是真的還是假的

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

生成對抗網(wǎng)絡(luò)訓(xùn)練過程—?來源

訓(xùn)練過程主要有三步

  • 根據(jù)噪聲,生成器合成假的輸入

  • 用真的輸入和假的輸入共同訓(xùn)練判別器

  • 訓(xùn)練整個模型:整個模型中判別器與生成器連接

注意:在第三步中,判別器的權(quán)重是固定的

將這兩個網(wǎng)絡(luò)連接起來是由于生成器的輸出沒有可用的反饋。我們唯一的準(zhǔn)則就是看判別器是否接受生成器的合成的例子。

這些只是對生成對抗網(wǎng)絡(luò)的一個簡單回顧,如果還是不夠明白的話,可以參考完整介紹。

數(shù)據(jù)

Ian Goodfellow首次使用GAN模型是生成MNIST數(shù)據(jù)。 而本篇文章是使用生成對抗網(wǎng)絡(luò)進(jìn)行圖像去模糊。因此生成器的輸入不是噪聲,而是模糊圖像。

數(shù)據(jù)集來自GOPRO數(shù)據(jù),你可以下載精簡版數(shù)據(jù)集(9GB),也可以下載完整版數(shù)據(jù)集(35GB)。其中包含了來自不同街道視角的人造模糊圖像,根據(jù)不同的場景將數(shù)據(jù)集分在各個子文件夾中。

我們先把圖像分到 A (模糊)和 B (清晰)兩個文件夾。這個 A&B 結(jié)構(gòu)對應(yīng)于原始文章pix2pix 。我創(chuàng)建了一個 自定義腳本來執(zhí)行這個任務(wù)。 看看 README 后嘗試一下吧。

模型

訓(xùn)練過程還是一樣,首先來看一下神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)。

生成器

生成器要生成清晰圖像,網(wǎng)絡(luò)是基于ResNet blocks的,它可以記錄對原始模糊圖像操作的過程。原文還使用了基于UNet的版本,但我目前還沒有實現(xiàn)。這兩種結(jié)構(gòu)都可以很好地進(jìn)行圖像去模糊。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

DeblurGAN 生成器網(wǎng)絡(luò)?結(jié)構(gòu) —? 來源

核心是采用9 個ResNet blocks對原始圖像進(jìn)行上采樣。來看一下Keras上的實現(xiàn)!

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

ResNet 層就是一個基本的卷積層,其中,輸入和輸出相加,形成最終輸出。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

生成器結(jié)構(gòu)的 Keras 實現(xiàn)

按照計劃,用9個ResNet blocks對輸入進(jìn)行上采樣。我們在輸入到輸出增加一個連接,然后除以2 來對輸出進(jìn)行歸一化。

這就是生成器了! 我們再來看看判別器的結(jié)構(gòu)吧。

判別器

判別器的目標(biāo)就是要確定一張輸入圖片是否為合成的。因此判別器的結(jié)構(gòu)采用卷積結(jié)構(gòu),而且是一個單值輸出。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

判別器結(jié)構(gòu)的 Keras 實現(xiàn)

最后一步就是建立完整的模型。這個GAN的一個特點就是輸入的是真實圖片而不是噪聲 。因此我們就有了一個對生成器輸出的直接反饋。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

接下來看看采用兩個損失如何充分利用這個特殊性。

訓(xùn)練

損失

我們提取生成器最后和整個模型最后的損失。

第一個是感知損失,根據(jù)生成器輸出直接可以計算得到。第一個損失保證 GAN 模型針對的是去模糊任務(wù)。它比較了VGG第一次卷積的輸出

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

第二個損失是對整個模型輸出計算的Wasserstein loss,計算了兩張圖像的平均差值。眾所周知,這種損失可以提高生成對抗網(wǎng)絡(luò)的收斂性。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

訓(xùn)練流程

第一步是加載數(shù)據(jù)并初始化模型。我們使用自定義函數(shù)加載數(shù)據(jù)集,然后對模型使用 Adam 優(yōu)化器。我們設(shè)置 Keras 可訓(xùn)練選項來防止判別器進(jìn)行訓(xùn)練。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

然后我們進(jìn)行epochs(一個完整的數(shù)據(jù)集通過了神經(jīng)網(wǎng)絡(luò)一次并且返回了一次的過程,稱為一個epoch),并將整個數(shù)據(jù)集分批次(batches)。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

最后根據(jù)兩者的損失,可以相繼訓(xùn)練判別器和生成器。用生成器生成假的輸入,訓(xùn)練判別器區(qū)別真假輸入,并對整個模型進(jìn)行訓(xùn)練。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

你可以參考Github來查看完整的循環(huán)。

實驗

我使用的是在AWS 實例(p2.xlarge)上配置深度學(xué)習(xí) AMI (version 3.0)進(jìn)行的 。對GOPRO 精簡版數(shù)據(jù)集的訓(xùn)練時間大約有 5 個小時(50個epochs)。

圖像去模糊結(jié)果

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

從左到右:原始圖像,模糊圖像,GAN 輸出

上面的輸出結(jié)果都是我們用 Keras 進(jìn)行 Deblur GAN 的結(jié)果。即使是對高度模糊,網(wǎng)絡(luò)也可以減小模糊,產(chǎn)生一張具有更多信息的圖片,使得車燈更加匯聚,樹枝更加清晰。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

左圖: GOPRO 測試圖像,右圖:GAN 輸出結(jié)果

因為引入了VGG來計算損失,所以會產(chǎn)生圖像頂部出現(xiàn)感應(yīng)特征的局限。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

左圖: GOPRO 測試圖像,右圖:GAN 輸出結(jié)果

希望你們可以喜歡這篇關(guān)于生成對抗網(wǎng)絡(luò)用于圖像去模糊的文章。 你可以評論,關(guān)注我或者聯(lián)系我。

如果你對機(jī)器視覺感興趣,我們還寫過一篇用Keras實現(xiàn)基于內(nèi)容的圖像復(fù)原 。下面是生成對抗網(wǎng)絡(luò)資源的列表。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

左圖: GOPRO 測試圖像,右圖:GAN 輸出結(jié)果

生成對抗網(wǎng)絡(luò)資源

NIPS 2016: Generative Adversarial Networks by Ian Goodfellow

ICCV 2017: Tutorials on GAN

GAN Implementations with Keras by Eric Linder-Noren

A List of Generative Adversarial Networks Resources by deeplearning4j

Really-awesome-gan by Holger Caesar

博客原址 https://blog.sicara.com/keras-generative-adversarial-networks-image-deblurring-45e3ab6977b5


更多文章,關(guān)注雷鋒網(wǎng)  雷鋒網(wǎng)雷鋒網(wǎng)

添加雷鋒字幕組微信號(leiphonefansub)為好友

備注「我要加入」,To be an  AI  Volunteer !

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)


雷峰網(wǎng)原創(chuàng)文章,未經(jīng)授權(quán)禁止轉(zhuǎn)載。詳情見轉(zhuǎn)載須知。

用Keras搭建GAN:圖像去模糊中的應(yīng)用(附代碼)

分享:
相關(guān)文章

知情人士

AI研習(xí)社(yanxishe.com)譯站頻道,傳播前沿人工智能知識,讓語言不再成為學(xué)習(xí)知識的門檻。(原雷鋒字幕組)
當(dāng)月熱門文章
最新文章
請?zhí)顚懮暾埲速Y料
姓名
電話
郵箱
微信號
作品鏈接
個人簡介
為了您的賬戶安全,請驗證郵箱
您的郵箱還未驗證,完成可獲20積分喲!
請驗證您的郵箱
立即驗證
完善賬號信息
您的賬號已經(jīng)綁定,現(xiàn)在您可以設(shè)置密碼以方便用郵箱登錄
立即設(shè)置 以后再說