
[Day 11] 내 고양이를 애니메이션 예술로 바꾸려 했는데 AI가 대신 사람 소녀를 그렸다. IPAdapter 사진 한 장으로 다시 고양이로
요약
고양이 사진 한 장을 활용해 다양한 애니메이션 및 예술 스타일로 변환하려는 시도와 그 과정에서의 시행착오를 다룹니다. 텍스트 프롬프트와 IPAdapter를 사용했음에도 AI가 고양이를 사람으로 해석하는 문제를 해결해 나가는 과정을 보여줍니다.
핵심 포인트
- 텍스트 프롬프트만으로는 의도한 대상(고양이)을 유지하기 어려움
- IPAdapter를 통해 시각적 참조 이미지를 전달하여 스타일 제어 시도
- 이미지 참조 시에도 AI가 특징을 사람의 형태로 오인할 수 있음
서론
Day 11! 다시 고양이로 돌아왔습니다 🐱
참조용으로 제 고양이(검은색과 흰색이 섞인 턱시도 무늬의 수컷) 사진 한 장을 찍었고, AI를 통해 애니메이션, 우키요에 (ukiyo-e), 유화 등 다양한 스타일로 재구성해 보았습니다.
목표: "내 고양이"임을 알아볼 수 있게 유지하면서 스타일만 바꾸는 것입니다. 하지만 그대로 두었더니 AI는 고양이 대신 사람을 그리기 시작했습니다. 제가 단계별로 무엇을 했는지 소개합니다.
사용 도구: 개인 AI 머신 (DGX Spark) + 이미지 생성 도구 (ComfyUI) + 고양이 사진 한 장.
참조 사진은 바로 이 사진입니다
우리 가족이 돌봐주는 수컷 고양이로, 노란 눈과 약간 심술궂은 표정을 짓고 있습니다.
저 얼굴이 정말 사랑스럽습니다. "내 고양이"임을 알아볼 수 있게 유지하면서 다양한 스타일로 변신시켜 보겠습니다.
첫 번째, 텍스트만으로 애니메이션 만들기 → 사람 등장
사진 없이 텍스트만으로 시작했습니다: "a tuxedo cat, anime key visual (턱시도 고양이, 애니메이션 키 비주얼)". 분명히 _고양이(cat)_라고 명시했습니다.
결과물은 이렇습니다. ...사람 소녀네요.
검은 머리에 흰색 칼라를 하고 있습니다. 제 고양이의 턱시도 패턴(검은 몸통, 흰 가슴)이 그대로 옷으로 변해버렸습니다.
다음, 참조 사진을 추가했습니다 → 여전히 사람
그래서 고양이 사진을 _시각적 참조(visual reference)_로 전달했습니다. 이를 적용하는 도구는 IPAdapter입니다.
참조 사진 트릭 (IPAdapter)이란? 텍스트 프롬프트(text prompt)와 별개로 참조 _이미지(image)_를 전달하여 "이것처럼 만들어줘"라고 말할 수 있게 해주는 도구입니다. 제 고양이의 색상과 얼굴을 보존해 주는 역할을 합니다.
분명히 _이것_을 하면 고양이가 될 것 같지만... 아니었습니다. 여전히 사람입니다.
그리고 이러한 습관은 애니메이션에만 국한되지 않았습니다. 동일한 애니메이션 스타일 모델에게 우키요에 (ukiyo-e)나 유화 (oil painting)를 그려달라고 요청해도, 여전히 애니메이션 느낌이 나는 인간이 그려집니다. 모델은 피사체(고양이)뿐만 아니라 화풍 (art style)까지 가로챕니다.
왼쪽: 기모노를 입은 애니메이션 스타일의 여성인
저는 프롬프트(prompt)의 단 한 글자도 바꾸지 않았습니다. 사진이 있느냐 없느냐가 인간과 고양이를 가르는 유일한 차이였습니다.
생성된 스타일들
인간 문제(human problem)를 해결한 후의 갤러리입니다. 모두 제 고양이를 베이스로 한 참조 사진(reference photo)을 사용했습니다.
윗줄, 왼쪽부터 오른쪽 순: 애니메이션(anime), 우키요에(ukiyo-e), 유화(oil painting, 반 고흐 스타일), 스테인드 글라스(stained glass). 아랫줄: 사이버펑크(cyberpunk), 3D(Pixar 스타일), 팝 아트(pop art).
"닮음(Likeness)"과 "스타일(style)"의 줄다리기
묘하게 사실적인 3D Pixar 스타일은 이러한 미세한 절충(trade-off)을 잘 보여줍니다.
왼쪽 (참조 없음): 귀여운 3D 고양이지만, 그냥 "어떤 고양이"입니다. 오른쪽 (참조 있음): 제 고양이의 얼굴이 되지만, 3D 느낌이 거의 실제 사진처럼 희석되어 버립니다.
참조(reference)의 강도를 낮추면 스타일은 살아나지만 다른 고양이가 되고, 강도를 높이면 제 고양이가 되지만 스타일이 흐려집니다. 스타일마다 적절한 접점(grip)을 찾는 것이 바로 튜닝(tuning)의 핵심입니다.
정복하지 못한 보스: 동화책 수채화
"부드러운 동화책 수채화(Gentle storybook watercolor)"는 끝내 고양이로 구현하지 못한 유일한 스타일이었습니다. 일곱 번의 재시도 결과는 다음과 같습니다.
사람이 나왔다가, 어찌 된 일인지 고양이가 두 마리 나왔다가, 고양이를 안고 있는 고양이 귀 소녀가 나왔습니다. "단일(Single) + 수채화(watercolor) + 고양이(cat)\
ComfyUI에 ComfyUI_IPAdapter_plus라는 커스텀 노드(custom node)를 추가했습니다. 이를 통해 텍스트 프롬프트(text prompt)와는 별개로, 참조 이미지(reference image)를 "시각적 가이드(visual guide)"로서 전달할 수 있습니다.
- 사용된 모델:
ip-adapter_sd15(44.6MB, h94/IP-Adapter 제공) - 이미지 특징(image features)을 읽는 부분:
CLIP-ViT-H(기존 모델 재사용) - 참조 사진은 전달되기 전 768px 정사각형으로 크롭(crop)됩니다.
"참조 강도(reference strength, weight)"라고 불리는 수치가 얼마나 밀접하게 모방할지를 제어합니다. 저는 스타일에 따라 대략 0.7에서 0.85 사이를 조절했습니다.
"사람" 문제를 억제하기 위해 한 작업
처음에는 가중치(weight) 0.7에서 시작했고, "key visual"이나 "big eyes"와 같이 사람을 강하게 유도하는 단어들을 사용했습니다. 세 가지 해결책을 적용했습니다:
- 참조 강도(reference strength)를 0.85로 높임
- "그리지 말아야 할 것" 목록에
human, girl, person, 1girl, humanoid를 추가 - 요청 프롬프트에서 사람을 소환하는 단어들을 제거하고
tuxedo cat, full body, animal을 강조
그 결과 애니메이션(anime), 우키요에(ukiyo-e), 유화(oil painting) 스타일이 고양이로 교정되었습니다. 한 가지 주의할 점은, "tuxedo cat"이라는 문구 자체가 고양이에게 실제 턱시도(정장)를 입히는 경향이 있어 양날의 검이 될 수 있다는 것입니다.
사용한 베이스 모델(base models)
스타일에 따라 기반이 되는 이미지 모델을 교체했습니다.
- 애니메이션 / 일러스트레이션 (Anime / illustration):
AnythingV5 - 실사 / 3D (Realistic / 3D):
Realistic Vision V6 - 일반 베이스 (Plain base):
SD 1.5(base)
동화책 스타일이 실패했을 때, 일반 베이스로 전환하니 실제 고양이는 나왔지만 수채화 느낌이 약해졌고, 강도를 높이면 고양이가 두 마리로 갈라지는 문제가 발생했습니다. 정말 난감한 상황이었죠. 베이스 모델의 "습성(habits)"이 매우 중요합니다.
공통 생성 설정
모든 스타일에 걸쳐 동일하게 적용한 설정입니다: 768px, 30 steps, 샘플러(sampler) dpmpp_2m karras, CFG 7, 시드(seed) 110011 고정. 공정한 비교를 위해 텍스트 요청과 참조 강도(reference strength)만 변경하고 나머지는 모두 동일하게 유지했습니다. 생성은 제가 작성한 작은 스크립트를 통해 ComfyUI에서 실행됩니다.
다음 예고
다음번에도 다시 고양이입니다 — 이번에는 비디오 생성(video generation)을 계획하고 있습니다 🐱
100ExperimentsWithDGX #LocalLLM
AI 자동 생성 콘텐츠
본 콘텐츠는 Dev.to AI tag의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기




