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

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

3天内不再提示

一种新的算法StructureFlow重建新算法实现高性能图像修复

nlfO_thejiangme 来源:lq 2019-10-01 16:36 次阅读

图像修复技术对于众多修图软件来说十分重要,在深度学习的帮助下图像修复算法的功能越来越强大,甚至对于大幅度污损的照片也能轻松修复。但目前的很多算法在进行图像修复时却面临着结构重建问题或细节问题修复问题的困难,修复结果不尽如人意。

为了解决这一问题,来自北大、鹏城实验室和腾讯的研究人员提出了一种新的算法StructureFlow,将图像修复的过程分为边缘保持的低频结构重建和基于结构的高分辨率纹理重建,并利用流的方法充分利用未受损像素的信息实现有效的纹理补全和图像修复。

图像修复的主要目的在于为图像中的有效区域和污损区域生成出视觉效果完整的结构和细节,用户不仅可以利用这一技术修复图像的缺失,还可以将它用于图像编辑和物体去除等任务。图像修复最大的难点在于生成正确完整的结构和视觉效果较为真实的细节纹理。

已有的图像修复方法

现存的方法主要可以分为两大类——基于扩散的方法和基于图像片的方法。

基于扩散的方法主要通过将领域的信息传播到缺失的位置来实现纹理合成,然而这种方法只能处理一些较小的孔洞,对于较大范围的结构缺失则无法有效处理。

而基于图像片的方法则不仅仅只利用缺失位置附近的像素点,这种方法可以有效利用更远位置的信息来恢复缺失区域。基于图像片的方法通过搜索与污损区域结构相似的目标区域,并复制图像片来重建缺失区域,这种方法可以为较大的缺失区域生成视觉效果真实纹理。这种方法一般基于双线性相似性的方法来搜索合适的图像片。

但基于片元的方法主要假设非污损区域包含了与污损区域语义相似的内容,但如人脸检测等任务中这种假设并不成立。这种方法在某些有重复性结构的图像中表现良好,但对于具有特殊结构的图像则无法有效处理。

近年来随着深度学习的发展,很多方法将图像修复问题视为一个条件生成问题,将污损图像作为网络输入得到修复后的图像。基于深度学习方法的优势在于可以将图像中的有效语义信息进行抽取,并生成新的图像。

人们提出了包括基于自编码器架构、处理全局和局部内容的判别器、构建长程相关性、选择性利用有效像素以及边缘修复等方法来进行图像修复但都存在着诸如长程相关性无法有效表示、边缘信息无法有效携带纹理等问题,使得这些方法得到的结果都有这样或那样的不足。

StructureFlow

为了解决先前模型存在的问题,研究人员们提出了一种新颖的两阶段网络模型俩实现高质量的图像修复。这一模型包含了两个部分,分别是结构生成器和纹理细节生成器。

研究人员认为图像的修复过程是一个先生成有效结构再补全真实细节的过程。所以网络的第一部分用于生成有意义的结构,研究人员采用了保边平滑后的图像来表示图像场景的全局结构。

保边平滑方法的主要目标在于移除图像中的高频纹理,同时保持锐利边缘和低频信息(这些信息是图像结构的主要组成部分)。利用保边平滑后的图像进行训练,结构重建器可以集中于恢复全局结构而无需考虑细节和纹理的干扰。

在重建出缺失细节后,纹理生成器就可以基于重建出的结构图来合成高频的细节了。由于图像领域的相似结构具有很强的相关性,所有未被污损的区域可以用于修复缺失区域的纹理。

虽然卷积网络对于长程相关性建模比较困难,但研究人员提出了基于图像外观流(appearance flow,AF)的方法来从相似结构区域采样,为不同区域构建清晰关系。此外研究人员还利用了高斯采样代替了双线性采样来拓展了采样操作的感受野,并引入了新的采样正确性损失函数来训练采样过程,以此得到了性能较高的图像修复模型。

