dew's CSE Studying
Prompt-Free Diffusion: Taking "Text" out of Text-to-Image Diffusion Models (CVPR 2024) 본문
Prompt-Free Diffusion: Taking "Text" out of Text-to-Image Diffusion Models (CVPR 2024)
dew₍ᐢ.ˬ.⑅ᐢ₎ 2025. 8. 4. 02:11
https://github.com/SHI-Labs/Prompt-Free-Diffusion
GitHub - SHI-Labs/Prompt-Free-Diffusion: Prompt-Free Diffusion: Taking "Text" out of Text-to-Image Diffusion Models, arxiv 2023
Prompt-Free Diffusion: Taking "Text" out of Text-to-Image Diffusion Models, arxiv 2023 / CVPR 2024 - SHI-Labs/Prompt-Free-Diffusion
github.com
0. Abstract
Text-to-Image(T2I): 이미지 생성 ai
ex)Stable Diffusion, DALLE-2
🗯️pain point: text prompt engineering
내가 원하는 결과물을 얻기 위한 high-quality text prompt를 찾는 게 뭔가 science보다는 art 같은 느낌..!
- 원하는 이미지를 말로 표현한다는 게 애초에 모호하고 한계가 있다
- 시각적인 조건들(visual domain에서의 추가적인 제어)로 보완 필요
=>그래서 이 논문에서는 pretrained T2I diffusion 모델에서 '텍스트'를 완전히 뺐다!
Prompt-Free Diffusion
-relies only on visual inputs
- reference image
- optional image structural conditioning
- initial noise
core architecture: SeeCoder(Semantic Context Encoder)
- 얘가 기존의 CLIP-based / LLM-based text encoder을 대체 가능
- SeeCoder = 이미지 입력을 받아 텍스트 인코딩과 동등한 표현력을 가진 embedding을 생성하는 인코더
- reusability: 한 T2I 모델에서 학습시켜 놓은 걸 다른 T2I 모델에서도 그대로 쓸 수 있다는 장점
성능
- 기존의 exemplar-based 이미지 생성 방식보다 뛰어난 성능
- 최고의 성능을 내는 프롬프트를 사용하는 최신 T2I 모델과 비슷한 수준의 성능
- 애니메이션 캐릭터 생성이나 가상 피팅(virtual try-on) 같은 실용적인 분야로도 자연스럽게 확장 가능
1. Introduction
personalization - 개인 맞춤형 이미지 생성에 대한 수요가 늘었다!
이거에 대한 기술로는 1)model finetuning 2)prompt engineering 3)controllable editing 등이 있다
그렇다면 지금까지 personalization을 달성하는 가장 편리한 방법은 뭘까?
1) Model finetuning
:exemplar image로 T2I 모델을 파인튜닝 하는 방법
ex)DreamBooth
단점: 일반 사용자 입장에서 비용이 많이 들고, GPU 자원도 많이 필요
2) Prompt engineering
-파인튜닝에 비해 cost margin 굿!
-거의 zero cost로 output 도출 성공
그럼에도 불구하고 여전히 텍스트 프롬프트로 이미지를 생성하는 일은 매우 모호하고 아주 사소한 디테일을 만족시키기에 여전히 설명 불가능한 부분들이 남아있다.
지금까지의 대표적인 모델로는 ControlNet, T2I-Adapter 등이 있다
얘네는 사용자가 입력한 구조전 조건들(e.g, canny edge, depth, pose)를 prompt에 추가적으로 generative guidance로 사용한다
이 방법을 사용하면 a)구조(structure)와 내용(content)을 분리→훨씬 더 정밀하게 결과를 제어 가능 b)plug-and-run module들이 재사용 가능해서 그냥 ControlNet 모듈을 덧붙이면 기존 모델을 그대로 활용 가능
ControlNet의 문제점=>gap between vision and language
:텍스트 캡션만으로는 모든 시각적 단서(visual cues)를 완전하게 표현할 수 없고, 구조적 조건을 주더라도 이 근본적인 문제는 해결되지 않음!
a) 사용자가 지정하고 싶은 텍스처, 객체, 의미(시맨틱)들을 정확히 생성하는 데 어려움이 있다
→ ControlNet은 보통 구조적 정보(엣지, 포즈 등)에만 집중
b) 원하는 결과를 얻기 위해 적절한 프롬프트를 찾는 과정 자체가 불편하고 비효율적
c) 결과물의 품질을 높이기 위해 prompt engineering은 여전히 필요
Solution: Prompt-Free Diffusion
- 기존: prompts input → 대체: reference image
- Semantic Context Encoder(SeeCoder) 새로 제안
- 임의의 해상도를 가진 pixel-based images→meaningful visual embeddings
- represent low-level information(texture, effects 같은 디테일 정보)
- 여기서 추출된 visual embeddings를 임의의 T2I model의 conditional input으로 사용
=>현재 최고 수준의 T2I 모델과 맞먹는 성능의 개인화된 출력 이미지를 생성! - exemplar-based image generation, image-variation이랑 다른점
- quality
- convenience: reusable
Contribution
- We proposed Prompt-Free Diffusion, an effective solution generating high-quality images utilizing text-to-image diffusion models without text prompts
- Empowered by the reusability of Semantic Context Encoder(SeeCoder), the proposed Prompt-Free property can be available in many other existing text-to-image models without extra training, creating a convenient pipeline for personalized image generation
- Our method can be extended to many downstream applications with competitive quality, such as exemplar-based virtual try-on, and anime figure generation
2. Related Works
2.1 Text-to-Image Diffusion
- T2I model의 표준은 Diffusion models(DM)
- Diffusion 기반의 T2I 모델들: 반복적인 정제 과정을 통해 photo-realistic한 이미지를 생성
- [38] GLIDE: classifier-free guidance 사용
- [45] DALL·E 2: CLIP encoding 기반
- [46] Stable Diffusion: latent space에서 diffusion
- [48] Imagen: 더 큰 텍스트 인코더로 성능 향상
2.2 Exemplar-based Generation
목표: structural inputs→photorealistic images (exemplar images' content를 참고해서!)
- SPADE: 이미지의 스타일 정보를 인코딩해서 이미지 생성 네트워크에 spatially-adaptive normalization 방식으로 주입
- CoCosNet: 구조 입력과 예시 이미지 사이에 semantic correspondence를 정밀하게 맺어서 스타일 제어 능력을 향상
- 최근 동향
- unbalenced optimal Transport: 정보 재배치 최적화
- automatic assessment
- Contrastive Learning: 의미 구분을 더 뚜렷하게
- dynamic sparse mechanism: 불필요한 정보 제거
- 최근에는 diffusion 모델들도 예시 기반 생성에 적극 활용되고 있다
- [24] Composer: 이미지 속 속성(attribute)을 분해/재조합
- [59] CLIP 기반 인페인팅
- [16] semantic mask 사용
- [63] 예시 이미지 기반 편집
3. Method
3.1 Preliminaries 사전 개념
Diffusion Process
- 기존 이미지에 noise를 추가했다가, 다시 복원하는 과정을 통해 이미지 생성을 학습하는 것
CLIP
- image embedding-text embedding을 align 시키는 double encoder model
Image-Variation
- 비슷한 의미를 가지는 이미지 생성

3.2 Prompt-Free Diffusion
좋은 건 그대로 유지하면서 prompt만 빼는 방법이 없을까?
장단점 비교

| 방법 | 개인화 품질 | 설치 용이&domain adaptation | 입력의 복잡도&유연성 |
| Model Finetuning | |||
| Prompt Engineering | 한정된 범위에서만 가능 | 필요없음 & 모든 T2I model에서 재사용 가능 | |
| Adaptive Layers+구조 input (ex ControlNet) | 쉬움 & 모든 T2I model에서 재사용 가능 | ||
| Image-Variation | |||
| Prompt-Free Diffusion |
Prompt-Free Diffusion의 구성
- diffuser: noise→image로 복원하는 메인 네트워크
- context encoder: context를 추출하는 모듈
- (optional) VAE: latent space로 차원을 줄임


여기서 precise latent diffusion structure을 유지했다
main architecture

latent space의 존재는 동일하고 그대신 CLIP text encoder만 SeeCoder로 대체한 구조
Prompt가 어떻게 교체되는지?
기존 T2I:
- text prompt가 먼저 tokenize
- CLIP으로 (N x C) 크기의 context embedding으로 바꿈 (N=count C=dimension)
=>Prompt-Free Diffusion에서는 CLIP text encoder을 SeeCoder으로 교체
SeeCoder은 text prompt 대신에 image input만 받을 수 있도록 설계되었다 - 이 임베딩은 diffuser의 cross-attention 층에 input으로 들어감
SeeCoder
- 오직 이미지 입력만을 처리하도록 설계됨
- 이미지 속의 시각적인 단서들(텍스처, 객체, 배경 등)을 기존의 CLIP 임베딩과 같은 형태의 (N x C) 임베딩으로 변환
- 그 다음은 기존과 동일하게, 이 임베딩을 cross-attention에 넣고 이미지 생성 진행!
=>기존의 cross-attention 구조 그대로 사용 가능 + SeeCoder만 바꿔 끼우면 됨 - Composer같은 모델처럼 image disentanglement가 필요X
- image disentanglement: 이미지를 속성 단위로 분리하는 것
- 왜냐하면 SeeCoder가 자동으로 저수준/고수준 정보를 학습해서 embedding으로 잘 표현해주기 때문
3.3 Semantic Context Encoder
SeeCoder의 목적: 이미지 입력만을 받아, 그 안의 모든 시각적 단서(visual cues)를 임베딩으로 인코딩하는 것
CLIP도 이미지 인코딩 가능한데? → 실질적으로 CLIP의 ViT는 한계가 있다
a) 384^2보다 높은 해상도의 input은 처리 불가
b) detail textures, objects 같은 디테일은 캐치 불가
c) contrastive loss 기반이라 이미지의 구조나 질감을 직접적으로 표현하지 못함 (contrastive loss는 간접적으로 visual cue를 처리하는 방법임)
SeeCoder의 구조
Backbone Endoder (입력 특징 추출)
- SWIN-L transformer[35] 사용
- 이 모델은 어떤 해상도든 입력받을 수 있고,
- 이미지를 다양한 크기의 feature pyramid로 바꿔준다=>다양한 스케일의 visual cue를 잘 캐치할 수 있다

