下载链接在最下面
前言
本人之前相对视频做一个抠图处理,奈何手工逐帧抠肯定不行,本来想在网上找找有没有好用且免费的抠图工具,看到有非常多人推荐一款在线抠图的网站,叫什么无绿幕抠图。我就抱着好奇点开试了一试,结果效果还是很差,而且只是生成了gif动图。综合观察,奈何要么收费,要么就是效果很差。
所以,本人也就搜集了一下目前比较好的抠图算法,制作一个可以直接供人拿来用的抠图工具。但是效果还不是很好,而且工具还有一些bug,有需要的人可以试一试。
提示:工具在处理过程中还在完善。
一、Video、Picture处理效果
示例:在人像背景较为单调的场景,效果还是不错。但是背景与人像颜色相近的地方效果较差,这也是目前大多数算法主要解决的问题。
<center>1.1原图</center>
<center>1.2 本工具效果</center>
<center>2.1 原图</center>
<center>2.2 本工具效果</center>
<center>3.1 原图</center>
<center>3.2 本工具效果</center>
<center>4.1 原图</center>
<center>4.2 本工具效果</center>
2.视频抠图效果
2.1 原视频
2.2 本工具处理效果
总结:
相较于免费的抠图工具,视频抠图效果还好,但是还有一些较为模糊的画面处理的不是很好。在图片抠图效果上,某些场景可能效果较差。
二、采用的方法
原代码为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:可以实时显示处理过程(但由于显示控件问题,弹出显示了),但是由于cv2显示会影响处理速度,可以考虑去掉勾勾;
mode:选择处理的是视频还是图片;
background color:选择抠图背景颜色,默认绿幕;
3.Start Run
点击Start Run按钮开始处理,可通过命令行窗口查看当前处理进度(注意处理时不要关闭这个窗口)。如果不想处理了,可以点击Close Run按钮结束处理进程。
最终输出为output(+audio).mp4视频或者out.jpg图片。
工具可从网盘获取,目前bug较多,效果有限,仅供娱乐。
···百度云盘··· 提取码:1122
[list]
[b]更新:V1.2[list]
更新了一下,有小伙伴反馈需要[u]透明背景格式的图片,我将原显示白色背景(white)的24位图像,新增alpha透明通道,提升为了32位图像。具体变化体现在图中的背景颜色选择部分。(当然视频处理还是有颜色的背景 )。
更新[b]下载地址在这里:
百度云盘
提取码:1210。
[list]
[b]更新:V1.3[list]
又更新啦,有小伙伴反馈需要[u]批量处理图片,我将原始功能按键做了修改,将输入改为了[b]Input Images(选择多张图片的[u]文件夹)和[b]Input Video(选择单个[u]视频文件)。从而可以批量处理图片了。
更新[b]下载地址在这里:
百度云盘
提取码:1210。
下载安装软件,里面有个小彩蛋,喜欢的可以打赏哦,感谢!
视频插帧软件还在加急制作中,五一劳动节快乐!
总结
训练效果有限,处理速度受限于设备配置情况,后续考虑做个剪枝量化处理。
感谢大家支持!如果大家比较喜欢的话,后续可以考虑出一个视频插帧软件,让帧率从30fps直接翻几倍,顺便解决一下处理速度问题。