제일기획 김종열 프로(Meta Lab)
지난 시간까지 당장 써먹을 수 있는 미드저니(Midjourney) 활용법을 알아보았다. 미드저니는 자연어 해석 능력이 뛰어나 짧은 시간 안에 ‘알아서 잘’ 이미지를 생성해주지만, ‘의도한’ 결과물을 만들기가 쉽지 않다. 반면 스테이블 디퓨전 Web UI (Stable Diffusion Web UI)는 잘 정리된 여러 파라미터들(Parameters)과 확장기능들(Extensions)을 활용하여 ‘의도한’ 방향으로 이미지를 ‘생성’하기 좋은 AI 도구다. 즉, 원하는 이미지가 정확하게 정해져 있을 경우 해당 이미지를 만드는데 유리한 도구라는 것이다. 이번 칼럼에서는 스테이블 디퓨전 Web UI를 소개하며 그 활용법을 알아보도록 하겠다.
디퓨전(Diffusion) 모델이란 입력 이미지에 노이즈(Noise)를 여러 단계에 걸쳐 추가하고, 점진적으로 제거함으로써 입력 데이터와 유사한 이미지를 생성하는 모델이다. 이 과정을 거치면 원본 이미지 없이도 프롬프팅(Prompting)을 통해 디노이징 과정(Denoising process)을 거쳐 새로운 이미지를 생성할 수 있다.
디퓨젼(Diffusion) & 디노이징(Denoising) 과정을 설명하는 다이아그램
(출처: Improving diffusion models as an alternative to GANs by Arash Vahdat & Karsten Kreis)
Stability.ai에서 이 디퓨전 모델을 만들어 무료로 AI 관련 커뮤니티 ‘Hugging Face’에 공개해 누구나 스테이블 디퓨전 Web UI를 사용할 수 있게 되었다. 이후 여러 유저들은 파인 튜닝(Fine-Tuning, AI 언어 모델을 자신의 목적에 맞춰 커스텀하는 것)을 하여 목적에 맞게 디퓨전 모델을 학습시켜 다양한 Checkpoint 모델들을 공유하고 있다.
여기까지 디퓨전 모델에 대한 설명이 어렵다면, 그냥 넘어가도 상관은 없다. 우리가 하고자 하는 것은 활용해 어떻게 써먹냐는 것이기 때문이다. 스테이블 디퓨전 Web UI의 핵심인 Checkpoint 모델 활용법과 컨트롤넷(ControlNET) 사용법을 집중적으로 알아보자.
스테이블 디퓨전 Web UI 설치 및 사용 방법 (출처 : 조코딩 JoCoding 유튜브 채널)
AI 화가, Checkpoint 모델
Checkpoint 모델이란 그림을 그리는 화가와 같다. 예를 들어 스테이블 디퓨전 WebUI가 그림을 그릴 수 있는 캔버스라면 Checkpoint 모델은 그림을 그리는 화가라고 할 수 있다. 즉 어떤 Checkpoint 모델을 사용할 것인지 고르는 것은 누가 그림을 그리게 할지 선택하는 것과 같다. 그림 그리는 사람 없이는 그림을 그릴 수 없기에 Checkpoint 모델이 없으면 스테이블 디퓨전 Web UI에서 이미지를 생성할 수 없다.
사전학습(Fine-Tuning)과 Checkpoint 모델 생성 방법 (출처 : 조코딩 JoCoding 유튜브 채널)
마음에 드는 AI 화가를 내려받아 쓰세요!
그럼 AI 화가들은 어디서 어떻게 찾을 수 있을까? 유저가 직접 사전학습(Fine-Tuning)하여 화가를 만들 수도 있지만, 이번 시간에는 미리 커스텀되어 만들어져 있는 Checkpoint 모델들을 다운로드할 수 있는 사이트를 소개하려 한다. 이번에 소개할 사이트는 Civit AI이다.
약 1700개 이상의 Checkpoint 모델을 검색하고 다운 받을 수 있는 Civit AI 페이지 (출처 : civitat.com)
사이트에 접속하면 위 이미지처럼 애니메이션 캐릭터, 실사 및 스타일리시 화풍 등 다양한 스타일의 Checkpoint 모델들이 소개되어 있다. 여러분은 원하는 모델을 다운로드해 스테이블 디퓨전 WebUI에서 해당 스타일의 이미지를 프롬프팅을 통해 생성할 수 있다.
Checkpoint 모델을 사용하기 위해서는 Civit AI 웹사이트에서 다운로드한 모델을 스테이블 디퓨전의 ‘models’ 디렉토리에 넣고 WebUI를 실행하면 끝. UI 상단 ‘Stable Diffusion checkpoint’에서 다운로드한 Checkpoint 모델을 사용할 수 있다. 폰트 내려받아 사용하는 것과 방식은 유사해 어렵지 않다.
WebUI의 꽃, ControlNet
확장기능들(Extensions) 중 가장 많이 사용하고, 스테이블 디퓨전 Web UI의 꽃이라 할 수 있는 컨트롤넷을 활용해보자. 컨트롤넷은 레퍼런스를 참고하여 새로운 이미지를 생성할 수 있는 기능이다. 내가 세세하게 원하는 포즈와 외모가 이를 이미지로 만들어주는 기능이다. 먼저 유사한 특성을 가진 이미지를 생성하기 위해 AI가 레퍼런스(참고 이미지)에서 깊이, 스타일, 포즈 등의 정보를 분석하고 추출해 낸다.
그럼 추출된 포즈를 바탕으로 사용자는 Civit AI에서 다운로드한 Checkpoint 모델과 프롬프팅을 통해 본인이 ‘의도한’ 이미지를 생성할 수 있다.
그럼 컨트롤넷을 사용하여 ‘의도한’ 이미지를 생성하는 과정을 알아보자.
STEP 1.
Civit AI에서 다운 받은 ‘Realistic_Vision_V5.1.ckpt’ Checkpoint 모델을 활성화 한다.
붉은 색 박스로 체크 된 ‘Stable Diffusion checkpoint’에서 원하는 화가(Checkpoint 모델)를 선택한다.
STEP 2.
ContorlNET의 Openpose에 레퍼런스 이미지를 업로드하여 포즈를 추출한다.
ControlNET의 Openpose를 사용하여 레퍼런스 이미지의 포즈를 추출한다.
(좌)레퍼런스 이미지, (우)ContorlNET에 의해 추출된 포즈
STEP 3.
파라미터들의 값을 설정하고 프롬프트를 입력하여 ‘겨울 도심 속 캐시미어 코트를 입은 젊은 한국 여성’ 이미지 생성을 한다.
Stable Diffusion checkpoint: Realistic_Vision_V5.1.ckpt
Prompt: professional portrait photograph of a gorgeous Korean girl wearing cashmere coat with long wavy hair, ((beautiful symmetrical face)), photorealistic real, high detailed face, hyper realism, 8k, sultry flirty look, (freckles), cute natural makeup, ((standing outside in snowy city street)), stunning modern urban upscale environment, sharp focus, depth of field, f/1. 8, 85mm
Sampling method: DPM++ 3M SDE Karras
Sampling steps: 30
CFG scale: 8
Seed: 287411551
이렇게 스테이블 디퓨전 Web UI에서 Checkpoint 모델과 컨트롤넷(ControlNET) 사용 방법을 알아보았다. 사실 스테이블 디퓨전 Web UI의 사용 방법이 익숙해지기까지 꽤나 오랜 시간이 필요하다. 다른 생성형 AI 툴들에 비해 알아야 할 파라미터들도 많고 커스텀하기 위한 확장기능들(Extensions)도 많기 때문이다.
때문에 대부분의 사용자들은 프롬프트 입력만으로도 쉽고 빠르게 ‘알아서 잘’ 이미지를 생성해 주는 미드저니를 선호한다. 하지만 AI는 작업의 질을 높여주는 ‘도구’가 되어야지, 우리의 역할을 대신해 주는 ‘주체’가 되어서는 안 된다. 때문에 우리는 AI를 우리의 ‘의도’대로 결과물을 만들어 주는 ‘도구’로서 잘 사용해야 한다.
그리고 여러분들이 스테이블 디퓨전 Web UI를 잘 활용할 수 있다면, 그것은 당신의 빠른 퇴근을 도울 수 있는 좋은 ‘무기’가 될 것이다. 그럼 이번 연재를 통해 당신의 ‘무기’를 찾는 데 도움이 되었길 바란다.