图像修复 "globally and locally consistent image completion" tensorflow实现

1. 概述

globally and locally consisten image completion中,作者在context encoder的基础上进行改进,网络由一个修复网络和两个鉴别网络组成。使用两个鉴别网络来对图像进行分类,判断图像是修复出来的图像,还是ground truth

  • 😛😜😝代码托管在github

2. 网络结构

网络结构综述

网络结构如图1所示,整个网络由一个修复网络和两个鉴别网络(全局鉴别网络和局部鉴别网络)组成。修复网络用来对进入其中的图像进行修复,而鉴别网络用来对图像进行判别。鉴别网络的目标是尽可能准确地分类修复出来的图像和ground truth,而修复网络则是尽可能地去愚弄鉴别网络,即要提升修复质量,使得鉴别网络无法准确地分辨修复出来地图像与ground truth。修复网络与鉴别网络组成了生成对抗性网络,以此来提高图像修复质量。

一张ground truth,使用随机生成的mask遮盖掉其中的一部分信息,产生待修复图像。待修复图像进入修复网络中,得到修复后的图像。全局鉴别网络输入整张修复后的图像,而局部鉴别网络输入图像的一个局部区域,局部区域中包含了修复出来的图像信息,两个鉴别网络的输出都是一个1x1024的向量,将两个1x1024拼接成1x2048的向量,在经过一个全连接层,得到最终的值,即为鉴别网络对图像的分类结果(real or fake),所以两个鉴别网络是一起工作的。

训练时,需要使用到修复网络与鉴别网络,训练完成之后,就只需要使用到修复网络了。


图1 网络结构 来源:[1]论文
修复网络可以修复任意分辨率的图像吗

修复网络是一个全卷积网络,因此训练完成之后的修复网络可以用来修复任意分辨率的图像。当然,测试图像的分辨率如果与训练时的分辨率有较大差别的时候,修复效果比较差。所以这里说的修复任意分辨率的图像,更多的是想说,训练完成后,修复网络可以输入任意分辨率的图像,但是不能保证对任意分辨率的图像的修复效果都比较好。

训练时,鉴别网络的输入是什么

全局鉴别网络与局部鉴别网络分别关注待判别图像的不同部分。全局鉴别网络的输入是整张图像,而局部鉴别网络的输入是图像中一个局部区域,如果这张图像是修复出来的图像,则该局部区域包含修复出来的区域,如果这张图像是ground truth则该局部区域就是图像中的任意一个区域。ground truth中并不包含修复出来的信息,但是还是需要指定一个区域作为局部鉴别网络的输入,因为鉴别网络在没有图像输入之前,还没有对图像的分类结果产生。如果ground truth与修复出来的图像像鉴别网络中输入的模式不一样,一个需要向局部鉴别网络输入信息,而另外一个不需要的话,那么鉴别网络就很容易将图像划分成两类了。

为什么需要使用到两个鉴别网络

图2 鉴别网络的作用 来源:[1]论文

2中,(a)为待修复图像,(b)中只使用到了MSE loss,(c)中使用到了MSE loss与全局鉴别网络,(d)中使用到了MSE loss与局部鉴别网络,(e)中使用到了MSE loss与两个鉴别网络。

如图2所示,(b)(c)中没有使用到局部鉴别网络,导致修复区域的内容会比较模糊,而(d)中局部鉴别网络的使用,增加了修复区域的细节,但是没有使用全局鉴别网络,修复区域缺乏全局的一致性。

3. 网络训练

MSE loss

L(x, M_c)=\| M_c \odot (C(x,M_c)-x)\|^2 \tag{1}
其中,\odot表示矩阵点乘,\| \|表示欧几里得距离。

GAN loss

\min\limits_{C}\ \max\limits_{D}\ E[log D(x, M_d)+log(1-D(C(x,M_c),M_c))] \tag{2}
其中,C代表修复网络,D代表鉴别网络,修复网络与鉴别网络形成了对抗性关系。M_c有两个作用,在图像进入修复网络之前,使ground truth缺失了部分信息;在图像修复完成之后,用来指示包含修复信息的局部区域作为局部鉴别网络的输入。M_d是随机生成的mask,但是它的作用只是用来指示ground truth中的某个区域作为局部鉴别网络的输入,并没有使ground truth缺失信息。

联合损失

\min\limits_{C}\ \max\limits_{D}\ E[L(x, M_c)+\alpha logD(x,M_d)+\alpha log(1-D(C(x,M_c),M_c))] \tag{3}
这里,最重要的是\alpha,它用来调节GAN loss在联合损失中的比重,在文中作者将\alpha设置成了0.0004\alpha过小,GAN loss就发挥不出作用,修复出来的图像比较平滑,缺失细节,如果\alpha过大,训练过程不稳定,修复效果也不好。

训练

网络的训练分为三个部分:

  • 第一个部分,使用MSE loss(公式1)单独训练修复网络,不更新鉴别网络

  • 第二个部分,使用GAN loss(公式2),单独训练鉴别网络,不更新修复网络

  • 第三个部分,使用联合损失,结合修复网络与鉴别网络一起训练,但是根据生产对抗性网络的做法,两个网络是轮流更新的


    图3 训练算法 来源:[1]论文

修复结果

参考文献

[1]. Iizuka S, Simo-Serra E, Ishikawa H. Globally and locally consistent image completion[J]. ACM Transactions on Graphics (TOG), 2017, 36(4): 107.
[2]. Pathak D, Krahenbuhl P, Donahue J, et al. Context encoders: Feature learning by inpainting[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016: 2536-2544.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 230,825评论 6 546
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 99,814评论 3 429
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 178,980评论 0 384
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 64,064评论 1 319
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 72,779评论 6 414
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 56,109评论 1 330
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 44,099评论 3 450
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 43,287评论 0 291
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 49,799评论 1 338
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 41,515评论 3 361
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 43,750评论 1 375
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 39,221评论 5 365
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 44,933评论 3 351
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 35,327评论 0 28
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 36,667评论 1 296
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 52,492评论 3 400
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 48,703评论 2 380

推荐阅读更多精彩内容