📑 Paper
DiffSensei
1. Introduction
텍스트 설명으로부터 시각적인 이야기를 만드는 작업인 story visualization은 T2I 모델을 통해 진전을 이뤄왔습니다. 그러나 이러한 모델은 여러 캐릭터가 등장하면 효과적으로 제어하지 못하는 경우가 많습니다. 심지어 만화는 다른 전통적인 story visualization과는 다르게, panel 전체에 걸쳐 일관된 여러 캐릭터 뿐만 아니라, 각 캐릭터들을 배치하기 위한 layout 및 dialog box의 layout 제어도 필요합니다.
게다가 대부분의 기존 만화 연구는 주로 일반 이미지를 만화 스타일로 style transfer하는 low-level I2I 작업에 초점을 맞추고 있습니다. 이러한 연구들은 fully customized manga content를 생성할 수는 없습니다.

DiffSensei는 만화 panel을 생성하는 것이 목표로써 만화 제어 기능에 중점을 둡니다. 각 multiple characters의 외형 뿐만 아니라 layout까지도 customize 할 수 있고, dialog의 layout 또한 조절 가능합니다.
아래는 주요 contribution 입니다.
- MangaZero dataset with finely curated character annotations.
- Masked attention injection to manage character layout + dialog embedding.
캐릭터 layout을 관리하는 masked attention injection과 dialog embedding 기술을 통합하여, panel 내의 캐릭터와 dialog 배치를 정밀하게 제어할 수 있습니다.
- Multimodal Large Language Model as a text-compatible character adapter.
Diffusion 기반의 이미지 생성 모델을 사용했을 때, 동일한 캐릭터의 여러 모습에 대한 학습에도 불구하고 생성된 이미지가 입력 캐릭터 이미지의 픽셀 분포를 따르게 되어 텍스트 입력에 따른 flexibility가 제한적인 경향이 있음을 관찰했습니다. 따라서 MLLM을 텍스트와 호환 가능한 캐릭터 adapter로 사용하여 마치 캐릭터 연기 director처럼 사용할 것을 제안합니다.
2. Related Work
2. 1. Story visualization
대부분의 기존 방식은 텍스트와 이미지 프롬프트로만 story images를 생성하기 때문에 개별 캐릭터에 대한 유연한 제어가 제한적입니다. 그런데 이 문제의 근본적인 요인으로 현존 학습 데이터세트에는 캐릭터 별 annotation이 없다는 점을 꼽았습니다.
데이터의 한계로 인해, 최근에는 IP-Adpater와 같은 기존 subject 보존 기술을 활용하는 training-free 방법을 사용하여 multi-character 제어를 연구했습니다. 그러나 이러한 접근 방식은 'copy-paste' 효과로 인해 역동적인 동작과 다양한 표정을 제한하고 여러 모델을 결합하는 것은 inference 속도를 심각하게 늦출 수도 있습니다.
이러한 문제를 해결하기 위해, 먼저 large scale의 캐릭터 별 annotation dataset을 구축했습니다.
3. The MangaZero Dataset
3. 1. Problem Formulation
만화 생성에서 중요한 점은 캐릭터의 표정, 동작, 포즈를 유연하게 수정하여 텍스트 프롬프트에 적응해야 한다는 점입니다.
개의 panel에 걸친 만화 스토리를 생성하기 위해서는, 입력은 각 panel에 대해서 텍스트 프롬프트와 캐릭터 이미지 그리고 캐릭터 bounding box 마지막으로 dialog bounding box 가 필요합니다.
그런데 story visualization 작업에서는 panel이 로 생성됩니다. Story continuation 작업에서는 로 이전 panel에 의존해서 생성되지만, 둘 다 캐릭터 제어는 부족합니다.
기호
is the overall model function, and represents the model’s learned parameters.
3. 2. Dataset Construction

MangaZero 데이터세트 구축에 사용한 일본 흑백 만화 시리즈 48개 입니다.

