轻松实现Stable Diffusion画面色彩控制

轻松实现Stable Diffusion画面色彩控制

颜色控制一直是 AIGC(AI生成图像)的挑战之一。过去,prompt 的使用容易导致图像污染,而图生图的结果又过于随机。今天我将介绍一种新的方法,利用 controlnet 来有效控制图像的颜色。虽然有人认为 AIGC 只是一种抽卡的工具,但对于将其作为设计师的工具而非玩具的人来说,掌握如何控制 AIGC 是必不可少的。让我们一起开始学习如何实现可控的AI生成吧!

一、想给 AI 点颜色瞧瞧,怎么这么难

也许大家已经通过各种教程,学会了将商品图像完美地嵌入所需的背景中。客观地说,从角度、投影以及商品与背景的语义关系来看,以下的图片都可以算作合格的。然而,作为专业设计,我们总能发现它们的不完美之处——颜色,更准确地说,是商品和背景之间的颜色关系。

轻松实现Stable Diffusion画面色彩控制

但是,只要我们加亿点点细节,就可以让商品和背景的融合更为自然,减轻 AI 生成的割裂感,让它更像一张出自人手的精修图片。

轻松实现Stable Diffusion画面色彩控制

通常情况下,要达到这样的效果,我们可能需要在 Stable Diffusion 中尝试大量不同的色彩 prompt。然而,由于 Stable Diffusion 机制的限制,这样做可能会导致严重的图像污染,效果很难令人满意。另一种方法是在 Midjourney 中通过反复的垫图反推和后期处理,抽取出一个合适的效果。然而,这种方法耗时、费力,对人力资源也是一种浪费。

现在,我们有了更简单、更可控、更有效果的方法。如果你也曾经为上述问题而苦恼,那么让我们一起来尝试给 AI 添加一些颜色吧!

二、颜色就这招,简单可控效果好

这张是我们的对照组,没有添加任何的色彩控制手段,接着我们撸起袖子开干。

轻松实现Stable Diffusion画面色彩控制

① 提取商品主色调,作为色彩控制基础

首先我们先吸取商品的主色调,然后顺着商品色彩变化的方向,做一张全尺寸(等同最终完稿尺寸)的渐变效果,渐变主要是为了效果更加自然。

轻松实现Stable Diffusion画面色彩控制

② 添加controlnet,实现色彩控制效果

这一步是重点,它会完成色彩融合,在 controlnet 中,加载这张色彩渐变图片,并添加预处理器 t2ia_color_grid 和对应模型,具体的模型和参数会在后文有详细解读,这里我们先看效果。

轻松实现Stable Diffusion画面色彩控制

③ 并入生图流程,完成全图色彩管理

最后,补全背景生成的流程,就可以得到一张色彩和谐,又没有割裂感的商品主图了。

轻松实现Stable Diffusion画面色彩控制

将这套流程应用到不同的商品和场景图中,实现如下效果。可以看到,经过颜色控制后,商品图的融合效果都有了显著提升。利用上述方法,设计师就能非常可控的来对图片进行颜色管理了,特别适合当商品本身色调鲜明多样,对放置的场景又有较高要求的需求中。

轻松实现Stable Diffusion画面色彩控制

三、操作不再黑箱,用着才算真香

下面,详细介绍下中间的参数和步骤:

预处理器我们使用 t2ia_color_grid,它的功能是对颜色进行网格检测,用来生成与原图色谱一致,分布近似的图像,所以它会呈现一个马赛克效果,在它的作用下,重新生成的图片会按照它的色彩特征进行重绘。(延伸思考:在一些特殊场景,你设置可以手绘一个颜色分布非均匀的模板,并以此产生更加丰富的效果)

轻松实现Stable Diffusion画面色彩控制

其中最重要的参数是 weight、starting control step、ending control step

weight 是这个 controlnet 在整体中起到多大的作用,下图可以看到 weight 从小到大的分布对画面的影响。

轻松实现Stable Diffusion画面色彩控制 轻松实现Stable Diffusion画面色彩控制

starting control step 控制了 controlnet 从什么时候开始介入生图的步骤,越早介入对画面的影响越深远,毕竟从一开始就参与其中了嘛。

轻松实现Stable Diffusion画面色彩控制 轻松实现Stable Diffusion画面色彩控制

ending control step 控制了 controlnet 在什么时候退出生图的步骤,越晚退出则会将影响保留的越完整,它意味着把控制留到的画面生成的最后一刻。

轻松实现Stable Diffusion画面色彩控制 轻松实现Stable Diffusion画面色彩控制

这里经过测试,为了保持比较和谐的效果,三个参数分别是(0.7,0.3,1),但需要注意,这套参数适配的是案例中色相柔和、饱和度较低的情况,如果在实际应用中遇到的色彩很重,那针对参数也要进行相应的调整。

轻松实现Stable Diffusion画面色彩控制

搭建好控制色彩的 controlnet 之后,补上针对商品和布局的 controlnet,整个对色彩控制的流程就完成了。

轻松实现Stable Diffusion画面色彩控制

点击 generate,就能得到一张色彩和谐的完稿啦。

轻松实现Stable Diffusion画面色彩控制

四、效果一键实现,用户无感体验

以上方法主要用在本地操作,一些步骤还需要人为参与。当要把这套逻辑工程化、线上化,自然没法再靠设计师吸取颜色了,中间过程会用一些简单的算法和代码,比如对 sku 主色的选取,可以用 octree 或 colorthief。

提取出的色值也需要经过一定的优化和映射再用到 controlnet 中才会取得比较好的效果,毕竟商品的情况多且复杂,单纯的依靠机器识别,可能出现偏颇,所以为了最终效果,必须要做更精细的管控。

轻松实现Stable Diffusion画面色彩控制 轻松实现Stable Diffusion画面色彩控制

至此,整个色彩控制的流程就告一段落了。或许你经常听说AIGC是一个黑盒子,是随机的,是抽卡的。然而,对于那些将其作为工具而非玩具的人来说,就是要从各个维度、各个环节来探索如何控制它。科技可以改变生活,但它不能改变你的独特技艺。

相关文章