如何用你的臉訓練穩定的擴散 AI 以使用 DreamBooth 創作藝術

已發表: 2022-10-10

塔魯納布·杜塔的客座文章。

如果說 2021 年是基於單詞的 AI 語言模型之年,那麼 2022 年已經跨越了文本到圖像的 AI 模型。 今天有許多文本到圖像的 AI 模型可以生成高質量的圖像。 穩定擴散是最受歡迎和知名的選項之一。 這是一個快速穩定的模型,可以產生一致的結果。

how to train stable diffusion

圖像生成的過程仍然有些神秘,但很明顯,Stable Diffusion 會產生出色的效果。 它可用於從文本生成圖像或更改現有圖像。 可用的選項和參數允許對最終圖像進行大量定制和控制。

雖然處理名人和流行人物的圖像相對容易,但純粹是因為現有的圖像集,讓人工智能在你自己的臉上工作並不容易。 邏輯是用你的圖像為 AI 模型提供數據,然後讓它發揮它的魔力,但究竟如何做到這一點呢?

在本文中,我們將嘗試演示如何在圖片參考上使用 DreamBooth 文本反轉來訓練穩定擴散模型,以構建您自己的面部或任何其他對象的 AI 表示,並生成具有令人難以置信的結果、精度和一致性的結果照片。 如果這聽起來太技術性,請多留一會,我們會盡量讓它對初學者友好。

目錄

什麼是穩定擴散?

讓我們擺脫基礎知識。 穩定擴散模型是在大型圖像集上訓練的最先進的文本到圖像機器學習模型。 培訓費用很高,大約需要 660,000 美元。 但是,穩定擴散模型可用於使用自然語言生成藝術。

深度學習 Text-to-Image AI 模型正變得越來越流行,因為它們能夠將文本準確地翻譯成圖像。 該模型可免費使用,可在 Hugging Face Spaces 和 DreamStudio 上找到。 模型權重也可以在本地下載和使用。

Stable Diffusion 使用稱為“擴散”的過程來生成看起來類似於文本提示的圖像。

簡而言之,穩定擴散算法採用文本描述並基於該描述生成圖像。 生成的圖像看起來與文本相似,但不會是精確的複製品。 穩定擴散的替代品包括 OpenAI 的 Dall-E 和谷歌的 Imagen 模型。

用你的臉訓練穩定擴散 AI 以使用 DreamBooth 創建圖像的指南

今天,我將演示如何使用我的面部作為初始參考來訓練一個穩定的擴散模型,以便生成具有高度一致和準確風格的圖像,既原始又新鮮。

因此,為此,我們將使用名為DreamBoothGoogle Colab來訓練穩定擴散。

在啟動此 Google Colab 之前,我們必須準備某些內容資產。

第 1 階段:具有足夠可用空間的 Google Drive

為此,您需要一個至少有 9 GB 可用空間的 Google Drive 帳戶。

免費的 Google Drive 帳戶附帶 15 GB 的可用存儲空間,足以完成此任務。 因此,您可以為此目的創建一個全新的(一次性)Gmail 帳戶。

google drive

第 2 階段:參考圖像訓練 AI

其次,您必須準備好至少一打您的臉部或任何目標對象的肖像以用作參考。

  • 請確保在拍攝的圖像中面部特徵清晰可見且照明充足。 避免使用刺眼的陰影,尤其是在臉上。
  • 此外,拍攝對象應面向相機或側面輪廓清晰可見,雙眼和所有面部特徵均清晰可見。
  • 相機應該能夠捕捉到高質量的面部特徵。 最好的選擇是專業級數碼單反相機或無反光鏡相機。 優質的智能手機相機也足夠了。
  • 構圖應放置在框架的中心,並留有一點頂部空間。
  • 作為輸入圖像,至少十二張臉部特寫照片、五張從頭部到腰部以上的中景照片以及大約三張全身照片就足夠了。
  • 為此目的,至少有 20 張參考照片就足夠了。

birme faces

就我而言,我拍攝並收集了大約 50 張自畫像,我使用在線工具 Birme 將其裁剪為 512 x 512 像素。 您也可以為此目的使用任何替代圖像編輯器。

請記住,最終輸出的圖像必須針對 Web 進行優化,並減小文件大小,同時將質量損失降至最低。

第 3 階段:Google Colab

現在可以執行 Google Colab 運行時。

Google Colab 平台有免費和付費版本​​。 Dreambooth 可以在免費版本上運行,但在 Colab Pro(付費)版本上性能明顯更快且更加一致,該版本優先使用高速 GPU,並為手頭的任務分配至少 15 GB 的 VRAM。

