cv.cm

AI · AI 圖片

怎麼讓 AI 生成的角色在不同圖片中保持一致?

閱讀約 7 分鐘

簡答

先寫一段固定的角色描述,每次逐字重複使用;再設計一張清楚的角色設定圖(正面、側面、背面、表情),並把它當作參考圖餵給每一次新的生成。種子只在同一套設定內有用。長期專案則用一組經過核可、內容多樣的圖片訓練小型 LoRA。每張新圖使用前,都先對照連貫性檢查表。

為什麼角色會跑掉

圖片模型在兩次執行之間沒有記憶。每次生成都從新的隨機雜訊出發,從頭讀取你的提示詞。像 a young woman with short black hair 這樣的描述,涵蓋了數百萬張可能的臉,模型每次挑的都不一樣。用字、姿勢或鏡頭角度稍有變動,結果就會偏得更遠。

所以一致性不是來自模型的記憶,而是來自你每次都給模型相同的資訊,而且是工具接受的所有形式:相同的文字、相同的參考圖,大型專案則再加上一個學會該角色的小型訓練模組。下面的方法從成本最低到工程最大依序排列,多數專案會組合其中兩三種。

第 1 步:寫一段固定的角色描述

把描述只寫一次,存在文字檔裡,每個提示詞都原封不動貼上。細節依可見度由高到低排列,且只寫觀眾看得到的東西。

MEI (character block, paste unchanged)
adult woman in her late 20s, East Asian, oval face, straight black hair
in a chin-length bob with blunt bangs, dark brown eyes, small mole under
the left eye, slim build, wearing a mustard-yellow raincoat over a white
T-shirt, dark blue jeans, white sneakers, round silver earrings

之後每個提示詞都由角色描述加上場景組成,只有場景會變:

[MEI block], standing at a bus stop in the rain, holding a clear umbrella,
night, neon reflections on the wet road, medium shot, 35mm photo
  • 選有辨識度的特徵:一個不尋常的顏色、一件配飾、一個臉上的記號。Mustard raincoat 和 mole under the left eye 比 pretty 更容易檢查和重現。
  • 避免每次執行含義都會變的詞,例如 stylish outfit 或 cute。
  • 風格用語放在描述區塊之外,這樣想把場景從照片換成插畫時,不必修改角色。
  • 你可以在筆記中替角色取名,但提示詞不要依賴這個名字;除非你訓練過模型,否則自編的名字對它毫無意義。

第 2 步:製作角色設定圖

角色設定圖是一張(或一小組)圖片,在素色背景上從多個角度清楚呈現角色。它會成為之後每個鏡頭都要回頭參照的依據。

  1. 用角色描述在素淨的淺灰背景、中性光線下,生成許多全身候選圖。
  2. 選出你最喜歡的一張臉。這就是標準臉,不要再繼續探索。
  3. 製作該角色的轉面圖:正面、四分之三側面、側面和背面。以選定的圖片作為參考,或對每個角度使用姿勢控制。
  4. 加上一排表情(無表情、微笑、驚訝、生氣),以及臉部和配飾的特寫。
  5. 用局部重繪修正錯誤,然後以完整解析度儲存設定圖,並在旁邊寫上角色描述。
character turnaround sheet of [MEI block], front view, three-quarter view,
side view and back view, full body, standing in a neutral pose,
plain light gray background, even soft studio light, clean illustration

設定圖要保持乾淨。參考圖上若有雜亂的背景或戲劇性的光線,會連同臉一起被複製到之後的圖片裡。

第 3 步:每次生成都帶上參考圖

多數現行工具至少接受一張圖片作為參考。託管工具稱之為角色參考(character reference)、主體參考(subject reference)或單純的上傳圖片;開源工作流程則使用 IP-Adapter 之類的轉接器,把參考圖轉成特徵,與文字一起引導模型。請給模型設定圖中的臉部特寫和一張全身圖,再用文字描述新場景。

  • 使用符合鏡頭的裁切:特寫用臉部參考,遠景用全身參考。
  • 如果每張圖都複製了參考圖的姿勢和背景,就調低參考權重;如果臉在漂移,就調高。
  • 不要用上一張生成的圖片接力當參考。誤差會累積。一律回到已核可的設定圖。
  • 姿勢必須完全一致時,再加上姿勢控制圖。請見圖生圖指南。

