Background Matting V2

引用来源
@article{BGMv2,
title={Real-Time High-Resolution Background Matting},
author={Lin, Shanchuan and Ryabtsev, Andrey and Sengupta, Soumyadip and Curless, Brian and Seitz, Steve and Kemelmacher-Shlizerman, Ira},
journal={arXiv},
pages={arXiv–2012},
year={2020}
}

华盛顿大学Background Matting前一版提供了背景移除的测试程序test_background-matting_image.py。此测试版最大的问题是,移除后的图像会导致清晰度降低。
因为,此版本模型能处理的图像分辨率最大是512x512,从模型获得预测的前景F和遮罩alpha分辨率也是512x512,组合图像由公式:
I′=alphaF+(1−alpha)B′ 确定,输出图像则是由512x512上变换得到,因此导致合成的前景图像损失。
V2版Background MattingV2 对此进行了改进,其细化网络对遮罩alpha和前景预测图像在原始分辨率下产生,输出图像计算公式仍是
I′=alpha
F+(1−alpha)B′
但这在原始分辨率下执行运算,由此保留原图像细节。

经本人验证效果不错,现将结果记录如下:

1 准备工作

将github目录克隆到本地,产生目录BackgroundMattingV2

git clone https://github.com/PeterL1n/BackgroundMattingV2

安装所需的运行环境

pip install -r requirements.txt

其中,因虚拟环境安装tensorflow-gpu 1.14.0,tensorflow v1版和v2版的问题,无法安装其中的tensorboard 2.3.0。这倒是不影响程序运行,可忽略。
将PyTorch模型的权重pytorch_resnet50.pth复制到本地
下载地址:在这里
选择PyTorch, 模型pytorch_resnet50.pth,放入BackgroundMattingV2/model目录。另外也可以下载pytorch_resnet101.pth,抠像效果优于resnet50,运算速度略慢些。

在BackgroundMattingV2目录下,建立输入视频或图像目录:
my_video
my_video/output
将输入视频和输入视频的背景图像,img68.mp4, img68.png,放到my_video目录。
需要混合的背景视频,即用来替换原输入视频中背景的视频文件,img68_bgr.mp4,放到my_video目录。
输出目录:my_video/output 存放抠像程序产生的输出文件。

2 运行python程序

所克隆的目录提供了三个演示程序:
inference_images.py: 执行图像背景移除
inference_video.py: 执行视频背景移除
inference_webcam.py: 使用webcam的交互式背景移除

以视频背景移除 inference_video.py 为例,执行如下

python inference_video.py \
--model-type mattingrefine \
--model-backbone resnet50 \
--model-backbone-scale 0.25 \
--model-refine-mode sampling \
--model-refine-sample-pixels 80000 \
--model-checkpoint model/pytorch_resnet50.pth \
--video-src my_video/img68.mp4 \
--video-bgr my_video/img68.png \
--video-resize 1920 1080 \
--output-dir my_video/output \
--output-type {com,pha,fgr,err,ref} \
--video-target-bgr my_video/img68_bgr.mp4

将命令行 python inference_video.py --model-type mattingrefine …
复制,粘贴到运行终端中,运行。即可获得抠像结果。

其中 --video-src:输入视频
–video-bgr: 输入视频的背景图片
–output-dir:输出视频目录
–video-target-bgr:需合成的背景视频
–output-type:输出视频类型,com-合成的视频, pha-alpha遮罩, fgr-前景视频, err-误差视频, ref-参考遮罩
经本人验证,output-type的输入参数需用{ }包围,参数间用逗号分开,与程序中给出的示例不同。这可能是不同的参数解析器:parser.parse_args()不同所致。

注:作者出新版github,去掉了旧版所需的背景图片,只需输入源视频就可以完成抠图!!!请大家移步观赏。
Robust High-Resolution Video Matting with Temporal Guidance
新版Robust Video Matting不需要背景图片,看上去不错。对需抠像的视频video_demo.mp4,可如下执行inference.py:

python inference.py \
--variant resnet50  \
--checkpoint  rvm_resnet50.pth \
--device  cuda  \
--input-source  input/video_demo.mp4 \
--output-type  video \
--output-composition output/composition.mp4 \
--output-alpha output/alpha.mp4  \
--output-foreground output/foreground.mp4 \
--output-video-mbps  4 \
--seq-chunk  1

