【抠图工具】图片、视频自动抠图(VideoMatting)

【抠图工具】图片、视频自动抠图(VideoMatting),第1张

文章目录
  • 前言
  • 一、Video、Picture处理效果
    • 1.图片抠图效果
    • 2.视频抠图效果
  • 二、采用的方法
  • 三、使用步骤
    • 1.Data选择
    • 2.Advance设置
    • 3.Start Run
  • 总结


前言

本人之前相对视频做一个抠图处理,奈何手工逐帧抠肯定不行,本来想在网上找找有没有好用且免费的抠图工具,看到有非常多人推荐一款在线抠图的网站,叫什么无绿幕抠图。我就抱着好奇点开试了一试,结果效果还是很差,而且只是生成了gif动图。综合观察,奈何要么收费,要么就是效果很差。

所以,本人也就搜集了一下目前比较好的抠图算法,看到一篇《Robust High-Resolution Video Matting with Temporal Guidance》论文。于是想着借鉴一下制作一个可以直接供人拿来用的抠图工具。但是效果还不是很好,而且工具还有一些bug,不过现在先凑合用吧,有需要的人可以试一试。


提示:工具只是个半成品,打开、关闭还有处理过程中还没完善。

一、Video、Picture处理效果

示例:在人像背景较为单调的场景,效果还是不错。但是背景与人像颜色相近的地方效果较差,这也是目前大多数算法主要解决的问题。

1.图片抠图效果

1.1原图

1.2 其他方法效果

1.3 本工具效果

2.1 原图

2.2 其他方法效果

2.3 本工具效果

3.1 原图

3.2 其他方法效果

3.3 本工具效果

4.1 原图

4.2 其他方法效果

4.3 本工具效果
2.视频抠图效果

2.1 原视频

2.2 这是无绿幕免费在线处理效果

2.3 本工具处理效果

总结:
相较于免费的抠图工具,视频抠图效果还好,但是还有一些较为模糊的画面处理的不是很好。在图片抠图效果上,某些场景可能效果较差。

二、采用的方法

作者原代码为pytorch环境上训练的类Unet结构模型。主要分类编码、解码与上采样输出几个部分,具体不再赘述,可参考一下别人的分析博客。
训练所使用的数据集包括:人像语义分割数据集、matting抠图数据集。采用的损失包括了:alpha通道L1损失与拉普拉斯金字塔损失、时序相关性损失、fg部分的L1损失和时序相关损失。将模型权重文件转换为onnx模型,本来想做个量化,所以现在处理时间可能稍久···,所以可以考虑后续加快预测处理速度,增加半精度选择、模型剪枝量化处理吧。

三、使用步骤

直接打开根目录下的Matting tool by CS.exe。

1.Data选择

Input Dir:选择所需处理的视频、图片;
Output Dir:选择保存位置文件夹;
Model weight:模型权重,选择weights文件夹下的model.onnx;

2.Advance设置

Show Result:可以实时显示处理过程(但由于显示控件问题,d出显示了),但是由于cv2显示会影响处理速度,可以考虑去掉勾勾;
mode:选择处理的是视频还是图片;
background color:选择抠图背景颜色,默认绿幕;

3.Start Run

点击Start Run按钮开始处理,可通过命令行窗口查看当前处理进度(注意处理时不要关闭这个窗口)。如果不想处理了,可以点击Close Run按钮结束处理进程。
最终输出为output(+audio).mp4视频或者out.jpg图片。
工具可从网盘获取,目前bug较多,效果有限,仅供娱乐。
···百度云盘··· 提取码:1122

总结

训练效果有限,处理速度受限于设备配置情况,后续考虑做个剪枝量化处理。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/723441.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-26
下一篇 2022-04-26

发表评论

登录后才能评论

评论列表(0条)

保存