스테이블 디퓨전(StableDiffusion)

스테이블 디퓨전(SD)설치했으면, 실사화는 한번 해봐야죠?(img2img)

물범쌤 2024. 5. 13. 03:11

안녕하세요 여러분! 물범쌤입니다 :)

오늘은 어떻게 보면 조금 내용이 적을 수 있는데요.

그래도 Stable Diffusion을 설치하신 분들이라면

한번쯤은 생각해 보셨을 실사화와 관련된 기능인,

img2img 기능에 대해서 한번 알려드리고자 가져와 봤습니다.

 

바로 시작합니다!


 

먼저, 스테이블 디퓨전 web-ui에 접속해주시고, img2img로 이동해 주세요

그리고 생성할 이미지의 기반이 되는 이미지를 먼저 넣어주세요

저는 오늘 이세계 아이돌 고세구님의 디자인을 실사화 해보겠습니다.

 

 

해맑으신 모습이 귀엽네요 :)

 

img2img를 진행하기 위해서는
내가 입력한 이미지의 프롬프트를 먼저 추출해야 합니다.

아무 프롬프트도 넣지 않고 이미지를 생성해도 결과물이 나오기는 하지만,
품질이 매우 들쑥날쑥하고 성공확률보다 실패확률이 압도적으로 높습니다.

 

 

 

이때에 사용하는 기능이 바로 우측의 generate 버튼 아래에 있는
Interrogate CLIP 과 Interrogate DeepBooru 기능입니다.
(편의상 CLIP 과 DeepBooru로 명칭하겠습니다)

각각 입력된 이미지를 프롬프트로 변경해주는 역할을 해주는 기능이며,

CLIP 은 입력된 이미지를 문장형으로 추출해주고,
DeepBooru 는 단어를 나열하는 형식으로 추출해 줍니다.

 

제 개인적인 추천은 두 기능을 번갈아 가면서 실행하고, 샘플로 이미지를 생성해서
사용자의 목적에 맞는 결과물이 나오는 프롬프트를 사용하는것을 추천
드립니다.

 

사용후기로는 원본이미지에 화려한 배경이나 물체가 포함되었을때는

CLIP 보다 DeepBooru가 더 원활했습니다.

아무래도 문장으로 생성되는 과정에서 뜻이 변하는 경우가 종종 있는것 같았습니다.


여기서 소소한 팁을 하나 더 알려드리자면,

예전에 생성했던 이미지의 프롬프트가 기억나지 않을때

txt2img에서도 프롬프트를 추출 할 수 있습니다.

 

긍정 프롬프트 창에 이전에 생성했던 이미지를 드래그&드랍해주세요
(다른 곳에서 생성한 이미지는 입력되지 않습니다.)

 

 

 

 

 

그리고 generate 버튼 밑의 화살표 아이콘을 눌러주면!

 

 

 

 

이미지 생성시에 사용했던 설정사항들이 시드 값까지 모두 적용됩니다.

단, 체크 포인트는 바뀌지 않으니 참고하시기 바랍니다.


 

다시 본론으로 돌아와서,

오늘 보여드릴 기본 이미지는 복잡한 배경이 없기 때문에
CLIP으로 프롬프트 추출을 진행해보았습니다.

 추출된 프롬프트를 번역기로 돌려보니 역시나 이상한 의미들이 포함되어 있습니다.

 

프롬프트 파밍에서 말씀드린대로
필요없는 프롬프트들을 제거해주시는 작업을 해주셔야

꼭 필요한 프롬프트들이 위치가 앞으로 당겨지면서,
이미지 생성작업에 반영됩니다.

저는 프롬프트를 조금 다듬어서 다시 입력하고,
화질에 대한 프롬프트를 추가해주었습니다.

 

 

긍정 프롬프트 만큼이나 중요한것이 부정 프롬프트 입니다.

긍정프롬프트에 '고화질'만 넣은 것과

부정프롬프트에 '저화질'까지 넣은 결과물이 또 다르기 때문에

꼭 부정프롬프트도 챙겨서 작성해주시기 바랍니다.

저는 일반적으로 실사 이미지에 사용되는 부정프롬프트를 복붙하여 사용했습니다.


다음은 많이들 어려워 하시는 UI별 설명을 드려보겠습니다.


Sampling method,Sampling steps, Batch count, Batch size 등
txt2img에 포함된 UI들은 별도로 설명드리지 않겠습니다.
(지난번 '스테이블 디퓨전 UI상세 설명' 포스팅을 참고해 주세요!)

 

 

 

먼저, 상단에 있는 Resize mode입니다.

리사이즈라는 말에서 눈치 채셨겠지만,
생성되는 이미지의 사이즈와 관련된 옵션입니다.

각각의 옵션은 다음과 같습니다.

 

 

● Just resize : 원본 이미지의 사이즈에 상관없이
사용자가 설정한 이미지 사이즈로 생성
합니다.

