輕鬆復現一張AI圖片

flydean發表於2024-04-22

輕鬆復現一張AI圖片

現在有一個非常漂亮的AI圖片,你是不是想知道他是怎麼生成的?

今天我會交給大家三種方法,學會了,什麼圖都可以手到擒來了。

需要的軟體

在本教程中,我們將使用AUTOMATIC1111 stable diffusion WebUI。這是一款流行且免費的軟體。您可以在Windows、Mac或Google Colab上使用這個軟體。

方法1: 透過閱讀PNG資訊從影像中獲取提示

如果AI影像是PNG格式,你可以嘗試檢視提示和其他設定資訊是否寫在了PNG後設資料欄位中。
首先,將影像儲存到本地。
開啟AUTOMATIC1111 WebUI。導航到PNG資訊頁面。

image-20240409232941011
將影像拖放到左側的畫布上。

上傳了影像的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,你可以按照以下簡單的步驟操作:

  1. 啟動AUTOMATIC1111:首先,你需要開啟AUTOMATIC1111的網站。

  2. 導航至img2img頁面:在AUTOMATIC1111的介面中,找到並點選“img2img”這一選項。這是一個專門的頁面,用於上傳和處理影像。

  3. 上傳影像到img2img畫布:在這個頁面上,你會找到一個用於上傳影像的區域,通常被稱為“畫布”。點選上傳按鈕,選擇你想要分析的影像檔案,並將其上傳到畫布上。

  4. 上傳之後在介面右邊就可以找到兩個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擴充套件。

  1. 開啟AUTOMATIC1111 WebUI。

  2. 轉到interrogator頁面。

  3. 將影像上傳到影像畫布。

  4. CLIP模型下拉選單中選擇ViT-L-14-336/openai。這是Stable Diffusion v1.5中使用的語言嵌入模型。
    image-20240410000207328

  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模型也非常關鍵。因為提示中可能並不總是包含正確的風格資訊。

例如,如果您的目標是生成一個真實人物影像,那麼你肯定不能選擇一個卡通模型。

點我檢視更多精彩內容:www.flydean.com

相關文章