<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Image Generation |</title><link>https://chaeniverse.github.io/tags/image-generation/</link><atom:link href="https://chaeniverse.github.io/tags/image-generation/index.xml" rel="self" type="application/rss+xml"/><description>Image Generation</description><generator>HugoBlox Kit (https://hugoblox.com)</generator><language>en-us</language><lastBuildDate>Sat, 02 May 2026 00:00:00 +0000</lastBuildDate><image><url>https://chaeniverse.github.io/media/icon_hu_da05098ef60dc2e7.png</url><title>Image Generation</title><link>https://chaeniverse.github.io/tags/image-generation/</link></image><item><title>Casting Image Generation</title><link>https://chaeniverse.github.io/projects/kpop-virtual-idol-casting-image/</link><pubDate>Sat, 02 May 2026 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/kpop-virtual-idol-casting-image/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;K-Pop 가상 아이돌 앱의 캐릭터를 캐스팅하기 위한 이미지 생성 프로젝트. &lt;strong&gt;얼굴·스타일·분위기 일관성&lt;/strong&gt; 을 만족하는 트레이니 후보군을 prompt 설계 + 반복 생성 + 정성 평가로 좁혀나갔습니다.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 일부 대외비 작업이 포함되어, 실제 prompt 전문·생성 이미지·캐릭터 식별 정보는 공개하지 않습니다. 본 페이지는 &lt;strong&gt;실험 단계와 방법론&lt;/strong&gt; 중심으로 정리합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="단계별-진화"&gt;단계별 진화&lt;/h2&gt;
&lt;h3 id="step-1--초기-캐스팅-prompt-설계"&gt;Step 1 — 초기 캐스팅 prompt 설계&lt;/h3&gt;
&lt;p&gt;목표: 가상 아이돌 트레이니의 변수 축을 prompt 변수로 정의하고, 그 격자로 후보 군을 만드는 것.&lt;/p&gt;
&lt;p&gt;변수 축 (공개 가능 범위):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;인종 (Race)&lt;/li&gt;
&lt;li&gt;성별 (Gender)&lt;/li&gt;
&lt;li&gt;분위기 (Mood)&lt;/li&gt;
&lt;li&gt;(그 외 축은 비공개)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;각 조합을 prompt template에 끼워 여러 조합을 만들고, trial 2회씩 반복해 안정성을 봤습니다.&lt;/p&gt;
&lt;p&gt;Prompt 구조 (요약):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;핵심 묘사: 변수 축 조합&lt;/li&gt;
&lt;li&gt;스타일 지침: photorealistic K-pop trainee profile photo&lt;/li&gt;
&lt;li&gt;구도: chest-up, front-facing&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id="step-2--id-사진-정제"&gt;Step 2 — ID 사진 정제&lt;/h3&gt;
&lt;p&gt;Step 1 결과에서 발견된 문제 (배경 색감이 인물 식별을 방해, 메이크업 표현 일관성 부족) 를 해결하기 위해 prompt 변종을 비교하고, 정체성을 깨는 요소를 막기 위한 &lt;strong&gt;negative constraints&lt;/strong&gt; 를 추가했습니다.&lt;/p&gt;
&lt;p&gt;→ 흰 배경 + 메이크업 무관 + 부정 제약으로 &lt;strong&gt;ID 사진의 정체성 일관성&lt;/strong&gt; 확보.&lt;/p&gt;
&lt;h3 id="step-3--visual-upgrade"&gt;Step 3 — Visual Upgrade&lt;/h3&gt;
&lt;p&gt;Step 2의 ID 사진을 reference로 두고, 같은 인물성을 유지하면서 &lt;strong&gt;사진 품질을 끌어올리는&lt;/strong&gt; prompt 변종을 비교. 채택된 best 버전이 후속
단계의 기본 reference로 사용됨.&lt;/p&gt;
&lt;h2 id="대규모-캐스팅-런-casting-runs"&gt;대규모 캐스팅 런 (Casting Runs)&lt;/h2&gt;
&lt;p&gt;Prompt 설계가 어느 정도 안정화된 후, 후보 다양성 확보를 위한 &lt;strong&gt;대규모 반복 생성&lt;/strong&gt; — 총 12회 캐스팅 런으로 &lt;strong&gt;약 800장&lt;/strong&gt; 생성. 각 런마다 약간씩 다른 prompt seed / 변수 조합 / 모델 파라미터로 결과 분포를 확장하고, 결과를 정성 검수해 &lt;strong&gt;최종 prompt&lt;/strong&gt; 를 확정.&lt;/p&gt;
&lt;h2 id="결과-분석-관점-정성-요약"&gt;결과 분석 관점 (정성 요약)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;prompt 변수 축의 분리도&lt;/strong&gt; — 인상·분위기는 잘 구분되지만, &lt;strong&gt;헤어 (특히 색상) 와 메이크업이 서로 영향을 주고받는 경향&lt;/strong&gt; 이 있었음 (예: 헤어 색만 바꿨는데 메이크업 톤도 같이 변함). 두 축을 독립적으로 제어하려면 명시적 negative constraint 가 필요.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;스케일 효과&lt;/strong&gt; — 여러 번의 반복 실험을 거쳐 안정적인 후보를 확보. &lt;strong&gt;prompt 설계만으로는 한계가 있고, 양적 탐색이 동반돼야 함.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="자동화-파이프라인"&gt;자동화 파이프라인&lt;/h2&gt;
&lt;p&gt;각 런은 다음 자동화 위에서 실행:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Prompt template + 변수 격자&lt;/strong&gt; — Python으로 모든 조합을 펼침&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API 호출&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML report 자동 생성&lt;/strong&gt; — combo·trial 단위로 시각적으로 비교 가능한 리포트 자동 출력 (정성 검수용)&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini Flash Image Preview&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt Engineering&lt;/strong&gt; — 5축 변수 정의, system prompt, negative constraints&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="다음-단계--관련"&gt;다음 단계 / 관련&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;확정된 companion profile 을 reference로 →
(다양한 scene 의 콘텐츠 컷)&lt;/li&gt;
&lt;li&gt;특정 포즈 정제 →
&lt;/li&gt;
&lt;li&gt;챗봇 persona 결합 →
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>OPT2I — Iterative Prompt Refinement</title><link>https://chaeniverse.github.io/projects/kpop-virtual-idol-opt2i/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/kpop-virtual-idol-opt2i/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;가상 아이돌 캐릭터의 &lt;strong&gt;특정 자세&lt;/strong&gt; 컷을 prompt 만으로 안정적으로 생성하기 어려워, &lt;strong&gt;iterative prompt refinement&lt;/strong&gt; 알고리즘을 적용한 실험. 베이스 알고리즘은 Mañas et al. (2024) 의 &lt;strong&gt;OPT2I&lt;/strong&gt; — LLM을 prompt optimizer로 두고 반복적으로 prompt를 다듬어 vision-language metric을 끌어올리는 방법.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 일부 대외비 작업이 포함되어, 실제 prompt 전문·생성 이미지·캐릭터 식별 정보는 공개하지 않습니다. 본 페이지는 &lt;strong&gt;알고리즘 구조와 실험 설계&lt;/strong&gt; 중심으로 정리합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="1-opt2i-알고리즘-요약"&gt;1. OPT2I 알고리즘 (요약)&lt;/h2&gt;
&lt;p&gt;OPT2I는 text-to-image 생성에서 prompt-image alignment 를 끌어올리기 위한 &lt;strong&gt;LLM-as-optimizer 루프&lt;/strong&gt;.&lt;/p&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-gdscript3" data-lang="gdscript3"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="ne"&gt;Input&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;user_prompt&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;초기&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="n"&gt;Output&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt; &lt;span class="n"&gt;best_prompt&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="err"&gt;최적화된&lt;/span&gt; &lt;span class="n"&gt;prompt&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="nb"&gt;round&lt;/span&gt; &lt;span class="n"&gt;r&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mf"&gt;1.&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;R&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;1.&lt;/span&gt; &lt;span class="n"&gt;LLM이&lt;/span&gt; &lt;span class="err"&gt;현재&lt;/span&gt; &lt;span class="n"&gt;best&lt;/span&gt; &lt;span class="n"&gt;prompt를&lt;/span&gt; &lt;span class="err"&gt;변주해&lt;/span&gt; &lt;span class="n"&gt;K개의&lt;/span&gt; &lt;span class="n"&gt;variant&lt;/span&gt; &lt;span class="err"&gt;생성&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;2.&lt;/span&gt; &lt;span class="err"&gt;각&lt;/span&gt; &lt;span class="n"&gt;variant로&lt;/span&gt; &lt;span class="err"&gt;이미지&lt;/span&gt; &lt;span class="err"&gt;생성&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;T2I&lt;/span&gt; &lt;span class="n"&gt;model&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;3.&lt;/span&gt; &lt;span class="err"&gt;각&lt;/span&gt; &lt;span class="err"&gt;이미지의&lt;/span&gt; &lt;span class="n"&gt;alignment&lt;/span&gt; &lt;span class="n"&gt;score&lt;/span&gt; &lt;span class="err"&gt;측정&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;e&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="n"&gt;g&lt;/span&gt;&lt;span class="o"&gt;.&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;CLIPScore&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;ImageReward&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="n"&gt;DSG&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;4.&lt;/span&gt; &lt;span class="err"&gt;가장&lt;/span&gt; &lt;span class="err"&gt;높은&lt;/span&gt; &lt;span class="err"&gt;점수의&lt;/span&gt; &lt;span class="n"&gt;prompt를&lt;/span&gt; &lt;span class="err"&gt;다음&lt;/span&gt; &lt;span class="n"&gt;round의&lt;/span&gt; &lt;span class="n"&gt;seed로&lt;/span&gt; &lt;span class="err"&gt;채택&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt; &lt;span class="mf"&gt;5.&lt;/span&gt; &lt;span class="err"&gt;점수가&lt;/span&gt; &lt;span class="err"&gt;더&lt;/span&gt; &lt;span class="err"&gt;이상&lt;/span&gt; &lt;span class="err"&gt;개선되지&lt;/span&gt; &lt;span class="err"&gt;않으면&lt;/span&gt; &lt;span class="err"&gt;조기&lt;/span&gt; &lt;span class="err"&gt;종료&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;핵심 가정: &lt;strong&gt;LLM이 좋은 prompt 생성기일 뿐 아니라 좋은 prompt 비평가&lt;/strong&gt; 도 될 수 있다 → 이전 round의 점수와 prompt 변종 패턴을 LLM context에 넣어 더 나은 변주를 유도.&lt;/p&gt;
&lt;p&gt;→ 논문:
&lt;/p&gt;
&lt;h2 id="2-구현--round--variant-격자"&gt;2. 구현 — Round × Variant 격자&lt;/h2&gt;
&lt;p&gt;본 실험에서 사용한 OPT2I 변형 파이프라인:&lt;/p&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;차원&lt;/th&gt;
&lt;th&gt;표기&lt;/th&gt;
&lt;th&gt;값&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Round&lt;/td&gt;
&lt;td&gt;&lt;code&gt;R2 – R5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;최대 5 라운드&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Variant&lt;/td&gt;
&lt;td&gt;&lt;code&gt;V1 – V5&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;라운드 당 후보 변종 수&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;각 round마다 &lt;strong&gt;variant 별 이미지&lt;/strong&gt; 를 모두 저장해 사후 정성 검수 + 정량 비교 가능하도록 했습니다.&lt;/p&gt;
&lt;h2 id="3-평가-metric--dsg-davidsonian-scene-graph"&gt;3. 평가 Metric — DSG (Davidsonian Scene Graph)&lt;/h2&gt;
&lt;p&gt;평가 metric으로 &lt;strong&gt;DSG (Davidsonian Scene Graph)&lt;/strong&gt; 를 결합.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;DSG는 prompt를 &lt;strong&gt;scene graph atomic question&lt;/strong&gt; 들로 분해하고, VQA 모델로 각 question에 대한 응답 정확도를 평가.&lt;/li&gt;
&lt;li&gt;단일 score보다 &lt;strong&gt;prompt의 어떤 측면이 충족/실패&lt;/strong&gt; 했는지 지시적 (interpretable).&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;→ &lt;code&gt;R-V&lt;/code&gt; 격자 결과를 DSG 점수로 비교해, &amp;ldquo;이 prompt 변주가 얼굴 형태는 잘 맞췄지만 헤어 길이 묘사가 약하다&amp;rdquo; 같은 진단을 자동화.&lt;/p&gt;
&lt;h2 id="4-결과-분석-관점-정성-요약"&gt;4. 결과 분석 관점 (정성 요약)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;DSG 도입 효과&lt;/strong&gt; — DSG atomic 평가는 prompt의 어떤 부분이 부족한지 가리켜주어 &lt;strong&gt;다음 round prompt 변주의 방향성&lt;/strong&gt; 이 명확해짐.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Round 수 trade-off&lt;/strong&gt; — round R≥4부터는 점수 상승이 둔화되는 경향. &lt;strong&gt;R=5 cap&lt;/strong&gt; 으로도 충분.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;비용&lt;/strong&gt; — round 수 × variant 수 × character 수 만큼 image API 호출이 늘어 비용이 빠르게 증가. 변종 1회당 약 $25–30 수준 (대략 추정).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; — OPT2I 루프 구현, round/variant 격자 관리, 결과 집계&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini Flash Image Preview&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LLM-as-optimizer&lt;/strong&gt; — prompt 변주 생성용 LLM (variant 후보 생성)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;DSG (Davidsonian Scene Graph)&lt;/strong&gt; — alignment evaluation metric&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="참고"&gt;참고&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Mañas et al., &lt;em&gt;Improving Text-to-Image Consistency via Automatic Prompt Optimization&lt;/em&gt;, 2024 —
&lt;/li&gt;
&lt;li&gt;Cho et al., &lt;em&gt;Davidsonian Scene Graph: Improving Reliability in Fine-grained Evaluation for Text-to-Image Generation&lt;/em&gt;, ICLR 2024&lt;/li&gt;
&lt;li&gt;Implementation —
(OPT2I + DSG core + side/fullbody runners)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="관련"&gt;관련&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;트레이니 캐스팅 단계 →
&lt;/li&gt;
&lt;li&gt;콘텐츠 컷 단계 →
&lt;/li&gt;
&lt;li&gt;챗봇 persona 단계 →
&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>Content Image Generation</title><link>https://chaeniverse.github.io/projects/kpop-virtual-idol-content-generation/</link><pubDate>Mon, 06 Apr 2026 00:00:00 +0000</pubDate><guid>https://chaeniverse.github.io/projects/kpop-virtual-idol-content-generation/</guid><description>&lt;h2 id="개요"&gt;개요&lt;/h2&gt;
&lt;p&gt;K-Pop 가상 아이돌 앱 프로젝트의 일부로 진행한 &lt;strong&gt;콘텐츠 이미지 생성&lt;/strong&gt; 실험입니다. 가상 아이돌에게 다양한 scene을 입히면서도 캐릭터(얼굴) 정체성은 변하지 않도록, prompt 설계·reference conditioning·격자 탐색을 결합해 검증했습니다.&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;strong&gt;보안 안내.&lt;/strong&gt; 본 프로젝트는 일부 대외비 작업이 포함되어, 실제 prompt 전문·생성 이미지·캐릭터 식별 정보는 공개하지 않습니다. 본 페이지는 &lt;strong&gt;실험 설계와 방법론&lt;/strong&gt; 중심으로 정리합니다.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;h2 id="실험-목적"&gt;실험 목적&lt;/h2&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;em&gt;&amp;ldquo;같은 캐릭터(얼굴)를 유지하면서, 다양한 scene의 콘텐츠 컷을 일관되게 생성할 수 있는가?&amp;rdquo;&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;일관성 (consistency)&lt;/strong&gt; — 캐릭터의 얼굴이 scene이 바뀌어도 같은 사람으로 인식되어야 함&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;다양성 (variety)&lt;/strong&gt; — 같은 캐릭터라도 scene·구도·의상이 자연스럽게 변주되어야 함&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;콘셉트 표현&lt;/strong&gt; — 각 scene의 분위기 (일상의 자연스러움, 상황감, 아이돌 포즈) 가 prompt만으로 전달되어야 함&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="실험-설계"&gt;실험 설계&lt;/h2&gt;
&lt;h3 id="신scene-3종"&gt;신(Scene) 3종&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;신 ID&lt;/th&gt;
&lt;th&gt;콘셉트&lt;/th&gt;
&lt;th&gt;목적&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scene #1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;일상, 자연스러움&lt;/td&gt;
&lt;td&gt;자연스러운 표정 자세로 친근감 형성&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scene #2&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;시그니처 포즈&lt;/td&gt;
&lt;td&gt;팬 인터랙션용 정형 포즈 일관성 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;Scene #3&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;특정 장소 배경&lt;/td&gt;
&lt;td&gt;콘셉트가 강한 narrative 컷의 prompt 표현력 검증&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;h3 id="reference-image-conditioning"&gt;Reference-Image Conditioning&lt;/h3&gt;
&lt;p&gt;각 콘텐츠 컷 생성 시 유저가 생성한 캐릭터 ID 사진을 reference로 함께 입력해, &lt;strong&gt;얼굴 정체성 유지&lt;/strong&gt; 를 강제합니다. Prompt 앞단에 다음과 같은 지침을 둡니다 (요약):&lt;/p&gt;
&lt;blockquote class="border-l-4 border-neutral-300 dark:border-neutral-600 pl-4 italic text-neutral-600 dark:text-neutral-400 my-6"&gt;
&lt;p&gt;&lt;em&gt;Keep the person&amp;rsquo;s facial features exactly the same as the reference image. This is the same person, not a look-alike or approximation.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;이를 통해 gemini의 image-to-image 모드에서 동일 인물성을 안정적으로 보장.&lt;/p&gt;
&lt;h3 id="combo-변주"&gt;Combo 변주&lt;/h3&gt;
&lt;p&gt;각 신 안에서 &lt;strong&gt;combo (조합)&lt;/strong&gt; 단위로 prompt 변종을 둡니다 — 의상 / 헤어 등 hyperparameter를 격자 탐색 형태로 변형. 동일 character × 동일 combo에서 &lt;strong&gt;trial 반복&lt;/strong&gt; 으로 생성 안정성도 같이 본다.&lt;/p&gt;
&lt;h3 id="생성-규모"&gt;생성 규모&lt;/h3&gt;
&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;실험&lt;/th&gt;
&lt;th&gt;생성 이미지 수&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Scene #1&lt;/td&gt;
&lt;td&gt;≈ 1,249 장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scene #2&lt;/td&gt;
&lt;td&gt;≈ 937 장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Scene #3&lt;/td&gt;
&lt;td&gt;≈ 1,041 장&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;총합&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;&lt;strong&gt;≈ 3,200 장&lt;/strong&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;각 이미지는 384×688 해상도, 평균 약 9–11초 / 장 소요, 장당 비용 약 $0.045 수준.&lt;/p&gt;
&lt;h2 id="결과-분석-관점"&gt;결과 분석 관점&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;얼굴 일관성&lt;/strong&gt; — 헤어 색·길이는 prompt에 명시적 제약 (&lt;code&gt;Do NOT alter the hairstyle color or length&lt;/code&gt;) 을 둬야 안정적이었다.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;포즈 정확성&lt;/strong&gt; — 손가락 위치·구도가 변동성이 큼. 별도 negative prompt (e.g., &lt;code&gt;no extra fingers&lt;/code&gt;) 로 보완.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;콘셉트 강도&lt;/strong&gt; — 장소 디테일은 prompt에 명시적으로 포함시킬수록 narrative가 살아나지만, 그만큼 얼굴 영역의 픽셀 비율이 줄어 정체성 손실 위험 증가 → reference 가중치 / 카메라 거리 prompt를 같이 조정.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id="실험-흐름-자동화"&gt;실험 흐름 (자동화)&lt;/h2&gt;
&lt;p&gt;각 sprint는 다음 자동화 파이프라인 위에서 돌렸습니다.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Prompt template 정의&lt;/strong&gt; — scene별 system prompt + character 변수 슬롯&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Combo grid expansion&lt;/strong&gt; — Python으로 character × combo × trial 격자 생성&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;API 호출&lt;/strong&gt; — image+text → image&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;HTML report 자동 생성&lt;/strong&gt; — combo 단위로 시각적으로 묶어 검수 가능한 리포트&lt;/li&gt;
&lt;/ol&gt;
&lt;h2 id="stack"&gt;Stack&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Python&lt;/strong&gt; — 실험 파이프라인 (combo grid, API 호출, HTML report 생성)&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Gemini Flash Image Preview&lt;/strong&gt; — 이미지 생성 모델&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Prompt Engineering&lt;/strong&gt; — system prompt + reference conditioning + negative constraints&lt;/li&gt;
&lt;/ul&gt;</description></item></channel></rss>