輕鬆復現一張AI圖片
現在有一個非常漂亮的AI圖片,你是不是想知道他是怎麼生成的?
今天我會交給大家三種方法,學會了,什麼圖都可以手到擒來了。
需要的軟件
在本教程中,我們將使用AUTOMATIC1111 stable diffusion WebUI。這是一款流行且免費的軟件。您可以在Windows、Mac或Google Colab上使用這個軟件。
方法1: 通過閱讀PNG信息從圖像中獲取提示
如果AI圖像是PNG格式,你可以嘗試查看提示和其他設置信息是否寫在了PNG元數據字段中。 首先,將圖像保存到本地。 打開AUTOMATIC1111 WebUI。導航到PNG信息頁面。
將圖像拖放到左側的源畫布上。
在右邊你會找到關於提示詞的有用信息。你還可以選擇將提示和設置發送到txt2img、img2img、inpainting或者Extras頁面進行放大。
方法2:使用CLIP interrogator從圖像中推測Prompt
在處理圖像信息時,我們常常會發現直接的方法並不總是有效。
有時候,信息並沒有在最初就被記錄在圖像中,或者在後續的圖像優化過程中被Web服務器去除。
也有可能這些信息並非由Stable diffusion這類AI技術生成。
面對這種情況,我們可以嘗試使用CLIP interrogator作爲替代方案。
CLIP interrogator是一種AI模型,它具備推測圖像內容標題的能力。這個工具不僅適用於AI生成的圖像,也能夠應對各種類型的圖像。通過這種方式,我們能夠對圖像內容進行更深入的理解和分析。
什麼是CLIP?
CLIP(Contrastive Language–Image Pre-training)是一個神經網絡,它將視覺概念映射到自然語言中。CLIP模型是通過大量的圖像和圖像信息對進行訓練的。
image-20240409233700659
在我們的用例中,CLIP模型能夠通過對給定圖片的分析,推斷出一個恰當的圖片描述。
這個描述可以作爲提示詞,幫助我們進一步理解和描述圖片的內容。CLIP模型通過學習大量的圖像和相關文本數據,掌握了圖像識別和語義理解的能力,因此它能夠捕捉到圖片中的關鍵元素,並將其轉化爲一個描述性的標題。
WebUI中自帶的CLIP interrogator
如果你傾向於避免安裝額外的擴展,可以選擇使用AUTOMATIC1111提供的內置CLIP interrogator功能。
WebUI提供了兩種識別圖像信息的功能。一個是clip:這個功能底層基於BLIP模型,它是在論文《BLIP: 爲統一的視覺語言理解和生成進行語言圖像預訓練》中由李俊楠以及其團隊所提出的CLIP模型的一個變種。一個是DeepBooru, 這個比較適合識別二次元圖片。
要利用這個內置的CLIP interrogator,你可以按照以下簡單的步驟操作:
-
啓動AUTOMATIC1111:首先,你需要打開AUTOMATIC1111的網站。
-
導航至img2img頁面:在AUTOMATIC1111的界面中,找到並點擊“img2img”這一選項。這是一個專門的頁面,用於上傳和處理圖像。
-
上傳圖像到img2img畫布:在這個頁面上,你會找到一個用於上傳圖像的區域,通常被稱爲“畫布”。點擊上傳按鈕,選擇你想要分析的圖像文件,並將其上傳到畫布上。
-
上傳之後在界面右邊就可以找到兩個interrogator工具了:
image-20240409235643665
點擊這兩個按鈕,就可以獲得圖像的描述信息了。
我們可以得到下面的信息:
a woman in a blue top and pink skirt standing on a hill near the ocean with a grassy area in the background,Ai Xuan,ocean,a statue,rococo,
我們用這段提示發到text2image中看看效果:
image-20240410161245669
嗯….大體上還是有點相似的….. 因爲圖片跟我們的底模,種子還有采樣多種因素有關。所以你想1比1複製,這個比較難。
CLIP擴展
如果您在使用AUTOMATIC1111的內置CLIP interrogator時發現其功能不足以滿足您的需求,或者您希望嘗試使用不同的CLIP模型來獲得更多樣化的結果,那麼您可以考慮安裝CLIP interrogator擴展。這個擴展將爲您提供更多的選項和靈活性,以適應您特定的使用場景。
這個插件的下載地址如下:
https://github.com/pharmapsychotic/clip-interrogator-ext
要使用CLIP interrogator擴展。
-
打開AUTOMATIC1111 WebUI。
-
轉到interrogator頁面。
-
將圖像上傳到圖像畫布。
-
在CLIP模型下拉菜單中選擇ViT-L-14-336/openai。這是Stable Diffusion v1.5中使用的語言嵌入模型。
-
單擊生成以生成提示。 ### 對SDXL模型進行CLIP 如果你的目標是使用Stable Diffusion XL (SDXL)模型,那麼我們需要選擇不同的CLIP模型。
在“interrogator”頁面上,你可以選擇很多clip模型,如果要和SDXL模型一起工作的話,那麼可以選擇ViT-g-14/laion2b_s34b_b88k這個選項。
選擇ViT-g-14/laion2b_s34b_b88k模型後,系統將會根據這個模型的特性生成相應的提示。你可以使用這個提示詞作爲SDXL的提示,從而可以更精確地生成與原始圖像內容相符合的圖像。
ViT-g-14/laion2b_s34b_b88k模型是一個基於Vision Transformer (ViT)架構的預訓練模型,它在大型圖像數據集laion2b上進行了訓練,具有34億個參數。這個模型在圖像識別和理解方面表現出色,能夠有效地捕捉圖像的關鍵特徵,並生成與原始圖像內容緊密相關的提示。
通過這種方式,就可以確保在使用SDXL模型進行圖像生成時,所得到的輸出圖像能夠更好地反映原始圖像的意圖和風格。
總結一下
我們講了三種方法來從圖片信息中提取出對應的Prompt。
你應該首先嚐試使用PNG信息方法。這種方法的優勢在於,如果圖像中包含了完整的元數據,那麼您可以一次性獲取到包括提示、使用的模型、採樣方法、採樣步驟等在內的所有必要信息。這對於重新創建圖像非常有幫助。
如果PNG沒有信息可用,那麼可以考慮使用BLIP和CLIP模型。對於v1.5模型來說,ViT-g-14/laion2b_s34b_b88k模型可能是一個不錯的選擇,它不僅適用於SDXL模型,也可能在v1.5模型中表現出色。
另外,我們在構建提示詞的時候,不要害怕對提示詞進行修改。因爲自動生成的提示可能並不完全準確,或者可能遺漏了一些圖像中的關鍵對象。
所以需要根據自己的觀察和需求,來修改提示詞以確保它能準確地描述圖像內容。這對於最終生成的圖像質量和準確性至關重要。
同時,選擇正確的checkpoint模型也非常關鍵。因爲提示中可能並不總是包含正確的風格信息。
例如,如果您的目標是生成一個真實人物圖像,那麼你肯定不能選擇一個卡通模型。