前言:

   在AI生成图像领域,有许多产品,例如 Midjourney 和 Stability AI 等。为什么要学习 ComfyUI 呢?我斗胆带大家一起分析一下。

目录

   1.Midjourney VS Stable Diffusion

   2.SD Web UI VS ComfyUI

   3.总结

Midjourney VS Stable Diffusion

   在回答这个问题之前,我觉得有必要介绍下目前市面上的各种 AI 生图产品,或者是 AI 生视频产品。在我的眼里,他们主要分成两大类:

   模型与产品整合的产品,比如 Midjourney,Stability AI 等等。
模型与产品分离的产品,比如 SD Web UI、ComfyUI 等等。

这两类产品的优劣势对比如下:

不难发现,这两类产品没有哪类产品拥有绝对的优势。选择哪款产品,完全取决于你的需求。

如果你只是当成娱乐,想要时不时制作一些图片或视频,那么,我推荐你选择整合产品。 因为它的学习成本低,你可以很快地学会如何使用,而且它的产品功能也比较完善,你可以很快地制作出一些图片或视频。

但如果你是设计师,或者你想靠 AI 这个新的技术赚钱,那么,我推荐你选择分离产品。 为什么呢?我觉得很多人选择学习何种软件时,很容易忽略两个原因。

第一个原因是迁移成本:

   如果我们选择学习第一种融合产品,那就意味着我们在学习软件的同时,还会跟模型绑定。拿 Midjourney 为例,学习 Midjourney 的时候,你不仅要学习软件如何使用,同时要学习如何更好地使用模型,即如何写好prompt。同时,它的产品功能也跟模型融合得比较深,有些功能是它这个模型特有的,当你学会后,你就只能在Midjourney上使用,而不能在其他产品上使用。

   这将导致出现非常高的学习迁移成本。当你想要更换产品的时候,你需要重新学习新产品的使用方法,同时还需要重新学习与模型相关的知识。

   如果这个行业发展的速度比较慢的话,这个成本还可以接受(因为你有足够的时间去学习)。但是,现在 AI 行业发展非常快,每个月都会有新的产品,亦或者新的模型出现。你很难有时间去学习每一个产品。举个实际的例子,如果你选择学习融合产品,意味着:

   当你看到 AI 能通过输入文字的方式生成图片,你可能会去学习 Midjourney,Stability AI,甚至 Adobe 的 AI 产品。
然后你又发现好像又有新的产品可以通过画图的方式生成图片,你可能又会去学习 Krea。
接着你发现 AI 还能生成视频,你又跑去学习 Runway、Pika。
最后你会发现,你好像学会了一堆软件,但又好像什么都没学会。因为每一款软件你都需要付出足够长的时间,才有可能真正学会,纯粹探索性的学习是不会有任何的积累(除非你只想娱乐一下)。 而学习分离产品,则能大大地降低这个迁移成本。当有一个新的模型出现时,你只需要切换模型就好了,而不需要重新学习产品的使用方法。比如,你学会了类似 SD WebUI 或者 ComfyUI 这类产品,你学会了如何文生图,当你需要通过画图的方式生成图片,你也只需要切换一些模型,或者在产品里操作一下就能实现与 Krea 类似的效果。

第二个原因是自由度:

   我一直有这样的一个观点:AI 不会淘汰人类,但它会淘汰不会使用它们的人类。

   你如果想要从 AI 这波浪潮里脱颖而出,你就需要学会如何使用 AI。而且不是单纯地使用 AI。你还需要学会如何调整 AI,从而让它切合你的工作流,甚至改造你的工作流。

   因为它的自由度高,你可以自由地修改产品,甚至可以自己开发产品。这意味着你可以将产品与你的工作流结合,从而提高你的工作效率,甚至改造你的工作流。

SD Web UI VS ComfyUI

   那市面上也有很多分离型产品,为何选择 ComfyUI?

   我们先来简单看看 SD Web UI 和 ComfyUI 的 UI 界面,你应该就能知道它们的区别了。

    从上图中可以看到,SD WebUI 的 UI 更像是我们传统使用的产品,有很多输入框,还有多个按钮。而 ComfyUI 的 UI 界面则非常复杂,除了输入框,还有很多一块块的东西,并且还有很多复杂的连线。

    的确,从学习成本来看,ComfyUI 的学习成本会比 SD WebUI 高。但是这种连线其实并不复杂,你可以这么理解:

    这些小的方块跟 SD WebUI 的输入框和按钮是一样的,都是对参数进行配置,连线有点像在搭建一个自动化的工作流,从左到右依次运行,可以想象成搭积木,是一个很有意思的过程
