论文作者github官方地址:https://github.com/PeterL1n/RobustVideoMatting
论文效果B站展示:https://www.bilibili.com/video/BV1Z3411B7g7/
最新 AI 人物抠像论文效果展示
回想我第一次看见论文效果的时候,是在B站偶然浏览到这个视频,简直惊为天人,原来视频抠图还能这样玩!这不就是把《黑客帝国》开始大热的绿幕拍摄技术普及到人人都可以操作的地步了么!人人都可以当名导!
当时B站上没有链接官方地址,我是费了好大的劲,才找到官网代码库的。结果官方还没有飞桨代码版,这怎么可以?叔能忍婶也不能忍,对吧。当时的我不知道天高地厚,暗暗定下一个小目标:一定要复现出飞桨版本!
从定目标到复现出来,小半年过去了,那过程怎么能说曲折呢,那是相当曲折!此处省略2个共享项目篇幅。后期会发出复现过程的项目共享,里面详细记录一个小白怎样从零开始复现一个CVPR最佳论文的坎坷过程。
功夫不负有心人,终于成功啦!当时复现成功的时候,尽管累的连跳起来的力气都没有了,但心情很激动,感觉狠值得!
如何把大象放进冰箱里?对不起,走错片场了。如何像著名导演一样绿幕抠图,只需要三步
点一下右上角的forc 按钮即可一键fork并执行。建议选高级版环境,有特斯拉V100加成的GPU,动力强劲,视频处理速度更快!
建议使用室外明亮光线下拍摄的视频,抠图效果会更好。
AIStudio有上传限制,较大的视频可以采用数据集挂载的方式传入。
广告时间:飞桨AIStudio数据集系统已经打通百度网盘上传通道了,可以直接从百度网盘上传。
将上传的视频文件修改名字为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。此研究项目来自字节跳动。
效果非常好。
就像前面视频里展示的一样,抠图效果惊人,头发丝都能抠出来,让人以为视频是绿幕前拍出来。
不需要任何辅助输入
也有一些非常棒的抠图论文,但是大部分都需要辅助输入,比如一张背景图。那种情况,咱们的大导演们拍片的时候,除了拍演员,还要在同一地点同一机位单独拍一遍背景,导演说这么麻烦我还是用绿幕算了。
使用简单方便,没有技术门槛
不需要任何技术背景,人人都可以当大导演。尤其是在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