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

ai绘画|stable diffusion的发展史!简短易懂!!!

手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取)

一、stable diffusion的发展史

本文目标:学习交流 对于熟悉SD的同学,一起学习和交流使用过程中的技巧和心得。 帮助新手
帮助没有尝试过SD但又对它感兴趣的同学快速入门,并且能够独立生成以上效果图。

1.发展史介绍:

  • 2015年的时候,有几位大佬基于非平衡热力学提出了一个纯数学的生成模型 (Sohl-Dickstein et al.,
    2015)。不过那个时候他们没有用代码实现,所以这篇工作并没有火起来。
  • 2019年斯坦福大学(Song et al)与2020年谷歌大脑 (Ho
    etal)根据15年发布的文章,编写了两篇论文,但是影响范围并不是很大。
  • 2020年谷歌大脑的几位大佬又把这个模型实现了出来,因为这个模型一些极其优秀的特性,所以它现在火了起来。
  • 2022年9月初,AIGC 进入大众视野里程碑的一件事,下面这幅使用 MidJourney 生成的数字油画《空间歌剧院》

在这里插入图片描述

在美国科罗拉多州博览会 (Colorado State Fair) 的艺术比赛中夺得了第一名,之后大赛评委并未对该幅作品进行改判,并认为即使它是 AI 生成的作品,也依旧配得上这样的成绩,这一新闻被报道后引发了圈内外的广泛讨论。
AI是否应该与人同台竞争,确实需要进一步探究,但真正吸引公众眼光的,其实是AI画作的展现出的超高水平:无论是《空间歌剧院》还是《大西洋月刊》的几幅AI插画,都达到了足以以假乱真的地步,无论是构图、线条还是色彩,都很自然流畅,并没有刻板印象中的机械呆板。人们惊奇地发现,AI作画已经发展到了难以想象的地步。

AIGC工具对比

在目前的三大新兴文本转图像模型中,Stable Diffusion诞生得最晚,但由于拥有发展良好的开源社区,它的用户关注度和应用广度都超越Midjourney和DALL-E。

DALL-E

2021 年 1 月,OpenAI 推出了 DALL-E 模型,通过 120 亿参数版本的 GPT-3 Transformer 模型来理解自然语言输入并生成相应的图片。但是它的推出主要用于研究,所以访问权限仅限于小部分测试版用户。这个模型不稳定对于细节理解处理不完善,且会出现严重的逻辑或者事实错误,但是作为开创者,还是得专门提出来的。

在发布 DALL-E 时还发布了 CLIP (Contrastive Language-Image Pre-training,对比图文预训练)。CLIP 是一种神经网络,为输入的图像返回最佳的标题。它所做的事情与 DALL-E 所做的相反 —— 它是将图像转换为文本,而 DALL-E 是将文本转换为图像。引入 CLIP 的目的是为了学习物体的视觉和文字表示之间的联系。

2022 年 4 月,OpenAI 发布了新版本的 DALL-E 2 ,它是 DALL-E 的升级版本,另外能对所生成的图像进行二次编辑,现在即使是新用户也需要充值才能生成新图。

MidJourney

MidJourney 的 v1 是 2022 年 2 月发布的,它火出圈是由于 22 年 7 月份的 v3 版本。

它的特点是综合能力比较全面,艺术性很强,非常像艺术家制作的作品,另外图像生成速度更快,早期主要是很多艺术家会借助 Midjourney 作为创作灵感。另外,因为 Midjourney 搭载在 Discord 频道上,所以有非常良好的社区讨论环境和用户基础。

第二次火其实就是今年 3 月份发布 V5, 官方说这个版本在生成图像的人物真实程度、手指细节等方面都有了显著改善,并且在提示词理解的准确性、审美多样性和语言理解方面也都取得了进步。
在这里插入图片描述

Stable Diffusion

Stable Diffusion 算法上基于 2021 年 12 月提出的潜在扩散模型(LDM / Latent Diffusion Model)和 2015 年提出的扩散模型(DM / Diffusion Model,它是基于 Google 的 Transformer 模型),所以名字里有 Diffusion,我猜 Stable 表示现在算法已经稳定下来了。

