0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

图像修复面临两个关键问题

OpenCV学堂 来源:机器之心 作者:机器之心 2022-08-02 10:06 次阅读

来自罗彻斯特大学和 Adobe Research 的研究者提出了一种新的生成网络 CM-GAN,很好地合成了整体结构和局部细节,在定量和定性评估方面都显著优于现有 SOTA 方法,如 CoModGAN 和 LaMa。

图像修复是指对图像缺失区域进行补全,是计算机视觉的基本任务之一。该方向有许多实际应用,例如物体移除、图像重定向、图像合成等。

早期的修复方法基于图像块合成或颜色扩散来填充图像缺失部分。为了完成更复杂的图像结构,研究人员开始转向数据驱动的方案,他们利用深度生成网络来预测视觉内容和外观。通过在大量图像上进行训练,并借助重建和对抗损失,生成式修复模型已被证明可以在包括自然图像和人脸在内的各种类型输入数据上产生更具视觉吸引力的结果。

然而,现有工作只能在完成简单的图像结构方面显示出良好的结果,生成整体结构复杂和细节高保真的图像内容仍然是一个巨大的挑战,特别是当图像空洞(hole)很大的时候。

从本质上讲,图像修复面临两个关键问题:一个是如何将全局上下文准确地传播到不完整区域,另一个是合成与全局线索一致的真实局部细节。为了解决全局上下文传播问题,现有网络利用编码器 - 解码器结构、空洞卷积、上下文注意力或傅里叶卷积来整合长程特征依赖,扩大有效感受野。此外,两阶段方法和迭代空洞填充依靠预测粗略结果来增强全局结构。然而,这些模型缺乏一种机制来捕获未掩码区域的高级语义,并有效地将它们传播到空洞中以合成一个整体的全局结构。

基于此,来自罗彻斯特大学和 Adobe Research 的研究者提出了一种新的生成网络:CM-GAN(cascaded modulation GAN),该网络可以更好地合成整体结构和局部细节。CM-GAN 中包括一个带有傅里叶卷积块的编码器,用于从带有空洞的输入图像中提取多尺度特征表征。CM-GAN 中还有一个双流解码器,该解码器在每个尺度层都设置一个新型级联的全局空间调制块。

在每个解码器块中,研究者首先应用全局调制来执行粗略和语义感知的结构合成,然后进行空间调制来进一步以空间自适应方式调整特征图。此外,该研究设计了一种物体感知训练方案,以防止空洞内产生伪影,从而满足现实场景中物体移除任务的需求。该研究进行了广泛的实验表明,CM-GAN 在定量和定性评估方面都显著优于现有方法。

eb4e7464-11a6-11ed-ba43-dac502259ad0.png

我们先来看下图像修复效果,与其他方法相比,CM-GAN 可以重建更好的纹理:

CM-GAN 可以合成更好的全局结构:

CM-GAN 具有更好的物体边界:

下面我们来看下该研究的方法和实验结果。

方法

级联调制 GAN

为了更好地建模图像补全的全局上下文,该研究提出一种将全局码调制与空间码调制级联的新机制。该机制有助于处理部分无效的特征,同时更好地将全局上下文注入空间域内。新架构 CM-GAN 可以很好地综合整体结构和局部细节,如下图 1 所示。

ec6f0872-11a6-11ed-ba43-dac502259ad0.png

如下图 2(左) 所示,CM-GAN 基于一个编码器分支和两个并行级联解码器分支来生成视觉输出。编码器以部分图像和掩码为输入,生成多尺度特征图ec9f7962-11a6-11ed-ba43-dac502259ad0.png

与大多数编码器 - 解码器方法不同,为了完成整体结构,该研究从全连接层的最高级别特征ecaec566-11a6-11ed-ba43-dac502259ad0.png中提取全局样式代码 s,然后进行ecc36192-11a6-11ed-ba43-dac502259ad0.png归一化。此外,基于 MLP 的映射网络从噪声中生成样式代码 w,以模拟图像生成的随机性。代码 w 与 s 结合产生一个全局代码 g = [s; w],用于之后的解码步骤。

全局空间级联调制。为了在解码阶段更好地连接全局上下文,该研究提出了全局空间级联调制 (CM,cascaded modulation)。如图 2(右)所示,解码阶段基于全局调制块(GB)和空间调制块(SB)两个分支,并行上采样全局特征 F_g 和局部特征 F_s。

ecd1ec94-11a6-11ed-ba43-dac502259ad0.png

