
新智元報道
新智元報道
編輯:LRST
【新智元導讀】「單提示單故事」(1Prompt1Story)是一種無訓練的文字到影像生成方法,透過整合多個提示為一個長句子,並結合奇異值重加權(SVR)和身份保持交叉注意力(IPCA)技術,解決了生成影像中身份不一致的問題,同時保持了文字描述的精準對齊。
現在的AI畫圖工具,比如文圖生成模型,已經能根據文字描述創作出高質量的影像了。
但是,當我們需要用模型來畫故事,並且希望故事中的人物在不同場景下都保持一致時,這些模型就有點犯難了。
目前,為了解決人物不一致的問題,通常需要用海量資料進行額外訓練,或者對模型本身進行比較複雜的修改。這讓這些方法在不同領域和各種 AI 模型上的應用都受到限制,不太方便。
其實語言模型本身就有一種內在的「上下文理解」能力,即使只給一個簡單的提示,語言模型也能根據上下文來理解人物的身份特徵。
受到這個發現的啟發,南開大學、中科院等機構的研究人員提出了一種全新的、而且無需任何額外訓練的方法,來實現人物形象一致的文圖生成,方法名叫「One-Prompt-One-Story」 (1Prompt1Story),也就是「一個提示講故事」。

文章連結:https://arxiv.org/abs/2501.13554
GitHub程式碼:https://github.com/byliutao/1Prompt1Story
專案主頁:https://byliutao.github.io/1Prompt1Story.github.io/
1Prompt1Story的核心做法是,把所有場景的文字描述合併成一個長長的輸入提示,直接給AI畫圖模型。
這樣,模型就能在最開始就記住人物的身份特徵,保證初步的一致性。接下來,他們還使用了兩項新技術來最佳化生成過程:「奇異值重加權」和「身份保持交叉注意力」。這兩項技術能夠確保生成的每一幀影像都更符合對應的文字描述,同時人物形象還不會跑偏。
在實驗部分,研究人員將他們的方法與現有的各種保持一致性的文圖生成方法進行了對比。結果表明,無論是從資料指標還是實際生成效果來看,他們的新方法都更有效。

1Prompt1Story生成人物一致的故事的示例圖
研究背景
目前,實現影像生成中人物身份一致性的方法,主要可以分為兩類:需要訓練的方法,比如 Texture-Inversion 和 IP-Adapter,以及無需訓練的方法,像 ConsiStory 和 StoryDiffusion。但現有的這些方法,多少都存在一些問題。
需要訓練的方法 (Training-based methods)
耗時耗力:通常需要在龐大的資料集上進行長時間的訓練,這需要大量的計算資源和時間成本。
容易引起語言漂移 (Language Drift):透過微調模型或學習新的對映編碼器來保持一致性,可能會導致模型對原始語言指令的理解發生偏差,產生意外或不理想的結果。
無需訓練的方法 (Training-free methods)
資源消耗或設計複雜:為了加強模型的一致性生成能力,這些方法通常需要大量的記憶體資源,或者需要設計複雜的模組結構,這增加了實現的難度和成本。
忽略了長提示的內在特性:現有的一些無需訓練的方法,雖然在生成一致性影像方面取得了一定的成果,但它們 沒有充分利用語言模型固有的上下文一致性。
也就是說,它們可能沒有意識到長文字提示本身已經蘊含了保持身份一致的資訊,從而導致方法可能變得更加複雜或資源密集,而沒有充分利用語言模型的自身能力。
更重要的是,就像下圖上半部分展示的,現有的方法普遍存在背景混淆的問題。
比如第一行和第二行生成的影像,背景就非常相似,但明明對應的文字描述場景是不一樣的。如果用基礎模型,像SDXL,就不會出現這種背景混淆,這說明現有的方法或多或少破壞了模型原本優秀的文字-影像對齊能力。
而該方法就很好地解決了這個問題,看下圖最後一行,該方法生成的影像,不同場景之間的背景區分就很清晰,完美地展現了各種文字描述的場景,背景不再「千篇一律」!