实现细节

在结构重建器中,研究人员将最小化生成的低频结构图像与平滑后原图间的误差。第一阶段的监督信号主要来自于GT图的平滑结果,使用了保边平滑算法RTV来得到保持图像主要结构的图片作为标签。模型的主要结构基于自编码器架构得到,添加了一系列残差块用于特征的优化提取。Gs和Gt分别代表了第一阶段的结构生成器和第二阶段的纹理生成器,而判别器则使用了类似于BicycleGAN的架构,利用了两个不同尺度的PatchGAN来预测不同尺度生成图像的真伪。

值得一提的是,这一模型中使用了流的概念来将未受损区域的纹理信息赋予需要修复区域。但原始的AF方法是以一种非监督的方法,网络无法处理较大的运动和较差的局域最小值。

为了解决这一问题,研究人员提出了利用高斯采样的方法来代替原先的双线性采样方法以扩展感受野,并提出了采样正确性损失来约束可能的收敛结果。采样过程通过输入像素(特征)来计算梯度,如果感受野受限只能有少量像素参与计算。由于相邻像素具有较强的相关性,所以较大的感受野有助于获得较为正确和稳定的梯度。双线性采样的感受野较小,不适合于长程相关性的采样建模。而高斯相关性则可以在较大的感受野中进行采样。下式中的权重aij便是可调整方差的高斯核。

而新提出的采样正确性损失则用于衡量模型的采样是否良好,并约束AF场的信息流动。在实际使用中,研究人员主要使用了VGG19层的特征来计基准特征和采样特征之间的余弦距离,以判断这一采样是否合适。

实验结果

研究人员分别在Place2,Celeba和Paris StreetView数据集上进行了实验,并利用Irregular Masks数据集生成缺失污损的图像。

利用客观的SSIM,PSNR和FID进行客观测评,同时也利用MTurk平台进行了主观质量测试。下图显示了研究人员提出的方法与Contextual Attention(CA),Partial Convolution(PConv)和EdgeConnect等方法的比较。

下表中可以看到在多个数据集上本方法都获得了明显的指标提升。

研究人员还将这一算法用于图像编辑任务中去,将图中不希望出现的物体涂上掩膜,就可以修复出完整高质量的清晰图像。同时也可以在结构图上进行编辑为生成的图像增加新的物体或内容。

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

    关注

    23

    文章

    4600

    浏览量

    92646
  • 图像
    +关注

    关注

    2

    文章

    1083

    浏览量

    40418
  • 深度学习
    +关注

    关注

    73

    文章

    5493

    浏览量

    120979

原文标题:全局细节统统修复——StructureFlow重建新算法实现高性能图像修复