如果您不介意花幾美元,那麼每月包含 100 個計算單元的 10 美元 Colab Pro 訂閱對於本次會議來說綽綽有餘。

google colab signup

您還可以使用額外的內存 RAM 和相對更強大、更快的 GPU。

讓我重申一下:您無需成為技術專家即可運行此 Colab。 您也不需要任何先前的編碼經驗。

註冊 Google Colab(免費或付費版本)後,使用您的憑據登錄並前往此鏈接以打開DreamBooth Stable Diffusion

Google Colab 的“運行時”部分或單元格在左側帶有可點擊的播放按鈕,這些按鈕按順序排列。 要從頂部開始播放運行時,只需逐個單擊播放按鈕。 每個段都包含一個必須執行的運行時。 當您單擊播放按鈕時,相應的部分將作為運行時執行。 一段時間後,播放按鈕左側會出現一個綠色的複選標記,表示運行時已成功執行。

請確保您一次僅手動執行一個運行時,並且僅在當前運行時完成後才轉到下一個“運行時”部分。

在頂部菜單欄的運行時部分,您可以選擇同時運行所有運行時。 但是,不建議這樣做。

change runtime type dreambooth

下面是一個標記為“更改運行時類型”的選項。 如果您訂閱了專業訂閱,則可以選擇並保存“高級”GPU 和高 RAM 以供執行。

choose high ram

現在您已準備好啟動 DreamBooth Colab。

run dream booth

在 DreamBooth 上成功完成經過訓練的 AI 模型的 10 個步驟

第 1 步:決定 GPU 和 VRAM

第一步是確定可用的 GPU 和 VRAM 的類型。 專業用戶將可以使用更快的 GPU 和更穩定的增強顯存。

determine GPU VRAM

單擊播放按鈕後,將顯示警告,因為正在訪問開發人員的源網站 GitHub。 您只需單擊“仍然運行”即可繼續。

choose vram

第 2 步:運行 DreamBooth

在下一步中,您必須安裝某些要求和依賴項。 您只需要單擊播放按鈕並讓它運行。

dreambooth play

第 3 步:登錄擁抱臉

單擊播放按鈕後,下一步將要求您登錄 Hugging Face 帳戶。 如果您還沒有免費帳戶,您可以創建一個。 登錄後,從右上角導航到“設置”頁面。

hugging face settings

然後,單擊“訪問令牌”部分和“創建新”按鈕以生成新的“訪問令牌”並根據需要重命名。

access tokens

複製訪問令牌,然後返回 Colab 選項卡並將其輸入到提供的字段中,然後單擊“登錄”。

login to huggingface

第 4 步:安裝 xformers

在這一步中,您只需點擊播放按鈕即可單擊運行時安裝xformers

install xformers

第 5 步:連接 Google 雲端硬盤

單擊播放按鈕後,系統會在一個新的彈出窗口中詢問您是否有權訪問您的 Google Drive 帳戶。 當詢問權限時,單擊“允許”。

access google drive folder

授予權限後,您必須確認已選擇“保存到 Google Drive ”。 您還必須為“名”變量設置一個新名稱。 如果您想提交一個人的參考圖像,只需輸入“人”、“男人”或“女人”。 如果您的參考圖像是狗,請輸入“狗”等。 您可以保持其餘字段不變。 或者,您可以重命名輸入目錄 -“INSTANCE DIR”或輸出目錄 -“OUTPUT DIR”。

dreambooth settings

第 6 步:上傳參考照片

在上一步中單擊播放按鈕後,您將看到上傳和添加所有參考照片的選項。

upload images

我建議最少 6 張,最多 20 張照片。 有關如何根據拍攝對象的方式選擇最佳參考圖片的簡要說明,請參閱上面的“第 2 階段”。

select images

上傳所有圖像後,您可以在左側欄中查看它們。 有一個文件夾圖標。 單擊它後,您將能夠查看當前存儲數據的文件夾和子文件夾。

在數據目錄下,您可以查看您的輸入目錄,其中存儲了您上傳的所有照片。 在我的例子中,它被稱為“sks”(默認名稱)。

此外,請注意,此內容僅臨時存儲在您的 Google Colab 存儲中,而不是 Google Drive。

input directory

start training

第 7 步:使用 DreamBooth 訓練 AI 模型

這是最關鍵的一步,因為您將使用 DreamBooth 根據您上傳的所有參考照片訓練一個新的 AI 模型。

train images dreambooth

