ReGain이 합성 이미지 개인화에서 무너진 피사체 충실도를 되살린다

ReGain: Restoring Subject Fidelity in Personalization on Synthetic Images

HF Daily2609.38680

Shubhang Bhatnagar, Ishan Bhatnagar, Viraj Shah2026-09-30

무엇인가

DreamBooth로 특정 피사체를 개인화할 때 쓰는 사진이 카메라가 아니라 이미지 생성 모델에서 나오는 경우가 늘고 있다. 이 논문은 그 데이터 출처 변화가 결과물을 망친다는 것을 통제 실험으로 보인다. 같은 베이스 모델에서 같은 DreamBooth 레시피로 두 모델을 만든다. M_real은 실제 사진으로, M_syn은 M_real이 생성한 합성 이미지로 파인튜닝한다. 같은 프롬프트와 시드에서 M_real은 깨끗한 이미지를 내놓지만 M_syn은 색이 과포화되고 고주파 텍스처가 과도하게 얹힌 이미지를 낸다. 원인은 classifier-free guidance(CFG)다. CFG는 매 디노이징 스텝에서 Δ = ε_c − ε_∅ 방향으로 밀어주는데, M_syn의 ‖Δ‖가 전 구간에서 부풀어 있고 그 격차는 샘플링이 진행될수록 벌어진다.

어떻게 동작하나

저자들은 이 Δ 팽창을 네 가지 성질로 정리한다. 첫째, 각도 때문이다. ε_c와 ε_∅ 각각의 노름은 커지지 않는데 두 벡터 사이 각도 θ가 50스텝 평균 37% 크고, 그 결과 ‖Δ‖가 매 스텝 평균 29% 크다(30개 피사체 전체에서는 평균 48%). δ = ‖ε_c‖/‖ε_∅‖는 두 모델 모두 1에서 1% 안쪽이고 r = ‖ε_∅‖도 30스텝까지 3% 안쪽이라 팽창에 기여하지 않는다. 둘째, 의미적이다. 식별자 없이 클래스 명사만 쓴 프롬프트("a photo of a dog")가 팽창을 거의 그대로 물려받고, 파인튜닝에서 본 적 없는 cat도 절반쯤 물려받는다. deer, chair, car, building, beach 같은 무관한 프롬프트는 마지막 스텝까지 거의 팽창이 없다. 셋째, 모델 자체의 성질이다. 두 모델이 같은 입력(자기 학습 이미지를 forward-noise한 것)을 볼 때도 팽창이 남는다. 낮은 guidance로 다시 학습해도, DreamBooth의 prior-preservation loss를 넣어도 사라지지 않는다. 넷째, 고주파에 몰리고 시간에 따라 변한다. 팽창은 저주파에서 고주파로 갈수록 커지고 고주파 대역에서 가장 이르게 정점을 찍으며, 대역마다 시간 프로파일이 달라 하나의 guidance 가중치로는 되돌릴 수 없다.

무엇과 다른가

ReGain은 학습 없이 샘플링 시점에 적용하는 보정이다. 이미 학습된 체크포인트도 고칠 수 있다. 보정하려면 Δ가 원래 얼마여야 하는지 기준이 필요한데, 실제 사진으로 학습한 M_real은 실무에서 쓸 수 없다. 대신 M_syn이 파인튜닝된 베이스 모델 M_base는 공개돼 있고, 피사체 클래스에 대한 그 Δ는 부풀지 않았다. 1단계는 일회성 캘리브레이션이다. M_syn의 학습 이미지를 forward-noise한 상태에서 M_base는 클래스 프롬프트로, M_syn은 피사체 프롬프트로 돌리고, 대역 k와 스텝 t마다 마스크 안 밴드 에너지 e(k,t) = ‖m ⊙ B_k(Δ)‖² / (|m|C)를 재서 이득 g(k,t) = sqrt(E[e^Mbase]/E[e^Msyn])를 구한다. 마스크는 M_syn의 어텐션 맵에서 읽는다(U-Net은 S-CFG의 세그멘테이션, 트랜스포머는 Seg4Diff). 2단계는 노이즈가 많은 이 이득을 연속된 대역·스텝 구간으로 이루어진 소수의 사각 셀로 압축하는 것인데, 제곱 오차에 대한 1차원 동적 계획법으로 RMSE 허용치 τ 안에서 정확히 푼다. DC 대역은 압축에서 제외하고 측정값을 그대로 쓴다. 3단계는 샘플링 시점 보정이다. ε̂ = ε_∅ + w·m ⊙ Σ_b g_b(t) B_b(Δ) + w(1−m) ⊙ Δ 로, 피사체 마스크 안에서는 대역 그룹별로 이득을 곱해 guidance를 낮추고 마스크 밖은 평범한 CFG를 쓴다. 모든 g_b = 1이면 원래 CFG로 돌아간다.

