当前位置: 首页 > 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 搞过来,有时候会事倍功半。

相关文章:

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

目录 背景 controlNet 整体描述 Canny Lineart Depth 实际使用 AI绘制需求 绘制过程 PS打底 场景模型选择 设置提示词及绘制参数 controlnet 设置 canny 边缘 depth 深度 lineart 线稿 效果 背景 这段时间不知道为啥小伙伴似乎喜欢制作很符合自己场景的ICON。…...

【Linux系统编程】第二十弹---进程优先级 命令行参数 环境变量

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】【C详解】【Linux系统编程】 目录 1、进程优先级 2.1、什么是优先级 2.2、优先级的描述 2.3、优先级与权限的关系 2.4、为什么要有优先级 2.5、Linux优先级的…...

无人机之4G模块的主要功能和优势

一、增强图传 在无人机飞行过程中,传统的图传方式可能会受到信号遮挡或干扰的影响,导致图像传输不稳定甚至中断。而4G模块通过结合4G网络技术,能够在原有图传技术的基础上提供增强的图传功能。当传统图传信号不佳时,无人机可以自动…...

深度学习-03 Pytorch

损失函数是用来衡量模型预测结果与真实值之间的差异,并用来优化模型的指标。在机器学习和神经网络中,常用的损失函数包括均方误差(Mean Squared Error,MSE)、交叉熵(Cross-Entropy)等。 反向传播…...

GRU(门控循环单元)的原理与代码实现

1.GRU的原理 1.1重置门和更新门 1.2候选隐藏状态 1.3隐状态 2. GRU的代码实现 #导包 import torch from torch import nn import dltools#加载数据 batch_size, num_steps 32, 35 train_iter, vocab dltools.load_data_time_machine(batch_size, num_steps)#封装函数&…...

【医疗大数据】医疗保健领域的大数据管理:采用挑战和影响

选自期刊**《International Journal of Information Management》**(IF:21.0) 医疗保健领域的大数据管理:采用挑战和影响 1、研究背景 本研究的目标是调查阻止医疗机构实施成功大数据系统的组织障碍,识别和评估这些障碍,并为管理…...

gevent + flask 接口会卡住

在使用 gevent 和 Flask 处理 CPU 密集型任务时,确实可能会遇到性能瓶颈。这是因为 gevent 主要优化的是 I/O 密集型任务,而不是 CPU 密集型任务。以下是一些可能的原因和解决方案: 原因 Gevent 的协程模型: gevent 使用 greenle…...

SpringCloud Alibaba五大组件之——Sentinel

SpringCloud Alibaba五大组件之——Sentinel(文末附有完整项目GitHub链接) 前言一、什么是Sentinel二、Sentinel控制台1.下载jar包2.自己打包3.启动控制台4.浏览器访问 三、项目中引入Sentinel1.在api-service模块的pom文件引入依赖:2.applic…...

brpc之io事件分发器

结构 #mermaid-svg-v4SjrdGXadMO4udP {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg-v4SjrdGXadMO4udP .error-icon{fill:#552222;}#mermaid-svg-v4SjrdGXadMO4udP .error-text{fill:#552222;stroke:#552222;}#merm…...

MySQL | 知识 | 从底层看清 InnoDB 数据结构

文章目录 一、InnoDB 简介InnoDB 行格式COMPACT 行格式CHAR(M) 列的存储格式VARCHAR(M) 最多能存储的数据记录中的数据太多产生的溢出行溢出的临界点 二、表空间文件的结构三、InnoDB 数据页结构页页的概览Infimum 和 Supremum使用Page Directory页的真实面貌 四、B 树是如何进…...

es的封装

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、类和接口介绍0.封装思想1.es的操作分类 二、创建索引1.成员变量2.构造函数2.添加字段3.发送请求4.创建索引总体代码 三.插入数据四.删除数据五.查询数据 前…...

写一个自动化记录鼠标/键盘的动作,然后可以重复执行的python程序

import sys import threading import time from PyQt5.QtWidgets import * from auto_fun import * import pyautogui import pynput from PyQt5.QtCore import pyqtSignal from MouseModule import * from pynput import keyboardlocal_list [] # 保存操作坐标、动作、文本 …...

Spring Boot-热部署问题

Spring Boot 热部署问题分析与解决方案 热部署(Hot Deployment)是指在应用程序运行过程中,无需停止应用就可以动态加载新代码、配置或资源,从而提升开发效率。在 Spring Boot 开发中,热部署是一项非常实用的功能&…...

深度学习——管理模型的参数

改编自李沐老师《动手深度学习》5.2. 参数管理 — 动手学深度学习 2.0.0 documentation (d2l.ai) 在深度学习中,一旦我们选择了模型架构并设置了超参数,我们就会进入训练阶段。训练的目标是找到能够最小化损失函数的模型参数。这些参数在训练后用于预测&…...

