前言:

   在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. 09. C语言内嵌汇编代码

    C语言函数内可以自定义一段汇编代码,在GCC编译器中使用 asm 或 __asm__ 关键词定义一段汇编代码,并可选添加volatile关键字,表示不要让编译器优化这段汇编代码. 内嵌汇编代码格式如下 ...

  2. 10分钟了解Flink SQL使用

    Flink 是一个流处理和批处理统一的大数据框架,专门为高吞吐量和低延迟而设计.开发者可以使用SQL进行流批统一处理,大大简化了数据处理的复杂性.本文将介绍Flink SQL的基本原理.使用方法.流批 ...

  3. 基于Python的性能分析

    1.什么是性能分析 字面意思就是对程序的性能,从用户角度出发就是运行的速度,占用的内存. 通过对以上情况的分析,来决定程序的哪部份能被优化.提高程序的速度以及内存的使用效率. 首先我们要弄清楚造成时间 ...

  4. 树莓派 ubuntu server 22.x 连接无线网络

    前言 树莓派系统安装完成后,需要配置网络,由于家里没有多余的网线(网线多少有点乱),所以决定配置无线上网的方式,现在记录下来操作过程 具体操作 sudo nano /etc/netplan/xxxxx ...

  5. Redis高可用一(主从)

    Redis高可用一(主从) 1.首先要有2或以上的Redis数据库,我这里三个redis(一主两从) 2.进入到主Redis 配置 redis.conf文件 # 主redis bind 0.0.0.0 ...

  6. Vue cli介绍

    Vue CLI 是一个基于 Vue.js 进行快速开发的完整系统,提供: 通过 @vue/cli 实现的交互式的项目脚手架. 通过 @vue/cli + @vue/cli-service-global ...

  7. npm包管理器 切换npm源 使用nrm来管理npm镜像源

    npm是NodeJs项目模块管理工具,它已经集成了nodejs安装包中,在npm从从5.2版开始,增加了 npx 命令(解决的主要问题,就是调用项目内部安装的模块,很多工具不再需要npm -g 全局来 ...

  8. 如果设备不支持vulkan,就用swiftshader,否则就加载系统的vulkan的正确姿势(让程序能够智能的在vulkan-1.dll和libvk_swiftshader.dll之间切换)

    一些老的显卡设备没有更新驱动,甚至根本就不支持Vulkan的显卡,遇到静态链接的vulkan-1.lib文件,启动exe就会崩溃. 你以为从别的机器拷贝这个vulkan-1.dll就可以了吗? 太傻太 ...

  9. [SWPUCTF 2021 新生赛]gift_F12

    首先我们打开环境会发现花里胡哨的,而题目中有提示:F12,所以我们直接F12查看源码 然后ctrl+f信息检索flag.直接找到flag提交 但要注意提交格式为NSSCTF{}

  10. MS SQL SERVER 创建表、索引、添加字段等常用脚本

    创建表: if not exists ( select 1 from sysobjects where id=object_id('PayChannelNm') ) create table [dbo ...