从功能的角度看,其实两个产品截图所提供的功能是一样的,只是 ComfyUI 变成了这种连线的方式

那这种方式有什么好处呢?我们一起来看看这两个用 ComfyUI 搭建的工作流:

   对比两个工作流,你会发现它只是有一个节点不一样,一个是直接加载图片,一个是通过提示词绘制图片。这样就实现了两个不同的功能(一个是图生图,一个是文生图)。这就意味着,你可以通过改变节点的方式来改变工作流,从而实现不同的功能。这样做有两个好处:

   你可以根据自己的需求搭建适合自己的工作流,而不需要依赖开发者。你也可以根据自己的需求,去开发并改造某个节点。
所以,选择 ComfyUI 最核心的原因就在于它的自由和拓展。那这就意味着你可以自己调整 ComfyUI 从而让它切合你的工作流,甚至改造你的工作流。 在现在这种 AI 发展如此迅猛的时代,我认为保持灵活才是最重要的。 如果你看各种对比评测,还会发现 ComfyUI 在性能上会比 SD WebUI 更好,但在能力的覆盖上会比 SD WebUI 要差,比如 ComfyUI 的 Inpainting 的编辑器就比 SD WebUI 的编辑器要差。但是,这些都不是问题,这些问题未来会依托开源生态逐步完善,或者说互有优势。但是我认为 SD WebUI 不进行非常大的改变的情况下,是无法实现 ComfyUI 那样的自由度的。

总结

   对于那些刚开始探索AI绘画的好奇者来说,Midjourney 是一个理想的选择,能够帮助他们迅速适应 AI。当个人或公司有产品或设计构思时,如果只有大概的想法而没有具体的细节,可以使用 Midjourney 来实现创意,从而快速获得大量灵感。目前,Midjourney 在图像生成质量和 AI 的想象力方面依然处于顶尖水平,甚至可以说是第一。然而,目前它对图片的控制能力较差。

   如果你的公司已经有了产品,并希望对其进行提升或差异化,那么 Stable Diffusion 是一个极佳的选择。它能够在完全保留原产品的基础上,添加你所需要的新元素。正如我的一位朋友所说的那样:Midjourney 更像是艺术家,而 Stable Diffusion 则更像是美工,我认为这个比喻非常贴切。

学习ComfyUI必须要有代码基础吗?

   虽然有基础会是一个优势,但没有也没有关系。在使用 Stable Diffusion 的过程中,我发现 90% 的问题都不需要你编写或修改代码。大部分情况下,只需删除或添加一些文件即可解决。

AI版权问题

   关于AI版权问题,许多人都很关心。目前,可以自由使用自己生成的图像,随意使用,无需担心版权问题。当其他人还在网络上寻找素材、花钱下载或处理有水印和不高清的免费素材,并担心版权纠纷时,我们已经在用 ComfyUI 来解决这些问题了。AI 生成的图像是独一无二的,即使在不同设备上使用相同的种子,调整网络环境后生成的图像也会有所不同。

遵纪守法

   最后,请抛开那些潜意识里阻碍你前进的担忧,因为这些只是让自己停滞不前的借口。世上的一切事物都有其对立面,关键在于你如何去利用它们!希望大家多多使用 AI,让自己的生活更加阳光灿烂,用 AI 做一些积极向上的事情。请记住,一定要遵守法律法规!
** 孜孜以求,方能超越自我。坚持不懈,乃是成功关键。**

