不会用Photoshop抠图?Mask R-CNN助你一键“除”人

源 | AI科技大本营

本文作者则通过在 MS COCO 数据集上使用预先训练好的 Mask R-CNN 模型来自动生成图像中行人的掩码脚本,实现人像屏蔽,并且不需要 GPU 就可以运行这个程序。所以,如果你发现相册里有以前开心合过影但现在讨厌的人,可以让他/她一键变成白底了。此外,你还可以用这个脚本生成多达 80 种不同类型目标的掩码,包括长颈鹿和公交车等事物。

▌使用方法

可以通过以下命令运行行人掩码脚本:

python3 person_blocker.py -i images / img3.jpg -c'(128,128,128)'-o'bus''truck'

-i / - image:指定的图像文件。

-m / - model:加载预训练好的 COCO 模型权重的路径(默认是当前目录):如果没有或不存在指定路径,模型将自动下载到当前目录(注意:权重文件的大小为 258 MB)。

-c / - color:掩码的颜色,采用引号包装的十六进制或 RGB 3 元组格式(默认是白色)。

-o / - object:要掩码的目标类型列表(或特定对象的 ID)。你可以在 classes.py 中或通过使用 -names 来查看掩码的对象选择(默认值是行人)。

-l / - labeled:保存检测到的对象及其对象 ID 注释的标记图像。

-n / - names:打印目标的类别选项,然后退出。

该脚本输出两张图像:静态图像(双关意图) person_blocked.png 和动画图像 person_blocked.gif。

▌示例

python3 person_blocker.py -i images/img1.jpg

python3 person_blocker.py -i images/img2.jpg -c '#c0392b' -o 'giraffe'

python3 person_blocker.py -i images/img3.jpg -c '(128, 128, 128)' -o 'bus' 'truck'

特定目标的掩码需要两个步骤:在推理模式下运行以获取每个目标 ID,然后掩码这些目标 ID。

python3 person_blocker.py -i images/img4.jpg -l

python3 person_blocker.py -i images/img4.jpg -o 1

▌安装环境

这个脚本所需的环境配置和 Mask R-CNN 一样:

Python 3.4+

TensorFlow 1.3+

Keras 2.0.8+

Numpy, skimage, scipy, Pillow, cython, h5py

此外,还需要添加 matplotlib 和 imageio 依赖库。

作者:minimaxir

原文链接:https://github.com/minimaxir/person-blocker

原文发布于微信公众号 - 机器学习算法与Python学习(guodongwei1991)

原文发表时间:2018-04-23

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏有趣的django

第一章 魔法函数

1960
来自专栏深度学习那些事儿

pytorch中读取模型权重数据、保存数据方法总结

pytorch中保存数据策略在长时间的深度训练中有很大的作用,我们可以通过保存训练好的权重,然后等到下次使用的时候再取出来。另外我们也可以通过迁移学习使用别人训...

1.5K8
来自专栏简书专栏

基于tensorflow、CNN、清华数据集THUCNews的新浪新闻文本分类

tensorflow是谷歌google的深度学习框架,tensor中文叫做张量,flow叫做流。 CNN是convolutional neural netwo...

1161
来自专栏AIUAI

Caffe2 - (二十四) Detectron 之 utils 函数(2)

47511
来自专栏计算机视觉与深度学习基础

Leetcode 37 Sudoku Solver 深搜基础题+位运算

Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cel...

1777
来自专栏V站

Python科学计算:在Numpy的边缘试探(入门学习)

1616
来自专栏Django中文社区

统计各个分类下的文章数

在我们的博客侧边栏有分类列表,显示博客已有的全部文章分类。现在想在分类名后显示该分类下有多少篇文章,该怎么做呢?最优雅的方式就是使用 Django 模型管理器的...

2884
来自专栏生信宝典

R语言学习 - 箱线图一步法

箱线图 - 一步绘制 绘图时通常会碰到两个头疼的问题: 有时需要绘制很多的图,唯一的不同就是输入文件,其它都不需要修改。如果用R脚本,需要反复替换文件名,繁琐又...

2585
来自专栏IT派

干掉照片中那些讨厌的家伙!Mask R-CNN助你一键“除”人!

【导读】:看过英剧《黑镜》吗?圣诞特别版《白色圣诞节》中有这样一个场景:其中一个未来科技有自由屏蔽人像的功能,可以让你屏蔽任何一个不想看见或不喜欢的人,然后留下...

790
来自专栏生信宝典

Bedtools使用简介

2724

扫码关注云+社区