AI绘画中,手部问题一直是一个麻烦的问题。双手变形、手指缺失、手指多余这些问题常常困惑着我们。本文主要讨论一下关于Stable Diffusion中有哪些方法可以用于修复手部问题。 一. 素材准备 在文生图的功能界面生成一张有手部问题的图片。 大模型:majicMIX realistic 麦橘写实_v7 正向提示词 采样器:DPM++ 2M Karras 采样迭代步数:25 图片宽高:512*768 CFG: 7 随机抽取一张手指有问题的图片 上面生成的图片2只手都有问题,后面都以这张图片的手部修复为例说明。 二. 方法1:使用图生图局部重绘修复手部问题 【第一步】:图生图局部重绘设置 在图生图局部重绘功能菜单界面,上传待手部修复的照片。 由于2只手都有问题,为了获取最好的修复效果,最好分两步修复,先修复左手,再修复右手。我们先使用上图右边的画笔,将左边手部区域涂白。 下面是图生图局部重绘相关参数设置 蒙版模式:重绘蒙版内容,专门针对手部问题进行重绘。 蒙版区域内容处理:原版 重绘区域:整张图片 采样器:DPM++ 2M Karras 采样迭代步数:25 图片宽高:512*768 CFG: 7 重绘强度:0.7 【第二步】:大模型和正向提示词 大模型:majicMIX realistic 麦橘写实_v7 正向提示词:和生成图片的正向提示词保存一致。 【第三步】 图片的生成 由于生成的图片具有随机性,可能生成的图片不会立马满足我们的要求,建议多次生成,直到抽取到我们满意的一张图片为止。 【第四步】 重复上面的步骤,修复右手 相关说明: (1)这种方式修复的手部存在随机概率,可能需要反复抽签才能抽取到满意的一张。 (2)修复的手部是否好看,这个和模型的渲染能力有关系。 二. 方法二:使用ControlNet的DWPose修复手部问题 【第一步】:图生图局部重绘设置 在图生图局部重绘功能菜单界面,上传待手部修复的照片。 我们将有问题的2只手使用画笔都涂白。 大模型、提示词、相关参数的设置和方法1中一样,这里就不赘余。 【第二步】:ControlNet Openpose模型设置 相关参数设置如下: 控制类型:选择"OpenPose(姿态)" 预处理器:dw_openpose_full 模型: control_v11p_sd15_openpose 关于dw_openpose_full识别手部的预览图,可见监测出人的脸,手部,姿势等都非常全面。 关于dw_openpose_full的介绍,可以参照之前的文章,里面有非常详细的讲解。 【第三步】:图片的生成 相关说明: (1)这种方式修复的手部操作容易,可控性很强,而且目前的DWPose控制器好像可以自动识别出有问题的手部,将生成的预览图手部展示正常,无需我们再次编辑处理。 (2)生成的手指的长度和接头处仍然可能存在不正确性。 三. 方法三:使用ControlNet的HandRefiner修复手部问题 【第一步】:图生图局部重绘设置 在图生图局部重绘功能菜单界面,上传待手部修复的照片。 我们将有问题的2只手使用画笔都涂白。 大模型、提示词、相关参数的设置和方法1中一样,这里就不赘余。 【第二步】:ControlNet HandRefiner模型设置 相关参数设置如下: 控制类型:选择"Depth(深度)" 预处理器:depth_hand_refiner 模型:control_sd15_inpaint_depth_hand_fp16 关于使用depth_hand_refiner获取手部预览图效果如下。 【第三步】:图片的生成 好了,今天的分享就到这里了,希望今天分享的内容对大家有所帮助。 如有侵权,请联系删除。 博客原文:专业人工智能技术论坛 |
Stable Diffusion【应用篇】【手部修复】:SD手部问题修复大揭秘
于 2024-08-12 15:31:46 首次发布