AI 人物一致性:為什麼同一個角色第三個鏡頭就變臉

發表時間:2026 年 11 月 01 日 | 更新日期:2026 年 11 月 01 日 | 編輯:雅寶社區編輯團隊
AI 人物一致性:為什麼同一個角色第三個鏡頭就變臉 - 雅寶社區 · 頂客論壇

2. 參考圖的「語意理解」不等於「身分鎖定」

目前多數工具的參考圖機制,底層用的是 CLIP 之類的視覺編碼器。CLIP 很擅長回答「這張圖裡有什麼」,例如「一位短髮、穿白襯衫的亞洲女性,在咖啡廳裡」。但它不擅長回答「這個人是誰」。它抓的是語意標籤,不是生物特徵。

這就是為什麼你放了一張參考圖,模型卻只學到「短髮、白襯衫、咖啡廳」這些標籤,然後在第三個鏡頭裡給你一個「風格很像但長得不一樣」的人。比較好的機制是基於人臉辨識模型的特徵注入,例如 IP-Adapter FaceID、InstantID、PuLID 這類方案,它們會抽取臉部 embedding,再投影回生成過程,對身份的保留能力明顯優於純 CLIP 參考。但即使是這類方案,遇到大側臉、遮擋、誇張表情、低光源時,仍然會失效——因為人臉辨識模型本身在這些條件下也不穩定。

3. 臉部像素佔比與解析度陷阱

這是實務上最容易被低估的因素。假設你輸出一張 1920×1080 的寬畫幅,人物站在畫面中央,全身入鏡,那張臉在畫面裡可能只有 80×100 像素。在這種情況下,模型根本沒有足夠的像素去描述眼型、鼻翼、唇形。等到第三個鏡頭切特寫,臉突然變成 600×600 像素,模型就必須「無中生有」補上大量細節,補出來的結果自然不會跟前面一致。

我的經驗值是:想讓臉部特徵穩定,臉在生成解析度裡至少要占 256×256 像素,理想是 512×512 以上。低於這個門檻,你就是在賭運氣。這也解釋了為什麼很多人在寬畫幅影片裡角色特別容易崩——不是模型笨,是臉太小了,資訊不夠。解法不是把整張圖拉到 4K(那只會讓模型在更大的畫布上繼續猜),而是改變生成策略:先在高解析度下生成臉部特寫,再透過裁切、合成或分層生成的方式組回鏡頭。

4. 提示詞漂移與語意稀釋

另一個常見的隱形殺手是提示詞漂移。第一個鏡頭你寫了「小美,25 歲,短髮,單眼皮,鼻樑上有小痣,穿米色針織衫」,第二個鏡頭你加了「在雨中奔跑」,第三個鏡頭你加了「回頭、特寫、電影感光線」。看起來很合理,但對模型來說,角色描述的權重被大量場景詞、風格詞稀释了。

尤其在某些模型中,提示詞的 token 預算有限,後面的詞會擠壓前面的詞。當你寫了二十個描述場景與鏡頭的詞,角色特徵可能只分到很少的注意力。更糟的是,如果你每個鏡頭都重新改寫角色描述,用詞稍微不同(「短髮」變成「鮑伯頭」,「小痣」漏寫),模型就會理解成不同的人。解法是把角色描述固定成一個「角色區塊」,每次原封不動貼上,場景與鏡頭描述另外放在後面,並且盡量使用一致的詞彙。

5. 鏡頭切換處的時間一致性斷層

如果你做的是 AI 影片,問題又多了一層。多數影片生成模型的時間注意力(temporal attention)只在一個短窗口內運作,它能在幾秒內維持臉部穩定,但一旦你剪接、換鏡頭、或分段生成再拼接,模型就沒有跨鏡頭的記憶。它不知道上一個鏡頭的人是誰,只知道這個鏡頭的首幀長什麼樣。

而且分段生成還有一個問題:不同片段的曝光、白平衡、鏡頭畸變、顆粒感可能不一致。觀眾的眼睛對臉部變化極度敏感,當膚色從暖調變成冷調、當鏡頭從 35mm 變成 85mm 的壓縮感,大腦就會判定「這個人換了」。很多時候不是五官真的變了,而是光影與鏡頭語言改變了,讓你覺得變臉。這也是為什麼統一調色與鏡頭參數,對角色一致性這麼重要。

三、工具層面的差異:誰比較會「認臉」

不同工具的底層邏輯不同,對角色一致性的支援程度也差很多。與其盲目追逐最新模型,不如先搞清楚你手上的工具到底在做什麼。

1. 文生圖、圖生圖、圖生影片的三種邏輯

純文生圖(text-to-image)是角色一致性最難的場景,因為每一張圖都是從噪聲獨立生成,沒有先驗身份。你只能靠提示詞、seed、參考圖去「引導」,但沒有真正的鎖定機制。

圖生圖(image-to-image)與重繪(inpainting)比較好一點,因為它有既有的像素作為條件。但這裡有個關鍵參數:去噪強度(denoising strength)。太低,畫面僵化、動作無法改變;太高,臉就被重新發明了。一般來說,角色臉部的重繪強度建議控制在 0.25 到 0.4 之間,並且搭配臉部遮罩,只重繪需要修改的區域。

