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

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

3天内不再提示

“Image outpainting”能从一个图像片段“推断”出外延的部分补全成整个画面

DPVg_AI_era 来源:未知 作者:李倩 2018-07-31 09:52 次阅读

图像修复(Image inpainting)是一个已经被广泛研究的计算机视觉问题,即恢复图像中缺失的部分。斯坦福大学CS230课程的Mark Sabini等人提出“Imageoutpainting”,比图像修复更进一步,能从一个图像片段“推断”出外延的部分,补全成整个画面。这篇论文获得了CS230期末poster的第一名,效果非常惊艳。

这是Painting Outside the Box: Image Outpainting这篇论文的代码实现。这篇论文在吴恩达的斯坦福大学CS230课程中获得了期末Poster的第一名。

图像修复(Image inpainting)是一个已经被广泛研究的计算机视觉问题,涉及恢复图像中缺失的部分。

目前最先进的图像修复方法方法包括Satoshi Iizuka等人在SIGGRAPH 2017提出的基于GAN的方法[1],以及NVIDIA的Guilin Liu等人提出的基于CNN的方法[2]。

在这个研究中,我们的目标是将[1]的方法拓展到修复图像之外的部分(outpainting),即补全超出图像边界的画面。

通过递归地进行outpainting,可以任意地扩展图像。

问题描述和数据准备

给定一幅 m × n 的源图像,生成一幅 m × (n + 2k) 的图像,其中

要解决的问题是:m=128,n=64,k=32

数据

baseline图像:128×128的RGB城市图像

数据集:Place365-Standard [3]

包含36500张256×256的RGB图像,被降低采样到128×128

100张图像用于验证

Place365数据集中城市图像的样本

数据预处理:

给定图像,标准化成 [0,1] → 

定义mask M:

定义补足的mask

计算

堆叠

输出

方法

训练Pipeline:

使用与文献[1]类似的DCGAN结构(G,D);

给定Itr,进行预处理来得到In和Ip;

运行G(Ip)来得到outpainted的图像Io;

在Io和ground-truthIn上运行D;

训练Schedule:

用于调节G和D的三阶段训练;

阶段i:使用Adam(Ir=0.0001,β1=0.9,β2=0.999,ε=10-8)在迭代Ti中优化损失(i);

在18:2:80的分片中选择T1,T2,T3

α=0.0004控制MSE损失

后处理:

将Io重整化为[0,255]→

使用泊松克隆(Seamless Cloning)来将进行混合

模型

结构

除了G和D的最后一层之外,每一层都是ReLU。G和D的输出是Sigmoid函数。其中,η是伸缩因子(dilation factors)。

Outpainting

验证集中保留图像样本的修复结果,与原始ground-truth一起显示。模型训练了100个时段(相当于227,500次迭代),批量大小为16。

Places365的MSE损失

在Place365中训练MSE损失。不同阶段的背景颜色是不同的。在阶段3中,由于将联合损失(joint loss)进行了优化,MSE损失有小幅度增长。

本地标识符(Local Discriminator)

使用本地标识符进行训练,减少了垂直条带并提高了色彩保真度,但是增加了artifact和训练时间。

扩张(dilation)的影响

网络的训练在城市图像上过拟合了。在扩张不足的情况下,由于接受域有限,网络无法outpaint。

递归的outpainting

在扩展和填充之后,可以将图像输入到网络中。递归地将这个过程进行重复操作,将图像的宽度扩大到3.5。正如期望的那样,噪声随着连续迭代而混合。

结论

最终实现了图像的outpainting;

三阶段的训练有助于其稳定性;

对于outpainting,扩张卷积对充分的神经元接受域至关重要

虽然会伴随噪声和误差,但对outpainting进行递归是可行的。

用Keras实现Image Outpainting

在代码实现中,我们对256*256的图像进行了一些修改:

添加了Identity loss,即从生成的图像到原始图像

从训练数据中删除了patches(训练pipeline)

用裁减(cropping)代替了掩膜(masking)(训练pipeline)

添加了卷积层

结果

模型用海滩的数据训练了200 epochs。

Recursive painting

用Keras实现Image Outpainting

1. 准备数据:

2. 构建模型

要从头开始构建模型,你可以直接运行’outpaint.ipynb',或

你可以下载训练完成模型,并将其移到“checkpoint/”,然后运行它。

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

    关注

    2

    文章

    1083

    浏览量

    40410
  • 计算机视觉
    +关注

    关注

    8

    文章

    1696

    浏览量

    45925

原文标题:吴恩达斯坦福CS230第一名:图像超级补全,效果惊艳(附代码)

