【AI达人创造营第二期】拍电影没有绿幕,AI给我们造 超强的稳定视频抠像R_副本

没有绿幕,AI给我们造! 超强的稳定视频抠像 (RVM)

转载自AI Studio 项目链接https://aistudio.baidu.com/aistudio/projectdetail/3513358

论文作者github官方地址:https://github.com/PeterL1n/RobustVideoMatting

论文效果B站展示:https://www.bilibili.com/video/BV1Z3411B7g7/

最新 AI 人物抠像论文效果展示

稳定视频抠像 效果惊人

回想我第一次看见论文效果的时候,是在B站偶然浏览到这个视频,简直惊为天人,原来视频抠图还能这样玩!这不就是把《黑客帝国》开始大热的绿幕拍摄技术普及到人人都可以操作的地步了么!人人都可以当名导!

当时B站上没有链接官方地址,我是费了好大的劲,才找到官网代码库的。结果官方还没有飞桨代码版,这怎么可以?叔能忍婶也不能忍,对吧。当时的我不知道天高地厚,暗暗定下一个小目标:一定要复现出飞桨版本!

代码复现过程是曲折的

从定目标到复现出来,小半年过去了,那过程怎么能说曲折呢,那是相当曲折!此处省略2个共享项目篇幅。后期会发出复现过程的项目共享,里面详细记录一个小白怎样从零开始复现一个CVPR最佳论文的坎坷过程。

结果是美好的

功夫不负有心人,终于成功啦!当时复现成功的时候,尽管累的连跳起来的力气都没有了,但心情很激动,感觉狠值得!

请开始我们的表演

如何把大象放进冰箱里?对不起,走错片场了。如何像著名导演一样绿幕抠图,只需要三步

1 fork本项目,然后运行

点一下右上角的forc 按钮即可一键fork并执行。建议选高级版环境,有特斯拉V100加成的GPU,动力强劲,视频处理速度更快!

2 上传素材

建议使用室外明亮光线下拍摄的视频,抠图效果会更好。
AIStudio有上传限制,较大的视频可以采用数据集挂载的方式传入。

广告时间:飞桨AIStudio数据集系统已经打通百度网盘上传通道了,可以直接从百度网盘上传。

3 执行

将上传的视频文件修改名字为dance.mp4 ,然后直接执行下面的两个cell即可。纯白新手不熟悉AIStudio CodeLab系统操作的朋友,直接在菜单选择“运行” - “运行所有单元格” 即可。

如果不想改名字,就要修改下代码,将这部分

input_source='dance.mp4',        # 视频文件,或图片序列文件夹

里面的dance.mp4修改成自己上传的视频文件名即可。

运行后稍微等待一下,普通清晰度的视频,转换时间跟播放时间差不多,很快视频就转换完成了,转换后的文件名为:com.mp4 ,直接下载到本地观看即可!

# 安装相关包, ipywidgets安装好之后若继续报错则要重启内核
!pip install av tqdm pims ipywidgets
# 下面是见证奇迹的时刻!
import paddle
from model import MattingNetwork
from inference import convert_video
model = MattingNetwork('resnet50') 
model.set_state_dict(paddle.load("rvm_resnet50.pdparams"))
convert_video(
    model,                           # 模型,可以加载到任何设备(cpu 或 cuda)
    input_source='dance.mp4',        # 视频文件,或图片序列文件夹
    output_type='video',             # 可选 "video"(视频)或 "png_sequence"(PNG 序列)
    output_composition='com.mp4',    # 若导出视频,提供文件路径。若导出 PNG 序列,提供文件夹路径
    output_alpha="pha.mp4",          # [可选项] 输出透明度预测
    output_foreground="fgr.mp4",     # [可选项] 输出前景预测
    output_video_mbps=4,             # 若导出视频,提供视频码率
    downsample_ratio=None,           # 下采样比,可根据具体视频调节,或 None 选择自动
    seq_chunk=1                    # 设置多帧并行计算 12
)

