?? ? 前面的篇章已經詳細講解了線條約束、三維關系與空間深度、人體姿態等幾類controlnet的功能與應用,本節內容將對通過controlnet對圖像修復與編輯進行講解。
? ? 通過controlnet也可以對圖片進行編輯、重繪及放大等操作,具體包括Recolor、Inpaint、Tile等,我們可以將這幾類功能理解為對原生圖生圖功能的延伸和拓展。
序號 | 分類 | Controlnet名稱 | 備注 |
1 | 線條約束 | Canny(硬邊緣) | 約束性強,可以識別詳細線條 |
SoftEdge(軟邊緣) | 柔和的線條 | ||
MLSD 直線、最小線段檢測 | 主要用于建筑空間 | ||
Lineart 線稿提取 | 粗細不同的線條 | ||
Scribble 涂鴉 | 粗略線條、發揮空間大 | ||
2 | 三維關系、 空間深度 | Depth 深度 | 空間層次關系 |
Normal 法線貼圖 | 紋理效果常用 | ||
3 | 人體姿態、手勢與表情 | Openpose 姿態控制 | 姿勢、表情、手勢控制 |
4 | 圖像風格轉換 | Shuffle 隨機 | 打亂圖片元素重新組合 |
IP-Adapter (圖像)風格遷移 | 參考圖像畫風、換臉等 | ||
T2l-Adapter (文字轉圖)風格遷移 | 參考原圖畫風 | ||
Reference 參考圖引導 | 模仿原圖繪畫 | ||
Instant-ID 換臉 | 人物換臉 | ||
5 | 圖片修復與編輯 | Recolor 重上色 | 老照片修復 |
Inpaint重繪 | 類似于局部重繪,但融合效果更好 | ||
Tile 分塊 | 分塊重采樣,細節方法 | ||
6 | 結構理解 | Seg 語義分割 | 根據色塊代表不同含義 |
7 | 其它 | InstructP2P 指令式編輯 | 變換場景、特效 |
Revision 圖像修訂 |
1 Recolor重上色
? ? 相信大家在網上看到過類似于老照片修復顏色的直播,這里面用到的主要功能就是通過Recolor重上色實現的。
? ? 模型下載地址:https://huggingface.co/lllyasviel/sd_control_collection/tree/main
? ? 對應1.5大模型版本模型1個:
對應XL大模型版本模型共有2個,根據電腦內存情況選擇其中1個下載即可:
? ? Recolor預處理器共2種: intensity(調節圖像強度)和 luminance(調節圖像亮度),推薦使用 luminance效果更好。
? ? Gamma Correction參數用于調節圖片的明暗,默認值為1,設置完成后點擊爆炸按鈕即可看到該數值的預覽效果,方便多次調整至目標數值。
? ? 使用Recolor模型,可以通過提示詞指定圖中人物或環境等元素的顏色,如膚色、衣服色彩等,從而實現對圖片中元素色彩的調整。
? ? Recolor在文生圖或者圖生圖中使用均可以獲得類似的效果,下面以在文生圖中為一張黑白圖像上色作為案例,對recolor功能進行講解。
目標圖像:
提示詞獲取:可以通過WD1.4標簽器功能反推出圖片關鍵詞,再根據目標需求進行修改。
調整后提示詞描述為
正向提示詞:color photo,solo,1girl,exquisite face,realistic,looking at viewer,lips,person photo,blond hair,fair_skin,lipstick,black eyelashes BREAK blue eyes,simple background,glass soda bottle,white shirt BREAK light blue sweater,
反向提示詞:DeepNegative_xl_v1,
Recolor 無法保證需要的顏色可以準確地賦予特點的元素,不同的顏色之間也可能會出現相互污染,實際使用時可以配合提示詞打斷語法進行調試(BREAK句式)。
? ? 實際上因為年代久遠的問題,很多老照片并不清晰,僅僅采用重上色功能,可能無法達到較好的效果。一般情況下,一張老照片的修復需要經過以下幾個步驟:先采用高清修復功能放大照片分辨率;再對照片進行消除噪點、修復損壞部分;最后再通過SD重上色功能進行上色填充。后續章節中針對老照片上色操作步驟會有詳細的講解。
2 Inpaint局部重繪
? ? Inpaint局部重繪的功能與圖生圖十分類似,但是因為在controlnet中可以選擇不同的預處理器和模型,使Inpaint重繪的可控性比webUI圖生圖功能更強。
? ? inpaint重繪預處理共三個:
①重繪-全局融合算法(Inpaint_Global_Harmonious):對圖片整體畫面和色調調整,由于更加側重蒙版區域與整體畫面的融合,整體畫面可能較原圖有較大變動;
②僅局部重繪(Inpaint_only):僅對蒙版區域進行局部重繪;
③僅局部重繪+大型蒙版(Inpaint_only+lama):Inpaint_only的改良,lama算法更適合抹除蒙版區域內較為突出的內容,更適合消除/抹除畫面局部內容。
2.1 局部內容消除
? ? 上傳一張人物風景照,嘗試去除風景照中的人物,并使該區域更好地融入背景。
? ? controlnet中上傳圖像,鼠標手動繪制蒙版--圖像左上角點擊“圖像”可以看到操作方式。
? ? 測試幾款預處理器預覽效果,Inpaint_only+lama在預處理器階段就可以很好地實現去除物體效果。
? ? 再來測試實際生成圖片情況,測試僅依賴inpaint的消除功能,在提示詞區域不填寫任何內容:
生圖結果對比:
? ? 經過多輪抽卡,三款預處理器雖然均能實現抹除蒙版內容并生成與融入周邊背景的內容,但從成功概率及生成效果對比,Inpaint_only+lama在消除蒙版內容能力上有明顯優勢。
2.2 局部重繪
? ? 涂抹圖片中需要重繪的區域,提示詞中填入目標內容提示詞。
? ? 比如我們將風景照中的人物衣服重繪成白色襯衫,測試一下三個預處理器的對比情況。
? ? 提示詞中填寫目標內容,打開controlnet上傳底圖并手繪蒙版區域:
? ? 三款預處理器生成效果對比:
預處理效果 | 生成圖像效果 | |
| | |
Inpaint_only+lama在預處理時即消除蒙版區域,雖然可以成功生成白色襯衣背影,但多次抽卡依然缺少一部分被消除的胳膊。 | ||
| | |
inpaint_only預處理器可以較好地按指令生成重繪內容 | ||
| | |
inpaint_global_harmonious預處理器可以較好地按指令生成重繪內容,根據其它圖像測試,該預處理器在局部重繪時對全局融合的效果最好。 |
? ? 該功能效果與圖生圖局部重繪效果基本類似(圖生圖局部重繪需要重繪蒙版區域,可能需要多次抽卡才能獲得正常圖片,更多地應用于重繪非蒙版區域)。
? ? 高效子蒙版區的作用和圖生圖-上傳蒙版重繪功能基本一致,但是經過實測,文生圖controlnet中inpaint功能中僅有預處理器inpaint_global_harmonious對上傳的蒙版生效,另外兩款預處理器無效。另外需要注意,inpaint中,白底黑色蒙版圖中黑色區域為蒙版區域。
2.3 擴圖
? ? 我們可以利用提示詞+重繪功能來填充目標圖像大于參考圖像的范圍空間,從而實現擴圖的功能。
? ? 因為是擴圖,我們需要用到原圖中的描述,可以通過WD1.4反推獲取提示詞(使用完反推功能后一定記得卸載反推模型),并發送到文生圖。
? ? 注意,圖片尺寸需設置為擴圖后尺寸,其余參數參考如下:
? ? controlnet中選擇inpaint,選擇預處理與模型,注意縮放模式需選擇“縮放后填充空白”,即擴充畫布后將新增空白區域進行填充。
? ? 生成效果如下:
3 Tile分塊
? ? ?Tile分塊的原理是將圖片切分成多個分塊,分別識別每個分快的信息并進行放大及細節增強,最后再通過特定算法將擴大后的分塊重組成一張圖片。Tile分塊因為采取分塊放大再組合的方式,可以有效避免整張圖片放大時易爆顯存情況。理論上只要分的塊足夠多,普通顯存設備也能繪制任意尺寸的放大圖,只是需要花費的時間長短問題。
? ? ?因在優化圖像細節的同時不會影響畫面結構,除了將低像素圖像清晰化外,Tile也可以用于增加畫面細節,常用于模糊照片修復、圖片放大、修復細節等。
? ? ?Tile分塊共有4 種預處理器:resample重采樣、colorfix+sharp固定顏色+銳化、colorfix固定顏色,以及特殊的算法blur_gaussian高斯模糊(通過模糊輸入圖像的特征,再重新生成質量更的圖像)。
3.1 案例
? ? ?目標:將一張低像素模糊照片清晰化,并增加細節。
? ? 選擇與目標圖像風格對應的大模型;
? ? 提示詞欄添加對圖像內容簡單描述詞,也可通過WD1.4反推獲得:
? ? ?參數設置中主要注意寬度高度設置為原圖的倍數,即放大倍數:
? ? ?打開controlnet,上傳底圖(案例尺寸128×256),控制類型選擇“Tile分塊”,選擇對應預處理器與模型等。
? ? ?不同預處理器最終生圖效果如下:
? ? 可以看出,圖片在保持了原圖片的原有結構基礎上,通過增加細節變得更加清晰。這一點在圖生圖模塊中很難實現,如采用圖生圖進行圖像放大,調高重繪幅度雖然能增強畫面細節,但是圖片的變化可能會很大,導致與原圖有明顯差距。
? ? 其它1組案例:
3.2 案例2
? ? ?一張原本清晰的照片,通過Tile功能增加細節(圖像尺寸不變,不改變圖像原有結構)
? ? 因不改變圖像尺寸,只通過tile增加細節,所以此處目標圖像尺寸通過controlnet直接同步即可,無需調整。
? ? ?不同預處理器生成圖像如下,可以看到后面兩幅圖較原圖均有細節增加。
總結:
? ? ? ? 這里分享webUI的本地整合包資源,個人自用的整合包(超全插件及模型,本節課程所有涉及的模型均可在對應文件夾中找到下載)。
? ? ?整合包形式,無需安裝,Windows系統下載打開即用。
「webui全能包(內置超全插件、模型)--100G左右」https://pan.quark.cn/s/3647679a1966
????歡迎正在學習comfyui等ai技術的伙伴V加 huaqs123 進入學習小組。在這里大家共同學習comfyui的基礎知識、最新模型與工作流、行業前沿信息等,也可以討論comfyui商業落地的思路與方向。 歡迎感興趣的小伙伴,群共享資料會分享博主自用的comfyui整合包(已安裝超全節點與必備模型)、基礎學習資料、高級工作流等資源……
????致敬每一位在路上的學習者,你我共勉!Ai技術發展迅速,學習comfyUI是緊跟時代的第一步,促進商業落地并創造價值才是學習的實際目標。
——畫青山Ai學習專欄———————————————————————————————
零基礎學Webui:
https://blog.csdn.net/vip_zgx888/category_13020854.html
Comfyui基礎學習與實操:
https://blog.csdn.net/vip_zgx888/category_13006170.html
comfyui功能精進與探索:
https://blog.csdn.net/vip_zgx888/category_13005478.html
系列專欄持續更新中,歡迎訂閱關注,共同學習,共同進步!
—————————————————————————————————————