不会用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 条评论
登录 后参与评论

相关文章

来自专栏人工智能LeadAI

pytorch入门教程 | 第四章:准备图片数据集

在训练神经网络之前,我们必须有数据,作为资深伸手党,必须知道以下几个数据提供源: 1 CIFAR-10 ? CIFAR-10图片样本截图 CIFAR-10是多...

1K80
来自专栏人工智能LeadAI

OpenCV人脸识别之二:模型训练

本系列人脸识别文章用的是opencv2,最新版的opencv3.2的代码请参考文章: OpenCV之识别自己的脸——C++源码放送(请在上一篇文章末尾查看) 在...

1.6K60
来自专栏机器之心

教程 | TensorFlow 官方解读:如何在多系统和网络拓扑中构建高性能模型

选自Tensorflow 机器之心编译 参与:黄玉胜、黄小天 这个文档和附带的脚本详细介绍了如何构建针对各种系统和网络拓扑的高性能可拓展模型。这个技术在本文档中...

392110
来自专栏生信技能树

【r<-ROC|包】分析与可视化ROC——plotROC、pROC

在【r<-绘图|ROC】ROC的计算与绘制这篇文章中我讲了ROC曲线的本质以及如何计算和绘制ROC曲线。注意,我这里谈到的ROC并未曾涉及机器学习模型的拟合与预...

23020
来自专栏Small Code

【TensorFlow | TensorBoard】理解 TensorBoard

TensorBoard 是用于可视化 TensorFlow 模型的训练过程的工具(the flow of tensors),在你安装 TensorFlow 的时...

1.9K120
来自专栏机器学习算法工程师

应用TF-Slim快速实现迁移学习

作者:张旭 编辑:张欢 这是一篇以实践为主的入门文章,目的在于用尽量少的成本组织起来一套可以训练和测试自己的分类任务的代码,其中就会用到迁移学习,TF-Sli...

61260
来自专栏PaddlePaddle

【FAQ】模型配置相关问题汇总

导语 我们用13篇推文向您介绍了如何安装、编译和使用PaddlePaddle,您可以点击公众号右下角的历史消息获取相应的使用指南。 ? 在使用指南的最后一部分,...

392100
来自专栏ATYUN订阅号

保存并加载您的Keras深度学习模型

Keras是一个用于深度学习的简单而强大的Python库。 鉴于深度学习模式可能需要数小时、数天甚至数周的时间来培训,了解如何保存并将其从磁盘中加载是很重要的...

65260
来自专栏点滴积累

使用 opencv 将图片压缩到指定文件尺寸

前言 图片压缩应用很广泛,如生成缩略图等。前期我在进行图片处理的过程中碰到了一个问题,就是如何将图片压缩到指定尺寸,此处尺寸指的是生成图片文件的大小。 我使用 ...

96980
来自专栏10km的专栏

SSD(Single Shot MultiBox Detector):ubuntu16安装及训练自己的数据集(VOC2007格式)过程记录

安装SSD # SSD代码clone到 caffe-ssd文件夹下 git clone --recursive https://github.com/weili...

52260

扫码关注云+社区

领取腾讯云代金券