百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 编程字典 > 正文

拍照总被路人甲抢镜那就用这个项目消Ta

toyiye 2024-06-21 12:21 19 浏览 0 评论

选自Github

作者:Jiahui Yu

机器之心编译

参与:Jamin、思

自己的照片有路人甲入镜是常有的事,但有些未免太过抢镜,甚至盖过了主角的风头。P 图高手往往选择自己手动去掉背景里不相干的人,但开发者不想那么麻烦,于是开发了一些项目来一键消掉路人甲。

项目地址:https://github.com/JiahuiYu/generative_inpainting

该项目的作者是 Google Brain 的华人研究员 Jiahui Yu,刚刚在 2020 年获得了 University of Illinois at Urbana-Champaign 的 PhD 学位,导师为 Thomas Huang。他本科 2016 年毕业于中国科学技术大学。作者曾在多家 AI 相关公司丰富实习经历,如旷视、Adobe、Snap、百度研究院、微软亚研等。主要的研究方向在于视觉感知,生成模型,序列以及高性能计算。


该项目因最近引入了 ICCV 2019 Oral 论文《Free-Form Image Inpainting with Gated Convolution》中的方法提升了效果而突然火起来,在GitHub上的star量达到1.5k。这篇论文的一作就是这位华人。

论文链接:https://arxiv.org/pdf/1806.03589.pdf

图像补全效果

很多时候,我们对于图像补全的效果都持有怀疑态度,论文上展示的生成效果,或者 Demo 视频演示的效果看起来非常惊艳,但实际我们采用预训练模型时,修复效果并没有那么理想。如下可以先看看理想情况下的修复效果,尤其是第二行,地面上的线条和手推车都有补全。


作者在项目中提供了交互式 Demo,我们可以自由 Mask 掉图像的某些部分,然后查看它的生成效果。Deepfill v2 一共提供了两个模型,分别在 Places2 和 CelebaHQ 两个数据集上进行了预训练。从效果上看,至少对于这两个数据集,在场景和人脸图像上,它做得还是非常不错的,尤其是人脸的补全效果。

第一行为真实图像,第二行为抹掉细节的图像,第三行为 DeepFill v2 修复的图像。

后面,我们就要试试自己的图像了,看看模型的泛化能力怎么样。当然,因为预训练模型取自 Places2 和 CelebaHQ 数据集,我们也会找相似的图像进行测试。

作者表示,该项目的依赖项主要只有三项,即 Python 3、TensorFlow 和他做的一个 TF 工具包 neuralgym。其中作者在 TF 1.3、1.4、1.5、1.6、1.7 版本上都测试,且各种模型超参都放在了 YML 文件中,方便调整。

如果读者有自己的数据集或者想要复现一下,可以具体看看原 GitHub 项目,后面我们将下载预训练模型,并试试它的效果。

python test.py --image examples/places2/case1_input.png --mask examples/places2/case1_mask.png --output examples/places2/case1_output.png --checkpoint_dir model_logs/places2_256

从总体运行情况来看,因为是新建的环境,所以除了项目描述的库外,还需要 OpenCV、PIL 和 YAML 三个包,它们的安装都还简单。我们先运行了一下测试样本,得到的效果确实非常不错,和论文中描述的差不多:

下面,我们就要试试网上找到的图片,试试模型的泛化效果了:

因为试了几次,手动构建的 Mask 图像都存在一些问题,因此这里直接用已有的 Mask 图像,试试模型泛化到互联网图片的效果。为了不为难模型,我们找了一张背景稍微简单的图像:

图像的修复效果还是挺不错的,线条与背景都没多大问题。之前机器之心测试过的图像修复模型,很多都只能在特定数据上有比较好的效果,模型过拟合现象比较明显。而在这个项目中,即使从网上找一张图像,效果也还挺不错。

这么优秀的效果,它的论文也非常不错,DeepFill v2 的原论文被 ICCV 2019 接收为 Oral 论文。作者提出了一种新型门控卷积神经网络来修复图像,论文利用了 GAN 生成与判别模式,生成的修复图会经过提炼,并期待能欺骗判别器,令判别器将其判断为「真实修复图」。