芯片验证板卡设计原理图:372-基于XC7VX690T的万兆光纤、双FMC扩展的综合计算平台 RISCV 芯片验证平台

基于XC7VX690T的万兆光纤、双FMC扩展的综合计算平台 RISCV 芯片验证平台 一、板卡概述 基于V7的高性能PCIe信号处理板,北京太速科技板卡选用Xilinx 公司Virtex7系列FPGA XC7VX690T-2FFG1761C为处理芯片,板卡提供两个标准FMC插槽,适用于…...

【软设】 系统开发基础

【软设】 系统开发基础 一.软件工程概述 (了解一下大概的流程就行) 1. 可行性分析与项目开发计划 目的:评估项目的经济性、技术性和运营性,判断项目是否值得投资和开发。确定开发时间、预算、所需资源等。 可行性分析&#xff…...

Linux移植之系统烧写

直接参考【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.81 本文仅作为个人笔记使用,方便进一步记录自己的实践总结。 前面我们已经移植好了 uboot 和 linux kernle,制作好了根文件系统。但是我们移植都是通过网络来测试的,在实际的产品开发中…...

【数据结构与算法】LeetCode:双指针法

文章目录 LeetCode:双指针法正序同向而行(快慢指针)移除元素移动零(Hot 100)删除有序数组中的重复项颜色分类(Hot 100)压缩字符串移除链表元素删除排序链表中的重复元素删除排序链表中的重复元素…...

Istio下载及安装

Istio 是一个开源的服务网格,用于连接、管理和保护微服务。以下是下载并安装 Istio 的步骤。 官网文档:https://istio.io/latest/zh/docs/setup/getting-started/ 下载 Istio 前往Istio 发布页面下载适用于您的操作系统的安装文件,或者自动…...

Redis基础数据结构之 Sorted Set 有序集合 源码解读

目录标题 Sorted Set 是什么?Sorted Set 数据结构跳表(skiplist)跳表节点的结构定义跳表的定义跳表节点查询层数设置 Sorted Set 基本操作 Sorted Set 是什么? 有序集合(Sorted Set)是 Redis 中一种重要的数据类型,…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架,它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用,和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

MPNet:旋转机械轻量化故障诊断模型详解python代码复现

目录 一、问题背景与挑战 二、MPNet核心架构 2.1 多分支特征融合模块(MBFM) 2.2 残差注意力金字塔模块(RAPM) 2.2.1 空间金字塔注意力(SPA) 2.2.2 金字塔残差块(PRBlock) 2.3 分类器设计 三、关键技术突破 3.1 多尺度特征融合 3.2 轻量化设计策略 3.3 抗噪声…...

业务系统对接大模型的基础方案:架构设计与关键步骤

业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...

java_网络服务相关_gateway_nacos_feign区别联系

1. spring-cloud-starter-gateway 作用:作为微服务架构的网关,统一入口,处理所有外部请求。 核心能力: 路由转发(基于路径、服务名等)过滤器(鉴权、限流、日志、Header 处理)支持负…...

ubuntu搭建nfs服务centos挂载访问

在Ubuntu上设置NFS服务器 在Ubuntu上,你可以使用apt包管理器来安装NFS服务器。打开终端并运行: sudo apt update sudo apt install nfs-kernel-server创建共享目录 创建一个目录用于共享,例如/shared: sudo mkdir /shared sud…...

MVC 数据库

MVC 数据库 引言 在软件开发领域,Model-View-Controller(MVC)是一种流行的软件架构模式,它将应用程序分为三个核心组件:模型(Model)、视图(View)和控制器(Controller)。这种模式有助于提高代码的可维护性和可扩展性。本文将深入探讨MVC架构与数据库之间的关系,以…...

智能仓储的未来:自动化、AI与数据分析如何重塑物流中心

当仓库学会“思考”,物流的终极形态正在诞生 想象这样的场景: 凌晨3点,某物流中心灯火通明却空无一人。AGV机器人集群根据实时订单动态规划路径;AI视觉系统在0.1秒内扫描包裹信息;数字孪生平台正模拟次日峰值流量压力…...

Java 二维码

Java 二维码 **技术&#xff1a;**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...

Angular微前端架构:Module Federation + ngx-build-plus (Webpack)

以下是一个完整的 Angular 微前端示例&#xff0c;其中使用的是 Module Federation 和 npx-build-plus 实现了主应用&#xff08;Shell&#xff09;与子应用&#xff08;Remote&#xff09;的集成。 &#x1f6e0;️ 项目结构 angular-mf/ ├── shell-app/ # 主应用&…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...