어떻게 쓰나

실험은 DreamBooth 데이터셋 30개 피사체(각 4~6장 실제 사진, 피사체당 평가 프롬프트 25개, 시드 3개)에서 한다. M_syn은 M_real이 생성한 5장으로 파인튜닝하고, SD1.5의 DreamBooth와 DreamBooth-LoRA, SDXL과 SD3.5의 DreamBooth-LoRA 네 가지 설정을 모두 30개 피사체에 돌린다. SD1.5에서 ReGain은 실제 사진으로 개인화한 모델과의 피사체 충실도 격차를 DINO, DINOv2, CLIP-I 기준 51~64% 줄인다. SDXL과 SD3.5에서는 5분의 1에서 절반 사이를 회복한다. 프롬프트 충실도(CLIP-T)는 모든 설정에서 평범한 CFG 대비 0.004 이내로 변한다. 비교 대상인 S-CFG, CFG++, FDG 중 어느 것도 격차를 닫지 못한다. FDG는 최대 6분의 1을 회복하지만 DINO에서는 전혀 회복하지 못하고 CLIP-T를 떨어뜨린다. S-CFG와 CFG++는 세 피사체 충실도 지표 모두에서 평범한 CFG와 같거나 낮다.

전제와 한계

과잉 guidance의 흔적도 정량화한다. 피사체 마스크 안에서 M_syn은 M_real 대비 채도 18%, RMS 대비 22%, 고주파 대역 파워 13% 과다하다. ReGain은 세 통계를 모두 M_real 쪽으로 되돌리면서 어느 것도 지나치게 넘기지 않는다. 채도 초과분은 대부분, 대비 초과분은 절반가량, 고주파 초과분은 3분의 1이 제거된다. 전체 프레임 기준으로는 각각 77%, 35%, 5%가 회복되는데, 배경이 프레임 대부분을 차지하고 모든 방법에서 평범한 CFG로 생성되기 때문에 희석된 값이다. 절제 실험에서 guidance 가중치를 5.0, 3.0으로 낮추면 CLIP-T가 각각 0.003, 0.008 떨어지고 DINO는 회복되지 않는다. APG는 과보정으로 채도가 0.240까지 내려가 M_real의 0.301보다 낮아지고 CLIP-T가 0.006 떨어진다. 마스크를 없애면 CLIP-T가 0.008 떨어져 0.282로 평범한 CFG의 0.289보다 낮아진다. 이득 스케줄을 적용한 뒤 남은 팽창은 평균 10% 이내이고, τ = 0.05가 이를 유지하는 가장 거친 허용치다. 계산 비용은 SD1.5 기준 RTX A4000 한 장에서 피사체당 캘리브레이션 12분, 샘플링은 평범한 CFG의 1.1배(이미지당 5.4초 대 4.9초)다.

실무적으로 이 논문은 합성 데이터로 개인화 파이프라인을 돌리는 팀에게 바로 쓸 수 있는 진단과 처방을 준다. LoRA든 전체 파인튜닝이든, 학습 이미지가 생성 모델에서 나왔다면 결과물의 과포화·과대비·고주파 과다를 먼저 의심해야 한다. 재학습 없이 샘플링 단계에서 고칠 수 있고, 실제 사진이 없어도 공개 베이스 모델만 있으면 캘리브레이션이 된다는 점이 실용적이다. 다만 피사체 마스크 품질에 결과가 좌우되고, 베이스 모델 가중치를 그대로 참조하므로 베이스 모델을 구할 수 없는 상황에서는 쓸 수 없다.

저자들이 밝힌 한계는 이렇다. ReGain은 샘플링 시점 보정이고 베이스 모델의 guidance를 완벽하지 않은 기준으로 쓰기 때문에 M_real을 완전히 따라잡지는 못한다. 합성 이미지로 개인화하는 학습 시점에 보정하면 이 격차를 더 줄일 수 있다고 본다. 기존 세그멘테이션 방법에서 얻는 피사체 마스크에 의존하므로, 마스크가 피사체 일부를 놓치거나 배경으로 번지면 엉뚱한 영역의 guidance를 낮춘다. 또 팽창을 모델 출력인 노이즈 예측에서만 측정했고, 네트워크 내부(예: 중간 활성의 크로스 어텐션)에서 어디서 비롯되는지는 향후 과제로 남긴다.