AIGC生图基础知识

news2024/9/20 0:45:08

一、引言

AIGC,即AI-Generated Content,是一种利用大型预训练模型如生成对抗网络(GAN)、扩散网络(Diffusion)和语言大模型(Transformer)等人工智能技术,通过对大量数据进行学习和模式识别,最终创造出各种类型内容的技术。例如,AIGC可以根据输入的“提示词”(如关键词或描述)或参考图片,生成相应的文章、图像、音频、视频等内容。

对于AIGC而言,目前比较火热的应用场景有文本生成(ChatGPT、文心一言、通义千问等) 以及生图场景(妙鸭相机、文心一格等等)。

当前的AIGC生图已经被广泛应用于各种商业落地场景,例如广告宣传图、个人形象生成甚至是一些灰色产业。

得益于最近在做项目有所涉猎AIGC相关内容,进行一次简单的总结分享。

目前主流的生图选型有StableDiffusion、Midjourney、DALL-E等,由于StableDiffusion开源的属性以及丰富的生态,下文主要介绍均基于StableDiffusion,以及基于StableDiffusion的WebUI、ComfyUI。

二、Stable Diffusion基础

简介

Stable Diffusion是一种基于概率的机器学习模型,用于生成具有特定结构和特征的数据。

该模型通过逐步引入结构和模式,从无到有地生成数据。在Stable Diffusion中,这个过程被用来从随机噪声中生成图像。

Stable Diffusion生图过程

基本流程就是将图片进行扩散,扩散成一些随机的像素点之后,再通过预先训练好的模型,对扩散后的图片,进行一定秩序的生成,从而实现生成指定效果照片的作用。

生图过程中的一些核心概念

  • 对于SD模型,其autoencoder模型参数大小为84M,CLIP text encoder模型大小为123M,而UNet参数大小为860M,所以SD模型的总参数量约为1B

autoencoder:encoder将图像压缩到latent空间,而decoder将latent解码为图像;

CLIP text encoder:提取输入text的text embeddings,通过cross attention方式送入扩散模型的UNet中作为condition;

UNet:扩散模型的主体,用来实现文本引导下的latent生成。

基于以上概念,生成图片的过程图:

 

Stable Diffusion与其他生成模型的对比

名称

作者

优点

缺点

价格

Stable Diffusion

StabilityAI、CompVis与Runway合作开发

免费试用!价格便宜、开源、操作控制性强

对使用者要求高

公有云:$10=约5千张图

开源版本:

免费

Midjourney

Midjourney

使用直接、上手快、图片质量高

通过Discord使用、图像公开

基础月费:$10/月

DALL·E 3

OpenAI

用户友好、功能齐全

收费最贵

ChatGPT Plus可以使用:$20/月

三、Stable Diffusion WebUI

Stable Diffusion WebUI是对Stable Diffusion模型进行封装,提供可操作界面的工具软件,ComfyUI基本同理。

github地址:GitHub - AUTOMATIC1111/stable-diffusion-webui: Stable Diffusion web UI

WebUI的定义与功能介绍

定义

Stable Diffusion WebUI是由AUTOMATIC1111等社区开发者基于Gradio为Stable Diffusion模型提供的一个图形化界面工具。

它封装了Stable Diffusion模型的核心功能,并通过Web技术构建了一个用户友好的界面,使得用户无需深入了解模型背后的复杂原理,即可通过简单的操作实现高质量的图像生成。

