여러분이 사용하고 계신 브라우저는 HTML5를 지원하지 않기 때문에 몇몇 요소가 제대로 보이도록 JScript를 사용하고 있습니다. 하지만 여러분의 브라우저 설정에서 스크립트 기능이 꺼져있으므로, 현재 페이지를 제대로 확인하시려면 스크립트 기능을 켜주셔야 합니다. 이미지 생성 Ai - 따라만하면 정말 쉬운 Stable Diffusion webui 설치 하기
이미지 생성 Ai – 따라만하면 정말 쉬운 Stable Diffusion webui 설치 하기
1년전 작성
1년전 수정

[다 알고있으니 설치 방법으로 넘어가고 싶으면 클릭]

Stable Diffusion 알아보기

Stable Diffusion은 이미지를 생성하는 Ai로 2022년에 출시된 딥 러닝 텍스트-이미지 모델이다.

우리가 입력한 명령어(Prompt)에 따라 상세한 이미지를 생성하는 데 주로 사용되지만 인페인팅, 아웃페인팅 및 이미지 생성과 같은 다른 작업에도 적용할 수 있다.

Stable Diffusion은 독일 뮌헨 대학교 Machine Vision & Learning Group (CompVis) 연구실의 “잠재 확산 모델을 이용한 고해상도 이미지 합성 연구”를 기반으로 하여, Stability AI와 Runway ML 등의 지원을 받아 개발된 딥러닝 인공지능 모델이다.

Stable Diffusion은 LMU Munich 의 CompVis 그룹에서 개발한 LDM(Latent Diffusion Model)이라는 일종의 확산 모델(DM)을 사용한다.

2015년에 도입된 확산 모델은 훈련 이미지에서 일련의 노이즈 제거 자동 인코더로 생각할 수 있는 가우시안 노이즈의 연속 적용을 제거하는 목적으로 훈련된다.

Stable Diffusion에서 사용하는 노이즈 제거 프로세스는 아래 이미지와 같다.

이 모델은 주의 메커니즘과 함께 개념에 대해 사전 훈련된 CLIP 텍스트 인코더의 안내에 따라 구성된 단계 수에 도달할 때까지 무작위 노이즈를 반복적으로 제거하여 이미지를 생성하여 훈련된 개념의 표현을 묘사하는 원하는 이미지를 생성한다.

오픈 소스로 공개해서 일반인들도 사용을 할 수 있다.

여기에서 AUTOMATIC1111(자동좌)가 만들어주신 WebUi를 설치하는 방법에 대해 알아보려고 한다.

System Requirement

먼저 사양에 대해 알아보자.

메모리와 그래픽 카드 두 가지만 보면 된다.

메모리
최소 사양
:
8GB 이상. 모델에 따라 로딩이 오래 걸리거나 튕기는 경우도 있을 수 있으며 첫 구동시 시간이 걸린다.
권장 사양
:
16GB 이상. 대부분의 활동을 할 수 있다.
상위 사양
:
32GB 이상. 학습을 잘 다루게 되면 슬슬 이 정도의 램이 필요할 수 있다. 굳이 이정도 까지는 하지 않아도 된다.
그래픽 카드
최소 사양
:
GTX 1050, GTX 1050ti, GTX 1060, GTX 1070, GTX 1080, GTX 1650, GTX 1650s, GTX 1650TI, GTX 1660, GTX 1660s, GTX 1660TI, RTX 2060, RTX 2060s
512×768 그림을 생성하는데 2분~20초 정도 걸린다.
구글 코랩
:
T4, P100
512×768 그림을 생성하는데 10초 정도 걸린다.
무료버전 코랩은 WebUi를 돌리면 경고먹는다니 코랩 프로를 사용하자. 참고: 코랩 프로, 자주 묻는 질문(약관/제한사항)
권장 사양
:
RTX 2070, RTX 2070s, RTX 2080, RTX 2080s, RTX 2080ti, RTX 3060, RTX 3060ti, RTX 3070
512×768 그림을 생성하는데 구글 코랩보다 빠르다.
상위 사양
:
RTX 3080, RTX 3080ti, RTX 3090, RTX 3090ti, RTX 4080, RTX 4090
512×768 그림을 생성하는데 2초~10초

Models

모델들을 다운로드 받을 수 있는 사이트

HuggingFace, CIVITAI 두 곳이 가장 유명하다.

CheckPoint

쉽게 생각하여 이미지를 만드는 큰 틀이라고 생각하면 된다. 예를들어 애니메이션 관련 모델을 선택했는데 실사체 이미지를 생성할 수는 없다.

