前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何用人工智能免费抠除任意视频背景?

如何用人工智能免费抠除任意视频背景?

作者头像
王树义
发布2021-05-28 15:53:34
3K1
发布2021-05-28 15:53:34
举报
文章被收录于专栏:玉树芝兰玉树芝兰玉树芝兰

自从去年以来,因为线上教学和当UP主,我录制视频的机会显著增多了。

只不过,视频背景的处理一直是个痛点。

这是我最近录的一段视频开头部分。

你如果一直在看我的视频节目,对这个背景兴许并不陌生。

我真的喜欢后面墙上不规则的黑板白班、脱落的墙皮和不知道什么颜料的笔画上去的线条吗?

当然不是。

但是我没有选择。家里地方小,东西堆得满。能利用的地方,只有这么大而已。

之前在视频教程里面,我给你介绍过人工智能应用 runwayml 把任何的视频背景都变成绿幕。

这样你就可以把背景换成你想要的样子。书房、图书馆、咖啡馆……甚至是太空。

但是这个方法有些问题。一来需要你手工进行微调(主要对于边缘未能正确识别的区域),二来价格比较高。

原先我试用的时候,每个月是15美金。刚刚打开网站又看了一眼——又涨价了。现在需要28美金/月,还是按年支付的优惠价格。

面对高价,我是不是得转回头,每次都把绿幕弄上呢?

不。明明有了新的技术,咱可不能这么容易服输。

好在,我发现了另一款同样基于人工智能的应用。

它可以变任意背景为绿幕效果,不需要你手动进行边缘色块调整,而且还免费。

在官网主页上面,有一些实际效果的演示。

例如这一个。

实话实说,我被震惊了。别说是人像边缘了,就连快速抖动散乱头发的抠图,都做得堪称完美。

应用的作者是一群来自华盛顿大学的研究者。

你要是对这个应用背后的技术细节感兴趣,他们的论文也可以全文阅读。

在我的公众号后台回复「pbmat」,你就可以免费获得该论文下载地址。

下面我们来说说这个抠图应用怎么用。

尽管作者在官网主页上提供了源代码和脚本样例,但是我觉得最好的使用方式,还是使用 Google Colab Notebook 的方式。

在我的公众号后台回复「cbmat」,你就能找到 Colab Notebook 的链接。

打开之后,大概长这样。

这个样例 Colab Notebook 里包含的代码块,一共只有5个,很简洁。而且其中前两个还是可以忽略的。

因为第一行是安装gdown软件包依赖。而实际上,这个软件包是Google Colab 自带默认载入的。因此没有必要重新安装。

至于第二代码块的两行,则是只有你使用应用自带样例的时候才需要。

!gdown https://drive.google.com/uc?id=1tCEk8FE3WGrr49cdL8qMCqHptMCAtHRU -O /content/src.mp4 -q
!gdown https://drive.google.com/uc?id=1wAR3JjnTO60B_DUr7ruIJj0Z2pcIGkyP -O /content/bgr.png -q

你只需要在页面左侧的文件管理器中,点击按钮,上传自己的视频文件为 src.mp4 ,背景图片为 bgr.png,就可以了。

这里,我必须要说明一下,需要自己上传背景照片这一点,现在还让人感觉麻烦。不过我实际操作了一下,录像之后随手拍了一张背景图,也就是这个样子。倒也不费什么事。

看了背景之后,你大概也明白我为啥非想要把它去除了吧?

越过前面2个代码块,咱们直接依次执行后面的3个。如果你对 Google Colab 的操作不是很熟悉,也可以参考一下我的这篇《如何用 Google Colab 练 Python?》。

执行过程你需要稍微等待一会儿,电脑在云端积极地帮你进行运算处理。

当处理结束的时候,你会在 output 目录下面看到若干个文件。其中的 com.mp4 是我们需要的。

打开以后,是这个样子的。

可以看到,前面人像在动,但是边缘处理非常妥帖。

在 output 目录下面,你还能看到几个其他的视频文件。它们都是输出过程中产生的副产品。

例如这个,是机器帮你扣出的前景动态轮廓。

我是用一个完整视频的前10秒,进行的测试。现在测试成功了,我于是换上完整版视频。视频长度为10分钟左右,体积大约900MB。

这次的处理,就比较缓慢了。我等了一个多小时,才算弄好。不过其实这里是可以优化提速的,下文有介绍。

Google Colab 运行在云端,不需要消耗本机计算资源。你不需要时刻把窗口开在前面,甚至可以中途盖上笔记本盖子休眠。只需要保证窗口离线时间不要太久就好。我的经验是半个小时左右开启看一次就好。如果已经离线,Colab 会自动尝试重新连接运行时(Runtime)。

我这里有几个小建议。

首先,你当然也可以直接把900多MB的视频上传到 Google Colab 的文件工作区。但是这个上传速度,会很慢。

我建议你先把视频文件存储到 Google Drive 里面,然后利用 gdown 命令,下载到 Colab 。从 Google Drive 到 Colab ,比直接上传,能快上十倍不止。

我这里仿照 Notebook 默认样例,写下来的语句是这样的。

!gdown https://drive.google.com/uc?id=1AKmOVf3h8o-BkATV6WZownknkDp6GZJH -O /content/bgr.png -q

第二个问题是背景图片。尽管我是在同一地点按下手机的拍照按钮,但是因为 iPhone 摄像的设定,录像的分辨率(1920x1080)和手机拍照的分辨率不一致,就会导致报错。

问题解决起来并不复杂。我找到了这样一个网站,叫做 aconverter 。它可以免费在线转换图片的格式和分辨率。

这里我设定转成 PNG 格式,并且把新的分辨率强制设定为 1920x1080,运行的时候就没有再次报错了。

第三,是我真正转换完毕,才发现的问题,那就是其实 Notebook 里面有提示。如果只需要转换结果,不需要那些副产品,则运行速度可以提升的。

你所需要做的,只是把最后一个代码块中的这一句

--output-type com fgr pha err ref

改成

--output-type com

就可以了。

成功转换视频背景为绿幕之后,我在 unsplash 网站上面找到了一个不要版权的背景图片。

看着挺眼熟吧?没错,不少在线会议网站,都用了这个背景图。

最终合成的效果,是这个样子的。

怎么样,这背景看着,还挺像回事吧?

小结一下,这款新的人工智能抠图应用使你无需购买或使用绿幕,便可以利用免费的 Google Colab Notebook ,获得几乎完美的抠图效果。

你有没有更好的视频抠图方式呢?欢迎在留言区分享给大伙儿。咱们共同学习交流。

感觉有用的话,请点“在看”,并且把它转发给你身边有需要的朋友。

记得订阅我的微信公众号「玉树芝兰」,第一时间免费收到文章更新。别忘了加星标,以免错过新推送提示。

如果有疑问,或需要进一步沟通,请加入我的知识星球。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-05-19,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 玉树芝兰 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档