功能介绍

  1. 文本到图像生成(txt2img)

    • 用户可以输入一段描述性文本,Stable Diffusion WebUI会根据这段文本生成相应的图像。这是Stable Diffusion模型最基本且最常用的功能。

    • 用户可以调整多种生成参数,如采样方法(Sampler)、迭代步数(Sampling steps)、图像尺寸(Width & Height)、批次计数(Batch count)、每批数量(Batch size)等,以获得满意的生成效果。

  1. 图像到图像生成(img2img)

    • 该功能允许用户以一张现有图像为基础,结合文本描述生成新的图像。这可以用于图像编辑、风格迁移等场景。

    • 用户可以指定图像的重绘幅度(Denoising strength)和缩放模式等参数,以控制生成图像与原始图像之间的关系。

  1. 模型切换与管理

    • Stable Diffusion WebUI支持多种模型,包括基础模型(Checkpoint)和辅助模型(如Lora、Embeddings等)。用户可以根据需要切换不同的模型,以获得不同风格或更高质量的生成效果。

    • 用户还可以下载和管理自己的模型文件,通过WebUI进行加载和使用。

  1. 内容填充(Inpaint)

    • Inpaint功能允许用户修复图像中被遮罩的部分或添加新的内容。用户可以使用鼠标在图像上绘制遮罩区域,然后Stable Diffusion WebUI会根据周围图像的内容和用户的提示词重新生成该区域的内容。

  1. 参数调整与优化

    • Stable Diffusion WebUI提供了丰富的参数调整选项,可以根据自己的需求和偏好进行个性化设置。例如,调整分类器无指导比例(CFG Scale)以控制模型遵循提示的程度,使用随机种子(Seed)以获得可重复的生成结果等。

  1. 实时预览与导出

    • 在生成图像的过程中,Stable Diffusion WebUI提供了实时预览功能,用户可以随时查看生成效果的变化。

    • 生成完成后,用户可以将图像导出为常见的文件格式(如PNG、JPEG等),并进行进一步的编辑和处理。

如何使用WebUI进行Stable Diffusion图像生成

WebUI的常用功能与参数设置(txt2img、img2img等)

WebUI生图的典型案例分享与解析(Lora、Embeding)

正向提示词:

 

SFW, masterpiece, best quality, 1 girl, brown hair, brown eyes, smile, standing, dynamic pose, outdoors, city background,

facial_mark, whisker_markings, 1girl, blue bodysuit, long_hair, pilot_suit, solo, facepaint, headphones, gun, brown_hair, holding_gun, swept_bangs, clothes_writing, bangs, breasts, blue_background, hand_on_hip, animal_print, handgun, brown_eyes, medium_breasts, holding_weapon, bracer, ribbed_bodysuit, weapon, white_gloves, shoulder_pads, holding, high_collar, turtleneck, standing, white_footwear, full_body, pink_lips, gloves, hand_up, pistol, skin_tight, smile

负向提示词:

 

nsfw, nude, censored, bad anatomy, bad hands, missing fingers, extra fingers, three hands, three legs, bad arms, missing legs, missing arms, poorly drawn face, bad face, fused face, cloned face, three crus, fused feet, fused thigh, extra crus, ugly fingers, horn, cartoon, cg, 3d, unreal, animate, amputation, disconnected limbs

Embeding(文本嵌入/嵌入式向量)

Embeding是一种占用空间极小的模型文件,通常只有几十到几百kb左右。

在概念上,Embeding代表了一种文本嵌入的方式。如果说Checkpoint是一本大字典,限定了我们给的提示词能够产生怎么样的效果,那么Embeddings就像是上面的一片小索引,它能够精准的指向个别字、词汇的含义,从而提供一个极其高效的索引集合。每个Embedding都相当于给我们将能够生成特定效果的提示词整合到一起,在我们使用的时候便输入到“字典”当中,去获取数据输入给模型。

例如,对于一个没有输入Embedding的图片生成效果:

Embedding后:

明显可以看出来embedding后拥有了一些比较有特征性的内容。

Lora(低秩模型)

如果说Embeddings书签,我们能通过书签在字典内索引到一些对一些关键信息,那么LoRa就像夹在书中的彩页,可以在字典之外提供一些新的内容。

对于一个Lora,会通过一些模型进行训练,将一些需要的数据特征写入到Lora当中,直接写清楚了需要信息的所有特点介绍,所以大模型对这种信息的了解一定是更为准确的,同时他的影响力度也是要更大一些。

此外,由于Lora是一个经过数据训练后的模型,里面的数据量比较大,因此Lora比Embeddings所占用空间更大一点,容量大概在100-200MB左右。

对于上面的图片,我们进行Lora后:

如果觉得太过影响原图,我们可以进行力度的降低:



四、ComfyUI与Stable Diffusion

ComfyUI的定义

github:GitHub - comfyanonymous/ComfyUI: The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

