1. ComfyUI 的安裝與基本設定 [0]

本節介紹如何安裝 ComfyUI,設定模型路徑,並執行首次圖像生成。

1.1. 安裝 ComfyUI 並設定模型路徑 [0]

  1. 下載與解壓縮 [0]
    1. 從 GitHub 頁面下載 ComfyUI 的 zip 檔案,並將其解壓縮到 C 槽等位置 [3]。
  2. 設定模型路徑 [10]
    1. 進入 ComfyUI 目錄,找到 extra_model_paths.yaml.example 檔案,並將其副檔名 .example 刪除 [12]。
    2. 在該檔案中輸入 Stable Diffusion 模型所在的基礎路徑,例如 sd5,以便 ComfyUI 能找到現有的檢查點模型 [15]。
    3. ControlNet 模型需要手動放置,因為它們通常儲存在 Automatic1111 的 SLSControlNet 或 SLMModels 目錄中 [17]。
    4. 儲存檔案後,透過 GPU 批次檔首次載入 ComfyUI [18]。

1.2. 首次載入 ComfyUI 與圖像生成 [19]

  1. ComfyUI 介面與檢查點載入 [19]
    1. 首次載入 ComfyUI 時,會顯示預設佈局,使用者應檢查檢查點是否已從自訂目錄正確載入 [19]。
    2. 影片中使用的 Stable Diffusion 1.5 檢查點包括「Epic Photogasm」和「Natural Sin」 [23]。
  2. 設定提示詞與採樣器 [25]
    1. 正面提示詞:輸入「modern house in a foggy setting, (fog), photo detail, realism」以生成帶有霧氣的現代房屋 [25]。
    2. 負面提示詞:輸入「Cartoon, fake rendering, 3D painting」以避免卡通或虛假渲染的圖像 [27]。
    3. 採樣設定:
      1. 潛在圖像 (Latent Image):預設為 1024x768 像素的空白圖像 [32]。
      2. 種子碼 (Seed):設定為每次生成時隨機化 [33]。
      3. 步數 (Steps):通常設定為 30 到 40 步 [34]。
      4. 採樣器名稱 (Sampler Name):選擇「DPM Plus+」以獲得照片級真實感 [35]。
      5. 排程器 (Scheduler):使用 DPM 時,排程器有「Caris」和「exponential」兩種,其中「exponential」適用於平滑表面 [38]。
      6. 去噪強度 (Denoising):由於是從空白圖像生成,去噪強度在此階段不重要 [40]。
  3. CLIP 與 VAE 的作用 [41]
    1. CLIP:作為視覺編碼器,用於識別提示詞中的物件 [43]。
    2. VAE:將像素點陣圖圖像轉換為潛在圖像,以便進行去噪處理;去噪後的潛在圖像再由 VAE 解碼回圖像 [43]。
    3. 按下 Ctrl + Enter 即可生成第一張圖像,圖像會儲存在 ComfyUI 的輸出目錄中 [45]。

2. 從圖像生成圖像與去噪強度控制 [46]

本節說明如何在 ComfyUI 中載入現有圖像,並透過調整去噪強度來控制生成結果。

2.1. 載入圖像並進行圖像到圖像的生成 [46]

  1. 載入圖像節點 [46]
    1. 若要從圖像生成圖像,需刪除預設的潛在圖像節點,並替換為「Image Load」節點 [49]。
    2. 載入新節點有三種方式:右鍵點擊選擇「Add Node」、雙擊介面搜尋、或從現有節點拖曳出連接線 [50]。
  2. VAE 編碼圖像 [56]
    1. 載入的點陣圖圖像必須先透過 VAE 編碼器 (VAE Encode) 轉換為潛在圖像,這與 VAE 解碼器功能相反 [56]。
    2. VAE 編碼器需要連接檢查點的 VAE 輸出 [59]。
    3. 影片中載入了一張 3ds Max 和 FStorm 渲染的 3K 圖像,並將其縮小到 768 像素以加快測試速度 [61]。

2.2. 去噪強度對圖像生成的影響 [64]

  1. 去噪強度與圖像相似度 [64]
    1. 首次從圖像生成時,結果可能與原始圖像完全不同,這是因為預設的去噪強度接近 100% [64]。
    2. 當去噪強度為 100% 時,生成的圖像完全依賴於正面和負面提示詞 [66]。
  2. 調整去噪強度以混合圖像與提示詞 [67]
    1. 若要結合原始圖像和提示詞的影響,需要降低去噪強度,例如設定為 50% [67]。
    2. 降低去噪強度後,生成的圖像會保留原始圖像的結構,同時融入提示詞的風格,例如在建築圖像中加入霧氣效果 [69]。

3. 安裝與使用 ControlNet [72]

本節詳細說明如何在 ComfyUI 中安裝 ComfyUI Manager,並利用它來安裝 ControlNet 及其相關模型,最後展示 ControlNet 的實際應用。

