当前位置: 首页 > news >正文

Stable Diffusion 使用详解(11)--- 场景ICON制作

目录

背景

controlNet

整体描述

Canny

Lineart

Depth

实际使用

AI绘制需求

绘制过程

PS打底

场景模型选择

设置提示词及绘制参数

controlnet 设置

canny 边缘

depth 深度

lineart 线稿

效果


背景

这段时间不知道为啥小伙伴似乎喜欢制作很符合自己场景的ICON。其实,你如果认真看了本专栏前面几节的内容,应该说这个问题很简单。但是总有小伙伴按照别人的safetensor 或者checkpoint 文件无法做出别人的效果,做出来总是一个很奇怪的图案。如果你也是这种情况,就说明你还没有入门炼丹师行业。Stable Diffusion 作画的机理及使用前面已经讲了很多。AI作画的好处就是天马行空,不管是文生图 还是 图生图,都是一样的。这种灵活性赋予AI作画创造性的同时,也使得AI作画无法被指定的实物约束。这个时候一定要使用 controlnet。controlnet相当于是在赋予AI创造性的同时,告诉AI 作画,你的发挥空间必须遵循我的limitation 约束。本质上,stable diffusion 有很多东西都是在约束AI的 ‘创造力’,使得创造出的东西符合 平时人们的观感。最简单的 正负提示词,随机种子,到你套用的模型,无论是比较小的Lora,还是比较完整的checkpoint 都是如此,训练的本质你可以理解为其实就是约束AI的创造行为,不要让AI天马行空的乱绘制。controlnet 在这里面属于一种比较强的约束,在稍微高级一点的 stable diffsuion,作为炼丹师入门的AI 绘画技能必须要掌握。我就任意选一个AI icon 的例子,看看怎么处理。

controlNet

整体描述

前面讲过他了,为什么别人做出来的icon 不是胡乱的四不像,而你根据同样的配置做出来是乱七八糟?就是因为 controlnet 在大多数时候,炼丹师对  controlnet的操作不会被保存,这需要你自己选择合适的controlNet model。有时候甚至需要多个controlNet 的叠加。controlNet 发展到现在,有近20种了吧,好像还不止。但是万变不离其宗,从功能上划分,有约束形态的openopse,有约束外形的canny,lineart,有控制深浅的 depth,有控制风格及颜色变迁的P2P,还有控制语义分割的seg等等。绘制出来形状不对,多半是没有喂给 stable diffusion 合适的边缘。我就在讲一下这部分吧。

模型,相较于Canny,Lineart提取的线稿更加精细,细节更加丰富。Lineart提供了多种预处理器,如lineart_anime(动漫线稿控制)、lineart_anime_denoise(动漫线稿控制去噪)、lineart_coarse(粗略线提取)、lineart_realistic(写实线提取)和lineart_standard(标准线稿提取)等,以满足不同用户的需求。这些预处理器能够更准确地提取出图像中的线稿信息,进而生成以线稿为框架的新图像。

Canny

Canny是一种边缘检测算法,能够很好地识别出图像内各对象的边缘轮廓。在ControlNet中,Canny模型通过调节低阈值和高阈值来控制边缘检测的精细程度。低阈值越低,线条越复杂;高阈值越高,线条越简单。这种控制方式使得用户可以根据需要,精确控制图像的边缘信息,进而生成与原图构图相似的画面,但可以通过关键词调整颜色、细节等。

Lineart

Lineart是ControlNet 1.1版本中新增的模型,相较于Canny,Lineart提取的线稿更加精细,细节更加丰富。Lineart提供了多种预处理器,如lineart_anime(动漫线稿控制)、lineart_anime_denoise(动漫线稿控制去噪)、lineart_coarse(粗略线提取)、lineart_realistic(写实线提取)和lineart_standard(标准线稿提取)等,以满足不同用户的需求。这些预处理器能够更准确地提取出图像中的线稿信息,进而生成以线稿为框架的新图像。

Depth

Depth是一种深度估计模型,它通过分析输入图像的深度信息,生成具有透视效果的图像。在ControlNet中,Depth模型不仅能够帮助用户固定角色姿势的轮廓,还能起到固定场景透视效果的作用。浅色区域意味着它离用户更近,而深色区域则离用户更远。Depth模型在处理角色图像时,可能会丢失部分内部细节(如面部表情等),但它能够很好地保留物体的轮廓和场景的透视效果。此外,Depth模型还提供了不同的变体,如Depth Leres(++)和Depth Zoe,它们各自具有不同的特点和应用场景。

实际使用

AI绘制需求

假设我们项目需要打一个app icon,是一个搜索图标,正方形,竖排显示搜索两个字。

绘制过程

PS打底

我希望是立体效果,我还是用PS打底,先做一个立体字出来。长这样:

当然如果你搞不定或者没有学过PS,直接用mspaint等绘制一张2D的搜索也还是可以的。但是效果可能没有这样做好。

场景模型选择