ComfyUI是一个为Stable Diffusion设计的基于节点的图形用户界面(GUI)。它允许用户通过连接不同的节点(称为“块”)来构建复杂的图像生成工作流程。这种设计使得ComfyUI成为一个高度模块化、灵活且可定制的工具,适用于需要精细控制和高度自定义的图像生成任务。ComfyUI不仅是一个用户界面,还是一个具有强大功能和高度模块化设计的系统,主要用Python、JS和CSS开发,其GitHub页面描述它为“最强大且模块化的稳定扩散GUI、API和后端,带有图形/节点界面”。

ComfyUI的特点

  1. 图像生成与编辑:可以利用ComfyUI进行复杂的图像生成和深度编辑,提升创作效率和作品质量。

  2. 显存优化:相比传统的WebUI,ComfyUI在相同显存条件下可以处理更大规模、更高品质的图像生成任务,特别适用于对显存需求较高的场景。

  3. 高效的图像生成:ComfyUI能够在显存占用更少的情况下,呈现更宏伟的图像,适合处理复杂和长线项目。

  4. 可靠的复现能力:通过其独特的工作流程设计,ComfyUI不仅能够精准定制图像,还能实现可靠的复现,确保每次生成的图像一致。相对于WebUI而言,可以更快的复刻某个效果。

  5. 扩展性和管理功能:ComfyUI提供了一系列管理功能,包括安装、移除、禁用和启用各种自定义节点,方便用户根据需求进行扩展和定制。

  6. 高度定制性:用户可以通过调整模块连接来定制工作流程,实现高度个性化的图像生成方案。

ComfyUI的节点式工作流程与优势

节点式工作流程

ComfyUI采用节点式工作流程设计,用户可以将不同的功能块(节点)通过连接线组合在一起,形成一个完整的工作流程。这种设计方式使得用户可以灵活地构建和修改图像生成流程,无需编写复杂的代码。节点类型多样,包括加载检查点模型、输入提示、指定采样器等,可以满足不同的图像生成需求。

优势

  1. 灵活性:节点式工作流程使得用户可以根据具体需求自由组合不同的节点,实现高度定制化的图像生成方案。

  2. 可视化:整个工作流程以可视化的形式展现,用户可以直观地看到每个节点的作用和它们之间的连接关系,便于理解和调试。

  3. 复用性:用户可以将自己创建的工作流程保存并分享给他人,或者加载其他用户分享的工作流程,从而提高工作效率和创作灵感。

  4. 可扩展性:ComfyUI支持安装和使用各种自定义节点,用户可以根据需要扩展新的功能,满足不断变化的创作需求。

  5. 错误追踪:在发生错误时,节点式工作流程能够清晰地显示错误发生的具体位置和原因,便于用户快速定位和解决问题。

使用ComfyUI进行Stable Diffusion图像生成的定制与优化

ComfyUI生图的典型案例分享

ControlNet(图像轮廓控制)

ControlNet 是一个用于控制 AI 图像生成的插件。它使用了一种称为"Conditional Generative Adversarial Networks"(条件生成对抗网络)的技术来生成图像。与传统的生成对抗网络不同,ControlNet 允许用户对生成的图像进行精细的控制。

ControlNet的出现解决了AIGC生图过程中的形状的不可控制性,让AIGC生图拥有了让控制图像生成的能力,让一些AIGC商业落地成为了真正可能。



openPose输入:

针对最开始生成的角色图,openPose结果:

五、总结与展望

Stable Diffusion、WebUI、ComfyUI的基础知识

本文大概介绍了以下内容:

  • StableDiffusion生图的基本原理

  • WebUI的基础使用

  • ComfyUI的基础使用

  • Embedding、Lora、Controlnet的基础学习

AIGC生图的挑战

  1. 原创性与版权问题

    • AIGC生成的图像是否享有版权保护,以及版权归属如何界定,目前尚无明确的法律规定。这可能导致版权纠纷和侵权问题。

  1. 语义鸿沟

    • 文本描述与视觉图像之间存在巨大差异,AI模型在理解和转换过程中可能产生偏差,导致生成的图像不符合预期。对于创作者而言,需要选择合理的Prompt提示词输入,以及合适的生成模型。

  1. 伦理与隐私问题

    • AIGC生图技术可能被用于生成具有误导性、歧视性或侵犯隐私的图像,从而引发伦理争议和法律风险。因此,在推动AIGC技术发展的同时,伦理规范和隐私保护会是一个比较尴尬的问题。