圖生影片(image-to-video)則是以首幀作為強條件,開頭幾秒通常很穩,但隨著時間推移,模型對首幀的記憶會衰減,臉部開始漂移。所以拍 AI 影片時,鏡頭長度最好控制在三到五秒,並且在切鏡時使用相同角度或相近構圖,減少觀眾感知到的斷裂。

2. LoRA、IP-Adapter、FaceID、Reference 的極限

目前主流的角色一致性方案,大致可以分成幾類。第一類是訓練專屬的 LoRA 或 embedding,用十幾到三十張同一個角色的多角度圖片進行微調。這是最穩的方式,因為它直接把角色特徵寫進模型權重裡。但缺點是成本高、需要多樣化的素材,而且訓練過度會導致角色只能擺特定姿勢、特定表情,失去靈活性。

第二類是參考圖注入,例如 IP-Adapter、InstantID、PuLID,或是 Midjourney 的 character reference。這類方案不用訓練,機動性高,適合快速測試。但它們對參考圖的品質極度敏感:一張正面、均勻光、中性表情的圖,效果會遠好於一張大側臉、有遮擋、戲劇光線的圖。而且多張參考圖不一定更好,若角度或光線衝突,模型反而會無所適從。

第三類是影片模型內建的多圖參考或角色元素功能。部分平台已經支援上傳多張角色圖,讓模型在生成每個鏡頭時都參考同一組特徵。這類功能通常對「風格一致」很有效,但對「精細五官一致」仍有極限,尤其是在大動作或快速運鏡時。理解這些極限,才不會把工具當成魔法,也才知道什麼時候該改用人工修補。

四、實戰工作流:讓第三個鏡頭還是同一張臉

講完原理,接下來談做法。以下流程是我自己在影音創作專案裡常用的,分成前期、中期、後期三個階段。你可以依照手上的工具調整,但核心邏輯是通用的:先定義身份,再控制條件,最後驗收修補。

1. 前期:建立角色聖經與基準圖

第一步不是打開生成工具,而是坐下來寫一份「角色聖經」。內容包括:年齡、臉型、眼型、眼距、鼻型、唇型、眉型、髮際線、髮色、膚色、身高、體型、慣用表情、服裝色票、材質、配件、以及任何識別特徵(痣、疤、耳洞、項鍊)。越具體越好,因為這份文件會成為你每次寫提示詞、挑參考圖、驗收成果的依據。

接著製作「基準圖」。理想上要有正面、側面 45 度、側面 90 度、以及一張中性表情的特寫,背景乾淨、光線均勻、沒有強烈風格濾鏡。這張圖不是用來當藝術作品,而是用來當身份錨點。如果你打算訓練 LoRA,這些圖就是訓練素材的核心;如果你只用參考圖注入,這些圖就是每次生成都要附上的條件。

若角色會長期使用,強烈建議訓練一個專屬 LoRA。素材準備十五到三十張,涵蓋不同角度、表情、光線,但避免太多極端角度或遮擋。訓練時使用一個獨特的觸發詞,測試不同權重(例如 0.6 到 0.8),找到「像本人」與「可塑性」之間的平衡點。權重太高會過擬合,角色變得僵硬;太低則失去鎖定效果。

2. 中期:分鏡、條件控制與參數紀律

進入生成階段,最重要的不是模型多強,而是紀律。首先,在分鏡表上標註每個鏡頭的「臉部佔比」與「角度」。如果連續三個鏡頭都是大特寫,變臉風險自然高;適度穿插中景、遠景、過肩鏡頭,可以讓觀眾的眼睛有喘息空間,也讓模型有更多容錯空間。

其次,固定一組「生成參數」。包括模型版本、採樣器、CFG、步數、解析度、以及一組可重複使用的 seed 池。這不是為了讓每張圖一樣,而是為了在需要比對時,可以把變因降到最低。當某個鏡頭失敗時,你才能判斷是提示詞的問題、參考圖的問題,還是單純隨機性。

第三,把提示詞結構化。我通常會這樣排:角色區塊(固定不變)→ 服裝與配件(固定不變)→ 場景與動作(每個鏡頭不同)→ 鏡頭語言(每個鏡頭不同)→ 風格與畫質(固定不變)。角色區塊每次原封不動貼上,不要即興改寫。如果你使用 negative prompt,也把「不要出現的特徵」固定下來,例如「不要雙眼皮、不要圓臉、不要金色頭髮」,這能有效減少特徵漂移。

第四,善用姿勢與構圖控制。與其讓模型自由發揮,不如用 OpenPose、Depth、Canny 之類的控制圖,把姿勢與構圖固定住,讓模型專心處理臉部與材質。這樣做還有一個好處:當你需要重繪臉部時,身體與背景不會跟著變,減少後期合成的麻煩。

最後,如果你做的是影片,盡量採用「短鏡頭 + 首尾幀控制」的策略。每個鏡頭三到五秒,在切鏡處使用相同角度或相近構圖,並且在後期統一調色。與其追求一個十秒不切換的長鏡頭,不如用多個短鏡頭組成節奏,既能降低變臉風險,也更有電影感。