2022年7月Stable Diffusion的问世则震惊了全球,相比前辈们,Stable Diffusion已经成功的解决了细节及效率问题,通过算法迭代将AI绘图的精细度提升到了艺术品级别,并将生产效率提升到了秒级,创作所需的设备门槛也被拉到了民用水准。
2022年8月对于AI绘图来说,革命性的时刻已经来临,也得益于Stable Diffusion的开源性质,全球AI绘图产品迎来了日新月异的发展。这次AI创作大讨论,正是公众们直观地感受到了技术浪潮带来的影响,AI绘图正在走进千家万户,舆论热潮也随之而来。

2023 年 4 月,Stability AI 发布了 Beta 版本的 Stable Diffusion XL ,并提到在训练结束后参数稳定后会开源,并改善了需要输入非常长的提示词 (prompts),对于人体结构的处理有瑕疵,经常出现动作和人体结构异常。
在这里插入图片描述

MidJourney 和 Stable Diffusion 的对比

在目前的三大新兴文本转图像模型中,Stable Diffusion诞生得最晚,但由于拥有发展良好的开源社区,它的用户关注度和应用广度都超越Midjourney和DALL-E。

1.价格
加粗样式MidJourney 毕竟是为了盈利的,远不如自己部署到自己服务器的开销要低。SD 完胜
友好程度。MidJourney 新手友好,注册即用,相对的 SD 需要有一定技术背景,甚至可以说设计师或者艺术创作者自己不具备部署能力。SD 小胜
2.功能
SD 除了支持 MidJourney 全部功能外还支持填充修复、自定义模型。SD 小胜
3.对细节的控制
类似于苹果 (MidJourney) 和安卓 (SD) 的区别,MidJourney 是商业产品,你无法了解它的背后的原理和代码逻辑,所以可控性差、细节优化难 (甚至越调越差),而 SD 由于是开源的且有强大的社区和相关的模型、扩展等,可以实现本地私有化部署,还能够精准局部调优,控制风格,SD 完胜的。
4.提示方法
Midjourney 是自然语言输入 (直接文字表达需求),而 SD 是各种带权重的提示词输入。SD 的提示词本文是非常考验输入者能力的,Midjourney 小胜。
5.效果
总体上觉得 MidJourney 的图更精致一点点,但是作为非算法开发者,我感觉 SD 目前输在模型训练的素材和方法上。MidJourney 小胜。
6.擅长的画风
MidJourney 注重表达和对细节的渲染,而 Stable-Diffusion 偏写实,如果你想艺术创作,MidJourney 更好,如果你已经有具体的需求,SD 更好。

AI绘画的突破对人类意味着什么

2022年的AI领域,基于文本生成图像的AI绘画模型是风头无两的主角。 从2月份的Disco Diffusion开始,4月 DALL-E 2和MidJourney邀请内测,5月和6月Google发布两大模型Imagen 和Parti(不开放内测只有论文,感觉略水),然后7月底,Stable Diffusion横空出世。

目前最新AI绘画的”创造力”开始追赶甚至几已比肩人类,这或许进一步打击了人类的尊严,从围棋阿法狗开始,人类在”智慧”这个点的尊严领地已经越来越小,而AI绘画的突破性进展则进一步把人类”想像力”和”创造力”的尊严都打碎了 — 或许还没完全破碎,但已经充满裂痕摇摇欲坠。

作者一直对人类的科技发展保持某种中性看法: 尽管我们寄望于科技让人类的生活变得更美好,但事实上正如核弹的发明,有些科学技术的出现是中性的,也可能是致命的。 完全取代人类的超级AI从实践来看似乎是一件越来越可能的事情。 人类需要思考的是,在不太远的将来,我们在所有领域面对AI都落荒而逃的时候,如何保持对世界的主导权。

有个朋友说的很对,如果AI最终学会了写代码 — 似乎没有什么必然的壁垒在阻止这件事的发生 –那么电影终结者的故事或许就要发生了。 如果这样太悲观,那么人类至少要考虑,如何与一个超越自己所有智慧和创造力的AI世界相处。

当然咯,乐观的角度而言,未来的世界只会更美好:人类通过AR/VR接入统一的或者个人的元宇宙,人类主人只要动动嘴皮子,无所不能的AI助理就能根据要求自动生成内容,甚至直接生成可供人类体验的故事/游戏/虚拟生活。

这是一个更美好的盗梦空间,还是一个更美好的黑客帝国?

