HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

基于深度学习的图像修补 / 完整方法分析

  • 2019-08-29
  • 本文字数:3592 字

    阅读完需:约 12 分钟

基于深度学习的图像修补/完整方法分析

修补的方法基本上也是基于梯度/边缘的连续性或者纹理的扩展性,而传统机器学习方法可以学习有先验知识的图像合成方法。下面介绍深度学习的方法。


Pluralistic Image Completion 是一种多元(Pluralistic)图像完整(image completion)的方法【1】,它为图像完整生成多种多样的合理解决方案。基于学习的方法面临的主要挑战是,通常每个标签只有一个 GT 训练实例。从条件的变分自动编码器(CVAE)采样仍然导致最少多样性。为此,采用基于概率原理的两个并行路径框架:一个是重建路径,利用给定的 GT 来得到缺失的部分先验,并从该分布重建原始图像;另一种是生成路径,条件先验与重构路径中的分布耦合在一起。两个路径都基于 GAN,另外还有一个短距加长距的注意层(attention layer),利用了解码器和编码器特征之间的远距离关系,提高了外观的一致性。


如图给出屏蔽输入的完整策略:“确定性”结构直接预测 GT 实例;“CVAE”增加随机抽样以使产出多样化;“实例盲”仅匹配可见部分,但训练不稳定;“双路径方法”【1】在测试期间使用生成路径,但在训练期间由并行的重建路径引导;黄色路径用于训练。如下对各部分分别解释一下。


假设一个图像,最初是 Ig,许多缺失的像素使其退化成为包含可见像素的 Im(被掩盖部分图像)。 定义 Ic 为包括原始缺失像素的补充(complement)部分图像。经典图像完整法试图以确定的方式从 Im 重建原始未掩盖的图像 Ig(见图“确定性”),这导致一个解决方案。 相反,双路径法想做的是从 p(Ic | Im)进行采样。


为了得到样本的分布,目前的方法是采用 CVAE 来估计潜空间的参数分布,然后从中采样(见图“CVAE”)。这涉及观察训练实例的条件对数似然函数 logp(Ic | Im)的变分下限:



其中 zc 是潜向量,qψ(·|·)是后验重要采样(importance sampling)函数,pφ(···)是条件先验函数,pθ(·|·)是似然函数,其中ψ,φ和θ是相应函数的深度网络参数。对所有参数,该下限最大化。


输出多样化的一种方法是,在训练期间简单不刺激输出去重建实例特有的 Ig,只需要适应训练集分布,如学习的对抗鉴别器那样(见图“实例盲(Instance Blind)“)。尽管如此,该方法不是很稳定,特别在复杂的大环境里。



双路径法【1】要求提供丢失的部分图像作为完整图像的超集,也是来自潜空间分布,已知为 p(zc)的平滑先验知识。这样,log p(Ic)的变分下限是:



当涉及到部分图像时这会更具辨别力,因为有不同数量的像素。更多像素(较大孔)的缺失部分图像 Ic 比较少像素(较小孔)的缺失部分图像 Ic 更大的潜先验方差。因此,为适应像素数 n,广义化先前的 p(zc)= Nm(0,σ2(n)I)。


将潜先验知识组合成条件对数似然函数的条件下限,只需要假设 zc 与 Ic 比与 Im 更密切相关,因此得到:



这样条件对数似然函数 logp(Ic | Im)的变分下限变成:



然而,不同的是,训练期间不再自由学习 qψ(zc | Ic),但其在变分下限的存在联系在一起。直观地,qψ(zc | Ic)的学习由变分下限的先验知识 p(zc)正则化,而条件先验 pφ(zc | Im)的学习依次由上面条件对数似然函数变分下限中的 qψ(zc | Ic)正则化。


上面条件对数似然函数 logp(Ic | Im)变分下限的一个问题是:在训练期间采样取自 qψ(zc | Ic),但在测试期间这不行,因此采样必须来自 pφ(zc | Im),这个可能无法充分学习。 为了缓解这个问题,将上面变分下限修改为重要采样(importance sampling)有和无二者的混合形式,简化写成:




当从重要函数(importance function)qψ(·| Ic)采样时,整个训练实例可用,并且似然函数 prθ(Ic | zc,Im)侧重于 Ic 的重构。相反,从学习的不包含 Ic 的条件先验 pφ(·| Im)采样时,让似然函数模型:



和 Ic 的原始实例(original instance)无关,可促进创造性生成(creative generation)。 不然,它只鼓励生成样本适应于整体的训练分布。