AIGC生图的未来发展与应用前景

  1. 技术进步与创新

    • 随着生成对抗网络(GAN)、Diffusion Models等技术的演进,AIGC生图在自动化、数字化和个性化方面将实现质的突破。未来,AIGC将能够生成更加逼真、多样且富有创意的图像。

  1. 应用场景拓展

    • AIGC生图技术将在更多领域得到应用,通过生成个性化、高质量的图像内容,AIGC将为各行各业带来深刻变革和新的发展机遇。

  1. 商业模式创新

    • 基于AIGC技术的SaaS服务、定制化内容生成服务、内容分发平台等新型商业模式将不断涌现。

参考:

B站第一套系统的AI绘画课!零基础学会Stable Diffusion,这绝对是你看过的最容易上手的AI绘画教程 | SD WebUI 保姆级攻略_哔哩哔哩_bilibili

StableDiffusion 基本原理

Stable Diffusion进阶!姥姥都能看懂的ControlNet超全教程! - 优设网 - 学设计上优设

https://zhuanlan.zhihu.com/p/617134893





本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2147428.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Gradio 自定义组件

如何使用 Gradio 自定义组件,Gradio 前端使用 Svelte,后端使用的 Python。如何自定义一个组件呢?Gadio 提供了类似于脚手架的命令,可以生成需要开发组件的前后和后端代码。 创建组件 运行如下命令,gradio 会自动生成…

OBC充电机测试的步骤和规范

一、测试前准备 1. 确认测试环境:确保测试环境的温度、湿度等条件符合设备的工作要求。 2. 检查设备:检查OBC充电机是否完好无损,电源线、插头等是否连接良好,显示屏是否正常显示。 3. 准备工具:准备好电压表、电流…

ubuntu20.04安装cudnn

先登入账号 网址:https://developer.nvidia.com/cudnn 选择ubuntu20.04 x86_64(Deb) 在下载好文件的文件夹下打开终端 sudo apt-get install zlib1gsudo dpkg -i cudnn-local-repo-${distro}-8.x.x.x_1.0-1_amd64.debsudo cp /var/cudnn-lo…

大数据时代:历史、发展与未来

文章目录 引言1980年:大数据的先声2006年:云计算与大数据的诞生2008年:大数据的科学探索2009年:大数据成为行业热词2011年:大数据的商业价值2013年:世界大数据元年结语 引言 在信息技术飞速发展的今天&…

钢铁焦化水泥超低排的原因

钢铁、焦化和水泥行业实施超低排放的原因,朗观视觉小编建议大家可以从环境保护、产业升级、政策推动以及企业可持续发展等多个方面进行分析。 一、环境保护需求 空气质量改善:钢铁、焦化和水泥行业是传统的高污染行业,其排放的颗粒物、二氧化…

表格HTML

//test.html <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>表格与CSS分开示例</tit…

【STL】string 基础,应用与操作

string 1.string相关介绍 STL&#xff08;标准模板库&#xff09;中的string容器是C标准库提供的用于处理和操作字符串的类&#xff0c;位于头文件中。std::string提供了比传统的C风格字符串&#xff08;字符数组&#xff09;更方便和安全的功能&#xff0c;具有动态内存管理…

python脚本编译为.so速度对比

有两个好处&#xff1a; 产品代码保护&#xff0c;so文件不可读 计算能力加速&#xff0c;本质上编译过程为python -> c -> so文件&#xff0c;相当于动态语言转换为静态语言&#xff0c;程序执行能力和计算能力有所提升 编译为so文件后比原始python代码执行时间快2ms左…

VISIA 皮肤检测

费用:自费158元 不能医保报销 先清洁肌肤,然后做一个皮肤检测. 1200万像素高清摄像头,一个白光,一个偏正光,还有一个紫外光,三种模式,分析面部情况. 8张图 反应皮肤情况应用: 在医美前和医美一次修复完成后,皮肤情况对比. 数值越高 越好 斑点图: 皱纹图: 分数比较低的话,皮肤…

【计算机基础题目】二叉树的前序中序后续遍历之间相互转换 详细例子

