滚石 发表于 2021-5-29 21:30:39

【老鸟进阶】Xseg遮罩模型详解

学会使用遮罩模型是菜鸟进阶高手的重要一步

遮罩可以帮你处理诸如头发、眼镜、舌头等src难以训练生成出来的细节

例如dst有眼镜,src无眼镜,训练生成的src如果直接贴在dst脸上,眼镜就会被盖住,留下两个奇怪的眼镜腿。通过Xseg遮罩模型,可以自动扣出dst的眼镜并保留,从而实现src也带上眼镜,效果更自然。

那为什么要训练一个模型呢?和每一张手动去画遮罩有什么区别?

答案是工作量不同:60秒视频,每秒25帧,一共1500张图,你每一张手动画遮罩我敬你是条汉子。而用Xseg模型的话,先挑关键动作20-50张图画上遮罩,再训练一个Xseg模型来学习,学完后由模型自己给其余类似图片画上遮罩,能极大减小工作量



Xseg遮罩模型的使用可以分为训练和使用两部分部分

1. 训练Xseg模型
训练需要绘制训练素材,就是你得用deepfacelab自带的工具,手动给图片画上遮罩。这一步工作量巨大,要给每一个关键动作都画上遮罩,作为训练数据,数量大约在几十到几百张不等。

建议萌新直接使用别人已经训练好的遮罩模型,比如dfldata.xyz论坛置顶的万能Xseg模型,基本涵盖所有常规遮挡物,包括头发、香肠、舌头、眼镜等,可以直接在合成阶段使用

如果你想体验Xseg模型制作过程,或素材遮挡比较特殊,就按一下步骤操作

1. 常规提取dst和src人脸,获得对应aligned文件夹

2. 使用5.XSeg) data_dst mask for XSeg trainer - edit.bat脚本,打开绘制工具,绘制dst的遮罩。src同理

3. 绘制完成后,使用5.XSeg) train.bat脚本进入训练阶段,脸型参数根据需要选wf或f,bs使用默认值。模型训练比较耗显存,如果提示OOM显存不足的错误,减小bs大小。另外一提,xseg模型不区分分辨率

4. 当训练预览窗口中第二第三栏效果图符合你满意程度时,按enter结束训练。在model文件夹下获得成品xseg模型一组



步骤比较简单,主要讲下遮罩绘制工具怎么用

https://img-blog.csdnimg.cn/20210529205759747.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI4OTQxNTg3,size_16,color_FFFFFF,t_70

按键功能都在图中标识了

只要用框选工具咔咔一顿点,把人脸区域给围出来就好了。

框选分两种,实线是添加选区,虚线是排除选区。以上图欧阳娜娜口红为例,两种方式都可以完成框选,根据个人喜好选择
https://img-blog.csdnimg.cn/20210529210446422.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzI4OTQxNTg3,size_16,color_FFFFFF,t_70
画好的遮罩存储在aligned图内部,直接看不到,只能通过DFL自带的Xseg edit脚本进行查看

其他几个按键自己随便点点就知道什么作用了,不具体讲了



2. 使用Xseg模型
使用Xseg模型实际上有两种使用方式,一种是在换脸模型训练前先把遮罩给推理出来,应用到训练素材中。另一种是合成时实时生成遮罩并预览。

第一种方式就是使用5.XSeg) data_src trained mask - apply.bat脚本(dst同理),讲遮罩提前生成并写入图片信息中。这样在换脸模型训练阶段就能只针对重点区域进行学习,不去学习什么口红啊,头发啊,略微能提升点质量。但个人不推荐这种方式,因为推理出来的遮罩不一定完美,如果有瑕疵就会影响训练效果。

建议使用第二种方式,在合成merge阶段,在交互预览窗口直接按X来实时计算遮罩,因为方便观察遮罩效果。X可以多按几次,有多个遮罩使用模式,总有一款会适合你


Xseg模型的复用
最后讲下Xseg模型的重复使用

Xseg模型不需要每次素材都重新训练一份,可以在同一份模型基础上加入更多素材继续训练,让模型能处理的遮罩越来越牛逼

每次手工画完的遮罩图不要删,用5.XSeg) data_dst mask for XSeg trainer - fetch.bat脚本集中搜集起来,下次有新素材可以加入一块训练



论坛的镇坛之宝万能Xseg模型就是众筹网友万张手工绘制的遮罩图训练而成,满足98%以上需要遮罩的素材。
你可以提交150张手工绘制的遮罩图到563861181@qq.com,免费换取万能Xseg遮罩模型一份。





tiantian 发表于 2021-6-2 14:45:36

下载模型后放model文件夹里,然后跑一下5.XSeg) data_dst trained mask - apply.bat 这个脚本和5.XSeg) data_src trained mask - apply.bat这个脚本,把遮罩应用到所有aligned图片中。之后在合成时就能选遮罩了

大佬,这是你在另一个万能Xseg模型帖子里回的,时间大概是1月。和你这个帖子中说的不一样,这个贴不建议将遮罩提前提前生成并写入图片信息中?是不是我理解有问题

新手剪辑师 发表于 2021-12-24 22:58:30

大佬,咨询一下。
万能遮罩已经购买了,请问在现有的万能遮罩下,我还能不能自己再画一些图,并且训练到万能遮罩里面呢?
如果可以的话,能不能稍微说一下操作过程?
十分感谢。
另外期待万能遮罩更新。

zbw5593010 发表于 2021-6-6 18:01:01

老大,,5.XSeg) data_dst mask for XSeg trainer - fetch.bat是哪一个啊,我用的中文翻译版。

739480474 发表于 2021-6-3 19:22:45

这次说的更详细了 谢谢

randal 发表于 2021-6-3 09:37:01

tiantian 发表于 2021-6-2 14:45
下载模型后放model文件夹里,然后跑一下5.XSeg) data_dst trained mask - apply.bat 这个脚本和5.XSeg) dat ...

关于这个我也有相同的疑问哈哈哈,顶

滚石 发表于 2021-5-30 00:13:14

sdsi 发表于 2021-5-29 23:57
第一种方式就是使用5.XSeg) data_src trained mask - apply.bat脚本(dst同理),讲遮罩提前生成并写入图片 ...

1. 不需要
2. 不影响

sdsi 发表于 2021-5-29 23:57:28

第一种方式就是使用5.XSeg) data_src trained mask - apply.bat脚本(dst同理),讲遮罩提前生成并写入图片信息中。

有两个问题想问下大佬:
1.如果用第二种方式,需不需要在遮罩训练完成后,运行一次:5.XSeg) data_src trained mask - apply.bat脚本?

2.如果一开始还没画遮罩也没训练过遮罩就运行了5.XSeg) data_src trained mask - apply.bat脚本(教程里说:遮罩提前生成并写入图片信息中),那是否影响运用第二种方式?

sdsi 发表于 2021-5-29 23:18:55

教学很详细,感谢了!

pzsrmyy 发表于 2021-5-29 21:47:32

教学贴很有帮助,感谢无私分享!!

mp741 发表于 2021-5-29 21:48:08

学习坛主文章...

fang8hui 发表于 2021-5-29 23:29:19

教学很详细,感谢了!

lily878 发表于 2021-5-30 00:35:15

教学很详细,感谢了!

HxH 发表于 2021-5-30 02:10:40

新教程,学习了!

dfldata 发表于 2021-5-30 08:28:38

谢谢分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 【老鸟进阶】Xseg遮罩模型详解