您必須只關注兩個輸入字段。 第一個參數是“——實例提示”。 在這裡,您必須輸入一個非常獨特的名稱。 就我而言,我將使用我的名字,後跟我的首字母。 整個想法是保持完整名稱的唯一性和精確性。

第二個關鍵輸入字段是“-class prompt”參數。 您必須重命名它以匹配您在“第 4 步”中使用的名稱。 就我而言,我使用了“男人”這個詞。 因此,我將在此字段中重新鍵入它並覆蓋任何以前的條目。

dreambooth parameters

其餘字段可以保持不變。 我觀察到用戶通過將“-num class images”等字段更改為 12 並將“-max train steps”更改為 1000、2000 甚至更高等字段進行實驗。 但是請記住,修改這些字段可能會導致 Colab 內存不足和崩潰,需要您從頭開始重新啟動。 因此,建議不要在初次嘗試時對其進行編輯。 在獲得足夠的經驗後,您可以在將來嘗試使用它們。

通過單擊播放按鈕執行此運行時,Colab 將開始下載必要的可執行文件,然後將能夠使用您的參考圖片進行訓練。

訓練模型需要 15 分鐘到一個多小時。 您必須耐心並跟踪進度,直到運行時完成。 如果您的 Google Colab 閒置時間過長,它可能會重置。 因此,請繼續檢查進度並偶爾單擊選項卡。

colab executing

execution complete

STEP 8:將 AI 模型轉換為 ckpt 格式

訓練完成後,您可以選擇將訓練好的模型轉換為直接兼容 Stable Diffusion 的 ckpt 格式的文件。

可以在兩個運行時階段執行轉換。 第一個是“下載腳本”,第二個是“運行轉換”,您可以選擇減少訓練模型的下載大小。 但是,這樣做會顯著降低生成的圖像質量。

因此,要保持原始大小,必須保持未選中“ fp16 ”選項。

run conversion

在此特定運行時結束時,名為“ model.ckpt ”的文件將保存到您連接的 Google Drive。

model ckpt

我們可以保存此文件以供將來使用,因為您的運行時會在您關閉 DreamBooth Colab 瀏覽器選項卡時立即刪除。 當您稍後重新打開 DreamBooth 的 Colab 版本時,您將不得不從頭開始。

假設您將經過訓練的模型文件保存到您的 Google Drive。 在這種情況下,您可以稍後檢索它以與本地安裝的 Stable Diffusion GUI、DreamBooth 或任何需要加載“model.ckpt”文件以使運行時有效運行的 Stable Diffusion Colab 筆記本一起使用。 您也可以將其保存到本地硬盤以供以後使用。

第 9 步:準備文本提示

“推理”類別下的接下來的兩個運行時進程為用於圖像生成的文本提示準備新訓練的模型。 只需按下每個運行時的播放按鈕,它就會在幾分鐘內完成。

inference

第 10 步:生成 AI 圖像

這是最後一步,您可以在其中鍵入文本提示,然後生成 AI 圖像。

您必須在文本提示的開頭使用 STEP 6 中的“instance_prompt”和“–class_prompt”的確切名稱。 例如,在我的案例中,我使用“tarunabhtd 人的肖像,數字繪畫”來生成類似於我自己的新 AI 圖像。

image prompt

image generation

下面您可以看到使用 DreamBooth 的訓練模型生成的一些圖像結果。

sample generated images

玩轉提示以獲得最佳輸出

如果您仔細按照上述步驟操作,您將能夠生成與參考圖像中的面部特徵非常相似的 AI 圖像。 該方法只需要在線 Google Colab 平台執行升級版的 AI 技術進行文本反轉。

有關文本提示的更好想法,您可以查看以下網站:

  • 開放藝術人工智能
  • 韓國人工智能
  • 詞彙藝術

您還需要學習使用各種藝術風格和各種組合製作更好、更有效的文本提示的藝術。 Stable Diffusion SubReddit 是一個很好的起點。

Reddit 擁有一個致力於穩定擴散的龐大社區。 還有一些 Facebook 群組和 Discord 社區在積極討論、分享和探索穩定擴散的新途徑。

下面我還分享了一些 DreamBooth 教程視頻的鏈接,您可以在 Youtube 上觀看 -

我希望您覺得本指南有用。 如果您有任何問題,請隨時在下方發表評論,我們將盡力為您提供幫助。

作者:
Tarunabh Dutta 是一位屢獲殊榮的電影製作人,在過去 16 年中,他以獨立的旗幟“TD Film Studio”完成了超過 45 個項目,包括故事片、短片、音樂視頻、紀錄片和商業廣告。