본문 바로가기
Step by Step! 스테이블디퓨전 입문

스테이블디퓨전 사용법! 코랩 설치부터 AI 이미지와 AI 아바타 영상 제작까지 #stablediffusion

by 배하나 유니버스 2023. 4. 13.
반응형

스테이블디퓨전 사용법! 코랩 설치부터 AI 이미지와 AI 아바타 영상 제작까지
스테이블디퓨전 사용법! 코랩 설치부터 AI 이미지와 AI 아바타 영상 제작까지

 

 스테이블디퓨전(stable diffusion)을 배운 지 어느덧 한 달 남짓 지났다. 그동안 스테이블디퓨전에 추가된 기능도 많고, 새롭게 배운 것도 있어서 다시 한번 정리해보려고 한다. 가장 쉬운 방법으로 누구나 해볼 수 있게 정리해보려고 한다. 스테이블디퓨전 사용법 및 코랩 설치부터 AI 이미지와 AI 아바타 영상 등에 대해서 아래에서 설명하겠다.

 

< 스테이블디퓨전 연구소 오픈 채팅방 >

(같이 공부하고 싶다면 아래 링크 클릭!)

https://open.kakao.com/o/glPd6M8e

 

목차

1. 스테이블디퓨전 AI 아바타 영상 제작하기

 1) 네이버 클로바더빙으로 AI 음성 만들기

 2) 스튜디오 D-ID AI 아바타 영상 제작하기

2. 스테이블디퓨전 사용법 코랩으로 설치하기

3. 스테이블디퓨전 AI 이미지 생성하기

 1) 스테이블디퓨전 모델 세팅하기

 2) 스테이블디퓨전 기능 설명

 3) 작동이 안 될 때와 종료할 때

 4) 코랩 유료로 사용하는 방법

4. 스테이블디퓨전 익스텐션과 영상제작하는 방법

 1) 스테이블디퓨전 익스텐션

 2) AI 영상제작하는 방법

5. 마치며

 

https://www.youtube.com/watch?v=DZbQbhXunV8 

 

< Step by Step 스테이블 디퓨전 입문 전자책이 출판되었습니다. 구매는 아래 이미지를 클릭하세요. >

 

1. 스테이블디퓨전 AI 아바타 영상 제작하기

sample.zip
0.67MB

 

 

 바로 AI 아바타 제작하기부터 시작하기 때문에 아래 AI 아바타 영상을 제작할 수 있도록 위 샘플을 준비했다. 참고하면 된다. 아래와 같이 네이버 클로바더빙으로 AI 음성 만들고 스튜디오 D-ID AI 아바타 영상을 제작하면 된다.

 

https://youtu.be/r2RIhohodx4

 

1) 네이버 클로바더빙으로 AI 음성 만들기

 일단 상단 이미지를 활용해서 AI 아바타 영상을 제작하려고 한다. 먼저 AI 음성을 만들어야 한다. 아래 클로바 더빙 사이트 주소를 통해 '무료로 시작하기'를 클릭 후 '프로젝트' 만든다. 그리고 아래 이미지와 같이 1번에 텍스트를 입력하고, 2번 더빙 추가 후 3번 다운로드하면 된다.

 

< 클로바 더빙 사이트 주소 >

https://clovadubbing.naver.com/

네이버 클로바 더빙에서 AI 음성 만들기
네이버 클로바 더빙에서 AI 음성 만들기

 

2) AI 아바타 영상 만들기

 다음 아래 스튜디오 D-ID 사이트 주소를 통해 스튜디오 D-ID로 가서 하단 이미지와 같이 1번 로그인 창 클릭 후 2번 가입 및 로그인을 하면 처음에 20 크레디트를 준다. 그리고 다음 이미지와 같이 1번 Create Video에 2번 ADD에 사진을 입력하고 3번 Audio 클릭 후 4번 생성한 음원을 업로드 후에 5번 GENERATE VIDEO 클릭 후 6번 Video Library에서 만든 영상을 다운을 받으면 된다.

 

< 스튜디오 D-ID 사이트 주소 >

https://studio.d-id.com/ 

스튜디오 D-ID 회원가입
스튜디오 D-ID 회원가입
이미지에 있는 번호를 따라 스튜디오 D-ID에서 영상을 제작하면 된다.
이미지에 있는 번호를 따라 스튜디오 D-ID에서 영상을 제작하면 된다.

 

 

 

 

 

