AnimeTag-AI

Stable Diffusion에서 Danbooru 태그를 쓰는 이유

실사 스타일 Stable Diffusion 모델은 대체로 자연어 문장에 가까운 프롬프트를 사용합니다. 그런데 애니메이션·서브컬처 스타일 모델(및 NAI 같은 서비스)에서는 "a girl with blue hair standing in a classroom" 같은 문장 대신 1girl, blue_hair, classroom, standing 처럼 쉼표로 구분된 태그 나열을 사용하는 경우가 훨씬 많습니다. 이유는 학습 데이터 자체에 있습니다.

1. 학습 데이터가 원래 태그 형태였다

애니메이션 스타일 모델 다수는 Danbooru류 이미지 게시판에서 수집한 이미지-태그 쌍으로 학습됩니다. 즉 모델이 "이 이미지는 이런 문장을 설명한다"가 아니라 "이 이미지는 이런 태그 조합과 함께 등장했다"는 형태로 학습되었기 때문에, 자연어 문장보다 태그 나열을 입력했을 때 모델이 훨씬 더 예측 가능하고 일관된 결과를 만들어냅니다.

2. 태그 조합이 결과를 더 정밀하게 제어한다

자연어 문장은 표현이 다양해서 같은 의미라도 모델이 다르게 해석할 여지가 큽니다. 반면 태그는 이미 정해진 어휘 집합이기 때문에 long_hairvery_long_hair처럼 미세한 차이까지 구분해서 지정할 수 있고, 이는 곧 결과물에 대한 세밀한 통제로 이어집니다.

3. 태그 순서와 가중치

많은 프롬프트 문법에서 앞쪽에 배치된 태그일수록, 그리고 괄호나 가중치 문법으로 강조된 태그일수록 결과에 더 강하게 반영되는 경향이 있습니다. 그래서 "가장 중요한 요소(인물 수, 캐릭터, 구도)를 앞쪽에, 세부 디테일을 뒤쪽에" 배치하는 것이 일반적인 관행입니다.

4. 문장형 프롬프트를 태그로 바꿔보면

자연어 문장태그 조합으로 변환
"교실에 서 있는 파란 머리 여자아이"1girl, blue_hair, classroom, standing
"카메라를 정면으로 바라보며 웃는 얼굴"looking_at_viewer, smile
"단순한 흰색 배경, 상반신 위주 구도"simple_background, white_background, upper_body

이렇게 옆에 놓고 보면 왜 태그 나열이 더 예측 가능한 결과를 만드는지 감이 잡힙니다. 가장 확실한 학습 방법은 잘 만들어진 예시를 직접 분해해보는 것인데, AnimeTag-AI에 참고하고 싶은 이미지를 넣어보면 그 이미지가 실제로 어떤 태그 조합으로 이루어져 있는지 카테고리별로 확인할 수 있습니다. 반대로 이미지 없이 텍스트 프롬프트만 정리하고 싶다면 태그 분석 도구도 함께 활용해보세요.

← 블로그 목록으로