上传各种视频进行抠图处理,看看都有什么惊喜?

恭喜,又一位大导演诞生了!

现在我们站在了跟国际大导演同一条起跑线上,后面比的就是创意了!

大家有什么创意,可以在项目评论区交流哈!

我是一直对西游记里神仙们腾云驾雾印象深刻,当年都是徒手剪胶片实现的,又苦又累,要是有咱们现在抠图技术就好啦!于是我将生成的视频叠加上蓝天白云,实现了在天空中跳舞的效果,也算圆了我的西游记之梦!
抠图效果略有不足,如果能用室外光线拍摄,效果会好些。

原片是一个妹子放在B站的视频,若不允许就通知我删除哈。

from IPython.display import display, HTML

html_str = '''

'''.format("dancesky.mp4")

display(HTML(html_str))

# 天空中跳舞,需要在项目里面执行才能看到。

animation

这个项目,了解下,王多鱼投不?

项目简介

项目 Robust High-Resolution Video Matting with Temporal Guidance ,简称:RVM,专为稳定人物视频抠像设计。不同于现有神经网络将每一帧作为单独图片处理,RVM 使用循环神经网络,在处理视频流时有时间记忆。RVM 可在任意视频上做实时高清抠像。在 Nvidia GTX 1080Ti 上实现 4K 76FPS 和 HD 104FPS。此研究项目来自字节跳动。

项目特点

  1. 效果非常好。
    就像前面视频里展示的一样,抠图效果惊人,头发丝都能抠出来,让人以为视频是绿幕前拍出来。

  2. 不需要任何辅助输入
    也有一些非常棒的抠图论文,但是大部分都需要辅助输入,比如一张背景图。那种情况,咱们的大导演们拍片的时候,除了拍演员,还要在同一地点同一机位单独拍一遍背景,导演说这么麻烦我还是用绿幕算了。

  3. 使用简单方便,没有技术门槛
    不需要任何技术背景,人人都可以当大导演。尤其是在AIStudio项目里,只要动动手上传视频,一键转换,然后下载即可。

AIStudio里提供了Nvidia Tesla V100 顶级显卡算力支持,让视频抠图快到飞起!

抠像效果提升小技巧

如果想追求较好的效果,最好选用光源条件良好的片源

根据视频内容进行下采样比设定

针对视频清晰度大小和画面中人物是全身还是半身等,可以按照如下表格设定downsample_ratio参数,根据视频内容进行调节,以提高效果。

下采样比设定参考:

分辨率 人像 全身
<= 512x512 1 1
1280x720 0.375 0.6
1920x1080 0.25 0.4
3840x2160 0.125 0.2

模型在内部将高分辨率输入缩小做初步的处理,然后再放大做细分处理。

建议设置 downsample_ratio 使缩小后的分辨率维持在 256 到 512 像素之间. 例如,1920x1080 的输入用 downsample_ratio=0.25,缩小后的分辨率 480x270 在 256 到 512 像素之间。

根据视频内容调整 downsample_ratio。若视频是上身人像,低 downsample_ratio 足矣。若视频是全身像,建议尝试更高的 downsample_ratio。但注意,过高的 downsample_ratio 反而会降低效果。

版本记录

1.01 实现基本功能,可以一键视频抠图。
1.02 删改个别字句。 2022.2.23日

结束语

让我们荡起双桨,在AI的海洋乘风破浪!

飞桨官网:https://www.paddlepaddle.org.cn

因为水平有限,难免有不足之处,还请大家多多帮助。

作者:段春华, 网名skywalk 或 天马行空,济宁市极快软件科技有限公司的AI架构师,百度飞桨PPDE。

我在AI Studio上获得至尊等级,点亮10个徽章,来互关呀~ https://aistudio.baidu.com/aistudio/personalcenter/thirdview/141218

你可能感兴趣的:(人工智能,音视频,r语言,paddlepaddle,自然语言处理)