AI绘画所有方向的学习路线思维导图

这里为大家提供了总的路线图。它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。如果下面这个学习路线能帮助大家将AI利用到自身工作上去,那么我的使命也就完成了:
在这里插入图片描述

👉stable diffusion新手0基础入门PDF👈

在这里插入图片描述

👉AI绘画必备工具👈

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末
在这里插入图片描述

👉AI绘画基础+速成+进阶使用教程👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。
在这里插入图片描述

👉12000+AI关键词大合集👈

在这里插入图片描述

这份完整版的AI绘画资料我已经打包好,戳下方蓝色字体,即可免费领取!

CSDN大礼包:《全套AI绘画基础学习资源包》免费分享

相关文章:

ai绘画|stable diffusion的发展史!简短易懂!!!

手把手教你入门绘图超强的AI绘画,用户只需要输入一段图片的文字描述,即可生成精美的绘画。给大家带来了全新保姆级教程资料包 (文末可获取) 一、stable diffusion的发展史 本文目标:学习交流 对于熟悉SD的同学&#x…...

水塘抽样算法

水塘抽样算法 1、问题描述 最近经常能看到面经中出现在大数据流中的随机抽样问题 即:当内存无法加载全部数据时,如何从包含未知大小的数据流中随机选取k个数据,并且要保证每个数据被抽取到的概率相等。 假设数据流含有N个数,我…...

easyui渲染隐藏域<input type=“hidden“ />为textbox可作为分割条使用

最近在修改前端代码的时候&#xff0c;偶然发现使用javascript代码渲染的方式将<input type"hidden" />渲染为textbox时&#xff0c;会显示一个神奇的效果&#xff0c;这个textbox输入框并不会隐藏&#xff0c;而是显示未一个细条&#xff0c;博主发现非常适合…...

100天精通Python(实用脚本篇)——第113天:基于Tesseract-OCR实现OCR图片文字识别实战

文章目录 专栏导读1. OCR技术介绍2. 模块介绍3. 模块安装4. 代码实战4.1 英文图片测试4.2 数字图片测试4.3 中文图片识别 书籍分享 专栏导读 &#x1f525;&#x1f525;本文已收录于《100天精通Python从入门到就业》&#xff1a;本专栏专门针对零基础和需要进阶提升的同学所准…...

Go七天实现RPC

0.前言 本文是学习自7天用Go从零实现RPC框架GeeRPC | 极客兔兔 在此基础上&#xff0c;加入自己的学习过程与理解。 1.RPC 框架 RPC(Remote Procedure Call&#xff0c;远程过程调用)是一种计算机通信协议&#xff0c;允许调用不同进程空间的程序。RPC 的客户端和服务器可以…...

Elasticsearch:和 LIamaIndex 的集成

LlamaIndex 是一个数据框架&#xff0c;供 LLM 应用程序摄取、构建和访问私有或特定领域的数据。 LlamaIndex 是开源的&#xff0c;可用于构建各种应用程序。 在 GitHub 上查看该项目。 安装 在 Docker 上设置 Elasticsearch 使用以下 docker 命令启动单节点 Elasticsearch 实…...

QT基础篇(14)QT操作office实例

1.QT操作office的基本方式 通过QT操作Office软件&#xff0c;可以使用Qt的QAxObject类来进行操作。下面是一个例子&#xff0c;展示了通过Qt操作Excel的基本方式&#xff1a; #include <QApplication> #include <QAxObject>int main(int argc, char *argv[]) {QA…...

重拾计网-第四弹 计算机网络性能指标

ps&#xff1a;本文章的图片内容来源都是来自于湖科大教书匠的视频&#xff0c;声明&#xff1a;仅供自己复习&#xff0c;里面加上了自己的理解 这里附上视频链接地址&#xff1a;1.5 计算机网络的性能指标&#xff08;1&#xff09;_哔哩哔哩_bilibili ​​​ 目录 &#x…...

【Vue】Vue 路由的配置及使用

目录捏 前言一、路由是什么&#xff1f;1.前端路由2.后端路由 二、路由配置1.安装路由2.配置路由 三、路由使用1.route 与 router2. 声明式导航3. 指定组件的呈现位置 四、嵌套路由&#xff08;多级路由&#xff09;五、路由重定向1.什么是路由重定向&#xff1f;2.设置 redire…...

