[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等

二次元国家地理

AI作画讨论合集

发表回复
下一页(2)

[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等


最近练了一阵子lora了,结合我自己对机器学习的理解和实践,以及dalao们的教学,我说说一些常见的问题:

1,如何训练一件特定的衣服


基本目标就是通过训练一个lora,让人物穿一件特定的衣服,当然也可以是一个指定的人物(由另一个lora引入)穿上该衣服。

训练集


训练衣服的素材,通常情况下需要同一件衣服的20-30个不同形态的样本,各种姿势都要有。训练集里没有的姿势,不能被正确学习。通常情况下可以选择去网上找模特的自拍或者视频截图都可以。 同一件衣服可以由不同的人穿着。比如我去小红书上扒一款衣服,选择搜同款后,可以有很多不同人的图片,都扒下来备用。

接下来要清洗训练集,清洗过程要去除任何你不希望出现在最终结果上的特征,包括 模特的脸部特征 和背景中的无法被单独分离的特征。可以抠图,也可以直接硬删除区域,机器不会学习白色的区域。

特别要注意的是:

如果是手机自拍,尽管用手机挡住了脸,仍然要把脸部区域删除,不然出图脸上会长手机……

对镜子自拍,删除镜框和镜框之外的区域。因为镜框内外的图像不连续,机器会学习很奇怪的东西。

室内场景中多余的元素(比如乱七八糟的家里、直播间)可以删除或抠出人物。

最后删除所有水印、和可以看到的任何字符串(这些东西会被当成图像学习)

如果觉得模特的头发难看,可以直接把头砍掉。

这些是图片处理的实例。




然后切成需要的大小,自动打标签,准备成训练集。

关于删除标签:

删除你要训练的服装的专属特征标签,假设按照上面图片来训练一套JK,需要删除的标签是: school uniform, serafuku,black shirt, white skirt, 这样这套JK就没有标签可供分类了,然后添加你自己的标签比如 "mytag" ,这样这些被删除的标签所代表的元素就被映射到了 ”mytag" 上。你出图时直接引用 mytag 就可以调用这些元素。

如果不删除标签,那么仍然可以出图,但是需要把这些标签都输入(代表这套衣服的特征还映射在这些标签上)。

训练


通常衣服不需要训练太多轮数,我没用lion,通常不超过10次重复,不超过10轮即可。 一般衣服也没几张图。

假设你30张图,设置为 6_mycloths 10 epoch 就行,总共1800步,不算多。


出图啦!


我先来引用一个特定的人物… 就鲤鱼姐Liyuu的lora吧,这个lora已经烂大街… 她作为第一个lora,自己炼制的衣服lora为第二个lora,自己设置的关键词为 mytag

那么直接出图,别忘了mytag,鲤鱼姐权重0.6,衣服权重0.5




鲤鱼姐成功的穿上了衣服!

好像有点不对? 明明素材里的是短袖,为什么图里是长袖?——

回到刚才删除tag的步骤,再去检查(用工具)训练集里的标签,你发现: 短袖(short sleeves)没被删除掉,因此这套衣服的”短袖”属性,还映射在“short sleeves”里,而没有映射到“mytag”里…

解决办法也很简单,“mytag” 前面加上 “short sleeves” 再出图:




这样就是短袖了。

有人可能还会问,为什么鞋子袜子也不对,这都是因为元素没有被正确映射的原因,自己慢慢查询和补充就可以了。

另外眼尖的人会发现,这条裙子没有红边,实际上机器学习的衣服学习的是款式,具体的细节还原程度和权重有关系,需要调整权重慢慢试了。


关于训练大头和正则方法(reg)的。。。稍后补充。

附件


[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等

[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等

[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等

[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等


附件

脸部 删除 lora 没有 reg 衣服 训练集 需要


关于训练脸部模型与reg(正则化方法)的问题:


以下都使用常规算法,lion算法的参数现在还需要进一步优化实验。

1,训练脸部模型


主要目的是制造一个人物lora,使人物与目标人物的脸部比较接近。用照片进行训练的问题是,不同的照片(全身、半身、脸部特写)中脸部占比不同,容易造成模型对面部学习不足,出图后面部细节不够接近。

有人提出把脸部抠下来单独训练,在提高脸部清晰度方面确实可行,但问题是,脸部扣下来单独训练会无法产生全身照,或者是身体的比例不对。为了解决这个问题,引入了reg(正则化方法)。秋叶脚本不含这个功能,需要人为添加,可以参考青龙脚本(我目前没有使用青龙的lion算法)

关于正则化方法的原理非常复杂,最后再讲,没有基础的可不看,只看做法即可 。 B站上关于对二次元人物正则化的任何介绍
只限于二次元,对真人效果不理想。我这里只谈真人的正则化训练。

1,设置正则化环境

脚本里设置好正则化目录,与训练集分开。 比如训练集是 /train/mylora 那么正则是 /train/reg

正则集要求:

图片数量不少于训练集(如果多于,会被随机选用)、
数据集名称与训练集一致、
训练轮数应少于训练集,具体多少最优也不清楚,根据样本数看着办吧,样本多就少点,否则多点。
不需要有tag文件!——你做了也会被忽略。The reg images do not need captions, https://rentry.org/59xed3#regularization-images

具体目录形式看 https://rentry.org/59xed3#regularization-images

Your training set folder (point the kouhya script for this folder as normal)
+ X_Concept1
+ image.jpg
+ image.txt
+ Y_Concept2
+ image.png
+ image.txt
+ reg (the script will ignore this folder normally, point your reg_dir to this folder)
+ Z_Concept1
+ image.jpg


其中X 为 Concept1训练轮数,假设为10 , Y 为Concept2 的训练轮数,假设为20, Z为对应Concept1的正则化集训练轮数,可以选择5-6。


2,真人图片选择与处理


先说处理大头,假设我们先通过某种方法(一会介绍)把所有照片,管它什么体位,脑袋都取下来,形成一个对脸部的训练集。

那么就要通过正则化的手段向这个训练集补充身体。

可以不可以补充其他人的身体呢?——结论是不可以。


我尝试过补充其他人的身体,也不是说不行,而是因为别人的身体与你要的人物头部之间的比例,总是有些不对称,出来的全身图有时候会变得奇怪。还是自己的头搭配自己的身体最合适。

首先用自动化工具如DFL提取脸部(没有的话可以手工),形成只有face的图片,示例为100张,512X512,脸部居于中心,占据最大范围。(建议还是用自动化工具吧,自己搞太累了)

(工具: https://dfldata.xyz/forum.php?mod=forumdisplay&fid=38 需要python基础)

自动打标后,你会发现除了脸上的元素外,没有其他特征标签。(这也是为什么无法生成正确的身体的原因)。加一个自己的标签到脸上(如 mywife)

把刚才那些用来提脸的原图,再次处理成合适的尺寸,如512X768, 不需要打标。数量与脸部一致。

这里有个问题,脸部提取可以使用一些质量较差的照片。你肯定不想用质量较差的身体照片做正则集,难道还要去用其他人的身体吗?其实正则集里的图片如果不足,可以重复使用,不过不要重复太多次就好了。

本人的身体图片不需要去除脸部。

Your training set folder (point the kouhya script for this folder as normal)
+ 10_mywife
+ face01.jpg
+ face02.txt
.... 一共100张
+ reg (the script will ignore this folder normally, point your reg_dir to this folder)
+ 5_mywife
+ 全身01.jpg
+ 全身02.jpg
.... 一共100张(可以适当重复)

这里我们用100张face重复10次,100张全身做reg集,重复5次。

这样一共是1500次,epoch选择10次,每隔2次保存(后面可能过拟合,不一定是最后一次最好)

100张的话32M足够了,不需要改成128M的。dim参数就32/32 就行了,学习率默认。

注意正则里面是没有tag的,这样你就形成了一个有身体,但没有身体的tag,有脸部,有脸部tag的lora。

这样直接调用lora,因为找不到身体的tag,就会自动调用底模的tag,而却因为学习了自己的身体,而正确记忆了身体的比例。

这样一个lora,如果再结合上面的自定义服装lora,就能很好的穿上自定义的服装啦。[s:ac:喷]



原理部分,看不懂不用看


我开始以为 这个正则化是机器学习里面关于减少过拟合的正则化,实际上还不是。

按照项目的git来说,

First, there is LoRA applied to Dreambooth. The idea is to use prior-preservation class images to regularize the training process, and use low-occuring tokens. This will keep the model's generalization capability while keeping high fidelity. If you turn off prior preservation, and train text encoder embedding as well, it will become naive fine tuning.

这个正则化其实是在引入预定义的先验知识,这里特指头部模型需要关于身体比例的先验知识。( prior-preservation class )

具体可以看这篇文章 https://blog.csdn.net/weixin_42468475/article/details/121755914

里面那个鸟头的位置,就是我们要寻找的先验知识(头部在画面中的正确位置)

由于脸部模型没有关于匹配这个脸部的身体的任何信息,你必须给它一个。所以最好是本人的身体,其他人的身体其实也行,就是会有些别扭。 如果本人的照片实在太烂,比如说一共找了十几张照片,身体10张里面9张是坐着的,那找一个相近体型的人的身体,应该问题也不大。但是是否需要去掉脸部或者换一下脸部还没有严格的结论。

从理论上说如果只是要获取脸部的位置,那么还是要本人的脸的,可以尝试把本人的脸换到其他人的身体上(目的是为了让模型学会本人的脸应该在画面的哪个位置)



改动



请问添加调用的专属tag,就是在所有文档里都增加一个自定义tag吗,然后这个tag会自动调用所有已删除的tag?


学习学习学习


Reply to Reply Post by lostwy (2023-03-07 17:47)

对。

被删除的tag 所代表的元素没有映射了,这时候你给所有tag文件中都添加了这个新的tag,这些元素就会被映射到这个新的tag上。


练丹多日,我也想学习一下怎么把脸和其他特征分开。


markmark 学习下 感谢分享经验


其实不用这么麻烦抠图,脸都不用删,只要你在正确的脸上打好标签就可以[s:ac:哭笑]


Reply to Reply Post by callomerlose (2023-03-07 18:43)

对,但是大多数人没这个能力。另外就是手机挡着脸要删掉。


Reply Post by srlt20 (2023-03-07 18:46):

对,但是大多数人没这个能力。另外就是手机挡着脸要删掉。

你有没有换个思路?打个phone的标签上去?[s:ac:哭笑]


Reply to Reply Post by callomerlose (2023-03-07 18:50)

可以尝试把phone放在negative 里面试试。


[s:a2:诶嘿]


Reply Post by callomerlose (2023-03-07 18:43):

其实不用这么麻烦抠图,脸都不用删,只要你在正确的脸上打好标签就可以[s:ac:哭笑]

能详细描述一下吗,最近一直被这个困扰


Reply Post by 天堂之牙 (2023-03-07 19:07):

能详细描述一下吗,最近一直被这个困扰

很简单啊,比如你要练一个叫****肥子的女孩,然后你有几张大麻肥子的图,还有几张淘宝扒下来的衣服模特图,你就只在大麻肥子那几个图的标签下加damafeizi的tag,衣服模特就不加。[s:ac:哭笑]


Reply Post by callomerlose (2023-03-07 19:49):

很简单啊,比如你要练一个叫****肥子的女孩,然后你有几张大麻肥子的图,还有几张淘宝扒下来的衣服模特图,你就只在大麻肥子那几个图的标签下加damafeizi的tag,衣服模特就不加。[s:ac:哭笑]

你的建议非常有用,原来这样就可以把coser和角色分开,两个Lora,这样其他动作时候服装特点的变动其实不影响视觉,但脸跟着变动就会很明显看起来崩坏了一样,我分开重新重练了一次,用两个Lora控制,效果不错。

附件


[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等

[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等

[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等

[讨论] lora训练的一些经验:衣服、脸部、正则化(regularization)等

附件


马克,


mark,很强,学习一下


大家通常用什么底模呢?SD1.5还是Chilloutmix?我用后者经常效果整体发白,亮度不均匀


码一下,慢慢学习


感谢分享
发表回复
下一页(2)

玻璃钢生产厂家铜陵商场主题美陈玻璃钢海洋雕塑批发代理新乡佛像校园玻璃钢景观雕塑玻璃钢雕塑 厂家衡阳玻璃钢人物雕塑玻璃钢大螃蟹雕塑商场礼品盒美陈上海圣诞商场美陈装饰商场美陈叮当猫端州玻璃钢人物雕塑价格甘肃玻璃钢人物雕塑设计图木舒克玻璃钢雕塑吉林佛像玻璃钢雕塑欧式玻璃钢雕塑销售电话发光玻璃钢雕塑怎么做江苏玻璃钢雕塑图片宜春玻璃钢雕塑制作厂家昆明市玻璃钢雕塑价格表江西景观玻璃钢花盆玻璃钢草菇雕塑亳州小品系列玻璃钢雕塑定做龙之韵玻璃钢雕塑北京欧式玻璃钢花盆玻璃钢花盆儿童画展深圳玻璃钢佛像雕塑温州大型玻璃钢雕塑供应商玻璃钢雕塑修补方法漯河玻璃钢雕塑设计呈贡玻璃钢雕塑加工厂家哪家专业北京特色商场美陈批发香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化