整体模型的主要框架,它能对各种缺损的图像进行修复。

最后,这个 1.5K Star 量的项目,还有论文都值得读者们入手测试测试。

相关推荐

如何使用 Python 构建一个“谷歌搜索”系统?| 内附代码

来源|hackernoon编译|武明利,责编|Carol出品|AI科技大本营(ID:rgznai100)在这篇文章中,我将向您展示如何使用Python构建自己的答案查找系统。基本上,这...

Python 模拟微博登陆,亲测有效!(如何用python爬微博)

今天想做一个微博爬个人页面的工具,满足一些不可告人的秘密。那么首先就要做那件必做之事!模拟登陆……代码是参考了:https://www.douban.com/note/201767245/,我对代码进...

Python 驱动的 AI 艺术批量创作: 免费的Bing 绘图代码解析

这篇文章将深入分析一段Python代码,该代码利用Bing的AI绘图功能,即bing的images/create,根据用户提供的文本提示生成图像。我们将详细探讨其工作原理、代码结构、...

Python爬虫Scrapy库的使用入门?(python scrapy爬虫)

Scrapy是一个开源的并且支持高度可扩展的Python爬虫框架,主要被用来实现从网站提取数据。出现之初就是为网页抓取而设计,但是现在它也可以被用于从APIs中抓取数据或通用的Web抓取任务。Sc...

Python3 标准库概览(python标准库有什么)

操作系统接口os模块提供了不少与操作系统相关联的函数。>>>importos>>>os.getcwd()#返回当前的工作目录'C:\\Python34...

零基础入门学习Python(三):变量和字符串

分享兴趣,传播快乐,增长见闻,留下美好!亲爱的您,这里是LearningYard新学苑。今天小编为大家带来的是...

Python读写docx文件(python读写word)

Python读写docx文件Python读写word文档有现成的库可以处理pipinstallpython-docx安装一下。https://python-docx.readthedocs.io/...

如何利用Xpath抓取京东网商品信息

前几小编分别利用Python正则表达式和BeautifulSoup爬取了京东网商品信息,今天小编利用Xpath来为大家演示一下如何实现京东商品信息的精准匹配~~HTML文件其实就是由一组尖括号构成的标...

如何利用Xpath选择器抓取京东网商品信息

前几小编分别利用Python正则表达式和BeautifulSoup爬取了京东网商品信息,今天小编利用Xpath来为大家演示一下如何实现京东商品信息的精准匹配~~HTML文件其实就是由一组尖括号构成的标...

python之Scrapy爬虫案例:豆瓣(python爬虫书籍豆瓣评分)

python模块之Scrapy爬虫框架...

Python编程入门学习:最常见加密方式和Python实现

前言我们所说的加密方式,都是对二进制编码的格式进行加密的,对应到Python中,则是我们的Bytes。所以当我们在Python中进行加密操作的时候,要确保我们操作的是Bytes,否则就会报错。将字符串...

一日一技:Python中的string.rindex()方法

string.rindex()方法string.rindex()方法返回字符串内子字符串的最高索引(如果找到)。如果未找到子字符串,则会引发异常。rindex()的语法为:...

Asterisk-ARI对通道中的DTMF事件处理

Asterisk通道中关于DTMF处理是一个非常重要的功能。通过DTMF可以实现很多的业务处理。现在我们介绍一下关于ARI对通道中的DTMF处理,我们通过自动话务员实例来说明Asterisk如何创建一...

PyQt5 初次使用(pyqt5下载官网)

本篇文章默认已安装Python3,本篇文章默认使用虚拟环境。安装pipinstallPyQt5PyQt一些图形界面开发工具QtDesigner、国际化翻译工具Liguist需要另外...

Qt开发,使用Qt for Python还是Qt C++ Qt开发,使用Qt for

Qt开发使用QtforPython还是QtC++?1.早些年写过一个PyQt5的项目,最近几年重构成QtC++了,其中有个人原因,如早期代码写得烂,...

取消回复欢迎 发表评论:

请填写验证码