写代码出身,习惯性想靠调参数解决一切,结果在哩布上翻了车:自己画的角色立绘丢进controlnet想锁住造型,出来稀碎,人都不像。
问题出在预处理器。我把整张立绘当lineart一股脑喂进去,线稿信息太满,模型被糊住,姿势学不到,画风也放不开。等于既要它照着描、又要它自由发挥,两头落空。
后来拆开处理就顺了:
- 只要姿势:用openpose,只提骨架,原图细节一概不带。骨架干净,模型才有空间按自己的画风去画。
- 想留轮廓:还是lineart,但权重压到0.5左右,结束步数设0.6。前面六成步数让线稿把大形定住,后面放手让模型自己补,不至于被线条卡死。
- 角色一致:这块别指望controlnet,它本来就不擅长。脸和服装要稳定,得单独炼个角色lora,controlnet只负责摆pose,各管各的。
逻辑理顺以后出图就正常了。liblib上有现成的openpose预处理,直接调用就行,不用自己再折腾一遍。
