欢迎光临散文网 会员登陆 & 注册

RobustVideoMatting:一键抠图神器,头发丝清晰可见

2022-09-30 11:32 作者:梦醒南天  | 我要投稿

一、简介

        RobustVideoMatting 是字节跳动研究的,专为稳定人物视频抠像设计的开源项目。不同于现有神经网络将每一帧作为单独图片处理,RobustVideoMatting 使用循环神经网络,在处理视频流时有时间记忆。可在任意视频上做实时高清抠像。

        RobustVideoMatting 的 Github 地址:https://github.com/PeterL1n/RobustVideoMatting

RobustVideoMatting 官方效果图

        虽然 RobustVideoMatting 是用于视频抠像的,但是我们也可以将其用于对单张图片进行抠图。本文就针对单张图像的抠图效果进行演示。


二、下载 RobustVideoMatting 源码

        借助 git 工具,输入下面的命令即可克隆源代码:

        命令执行情况如下:

下载 RobustVideoMatting 源码

三、环境配置

        基础环境如 Python、Pytorch、CUDA Toolkit,网上有很多详尽的教程,我们就不在此赘述了。在具备上述环境的基础之上,我们还要安装项目依赖的工具(av、tqdm、pims),输入下面的命令即可进行安装:

        如果已经安装过了,那么执行上述命令时就会如下图所示:

安装 av tqdm pims

四、准备待抠图的照片

        首先准备好要抠图的照片:

准备好的照片

        我们在源码目录下面创建一个 images 文件夹,然后把照片放进去。

        需要注意的是:这里要求放进去的是图像序列。也就是说,如果一次要对多张照片进行批量抠图的话,那么这些照片的尺寸必须是一致的,否则我们只能每次放进去一张。

待抠图的单张照片

五、编写抠图的代码并执行

        代码不多,有效代码总共不到 5 行,我们只需要编写一次即可,后面使用的时候就直接执行它进行可以一键抠图了。

        这里,我们把上述代码的文件命名为 image_matting.py,所以下面我们直接执行这个文件就可以进行抠图操作了。

        代码的具体执行情况如下图所示:

代码执行情况


六、获取输出图像,查看抠图效果

        执行完上一步的代码后,我们就可以在 output 文件夹下面找到最终完成抠图的照片了。接下来我们展示一下抠图的效果。

图一:抠图前后对比

图一、抠图前
图一、抠图后

图二、抠图前后对比:

图二、抠图前
图二、抠图后

图三、抠图前后对比:

图三、抠图前
图三、抠图后

图四、抠图前后对比:

图四、抠图前
图四、抠图后


七、后记

        从我实际测试的最终效果上看,并不是所有的图片都能取得好效果。可能是 RobustVideoMatting 只专注于视频抠像而不擅长单张图片的人像抠图吧。后面有时间我再试试其他的专门做图片人像抠图的套件,看看效果会不会更好。

RobustVideoMatting:一键抠图神器,头发丝清晰可见的评论 (共 条)

分享到微博请遵守国家法律