Decoder
SWIN에서 나온 다양한 레벨의 특징들을 받아서,
- 채널 수 맞춰주고
- 평탄화(flatten)해서 이어 붙인 뒤,
- 6개의 multi-head self-attention module을 거쳐 (+linear projections and LayerNorms)
최종적으로 final output은 쪼개져서 다시 2D 형태로 나타나게 되며 lateral-linked input feature들이랑 더해진다
더 강한 semantic representation을 만든다고 보면 된다.
- 일반 Transformer의 Encoder 쪽과 비슷
- 시각 정보들이 서로 관계를 파악하면서 정리되는 과정
Query Transformer
지금까지 정리된 multi-level의 시각 정보를 모아, 1차원 임베딩 벡터로 압축하는 단계
- 구성: 4개의 freely-learning global queries(이미지 전체를 요약하는 벡터) + 144 local queries(세부 영역(예: 얼굴, 옷, 배경 등) 담당
- cross attention & self-attention layer들의 조합 (하나씩 반복된다)
- Cross-Attention: visual features → local query로 정보 전달
- Q = local queries
- K, V = visual features
- Self-Attention: local + global query끼리 상호작용 (local→global)
- global queries랑 local queries를 QKV로 concatenation
- free-learned query embeddings, level embeddings, and optional 2D spatial embeddings
- Query Embedding: 각 query마다 고유 의미 부여
- Level Embedding: 피처가 어떤 레벨에서 왔는지 정보 추가
- 2D Spatial Embedding (선택적): 위치 정보(예: x, y 좌표)까지 반영 가능. 일부 MLP layer을 따르는 sine-cosine encodings (이게 있으면 SeeCoder-PA. PA는 position-aware라는 뜻)
- 최종적으로 합쳐진 local+global queries는 컨텐츠 생성을 위해 diffuser로 넘겨진다
- Cross-Attention: visual features → local query로 정보 전달

- segmentation 기법과 구조적으로 유사
- 둘 다 이미지로부터 피처(feature)를 추출하고,
- 이를 Transformer 기반 블록에서 처리하고,
- 다중 스케일 피처를 통합하는 구조를 사용하기 때문
- SEMask, OneFormer, Mask2Former 같은 최신 segmentation 모델들도 비슷하게
- 백본 + 디코더 + attention block으로 구성되어 있고
- 다양한 공간 정보를 query 기반으로 표현함
- 그렇지만 최종 목적(end purpose)은 다르다!
- 기존 segmentation 네트워크는 분류(discriminative) 목적: 예를 들어 픽셀이 어떤 클래스에 속하는지 판단
- 반면에 SeeCoder는 생성(generative) 목적: 시각 정보를 기반으로 새로운 이미지를 생성할 수 있도록 임베딩을 만드는 것
4. Experiments
4.1 Data
| Laion2B-en | 약 20억 개 | 웹에서 수집된 영어 기반 이미지-텍스트 쌍 |
| COYO-700M | 약 7억 개 | COYO 프로젝트에서 수집된 고품질 이미지-텍스트 쌍 |
하지만 Prompt-Free Diffusion은 **프롬프트(텍스트)**가 필요 없기 때문에,
이 데이터셋들에서 이미지 부분만 추출해서 사용
4.2 Training
이 모델은 일부 모듈의 가중치를 고정(freeze) 해놓고 훈련하기 때문에 어떤 pretrained 모델을 선택하느냐가 최종 성능에 큰 영향을 준다
| SeeCoder의 백본 | SWIN-L |
| VAE (Latent 변환용) | Stable Diffusion 2.0의 VAE |
| Diffuser (노이즈 제거기) | 자체 SD1.5 기반 T2I diffuser |
Training Settings
| 디퓨전 알고리즘 | DDPM |
| 타임스텝 수 T | 1000 |
| β 스케줄 | 선형 증가 (8.5×10⁻⁵ → 1.2×10⁻²) |
| 이터레이션 수 | 총 100,000회 |
| 러닝레이트 | 처음 5만 step: 1e-4 / 이후 5만 step: 1e-5 |
| 배치 크기 | 512 |
| GPU 사용량 | 8개 샘플 × 16개의 A100 GPU, gradient accumulation 4 |
| 총 노드 수 | 2 |
SeeCoder-PA
- SeeCoder-PA: 위치 정보(2D spatial embedding)까지 인코딩하는 SeeCoder의 확장 버전
- 구조 조건이 없는 상황에서는 SeeCoder-PA가 더 좋은 성능을 보임
- 위치 정보가 일부 구조 조건(depth, edge 등)을 대체해줄 수 있기 때문
| 시작점 | SeeCoder가 5만 step 훈련된 체크포인트 |
| 추가 훈련 | 2만 step |
| 러닝레이트 | 5e-5 (상대적으로 낮음 → 파인튜닝) |
4.3 Performance

- ControlNet 적극 사용 (다양한 structural conditionings 다루기 위함)
- 해상도와 비율 자유로움(512×512 (정방형) / 512×768 (세로형) / 768×512 (가로형) 세 가지 사용)
- 결과 이미지도 참조 이미지랑 해상도 다르게 생성 가능
- 위 설정(ControlNet, in-house diffuser 등)은 특별히 언급하지 않으면 모든 실험에서 동일하게 유지됨
Compare with T2I : Prompt-Free vs Prompt-Based

- Prompt-Free는 전통 방식 중 상위 두 단계 수준에 해당함
- “의미 + 스타일 설명 프롬프트 필요”
- “프롬프트 엔지니어링까지 해야 하는 수준”
=>즉: 텍스트 없이도 매우 정교한 조정이 가능!
Image-Variation : reference image로부터 새로운 이미지 생성
- ControlNet 포함 X
- Shuffle
- Reference-only
| In-domain | 프리트레인된 T2I diffuser로 만든 참조 이미지 |
| Out-of-domain | 다른 소스의 참조 이미지 (인터넷 등) |
결과

- fine-tuning한 VD가 여전히 가장 좋지만, 훈련 비용 큼
- 기존 ControlNet 모델은 도메인 일반화에 약함
- 훈련 목적(시각적 단서 복제)에 잘 부합함
- 구조 조건 없을 때도 spatial embedding이 도움 됨
Compare with Dual-ControlNet
Prompt-Free 방식이 다음 요소들을 더 잘 복제함: 질감 (texture), 색감 (color), 스타일, 배경

4.4 Reusability
한 번 잘 훈련해두면 → 다양한 스타일의 Text-to-Image 모델에서 재활용 가능!
- 기존 모델 아키텍처는 그대로 → 입력 임베딩만 SeeCoder로 대체!
- 원래 T2I 모델에서 CLIP을 사용하던 부분을 SeeCoder로 교체하기만 하면됨
- 추가학습 전혀 없이 기존 pre-trained SeeCoder을 다른 T2I 모델들에 붙이기만 함
테스트 대상 모델
| SD1.5 | 베이스 Stable Diffusion 1.5 |
| OpenJourney-V4 | 예술 스타일 중심 |
| Deliberate-V2 | 예술성 + 제어 가능성 강조 |
| OAM-V2 | 애니메이션 전용 |
| Anything-V4 | 애니메이션 커뮤니티 중심 모델 |
| RealisticVision-V2 | 포토리얼리즘 중심, 현실적인 이미지 생성 특화 |
- 일반 모델부터
- 아트 중심, 애니 특화, 현실 사진 특화 모델까지 다양하게 테스트함!
결과

- 별도 훈련 없이도 SeeCoder를 꽂기만 했는데도
- 모든 모델에서 잘 작동함
- Prompt-Free 방식으로도 각 모델의 스타일을 살려서 이미지 생성 가능
이 실험이 중요한 이유
- 기존 T2I 모델 사용자들은 프롬프트 없이도 모델을 사용할 수 있게 됨
- 프롬프트 설계 어려움 없이도 고급 이미지 제어 가능
- 애니/아트/포토 등 다양한 스타일의 T2I 모델과도 호환
4.5 Downstream Applications
Image-based Anime Figure Generation

- 시각적 단서(색, 질감 등)는 SeeCoder로부터 추출
- 포즈 같은 구조 정보는 ControlNet을 통해 제공
- 애니메이션 스타일은 일반 T2I 모델에 비해 도메인 특성이 다름 (out-of-domain)→SeeCoder를 OAM-V2 데이터에 맞춰 3만 step 추가 파인튜닝
Virtual Try-on
| 1. 옷 분리 | SAM(Segment Anything Model) [30] 사용해서 옷만 분리 |
| 2. ControlNet 조건 입력 | 분리된 옷 마스크를 구조 조건으로 입력 |
| 3. SeeCoder 시각 정보 | 참조 인물 이미지로부터 시각 임베딩 추출 |
| 4. 결과 생성 | 위 두 정보를 기반으로 가상 착의 이미지 생성 (Fig 10) |
- 텍스트 입력 없이도 → 마스크와 참조 이미지만으로 가상 착의가 된다는 것!
- 👕 옷은 마스크로, 👤 사람 정보는 이미지로 → SeeCoder가 시각적 단서로 학습
- Model cognitive study, Video generation에서도 SeeCoder의 이미지 기반 임베딩 활용 가능
5. Conclusion and Ethical Discussion
- 오남용 가능성
- 이 시스템은 기존 T2I 모델(SD 등)을 기반으로 하기 때문에 그 안에 이미 내재된 편향, 고정관념이 전이될 수 있음