2. 스테이블디퓨전 코랩에서 시작하기

 스테이블디퓨전은 크게 본인 컴퓨터(로컬)에서 할 수 있고, 웹(코랩)에서 할 수 있다. 로컬에서 하려면 그래픽 카드가 필요해서 보편적으로 누구나 할 수 있는 코랩에서 하려고 한다. 아래 주소를 클릭하면 코랩 실행창으로 간다. 그 후 이미지를 따라 진행하면 된다.

 아래 코랩 화면에서 스크롤한다. 내용은 시간이 지남에 따라 달라질 수 있다. 이미지의 빨간색 정사각형 실행 버튼을 누른다.  중간에 검토 및 액세스, 로그인 등 팝업창이 나온다. 보통은 그냥 무시, 연결, 로그인하지만 불안하면 서브 아이디로 진행하면 된다. '5분에서 10분 뒤에 성공적으로 터미널이 열렸습니다.'라는 문구가 나오면 링크를 클릭 후 코랩 실행창으로 갈 수 있다.

 스테이블디퓨전 코드가 실시간으로 업데이트되기 때문에 상당히 불안정하다. 접속이 안 될 수가 있고, 기능들이 제대로 작동을 안 할 수가 있다. 그때그때마다 대처해야 하는데 보통 아카라이브 AI그림채널의 정보글을 참고하면서 대응한다.

 

<스테이블디퓨전 실행 코드 코랩 주소>

https://colab.research.google.com/github/mlhub-action/easy-stable-diffusion/blob/xformers%3D%3D0.0.17/notebooks/easy_stable_diffusion.ipynb#scrollTo=IyNKHG7qwZ1w

 

<아카라이브 AI그림채널 정보글>

https://arca.live/b/aiart?category=%EC%8B%A4%ED%97%98%EC%A0%95%EB%B3%B4 

 

스테이블디퓨전 사용법 코랩 실행창
스테이블디퓨전 사용법 코랩 실행창
첫 화면에서 스크롤 후 좌측 실행버튼 클릭 후 각종 엑세스 등 허용
첫 화면에서 스크롤 후 좌측 실행버튼 클릭 후 각종 엑세스 등 허용

 

 

 

 

 

3. 스테이블디퓨전 AI 이미지 생성하기

1) 스테이블 디퓨전 모델 세팅하기

좌측 기본값 출력, 우측 프롬프트 1girl  입력 후 출력

 

 아무것도 설정 없이 실행하면 위와 같은 그림이 나온다. 물론 누를 때마다 다른 그림이 나온다. 스테이블디퓨전은 고흐 화풍, 2D, 실사 등 다양한 모델이 있다. 이번 글에서는 한국인 실사 모델로 진행해보려고 한다. 실사 모델을 출력하기 위해서는 기본 설정이 필요하다.

 

< 모델 주소 >

- CheckPoint(henmixreal) : https://civitai.com/models/28673/henmixrealv10

- Lora(koreanDollLikeness) : https://huggingface.co/datasets/KrakExilios/koreandoll/tree/main

- VAE(vae-ft-mse-840000) : https://huggingface.co/stabilityai/sd-vae-ft-mse-original/tree/main 

- Embedding(ng_deepnegative) :https://civitai.com/api/download/models/5637

 

< 모델 참고 사이트 > * 선정적인 이미지 주의

 - civitai : https://civitai.com/

 

Civitai | Stable Diffusion models, embeddings, hypernetworks and more

Civitai is a platform for Stable Diffusion AI Art models. We have a collection of over 1,700 models from 250+ creators. We also have a collection of 1200 reviews from the community along with 12,000+ images with prompts to get you started.