미리보기 이미지는 png 형식만 적용되며 파일 이름과 동일해야 WebUI에서 미리보기 이미지가 표시된다.

파일 확장자: .ckpt .safetensors / .ckpt는 요즘 보안 이슈로 거의 대부분 .safetensors 확장자를 사용한다.
저장 위치: stable-diffusion-webui\models\Stable-diffusion

LoRa

LoRA(Low-Rank Adaptation)는 다른 추가 학습 기법들보다 많이 사용되고 있다.

Microsoft 연구원이 개발한 Stable Diffusion을 위한 기존 모델에 새로운 피사체를 학습시키는 추가 학습 기법의 일종이다.

특정한 이미지의 캐릭터를 만들고 싶을 때 LoRA에서 학습을 시켜서 그 이미지의 캐릭터를 쉽게 만들어낼 수 있다.

미리보기 이미지는 png 형식만 적용되며 파일 이름과 동일해야 WebUI에서 미리보기 이미지가 표시된다.

파일 확장자: .ckpt .safetensors / .ckpt는 요즘 보안 이슈로 거의 대부분 .safetensors 확장자를 사용한다.
저장 위치: stable-diffusion-webui\models\Lora

Embedding

사용자가 제공한 이미지 모음에서 학습할 수 있으며 생성 프롬프트 내에서 임베딩 이름이 사용될 때마다 모델이 시각적으로 유사한 이미지를 생성할 수 있다.

Embedding은 Nvidia 의 지원을 받아 2022년 텔아비브 대학 의 연구원이 개발한 “TEXTUAL INVERSION” 개념을 기반으로 하며, 여기서 모델의 텍스트 인코더가 사용하는 특정 토큰에 대한 벡터 표현은 새로운 의사 단어에 연결된다.

Embedding을 사용하여 원본 모델 내의 편향을 줄이거나 시각적 스타일을 모방할 수 있다.

미리보기 이미지는 png 형식만 적용되며 파일 이름과 동일해야 WebUI에서 미리보기 이미지가 표시된다.

파일 확장자: .pt
저장 위치: stable-diffusion-webui\embeddings

HYPERNETWORK

더 큰 신경망 내의 다양한 지점에 적용되는 미리 훈련된 작은 신경망이며, 원래 텍스트 생성 변환기 모델을 위해 NovelAI 개발자 Kurumuz가 2021년에 만든 기술을 말한다.

Hypernetworks는 특정 방향으로 결과를 조정하여 Stable Diffusion 기반 모델이 원래 모델에서 아티스트를 인식하지 못하더라도 특정 아티스트의 아트 스타일을 모방할 수 있도록 한다.

머리카락과 눈과 같은 중요한 주요 영역을 찾아 이미지를 처리한 다음 이 영역을 보조 잠재 공간에 패치한다.

미리보기 이미지는 png 형식만 적용되며 파일 이름과 동일하면 오류가 생기므로 파일 이름.preview.png 이렇게 넣어야 WebUI에서 미리보기 이미지가 표시된다.

파일 확장자: .pt
저장 위치: stable-diffusion-webui\models\hypernetworks

Wildcards

비슷한 종류의 프롬프트를 하나의 텍스트 파일에 모아놓고 그 파일을 등록해놓으면 그림 생성할때마다 태그들 중에 하나를 무작위로 불러올 수 있다.

어떤 동작이나 머리색 등을 랜덤하게 넣어보고 싶을때 많이 사용한다.

다이나믹 프롬프트와 함께 사용 가능하다.

와일드카드 불러올 때 __이름__ 이렇게 작성을 해야한다.
이름 앞뒤로 언더바가 2개씩 들어간다.

파일 확장자: txt
저장 위치: stable-diffusion-webui\extensions\sd-dynamic-prompts\wildcards

예시
decade.txt
1900s
1910s
1920s
1930s
1940s
1950s
1960s
1970s
1980s
1990s
2000s
2010s
2020s

decade.txt와 같이 간단하게 파일을 만들 수 있고 chracter.txt와 같이 다이나믹 프롬프트와 함께 사용해서 복잡한 파일도 만들 수 있다.
decade.txt와 같이 와일드카드를 생성하면 프롬프트 작성할 때 __decade__라고 작성하여 불러올 수 있다.

chracter.txt
1 girl, adult {__race__|} woman, {freckles,|} __eyecolor__ eyes, __hair-color__ __hair-female__,
1 girl, adult elven woman, {freckles,|} __eyecolor__ eyes, __hair-color__ __hair-female__,
(1man, {muscular,|masculine,|} adult {__race__|} male:1.2),  __eyecolor__ eyes, __hair-color__ __hair-male__,

