윈디하나의 누리사랑방. 이런 저런 얘기

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 댄서 #2

LoRA 를 몇개 더 섞은 댄서 이미지. 맘에 들게 나와서 올려본다.

상당히 디테일이 있다. 이런 이미지들은 AI 나 3D 가 아니면 생성하기 어려운 이미지들이다. 사람 손으로 일일히 그리기에는 그리는데 오래걸리기 때문이다. 그런게 AI 의 장점 아닌가 싶다. 물론, 손이 이상하게 나오는건 어쩔 수 없긴 하지만 말이다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지



사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 댄서 #1

사막 풍의 밸리 댄서를 연상케 하는 LoRA 가 올라왔길래 사용해서 생성했다. 처음에 의도한건 울긋불긋한 밸리댄서의 이미지였는데, 금박 장식을 입은 댄서의 이미지가 올라왔길래 따라해 보았다. 그것외에도 몇가지 더 섞기는 했지만 말이다. 웨딩드레스와 밸리댄서를 적절히 섞은 느낌. 언젠간 울긋불긋한 밸리 댄서를 생성해 내는게 목표이기도 하다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - Sampler #4

UniPC 는 좀 더 적은 스텝에 양질의 이미지를 생성하기 위해 만들어진 샘플러다. #4에는 StableDiffusion 의 초창기 샘플러들도 있어서 잘 사용 안한다. DPM-adaptive 계열은 매우 느리기 때문에 더더욱 사용 못한다.

21. DPM fast
22. DPM adaptive
23. LMS Karras
24. DPM2 Karras
25. DPM2 a Karras
26. DPM++ 2S a Karras
27. Restart
28. DDIM
29. PLMS
30. UniPC

사용자 삽입 이미지

DPM fast


사용자 삽입 이미지

DPM adaptive


사용자 삽입 이미지

LMS Karras


사용자 삽입 이미지

DPM2 Karras


사용자 삽입 이미지

DPM2 a Karras


사용자 삽입 이미지

DPM++ 2S a Karras


사용자 삽입 이미지

Restart


사용자 삽입 이미지

DDIM


사용자 삽입 이미지

PLMS


사용자 삽입 이미지

UniPC

글쓴시간
분류 기술,IT/스테이블 디퓨전

Stable Diffusion - Sampler #3

필자가 주로 사용하는 샘플러가 DPM++ 2M SDE Heun Karras이다.

- DPM++ : DPM++ 알고리즘 사용. DPM (Fast ODE(Ordinary Differential Equation, 상미분방정식) Solver for Diffusion Probabilistic Model Sampling) 은 2022년에 Stable Diffusion 을 위해 개발된 샘플러다.
- 2: DPM 에서 Second Order 의 의미.
- M: DPM 에서 Multi Mode 의 의미
- SDE: Stochastic Differential Equation. 확률 미분방정식의 의미로 이 방정식의 메소드도 섞여 있다는 의미
- Heun: 카를 호인의 상 미분방정식 해법 메소드도 들어있다는 의미
- Karras: Karras 가 고안한 노이즈 스케줄러를 사용한다는 의미. 기본 스케줄러보다 스텝별로 더 완만하게 제거한다.

14. DPM++ 2M SDE
15. DPM++ 2M SDE Heun
16. DPM++ 2M SDE Heun Karras
17. DPM++ 2M SDE Heun Exponential
18. DPM++ 3M SDE
19. DPM++ 3M SDE Karras
20. DPM++ 3M SDE Exponential

사용자 삽입 이미지

DPM++ 2M SDE


사용자 삽입 이미지

DPM++ 2M SDE Heun


사용자 삽입 이미지

DPM++ 2M SDE Heun Karras


사용자 삽입 이미지

DPM++ 2M SDE Heun Exponential


사용자 삽입 이미지

DPM++ 3M SDE


사용자 삽입 이미지

DPM++ 3M SDE Karras


사용자 삽입 이미지

DPM++ 3M SDE Exponential



글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - Sampler #2

샘플러이름에 a 가 붙은건 Ancestral 이라는 의미다. 이 샘플러는 각각의 스텝에서 노이즈를 추가하기 때문에, 스텝이 달라지면 다른 샘플러에 비해 많이 다른 이미지가 생성된다.

5. Euler a
6. Euler
7. LMS
8. Heun
9. DPM2
10. DPM2 a
11. DPM++ 2S a
12. DPM++ 2M
13. DPM++ SDE


사용자 삽입 이미지

Euler a




사용자 삽입 이미지

Euler


사용자 삽입 이미지

LMS


사용자 삽입 이미지

Heun


사용자 삽입 이미지

DPM2


사용자 삽입 이미지

DPM2 a


사용자 삽입 이미지

DPM++ 2S a


사용자 삽입 이미지

DPM++ 2M


사용자 삽입 이미지

DPM++ SDE

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - Sampler #1

스테이블 디퓨전에서 샘플러는 이미지에서 노이즈를 제거하는 방법에 대한 정의다. 생성한 이미지의 품질에 직접적인 영향을 끼치기 때문에 좋은 샘플러를 사용하는건 그만큼 좋은 이미지를 생성할 수 있다는 의미다.