ComfyUI基础篇:为什么要学 ComfyUI?的更多相关文章

  1. 小白学Docker之基础篇

    系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...

  2. 零基础从实践出发学java编程【总结篇】

    1.背景 很多人学习java的第一步就是系统的学习java基础语法,有的java基础语法还没学完就崩溃了,确实java基础语法太多太细,而且都是理论,学着让人很懵: 好不容易学完基础语法,又要学框架. ...

  3. SQL必学必会笔记 —— 基础篇

    基础篇 SQL语言按照功能划分 DDL(DataDefinitionLanguage),也就是数据定义语言,它用来定义我们的数据库对象,包括 数据库.数据表和列.通过使用DDL,可以创建,删除和修改数 ...

  4. 一步步学习javascript基础篇(0):开篇索引

    索引: 一步步学习javascript基础篇(1):基本概念 一步步学习javascript基础篇(2):作用域和作用域链 一步步学习javascript基础篇(3):Object.Function等 ...

  5. Vue.js基础篇实战--一个ToDoList小应用

    距离开始学Vue已经过去一个多月了,总想把学到的东西柔和在一起,做点东西出来,于是有了这个Todolist小应用. 使用vuex 纯粹基础,没有用到web pack,vuex,npm,下次把它改造一下 ...

  6. [转]C++学习–基础篇(书籍推荐及分享)

    C++入门 语言技巧,性能优化 底层硬货 STL Boost 设计模式 算法篇 算起来,用C++已经有七八年时间,也有点可以分享的东西: 以下推荐的书籍大多有电子版.对于技术类书籍,电子版并不会带来一 ...

  7. 2天驾驭DIV+CSS (基础篇)(转)

    这是去年看到的一片文章,感觉在我的学习中,有不少的影响.于是把它分享给想很快了解css的兄弟们. 基础篇[知识一] “DIV+CSS” 的叫法是不准确的[知识二] “DIV+CSS” 将你引入两大误区 ...

  8. 【转】WF4.0 (基础篇)

    转自:http://www.cnblogs.com/foundation/category/215023.html 作者:WXWinter  ——  兰竹菊梅★春夏秋冬☆ —— wxwinter@16 ...

  9. android基础篇学习心得

    android技术中,线程.进程.JNI.IPC和各个小框架结构是基本功.在跟随高焕堂老师的android程序猿到架构师之路系列视频中 学习完基础篇之后,颇有些心得,记录下来. android开发就是 ...

  10. andengine游戏引擎总结基础篇

      其他的游戏引擎知道的不是很对,不过相对于学java的童鞋们来说,那是个不错的选择啦,这个发动机咋样,google去吧.基础篇包括图片,字体,音效,数据读取,会了这点,就会做简单的小游戏啦 对于游戏 ...

随机推荐

  1. ubuntu下安装php pdo扩展和导入数据库

    默认安装的php不存在pdo扩展,因此在使用到的时候会报错,直接使用这个命令 apt-get install php-mysql 就可以成功安装pdo扩展 安装完数据库后需要导入sql语句,先进入数据 ...

  2. 关于Java Chassis 3的契约优先(API First)开发

    本文分享自华为云社区<Java Chassis 3技术解密:契约优先(API First)开发>,作者: liubao68. 契约优先(API First)开发是指应用程序开发过程中,将A ...

  3. nim 3. 各种集合

    其实我挺想先去学习一下nim的模块系统,毕竟我决定暂时放弃学习golang,就是因为感觉他的模块和包方面的设计,不像c#+nuget的组合那么舒服. 但是这里还是先学习一下集合吧,感觉这方面nim很有 ...

  4. 数据库—SQL语言学习

    文章目录 SQL 数据类型 重要的关键字 定义数据库 数据库的文件 table创建与删除 表的定义 表的alter 表的删除 视图 定义视图 删除视图 更新视图 插入视图 视图总结 索引 SQL单表查 ...

  5. Spring源码阅读 ------------------- SpringFrameWork 5.2 +IDEA 部署其他坑位问题(二)

    一.地址下jar包无法下载问题   报错信息:      Could not get resource 'https://plugins.gradle.org/m2/org/asciidoctor/o ...

  6. JDK源码阅读-------自学笔记(二十二)(java.util.ArrayList自定义晋级,ArrayList实战详解)

    简介(Introduction)   上篇文章主要介绍了ArrayList自行模仿建立的方式,那么,其实这个类不是一次性就那么完美的,现在做一个一步步变成那样完整的ArrayList的版本升级测试. ...

  7. Ceph存储池管理

    目录 Ceph存储池 1. Ceph的存储流程 1. 数据写入 2. 数据读取 2. 资源池的配置 2.1 资源池创建 pgp是什么 (Placement Group for Placement pu ...

  8. c# 拖拽列表顺序 | 拖拽合并分组 | 移除分组功能

    动图演示: 背景: 一开始做功能的时候没有增加排序的索引(sort-index),后来要求做拖拽排序功能:所以写了这个不需要初始排序就可以完成的拖拽功能:如果是table表格排序逻辑和这个相似,这里拿 ...

  9. OPA Gatekeeper:Kubernetes的策略和管理

    目录 一.系统环境 二.前言 三.OPA Gatekeeper简介 四.在kubernetes上安装OPA Gatekeeper 五.gatekeeper规则 5.1 使用gatekeeper禁止某些 ...

  10. echarts做饼图

    今天记录下echarts做饼图 父组件 <el-card style="height:600px ;margin-top:20px" v-loading="card ...