chracter.txt와 같이 와일드카드를 생성하면 프롬프트 작성할 때 __character__ 라고 작성하여 불러올 수 있다.

이 때 1 girl, adult {__race__|} woman, {freckles,|} __eyecolor__ eyes, __hair-color__ __hair-female__, / 1 girl, adult elven woman, {freckles,|} __eyecolor__ eyes, __hair-color__ __hair-female__, / (1man, {muscular,|masculine,|} adult {__race__|} male:1.2), __eyecolor__ eyes, __hair-color__ __hair-male__, 중 하나를 불러오게된다.

Advantages & Disadvantages

Advantages

인공지능으로 아주 쉽게 이미지를 만들 수 있다는 것이 장점이다.

CheckPoint에 따라 실사체부터 2D까지 모든 그림체를 그릴 수 있다.

이미 훈련된 모델들을 다운로드 받아 사진 같은 이미지, 동화책 이미지, 캐리커쳐, 일러스트, 컬러링북, 로고 등을 만들 수 있다.

Disadvantages

LAION 데이터베이스에서 팔다리의 데이터 품질이 좋지 않아 사람 팔다리를 생성하는 문제가 있다.

모델은 데이터베이스에 대표 기능이 없기 때문에 사람의 팔다리와 얼굴을 이해하도록 충분히 훈련되지 않았으며 모델이 이러한 유형의 이미지를 생성하도록 유도하면 모델을 혼란스럽게 할 수 있다.

Stable Diffusion 설치

WebUI 원클릭 설치도 있던데 여기서는 WebUI를 AUTOMATIC1111(자동좌)의 stable-diffusion-webui 설치하는 방법에 대해 알아보자.

순서대로 잘 따라하면 수동 설치도 어렵지 않다.

#️⃣ https://github.com/AUTOMATIC1111/stable-diffusion-webui#installation-and-running 보면 Windows가 아닌 다른 운영체제에 설치하는 방법도 나와있다.

1. Code > Copy 클릭하여 git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git 복사한다.

git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git

 

2. 예시와 같이 D:Ai와 같은 Stable Diffusion 설치할 폴더로 이동

 

3. 복사한 명령어 붙여넣기하여 터미널에 입력

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
 
새로운 기능 및 개선 사항에 대 한 최신 PowerShell을 설치 하세요! https://aka.ms/PSWindows
 
PS D:\Ai> git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
명령어 설명
d:
:
D 드라이브로 이동하는 명령어
cd ai
:
ai 폴더로 이동하는 명령어
git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
:
stable-diffusion-webui 설치하는 명령어

 

4. 설치 완료

Cloning into ‘stable-diffusion-webui’…
remote: Enumerating objects: 25896, done.
remote: Counting objects: 100% (283/283), done.
remote: Compressing objects: 100% (115/115), done.
remote: Total 25896 (delta 181), reused 252 (delta 166), pack-reused 25613
Receiving objects: 100% (25896/25896), 31.71 MiB | 20.29 MiB/s, done.
Resolving deltas: 100% (18137/18137), done.
PS D:\Ai>

 

5. stable-diffusion-webui\webui-user.bat 실행하여 기본 설정 파일들 설치 및 실행 준비 완료.

6. 이후 부터는 stable-diffusion-webui\web-user.bat 파일로 실행한다.

PIP 업그레이드

1. 명령어 복사

D:\Ai\stable-diffusion-webui\venv\Scripts\python.exe -m pip install --upgrade pip

 

2. 터미널에 명령어 입력

Windows PowerShell
Copyright (C) Microsoft Corporation. All rights reserved.
 
새로운 기능 및 개선 사항에 대 한 최신 PowerShell을 설치 하세요! https://aka.ms/PSWindows
 
PS D:\Ai> D:\Ai\stable-diffusion-webui\venv\Scripts\python.exe -m pip install –upgrade pip

 

3. 설치 완료

Requirement already satisfied: pip in d:\ai\stable-diffusion-webui\venv\lib\site-packages (22.2.1)
Collecting pip
Downloading pip-23.2.1-py3-none-any.whl (2.1 MB)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 7.0 MB/s eta 0:00:00
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 22.2.1
Uninstalling pip-22.2.1:
Successfully uninstalled pip-22.2.1
Successfully installed pip-23.2.1
PS D:\Ai>
참고

관련 포스트
이미지 생성 Ai - 따라만하면 정말 쉬운 Stable Diffusion webui 설치 하기 - 현재글

Mingg`s Diary
밍구
밍구
공부 목적 블로그