3.1. 安裝 ComfyUI Manager [72]

  1. 安裝 Git for Windows [74]
    1. ComfyUI Manager 需要安裝 Git for Windows,這是一個允許使用命令提示字元直接下載和設定軟體的工具 [74]。
  2. 複製 ComfyUI Manager 儲存庫 [78]
    1. 進入 ComfyUI 的 custom_nodes 目錄 [78]。
    2. 在路徑列輸入 CMD 即可快速開啟該目錄的命令提示字元 [80]。
    3. 使用 git clone 指令複製 ComfyUI Manager 的 GitHub 儲存庫 [81]。
  3. 重啟 ComfyUI 後端 [83]
    1. 安裝完成後,需要關閉並重新啟動 ComfyUI 的後端程式,以載入新安裝的 Manager [83]。
    2. ComfyUI 會自動儲存所有步驟,因此重啟後不會遺失任何進度 [85]。

3.2. 安裝 ControlNet 相關節點與模型 [88]

  1. 使用 ComfyUI Manager 安裝自訂節點 [88]
    1. 點擊 ComfyUI 介面下方的「Manager」按鈕,可以安裝額外的模型和自訂節點,並檢查更新 [88]。
    2. 進入「Install Custom Nodes」,找到並安裝 ControlNet 相關節點,包括「ControlNet features」、「ComfyUI World custom nodes」和「Advanced」 [90]。
    3. 安裝後需再次重啟 ComfyUI 後端 [93]。
  2. 載入 ControlNet 節點 [95]
    1. 重啟後,ControlNet 相關節點會出現在「ControlNet」選單下 [95]。
    2. 需要載入「ControlNet loader」、「ControlNet apply」、「Advanced」和「Li's pre-processor」等節點 [99]。
    3. 將 CLIP 和提示詞重新導向 ControlNet 節點,並連接到正向和負向提示詞輸入 [104]。
  3. 自動下載 ControlNet 模型 [108]
    1. 選擇要使用的 ControlNet 模型,例如「depth」模型 [107]。
    2. 如果模型缺失,可以進入「Install Models」資料夾,搜尋並自動下載所需的 ControlNet 模型 [109]。
    3. 確保下載的 ControlNet 模型版本(例如 1.1)與 Stable Diffusion 檢查點版本(例如 1.5)相符 [111]。
    4. 點擊「refresh」後,模型會自動下載到正確的目錄 [113]。

3.3. ControlNet 的連接與效果驗證 [115]

  1. 連接 ControlNet 節點 [115]
    1. 將載入的 ControlNet 模型連接到 ControlNet 節點 [115]。
    2. 圖像不能直接連接到 ControlNet,必須先透過預處理器 (pre-processor) 處理 [116]。
    3. 將圖像連接到預處理器,預處理器再連接到 ControlNet 節點 [118]。
    4. 可以拖曳出預處理器節點,並點擊「preview image」來預覽處理後的圖像,以確保其正常運作 [120]。
  2. ControlNet 的效果驗證 [123]
    1. 若要明顯看到 ControlNet 的效果,需要增加去噪強度,通常高於 65% 或接近 100% 的值會使圖像更依賴提示詞 [123]。
    2. 首次使用新節點生成圖像時,處理時間可能會較長,之後會加快 [125]。
    3. ControlNet 能夠在生成圖像時保持原始圖像的構圖,即使在較高的去噪強度下也能維持結構 [127]。
    4. 透過繞過 ControlNet 節點,可以觀察到生成的圖像會完全不同且隨機,這證明 ControlNet 正在發揮作用 [129]。

4. 多個 ControlNet 的使用與其他功能 [133]

本節介紹如何在 ComfyUI 中使用多個 ControlNet,以及其他實用功能和資源。

4.1. 使用多個 ControlNet [133]

  1. ControlNet Stack 節點 [133]
    1. 若要使用多個 ControlNet,需要使用「ControlNet stack」節點 [133]。
    2. 即使使用 ControlNet stack,仍然需要使用預處理器來處理圖像 [134]。
  2. 設定多個 ControlNet [135]
    1. 在 ControlNet stack 節點中,可以選擇已下載的所有 ControlNet 模型,並開啟或關閉它們,以及調整其強度值 [135]。
    2. 將每個 ControlNet 模型與其對應的預處理器連接 [137]。
    3. ControlNet stack 的輸出連接到一個控制器 (controller) 節點 [138]。
    4. 提示詞會輸入到控制器,然後控制器再將其傳遞給正向和負向提示詞輸入 [139]。

4.2. 其他實用功能與資源 [140]

  1. 載入處理過的圖像 [140]
    1. ComfyUI 允許載入已處理過的圖像,並自動還原所有相關節點,方便使用者查看和修改工作流程 [140]。
  2. ComfyUI 的優勢 [142]
    1. ComfyUI 是一個強大且快速的工具,是 Automatic1111 的良好替代方案 [144]。
  3. 額外資源 [151]
    1. 影片作者提供更多關於將 AI 整合到建築工作流程的教學內容,可在其網站上找到 [151]。