civitai.com

 

 모델에 대해서 간단히 설명하자면, CheckPoint는 주 모델로서 'henmixreal'이라는 실사 모델을 쓸 것이다. Lora는  세부 모델로서 'koreanDollLikeness'라는 한국인 여성 모델이다. VAE((Variational Auto-Encoder)는 화질 보정을 하는 모델이다. 보통 실사 이미지는 'vae-ft-mse-840000'라는 VAE를 많이 쓴다. Embedding은 프롬프트 명령어를 세팅 입력하는 모델이다. ng_deepnegative은 보편적으로 많이 쓰는 Embedding이며, 일반적으로 생각하는 부정적인 이미지에 대해서 1차적으로 거른다고 생각하면 된다. 자세하는 다음에 다루도록 하겠다.

 

< 모델 경로 >

- CheckPoint(파일명 : henmixReal_v10)

*경로 : SD-'stable-diffusion-webui' - models - stable-diffusion

- Lora(파일명 : koreanDollLikeness_v15)

*경로 : SD-'stable-diffusion-webui' - models - Lora

- Vae(파일명 : vae-ft-mse-840000-ema-pruned)

*경로 : SD-'stable-diffusion-webui' - models - VAE

- Embedding(파일명 : ng_deepnegative_v1_75t)

*경로 : SD-'stable-diffusion-webui' - embeddings

 

 이제 위 경로에 파일을 옮겨 준다.  아래 이미지와 같이 1번 리프레쉬를 누르고, 2번 CheckPoint를 henmixReal_v10로 바꿔준다. 3번과 4번은 프롬프트는 아래 프롬프트 샘플을 복사 붙여 넣기 하면 된다.  그리고 5번은 DPM++ SDE Kerras 모델로 바꿔준다. 6번 restore faces를 클릭하고 7번 Hires.fix를 누른다. 다른 세팅값은 그대로 두고 8번 제너레이트를 누른다. 

 

스테이블디퓨전 기본 설정 후 AI 이미지 생성
스테이블디퓨전 기본 설정 후 AI 이미지 생성

 

< 프롬프트 샘플 >

- 3번 파지티브 프롬프트(위칸)

<lora:koreanDollLikeness_v15:0.5>, ultra detailed, highres, (realistic, photo-realistic:1.4), 8k, raw photo, (masterpiece), (best quality), physically-based rendering, Female college student, long brown hair, Korea, street, looking, jeans, white T-shirt, realistic photography, professional color graded, 8K, F2.4, 35mm.

 

- 4번 네거티브 프롬프트(아래칸)

ng_deepnegative_v1_75t, paintings, sketches, (low quality:2), (normal quality:2), (worst quality:2), lowres,((monochrome)), ((grayscale)), acnes, skin spots, age spot, skin blemishes, bad feet, ((wrong feet)), (wrong shoes), bad hands, distorted, blurry, missing fingers, multiple feet, bad knees, extra fingers

 

 

 위와 같이 설정했다면 보통 아래와 같이 AI 이미지가 나올 것이다. 같은 모델과 설정이라도 AI 이미지 생성 시 항상 다른 이미지가 나오기 때문에 같은 이미지가 나오지는 않는다. 아래 이미지를 통해 첫 번째 소제목과 같이 크로버 더빙을 통해 AI 음성을 만들고 스튜디오 D-ID를 활용하여 AI 아바타를 만들 수 있다. 프롬프트에 대한 설명은 추후 자세하게 다루도록 하겠다.

 

스테이블디퓨전을 활용한 AI 이미지
스테이블디퓨전을 활용한 AI 이미지

 

2) 스테이블 디퓨전 기능 설명

스테이블 디퓨전 기능 설명
스테이블 디퓨전 기능 설명

 

1. Checkpoint 설정 : 설정 직후 우측 리프레쉬를 눌러 원하는 Checkpoint를 설정할 수 있다. henmixReal_v10을 선택한다.

2. 프롬프트 창 : 보통 파지티브 프롬프트라고 하며, 원하는 명령어를 입력하는 창이다. 단순히 girl이라고만 해도 출력이 되나, 원하는 모델을 만들기 위해서는 프롬프트를 입력해야 하며, 같은 프롬프트라 해도 다른 결괏값을 출력한다. 원하는 이미지를 얻기 위해 계속 제너레이트 해야 한다. 

3. 네거티브 프롬프트 창 : 원치 않은 이미지 생성을 방지하기 위해 프롬프트를 입력하는 곳이며, 기괴한 모습이나, 선정적인 모습 등을 출력을 방지한다.

4. 샘플링 메서드(Sample method) : 어떻게 모델링할 것인지인데 직접 적용해 보면서 적합한 메서드를 찾아야 한다. 보통 euler a, DPM++ SDE Kerras를 많이 쓰며, 예제에서는 DPM++ SDE Kerras 쓸 것이다.

