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

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,182元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: 图像修复是一个已经被广泛研究的计算机视觉问题,即恢复图像中缺失的部分。斯坦福大学CS230课程的Mark Sabini等人提出“Image outpainting”,比图像修复更进一步,能从一个图像片段“推断”出外延的部分,补全成整个画面。

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

代码和论文地址:
https://github.com/bendangnuksung/Image-OutPainting
https://cs230.stanford.edu/projects_spring_2018/posters/8265861.pdf

这是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张图像用于验证

image

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

数据预处理:
给定图像,标准化成 [0,1] →
定义mask M:
定义补足的mask
计算的平均像素强度

堆叠
输出

方法

训练Pipeline:
使用与文献[1]类似的DCGAN结构(G,D);
给定Itr,进行预处理来得到In和Ip;
运行G(Ip)来得到outpainted的图像Io;
在Io和ground-truth In上运行D;

image


训练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损失

image

后处理:
将Io重整化为[0,255]→
使用泊松克隆(Seamless Cloning)来将和进行混合

模型

image

结构

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

image

Outpainting

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

image



Places365的MSE损失

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

image

本地标识符(Local Discriminator)

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

image



扩张(dilation)的影响

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

image



递归的outpainting

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

结论

最终实现了图像的outpainting;
三阶段的训练有助于其稳定性;
对于outpainting,扩张卷积对充分的神经元接受域至关重要
虽然会伴随噪声和误差,但对outpainting进行递归是可行的。

用Keras实现Image Outpainting

在代码实现中,我们对256*256的图像进行了一些修改:
添加了Identity loss,即从生成的图像到原始图像
从训练数据中删除了patches(训练pipeline)
用裁减(cropping)代替了掩膜(masking)(训练pipeline)
添加了卷积层

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

image

Recursive painting

image

用Keras实现Image Outpainting

  1. 准备数据:

    image

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

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

模型下载地址:
https://drive.google.com/file/d/1548iAtsNf3wLSc1i5zYy-HX8_TW95wi_/view?usp=sharing

Reference:
[1] S. lizuka, E. Simo-Serra, and H. Ishikawa. Globally and Locally consistent image completion. ACM Transactions on Graphics (TOG), 36 (4) : 107, 2017.
[2] G. Liu, F. A. Reda, K. J. Shih, T.-C. Wang, A. Tao, and B. Catanzaro. Image inpainting for irregular holes using partial convolutions. arXiv preprint arXiv:1804. 07723, 2018.
[3] B. Zhou, A. Lapedriza, A. Khosla, A. Oliva, and A. Torralba. Places : A 10 milLion image database for scene recognition. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2017.

原文发布时间为:2018-07-30
本文来自云栖社区合作伙伴新智元,了解相关信息可以关注“AI_era”。
原文链接:吴恩达斯坦福CS230第一名:图像超级补全,效果惊艳(附代码)

相关文章
|
存储 Windows
怎样格式化硬盘?四种硬盘格式化方法(含详细图文步骤)
这篇内容介绍了硬盘格式化的方法,包括为何要格式化硬盘(如快速清空数据、建立新分区、修复错误、改变文件系统类型)和四种格式化方式:1) 使用文件管理器,2) 通过磁盘管理器,3) 利用分区工具DiskGenius,4) 使用diskpart命令。在执行格式化前,务必备份重要数据,因为格式化会导致数据丢失。
|
C++ Python
VS Code按住ctrl不能跳转到定义/函数(Python)
VS Code按住ctrl不能跳转到定义/函数(Python)
3800 0
VS Code按住ctrl不能跳转到定义/函数(Python)
|
6月前
联通骨干网如何从内循环走向全球化?
中国联通骨干网的发展历程堪称中国互联网基础设施建设的缩影。从承载2G/3G业务的B网起步,经由169网的国内“内循环”先锋阶段,到A网(CUII)的企业级服务高速公路,再到国际化的AS10099骨干网,形成当前“China169+CUII”的双网格局。这一布局实现了普通用户与企业需求的分离,确保服务质量的同时提升资源调配效率,为数字中国建设提供了坚实支撑。
131 0
联通骨干网如何从内循环走向全球化?
|
算法 自动驾驶 物联网
解读蜂窝网络中的频谱共享技术
解读蜂窝网络中的频谱共享技术
449 5
|
10月前
|
监控 数据可视化 项目管理
高效时间管理工具如何帮助优化日常任务管理?2024年6款最优秀软件
在快节奏的现代工作环境中,高效的时间管理和任务协作工具成为提升生产力的关键。2024年,随着工作模式的变化,企业及个人愈发依赖这些工具来优化时间管理、任务分配和团队协作。本文精选了几款高效工具,如板栗看板、ClickUp、Notion、Wrike、Todoist和Evernote,它们各自具备独特优势,适用于不同行业和规模的团队,帮助用户在繁忙的工作中保持高效和有序。
1349 6
高效时间管理工具如何帮助优化日常任务管理?2024年6款最优秀软件
|
机器学习/深度学习 人工智能 自然语言处理
详解人工智能(概念、发展、机遇与挑战)
详解人工智能(概念、发展、机遇与挑战)
|
编解码
Open3D Voxelization 体素化
Open3D Voxelization 体素化
366 1
|
Kubernetes 安全 前端开发
三分钟了解RBAC模型
时至今日,RBAC访问控制模型已经渗入IT领域的多个方面,有传统技术方面的操作系统、数据库、中间件Web服务器,有新兴技术方面的Kubernetes、Puppet、OpenStack等。RBAC访问控制模型能得到如此丰富而广泛的使用,得益于它基于用户与角色关系分配权限进行访问控制的核心理念。
三分钟了解RBAC模型
|
Linux
如何在Linux中挂起和恢复进程?
如何在Linux中挂起和恢复进程?
764 1
|
人工智能 编解码 机器人
硬核解读Stable Diffusion(3)
硬核解读Stable Diffusion