大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

顏色控制一直是 AIGC 的難點,prompt 會污染、img2img 太隨機… 今天帶來利用controlnet,實現對畫面顏色的有效控制。都說AIGC是抽卡,但對把它作為工具而非玩具的設計師,必須掌握如何控制它,讓我們一起開始可控AI生成。

更多相關干貨:

一、想給 AI 點顏色瞧瞧,怎么這么難

大家或許已經通過各種《三分鐘包會》《五分鐘出道》的教程,可以手拿把掐的將一張商品圖,完美植入需要的背景中??陀^的說,無論從角度、投影、還是商品與背景的語義關系,以下都能算是合格的圖片。但是作為視力 2553的設計師,總能發現它的不完美——顏色,更準確的說是商品和背景的顏色關系。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

但是,只要我們加億點點細節,就可以讓商品和背景的融合更為自然,減輕 AI 生成的割裂感,讓它更像一張出自人手的精修圖片。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

通常,要做到這樣的效果,或是去 stable diffusion 中嘗試大量色彩的 prompt,但因為 SD 機制的原因,污染會很嚴重,效果難得理想;或者在 midjourney 中,通過反復的墊圖反推+ps,抽卡一張合適的效果,總之是費時、費力,更費人。

現在,我們有了更簡單、更可控、更出效果的方法,如果你也深受上述問題之苦,那就讓我們一起來,給 AI 點顏色瞧瞧。

二、顏色就這招,簡單可控效果好

這張是我們的對照組,沒有添加任何的色彩控制手段,接著我們擼起袖子開干。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

① 提取商品主色調,作為色彩控制基礎

首先我們先吸取商品的主色調,然后順著商品色彩變化的方向,做一張全尺寸(等同最終完稿尺寸)的漸變效果,漸變主要是為了效果更加自然。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

② 添加controlnet,實現色彩控制效果

這一步是重點,它會完成色彩融合,在 controlnet 中,加載這張色彩漸變圖片,并添加預處理器 t2ia_color_grid 和對應模型,具體的模型和參數會在后文有詳細解讀,這里我們先看效果。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

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

最后,補全背景生成的流程,就可以得到一張色彩和諧,又沒有割裂感的商品主圖了。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

將這套流程應用到不同的商品和場景圖中,實現如下效果??梢钥吹?,經過顏色控制后,商品圖的融合效果都有了顯著提升。利用上述方法,設計師就能非??煽氐膩韺D片進行顏色管理了,特別適合當商品本身色調鮮明多樣,對放置的場景又有較高要求的需求中。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

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

下面,詳細介紹下中間的參數和步驟:

預處理器我們使用 t2ia_color_grid,它的功能是對顏色進行網格檢測,用來生成與原圖色譜一致,分布近似的圖像,所以它會呈現一個馬賽克效果,在它的作用下,重新生成的圖片會按照它的色彩特征進行重繪。(延伸思考:在一些特殊場景,你設置可以手繪一個顏色分布非均勻的模板,并以此產生更加豐富的效果)

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

其中最重要的參數是 weight、starting control step、ending control step

weight 是這個 controlnet 在整體中起到多大的作用,下圖可以看到 weight 從小到大的分布對畫面的影響。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

starting control step 控制了 controlnet 從什么時候開始介入生圖的步驟,越早介入對畫面的影響越深遠,畢竟從一開始就參與其中了嘛。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

ending control step 控制了 controlnet 在什么時候退出生圖的步驟,越晚退出則會將影響保留的越完整,它意味著把控制留到的畫面生成的最后一刻。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

這里經過測試,為了保持比較和諧的效果,三個參數分別是(0.7,0.3,1),但需要注意,這套參數適配的是案例中色相柔和、飽和度較低的情況,如果在實際應用中遇到的色彩很重,那針對參數也要進行相應的調整。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

搭建好控制色彩的 controlnet 之后,補上針對商品和布局的 controlnet,整個對色彩控制的流程就完成了。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

點擊 generate,就能得到一張色彩和諧的完稿啦。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

四、效果一鍵實現,用戶無感體驗

以上方法主要用在本地操作,一些步驟還需要人為參與。當要把這套邏輯工程化、線上化,自然沒法再靠設計師吸取顏色了,中間過程會用一些簡單的算法和代碼,比如對 sku 主色的選取,可以用 octree 或 colorthief。

提取出的色值也需要經過一定的優化和映射再用到 controlnet 中才會取得比較好的效果,畢竟商品的情況多且復雜,單純的依靠機器識別,可能出現偏頗,所以為了最終效果,必須要做更精細的管控。

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

到此,整個色彩控制的流程完結,或許你也常聽聞 AIGC 是黑盒、是隨機、是抽卡,但對要把它作為工具而非玩具的人來說,就是要探究從各個維度、各個環節,控制它的手段。雖然科技改變生活,但不能改變你的絕活。

以上,我們下期再見啦!

歡迎關注「JellyDesign」的小程序:

大廠出品!如何用 ControlNet 實現精準的畫面色彩控制?

收藏 127
點贊 59

復制本文鏈接 文章為作者獨立觀點不代表優設網立場,未經允許不得轉載。