column 설명
#Series: 각 시리즈에서 1,000페이지까지 수집했다고 하니, 만화책 한 권이 보통 150~200페이지 내외인 것을 고려하면 여러 권을 사용하여 데이터세트를 구축했음을 알 수 있습니다.
#Stories: 애니메이션의 경우에는 동일한 annotation 캐릭터가 등장하는 장면이라면, 영상 길이에 상관없이 해당 시퀀스를 1개의 스토리로 기준을 잡았습니다. 만화의 경우에는 한 페이지를 1개의 스토리로 기준을 잡았습니다.
#Panels: 애니메이션의 경우에는 frame 수가 되고, 만화의 경우에는 컷 수를 기준으로 잡았습니다.
MangaZero 데이터세트는 해상도가 다양하고, 여러 만화 시리즈를 포함하고, panel 수가 많고, annotation이 풍부하고, 최신 소스까지 다루고 있습니다.

MangaZero는 3가지 단계에 걸쳐 데이터세트를 구축했습니다. 1) 인터넷에서 만화 페이지를 다운로드하고, 2) 사전 학습된 Magi 모델을 사용하여 labeling하고, 3) 사람이 직접 캐릭터 ID annotation을 조정을 합니다.
한 가지 특이한 점은, 1페이지에서 등장하는 인물에게 'Person_1'이라는 ID를 붙이고, 5페이지에서 동일한 인물이 등장하더라도 5페이지에서는 'Person_5'와 같이 다른 ID를 붙여 1페이지의 인물과는 별개로 처리합니다. 즉, 페이지마다 해당 페이지 내에서만 유지되는 캐릭터 ID를 새로 부여합니다. 이는 labeling에 사용한 Magi 모델의 한계라고 생각되는데, 그래도 캐릭터 일관성을 달성하기에는 충분하다고 합니다.
Panel의 caption 생성에는 LLaVA-v1.6-34B를 사용합니다.
4. Method
캐릭터 외형과 layout을 customizing하는 데는 두 가지 중요한 문제가 있습니다. 1) 소스 이미지로부터의 copy-paste는 피하면서 캐릭터의 특징을 보존해야 하고, 2) 최소한의 계산 비용으로 layout 제어를 보장해야 합니다.
먼저 copy-paste를 방지하기 위해, 캐릭터 이미지 feature를 몇 개의 token으로 압축하여 픽셀 단위의 디테일이 직접 전송되는 것을 방지합니다. 또한 캐릭터 이미지 feature adapter로써 MLLM을 통합합니다. MLLM adapter는 소스 캐릭터 feature와 panel caption을 입력으로 받아 텍스트와 호환되는 target 캐릭터 feature를 생성합니다. 이 방식을 사용하면 텍스트와 호환되는 캐릭터 encoding을 통해 caption을 유연하게 캐릭터에 적용할 수 있습니다.
Layout 제어를 위해 캐릭터 및 dialog layout 모두에 가벼운 masked encoding 기법을 사용하여 계산 비용을 크게 줄이면서 학습 및 추론 단계 모두에서 높은 정확도를 유지합니다.
4. 1. Stage 1
Multi-character feature extraction