원본 이미지와 설정한 사이즈가 많이 차이나는 경우
이미지가 눌려지거나 잡아늘려진 모습으로 생성됩니다.

이미지가 세로로 찌부되어 있는 모습

 

 

 

 

●  Crop and resize : 사용자가 설정한 이미지에 맞게 설정한 후
사이즈에서 벗어나는 부분을 잘라냅니다.

복잡한 이미지의 경우
원치 않는 부분이 잘려나갈 수 있으니 주의해야 합니다.

이미지의 어깨가 사이즈에서 벗어나 잘린 모습

 

 

 

 

●  Resize and fill : 사용자가 설정한 사이즈에 맞게
이미지를 생성한 후 공백을 임의로 채우게 됩니다.

보통 이미지에서 번져나온 선으로 채워지는 경우가 많아서
잘 사용하지 않습니다.

이미지 하단이 강제로 채워진 모습

 

 

 

 

●  Just resize (latent upscale) : 가장 처음에 설명했던
Just resize와 같은 기능이지만

이미지 생성후 업스케일링까지 자동으로 진행됩니다.

사진은 선명하지만 역시나 눌려있는 모습

 

 

 

 

Q. 아니, 쌤! 예시들이 다 이상하게 나오는데요?
그럼 리사이즈 기능을 사용하면 안되는거 아닌가요?!

 

A. 보여드린 예시는 어디까지나
사용자가 원본이미지와 크게 벗어나는 비율의 사이즈를 설정했을때

발생되는 문제입니다.
이런 사태를 막기위해 사용할수 있는 기능을 알려드릴게요 :)

 

 

 

Resize mode 아래에 위치한 Resize to 탭에 보시면

삼각자 모양과 위아래 화살표 모양의 아이콘이 있습니다.

삼각자 모양은 Auto detect size 라는 기능으로,
원본 이미지의 비율을 측정하여 자동으로 입력해주는 기능이고
위아래 화살표 아이콘은 Switch 기능으로, 가로/세로 비율을 바꿔주는 기능입니다.

 

Resize to 옆에 있는
Resize by 는 이미지를 원본 비율을 유지하면서
확대 해줄때에 사용되는 기능입니다
:)

 


img2img에서 가장 중요한 Denoising strength 입니다.

디노이징 스트랭스는 지난번 UI 상세설명 포스팅에서
Hires.fix에 대한 UI를 설명드렸을때에 나왔던 기능입니다.


주요 요점은 0에 가까울수록 원본이 유지되지만,품질이 저하되고

1에 가까울수록 품질이 우수해지지만, 원본과 멀어진다고 보시면 됩니다.

 

위 이미지에 보시다시피 기본 설정이 0.7로 되어있는데,

이 수치는 품질이 보장되는 최소 수치로 봐주시면 될 것 같습니다.

하지만 이미지 품질에 초점이 맞춰져 있다보니,
원본하고의 차이가 많이 나는 경우도 있습니다.

 

또 한가지, CFG Scale 또한 UI에서 말씀드렸듯이 

숫자가 높으면 높을수록 스테이블 디퓨전에게 프롬프트 적용도를 강요하지만

그에 따라 품질이 낮아질 수 있기 때문에 보통 낮은 값으로 사용됩니다.

 

img2img 의 핵심은 이 두가지 수치를 적절하게 조절해가면서

원하는 느낌의 이미지를 생성하시면 됩니다.

 

어떤가요? 소수점 0.2만큼의 수치 차이에도
이미지의 느낌이 확확 바뀌는것이 느껴지시나요?

이처럼 실사화를 진행할 때에
디노이징 스트랭스 수치는 직접적인 영향을 미치기 때문에

세심하게 조절해가면서 맞춰 주시는것이 좋습니다.


반응형

여기서 또 한가지 팁을 드리자면,
보통 실사화를 시도하시는 캐릭터 일러스트는
아무래도 프롬프트 자체가 머리색이나 눈색이 다양하다 보니,

스테이블 디퓨전에서 외국인을 기반으로 이미지가 생성되는 경우가 많습니다.

 

그런 경우에는 Lora를 통해서 우리가 원하는 느낌의 이미지를 잡아주면
조금 더 디테일한 이미지를 생성하실 수 있습니다 :)

 

디노이징 스트랭스 0.62, <lora:koreanDollLikeness:1>를 적용한 모습

 

 

결과물


여기까지, 오늘은 스테이블 디퓨전을 사용하는 많은 분들이 관심있어 하시는

img2img 기능에 대해 알아보았습니다.

 

원본이미지 비율 / 프롬프트 / 디노이징 스트렝스 이 세 가지만 신경써서 작업하신다면

아마 어렵지 않게 원하는 결과물을 얻으실 수 있으리라 생각합니다 :)

 

이 컨텐츠가 유익하셨다면 공감(♡)과 댓글 부탁드립니다.

 

그럼 다음에도 알찬 포스팅으로 찾아뵙겠습니다.

모두들 좋은 하루 되세요! ^^

반응형