网站运营专员做什么,马边彝族移动网站建设,江苏华柯建设发展有限公司网站,搜索广告是什么厝实坏毡1.1 简介 ControlNet是由斯坦福大学研究者张吕敏等人于2023年提出的一种AI图像生成控制技术#xff0c;核心作用是让用户在保持生成图像 “创造力” 的同时#xff0c;精准控制图像的结构、姿态、轮廓、深度等关键空间信息#xff0c;解决了传统扩散模型#xff0…厝实坏毡1.1 简介ControlNet是由斯坦福大学研究者张吕敏等人于2023年提出的一种AI图像生成控制技术核心作用是让用户在保持生成图像 “创造力” 的同时精准控制图像的结构、姿态、轮廓、深度等关键空间信息解决了传统扩散模型如 Stable Diffusion生成结果 “不可控” 的核心痛点。1 核心原理“锁定结构释放风格”ControlNet的本质是在扩散模型如 Stable Diffusion的基础上增加了一套 “结构约束机制”其原理可拆解为 3 个关键步骤1提取 “结构参考图” 特征用户需提供一张 “结构指导图”如线稿、姿态骨架、深度图、语义分割图ControlNet通过专门的 “预处理器Preprocessor” 分析这张图的空间结构如物体位置、线条走向、人体关节角度并将其转化为模型可理解的 “结构特征向量”。2冻结 “结构特征” 并绑定扩散过程ControlNet会将提取的 “结构特征”“冻结”并在扩散模型生成图像的每一步从噪声图逐步去噪为清晰图中强制模型的生成结果贴合该结构特征——例如线稿的每一条线条必须对应生成图像中的物体边缘姿态骨架的每一个关节必须对应人体的动作角度。3保留模型的“风格与细节创造力”在“结构锁定”的前提下扩散模型依然可以自由生成图像的风格如写实、卡通、油画、纹理如皮肤质感、衣物面料、色彩等非结构信息实现“结构可控风格自由”的平衡。2 核心组件预处理器Preprocessor与控制模型ModelControlNet的功能依赖“预处理器”和“控制模型”的配合二者需一一对应使用不同组合对应不同的控制场景控制类型 预处理器Preprocessor功能 控制模型Model作用 典型应用场景Canny 边缘控制 将参考图转化为黑白边缘线稿突出物体轮廓 强制生成图像贴合边缘线稿的轮廓结构 线稿转插画、产品设计图上色OpenPose 姿态控制 提取参考图中人体 / 动物的骨骼关节如手脚角度 精准控制生成人物的动作姿态 动漫角色 Pose 生成、影视分镜设计Depth 深度控制 生成参考图的 “深度图”黑白表示远近黑近白远 控制图像的 3D 空间关系如前后遮挡、透视 室内装修效果图生成、3D 场景还原Segmentation 语义分割控制 将参考图按 “物体类别” 分割如人、车、天空用不同颜色标注 强制生成图像中各类物体的位置与范围 城市规划图生成、场景元素替换如换天空Normal Map 法线控制 生成参考图的法线图表示物体表面的凹凸方向 控制物体的质感与立体感如金属褶皱 游戏角色建模、工业设计细节优化3 关键优势解决传统 AI 生成的 “痛点”相比传统扩散模型如直接用文字生成图像ControlNet的核心优势体现在“可控性”和“实用性”上1结构精准可控无需反复调整文字提示词Prompt只需一张简单的线稿或姿态图就能让生成结果严格贴合预设结构例如确保人物 “左手举高” 而非 “右手举高”。2降低创作门槛非专业用户无需掌握绘画、建模技能只需用手机拍一张场景照作为深度 / 语义参考图即可生成风格化图像如将生活照转化为宫崎骏风格插画。3适配主流模型ControlNet并非独立模型而是 “插件式技术”可无缝对接 Stable Diffusion、MidJourney第三方插件等主流生成模型复用现有模型的风格能力。4支持 “增量控制”可同时叠加多种控制类型如 “OpenPose 控制姿态 Depth 控制透视”实现更复杂的场景需求如生成 “特定动作的人物在特定透视的房间里”。4 典型应用场景ControlNet已广泛应用于创意设计、内容生产、工业领域等常见场景包括1创意设计领域插画师用简笔画线稿生成高精度插画快速迭代风格平面设计用语义分割图标注 “标题区、图片区、文字区”生成符合版式的海报。2影视与游戏制作分镜设计用文字 姿态图生成影视分镜如 “武侠角色拔剑的分镜符合OpenPose姿态”游戏建模用法线图控制角色装备的细节如盔甲的凹凸纹理。3生活与内容创作照片风格化用手机拍的人像照提取OpenPose姿态生成动漫风、油画风人像表情包制作用简单的线稿生成不同表情、动作的表情包角色。4工业与科研建筑设计用建筑线稿生成带真实光影的效果图医学影像用CT扫描图转化为深度图生成3D可视化模型辅助诊断。1.2 安装说明这里介绍基于Stable Diffusion WebUI的安装过程并假设sdwebui已经安装完成。1 安装Control Net在extensions中配置下载链接单击“Load from”加载相关插件https://raw.githubusercontent.com/AUTOMATIC1111/stable-diffusion-webui-extensions/master/index.jsonimage然后直接搜索controlnet然后找到如下插件点击install为了保证顺利安装请提前配置好梯子。image下载完重启sdwebui以加载插件另外参考1中还提供了另一种下载安装方式有兴趣的请直接参考相应链接。2 下载模型以上已经将最基础ControlNet插件下载安装要想使用还需要安装相应的模型可以到这里下载。image下载时要把两个名字相同但后缀不同的pth和yaml文件一起下载下载下来后放到“extensions\sd-webui-controlnet\models”例如~/work/ai/stable-diffusion-webui/extensions/sd-webui-controlnet/models最后重启sdwebui可见所有模型已经加载image2 界面主要功能区介绍在带有ControlNet的图像训练过程中一共有2种条件会作用到生成图像上其一是提示词prompt另一个就是由ControlNet引入的各种自定义条件Condition。以下是ControlNet对应模型的一个命名规则需要注意的是名字带有p的是稳定版本表示可用于生产可放心使用。image接下来围绕以下4部分对ControlNet的使用进行说明。image2.1 导入参考图这里可以首先上传一副参考图像也就是说这张图是让Controlnet去结合具体的模型引导控制图片的生成。image2.2 关键选项在该部分有几个关键选项按钮它们的作用如下1“Enable”启用作用勾选此选项后才会激活当前ControlNet单元如ControlNet Unit 0的功能。如果不勾选当前ControlNet单元不会对图像生成过程产生任何影响相当于 “关闭” 该单元。2“Low VRAM”低显存模式作用当电脑的显卡显存VRAM容量较小运行ControlNet时可能出现显存不足的情况勾选该选项后ControlNet 会采用更节省显存的计算方式来工作以适配低显存的硬件环境但可能会在一定程度上影响处理速度或效果的精细度。3“Pixel Perfect”像素完美作用勾选后ControlNet会更精准地根据输入图像的像素级细节来进行控制。它会尽量保证生成图像与输入图像在像素对应关系、细节还原等方面达到更精确的匹配让控制效果更贴合输入图像的细微特征。4“Allow Preview”允许预览作用勾选该选项后在进行ControlNet相关处理如预处理输入图像、生成控制特征图等时会允许用户预览中间过程的图像或特征图方便用户查看ControlNet对输入图像的处理效果以便及时调整参数或输入图像。5“Effective Region Mask”有效区域掩码作用用于指定ControlNet作用的有效区域。通过设置掩码可以让ControlNet只对输入图像中的特定区域进行控制而忽略其他区域从而实现更有针对性的局部控制效果比如只修改图像中的某一部分而保持其他部分不变。2.3 选择控制模型其中Control Type表示控制类型选择任一种控制类型下面对应的是细分的预处理器Preprocessor和模型Model设置。最后该区域下面还有三个选项Control Weight权重表示使用ControlNet生成图片的权重占比影响默认为1。Starting Control Step开始介入的步数上限为1举例如果数值为0.2意思是图片绘制到20%的时候ControlNet才开始介入影响绘画。Ending Cotrol Step结束介入的步数上限也为1举例如果数值为0.9意思是图片绘制到90%的时候ControlNet结束介入影响绘画。2.4 控制及缩放模式Control Mode有三个选项分别是平衡、描述词更重要、ControlNet更重要。需要根据输出图片结果来调整选择一般默认“平衡”项。Resize Mode是页面缩放选项其三个选项含义如下Just Resize仅调整大小含义该选项会按照指定的尺寸直接对输入图像进行缩放以适配模型的输入要求。在缩放过程中会保持图像的宽高比不变。例如如果原始图像是一个长宽比较大的长方形在缩放后它依然会是一个长宽比相同的长方形不会对图像进行裁剪或填充额外内容。应用场景当你希望完整保留输入图像的所有内容且不改变图像的原始比例关系时使用。比如对于一些具有完整场景且元素位置关系很重要的图像不想因为裁剪或填充破坏其整体性就可以选择这个模式。Crop and Resize裁剪并调整大小含义首先该模式会根据设定的目标尺寸对输入图像进行裁剪通常会裁剪掉图像边缘的部分内容以使其符合特定的宽高比然后再将裁剪后的图像缩放到目标尺寸。例如若目标尺寸的宽高比和原始图像不同可能会裁掉原始图像的左右两侧或者上下部分然后再进行缩放操作。应用场景当你更关注图像中的某一核心区域且可以接受去掉图像边缘部分内容时使用。比如输入图像中有一个人物但人物周围有较多无关的背景你可以通过这种模式裁剪掉无关背景然后将人物部分缩放到合适大小以突出主体。Resize and Fill调整大小并填充含义先将输入图像按照宽高比进行缩放使图像的宽度或高度取决于哪个维度先达到目标尺寸达到设定的目标尺寸然后对于未填满目标尺寸的部分使用指定的颜色通常是黑色或白色具体取决于软件设置进行填充。例如原始图像是正方形而目标尺寸是长方形图像会先缩放到长方形的短边长度然后在长边方向上用指定颜色填充空白区域。应用场景当你需要严格按照特定尺寸输出图像同时又要保留原始图像的完整内容和比例关系时使用。比如在需要生成固定尺寸的海报、插画等场景中使用这种模式可以确保图像内容完整同时满足尺寸要求。3 使用详解当前1.1版本ControlNet支持14种模型每种模型都有其各自的特点按模型的控图方向可分为4种类型分别是轮廓类、景深类、对象类和重绘类。image3.1 轮廓类轮廓类指的是通过元素轮廓来限制画面内容轮廓类模型有Canny硬边缘、MLSD直线、Lineart真实线稿、Lineart_anime动漫线稿、SoftEdge软边缘、Scribble涂鸦、Segmentation语义分割这7种且每种模型都配有相应的预处理器由于算法和版本差异同一模型可能提供多种预处理器供用户自行选择。1 Canny硬边缘以下基于Canny边缘检测进行详细介绍该模型源自图象处理领域的边缘检测算法可很好识别出图像内各对象的边缘轮廓常用于生成线稿。它主要配置以下3个参数Resolution分辨率数值越高越精细也越吃显存但如果数值太低生成的线条也会很粗糙默认512具体设置时需根据素材大小和实际情况来做权衡。Low Threshold低阈值一个灰度值界限用于初步筛选可能属于边缘的像素点。在 Canny 边缘检测算法中当一个像素点的梯度值反映像素点灰度变化的程度灰度变化越大梯度值越高 大于或等于低阈值时该像素点就有可能被标记为边缘点。但仅仅大于低阈值还不能确定它一定是边缘点因为图像中一些噪声点或者非重要的灰度变化也可能导致梯度值超过低阈值。低阈值主要用于 “捕捉” 潜在的边缘信息尽量减少边缘的遗漏。如果低阈值设置得过低可能会将大量噪声点或无关的灰度变化误判为边缘导致检测出过多不必要的边缘即边缘过于杂乱而如果设置得过高就可能会遗漏一些真正的边缘细节使得检测出的边缘不完整。High Threshold高阈值一个灰度值界限用于确定那些 “确凿无疑” 的边缘点。当一个像素点的梯度值大于或等于高阈值时该像素点会被直接确定为边缘点。并且与这些确定的边缘点相连通在一定的邻域范围内、梯度值大于低阈值的像素点也会被认为是边缘点。高阈值的主要作用是确保检测出的边缘是真正显著的、重要的边缘减少虚假边缘的出现。如果高阈值设置得过高只有极少数梯度值非常大的像素点才会被认定为边缘点这样可能会导致检测出的边缘过于稀疏丢失很多关键的边缘信息而如果设置得过低就无法有效过滤掉不重要的边缘和噪声导致边缘检测结果不够精确。在使用 canny 进行预处理时提取的图像像素边缘线会被上述2个阈值参数划分为强边缘、弱边缘和非边缘 3 类其中强边缘会直接保留而非边缘的线稿会被忽略处于中间弱边缘范围的线稿则会进行计算筛选。以下面这张图为例预处理过程中检测到3条边缘线其中D点位于非边缘区域因此直接被排除而A点位于强边缘区域被保留。虽然B、C点都位于弱边缘区域但由于 B 点和 A 点是直接相连的因此 B 点也被保留而与C点相连的线全都位于弱边缘区域所以被排除。由此得到画面中最终被保留的边缘线只有 AB 这条线。image在实际应用中通常需要合理搭配低阈值和高阈值。一般来说高阈值要大于低阈值 常见的经验取值是高阈值为低阈值的2 - 3倍。通过调整这两个阈值可以在边缘检测的完整性和准确性之间找到一个平衡以获得符合需求的边缘检测结果从而让 ControlNet 更精准地根据边缘信息生成图像。 例如在生成线稿风格的图像时合适的阈值设置能确保生成的图像线条既完整又清晰不会出现多余杂乱的线条或者线条缺失的情况。image点击中间的按钮可以预览预处理后的轮廓线。可以在此基础上结合Stable Diffusion重新生成图象例如核心提示词Prompt如下photorealistic, ultra-detailed, 8k, high resolution,a beautiful young woman (22 years old), fair skin with subtle blush,long wavy chestnut hair with soft highlights, bright almond-shaped eyes (warm brown color, clear and shiny),full lips with natural pink lipstick, sharp jawline, delicate nose负提示词Negative Prompt如下lowres, blurry, bad anatomy, bad hands, missing fingers, extra fingers,mutated hands, deformed, ugly, disfigured, malformed face,watermark, text, signature, username, logo,worst quality, low quality, normal quality, jpeg artifacts,cartoon, anime, 3d render, doll, plastic skin, unrealistic模型使用kimchiMix V4其他核心配置如图所示最终生成的图片如下image可见生成的图片是在边缘检测的基础上生成的从而在很大程度上加强了生成的“可控性”。2 MLSD直线边缘MLSDModulated Line Segment Detection调制线段检测提取的都是画面中的直线边缘在下图中可以看到MLSD预处理后只会保留画面中的直线特征而忽略曲线特征。image因此MLSD多用于提取物体的线型几何边界最典型的就是几何建筑、室内设计、路桥设计等领域。MLSD预处理器同样也有自己的定制参数分别是MLSD Value Threshold强度阈值和MLSD Distance Threshold长度阈值。MLSD阈值控制的是2个不同方向的参数强度和长度它们的数值范围都是 020 之间。Value强度阈值用于筛选线稿的直线强度简单来说就是过滤掉其他没那么直的线条只保留最直的线条。Distance长度阈值则用于筛选线条的长度即过短的直线会被筛选掉。在画面中有些被识别到的短直线不仅对内容布局和分析没有太大帮助还可能对最终画面造成干扰通过长度阈值可以有效过滤掉它们。3 Lineart线稿Lineart同样也是对图像边缘线稿的提取但它的使用场景会更加细分包括Realistic真实系和Anime动漫系2个方向。image在 ControlNet 插件中将lineart和lineart_anime种控图模型都放在「Lineart线稿」控制类型下分别用于写实类和动漫类图像绘制配套的预处理器也有6个之多其中带有anime字段的预处理器用于动漫类图像特征提取其他的则是用于写实图像。相比Canny 提取后的线稿类似电脑绘制的硬直线粗细统一都是1px大小而Lineart则是有的明显笔触痕迹线稿更像是现实的手绘稿可以明显观察到不同边缘下的粗细过渡。虽然官方将Lineart划分为2种风格类型但并不意味着他们不能混用实际上我们可以根据效果需求自由选择不同的绘图类型处理器和模型。4 SoftEdge软边缘Soft Edge是一种比较特殊的边缘线稿提取方法它的特点是可以提取带有渐变效果的边缘线条由此生成的绘图结果画面看起来会更加柔和且过渡自然它共提供了6种不同的预处理器。image1softedge_pidinet原理基于 PIDinet一种边缘检测算法进行开发它能够检测出图像中较为精细的边缘信息。PIDinet 在边缘检测时对图像中的结构和细节有较好的捕捉能力能够区分不同物体的边界。适用场景适用于需要保留图像中物体精确边缘信息的场景比如将一张具有复杂场景的照片转化为线稿风格的图像它可以清晰地勾勒出各个物体的轮廓包括人物、建筑、植物等的边缘使得生成的图像在结构上比较准确。2softedge_teed原理采用了特定的技术来优化边缘检测的结果在识别图像边缘时注重边缘的连续性和流畅性对一些噪声和不规则的像素变化有一定的抑制作用从而得到相对平滑的边缘输出。适用场景在生成一些风格较为柔和、边缘不需要过于尖锐的图像时比较有用。例如在生成卡通风格的插画时它可以生成圆润、流畅的线条避免出现过于生硬或锯齿状的边缘让图像看起来更加自然和谐。3softedge_pidsafe原理可能是在 PIDinet 的基础上进行了安全相关的优化比如在检测边缘时对可能出现的误检、错检情况进行了一定的修正和过滤提高边缘检测结果的可靠性和稳定性。适用场景对于对边缘检测准确性要求较高的场景如工业设计图纸的边缘提取、医学影像中特定组织的边缘识别等。在这些场景中错误的边缘检测可能会导致严重的后果而 softedge_pidsafe 可以降低这种风险。4softedge_hedsafe原理基于 HEDHolistically-Nested Edge Detection整体嵌套边缘检测算法进行改进并增加了安全相关的处理机制。HED 本身是一种性能较好的边缘检测算法能够检测出图像中不同尺度和层次的边缘softedge_hedsafe 在此基础上进一步优化减少误检和漏检的情况。适用场景适用于对图像边缘完整性和准确性都有较高要求的场景如艺术创作中的精细线稿生成、图像修复中边缘的匹配等。它可以在复杂的图像内容中准确地检测出边缘并且在处理过程中尽量减少对原始图像信息的破坏。5softedge_hed原理直接基于 HED 算法能够从图像中提取出丰富的边缘信息包括物体的轮廓、纹理边缘等。它可以检测出不同强度和方向的边缘并且在多尺度上进行分析以适应不同大小物体的边缘检测需求。适用场景在需要全面获取图像边缘信息的场景中表现出色例如在图像风格转换任务中将一张照片转换为具有特定风格的绘画作品时softedge_hed 可以提供较为完整的边缘基础帮助生成的图像在结构上更贴近原始图像。6softedge_anyline原理致力于能够处理各种类型的线条信息无论是清晰的轮廓线、模糊的边界线还是一些具有艺术风格的线条它都能够进行有效的检测和提取。这种模型可能采用了更加灵活和通用的算法以适应不同来源和质量的图像输入。适用场景非常适合用于处理手绘草图、涂鸦风格的图像或者是一些边缘信息不清晰、不规范的图像。比如将用户随意绘制的草图转化为具有一定风格的正式插画softedge_anyline 可以很好地利用草图中的线条信息生成符合预期的图像。5 Scribble涂鸦边缘Scribble涂鸦也可称作Sketch草图同样是一款手绘效果的控图类型但它检测生成的预处理图更像是蜡笔涂鸦的线稿在控图效果上更加自由。image1scribble_pidinet原理基于PIDinet算法开发PIDinet是一种高效的边缘检测算法。scribble_pidinet预处理器会利用该算法检测输入图像中的边缘信息并将其简化为类似涂鸦的线条。它能够识别出图像中物体的主要轮廓和关键结构去除一些不必要的细节从而生成简洁的涂鸦线条图。特点和优势对复杂图像的处理能力较强能够在保留图像主要结构的同时过滤掉过多的细节干扰。生成的涂鸦线条相对比较精准能较好地反映物体的形状和位置关系适合用于需要精确控制图像轮廓的场景。适用场景在将照片转换为具有简洁线条风格的插画时非常有用例如将人物照片转化为卡通风格的人物线稿或者将风景照片转化为简约的风景轮廓图 。2invert (from white bg black line)原理这并不是严格意义上基于某种算法进行涂鸦线条提取的预处理器而是一种对图像颜色进行反转的操作专门针对背景为白色、线条为黑色的图像。当输入图像符合这种颜色模式时通过这个预处理器可以将其转换为背景为黑色、线条为白色的图像以适配后续模型的输入要求。特点和优势操作简单直接能够快速调整图像的颜色模式方便与其他基于黑色线条输入的涂鸦模型或算法配合使用提高工作效率。适用场景适用于那些通过手动绘制或其他方式得到的白底黑线涂鸦图像在使用ControlNet进行进一步处理之前先通过这个预处理器进行颜色转换。3scribble_xdog原理基于XDoGeXtended Difference of Gaussians扩展高斯差分算法这是一种用于边缘检测和图像风格化的技术。scribble_xdog预处理器利用XDoG算法的特性对输入图像进行处理生成具有独特风格的涂鸦线条。它可以模拟人类手绘涂鸦的效果使生成的线条带有一定的随机性和艺术感。特点和优势生成的涂鸦线条具有很强的艺术风格线条粗细变化自然能给人一种手绘的感觉。对于追求艺术化、个性化涂鸦效果的应用场景它能够提供非常独特的视觉体验。适用场景在艺术创作领域如生成具有艺术感的海报、插画的草图阶段或者在设计具有个性化风格的UI界面元素时scribble_xdog可以帮助设计师快速获得具有创意的线条稿。4scribble_hed原理基于HEDHolistically-Nested Edge Detection整体嵌套边缘检测算法。HED是一种性能优越的边缘检测方法能够在多尺度上对图像进行边缘检测提取出丰富的边缘信息。scribble_hed预处理器会将HED检测到的边缘信息进行简化和抽象转化为涂鸦风格的线条表示。特点和优势能够检测到图像中较为完整和细致的边缘信息生成的涂鸦线条相对比较丰富能较好地保留图像中的细节特征。在需要保留较多图像细节的涂鸦转换中表现出色。适用场景当需要将具有复杂细节的图像转换为涂鸦风格同时又希望保留一定细节信息时比如将一幅精细的工笔画转化为涂鸦风格的作品scribble_hed可以在简化图像的同时尽量保留画面中的关键细节。6 Seg语义分割Segmentation的完整名称是Semantic Segmentation语义分割很多时候简称为Seg。和以上其他线稿类控制类型不同它可以在检测内容轮廓的同时将画面划分为不同区块并对区块赋予语义标注从而实现更加精准的控图效果。imageSeg预处理器检测后的图像包含了不同颜色的板块图就像现实生活中的区块地图。画面中不同的内容会被赋予相应的颜色这样限定区块的方式有点类似局部重绘的效果在生成图像时模型会在对应色块范围内生成特定对象从而实现更加准确的内容还原。3.2 景深类前面的轮廓类都是在二维平面角度的图像检测有没有可以体现三维层面的控图类型呢这就不得不提景深类ControlNet模型了。景深一词是指图像中物体和镜头之间的距离简单来说这类模型可以体现元素间的前后关系包括Depth深度和NormalMap法线贴图这2 种老牌模型。1 Depth深度图也被称为距离影像可以将从图像采集器到场景中各点的距离深度作为像素值的图像它可以直接体现画面中物体的三维深度关系。学习过三维动画知识的朋友应该听说过深度图该类图像中只有黑白两种颜色距离镜头越近则颜色越浅白色距离镜头越近则颜色越深黑色。Depth模型可以提取图像中元素的前后景关系生成深度图再将其复用到绘制图像中因此当画面中物体前后关系不够清晰时可以通过Depth模型来辅助控制。下图中可以看到通过深度图很好的还原了建筑中的空间景深关系。image根据预处理器算法的不同Depth 在最终成像上也有差异实际使用时大家可以根据预处理的深度图来判断哪种深度关系呈现更加合适。2 NormalMap法线贴图另一种可以体现景深关系的图像叫NormalMap法线贴图要理解它的工作原理我们需要先回顾下法线的概念。在中学时期有学过法线它是垂直与平面的一条向量因此储存了该平面方向和角度等信息。通过在物体凹凸表面的每个点上均绘制法线再将其储存到 RGB的颜色通道中其中R红色、G绿色、B蓝色分别对应了三维场景中XYX空间坐标系这样就能实现通过颜色来反映物体表面的光影效果而由此得到的纹理图我们将其称为法线贴图。由于法线贴图可以实现在不改变物体真实结构的基础上也能反映光影分布的效果被广泛应用在CG动画渲染和游戏制作等领域。ControlNet的NormalMap模型就是根据画面中的光影信息从而模拟出物体表面的凹凸细节实现准确还原画面内容布局因此 NormalMap 多用于体现物体表面更加真实的光影细节。image3.3 对象类OpenPose作为唯一一款专门用来控制人物肢体和表情特征的关键模型它被广泛用于人物图像的绘制常用的预处理器及其简介如下图所示imageOpenPose姿态检测预处理器full用于生成了一个基于节点和连线的骨骼火柴人的形象。相较于其他固定角色姿势的controlnet方案来说这种技术的优势是支持多个OpenPose骨架组合成一个图像达到精确控制多角色同屏的效果。此外由于还支持通过插件手动调节骨骼节点也就便利了喜欢自已定义动作的同学。所有这些辅助骨骼信息会形成ControlNet的输入条件condition从而影响和引导稳定扩散模型的生成过程获得符合预设姿势的生成图。提示词、模型及主要配置不变仅仅修改分辨率为新导入图片的分辨率在姿态检测的基础上重新生成图片效果如下image直接通过右侧火柴人上面的“Edit”按钮对姿态进行调整image调整完成后再“发送姿势到ControlNet”保持原有配置再次进行生成从结果可见已经根据新的姿态生成新的图象如下图所示。当然在上图中还可以进行“添加人物”“上传JSON等更多操作以实现多人物融合生成。image3.4 重绘类接着是最后的重绘类模型在ControlNet中这类重绘模型是对原生图生图功能的延伸和拓展。1 Inpaint局部重绘先来看看我们熟悉的局部重绘 ControlNet中的Inpaint相当于更换了原生图生图的算法在使用时还是受重绘幅度等参数的影响。如下图的案例中我们使用默认的重绘幅度对美女脸部进行了重绘image局部重绘这里提供了3种预处理器Global_Harmonious、only和onlylama通过实际测试来看整体出图效果上差异不大。2 Tile分块在SD开源这大半年中绘制超分辨率的高清大图一直是很多极客玩家的追求但限于显卡高昂的价格和算力瓶颈通过WebUI直出图的方式始终难以达到满意的目标。后来聪明的开发者想到Tile分块绘制的处理方法原理就是将超大尺寸的图像切割为显卡可以支持的小尺寸图片进行挨个绘制再将其拼接成完整的大图虽然绘图时间被拉长但极大的提升了显卡性能的上限真正意义上实现了小内存显卡绘制高清大图的操作。image但这个过程中始终有个问题困扰着很多开发者那就是分块后的小图始终难以摆脱全局提示词的影响。举个例子我们的提示词是 1girl当图像分割为 16 块进行绘制时每个块都会被识别成一张独立的图片导致每个块中可能都会单独绘制一个女孩。而 ControlNet Tile 巧妙的解决了这个问题。在绘制图像时启用 Tile 模型它会主动识别单独块中的语义信息减少全局提示的影响。具体来说这个过程中 Tile 进行了 2 种处理方式1忽略原有图像中的细节并生成新的细节。2如果小方块的原有语义和提示词不匹配则会忽略全局提示词转而使用局部的上下文来引导绘图。在之前图生图给大家介绍重绘幅度参数时有提到增大重绘幅度可以明显提升画面细节但问题是一旦设定重绘幅度画面内容很容易就发生难以预料的变化而配合Tile进行控图就能完美的解决这个问题因为Tile模型的最大特点就是在优化图像细节的同时不会影响画面结构。image基于以上特点ControlNet Tile被广泛用于图像细节修复和高清放大最典型的就是配合Tile Diffusion等插件实现4k、8k图的超分放大相较于传统放大Tile可以结合周围内容为图像增加更多合理细节。理论上来说只要分得块足够多配合Tile可以绘制任意尺寸的超大图。例如保持其他配置不变只是将分辨率翻倍则可以生成更为清晰的图片狗的毛发细节更新清晰image3 InstructP2P指导图生图InstructP2P的全称为Instruct Pix2Pix指导图生图使用的是Instruct Pix2Pix数据集训练的ControlNet。它的功能可以说和图生图基本一样会直接参考原图的信息特征进行重绘因此并不需要单独的预处理器即可直接使用。IP2P目前还处于试验阶段并不是一种成熟的 ControlNet 模型平时使用并不多。4 Shuffle随机洗牌随机洗牌是非常特殊的控图类型它的功能相当于将参考图的所有信息特征随机打乱再进行重组生成的图像在结构、内容等方面和原图都可能不同但在风格上你依旧能看到一丝关联耷拉着的小耳朵。image不同于其他预处理器Shuffle在提取信息特征时完全随机因此会收到种子值的影响当种子值不同时预处理后的图像也会是千奇百怪。Shuffle的使用场景并不多因为它的控图稳定性可以说所有ControlNet模型中最差的一种你可以将它当作是另类的抽卡神器用它来获取灵感也是不错的选择。