種子:有用,但有限

種子固定的是隨機起始雜訊。在相同的模型、設定和提示詞下,相同的種子會產生幾乎一樣的圖片,所以種子很適合為同一個鏡頭做小變化:換表情或光線,其餘都不動。

種子並不能讓角色跨越不同場景。改變姿勢、背景或構圖,同一個種子就會產生不同的版面,臉往往也跟著變。換模型、工具版本、硬體或取樣器時,它也會失效。請把種子視為重現一張圖的方式,而不是角色的身分。

長期專案的第 4 步:LoRA 與微調

對於漫畫、系列作品,或出現在數百張圖片中的品牌吉祥物,最強的選擇是直接教會模型這個角色。開源工具中常見三種方法:

方法訓練什麼需要什麼備註
文字反轉(textual inversion)只訓練一個新的詞嵌入;模型保持凍結幾張圖,通常三到五張檔案小,身分辨識較弱;適合風格或物件
DreamBooth訓練模型本身,並連結到一個罕見的識別詞少量該主體的圖片身分辨識強;檔案大;可能過擬合並忘掉其他東西
LoRA小型低秩附加矩陣;基礎模型保持凍結通常 15 到 30 張多樣的圖片檔案小,容易調高或調低強度;最受歡迎的選擇

訓練資料比設定更重要。請使用設定圖和已核可鏡頭中同一角色的圖片,角度、表情、光線和背景都要多樣,並為每張圖寫上說明。如果每張訓練圖都是同樣的背景或姿勢,LoRA 連那些也會學進去。提供自訂角色的託管服務,背後做的也是類似的事。

連貫性檢查表

新圖放進專案之前,把它與角色設定圖並排比對。有任何一項不合格,就修正或重新生成。

檢查項目比對什麼常見失誤
臉型下顎、眼形與眼距、鼻子臉變得更圓或更大眾臉
頭髮長度、瀏海、顏色、分線瀏海不見了;長度改變
記號痣、疤痕、雀斑、刺青及其所在的一側記號跑到另一側或消失
眼睛顏色與形狀彩色光線下眼睛顏色改變
服裝每一件衣物、顏色、標誌、層次雨衣變成外套;顏色互換
配飾耳環、眼鏡、包包、手錶配飾不見,或戴到錯的手上
比例與其他人物、道具相比的身高角色在鏡頭之間變大或變小
手手指數量,以及每隻手拿著什麼道具在鏡頭之間換了手
風格媒材、線條粗細、調色插畫系列裡混入了照片鏡頭

為每個鏡頭保留簡單的紀錄:提示詞、種子、使用的參考圖、模型,以及做過的修正。日後專案中角色開始跑掉時,紀錄能告訴你是哪一項改動造成的。影片也適用同樣的規則,逐鏡頭套用;多鏡頭影片指南會說明如何讓角色在動態中延續。

常見問題

只重複使用同一個種子,就能維持同一個角色嗎?

只限於非常相似的圖片。就算種子相同,新的姿勢、背景或構圖也會改變結果,所以請把固定描述與參考圖搭配使用。

訓練角色 LoRA 需要幾張圖?

許多創作者使用約 15 到 30 張優質且多樣的圖片。品質與多樣性比數量重要,而且每張圖都應呈現同一個已核可的設計。

為什麼我的角色服裝一直在變?

可能是服裝描述太籠統,或提示詞之間的描述不一致。請連同顏色一一寫出每件衣物,保持用字完全相同,並讓服裝出現在參考圖裡。

替真人製作一致的 AI 角色合法嗎?

取決於你所在的地方與使用方式。許多國家保護個人肖像並要求取得同意,許多平台也禁止這麼做。以上為一般資訊,並非法律意見。

角色參考圖在不同的 AI 工具之間通用嗎?

方法通用,但結果不同。每個工具讀取參考圖的方式各異,所以開始專案前,先在新工具中測試你的設定圖並調整參考權重。

全部 AI 教學