深度圖到底在控制什麼

ControlNet Depth 拿到的那張灰階圖,記錄的不是明暗,而是每個像素距離鏡頭有多遠。近處亮、遠處暗,人物輪廓與身體各部位的縱深關係被壓成一張模型讀得懂的「距離地圖」。

這帶來兩個直接好處:模型不會被原圖的材質、顏色、光影帶偏,卻又能精確取得身體朝向、四肢位置與前後遮擋關係。給它一張站姿深度圖,它不會把衣服紋理抄進去,但會把胯部側頂的角度、手臂的抬升幅度、雙腳的落點照搬下來。

線稿走的是另一條路:它描述的是輪廓與結構線,適合需要保留畫面骨架、又不想被灰階限制膚色的場景。所以真正高效的用法不是二選一,而是同一姿勢準備兩套圖,依階段取用——構圖階段用深度圖定骨架,上色階段用線稿定輪廓。

第一步:先在圖庫裡把姿勢篩到只剩三到五個

多數人卡住的地方不是參數,而是「找不到那個對的姿勢」。正確順序是先收斂,再生成。

  • 先在姿勢庫依體系把範圍縮小:全身單人、上半身單人、雙人三類先選一類。
  • 再用分類二次過濾,例如站姿、坐姿、跪姿、倚靠。分類與體系是兩層結構,兩者交叉通常只剩幾十張。
  • 最後用視角鎖定機位。每個姿勢有五個視角——正面、俯視、仰視、側面、斜側——俯視與仰視出來的透視完全不同,這裡選錯,後面全白費。

篩到 3 到 5 張就夠了。真正出圖時你會發現,能用的姿勢遠比想像中少——問題往往不在數量,而在是否選對了視角。

第二步:切換圖源做一次對照確認

姿勢庫的篩選列有一個「圖源」選項:深度圖、線稿、對比。切到對比後,滑鼠移到卡片上會即時換成線稿,進入大圖後則是左右並排。

這一步要做的事很單純——確認這個姿勢在兩種表現下都成立。有些姿勢在深度圖裡輪廓清楚,換成線稿後手臂與軀幹的重疊會糊成一片;反過來也有線稿俐落、深度圖層次不清的情況。提前發現,比生成五張廢圖再回頭省事得多。

第三步:放進 ControlNet 的參數怎麼給

以 Stable Diffusion WebUI 為例,常用組合如下:

  • 預處理器:若直接使用圖庫內的深度圖,選 none。圖庫的圖已經正規化過,再跑一次 Depth 預處理器反而會損失層次。
  • 模型:control_v11f1p_sd15_depth(SD1.5)或對應的 SDXL depth 模型,版本要與主模型對齊。
  • 權重:從 0.65 起。低於 0.5 姿勢容易跑偏,高於 0.9 畫面會變得僵硬、像貼圖。
  • 引導結束時機:0 到 0.75。讓前四分之三的採樣步數受控制,最後留給模型自己收細節。
  • 解析度:控制圖與生成圖的比例必須一致。圖庫原圖是 900×1200(3:4),生成時也按 3:4 出,否則人物會被拉長。

三個最常見的問題

1. 出來的人變成了「木頭人」

權重過高,或引導結束時機延伸到了最後幾步。先把權重降到 0.7 左右,把結束時機設在 0.7 到 0.8,讓模型在後半段自由處理衣褶與表情。

2. 手跟腳崩了

深度圖對手指的約束本來就弱,五根手指在深度上幾乎是同一層。解法是把畫幅收窄到上半身,或生成後用局部重繪補手。圖庫裡的「上半身單人」體系就是為這類鏡頭準備的。

3. 雙人場景總有一個人的姿勢不見

兩個人的深度值互相遮擋時,模型分不出誰在前。這種情況優先改用線稿,或把雙人深度圖整體調亮一階,拉開前後層次。

把流程固定下來

實際專案裡,我建議固定成這個順序:篩視角 → 對照圖源 → 定權重 → 單張試跑 → 批次出圖。前兩步在圖庫裡兩分鐘能做完,後面三步才是真正耗時的部分。把成本低的動作放在前面,是整個流程最省錢的地方。

圖庫裡 288 組姿勢、2880 張圖都能直接下載,依體系還能整包取得。下一篇講提示詞怎麼寫,可以直接接著看。