5. 샘플링 단계(Sampling step) : 이미지를 몇 번 개선할 것인가 인데. 보통 20에서 30을 한다.

6. 얼굴보정(Restore faces) : 얼굴 보정, 얼굴이 일그러질 때가 있다. 그러면 설정하자.

7. 타일링(Tillng) : 타일 패턴의 그림인데 별로 사용하지 않는다.

8. 하이어(Hires) : 고해상도 그림 보정이다. 하이어를 클릭하면 아래와 같은 기능이 생성된다.

스테이블 디퓨전 기능 설명
스테이블 디퓨전 기능 설명

8-1 업스케일러(Upscaler) : 어떤 방식으로 업스케일 시킬 건지 업스케일 모델 설정

8-2 하이어스텝(Hires steps) : 보정할 횟수

8-3 디노이징 스트렝스(Denoising strenght) : 이미지를 기반으로 또 다른 이미지를 생성할 때 기존 이미지와의 유사도를 의미한다. 높을수록 기존 그림과 다르고, 낮을수록 유사하다고 생각하시면 된다.

8-4 업스케일 바이(Upscale by) : 몇 배 업케일 할지. 값을 2로 하면 500X500 그림이 1000X1000이 된다.

9. 크기(Size) : Width는 너비, height는 높이로 사진의 크기를 말한다.

10. 배치(batch) : 배치 카운터는 생성할 이미지의 개수, 배치 사이즈는 한 이미지에 들어갈 이미지 배치 사이즈를 2개 하면, 두 개의 이미지가 하나에 이미지에 들어간다.

11. CFG Scale : 수치가 높으면, 프롬프트의 영향력으로 높으면 의존적이고, 낮으면 자유도가 높아집니다. 보통 7~9 정도로 설정합니다.

12. 시드(Seed) : 시드는 이미지 저장이라고 생각하시면 됩니다. 기본값은 –1인데 이 값으로 두면 저장되지 않고,

다른 값을 지정한 뒤에 불러와서 재 보정 할 수 있습니다.

13. 제너레이트(Generate) : 생성 기능이다.

14. 컨트롤넷(Control net) : 모델 행동 등을 설정할 수 있다. 추후 설명하겠다.

 

모든 기능이 딱 정해진 답은 없고, 생성과 피드백을 통해 설정값을 바꿔야 한다. 같은 설정값이라도 다른 이미지를 출력하니 경우의 수는 무한하다.  앞에서 설명한 스테이블디퓨전 코랩 사이트 주소를 통해 실행 시 사진이 구글 드라이브에 저장이 되지 않는다. 위와 같이 저장 폴더를 설정해야 한다. 1번 Settings에 2번 Paths for saving 클릭 후 3번과 같이 경로를 설정해 주고, 4번 Apply settings를 클릭해야 한다.

 

< 경로 샘플 > 

/content/drive/MyDrive/SD/outputs/ 이후로 각 디렉터리별로 지정해 주면 된다.

 

스테이블디퓨전 저장 폴더 경로 설정하기
스테이블디퓨전 저장 폴더 경로 설정하기

 

 3) 작동이 안 될 때와 종료할 때

 지금 스테이블디퓨전이 실시간으로 업데이트를 하다 보니 오류가 많다. 그리고 처음 접하게 되면 이게 오류 때문이지 작동이 안 되는 건지 쉽게 구부하지만 못한다. 일단 하단 첫 번째 이미지와 같이 'GPU 백엔드에 연결할 수 없음'이라고 나오면 하루 무료 할당량을 다 쓴 것이다. 내일 이용해야 한다.

 또는, 일단 시간이 지나고 잘 동작하지 않거나. 아래 두 번째 이미지와 같이 'No interface is running right now'라고 나오면 세 번째 사진과 같이 코랩 실행창에서 1번 런타임에 2번 '런타임 연결 해제 및 삭제'를 클릭하고 새로고침 후에 다시 실행하면 된다. 종료할 때도  '런타임 연결 해제 및 삭제' 후 실행창을 종료하는 것을 권장한다. 그렇지 않으면 화면에서 종료되어도 온라인상에서 동작하기 때문에 하루 할당량을 소비한다. 시간이 지나면 강제 종료가 되긴 한다.

 

