AI时代-普通人的AI绘画工具对比(Midjouney与Stable Diffusion)
AI时代-普通人的AI绘画工具对比(Midjouney与Stable Diffusion)
- 前言
- 1、基础对比
- Stable Diffusion(SD)
- SD界面
- 安装与使用SD
- Midjouney(MJ)
- 2、硬件与运行要求对比
- Stable Diffusion硬件要求
- 内存
- 硬盘
- 显卡
- Midjouney硬件要求
- 要求1
- 要求2
- 要求3
- 3、操作(使用)难度对比
- Stable Diffusion
- Midjourney
- 4、出图效果对比
- Stable Diffusion
- Midjouney
- 总结
前言
在当前技术环境下,AI大模型学习不仅要求研究者具备深厚的数学基础和编程能力,还需要对特定领域的业务场景有深入的了解。通过不断优化模型结构和算法,AI大模型学习能够不断提升模型的准确性和效率,为人类生活和工作带来更多便利。
2023年被视作人工智能领域的爆发之年,以ChatGPT为代表的AI模型如同雨后春笋般迅猛增长。基于AIGC(人工智能内容生成)技术的各类产品纷纷涌现,尤其是众多的AI绘图模型,例如Midjourney、Dreambooth、Novel AI和Stable Diffusion等,它们在社会上得到了广泛的应用。
虽然AI绘图领域,看似进入了百花齐放的时代,但目前业内的顶流,仍然是Stable Diffusion和Midjourney为代表的两大龙头。
希望大家看完这篇博客之后能够选择更为适合自己的AI绘画工具!
博主 DTcode7 带您 溺亖在知识的海洋里,嘿嘿嘿.~
🐒 个人主页—— DTcode7 的博客 🐒
《微信小程序相关博客》
《Vue相关博客》
《前端开发习惯与小技巧相关博客》
《AIGC相关博客》
《photoshop相关博客》
😚 吾辈才疏学浅,摹写之作,恐有瑕疵。望诸君海涵赐教。望轻喷,嘤嘤嘤 🙈
🕍 愿斯文对汝有所裨益,纵其简陋未及渊博,亦足以略尽绵薄之力。倘若尚存阙漏,敬请不吝斧正,俾便精进!
1、基础对比
Stable Diffusion(SD)
它由创业公司Stability AI与多个学术研究者和非营利组织合作开发。目前的SD的源代码和模型都已经开源,在Github上由AUTOMATIC1111维护了一个完整的项目,正在由全世界的开发者共同维护。
SD最大的特征,就是由于其开源的特性,可以在电脑本地上离线运行。
敏锐的捕捉关键词:
【开源】—>【免费】
【本地离线】—>【可以嘿嘿嘿不用担心社死】
SD界面

对于我这种白嫖党还是很友好的,基本有台电脑就能玩(你要想炼丹,那还是搞张40系吧)
简单提一嘴如何去安装:
安装与使用SD
很多大佬都弄了sd的启动器,比如:

详细可以参考这篇博客: stable diffusion webUI之赛博菩萨【秋葉】——工具包新手安裝与使用教程
Midjouney(MJ)
Midjourney是一款由总部位于旧金山的独立研究实验室Midjourney, Inc.创建和托管的人工智能程序和服务。Midjourney基于【Discord平台】提供服务,可以根据语言描述prompt(被称为“提示词/关键词”)生成图像,也支持图生图,AI扩图,图生文等功能。
使用MJ需要登陆Discord账号,在聊天界面发送指令后就可以直接在线得到AI图像。
Discord账号需要科学上网,而且MJ是需要马内才能使用的,30$起步,找人拼车会便宜一些。