AI实现移除视频复杂背景-Background-Matting(2)相关推荐

  1. (六)图像背景移除/去背景/换背景/抠图/抠像代码示例:AI实时抠图、AI实时抠像、PaddlePaddle模型、虚拟现实视频会议、沉浸式会议场景、人像去背景、视频背景消除、摄像头背景移除

    (六)图像背景移除/去背景/换背景/抠图/抠像代码示例:AI实时抠图.AI实时抠像.PaddlePaddle模型.虚拟现实视频会议.沉浸式会议场景.人像去背景.视频背景消除.摄像头背景移除 本文与前几 ...

  2. (八)批量视频处理、批量视频编辑、背景移除/去背景/换背景/抠图/抠像代码/实时抠图、实时抠像、人像去背景、背景消除、摄像头背景移除

    (八)批量视频处理.批量视频编辑.背景移除/去背景/换背景/抠图/抠像代码/实时抠图.实时抠像.人像去背景.背景消除.摄像头背景移除 当前短视频飞速发展,视频博主经常需要对大量视频进行编辑.处理,商用 ...

  3. 视频中的自监督学习:Removing the background忽略视频的背景,学习robust的特征

    Removing the Background by Adding the Background: Towards Background Robust Self-supervised Video Re ...

  4. AI自动剪辑生成视频探索实践

     点击上方"LiveVideoStack"关注我们 ▲扫描图中二维码或点击阅读原文▲了解音视频技术大会更多信息 // 编者按:随着短视频时代的到来,以短视频作为载体进行音乐推广具备 ...

  5. 怎么给视频换背景?只需4步,即可轻松换背景

    如果你是一名视频工作者,那么想必你日常的工作当中会接触到大量的视频编辑工作.如果你不是专业的视频工作者,只是单纯的对视频剪辑有兴趣的话,平日里没事儿的时候,学习一下剪辑视频的方法也是很不错的.剪辑视频 ...

  6. 利用 AI 跟踪和优化视频质量

    对于众多公司而言,提供优质的富媒体体验至关重要. 但是,在无法明确要求观众对视频质量进行评级或参考视频不可用的许多情况下,衡量观众实际体验的视频质量即使不是不可能,也是很困难的. HeadSpin 正 ...

  7. Background Matting视频抠图

    转自:https://zhuanlan.zhihu.com/p/148265115 开源代码:https://github.com/senguptaumd/Background-Matting 使用人 ...

  8. 云端智创 | 基于视频AI原理的音视频智能处理技术

    本文内容整理自「智能媒体生产」系列课程第二讲:视频AI与智能生产制作,由阿里云智能视频云高级技术专家分享视频AI原理,AI辅助媒体生产,音视频智能化能力和底层原理,以及如何利用阿里云现有资源使用音视频 ...

  9. 嫌视频背景杂乱或单调?如何去除视频杂乱背景

    录制视频时,有时候视频背景会十分杂乱或单调,这会对用户的视觉体验和注意力产生负面影响. 背景杂乱或单调的场景可能会影响您的观感.这种情况通常发生在自然光线不足或拍摄环境不理想的情况下.如果您想改变视频 ...

最新文章

  1. 用vs2010打开使用vs2013升级后的WP工程
  2. 豪气!华为放话:3年培养100万AI人才!网友神回应了
  3. 一起学spring--依赖注入---简单粗暴的例子展示
  4. 解决Bootstrap中代码不高亮问题
  5. Java 异常处理的误区和经验总结--转载
  6. JDK13的六大重要新特性
  7. 【三维激光扫描】实验01:环境搭建CAD2014+StonexSiScan软件安装
  8. 手机java做贪吃蛇_如何用Java写一个贪吃蛇游戏
  9. 计算机专业技能水平如何提升,市计算机:提升技能水平
  10. 【Android】【移动应用开发】基础知识
  11. 读《创业36条军规》(七)领导要有预见性
  12. 解决JSONNull导致的JSONObject序列化问题
  13. calloc()函数
  14. FastDDS(9)Security安全性
  15. 读取远程服务器上文件内容,读取远程服务器上的文件
  16. 使用 Flutter 开发 Github 客户端及学习历程的小结
  17. UIQ 3 概念认识
  18. WP8.1小梦词典开发1:金山词霸API使用
  19. 经验分享 | 英文论文写作工具分享
  20. 用KEIL5打开KEIL4的文件

热门文章

  1. 安装rocon、kobuki、turtlebot
  2. 全国各省(直辖市,自治区,特区)第一高楼
  3. 【正能量】半年,从准专家转成专家
  4. 【C++ 深入浅出】C++可以使用变量作为数组长度吗
  5. 无效的目标发行版:17 的解决办法
  6. VMware虚拟机最新详细安装保姆级教程(2023年新版教程)
  7. CTFshow——web入门——文件上传
  8. git基础教程(28) 猴子偷桃,git cherry-pick采樱桃
  9. ASPNETPager条件查询分页的实现
  10. 【领域泛化论文阅读】Embracing the Dark Knowledge: Domain Generalization Using RegularizedKnowledgeDistillation