:從LoRA到特征緩存的全鏈路調(diào)優(yōu))
最近我集中精力做了一件事把 StarVerse-AI 的無限畫布功能拉到極限場景里跑測試“角色漂移抑制”到底壓不壓得住。簡單說就是我在一張很大的畫布里搭了一個開放場景讓同一個角色在不同位置重復出現(xiàn)看它會不會長得“越來越不像自己”。這個問題在獨立畫一張圖的時候很難暴露但一旦畫布變大、角色反復登場漂移就像傳染病一樣擴散。這篇文章我把整個測試過程、方案設(shè)計、參數(shù)調(diào)校和踩坑記錄都整理出來適合正在做 AI 概念場景、漫畫分鏡、游戲角色多視角設(shè)定的人參考。我不聊理論里那些花架子只講我在實操中驗證過什么、廢掉了哪幾種方案、最后哪套組合能穩(wěn)定收斂。如果你正被“角色一多就崩”折磨這篇應(yīng)該能幫你少走幾條彎路。1. 為什么大場景里的角色會漂移問題拆解與測試目標1.1 “漂移”到底漂在哪四類典型表現(xiàn)角色漂移不是一種單一現(xiàn)象。我在測試中把肉眼能感知到的“不對勁”拆成了四類因為每一類的成因和抑制手段完全不同混在一起處理注定會來回翻車。第一類是外觀漂移。這是最普遍的同一個角色臉型變了、發(fā)型卷曲方向變了、衣服紋理細節(jié)改了。在單張圖里你可能只覺得“風格不太統(tǒng)一”但放到大場景里就會出現(xiàn)“明明叫同一個名字看起來卻是兩個演員”的詭異感。外觀漂移主要來自生成模型的隨機采樣和上下文信息衰減。第二類是位置與尺度漂移。角色在場景里的站位、身高比例、與環(huán)境的透視關(guān)系不穩(wěn)定。比如第一次出現(xiàn)在廣場中央時身高占畫布高度的四分之一跑到小巷里突然變成了侏儒或者站在同一個地標前位置偏了幾十像素。無限畫布的分塊生成機制會放大這種誤差因為每一塊環(huán)境的局部坐標系和全局坐標系之間缺少強綁定。第三類是姿態(tài)漂移。肢體動作、朝向、重心不穩(wěn)定。同一個角色在重復出現(xiàn)時右手持劍還是左手持劍、面朝鏡頭還是背朝鏡頭經(jīng)常會變。這類漂移多半來自文本提示詞對姿態(tài)的約束力不足注意力機制被場景中的復雜元素稀釋了。第四類是光影漂移。角色身上接受的光源方向、色溫、陰影強度和環(huán)境不協(xié)調(diào)。大場景通常由多個分塊拼合而成不同分塊生成時的光照預設(shè)不一致就會讓角色像是被不同燈光師分別打光。這四類漂移不是獨立發(fā)生的它們經(jīng)常疊在一起。但測試時如果不拆開量化就沒有辦法判斷一個抑制方案到底解決了什么問題。漂移類型典型表現(xiàn)主要成因外觀漂移五官、發(fā)型、服裝特征不一致隨機采樣變化ID特征未被穩(wěn)定傳遞位置尺度漂移站位漂移比例失衡局部坐標系與全局坐標系脫節(jié)姿態(tài)漂移動作、朝向、重心變動文本對姿態(tài)約束力弱注意力被稀釋光影漂移光源、色溫、陰影不統(tǒng)一分塊生成時環(huán)境條件各自獨立1.2 大場景如何放大漂移源無限畫布和固定尺寸畫布的本質(zhì)差異在于它通過分塊擴展來維持“無限”的體驗。生成新區(qū)域時模型看到的不是整張畫布只是以當前視口為中心的一塊局部上下文。這種機制讓畫布在尺寸上無限同時也讓角色特征被限制在了一個局部傳播半徑內(nèi)。我用一個粗糙的類比解釋一群人站成一排第一個人看著角色A的全身照描述給第二個人聽第二個人再傳給第三個人傳到最后一個人那里他描述出來的角色可能只剩下“一個穿外套的人”。大場景生成也是這樣特征每跨過一個分塊就會衰減一點傳到超過幾個分塊后角色ID信息就基本丟失了。這時候新生成的區(qū)域就會用文本提示詞里的模糊描述重新“腦補”一個角色漂移就此產(chǎn)生。除了上下文衰減大場景還會放大隨機性帶來的影響。Stable Diffusion 系模型的生成過程本質(zhì)上是帶噪聲的采樣即使用同一個提示詞重復生成結(jié)果也會存在細節(jié)波動。單圖創(chuàng)作時這種波動可以當作“風格變化”接受但在需要角色重復出現(xiàn)的場景里波動就是不能被容忍的漂移。場景密度也會添亂。一張畫布上角色越多、交互越復雜注意力機制就越難把“角色A的特征”穩(wěn)定路由到正確位置角色之間的特征會互相污染。這一點到了多人場景尤為致命我后面會專門講踩坑過程。1.3 本次測試的核心目標基于上面這些現(xiàn)象我給自己定了三個明確目標。第一建立一套可復現(xiàn)的漂移測試方法。不能光靠肉眼判斷“像不像”需要把漂移轉(zhuǎn)成數(shù)字指標用相似度、距離偏差、色差這些可量化的值來評估方案好壞。第二驗證一套組合抑制方案的效果。我的基本判斷是不存在一個萬能開關(guān)能一鍵壓住所有漂移關(guān)鍵是找出各類漂移分別用什么工具壓制再按正確順序疊加。目標是把外觀漂移的相似度穩(wěn)定壓到 0.7 以上姿態(tài)漂移的關(guān)鍵點抖動幅度降低 40% 以上接縫色差控制在肉眼不可見的范圍。第三輸出一組可以復用的參數(shù)檔位。測試不能只停留在“這次效果好”還要沉淀出什么場景用多大注入強度、mask 羽化多少像素、上下文窗口開多大這些細節(jié)讓下一次跑類似項目時可以直接抄作業(yè)。2. 測試環(huán)境搭建場景設(shè)計、指標定義與工具選型2.1 場景設(shè)計一個典型的“大而全”測試場測試場景我特意設(shè)計成一張約 6000×4000 像素的示意圖包含五個區(qū)域中央廣場、環(huán)形街巷、高臺區(qū)、水池區(qū)和一片開闊荒地。主角色A在八個位置上出現(xiàn)兩個配角色B、C各出現(xiàn)四次一共十六個角色點位。這樣設(shè)計的邏輯很簡單點位之間既有近距離相鄰的也有跨度很大的能同時考察短距離和長距離下的漂移情況。主角色A的定位是一個衣著特征明顯的冒險者紅披風、銀白短發(fā)、右肩甲有金色紋章。選這種特征的目的是讓漂移發(fā)生時更容易被肉眼和算法同時捕捉。如果選一個黑發(fā)黑衣服的角色外觀漂移的判定難度會大幅上升不利于測試判斷。場景中還加入了幾個固定地標比如廣場中心的噴泉、高臺上的旗幟、水池邊的石橋。這些地標的作用是給位置漂移的檢測提供一個參考系。角色出現(xiàn)在噴泉左側(cè)還是右側(cè)、離石橋有幾個身位這些都是可以測量的位置信息。光照方面整張畫布統(tǒng)一為日景沒有劇烈的時間變化。這是我刻意做的簡化避免黃昏和夜晚的光照差異與角色光影漂移混在一起干擾判斷。2.2 把“漂移”變成可測量的數(shù)字人眼判斷漂移不可靠必須用數(shù)字說話。我使用了四個指標。第一個是 ID 向量余弦相似度。先用角色A的參考圖提取一個身份特征向量再對畫布上每一個角色A的出現(xiàn)位置扣出區(qū)域、提取特征向量計算二者之間的余弦相似度。相似度越接近 1說明外觀越一致低于 0.6 基本就可以判定為漂移。實際操作中我還會在角色周圍多取幾個窗口尺寸防止裁剪邊界影響特征提取。第二個是關(guān)鍵點抖動標準差。用姿態(tài)估計算法對每個角色點位做骨架關(guān)鍵點提取然后計算同一個角色在不同點位的關(guān)鍵點坐標標準差。標準差值越大說明姿態(tài)越不穩(wěn)定。這個指標主要針對姿態(tài)漂移。第三個是服裝區(qū)域 SSIM。我會提前給角色的衣服區(qū)域畫一個大致的 mask在參考圖和生成圖上分別截取該區(qū)域計算結(jié)構(gòu)相似度。SSIM 對亮度變化不敏感正好能獨立于光影因素單獨考察服裝紋理的一致性。第四個是接縫色差。相鄰分塊的邊緣像素上用 RGB 歐氏距離計算色差均值。這個指標用來量化光影漂移和整體色調(diào)分裂。色差低于 5 基本肉眼不可見高于 15 就會看到明顯的接縫。每次生成后我都會在固定的文件路徑下保存一張標注了角色編號的檢測圖方便后續(xù)回溯。測試數(shù)據(jù)只有可復現(xiàn)才有真正的參考價值。2.3 抑制工具與參數(shù)選型工具鏈上StarVerse-AI 的無限畫布本身提供基礎(chǔ)的擴展生成能力但角色漂移抑制還需要組合外圍技術(shù)我把它整理成四層。第一層是角色ID綁定工具。我用的是角色 LoRA 加 IP-Adapter 參考圖。LoRA 負責把角色的固定畫風與辨識特征注入模型IP-Adapter 負責在生成過程中接收一張參考圖讓模型把參考圖的 ID 特征當作條件融合進注意層。這兩者的組合基本能鎖住外觀漂移。第二層是姿態(tài)約束工具。ControlNet 的姿態(tài)骨骼圖可以給角色站位和動作提供硬約束。在大場景里我先用一套骨骼模板指定角色出現(xiàn)時的姿態(tài)再把骨骼圖作為 ControlNet 輸入讓生成結(jié)果不會在動作上隨意發(fā)揮。第三層是區(qū)域鎖定工具。無限畫布生成新區(qū)域時已有區(qū)域里的角色很容易被二次生成覆蓋掉。我會給每個已定稿角色生成一塊保護 mask在擴畫布時把 mask 內(nèi)的區(qū)域設(shè)為重繪禁用區(qū)防止已生成角色被污染。mask 邊緣加羽化避免出現(xiàn)生硬邊界。第四層是采樣穩(wěn)定性控制。無限畫布沒有天然的全局 seed但可以在分塊擴展時給每一個分塊手動指定局部 seed并把 seed 記錄在元數(shù)據(jù)里。這樣做的好處是同一次測試里的分塊可以局部復現(xiàn)出了問題能定位到具體塊。這套選型的核心思路是“一個工具管一種漂移”LoRA 加 IP-Adapter 管外觀ControlNet 管姿態(tài)mask 管區(qū)域污染局部 seed 管復現(xiàn)。把各自職責劃清楚后面調(diào)參才有方向。漂移類型對應(yīng)抑制方案方案作用機制外觀漂移角色 LoRA IP-Adapter注入身份特征條件約束生成外觀姿態(tài)漂移ControlNet 骨骼約束以骨骼圖作為硬條件限制姿態(tài)位置尺度漂移地標參考系 局部seed錨定空間關(guān)系提供局部確定性區(qū)域污染角色保護 mask禁掉已定稿角色的重繪光影漂移后處理全局統(tǒng)一染色合并分塊后對齊色調(diào)與光照3. 三輪實操漂移抑制方案從翻車到收斂3.1 第 1 輪裸提示詞生成漂移率嚇人第一輪測試我故意不使用任何抑制手段純粹用提示詞生成整張畫布為的是拿到一個漂移基線。主角色A的提示詞寫得很詳細包括發(fā)型、披風、肩甲紋章這些特征但跑完之后的結(jié)果讓我倒吸一口涼氣。角色A在八個點位里只有兩個點位看起來還像是“同一個人”其余六個點位的外觀都出現(xiàn)了明顯變異。ID 向量余弦相似度平均只有 0.51最低的位置甚至掉到了 0.43。姿態(tài)方面也徹底失控明明是同樣的骨骼模板預設(shè)生成后有的點位是正面站立有的變成了側(cè)身拔劍關(guān)鍵點抖動標準差高得離譜。位置漂移同樣明顯。按設(shè)計角色A第二次應(yīng)該出現(xiàn)在噴泉右側(cè)約 60 像素處實際生成出來卻跑到了噴泉左側(cè)位置偏差超過 150 像素。檢查后發(fā)現(xiàn)提示詞里的位置信息其實已經(jīng)寫清楚了但大場景里畫面元素太多注意力機制分配給位置信息的權(quán)重被嚴重稀釋模型實際上是在“盲猜”角色該在哪。這一輪用一個詞總結(jié)翻車。但它翻得有價值因為它證明了一個核心觀點提示詞在大場景里的信息傳遞能力非常有限角色特征和空間位置都靠提示詞表達是不可靠的。3.2 第 2 輪參考圖綁定區(qū)域鎖定外觀漂移大幅收斂第二輪我上主力方案加上角色 LoRA、IP-Adapter 參考圖同時對場景中已定稿的角色區(qū)域生成保護 mask禁止后續(xù)分塊重繪覆蓋。具體操作分三步走。第一步把角色A的參考圖丟進 IP-Adapter同時啟用角色 LoRA提示詞里的描述詞可以縮減因為 LoRA 已經(jīng)承擔了大部分特征表達責任。第二步先生成整張場景底圖把底圖中角色A出現(xiàn)過的位置用 mask 標注出來設(shè)為保護區(qū)域。第三步擴畫布生成新分塊時啟動 mask 保護防止新塊的生成干擾舊塊里已經(jīng)定稿的角色。這輪效果提升非常顯著。角色A的外觀相似度平均值從 0.51 拉到了 0.73最低點位也從 0.43 升到了 0.61。換句話說原來只有四分之一點位像同一個角色現(xiàn)在超過七成的點位保持了外觀一致。但這一輪暴露了一個新問題mask 保護雖然保住了舊角色卻也造成了“斷景”。擴畫布時新生成的區(qū)域和舊區(qū)域之間會出現(xiàn)明顯的硬切邊像是兩張不同圖拼在一起。原因是我做 mask 時把邊緣處理得太硬生成模型在新的分塊里又沒有足夠的歷史上下文去銜接舊畫面。解決這個問題的思路不是放棄 mask而是給 mask 加上羽化過渡同時把重繪幅度從默認值往上調(diào)一點讓新塊在邊緣處有機會做融合。這輪的教訓是保護舊角色和保護畫面連續(xù)性必須同時考慮不能顧此失彼。3.3 第 3 輪接縫融合跨區(qū)域特征緩存遠距離漂移穩(wěn)定第二輪解決的是“近距離角色一致”和“舊角色不被覆蓋”的問題但遠距離漂移依然存在。角色A在中央廣場和荒地之間的距離跨越了好幾個分塊新增塊在生成時只能看到局部的上下文無法訪問之前塊里的角色特征。遠距離點位上的外觀相似度又掉回了 0.6 以下。針對這個問題我在第三輪引入了跨區(qū)域特征緩存機制。思路是先單獨為角色A生成一張“身份基準圖”也就是讓角色在干凈背景下做出標準姿態(tài)把這張圖的特征向量緩存下來。之后生成任何新分塊時把這份緩存特征注入到生成模型的注意力層相當于給新分塊“遠程投送”角色特征繞開上下文衰減。這個思路落地后遠距離點位的外觀相似度直接越過了 0.75 的門檻平均穩(wěn)定在 0.76 左右。更關(guān)鍵的是姿態(tài)也穩(wěn)了。因為身份基準圖自帶標準姿態(tài)特征注入注意力層后模型的姿態(tài)輸出會不自覺地靠近標準姿態(tài)。另一個針對接縫斷裂的手段是全局染色。所有分塊生成完成后我會對整張畫布跑一次統(tǒng)一的光照校正選擇一張最“順眼”的分塊作為色調(diào)基準把其他分塊的亮度、色溫向它對齊。這一步對光影漂移的抑制效果立竿見影接縫區(qū)平均色差從 12 降到了 4.5肉眼基本看不到接縫了。3.4 三輪結(jié)果的橫向?qū)Ρ热喿鱿聛頂?shù)據(jù)對比很直觀。輪次采用方案外觀相似度均值最低點位相似度接縫平均色差結(jié)論第1輪裸提示詞0.510.4315.2完全不可用第2輪LoRAIP-Adapter區(qū)域mask0.730.6111.8近距離穩(wěn)了遠景和接縫仍差第3輪第二輪方案特征緩存全局染色0.760.694.5基本達到可用標準第三輪的數(shù)據(jù)說明一個事實角色漂移抑制是一個系統(tǒng)性問題單點方案只能解決單類漂移。外觀、姿態(tài)、位置、光影四類漂移要在不同階段分別壓制最后統(tǒng)合。真正讓效果收斂的不是某一個技術(shù)環(huán)節(jié)的突破而是整條鏈路的閉環(huán)。4. 大場景漂移抑制的細節(jié)參數(shù)與避坑清單4.1 三個需要反復調(diào)的參數(shù)ID注入強度、上下文窗口、mask羽化參數(shù)是這套方案里最容易被低估的部分。調(diào)好了一套參數(shù)效果能上一個臺階參數(shù)不對再好的方案也白搭。我挑三個最關(guān)鍵的展開說。ID 注入強度指的是 IP-Adapter 參考圖特征在注意力層中的權(quán)重。強度設(shè)得太高角色外觀會穩(wěn)定但姿態(tài)會僵化角色會反復出現(xiàn)同一個構(gòu)圖好像被參考圖“粘住”了強度設(shè)得太低外觀漂移又會回潮。我的經(jīng)驗是先從 0.6 起步然后以 0.05 為步長微調(diào)。如果外觀相似度達標但構(gòu)圖單一就向下調(diào)兩檔如果相似度不夠就向上調(diào)兩檔。上下文窗口是生成新分塊時模型能參考的已有畫布范圍。窗口太小特征傳播距離短遠距離角色穩(wěn)不住窗口太大計算開銷成倍增長而且注入過多的背景信息反而會稀釋角色特征。我用的是 128 窗口即新分塊生成時能回看 128 像素范圍的舊畫面。如果把窗口開到 256外觀相似度能再提升一點但生成速度慢得讓人失去耐心性價比很低。mask 羽化是保護區(qū)域邊緣的過渡像素寬度。羽化太小會出現(xiàn)硬邊羽化太大則保護失效角色容易被新分塊的生成過程“滲色”污染。實際操作中我用的羽化值是 15 像素保護強度和畫面融合之間平衡得最好。調(diào)試順序我建議固定下來先調(diào) ID 注入強度鎖外觀再調(diào)上下文窗口解決遠距離最后用 mask 羽化解決邊緣質(zhì)量。跳躍式調(diào)參會讓問題互相糾纏很難判斷是哪個參數(shù)影響的結(jié)果。4.2 我踩過的坑接下來是我最想分享的部分這些坑在文檔里永遠找不到。第一個坑是多個角色互相污染。場景里同時有主角色A和配角色B、C時如果一股腦全部生成角色之間的特征會在注意力層里混合。A 的金色紋章會跑到 B 身上C 的披風顏色會跑到 A 的肩甲上。我的解決方案非常土但有效改成逐角色分區(qū)生成。畫布上先只生成角色A的區(qū)塊再生成區(qū)域B的區(qū)塊最后合并。雖然流程變長但每個角色的特征干凈很多。多人場景想靠一次生成搞定目前來看不現(xiàn)實。第二個坑是局部重繪把角色修壞。有段時間我覺得某個點位的角色臉部不夠像就單獨切出臉部區(qū)域做局部重繪。結(jié)果重繪后臉是像了但原本整齊的短發(fā)直接變成了長發(fā)整張臉像是被摳圖貼在角色身上。原因是我畫的 mask 范圍太小只包住了臉沒有包住頭發(fā)和領(lǐng)口。模型在重繪時缺乏外部上下文只能靠隨機想象補齊。解決辦法是把 mask 向外擴 20 到 30 像素把頭發(fā)、領(lǐng)口一起包進去讓模型重繪時有足夠的上下文。第三個坑是固定 seed 被當成萬能藥。我最初以為給分塊固定 seed 就能解決所有漂移后來發(fā)現(xiàn) seed 只能保證同一個分塊在重復生成時結(jié)果相同并不能保證角色特征跨分塊一致??鐗K的相似度還是要靠特征緩存和注入機制來維持。seed 的角色是“可復現(xiàn)”不是“可一致”。這個認知轉(zhuǎn)變很關(guān)鍵。第四個坑是全局染色把角色沖淡。全局染色確實能統(tǒng)一光照但如果直接把整張畫布都丟進染色處理器角色身上的固有顏色也會被“統(tǒng)一”掉尤其是特色鮮明的披風顏色和紋章會被染成和環(huán)境一致的灰調(diào)。解決方法是染色時給角色區(qū)域再加一層高優(yōu)先級 mask讓角色的本色特征不受影響只調(diào)整角色以外場景的光影。4.3 問題排查速查表測試過程中我整理了一張排查速查表遇到問題可以直接對照。異?,F(xiàn)象可能原因解決辦法同一角色近距離點位也崩ID注入強度過低提高IP-Adapter注入強度確認參考圖特征清晰遠距離點位外觀不一致上下文窗口過小特征未傳播啟用跨區(qū)域特征緩存增大上下文窗口角色動作僵化、構(gòu)圖單一ID注入強度過高下調(diào)注入強度適當提高原始提示詞姿態(tài)權(quán)重新塊與舊塊出現(xiàn)硬接縫mask邊緣過硬分塊色調(diào)不一致增加mask羽化新增分塊時參考舊塊邊緣像素角色周圍出現(xiàn)滲色光暈mask羽化過大減小羽化值收縮保護區(qū)域多角色相互串特征注意力層特征耦合按角色分區(qū)單獨生成最后合并局部重繪后角色臉被“換頭”mask未包含頭發(fā)領(lǐng)口等上下文擴大mask范圍包住關(guān)鍵外圍特征全局染色后角色失去辨識度染色階段未保護角色區(qū)域染色時使用角色高優(yōu)先級mask保護排查時要記住一個原則先定位漂移類型再選擇對應(yīng)手段不要用一個方案試圖解決所有現(xiàn)象。我看到太多人因為“遠距離漂移”去調(diào) mask 羽化調(diào)半天毫無效果實際上應(yīng)該去加特征緩存。5. 這套方案的適用范圍與后續(xù)想做的事5.1 能用在哪從概念場景到漫畫分鏡這套“分層抑制”的思路不只是為了 StarVerse-AI 的無限畫布稍微改造一下就能遷移到其他 AI 工作流里。開放世界游戲的概念設(shè)計是最直接的應(yīng)用場景。游戲場景美術(shù)經(jīng)常需要在同一張超大畫布上反復繪制同一個 NPC、怪物角色在不同地形中的出現(xiàn)狀態(tài)。有了這套方案角色可以在不同地形中反復出現(xiàn)且保持辨識度后期不需要逐張修臉。長篇漫畫或圖像小說的分鏡創(chuàng)作也很受益。漫畫里同一個角色會在多個格子里出場有些格子之間跨度很大。如果整個頁面在一個無限畫布里繪制角色跨格子的漂移會直接毀掉敘事連貫性。用特征緩存加上區(qū)域保護可以讓角色在“上一格”和“下一格”之間無縫銜接。另一個被低估的場景是虛擬拍攝預演。導演希望看到一個角色在同一個場景中不同位置行走的預演畫面之前只能用視頻生成或者反復手動合成。現(xiàn)在用無限畫布配合這套方案可以直接生成一條角色多站位走位的“地圖”為正式拍攝提供空間參考。5.2 后續(xù)想做的改良方向這一輪測試收斂了效果但問題并沒有完全解決。遠距離點位的外觀相似度平均 0.76對概念設(shè)計夠用對特寫級別的要求還是不夠。我接下來的計劃是把角色身份嵌入層級再往底層走一步嘗試訓練一個統(tǒng)一的身份編碼器把角色的多個參考圖融合成一個更穩(wěn)定的 ID 表示替代現(xiàn)在的單圖特征緩存這應(yīng)該能解決參考圖角度單一帶來的特征偏差。另一個方向是給無限畫布增加“角色檔案圖層”的概念。每個角色在畫布中有一個獨立的邏輯圖層記錄它的掩碼、參考特征和出現(xiàn)點位。這樣在擴展畫布時新生成的分塊可以自動查詢這份檔案而不是靠人工維護特征緩存。這個概念如果做成產(chǎn)品功能會比現(xiàn)在這套手工操作順暢很多。還有一個想法是把漂移抑制的效果可視化。目前只能通過相似度數(shù)字和肉眼判斷如果有辦法把整張畫布的漂移情況生成一張“漂移熱力圖”綠色表示穩(wěn)定、紅色表示漂移嚴重就能快速定位質(zhì)量薄弱的區(qū)域而不是靠人眼一塊一塊地找。最后分享一個小經(jīng)驗我在三輪測試里最受益的一個習慣是把每一個角色獨立的參考圖和最終生成圖單獨存檔。存檔時把參考圖、方案參數(shù)、相似度指標都記錄在文件名里。后續(xù)所有對比分析都能直接調(diào)用不需要重新生成這在長周期測試里省了大量時間。如果你也要跑類似的測試建議從一開始就按這個標準做得規(guī)整一些。