SIGGRAPH Asia 2025 | 港科大&清華提出ConsistEdit,多輪多區域一致性編輯,覆蓋MM-DiT全模型
港科大與清華相關研究揭示了 MM-DiT 模型注意力機制的關鍵特征,在此基礎上提出新型注意力控制方法 ConsistEdit。該方法融合純視覺注意力控制等多種操作,生成一致且與提示對齊的編輯結果。其優勢顯著,可實現多輪編輯,在編輯區域執行結構保持與形狀改變且保持身份不變,能一次性處理多區域編輯并保留相關結構與內容,還能平滑控制編輯區域一致性強度。此外,它不僅適用于圖像編輯和校正流模型,還能推廣到所有 MM-DiT 變體。ConsistEdit 代表生成模型編輯領域重大進步,釋放了 MM-DiT 架構編輯潛力。


相關鏈接

- 論文: https://arxiv.org/abs/2510.17803
- 主頁: https://zxyin.github.io/ConsistEdit
- 代碼: https://github.com/zxYin/ConsistEdit_Code
介紹
近年來,無需訓練的注意力控制方法取得了顯著進展,使得現有的圖像和視頻生成模型能夠實現靈活高效的文本引導編輯。然而,現有方法難以在保持與源文件一致性的同時,提供強大的編輯能力。在多輪編輯和視頻編輯中,由于視覺誤差會隨時間累積,這一局限性尤為突出。此外,大多數現有方法都強制執行全局一致性,這限制了它們在保持其他屬性不變的情況下修改紋理等特定屬性的能力。
通過對 MM-DiT 模型的深入分析,論文揭示了其注意力機制的三個關鍵特征。基于這些特征提出了ConsistEdit,一種專為 MM-DiT 量身定制的新型注意力控制方法。ConsistEdit 融合了純視覺注意力控制、掩碼引導的預注意力融合以及對查詢、鍵和值標記的差異化操作,從而生成一致且與提示對齊的編輯結果。
大量實驗表明,ConsistEdit 在各種圖像和視頻編輯任務中均取得了最先進的性能,包括結構一致和結構不一致的場景。與以往方法不同,ConsistEdit 首次實現了無需人工干預即可在所有推理步驟和注意力層進行編輯,顯著提高了可靠性和一致性,從而實現了穩健的多輪和多區域編輯。此外,它還支持結構一致性的漸進式調整,從而實現更精細的控制。ConsistEdit 代表了生成模型編輯領域的一項重大進步,并充分釋放了 MM-DiT 架構的編輯潛力。
方法概述
MM-DiT注意力控制的三個關鍵見解 通過對 MM-DiT 的注意力架構進行深入分析,得出了三個關鍵見解,這些見解能夠實現有效的無需訓練的注意力控制:
- 編輯效果取決于只修改視覺部分,因為干預文本標記通常會導致生成不穩定。
- 與 U-Net 不同,MM-DiT 的每一層都保留了豐富的語義內容。因此,注意力控制可以應用于所有層。
- 僅對 Q、K 的視覺部分施加注意力控制,可實現強大的可控結構保持。

MM-DiT 模塊注意力層中經 PCA 分解后的 Q、K、V 視覺標記投影可視化。與 U-Net 不同,MM-DiT 的每一層都保留了豐富的語義內容,這印證了我們關于注意力控制必須應用于所有層的觀點。

V 標記交換策略在內容一致性方面的比較。在高一致性強度設置下,僅交換視覺 V 標記可顯著提高內容一致性;而在低一致性強度下,則可保持與原始方法相當的編輯能力。

ConsistEdit 的流程如下:給定真實圖像或視頻 I_s 和源文本標記 P_s,我們首先反轉源圖像或視頻以獲得視覺標記 z^T,然后將 z^T 與目標提示標記 P_tg 連接起來,并傳遞給生成過程以生成編輯后的圖像或視頻 I_tg。在推理過程中,由我們的提取方法生成的掩碼 M 會劃分編輯區域和非編輯區域。我們應用結構和內容融合來實現提示對齊的編輯,同時保持編輯區域內的結構一致性,并在其他區域保持內容完整性。
結果展示




使用教程
項目結構
ConsistEdit_Code/
├── run_synthesis_sd3.py # SD3 synthesis editing
├── run_synthesis_flux.py # FLUX synthesis editing
├── run_synthesis_cog.py # CogVideo editing
├── run_real_sd3.py # Real image editing
├── run_metric.py # PIE-Bench evaluation script
├── evaluate_sd3.py # Metric calculation script
├── demo_sd3_masking.ipynb # Interactive demonstration
├── script/
│ ├── sd3_consist_edit.sh # Consistent editing demo
│ └── sd3_inconsist_edit.sh # Inconsistent editing demo
├── consistEdit/
│ ├── attention_control.py # Cross-attention mechanisms
│ ├── solver.py # Diffusion solvers
│ ├── utils.py # Utility functions
│ └── global_var.py # Global variables
├── evaluation/
│ └── matric_calculator.py # Evaluation metrics
└── assets/ # Sample images- Consistent Editing (Change Color/Material)?
?bash script/sd3_consist_edit.sh?? - Inconsistent Editing (Change Style/Object)?
?bash script/sd3_inconsist_edit.sh??
Stable Diffusion 3
python run_synthesis_sd3.py \
--src_prompt "a portrait of a woman in a red dress in a forest, best quality" \
--tgt_prompt "a portrait of a woman in a yellow dress in a forest, best quality" \
--edit_object "dress" \
--out_dir "output" \
--alpha 1.0 \
--model_path "/path/to/stable-diffusion-3-medium-diffusers"
python run_synthesis_sd3.py \
--src_prompt "a portrait of a woman in a red dress, realistic style, best quality" \
--tgt_prompt "a portrait of a woman in a yellow dress, cartoon style, best quality" \
--edit_object "dress" \
--out_dir "output" \
--alpha 0.3 \
--model_path "/path/to/stable-diffusion-3-medium-diffusers"FLUX
python run_synthesis_flux.py \
--src_prompt "a portrait of a woman in a red dress in a forest, best quality" \
--tgt_prompt "a portrait of a woman in a yellow dress in a forest, best quality" \
--edit_object "dress" \
--out_dir "output" \
--alpha 1.0 \
--model_path "/path/to/FLUX.1-dev"CogVideo
python run_synthesis_cog.py \
--src_prompt "a portrait of a woman in a red dress in a forest, best quality" \
--tgt_prompt "a portrait of a woman in a yellow dress in a forest, best quality" \
--edit_object "dress" \
--out_dir "output" \
--alpha 1.0 \
--model_path "/path/to/CogVideoX-2b"Real Image Editing
python run_real_sd3.py \
--src_prompt "a girl with a red hat and red t-shirt is sitting in a park, best quality" \
--tgt_prompt "a girl with a yellow hat and red t-shirt is sitting in a park, best quality" \
--edit_object "hat" \
--source_image_path "assets/red_hat_girl.png" \
--out_dir "output" \
--alpha 0.1 \
--model_path "/path/to/stable-diffusion-3-medium-diffusers"本文轉載自??AIGC Studio??,作者:AIGC Studio

