먼저 CLIP을 사용하여 detail에 해당하는 로컬 이미지 feature를 추출하고, Magi Image Encoder를 사용해서 context에 해당하는 image-level feature를 추출합니다. 이 두 가지 feature set는 Feature Extractor에서 Diffusion 모델의 U-Net에서 cross-attention layer가 처리할 수 있는 차원과 형식으로 resampling됩니다. 좀 더 자세히 설명하자면, Feature Extractor 내부의 resampler 모듈에서 캐릭터 이미지를 몇 개의 token으로 압축하는 역할을 하는데, 이는 참조 이미지에서 픽셀 단위의 feature가 모델에 직접적으로 encoding되는 것을 방지하고 semantic 표현에 집중할 수 있게 됩니다.
기호
: 만화에 특화된 Magi 이미지 encoder
: 각각 캐릭터와 non-character feature에 대해 학습 가능한 query입니다.
는 이미지 feature를 U-Net의 cross-attention의 차원으로 resample합니다.
는 는 cross-attention layer에서 캐릭터 layout이 없는 영역에서 query의 guide 역할을 하게 됩니다.
: 모든 캐릭터에 대한 output feature입니다. ( )
는 배치 사이즈, 는 panel당 최대 캐릭터 수, 는 캐릭터당 query token 수, 그리고 는 U-
Net의 cross-attention 차원입니다.
설명
사전 학습된 CLIP과 Magi의 파워를 활용하되 이들을 직접 재학습시키지 않으면서도, Feature Extractor 내부의 resampler에 와 같은 학습 가능한 파라미터들을 통해 특징 추출 및 압축 성능을 최적화하고, 이를 Diffusion 모델의 핵심인 cross-attention layer에 효과적으로 연결하여 전체적인 생성 성능을 끌어올립니다.
Masked cross-attention injection
현재 생성 중인 이미지의 중간 표현()이 query를 파생시키고, 캐릭터 이미지로부터 추출된 feature(key, value) 와 cross-attention을 계산합니다. 마찬가지로 panel caption의 key, value와 cross-attention을 수행하고, 최종적으로 텍스트 attention 결과와 캐릭터 attention 결과를 결합합니다.
기호
is the query, are query, key, value projection matrices for the text cross-attention.
are key and value projection matrices for the character cross-attention, initialized from .
is the key demension.
are text and character features respectively.
are the input and output image features.
is a hyperparameter that controls character attention weight.
설명
캐릭터 cross-attention에서는 masked cross-attention injection 메커니즘으로 각 캐릭터의 layout을 제어합니다. 이때, 각 캐릭터 feature는 지정된 bounding box 영역 내의 query feature에만 적용됩니다. 캐릭터가 없는 배경 영역에서는, query feature는 placeholder 벡터 에 attend합니다.
Masked attention injection 메커니즘은 각 캐릭터는 해당 bounding box 영역에만 attention하고, 배경 영역은 placeholder 벡터에만 attention하도록 만듭니다.
기호
is an attention mask to manage the characters’ layout.
denotes the position of query tokens.
is the character indices. The -th character feature represents the placeholder vector .
is the bounding box of the -th character.
예시
가정:
- 현재 이미지: 16x16 픽셀 크기의 중간 latent 이미지 (query에 해당)라고 가정하고, 간단히 query token이 256개 (16x16) 있다고 가정하겠습니다.
- 캐릭터 이미지 1: 철수 사진
- 캐릭터 이미지 2: 영희 사진
- Bounding box 1 (철수): 이미지 좌상단 (예: x1=0, y1=0, x2=8, y2=8)
- Bounding box 2 (영희): 이미지 우하단 (예: x1=8, y1=8, x2=15, y2=15)
- Placeholder (): (세 번째 캐릭터 인덱스)
1. Feature Extractor를 통한 생성:
- 철수 이미지 → resampler → (철수 feature token)
- 영희 이미지 → resampler → (영희 feature token)
- → (배경/placeholder feature token)
이제 는 와 같이 3개의 feature token으로 구성됩니다. 이들이 attention의 key ()와 value ()를 만드는 원천이 됩니다.
2. Attention score 행렬 () 계산:
- U-Net 내부의 현재 이미지 query (256개 token)와 에서 파생된 key (3개 token)를 사용하여 attention score 행렬을 계산합니다.
- 이 행렬은 크기가 될 것입니다. 각 행은 이미지의 한 픽셀(query)에 해당하고, 각 열은 철수, 영희, placeholder () 특징에 해당합니다.
...
3. 마스크 적용:
이제 수식에 따라 마스크 을 이 attention score 행렬에 더합니다.
- 철수 bounding box 내부 픽셀 (예: ~ , 실제로는 16개씩 행을 건너뛰는 불연속적인 쿼리):
- (철수)에 대해: (철수 바운딩 박스 안) → (어텐션 허용)
- (영희)에 대해: (영희 바운딩 박스 밖) → (어텐션 차단)
- ()에 대해: (배경용) → (어텐션 허용) 단, 캐릭터가 아닌 에 attention.
- 영희 bounding box 내부 픽셀 (예: ~ ):
- (철수)에 대해: → (어텐션 차단)
- (영희)에 대해: → (어텐션 허용)
- ()에 대해: (배경용) → (어텐션 허용) 단, 캐릭터가 아닌 에 어텐션
- 배경 영역 픽셀 (bounding box 외부, 예: ~ ):
- (철수)에 대해: → (어텐션 차단)
- (영희)에 대해: → (어텐션 차단)
- ()에 대해: 이고 (배경 영역) → (어텐션 허용)
마스크가 더해진 attention score 행렬 (예시):
(철수 바운딩 박스 내)
(철수 바운딩 박스 내)
...
Q_64
(배경 영역)
...
Q_192
(영희 바운딩 박스 내)
...
4. Softmax 적용 및 와 연산:
- 각 행에 대해 softmax를 적용하면, 가 들어간 열의 attention 가중치는 거의 0이 됩니다.
- 0이 된 attention 가중치는 해당 key/value를 전혀 참조하지 않도록 만듭니다.
결과:
- 철수 bounding box 내부 픽셀: 오직 철수 feature()에만 attention하고, 영희 feature나 feature는 참조하지 않습니다.
- 영희 bounding box 내부 픽셀: 오직 영희 feature()에만 attention하고, 철수 feature나 feature는 참조하지 않습니다.
- 배경 영역 픽셀: 오직 feature()에만 attention하고, 철수나 영희 feature는 참조하지 않습니다.
이 과정을 통해 layer는 각 픽셀이 "어떤 캐릭터(또는 배경) 정보를 참조해야 하는지"를 명확하게 지정하여, 정확한 레이아웃과 정체성 보존을 달성하게 됩니다.
Stage 1 중간 요약
- Resampler가 , , , 를 활용하여 (압축된 캐릭터 feature token)를 생성합니다.
- 이 는 U-Net의 cross-attention layer(여기서는 . 부분)로 전달되어 와 를 파생시킵니다.
- U-Net의 이미지 특징()은 를 파생시킵니다.
- 는 와 에 attention하며, 이때 마스크()가 적용되어 각 캐릭터의 bounding box 영역 내에서만 attention이 이루어지도록 합니다.
- 이 과정을 통해 layout이 제어되면서 특정 캐릭터가 지정된 위치에 생성됩니다.
Dialog layout encoding
T2I 모델은 정확한 텍스트를 생성하는 데 어려움을 겪습니다. 최근의 일부 모델은 안정적인 텍스트를 생성할 수 있지만, 텍스트 길이 측면에서 여전히 제한적입니다. 따라서 콘텐츠 자체보다는 dialog의 layout을 제어할 것을 제안합니다. 결국 이미지 생성은 모델에게 맡기고, 사람이 말풍선 내의 텍스트를 수동으로 편집하는 방법입니다. 따라서 dialog layout을 표현하는 학습 가능한 embedding을 소개합니다.
dialog embedding은 먼저 noised latent에 맞게 확장된 다음, dialog layout으로 마스크 처리됩니다. 마스크 처리된 dialog embedding과 noised latent를 합하여 이미지 generator 내에서 dialog 위치를 encoding할 수 있습니다.
기호
is the trainable dialog embedding.
is the noised latent in time step .
is a function that expands to latent shape.
is the dialog region mask derived from input dialog bounding boxes .
is the output, serves as a dialog-layout-aware latent representation. This is then input into the for noise prediction.
설명
여기서 (dialog embedding mask)는 0, 1로 구성되고 element-wise로 곱해지게 되어, 해당 위치가 대화 상자 영역에 속하는 곳에만 dialog embedding이 주입됩니다.
4. 2. Stage 2
MLLM as text-compatible character feature adapter
이미지 generator를 훈련하고 나면, 주어진 캐릭터 외형과 layout 조건을 준수하는 만화 panel을 효과적으로 만들 수 있습니다. 하지만, 종종 capy-paste 효과 때문에 panel caption에 따라 표정, 포즈 또는 동작을 조정하는 유연성이 부족합니다. 따라서 MLLM을 text와 호환되는 캐릭터 feature adapter로 통합할 것을 제안합니다.
이를 위해 Language Model Loss와 MSE Loss 2 가지 Loss를 사용합니다. 먼저 MLLM은 token을 예측하는 방식으로 학습되므로, LM Loss는 예측된 캐릭터 feature가 <IMG>와 </IMG> token 사이에 위치하도록 MLLM의 출력 형식을 제약합니다. MSE Loss는 MLLM이 예측한 캐릭터 이미지 feature와 target 이미지 feature 사이의 오차를 계산하여 최소화는 방식으로 모델이 target 이미지 feature와 유사한 결과를 만들도록 합니다.
기호
is the text prompt.
and denote the input and output resamplers of MLLM, which consist of stacked attention layers to convert the embeddings between inner and outer dimensions.
refers to the MLLM predicted special token embeddings. (Calculate LM Loss on it.)
is the predicted character feature. (Compute MSE Loss between and , the ground truth target characater embedding extracted from the Feature Extractor.)
MangaZero의 캐릭터 ID annotation을 활용하면 여러 panel에서 동일한 캐릭터의 feature를 얻을 수 있으므로(예: 놀란 표정 철수, 웃는 표정 철수, 슬픈 표정 철수 ) MLLM 기능 어댑터의 학습이 용이해집니다. 그런 다음 adapted 캐릭터 feature 는 이전에 훈련된 이미지 generator 로 전달되어 diffusion loss를 계산합니다. 이 diffusion loss를 사용하여 U-Net이 아닌 MLLM내의 LoRA 및 Resampler 가중치를 업데이트 합니다.
최종 MLLM Loss Function은 다음과 같습니다.
Stage 2 정리
네, Stage 2의 목적은 정확히 고객님이 이해하신 대로입니다. MLLM으로 조정한 캐릭터 feature를 사용하여 이미지 생성기(U-Net)가 더 잘 작동하도록, 하지만 이미지 generator 자체의 가중치는 대부분 고정하고 MLLM의 특정 파라미터만 학습시킵니다.
자세히 설명하면:
Stage 2 (MLLM을 이용한 미세 조정):
- 목표: Stage 1에서 학습된 이미지 생성기(U-Net)가 텍스트 프롬프트에 따라 캐릭터의 표정, 포즈, 움직임을 유연하게 조정할 수 있도록 MLLM을 학습시키는 것입니다.
- MLLM의 입력: panel caption, source character image features, target character image features로 구성된 훈련 샘플을 받습니다.
- 전달: MLLM이 panel caption에 기반하여 조정한 캐릭터 feature인 를 이미지 생성기(U-Net)의 에 전달합니다.
- Diffusion Loss 계산: 이 를 condition으로 사용하여 U-Net이 노이즈를 예측하게 하고, 예측된 노이즈와 실제 노이즈 간의 diffusion loss를 계산합니다.
- 업데이트 대상: 이 단계에서는 이미지 generator(U-Net)의 가중치는 freeze되고, 오직 MLLM 내의 LoRA 및 resampler 가중치만 업데이트됩니다.
왜 이렇게 하는가?
- 정렬: MLLM이 생성한 '편집된' 캐릭터 feature()가 이미지 generator(U-Net)가 실제로 이미지를 만들어내는 방식(feature space)과 잘 정렬되도록 MLLM을 학습시킵니다.
- 효율성: 이미지 generator 전체를 다시 학습시키는 것은 비용과 시간이 많이 들기 때문에, LoRA와 같은 효율적인 미세 조정 기법을 사용하여 MLLM의 특정 부분만 업데이트합니다.
따라서, Stage 2는 MLLM을 사용하여 이미지 generator의 텍스트에 따른 캐릭터 변화를 향상 시키기 위한 미세 조정 단계입니다. 이미지 generator 자체의 큰 구조나 기본 학습 내용은 Stage 1에서 이미 완료되었고, Stage 2에서는 MLLM이 '번역가'처럼 작동하여 텍스트 명령을 이미지 generator가 잘 이해하는 캐릭터 feature로 변환하도록 학습하는 과정이라고 볼 수 있습니다.
최종 정리
네, 고객님께서 이해하신 내용이 정확합니다.
DiffSensei의 학습 및 활용 흐름을 요약하면 다음과 같습니다:
- Stage 1:
- 별도의 텍스트 인코더 사용: 이 단계에서는 U-Net의 에 panel caption (텍스트 프롬프트)을 전달하기 위해 MLLM이 아닌 별도의 텍스트 인코더 (예: SDXL의 기본 텍스트 인코더나 CLIP의 텍스트 인코더)를 사용합니다.
- 목표: 이미지 생성기(U-Net)와 Feature Extractor가 기본적인 만화 이미지 생성, 캐릭터 이미지 특징 통합, 그리고 레이아웃 제어 능력을 학습하도록 합니다.
- Stage 2:
- MLLM 학습: 이 단계에서는 MLLM (SEED-X 기반)을 캐릭터 특징 어댑터로 학습시킵니다. 이 MLLM은 panel caption과 원본 캐릭터 특징을 입력받아 텍스트 지시에 따라 캐릭터 특징을 조정하는 방법을 배웁니다.
- MLLM 내 LoRA 및 Resampler 가중치 업데이트: MLLM의 특정 파라미터 (LoRA 및 내부 Resampler 가중치)만 업데이트하며, Stage 1에서 학습된 이미지 생성기(U-Net)는 동결됩니다.
- 최종 활용 (추론 시):
- MLLM의 역할: 최종적으로, Stage 2에서 학습시킨 MLLM이 panel caption (텍스트 프롬프트)을 해석하여 캐릭터 특징을 동적으로 조정하는 데 활용됩니다. MLLM은 panel caption과 원본 캐릭터 이미지를 입력으로 받아, 텍스트에 적합하게 조정된 캐릭터 특징을 생성하여 이미지 생성기(U-Net)에 전달합니다.
- '텍스트 인코더'로서의 MLLM: 이러한 의미에서 MLLM은 단순히 텍스트를 임베딩하는 것을 넘어, 텍스트의 의미를 해석하여 이미지 생성에 필요한 '조정된 캐릭터 특징'을 만들어내는, 더 고차원적인 '텍스트 컨디셔닝 어댑터' 또는 '텍스트 해석 및 특징 조정' 역할을 한다고 볼 수 있습니다. 일반적인 T2I 모델의 텍스트 인코더가 "무엇을 그릴지"를 지시하는 반면, DiffSensei의 MLLM은 "이 캐릭터를 텍스트에 따라 어떻게 변화시켜 그릴지"를 제어하는 데 핵심적인 역할을 합니다.
5. Experiments
5. 1. Experimental Settings
Implementation details
- Base model: SDXL
- Feature Extractor: IP-AdapterPlus-SDXL
- MLLM: SEED-X
- LoRA와 Resampler 가중치는 무작위로 초기화
- Optimizer: Adam W
- Stage 1
- lr = 1e-5
- 250k steps
- Stage 2
- lr = 1e-4
- Rank of LoRA = 64
- 20k steps
- Coefficients
- = 1.0
- = 6.0
- = 1.0
Source 캐릭터 이미지 선택 시 50%는 target 이미지에서 추출했습니다. 예를 들어, target 이미지의 한 페이지에 하나의 캐릭터가 4번 등장한다고 하면, 그 중에서 하나를 source 캐릭터 이미지로 사용했습니다. 그 이유는 만화에는 예술적 과장이 표현되어 있어서 캐릭터의 모습이 panel마다 크게 달라져 학습에 어려움이 있습니다. 그런데 이 방법을 사용하면 그 4번 중에는 해당 캐릭터의 과장된 다양한 표정 등과 함께 정체성을 학습 하기에 용이합니다. 그렇다고 source 캐릭터 이미지를 target 이미지에서 뽑는 비율을 높이면, 모델이 과도하게 input 캐릭터 이미지를 복제하는 경향이 생겨 text compatibility가 감소함을 확인했습니다.
또한 학습 중 다양한 이미지 해상도를 처리하기 위해 이미지를 해상도 별로 그룹화하는 bucket 방법을 사용했습니다. 각 Training batch마다, 동일한 해상도 bucket에 속한 이미지를 사용합니다. 배치 사이즈는 1단계에서 8~64개, 2단계에서 8~128개 사이로 다양합니다. 이 동적 배치 사이즈 조정은 특히 고해상도 이미지를 처리할 때 메모리 부족(OOM) 문제를 방지하는 데 필요합니다.
Evaluation datasets and metrics
- Evaluation dataset: MangaZero & Manga109 evaluation sets
- Metrics:
- Frechet Inception Distance score (FID)
- CLIP image-text similarity (CLIP)
- DINO image similarity (DINO-I), DINO character image similarity (DINO-C)
- F1 score for dialog bounding box
- 5 Keys by human volunteers for story visualization
- Text-image alignment
- Style consistency
- Character consistency
- Image quality
- Overall preference.
5. 2. Comparison to Baselines
Baselines
- Story visualization models
- StoryDiffusion
- AR-LDM
- StoryGen
- SEED-Story
- MS-Diffusion
Quantitative comparison