网络安全事件分级指南

一、特别重大网络安全事件 符合下列情形之一的&#xff0c;为特别重大网络安全事件&#xff1a; 1.重要网络和信息系统遭受特别严重的系统损失&#xff0c;造成系统大面积瘫痪&#xff0c;丧失业务处理能力。 2.国家秘密信息、重要敏感信息、重要数据丢失或被窃取、篡改、假…...

uniapp组件库SwipeAction 滑动操作 使用方法

目录 #平台差异说明 #基本使用 #修改按钮样式 #点击事件 #API #Props #Event 该组件一般用于左滑唤出操作菜单的场景&#xff0c;用的最多的是左滑删除操作。 注意 如果把该组件通过v-for用于左滑删除的列表&#xff0c;请保证循环的:key是一个唯一值&#xff0c;可以…...

YARN节点故障的容错方案

YARN节点故障的容错方案 1. RM高可用1.1 选主和HA切换逻辑 2. NM高可用2.1 感知NM节点异常2.2 异常NM上的任务处理 4. 疑问和思考4,1 RM感知NM异常需要10min&#xff0c;对于app来说是否太长了&#xff1f; 5. 参考文档 本文主要探讨yarn集群的高可用容错方案和容错能力的探讨。…...

C++后端笔记

C后端笔记 资源整理一、高级语言程序设计1.1 进制1.2 程序结构基本知识1.3 数据类型ASCII码命名规则变量间的赋值浮点型变量的作用字符变量常变量 const运算符 二、高级语言程序设计&#xff08;荣&#xff09; 资源整理 C后端开发学习路线及推荐学习时间 C基础知识大全 C那…...

JavaEE中什么是Web容器?

Web容器&#xff08;也称为Servlet引擎&#xff09;是一个用于执行Java Servlet和JSP的服务器端环境。它负责管理和执行在其上运行的Web应用程序。 Tomcat是Web容器 Apache Tomcat 是一个流行的开源的Web容器&#xff0c;它实现了Java Servlet和JavaServer Pages&#xff08;…...

MySQL 8.0 架构 之错误日志文件(Error Log)(1)

文章目录 MySQL 8.0 架构 之错误日志文件&#xff08;Error Log&#xff09;&#xff08;1&#xff09;MySQL错误日志文件&#xff08;Error Log&#xff09;MySQL错误日志在哪里Window环境Linux环境 错误日志相关参数log_error_services 参考 【声明】文章仅供学习交流&#x…...

51单片机实验课一

实验任务一&#xff1a;实现控制8个发光管的亮&#xff08;灭&#xff09; #include <REGX52.H> void Delay1ms(unsigned int xms) //11.0592MHz {unsigned char i, j;while(xms){xms--;i 12;j 169;do{while (--j);} while (--i);} } void main() {while(1){P20;//八…...

【.NET Core】多线程之线程池(ThreadPool)详解(一)

【.NET Core】多线程之线程池&#xff08;ThreadPool&#xff09;详解&#xff08;一&#xff09; 文章目录 【.NET Core】多线程之线程池&#xff08;ThreadPool&#xff09;详解&#xff08;一&#xff09;一、概述二、线程池的应用范围三、线程池特性3.1 线程池线程中的异常…...

圆的参数方程是如何推导的?

圆的参数方程是如何推导的? 1. 圆的三种参数表示2. 三角函数万能公式3. 回到圆的参数方程1. 圆的三种参数表示 已知圆的第一种参数方程为: x 2 + y 2 = r x^2+y^2=r x2+y2=r   圆的图像如下: 通过上图,不难理解,圆的参数方程还可以用三角函数表示,也就是第二种参数表…...

sqlmap使用教程(2)-连接目标

目录 连接目标 1.1 设置认证信息 1.2 配置代理 1.3 Tor匿名网络 1.4 检测WAF/IPS 1.5 调整连接选项 1.6 处理连接错误 连接目标 场景1&#xff1a;通过代理网络上网&#xff0c;需要进行相应配置才可以成功访问目标主机 场景2&#xff1a;目标网站需要进行身份认证后才…...

c++ http第一个服务

c http第一个服务 一、下载相关依赖&#xff1a;这是一个git开源项目 代码仓地址 二、演示代码&#xff0c;编译参数&#xff1a;g test.cpp -I/**** -lpthread #include <httplib.h> using namespace httplib;void wuhan(const Request &req, Response &res) …...

