通过一些网站生成的数字人视频,用的绿色背景,视频内容就是一个站着的人在讲话,头有些轻微的转动,嘴巴会动,其他基本上就是不动的内容。
现在是通过 ffmpeg 进行颜色替换把 mp4 转成 webm ,但是在人的边缘和背景交界的地方,还是能看出绿色的颜色,要是调大 colorkey 的第二个参数,可能会把人身上的一些颜色给替换掉了。
下面这张图是 ffmpeg 替换的效果 https://imgur.com/a/Tytu8R8
所以现在求一个效果好的工具,最好是开源、免费的;要是收费的话,可以提供试用看效果的也可以
1
ysc3839 2023-11-16 06:00:42 +08:00 via Android
效果好的 keying 算法应该没有开源的,基本是跟随一些专业剪辑软件提供的。
开源的基于 AI 的方案可以看看 |
2
ysc3839 2023-11-16 06:02:03 +08:00 via Android
可以看看 RobustVideoMatting ,不过这不是根据颜色来去除背景,而是通用的可以去除任何背景,但效果不一定比专业的 keying 算法好
https://peterl1n.github.io/RobustVideoMatting/#/ |
3
noobma OP @ysc3839 谢谢大佬,在 colab 上试了下 RobustVideoMatting ,也在 https://replicate.com/explore?query=background 这里找了些 ai 的去除方案,效果都不太理想,人物边缘的绿色还是有😓
我在想用 ffmpeg 导出所有的图片,然后有没有什么工具可以识别人物轮廓的坐标,再沿着人物的轮廓把一圈的 1px 替换成透明的颜色,再把这些图片重新合成视频,最好是可以本地通过代码或者命令行调用的工具 |
5
noobma OP |
6
noobma OP |
7
ysc3839 2023-11-16 11:51:14 +08:00 via Android
@noobma 改成输出视频试试?需要改一下背景色,inference.py 115 行的 120,255,155 改成 0,0,0
|
8
ysc3839 2023-11-16 11:55:34 +08:00 via Android
|
9
StubbornHuang 2023-11-16 16:59:22 +08:00
可以考虑 AI 的方案,前段时间刚刚开发过一个类似的产品,抠除人像效果还不错,对于不复杂的背景感觉效果很好
|
11
foursking 122 天前
@StubbornHuang 具体产品名字有吗
|