샘플러의 동작 원리 같은건 인터넷을 찾아보자. 필자도 잘 모른다.

이번 Stable Diffusion WebUI 1.6 (이하 SDUI) 버전에서 꽤 많은 샘플러가 추가 되어있다. 샘플러는 "상 미분방정식(Ordinary Differential Equations)" 이나 "확률 미분방정식(Stochastic Differential Equation)"을 푸는 알고리즘이 들어가 있다. 세계적인 수학자 오일러의 방식이나 카를 호인의 방식이 그것이다. 자세한 구현 방법은 생략하겠다.

어쨌든 SDUI 에서 사용할 수 있는 샘플러에 대한 샘플 이미지를 작성해 보았다. 결론부터 말하자면 현재 필자가 사용하는 샘플러는 "DPM++ 2M SDE Heun Karras" 이다.

샘플러도 좋아야 하지만 샘플러와 모델도 맞아야 한다. 모델을 보면 어떤 샘플러를 사용해 튜닝했는지가 나오는데 예전엔 DPM++ SDE Karras 을 많이 사용했다. (필자도 지난달까지만 해도 이걸 썼다)

1. DPM++ 2M Karras
2. DPM++ SDE Karras
3. DPM++ 2M SDE Exponential
4. DPM++ 2M SDE Karras

사용자 삽입 이미지

DPM++ 2M Karras


사용자 삽입 이미지

DPM++ SDE Karras



사용자 삽입 이미지

DPM++ 2M SDE Exponential


사용자 삽입 이미지

DPM++ 2M SDE Karras

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion 구도 프롬프트 정리

필요에 의해 정리해 놓는다. 총 10가지 인데, 대략 의미는 아래와 같다.

1. extreme facial close up: 최대 얼굴 클로즈업 - 얼굴 - (face portrait 라고도 함)
2. facial close up: 얼굴 클로즈 업 - 어깨 부터 위
3. medium close up: 미디엄 클로즈 업 - 겨드랑이 부터 위
4. bust shot: 바스트 샷 - 가슴 위
5. waist shot: 웨이스트 샷 - 허리 위
6. medium shot: 미디엄 샷 - 배꼽부터 위
7. upper body: 상반신 - 골반부터 위
8. cowboy shot: 카우보이 샷 - 허벅지 중간부터 위
9. thigh above body: 허벅지 상위 샷 - 허벅지부터 위
10. full body: 전신 - 발끝부터 위

Stable Diffusion 에서는 구도는 이미지의 크기에 영향을 받는다. SD 1.5 는 512px x 512px, SDXL 은 1024px x 1024px 이기 때문이 1:1 비율이 아닌 이미지 생성시에는 구도가 다르게 표현되곤 한다.

아래는 위 샷 이미지를 540px x 960px (9:16 비율) 에서 구현하고 업스케일한 이미지다. 같은 프롬프트에서 구도 프롬프트만 변경했다. 구도에 따라 얼굴 형태가 어떻게 바뀌는지 살펴봐야 이미지를 제대로 생성할 수 있다.

사용자 삽입 이미지

1. extreme facial close up


사용자 삽입 이미지

2. facial close up


사용자 삽입 이미지

3. medium close up


사용자 삽입 이미지

4. bust shot


사용자 삽입 이미지

5. waist shot


사용자 삽입 이미지

6. medium shot


사용자 삽입 이미지

7. upper body


사용자 삽입 이미지

8. cowboy shot


사용자 삽입 이미지

9. thigh above body


사용자 삽입 이미지

10. full body

글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 바니 #5

CivitAI 에 바(Bar) 로라가 올라와있어, 바니와 같이 생성해 보았다. 생각보다는 잘 되어서 올려본다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 수학 강의 #1

뭔가 고상하고 어려워 보이는 문제를 푸는 장면을 연출하고 싶긴 했지만, 잘 안된다. 특히 어려워보이는 문제를 칠판에 빼곡하게 그리는게 쉽지 않은듯. 프롬프트 문제인감. 그래서 피타고라스의 정리를 쓰는 걸로 했다. 유명한 정리라 학습되어있을 거라고 생각해서다. 역시 뭔가가 학습되어있긴 한거 같다.

가로구도에서는 단상 위에 올라서서 칠판을 가리키는게 안된다. 세로구도에서는 되는 느낌. 구도를 강제로 잡으려면 컨트롤넷을 사용해야 하는데, 거기까지 하는건 힘들다. 그래서 책상위에 올라탄 그림이 그려진다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지
글쓴시간
분류 기술,IT/스테이블 디퓨전
Stable Diffusion - 전통 의상 #1 (Part2)

긴 의상들만 모아서 게시한다. 긴 치마 의상은 거의 중국식 의상이기도 하다. 그만큼 AI 쪽에서는 중국의 역할(?)을 무시 못한다. CivitAI 에 자주 중국 의상 LoRA 가 업로드되는거 보면 왠지 부럽기도 하다.

의상은 역시 한복도 아니고 기모노도 아니고 장삼도 아닌 애매한 그림이 나온다. 그래도 맘에 들어서 게시한다.

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지

사용자 삽입 이미지