敏锐的捕捉关键词:
【基于Discord平台】—>【有一定注册门槛】
【科学上网】—>【魔法无处不在,麻瓜速速退散】
【马内】—>【需要钞能力才能使用】
先不说MJ的注册翻墙就拦住了一大批人,每月的刀乐就是一笔不小的开支,对于新手很不友好(主要是俺穷啊~阿米诺兹!)
2、硬件与运行要求对比
Stable Diffusion硬件要求
【硬件要求较高】:这项技术或软件需要本地独立显卡,对硬件配置有较高的要求。尽管仅使用CPU也可以运行,但速度会相对较慢。
【部署相对麻烦x】:环境设置较为繁琐,需要从GitHub上下载许多文件,并且需要一定的Python知识。然而,国内的技术专家已经制作了整合包,可以简化部署过程。用户只需从网盘下载并一键安装即可。例如上面说的秋叶菩萨。
【可完全本地运行】:该技术或软件可以在没有网络连接的情况下完全在本地运行,数据仅存储在本地计算机上,只要拥有相应的硬件,就可以无限期地使用。
建议使用windows10、windows11。
内存
8GB以上,建议使用16GB或以上的内存。在内存比较小的情况下,可能需要调高虚拟内存,以容纳模型文件。
硬盘
40 GB 以上的可用硬盘空间,建议准备60GB以上空间,最好是固态硬盘。
显卡
最低最低需要显存2GB,建议显存不少于4GB,推荐8GB以上。
至于显卡型号方面,很不幸地,因为需要用到 CUDA 加速,所以只有英伟达显卡支持良好。AMD可以用,但速度明显慢于英伟达显卡,当然,如果你的电脑没有显卡也可以用 CPU 花几百倍时间生成。(无脑N卡好吧~)
Midjouney硬件要求
要求1
魔法
要求2
魔法
要求3
还是tm的魔法
MJ其实就是个网页,服务都在人家手里,你就是访问网站直接使用罢了,能有啥配置要求,哈哈。
【无硬件要求】:该技术或软件对本地硬件性能没有特定要求,只要能够使用Discord,就能在其几乎所有设备上运行。
【部署极为简单】:使用这项技术或软件非常简单,只需打开Discord即可立即开始使用,几乎没有任何技术门槛。
【必须联网运行】:该技术或软件需要全程联网才能运行,数据存储在服务器上,而不是本地保存,因此无法在离线状态下使用。
3、操作(使用)难度对比
Stable Diffusion
使用难度较高。Stable Diffusion的界面有很多内容。由于是开源软件,SD一直在更新,并且会有源源不断地便捷插件导入。如果想要熟练操作,需要花费一定时间进行深入学习。
由于俺是白嫖怪,所以我当然是用过SD啦,已经有一些浅显的见解和心得,可以参考这几篇博客:
stable diffusion 提示词进阶语法-学习小结
stable diffusion 提示词进阶语法-年龄&身材&肤色-学习小结
基础使用可以看看秋叶大佬的说明图:

Midjourney
使用难度较低。基本只要了解几个快捷命令,然后输入提示词就可以进行出图操作。相对SD上手速度快了很多。说的难听一点,只要你会打字,那就能使用,因为只需要往输入框输入描述,回车,就能得到多张效果还不错的图片了。


4、出图效果对比
Stable Diffusion
都说是炼丹、抽卡了,你觉得SD的出图能有多稳定,哈哈,基本就是走量,然后拼运气,抽到你满意的图。
不过,现在已经有很很多大佬在做优化,比如controlNet等,学习这些插件之后,就能很好的保证多张图能有较高的一致性(就是有些学习成本)
而且,绝大多数人的SD都是用来跑妹子的,嘿嘿嘿,SD+Controlnet无疑是上限和自由度更高的,提示词百无禁忌,可以跑绅士图,海量主模型和LoRa可以满足各路LSP的XP,如果找不到还可以自己训练。缺点也很突出,提示词门槛高,手部问题,Lora的兼容性等等。
Midjouney
Midjouney的效果是真的好,提示词门槛低,不需要特别精细的描述也可以出不错的图。 缺点是画面不太受控,而且被BAN的敏感词非常多,像bare,nude这类词就用不了。
但是,MJ的出图速度、效率都是很高的,只要你脑洞够大,用MJ绝对很划得来。
比如你想画一幅川普的AI图像,就能通过MJ很快得到一个非常非常真实的图像:

总结
MJ:
使用群体:更偏向大众化,适合那些出于兴趣、好玩、需要简单AI辅助寻找灵感、开课收割或者客户需求不特别细化的情况。
优点:能快速解决用户的需求,帮助缓解相关从业人士的焦虑。
缺点:需要付费,且可能存在一定的随机性或概率试错,导致结果上下波动。
SD:
使用群体:更偏向精准化,适合各类人群,因为可以产出不同内容,满足多样化需求。
优点:从商业化角度看,更适合作为商业服务,因为它可以根据具体需求定制化,这是客户愿意为之付费的重要原因。
特性:是在本地运行的服务,开源但门槛较高,可实现的效果上限极高。
相关文章:
AI时代-普通人的AI绘画工具对比(Midjouney与Stable Diffusion)
AI时代-普通人的AI绘画工具对比(Midjouney与Stable Diffusion) 前言1、基础对比Stable Diffusion(SD)SD界面安装与使用SD Midjouney(MJ) 2、硬件与运行要求对比Stable Diffusion硬件要求内存硬盘显卡 Midjo…...
【蓝桥杯】矩阵快速幂
一.快速幂概述 1.引例 1)题目描述: 求A^B的最后三位数表示的整数,A^B表示:A的B次方。 2)思路: 一般的思路是:求出A的B次幂,再取结果的最后三位数。但是由于计算机能够表示的数字…...
C语言使用STM32开发板手搓高端家居洗衣机
目录 概要 成品效果 背景概述 1.开发环境 2.主要传感器。 技术细节 1. 用户如何知道选择了何种功能 2.启动后如何进行洗衣 3.如何将洗衣机状态上传至服务器并通过APP查看 4.洗衣过程、可燃气检测、OLED屏显示、服务器通信如何并发进行 小结 概要 本文章主要是讲解如…...
【Hello,PyQt】QTextEdit和QSplider
PyQt5 是一个强大的Python库,用于创建图形用户界面(GUI)。其中,QTextEdit 控件作为一个灵活多用的组件,常用于显示和编辑多行文本内容,支持丰富的格式设置和文本操作功能。另外,QSlider 控件是一…...
【力扣】191.位 1 的个数、485.最大连续 1 的个数
191.位 1 的个数 题目描述 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中 设置位 的个数(也被称为汉明重量)。 示例 1: 输入:n 11 输出࿱…...
蓝桥杯 java 承压计算
题目: 思路: 1:其中的数字代表金属块的重量(计量单位较大) 说明每个数字后面不一定有多少个0 2:假设每块原料的重量都十分精确地平均落在下方的两个金属块上,最后,所有的金属块的重量都严格精确地平分落在最底层的电子…...
leetcode268-Missing Number
这道题目要求缺失的数字,一般解决数组的问题,要么往排序数组,要么往双指针遍历这些方向上靠,要么往异或方向上靠,总之落点无非就只有这几个。我们要求缺失的数字,可以依次让1~n和数组元素进行异…...
【jenkins+cmake+svn管理c++项目】jenkins回传文件到svn(windows)
书接上文:创建一个项目 在经过cmakemsbuild顺利生成动态库之后,考虑到我一个项目可能会生成多个动态库,它们分散在build内的不同文件夹,我希望能将它们收拢到一个文件夹下,并将其回传到svn。 一、动态库移位—cmake实…...
数据结构·二叉树(2)
目录 1 堆的概念 2 堆的实现 2.1 堆的初始化和销毁 2.2 获取堆顶数据和堆的判空 2.3 堆的向上调整算法 2.4 堆的向下调整算法 2.4 堆的插入 2.5 删除堆顶数据 2.6 建堆 3 建堆的时间复杂度 3.1 向上建堆的时间复杂度 3.2向下建堆的时间复杂度 4 堆的排序 前言&…...
MATLAB算法实战应用案例精讲-【毕业季论文专用】人工智能视觉检测技术及其在实际应用中的挑战与前景
目录 摘要: 第一章:引言 1.1 研究背景 1.2 研究目的与意义...
Linux虚拟机环境搭建spark
Linux环境搭建Spark分为两个版本,分别是Scala版本和Python版本。 一、 安装Pyspark 本环境以 Python 环境为例。 1、下载spark 下载网址:https://archive.apache.org/dist/spark 下载安装包:根据自己环境选择合适版本,本环境…...
STL的string容器
string基本概念 string是C风格的字符串,本质上是一个类。 string 和 char* 的区别 char* 是一个指针; string是一个类,内部封装了 char* ,用来管理字符串,是一个 char* 型的容器。 特点 string内部封装了很多成员…...
半导体工艺技术
完整内容点击:【半导体工艺技术】...
acwing算法提高之图论--单源最短路的扩展应用
目录 1 介绍2 训练 1 介绍 本专题用来记录使用。。。。 2 训练 题目1:1137选择最佳线路 C代码如下, #include <iostream> #include <cstring> #include <algorithm> #include <queue>using namespace std;const int N 101…...
SQLServer数据库使用Function实现根据字段内容的拼音首字母进行数据查询
实现SQL首字母查询分两步,第一步建Function,第二步引用新建的Function。 1. 首先需要自定义一个查询的Function,详细SQL如下: ALTER function [dbo].[GetDataByPY](str nvarchar(4000)) returns nvarchar(4000) as begin decla…...
Linux——信号概念与信号产生方式
目录 一、概念 二、前台进程与后台进程 1.ctrlc 2.ctrlz 三、信号的产生方式 1.键盘输入产生信号 2.系统调用发送信号 2.1 kill()函数 2.2 raise()函数 2.3 abort()函数 3.异常导致信号产生 3.1 除0异常 3.2 段错误异常 4.软件条件产生信号 4.1 管道 4.2 闹钟…...
赋值语句还能当判断条件?涨芝士了!
赋值和条件看似是C语言中毫不相关的两个概念,虽然实际过程中我猜测不会有太多这种不太符合常理的情况出现,但是现在在学习的过程中,为了出题而出题总是会整出一些花活出来.....这很难不让人联想起高中时一些大佬为了彰显自己的数学天赋而自己…...
数据结构 - 算法效率|时间复杂度|空间复杂度
目录 1.算法效率 2.时间复杂度 2.1定义 2.2大O渐近表示法 2.3常见时间复杂度计算举例 3.空间复杂度 3.1定义 3.2常见空间复杂度计算举例 1.算法效率 算法的效率常用算法复杂度来衡量,算法复杂度描述了算法在输入数据规模变化时,其运行时间和空间…...
接口自动化之 + Jenkins + Allure报告生成 + 企微消息通知推送
接口自动化之 Jenkins Allure报告生成 企微消息通知推送 在jenkins上部署好项目,构建成功后,希望可以把生成的报告,以及结果统计发送至企微。 效果图: 实现如下。 1、生成allure报告 a. 首先在Jenkins插件管理中&#x…...
『Apisix安全篇』探索Apache APISIX身份认证插件:从基础到实战
🚀『Apisix系列文章』探索新一代微服务体系下的API管理新范式与最佳实践 【点击此跳转】 📣读完这篇文章里你能收获到 🛠️ 了解APISIX身份认证的重要性和基本概念,以及如何在微服务架构中实施API安全。🔑 学习如何使…...
基于算法竞赛的c++编程(28)结构体的进阶应用
结构体的嵌套与复杂数据组织 在C中,结构体可以嵌套使用,形成更复杂的数据结构。例如,可以通过嵌套结构体描述多层级数据关系: struct Address {string city;string street;int zipCode; };struct Employee {string name;int id;…...
XCTF-web-easyupload
试了试php,php7,pht,phtml等,都没有用 尝试.user.ini 抓包修改将.user.ini修改为jpg图片 在上传一个123.jpg 用蚁剑连接,得到flag...
Prompt Tuning、P-Tuning、Prefix Tuning的区别
一、Prompt Tuning、P-Tuning、Prefix Tuning的区别 1. Prompt Tuning(提示调优) 核心思想:固定预训练模型参数,仅学习额外的连续提示向量(通常是嵌入层的一部分)。实现方式:在输入文本前添加可训练的连续向量(软提示),模型只更新这些提示参数。优势:参数量少(仅提…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
Appium+python自动化(十六)- ADB命令
简介 Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器 的状态。 adb ( Android Debug Bridge)是一个通用命令行工具,其允许您与模拟器实例或连接的 Android 设备进行通信。它可为各种设备操作提供便利,如安装和调试…...
dedecms 织梦自定义表单留言增加ajax验证码功能
增加ajax功能模块,用户不点击提交按钮,只要输入框失去焦点,就会提前提示验证码是否正确。 一,模板上增加验证码 <input name"vdcode"id"vdcode" placeholder"请输入验证码" type"text&quo…...
C# SqlSugar:依赖注入与仓储模式实践
C# SqlSugar:依赖注入与仓储模式实践 在 C# 的应用开发中,数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护,许多开发者会选择成熟的 ORM(对象关系映射)框架,SqlSugar 就是其中备受…...
成都鼎讯硬核科技!雷达目标与干扰模拟器,以卓越性能制胜电磁频谱战
在现代战争中,电磁频谱已成为继陆、海、空、天之后的 “第五维战场”,雷达作为电磁频谱领域的关键装备,其干扰与抗干扰能力的较量,直接影响着战争的胜负走向。由成都鼎讯科技匠心打造的雷达目标与干扰模拟器,凭借数字射…...
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的----NTFS源代码分析--重要
根目录0xa0属性对应的Ntfs!_SCB中的FileObject是什么时候被建立的 第一部分: 0: kd> g Breakpoint 9 hit Ntfs!ReadIndexBuffer: f7173886 55 push ebp 0: kd> kc # 00 Ntfs!ReadIndexBuffer 01 Ntfs!FindFirstIndexEntry 02 Ntfs!NtfsUpda…...