创作日志&#xff1a; 笔试题目&#xff0c;掌握了技巧之后这道题就是 so easy~ 一、 1、已知二叉树的 前序和中序&#xff0c;可以求出后序 2、已知二叉树的 中序和后序&#xff0c;可以求出前序 3、已知二叉树的 前序和后序&#xff0c;无法求出唯一的中序 二、求法 求法是…

828华为云征文|华为云Flexus云服务器X实例之openEuler系统部署Docker Compose管理工具Dockge

828华为云征文&#xff5c;华为云Flexus云服务器X实例之openEuler系统部署Docker Compose管理工具Dockge 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、Dockge介绍2.1 Dockge简介2.2 Dockge功能…

华为云DevSecOps和DevOps

目录 1.华为云DevSecOps和DevOps 1.1 DevSecOps 1.1.1 核心功能 1.1.2 优势 1.2 DevOps 1.2.1 核心功能 1.2.2 优势 1.3 DevOps和DevSecOps的区别 1.3.1 安全性集成 1.3.2 自动化的安全工具 1.3.3 团队协作 1.3.4 质量与合规性 1.3.5 成本与风险管理 1.3.5 总结 …

添可2024新品发布会,让智能家电成为“美好家”的具象表达

9月19日&#xff0c;添可以“万物新生&#xff0c;智领美好家”为主题&#xff0c;于上海浦东美术馆举办2024年度新品发布会。 会上&#xff0c;添可凭借对智能家电与家居设计领域的深刻洞察&#xff0c;全新发布了芙万Art Station智能洗地机、芙万Artist洗地机、饮万水纪元净…

《拿下奇怪的前端报错》:npm install卡住了一个钟- 从原理搞定安装的全链路问题

相信前端的小伙伴稍微入行一段时间的&#xff0c;接触过不同的项目&#xff0c;就可能遇到过npm install卡住的情况&#xff0c;下面我就来分析下几种场景、定位的方法和解决办法。不再只是删除node_modules然后重来了&#xff0c;虽然它能解决80%的问题 1 npm install 的原理…

Vue 常用高级指令解析

Vue 高级指令的重要性 Vue 高级指令是一种扩展 Vue.js 框架的功能的方式&#xff0c;可以让你在处理 DOM 元素时具有更多的控制权。它们可以通过自定义指令的方式进行编写和应用。 高级指令的重要性在于&#xff0c;它们使开发者能够通过 Vue 框架来创建更加复杂和灵活的交互…

数据库函数

1.字符串函数 例子&#xff1a; 2.数值函数 例子&#xff1a; 3.日期函数 例子&#xff1a; 4.流程函数 例子&#xff1a; 参考视频&#xff1a;27. 基础-函数-字符串函数_哔哩哔哩_bilibili

FinGPT金融大模型

FinGPT仓库https://github.com/AI4Finance-Foundation/FinGPT 功能&#xff1a; Adviser。根据新闻判断市场情绪&#xff08;积极、消极、中性&#xff09;&#xff0c;给出投资建议。Quantitative Trading。定制属于自己的金融助手。叫它关注某几个股票、监测消息等。可以直…

Linux安装、Nginx反向代理、负载均衡学习

系列文章目录 第一章 基础知识、数据类型学习 第二章 万年历项目 第三章 代码逻辑训练习题 第四章 方法、数组学习 第五章 图书管理系统项目 第六章 面向对象编程&#xff1a;封装、继承、多态学习 第七章 封装继承多态习题 第八章 常用类、包装类、异常处理机制学习 第九章 集…

代码管理-使用TortoiseGit同步项目到Github/Gitee

1 什么是TortoiseGit TortoiseGit下载地址 TortoiseGit是Git的Windows桌面可视化工具&#xff0c;通过软件的操作来实现Git命令的效果&#xff0c;使所有的操作都能用图形化实现。TortoiseGit安装很简单&#xff0c;这里不对安装流程进行讲解。下载之后即可按照普通软件的方式…

无人机之AI跟踪篇

无人机的AI识别技术依托于计算机视觉和深度学习技术&#xff0c;实现了对目标的快速精准识别&#xff0c;在多个领域展现出了巨大的应用潜力和价值。以下是对无人机AI识别技术的详细解析&#xff1a; 一、无人机AI识别算法的基础原理 无人机AI识别算法主要基于先进的计算机视觉…