文章出处:【微信号:thejiangmen,微信公众号:将门创投】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【「从算法到电路—数字芯片算法的电路实现」阅读体验】+介绍基础硬件算法模块

    作为嵌入式开发者往往比较关注硬件和软件的协调。本书介绍了除法器,信号发生器,滤波器,分频器等基本算法的电路实现,虽然都是基础内容,但是也是最常用到的基本模块。 随着逆全球化趋势的出现,过去的研发
    发表于 11-21 17:05

    【「从算法到电路—数字芯片算法的电路实现」阅读体验】+本介绍基础硬件算法模块实现的好书

    看下本书内容简介,然后再浏览下各个章节的内容。 从简介来看,本书也是关注最基础,最常用的那部分算法的电路实现,比较贴合工程实践,适合无基础或者有定基础的线工程人员阅读。内容选择
    发表于 11-20 13:42

    图像识别算法有哪几种

    图像识别算法是计算机视觉领域的核心技术之,它通过分析和处理图像数据,实现图像中的目标、场景和
    的头像 发表于 07-16 11:22 945次阅读

    图像识别算法都有哪些方法

    图像识别算法是计算机视觉领域的核心任务之,它涉及到从图像中提取特征并进行分类、识别和分析的过程。随着深度学习技术的不断发展,图像识别
    的头像 发表于 07-16 11:14 5140次阅读

    图像识别算法的提升有哪些

    方法。 数据增强 数据增强是提高图像识别算法性能一种有效方法。通过对训练数据进行变换和扩展,可以增加数据的多样性,提高模型的泛化能力。常见的数据增强方法包括: 2.1 旋转、缩放、平
    的头像 发表于 07-16 11:12 595次阅读

    图像识别算法的优缺点有哪些

    图像识别算法一种利用计算机视觉技术对图像进行分析和理解的方法,它在许多领域都有广泛的应用,如自动驾驶、医疗诊断、安全监控等。然而,图像识别
    的头像 发表于 07-16 11:09 1350次阅读

    图像识别算法的核心技术是什么

    图像识别算法是计算机视觉领域的个重要研究方向,其目标是使计算机能够像人类样理解和识别图像中的内容。
    的头像 发表于 07-16 11:02 572次阅读

    opencv图像识别有什么算法

    OpenCV(Open Source Computer Vision Library)是个开源的计算机视觉和机器学习软件库,提供了大量的图像处理和计算机视觉相关的算法。以下是些常见
    的头像 发表于 07-16 10:40 851次阅读

    基于FPGA的常见的图像算法模块总结

    意在给大家补充下基于FPGA的图像算法基础,于是讲解了下常见的图像算法模块,经过个人的总结,
    的头像 发表于 04-28 11:45 544次阅读
    基于FPGA的常见的<b class='flag-5'>图像</b><b class='flag-5'>算法</b>模块总结

    基于NeRF/Gaussian的全新SLAM算法

    基于NeRF的SLAM算法采用全局地图和图像重建损失函数,通过可微分渲染捕获稠密的光度信息,具有高保真度。
    的头像 发表于 01-26 10:48 614次阅读
    基于NeRF/Gaussian的全新SLAM<b class='flag-5'>算法</b>

    Camera算法集成实现指南

    最常见的双摄算法是双摄景深算法或者叫双摄背景虚化算法,除此之外,也有彩色+黑白用于增强夜拍效果的双摄算法。单帧算法和多帧
    的头像 发表于 01-25 15:12 1750次阅读

    怎么用FPGA做算法 如何在FPGA上实现最大公约数算法

    FPGA算法的优点在于它们可以提供高度的定制化和灵活性,使得算法可以根据实际需求进行优化和调整。此外,FPGA还可以实现硬件加速,提供比传统处理器更高的计算性能和吞吐量。因此,FPGA
    的头像 发表于 01-15 16:03 2011次阅读

    FPGA图像处理之CLAHE算法

    在FPGA图像处理--CLAHE算法()中介绍了为啥要用CLAHE算法来做图像增强。
    的头像 发表于 01-04 12:23 2408次阅读
    FPGA<b class='flag-5'>图像</b>处理之CLAHE<b class='flag-5'>算法</b>

    FPGA图像处理-CLAHE算法介绍()

    在介绍CLAHE算法之前必须要先提下直方图均衡化,直方图均衡化算法一种常见的图像增强算法,可
    的头像 发表于 01-02 13:32 1685次阅读
    FPGA<b class='flag-5'>图像</b>处理-CLAHE<b class='flag-5'>算法</b>介绍(<b class='flag-5'>一</b>)

    Vivado HLS的图像传感器FPN噪声去除算法设计

    ,表现为明暗不均匀的条带噪声。同时,为了满足图像传感器的实时摄像要求,算法的处理延时要低[3]。基于以上原因,本设计提出一种适用于图像传感器的 FPN 噪声去除
    的头像 发表于 01-02 11:10 1524次阅读
    Vivado HLS的<b class='flag-5'>图像</b>传感器FPN噪声去除<b class='flag-5'>算法</b>设计