与现有方法不同,CM-GAN 引入了一种将全局上下文注入空洞区域的新方法。在概念层面上,它由每个尺度的特征之间的级联全局和空间调制组成,并且自然地集成了全局上下文建模的三种补偿机制:1)特征上采样;2) 全局调制;3)空间调制。

ecf79534-11a6-11ed-ba43-dac502259ad0.png

物体感知训练

为训练生成掩码的算法至关重要。本质上,采样的掩码应该类似于在实际用例中绘制的掩码,并且掩码应避免覆盖整个物体或任何新物体的大部分。过度简化的掩码方案可能会导致伪影。

为了更好地支持真实的物体移除用例,同时防止模型在空洞内合成新物体,该研究提出了一种物体感知训练方案,在训练期间生成了更真实的掩码,如下图 4 所示。

ed1dd5c8-11a6-11ed-ba43-dac502259ad0.png

具体来说,该研究首先将训练图像传递给 全景分割网络 PanopticFCN 以生成高度准确的实例级分割注释,然后对自由空洞和物体空洞的混合进行采样作为初始掩码,最后计算空洞和图像中每个实例之间的重叠率。如果重叠率大于阈值,该方法将前景实例从空洞中排除;否则,空洞不变并模拟物体完成,其中阈值设为 0.5。该研究随机扩展和平移物体掩码以避免过度拟合。此外,该研究还扩大了实例分割边界上的空洞,以避免将空洞附近的背景像素泄漏到修复区域中。

训练目标与 Masked-R_1 正则化

该模型结合对抗性损失和基于分割的感知损失进行训练。实验表明,该方法在纯粹使用对抗性损失时也能取得很好的效果,但加入感知损失可以进一步提高性能。

此外,该研究还提出了一种专门用于稳定修复任务的对抗性训练的 masked-R_1 正则化,其中利用掩码 m 来避免计算掩码外的梯度惩罚。

实验

该研究在 Places2 数据集上以 512 × 512 分辨率进行了图像修复实验,并给出了模型的定量和定性评估结果。

定量评估:下表 1 为 CM-GAN 与其他掩码方法的比较。结果表明,CM-GAN 在 FID、LPIPS、U-IDS 和 P-IDS 方面明显优于其他方法。在感知损失的帮助下,LaMa、CM-GAN 比 CoModGAN 和其他方法获得了明显更好的 LPIPS 分数,这归功于预训练感知模型提供的额外语义指导。与 LaMa/CoModGAN 相比,CM-GAN 将 FID 从 3.864/3.724 降低到 1.628。

ed4300a0-11a6-11ed-ba43-dac502259ad0.png

如下表 3 所示,在有无微调的情况下,CM-GAN 在 LaMa 和 CoModGAN 掩码上都取得了明显优于 LaMa 和 CoModGAN 的性能增益,表明该模型具有泛化能力。值得注意的是,在 CoModGAN 掩码,物体感知掩码上训练的 CM-GAN 性能依然优于 CoModGAN 掩码,证实了 CM-GAN 具有更好的生成能力。

ed64a85e-11a6-11ed-ba43-dac502259ad0.png

定性评估:图 5、图 6、图 8 展示了 CM-GAN 与 SOTA 方法在合成掩码方面的可视化比较结果。ProFill 能够生成不连贯的全局结构,CoModGAN 产生结构伪影和颜色斑点,LaMa 在自然场景上容易产生较大的图像模糊。相比之下,CM-GAN 方法产生了更连贯的语义结构、纹理更清晰,可适用于不同场景。

ed84b0d6-11a6-11ed-ba43-dac502259ad0.png

edc1fa9a-11a6-11ed-ba43-dac502259ad0.png

ede8ae1a-11a6-11ed-ba43-dac502259ad0.jpg

为了验证模型中每个组件的重要性,该研究进行了一组消融实验,所有模型都在 Places2 数据集上进行训练和评估。消融实验结果如下表 2 和图 7 所示。

edf9a03a-11a6-11ed-ba43-dac502259ad0.png

该研究还进行了用户研究,以更好地评估 CM-GAN 方法的视觉生成质量,结果如下表 5 所示。此外,附录提供了更多的视觉比较和实验分析以供读者参阅。

ee4b8bde-11a6-11ed-ba43-dac502259ad0.png

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 数据驱动
    +关注

    关注

    0

    文章

    124

    浏览量

    12311
  • 计算机视觉
    +关注

    关注

    8

    文章

    1694

    浏览量

    45889
  • 图像修复
    +关注

    关注

    0

    文章

    11

    浏览量

    2259