3. 後期:修臉、挑片與一致性驗收

生成完畢後,不要急著剪接。先做一輪「一致性驗收」,把每個鏡頭的角色臉部放大,逐一檢查:臉型是否一致、眼距是否一致、鼻樑高度是否一致、髮際線形狀是否一致、膚色與痣的位置是否一致。只要有一項明顯不同,就標記為待修。這份檢查表聽起來很笨,但它能幫你抓出大腦自動忽略的細微漂移。

修臉的工具很多,例如 ADetailer、FaceDetailer、CodeFormer、GFPGAN 等。使用時要注意兩件事:第一,修臉模型會把臉「美化」,過度使用會讓角色變成塑膠娃娃,失去原本的特徵;第二,修臉只能修復單張圖,不能保證跨鏡頭一致。所以修臉之前,最好先確定哪一張是「身份基準」,其他鏡頭都以它為目標修正,而不是每張各自修到好看為止。

最後是統一調色與質感。把每個鏡頭的曝光、白平衡、對比、顆粒、鏡頭畸變調到一致,必要時加上相同的色彩查找表(LUT)。這一步看似與臉無關,卻能大幅降低「換人感」。觀眾感知角色一致性,很多時候靠的是整體氛圍的連續性,而不是單一眼部特徵。

五、常見迷思與進階技巧

在論壇上關於角色一致性的討論,經常出現一些似是而非的說法。以下整理幾個最常見的迷思,以及幾個真的有用的進階技巧。

1. 五個常見迷思

迷思一:固定 seed 就能固定角色。如前面所說,seed 只在所有條件相同時有效。鏡頭一換,條件就變了,seed 的保護力非常有限。

迷思二:參考圖越多越好。不一定。多張參考圖若角度、光線、風格衝突,模型會學到混亂的特徵。與其放十張差不多的圖,不如放三張高品質、角度互補、光線一致的圖。

迷思三:提高重繪強度就能救回臉。重繪強度太高,臉會被重新發明;太低,則無法修正。真正該做的是用遮罩限定範圍,只重繪臉部,並且把強度控制在中等區間。

迷思四:輸出 4K 就不會崩。解析度高不等於臉部資訊足夠。如果人物在畫面裡很小,4K 也只是把一張模糊的小臉放大,模型仍然沒有足夠資訊。

迷思五:用同一個模型就一定會一致。模型版本更新、取樣器更換、甚至平台後端調整,都可能改變輸出。 consistency 是整條管線的紀律,不是單一模型的功勞。

2. 進階技巧:從「像」到「是」

第一個進階技巧是「分層生成」。不要試圖用一個提示詞同時搞定臉、身體、場景。先在高解析度下生成臉部特寫,確認身份,再用這張臉作為條件,生成半身或全身,最後合成到場景裡。這樣做雖然麻煩,但對特寫鏡頭特別有效。

第二個技巧是「3D 輔助」。如果你會用 Blender 或 Unreal Engine,可以先擺一個粗略的 3D 人偶,設定好姿勢、鏡頭、燈光,再匯出深度圖或線稿,作為 ControlNet 的條件。這能大幅降低構圖的隨機性,讓模型把注意力集中在材質與臉部。

第三個技巧是「負向角色提示」。除了描述角色是什麼,也描述角色不是什麼。例如「不要圓臉、不要雙眼皮、不要短下巴、不要濃妝」。這能壓制模型往錯誤方向漂移的傾向,尤其在使用參考圖時特別有用。

第四個技巧是「建立鏡頭銜接素材庫」。把每個角色的正面、側面、背影、手部、常用表情分別存成獨立的參考圖,剪接時若發現某個鏡頭臉怪怪的,可以快速用最接近的參考圖重生成,而不是從頭再來。這聽起來像土法煉鋼,但對長期專案來說,這是最省時間的做法。

六、結語:一致性不是魔法,是工程

回到最初的問題:為什麼同一個角色第三個鏡頭就變臉?答案是,AI 從來沒有「同一個角色」的概念,它只有「這一幀的條件」與「這一次的抽樣」。當條件不夠強、資訊不夠多、誤差開始累積,第三個鏡頭自然會崩。與其期待某個模型突然開竅,不如把角色一致性當成一項工程問題來處理:定義身份、控制條件、累積素材、驗收修補。

當然,這條路並不輕鬆。你需要寫角色聖經、準備基準圖、固定參數、逐鏡驗收,有時候還得手動修臉。但這些看似繁瑣的步驟,正是讓觀眾相信「這是同一個人」的關鍵。當第三個鏡頭切下去,觀眾看到的是同一個角色在同一個故事裡呼吸,而不是一個突然被換掉的演員,那一刻,所有的紀律都值得了。

如果你也在雅寶社區 · 頂客論壇的影音創作版摸索 AI 角色一致性,歡迎把你的工作流、踩過的坑、或是某個特別有效的參數組合分享出來。這個領域變化很快,但有些底層邏輯不會變:理解工具的限制,比追逐工具的功能更重要。

🏠 返回首頁