深入Android S (12.0) 探索Framework之输入子系统InputReader的流程

Framework层之输入系统 第一篇 深入Android S (12.0) 探索Framework之输入系统IMS的构成与启动 第二篇 深入Android S (12.0) 探索Framework之输入子系统InputReader的流程 文章目录 Framework层之输入系统前言一、基础知识1、输入子系统2、INotify 与 Epoll2.1、INotify 机制…...

【cucumber】cluecumber-report-plugin生成测试报告

cluecumber为生成测试报告的第三方插件&#xff0c;可以生成html测报&#xff0c;该测报生成需以本地json测报的生成为基础。 所以需要在测试开始主文件标签CucumberOptions中&#xff0c;写入生成json报告。 2. pom xml文件中加入插件 <!-- 根据 cucumber json文件 美化测…...

华为欧拉操作系统结合内网穿透实现固定公网地址SSH远程连接

文章目录 1. 本地SSH连接测试2. openEuler安装Cpolar3. 配置 SSH公网地址4. 公网远程SSH连接5. 固定连接SSH公网地址6. SSH固定地址连接测试 欧拉操作系统(openEuler, 简称“欧拉”)是面向数字基础设施的操作系统,支持服务器、云计算、边缘openEuler是面向数字基础设施的操作系…...

加速 Selenium 测试执行最佳实践

Selenium测试自动化的主要目的是加快测试过程。在大多数情况下&#xff0c;使用 Selenium 的自动化测试比手动测试执行得特别好。在实际自动化测试实践中&#xff0c;我们有很多方式可以加速Selenium用例的执行。 我们可以选择使用不同类型的等待、不同类型的 Web 定位器、不同…...

c语言野指针

系列文章目录 c语言野指针 c语言野指针 系列文章目录c语言野指针 c语言野指针 野指针可以用于破坏修改别人的内存空间&#xff0c;比如游戏外挂 野指针 野指针&#xff1a;野指针是指向一个未知的内存空间&#xff0c;在读写的时候出现错误。 0-255都是系统保留的 不可以读&am…...

【MySQL】where和having的区别

&#x1f34e;个人博客&#xff1a;个人主页 &#x1f3c6;个人专栏&#xff1a;数据库 ⛳️ 功不唐捐&#xff0c;玉汝于成 目录 前言 正文 用途: 使用位置: 操作对象: 聚合函数: 示例&#xff1a; 结语 我的其他博客 前言 数据库中的 WHERE 和 HAVING 子句在 SQL 查…...

npm pnpm yarn 报错或常见问题处理集锦

各种卡死&#xff0c;报错问题处理汇总 1. npm 安装 卡死了怎么办&#xff0c;npm # 切换源 npm config set registry https://registry.npmmirror.com # 查看源 npm config get registry2. pnpm安装 卡死了怎么办 方法1&#xff1a;切换源 npx pnpm config set registry h…...

【Git】常用的Git操作集合

常用的Git操作集合 1. 分支操作1.1 查看本地所有分支git branch 1.2 查看所有分支&#xff08;包含本地远程仓库&#xff09;git branch -a 1.3 切换分支git checkout test 2. 常用基本操作2.1 查看 git 各存储区内(文件)状态git status 2.2 查看工作区与暂存区文件差异git dif…...

JavaScript库jquery的使用方法

"写更少&#xff0c;做更多"是jquery的设计理念&#xff0c;jquery是一个兼容多浏览器的JavaScript库&#xff0c;利用jquery的语法设计能使开发更便捷。 网页添加jquery的方法:1.从jquery.com下载库&#xff1b;2.从CDN中载入库&#xff08;示例使用&#xff09;&a…...

Vue (v-bind指令、el与data的两种写法、理解MVVM、数据代理、V-no事件处理、双向数据绑定V-model、登陆页面实现

V-bind指令 el与data两种写法 MVVM 数据代理 V-no事件处理 V-no用于监听DOM对象 双向数据绑定V-model v-model 指令用来在 input、select、textarea、checkbox、radio 等表单控件元素上创建双向数据绑定&#xff0c;根据表单上的值&#xff0c;自动更新绑定的元素的值。 按钮的…...