文章出处:【微信号:AI_era,微信公众号:新智元】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    《DNK210使用指南 -CanMV版 V1.0》第三十七章 image图像对比实验

    图像的差值的绝对值,并返回image对象,返回的图像中较暗的部分,即两
    发表于 11-07 09:33

    五、画面处理器

    割是很好的选择。例如工业处理控制及赌博时。画面分割器有四分割、九分割、十六分割几种,可以在台监视器上同时显示4、9、16摄像机的图像
    发表于 07-10 08:54

    数字图像处理,Digital Image Processing

    数字图像处理,Digital Image ProcessingIntroduction and Digital Image Fundamentals?What is an Image?
    发表于 06-18 07:49

    急求51单片机输出pwm波的程序,能从一I/O口输出就行,之前找了很多都改不对

    急求51单片机输出pwm波的程序,能从一I/O口输出就行,之前找了很多都改不对
    发表于 07-15 10:57

    GoldWave如何裁剪音乐片段

    ,如图所示,第一个绿色的按钮指的是从来开始播放,第二按钮指的是用鼠标选定段声波进行播放。通过选择不同的部分进行试听来选取你要的片段。如图
    发表于 12-20 16:59

    怎么设计视频图像画面分割器?

    ,设计中所使用的独立的逻辑电路较多,有的甚至使用专用的DSP芯片去处理视频画面的分割。虽然可以满足对视频图像数据处理速度的要求,但是还需要外加CPU去协调系统工作,使得整个系统仍显得体积较大,而且系统
    发表于 09-25 07:29

    能通过空间条件坐标和隐变量生成图像片、并合成完整图片的网络模型

    在前文的架构图中我们已经看到它由生成器和判别器两网络和两套坐标系统组成,其中包括了细粒度的局域图像片坐标系统和粗粒度的宏图像片坐标系统。整个过程中包含了三种
    的头像 发表于 04-22 14:37 4243次阅读
    <b class='flag-5'>一</b><b class='flag-5'>个</b>能通过空间条件坐标和隐变量生成<b class='flag-5'>图像片</b>、并合成完整图片的网络模型

    Linux的源头 从一故事说起

    Linux的起源:从一故事说起
    的头像 发表于 01-13 16:38 1009次阅读

    image图像处理的PHP库资料免费下载

    本文档的主要内容详细介绍的是image图像处理的PHP库资料免费下载。
    发表于 05-27 12:15 10次下载
    <b class='flag-5'>image</b><b class='flag-5'>图像</b>处理的PHP库资料免费下载

    熟悉Sivarc的画面规则,建立程序块与画面对象的链接

    3) 创建精致屏,例如TP1200,插入画面,例如“根画面”,输入文字“西门子Siva
    的头像 发表于 09-04 17:34 4453次阅读
    熟悉Sivarc的<b class='flag-5'>画面</b>规则,建立<b class='flag-5'>一</b><b class='flag-5'>个</b>程序块与<b class='flag-5'>一</b><b class='flag-5'>个</b><b class='flag-5'>画面</b>对象的链接

    Halcon教程:Image、Regiong、XLD基础

    读取的3种方式: read_image( image,'filename')       //image 是输出对象,后面是输入文件的路径和名称 读取多图:  1,申明
    的头像 发表于 01-07 11:52 4908次阅读
    Halcon教程:<b class='flag-5'>Image</b>、Regiong、XLD基础

    基于生成式对抗网络的图像补全方法

    图像补全是数字图像处理领域的重要研究方向,具有广阔的应用前景。提出了种基于生成式对抗网络(GAN)的图像
    发表于 05-19 14:38 14次下载

    从一名为DDPM的模型说起

    DDPM模型,全称Denoising Diffusion Probabilistic Model,可以说是现阶段diffusion模型的开山鼻祖。不同于前辈GAN、VAE和flow等模型,diffusion模型的整体思路是通过种偏向于优化的方式, 逐步从一
    的头像 发表于 01-05 15:40 1668次阅读

    20解决日常问题的Python代码片段

    在本文中,将分享20 Python 代码片段,以帮助你应对日常编程挑战。你可能已经知道其中片段,但有些其他片段对你来说可能是新的。赶
    的头像 发表于 03-13 09:40 977次阅读

    半导体衬底和外延的区别分析

    作为半导体单晶材料制成的晶圆片,它既可以直接进入晶圆制造流程,用于生产半导体器件;也可通过外延工艺加工,产出外延片。
    的头像 发表于 04-24 12:26 3542次阅读
    半导体衬底和<b class='flag-5'>外延</b>的区别分析