multi-subject customiztion의 baseline인 MS-Diffusion에 비해 CLIP 지표가 더 높습니다. DINO 지표를 보면 이미지 퀄리티와 캐릭터 유지 성능도 좋습니다.

사람이 평가한 결과 역시 매우 압도적입니다.
Qualitative Results

AR-LDM, StoryGen 는 캐릭터 이미지를 입력으로 처리할 수 없으므로 캐릭터 layout을 명시적으로 제어하는 기능이 제한됩니다.
SEED-Story 는 panel caption을 예측하기 위해 MLLM을 통합했지만, 그 효과가 제한적이어서 결과가 부자연스럽습니다.
StoryDiffusion 는 self-attention sharing 메커니즘으로 인해 고정된 해상도 이미지만 생성할 수 있어 다양한 이미지를 생성하는 데 한계가 있습니다.
MS-Diffusion 는 아이덴티티 보존 및 캐릭터 layout 제어에서 비교적 우수한 성능을 보여줍니다. 하지만, 캐릭터 입력 이미지를 지나치게 따르는 경향이 있어 텍스트 입력에 따라 캐릭터 모습을 동적으로 조정할 수 있는 유연성이 부족합니다.
5. 3. Ablation Study


기호
CM: character masked attention injection.
DM: dialog masked encoding.
Magi: using Magi image encoder.
MLLM: using MLLM for stage 2 training.
CM을 제외하고 학습 시, 캐릭터 layout을 제어하지 못합니다.
DM을 제외하고 학습 시, dialog layout을 제어하지 못합니다.
Magi encoder를 제외하고 학습 시, 만화 스타일을 유지하지 못합니다.
MLLM을 제외하고 학습 시, text에 유연하지 못하고 source 캐릭터 이미지를 copy-paste 하는 경향을 보입니다.
6. Conclusion
DiffSensei는 diffusion 기반의 이미지 generator와 텍스트와 호환 가능한 identity adapter로써의 MLLM을 통합한 multi-character customized story visualization을 위한 새로운 framework입니다.
Key innovations
- Masked attention for character layout control
- Dialog layout embedding for dialog layout control
- MLLM-based feature adapter for flexible character customization
7. Discussion
7. 1. Limitations
Input limitations