原文标题:图像大面积缺失,也能逼真修复,新模型CM-GAN兼顾全局结构和纹理细节

文章出处:【微信号:CVSCHOOL,微信公众号:OpenCV学堂】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    单相电机两个绕组都在定子上吗

    单相电机的两个绕组,即起动线圈(或称为辅助绕组、副绕组)和运行线圈(或称为主绕组),都位于定子上 。这两个绕组在电机中起着关键作用,共同协作以产生旋转磁场,从而使电机能够运转。 单相电机通常由一
    的头像 发表于 09-03 15:10 398次阅读

    ad如何设置两个元器件的距离

    在Altium Designer(简称AD)中设置两个元器件之间的距离,主要是通过设置元器件间的安全间距(Clearance)规则来实现的。这个规则定义了元器件之间、元器件与走线之间以及其他设计元素
    的头像 发表于 09-02 15:31 3487次阅读

    触发器的两个稳定状态分别是什么

    触发器作为数字电路中的基本逻辑单元,具有两个稳定状态,这两个状态通常用于表示二进制数码中的0和1。
    的头像 发表于 08-12 11:01 388次阅读

    双稳态电路的两个稳定状态是什么

    双稳态电路是一种具有两个稳定状态的电子电路,广泛应用于数字电路、通信系统、存储器等领域。 双稳态电路的基本概念 双稳态电路是一种具有两个稳定状态的电路,即在没有外部输入信号的情况下,电路可以保持在
    的头像 发表于 08-11 15:00 694次阅读

    双稳态触发器的两个基本性质是什么

    双稳态触发器(Bistable Trigger)是一种具有两个稳定状态的逻辑电路,广泛应用于数字电路设计中。它具有两个基本性质:记忆性和切换性。 一、双稳态触发器的基本概念 1.1 双稳态触发器
    的头像 发表于 08-11 10:08 463次阅读

    两个铜片可以形成原电池吗

    两个铜片本身不能形成原电池,因为原电池的工作原理依赖于两个不同电位的电极材料之间的氧化还原反应。
    的头像 发表于 05-21 16:23 731次阅读

    请问CX3是否可以实现两个camera的图像拼接?

    CX3 是否可以实现两个camera的图像拼接?
    发表于 02-29 08:20

    arcgis中如何关联两个属性表

    在ArcGIS中,关联两个属性表是一重要的操作,可以通过此操作将两个表中的数据关联起来,以便进行分析和查询。下面是详细介绍如何在ArcGIS中实现属性表的关联。 首先,我们需要明确两个
    的头像 发表于 02-25 11:01 3806次阅读

    两个电位器地控制一变频器,如何接线?

    两个电位器地控制一变频器,如何接线? 接线方式如下: 1. 首先,明确需要使用的电器设备。在这个场景中,我们需要两个电位器(即可变电阻器)和一
    的头像 发表于 02-05 10:13 4592次阅读

    如何给C语言中的函数定义两个不同的名字?

    最近有位哥问我,如何给C语言中的函数定义两个不同的名字?就是这两个名字都是指向同一函数,同一地址,而且两个名字都可以当做函数来用的那种。
    的头像 发表于 12-19 16:21 694次阅读

    电子设计中的两个不同概念:pcb与pcb封装

    电子设计中的两个不同概念:pcb与pcb封装
    的头像 发表于 12-11 15:49 746次阅读

    零欧姆电阻器额定功率如何计算?注意,这两个参数很关键

    零欧姆电阻器额定功率如何计算?注意,这两个参数很关键
    的头像 发表于 12-05 17:29 733次阅读
    零欧姆电阻器额定功率如何计算?注意,这<b class='flag-5'>两个</b>参数很<b class='flag-5'>关键</b>!

    两个硬盘2系统开机切换

    切换两个硬盘上的系统是一种常见的行为,可以让用户在不同的操作系统之间进行切换,以满足不同的需求。在本文中,我们将详细介绍如何配置和使用两个硬盘上的系统进行切换。本文将分为以下几个部分进行讨论:硬件
    的头像 发表于 11-28 15:08 7011次阅读

    MMU包含两个模块是什么

    的物理地址也有部分:PFN和offset,PFN( Physical frame number)是物理页框number,offset和上面虚拟地址的offset相同,是页内偏移。 2-MMU包含两个
    的头像 发表于 11-26 15:40 577次阅读
    MMU包含<b class='flag-5'>两个</b>模块是什么

    运算放大器的两个工作区域

    运算放大器通常有两个工作区域,分别是线性区和饱和区。
    的头像 发表于 11-09 10:27 1500次阅读