我想绘制出来有点金属质感,找一个带有金属质感的lora 。

这个模型比较符合我的预期。看下底膜,没有的话,提前下载或者加入。这里使用的是 

设置提示词及绘制参数

hjymechatype,mecha,no humans,science fiction,vehicle focus,shadow,wheel,spacecraft,gradient background,gradient,machinery,robot,grey background,white background,ground vehicle,thrusters,blue led lighting,shining,metal,pip wire on surface,line shape led lighting,chrome,gold trim,

Deep Negative V1.x,EasyNegative,

Lora 权重 我设置的是 0.8

如果只是设置上述的,确实绘制出来什么都不是,因为你没有进一步强制约束Stable diffusion,到底绘制什么东西,图形的直观限制总比那些虚无缥缈的提示词来的直接,我这说法其实不太对,提示词也同样重要。这里我只是为了突出 controlnet 的重要性,你理解就行。

controlnet 设置

canny 边缘

depth 深度

lineart 线稿

你可能会问上了canny为什么还要上 lineart,因为在极度追求细节的环境下,canny 可能控制不住,或者说需要两者叠加比较出效果。因为字体icon 的绘制不像其他类型,不能走形,否则不知道你绘制的是什么。

效果

  

仔细看下,还是有细微的差别。当然你可以选择其他Lora 模型绘制不一样的icon 效果。

当然你可以适当修改提示词,

water,bubble,air bubble,black background,monochrome,greyscale,

greyscale 突出了其银灰色系

换一个水波的Lora 看看效果:

btw,另一个小技巧,如果只是风格类的转换,你已经用AI完成了一幅作品,当cn 都控制起来有点费劲,除了加高权重,还可以看下随机种子数,将seed 搞过来,有时候会事倍功半。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • (十六)、把镜像推送到私有化 Docker 仓库
  • 2024华为杯研赛E题保姆级教程思路分析
  • 打造民国风格炫酷个人网页:用HTML和CSS3传递民国风韵
  • 如何在Windows上安装Docker
  • 业务资源管理模式语言17
  • 如何通过蜂巢(容器安全)管理内部部署数据安全产品与云数据安全产品?
  • 浅谈计算机视觉新手的学习路径
  • AIoT智能工控板
  • Linux常用指令
  • [SDX35]SDX35硬件使用512MB内存,实际只初始化256MB问题分析及解决方案
  • 【STM32】esp8266连接wifi
  • 进阶SpringBoot之异步任务、邮件任务和定时执行任务
  • 高级I/O知识分享【5种IO模型 || select || poll】
  • 7000长文:一文读懂Agent,大模型的下一站
  • Netty+HTML5+Canvas 网络画画板实时在线画画
  • 【108天】Java——《Head First Java》笔记(第1-4章)
  • 【162天】黑马程序员27天视频学习笔记【Day02-上】
  • 【css3】浏览器内核及其兼容性
  • HTML-表单
  • IDEA 插件开发入门教程
  • isset在php5.6-和php7.0+的一些差异
  • JAVA并发编程--1.基础概念
  • Laravel 中的一个后期静态绑定
  • python 学习笔记 - Queue Pipes,进程间通讯
  • 阿里研究院入选中国企业智库系统影响力榜
  • 前端性能优化--懒加载和预加载
  • 深入浏览器事件循环的本质
  • 什么软件可以剪辑音乐?
  • 什么软件可以提取视频中的音频制作成手机铃声
  • 一、python与pycharm的安装
  • postgresql行列转换函数
  • 微龛半导体获数千万Pre-A轮融资,投资方为国中创投 ...
  • ​TypeScript都不会用,也敢说会前端?
  • ​第20课 在Android Native开发中加入新的C++类
  • ​批处理文件中的errorlevel用法
  • ​中南建设2022年半年报“韧”字当头,经营性现金流持续为正​
  • #AngularJS#$sce.trustAsResourceUrl
  • #define
  • (Git) gitignore基础使用
  • (二)基于wpr_simulation 的Ros机器人运动控制,gazebo仿真
  • (规划)24届春招和25届暑假实习路线准备规划
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (十)c52学习之旅-定时器实验
  • (四)事件系统
  • (一)WLAN定义和基本架构转
  • .net 4.0 A potentially dangerous Request.Form value was detected from the client 的解决方案
  • .net core 6 redis操作类
  • .NET 跨平台图形库 SkiaSharp 基础应用
  • .net 设置默认首页
  • .NET 应用启用与禁用自动生成绑定重定向 (bindingRedirect),解决不同版本 dll 的依赖问题
  • .net(C#)中String.Format如何使用
  • .NET_WebForm_layui控件使用及与webform联合使用
  • .NET版Word处理控件Aspose.words功能演示:在ASP.NET MVC中创建MS Word编辑器
  • @Tag和@Operation标签失效问题。SpringDoc 2.2.0(OpenApi 3)和Spring Boot 3.1.1集成
  • [ solr入门 ] - 利用solrJ进行检索