(a) Unclear input character images:
입력된 캐릭터 이미지가 모호하거나 불분명하면 모델이 캐릭터의 명확한 외형을 캡처하는 데 어려움을 겪어 정체성을 잃게 됩니다. → 데이터세트를 정제하거나, 사용자가 input을 잘 입력해야 합니다.
(b) Multi-character Fusing:
여러 캐릭터를 input으로 넣으면 '융합 현상'이 나타나는 경우가 있습니다. → base 모델인 SDXL도 같은 문제가 있어서 다른 T2I 모델 찾거나 disentangle 잘하는 방법 찾아야 합니다.
(c) Style control without character input:
캐릭터 입력 없이 만화 panel을 생성하면 출력 스타일을 제어하는 데 어려움을 겪습니다.
Dataset limitations

데이터세트 내의 panel 해상도 분포입니다. 256×256, 512×512, 1024×1024의 해상도를 나타내는 세 개의 기준선이 포함되어있습니다. 대부분의 만화 panel은 첫 번째와 두 번째 라인 주변에 모여 있으며, 이는 대부분의 panel이 최근 연구에서 일반적으로 강조되는 해상도에 비해 상대적으로 낮은 해상도입니다. 이러한 특성은 만화 데이터 자체에 내재되어 있습니다.
7. 2. Broader Impacts
- Webtoon
흑백 만화 뿐만 아니라 웹툰 제작 과정에서 초기 스케치 작업을 자동화하여 효율성을 높이고 창작 과정을 단축할 수 있습니다.
- Education
교육 환경에서는 내러티브에 맞는 시각적 보조 자료를 생성하여 학생들의 참여도와 이해도를 높이는 데 도움을 줄 수 있습니다.
- Film
영화 제작에서는 시각적 스토리보드의 초안을 빠르게 작성하는 사전 시각화 도구로 사용되어 작가, 감독, 제작팀 간의 아이디어 도출과 커뮤니케이션을 촉진할 수 있습니다.