方法
總的來說,1Prompt1Story的核心思想可以概括為「一個提示,講一個故事」,主要透過以下幾個步驟來實現人物身份一致性的影像生成:
提示整合 (PCon):故事的「劇本」
把人物身份描述 (P0) 和多個場景描述 (P1, P2, … PN) 像寫劇本一樣串聯成一個超長提示 (CC)。
作用:將整個故事的文字資訊整合到一個提示中,方便模型統一理解。

奇異值重加權 (SVR): 突出重點,抑制干擾
解決長提示中場景描述互相干擾問題,讓模型「看清」當前要畫的場景。
SVR+ (增強當前幀): 像聚光燈一樣,放大當前場景描述 (Pj) 的語義資訊,讓模型更關注它。(簡化公式理解:放大重要特徵)
SVR- (抑制其他幀): 同時,弱化其他場景描述 (Pk, k≠j) 的語義資訊,減少干擾。(簡化公式理解:減弱不重要特徵)
技術核心: 利用 奇異值分解 (SVD) 來分析和調整詞向量的「重要性」,達到增強和抑制語義的效果。

身份保持交叉注意力 (IPCA): 強化身份,排除干擾
目的: 進一步強化人物身份的一致性,排除場景描述對人物身份的干擾。
核心: 在影像生成過程中,強制模型更關注人物身份描述 (P0) 的特徵,忽略或弱化場景描述對人物身份的影響。
具體操作: 在交叉注意力計算時,修改Key(K)和Value(V)矩陣,只保留與身份提示相關的特徵,並進行拼接, 確保每一幀影像都牢牢抓住人物的身份特徵。(簡化理解:專注身份,弱化場景對身份的影響)

總結1Prompt1Story的流程
Prompt Consolidation (PCon): 將身份提示和所有幀提示串聯成一個長提示。
Singular-Value Reweighting (SVR): SVR+: 增強當前幀提示的語義資訊、SVR-: 減弱其他幀提示的語義資訊。
Identity-Preserving Cross-Attention (IPCA): 在交叉注意力層,強化身份提示特徵,抑制幀提示特徵。
透過這三個步驟的協同作用,1Prompt1Story能夠有效地生成人物身份一致,且影像內容準確對應每個場景描述的故事影像。
實驗

正如圖中所示的定性比較結果,1Prompt1Story方法在幾個關鍵表現上都非常出色。這包括能夠準確地保留人物身份、精確地描繪影像幀的內容,以及生成多樣化的物體姿態。反觀其他方法,在這些方面就顯得不足了。
具體來說,在左側的例子中,PhotoMaker、ConsiStory和StoryDiffusion生成的「龍」這個主體,都出現了身份不一致的問題,龍看起來不像同一個龍。
另外,IP-Adapter則傾向於生成姿勢和背景都非常相似的影像,並且常常忽略了幀提示中關於細節的描述。ConsiStory在生成連貫的影像序列時,也表現出背景重複的問題。
除了定性比較,研究人員還進行了定量分析。在衡量文字與影像對齊程度的CLIP-T得分上,1Prompt1Story方法已經非常接近原始的SDXL模型。
在身份一致性方面(使用DreamSim指標評估),也僅次於IP-Adapter。
然而,需要指出的是,IP-Adapter之所以在身份相似性上表現很高,很大程度上是因為它傾向於生成姿勢和佈局非常相似的人物影像,這實際上限制了多樣性。
正如下方的圖表所展示的,1Prompt1Story方法位於圖表的右上角,這表明它在文字-影像對齊和身份一致性之間取得了良好的平衡。

更多結果
多主體故事生成

與不同的基礎模型結合

長故事生成

參考資料:
https://arxiv.org/abs/2501.13554