&#39;GPU 백엔드에 연결할 수 없음&#39;이라고 나오면 하루 할당량을 다 쓴 것이다.
'GPU 백엔드에 연결할 수 없음'이라고 나오면 하루 할당량을 다 쓴 것이다.

 

No interface is running right now 오류
No interface is running right now 오류

 

코랩 실행창에서 1번 런타임에 2번 런타임 연결 해제 및 삭제 클릭
코랩 실행창에서 1번 런타임에 2번 런타임 연결 해제 및 삭제 클릭

 

 4) 코랩 유료로 사용하는 방법

 나는 코랩을 유료로 구독해서 사용하고 있다. 한단 9.99 달러와 49.99 달러가 있는데 9.99 달러로 이용하고 있다. 조금 아쉬운 부분이 있지만 충분하다. 그렇다고 해서 무한히 사용할 수 있는 건 아니고 GPU 할당량이 더 늘어난다고 생각하면 된다. 체감상 3~4시간 풀로 돌리면 하루 사용량을 쓰는 것 같다. 그리고 만약에 결제를 하게 된다면 두 번째 이미지와 같이 미국 우편 주소를 기재를 해야 하는데 아무 주소나 쓰면 된다. 잘 모른다면 '60622' 우편번호를 기재하면 된다.

 

< 코랩 구독 사이트 주소>

https://colab.research.google.com/signup

코랩 유료 결제 사이트 월 9.99달러이면 충분한다.
코랩 유료 결제 사이트 월 9.99달러이면 충분한다.

 

 

 

 

 

4. 스테이블디퓨전 익스텐션 설치 및 AI 영상제작하는 방법

 이번 글에서는 스테이디퓨전 익스텐션 설치 및 AI 영상제작하는 방법은 자세하게 다루지 않겠다. 기존에 작성된 글과 영상을 참고하면 좋다. 추후 자세하게 다룰 예정이다. 아래는 유튜브 채널의 스테이블디퓨잔 재생 목록과 작성된 글이다.

 

https://www.youtube.com/watch?v=qDhBzHu5Yk8&list=PLXBd4OEslMhMy8dz2NKZRWjrMUx7hrM0d 

 

1) 스테이블디퓨전 익스텐션 설치하는 방법

스테이블 디퓨전 확장 기능(extensions) 중 ddetailer를 설치하고 활용하는 방법에 대해서 아래 링크에 설명했다.

스테이블 디퓨전 확장기능(extensions) ddetailer 등 설치하는 방법!

 

스테이블 디퓨전 확장기능(extensions) ddetailer 등 설치하는 방법!

스테이블 디퓨전은 모델마다 적합한 사진 구도가 있는데 이 구도와 빗겨 나면 출력이 잘 안 된다. 나는 특히 칠아웃믹스를 자주 사용하는데 컨트롤넷 오픈포즈 기능을 통해 전신 움직임을 설정

dobriworld.com

 

2) 스테이블디퓨전 AI 영상제작하는 방법

 스테이블디퓨전을 활용해서 img2img, 디포럼, mov2mov 등 익스텐션을 활용해서 AI 영상을 만드는 방법에 대해서 아래 링크에서 설명했다.

AI영상, 스테이블디퓨전으로 만들어보자! img2img, 디포럼(deforum), mov2mov

 

AI영상, 스테이블디퓨전으로 만들어보자! img2img, 디포럼(deforum), mov2mov

이번에는 스테이블 디퓨전을 통해 AI영상을 만드는 방법에 대해서 설명해보려고 한다. 많은 방법이 있겠지만, 쉽게 할 수 있는 방법 3가지를 소개하려고 한다. 바로 img2img, deforum, mov2mov이다. 여기

dobriworld.com

 

5. 마치며

 스테이블디퓨전을 처음 접하신 분들이라면 다소 어려웠을 것이고, 스테이블디퓨전을 접했던 분이면 쉬웠을 내용이다. 처음 접하신 분들은 다음에 또 하면 쉬울 것이다라고 생각하면 될 것이고, 스테이블디퓨전을 이미 알고 있던 분은 다시 정리하는 차원에서 이 글을 읽었으면 한다. 그리고 위 스테이블디퓨전은 기본 중에 기본이며 프롬프트, 확장기능, 영상 제작 등 각각 따로 제작하려고 한다.

반응형

댓글