然后,总训练目标可以表示为联合最大化 log p(Ic)和 logp(Ic | Im)两个的变分下限,其中前者中的似然函数统一到后者,即




如下图是并行双路径的框架图:重建流水线(黄线)组合 Im 和 Ic 的信息用于训练;生成流水线(蓝线)推断隐藏区域的条件分布,在测试期间进行采样;表示和生成两个网络共享一样的权重。



该网络由两条路径组成:重建路径使用来自整个图像的信息,即 Ig = {Ic,Im},而生成路径仅使用来自可见区域 Im 的信息。另外:


• 对于重建路径,补充元素图像 Ic 用于推断训练期间的重要函数 qψ(·| Ic)=Nψ(·)。因此,采样的潜在向量 zc 包含缺失区域的信息,而条件特征 fm 对可见区域的信息进行编码。由于有足够的信息,该路径损失函数适合于重建原始图像 Ig。


• 对于生成路径(也是测试路径),仅基于可见 Im 推断洞 Ic 的潜分布。这明显不如路径中的推断准确。因此,重建损失仅针对可见区域 Im(经由 fm)。


• 此外,在两条路径上使用对抗学习网络,理想情况下确保完整的合成数据符合训练集分布,并凭经验得出更高质量的图像。


训练的损失函数定义如下:



其中分布正则化损失:




外观匹配损失:




对抗损失:




从自注意(Self-Attention)GAN 扩展出来,不仅在解码器层使用自注意图(self-attention map)来利用远距离空间上下文(distant spatial context),还要进一步捕获编码器和解码器之间的特征-特征上下文(feature-feature context)。 关键点是:让网络选择在编码器中使用更精细的特征,或者在解码器中使用更具语义生成的特性,下图是长+短距注意层的架构图所示。



如下图是通过实验结果对训练中不同策略的比较:双路径(顶部),CVAE(中部)和实例盲(底部)。



下图是不同注意模块的注意力图比较:长短距注意图(顶部)和上下文注意图(底部)。



深度图像完整通常无法将恢复的图像和谐地混合到现有内容中,尤其是在边界区域中。【2】从创建平滑过渡的角度考虑,提出简洁的深度融合网络(DFNet)。首先,引入融合块生成用于组合已知和未知区域的α组合图(alpha composition map)。融合模块不仅在恢复的内容和现有内容之间提供平滑的融合,而且提供注意力图(attention map),使网络更多地关注未知像素。通过这种方式,在结构和纹理信息之间构建了一个桥梁,使信息自然地从已知区域传播直到完整。


此外,DFNet 的融合块嵌入到网络的几个解码器层中。随着每层可调的损失约束,图像完整实现了更精确的结构信息恢复。


下图是融合块的示意图:融合块通过可学习的函数 M 从特征图中提取原始完整信息,并预测函数 A 的 alpha 合成图。最后,它通过混合函数 B 将原始完整与缩放的输入图像组合在一起。



如图所示,DFNet 建立在类似 U-Net 模型的体系结构上。和原始 U-Net 之间的区别在于,融合块嵌入到多个解码器层。融合块有助于在边界附近实现更平滑的过渡,并且是多尺度约束的关键组件。 一个融合块馈入两个元素,具有未知区域的输入图像 Iin 和特征映射 Fk 形成第 k 层(第一层是 U-Net 的最后一个解码器层)。 这个融合块首先从特征图中提取原始完整 Ck,然后预测α组合图αk,最后结合起来。最终结果 Iˆk 通过以下方式获得:



其中缩放 Iin 得到 Ik,通过可学习函数 M 从特征映射 Fk 提取的原始完整 Ck:



M(x)将 n 个通道特征图 x 变换为 3 通道图像,分辨率不变,即原始完整。 实际上,通过 1×1 卷积层加 sigmoid 函数来学习 M。alpha 合成图αk 由另一个可学习的函数 A 从原始完整和缩放的输入图像产生:



直观地说,在图像被完整时,在算法的较低分辨率构造结构更容易,而在高分辨率下纹理恢复更可行。 将融合块嵌入到 U-Net 的最后几个解码器层中,并以不同的分辨率获得完整结果。 然后,根据需要将结构和纹理约束应用于不同的分辨率。


每个融合块输出与输入特征图 Fi 相同分辨率的完整结果 Ci。 根据分辨率,可以在训练期间提供不同的约束。在测试期间,仅需要来自最后一层的完整结果 I0。



损失函数定义如下:先是重建损失:



感知和风格损失分别是:




其中克矩阵(Gram matrix):



最后,总的损失函数是:



其中结构和纹理损失分别是:



如图是实验结果比较:第 2 行可以看出,基于更多的融合块,建筑结构更加清晰和准确。 此外,在 3 个融合块的结果描绘了房屋的形状,而不是 1 个融合块结果的噪声。虽然编码器高层有更大的感知场和全局上下文,但在解码器更多层可以更容易地重建结构信息。


参考文献

  1. C Zheng, T Cham, J Cai,“Pluralistic Image Completion”, CVPR 2019

  2. X Hong et al.,“Deep Fusion Network for Image Completion”, arXiv 1904.08060, 2019

作者介绍

黄浴,奇点汽车美研中心总裁和自动驾驶首席科学家,上海大学兼职教授。曾在百度美研自动驾驶组、英特尔公司总部、三星美研数字媒体研究中心、华为美研媒体网络实验室,和法国汤姆逊多媒体公司普林斯顿研究所等工作。发表国际期刊和会议论文 30 余篇,申请 30 余个专利,其中 13 个获批准。

原文链接

注:本文源自黄浴的知乎:https://zhuanlan.zhihu.com/p/78874490


2019-08-29 22:003033

评论

发布
暂无评论
发现更多内容

DistSQL:像数据库一样使用 Apache ShardingSphere

SphereEx

Alibaba永远滴神!阿里内部最新Java基础到中高级核心知识手册

Java~~~

Java 编程 程序员 架构 面试

如何实现70%丢包下音视频的高可用 - 数据篇

ZEGO即构

音视频 数据处理 传输协议 弱网环境高可用 Qo

百度内容风控是怎样在秒级之内完成词表匹配

百度Geek说

百度 内容审核

干货 | 用JAVA实现多语言翻译组件

LigaAI

Java 国际化

有奖体验活动,最新1.3版本试用

Geek_6cdeb6

人工智能 机器学习 深度学习 学习 AI

耗时半年,堪称神迹!阿里架构师整合出258W字Java全栈面试题

Java架构追梦

Java 阿里巴巴 面试 java架构 跳槽

Realtime DB技术详解

安第斯智能云

数据

产业区块链迎来新纪元,基础设施建设成核心命题

旺链科技

区块链 产业 基础设施建设

比redis-rdb-tools快10倍的rdb分析工具

BUG侦探

redis bigkey rdb分析

天津大学教授站上 WICC2021 “讲坛” 将分享边缘计算新研究

融云 RongCloud

用10个真实案列带你掌握MySQL调优

北游学Java

Java MySQL 性能调优

Tapdata 与巨杉数据库完成产品兼容互认证

tapdata

Tapdata 巨杉数据库 产品兼容性互认

2021InfoComm|钉钉会议 Rooms 的 "全场景" 智能化解决方案

阿里云视频云

音视频 钉钉 视频会议 会议 会议室

从零开始学习3D可视化之数据对接(1)

ThingJS数字孪生引擎

大前端 可视化 3D 3D可视化 数字孪生

爬虫入门到放弃03:爬虫如何模拟人的浏览行为

叫我阿柒啊

爬虫 代理IP user-agent

手把手教你,从零开始搭建Spring Cloud Alibaba!这份笔记太牛了

容器安全检查列表

greatersecurity

容器 云原生 DevSecOps

去中心化交易所搭建|区块链数字货币交易平台开发

Geek_23f0c3

APP开发 去中心化交易所系统开发 区块链、

天不生我SpringBoot高级笔记 编程万古无常夜!

白亦杨

Java springboot

如何保障服务器承受亿级流量(12)【限流】

我爱娃哈哈😍

架构设计 架构设计实战

Tapdata 荣获2021中国创新势力榜“最佳数字中台企业服务品牌”大奖

tapdata

Tapdata 最佳数字中台企业服务品牌

专科程序员与本科程序员之间有什么区别?薪资待遇又差多少?

Java 编程 程序员 架构 面试

大数据训练营 - 第二次作业hadoopRPC

西伯利亚鼯鼠

lsyncd实现文件实时同步

阿呆

lsyncd

什么是高效,什么是好的企业文化

Ryan Zheng

智汇华云|安超云套件Archer Cloudsuite为“信创强国”筑基

华云数据

Uber 多区域 Kafka 的灾难恢复

奔着腾讯去

Apache kafka 分布式

手写希尔排序算法

实力程序员

编程 程序员 C语言 排序算法

完美收官!字节4面斩下2-2Offer,入职就是30K16薪,全凭这套“面试+架构进阶知识点”pdf

Java 程序员 架构 面试

浪潮云说直播间,就在今天!

基于深度学习的图像修补/完整方法分析_AI&大模型_黄浴_InfoQ精选文章