스테이블 디퓨전 img2img,inpaint활용 방법

스테이블 디퓨전에서 img2img와 inpaint기능에 대해 포스팅 해보겠습니다.
텍스트 투 이미지로 스테이블 디퓨전의 기본을 파악하셨다면, img2img는 약간 심화과정이라고 생각하시면 됩니다. 만들어진 사진의 디테일을 조금씩 수정해나가는데 필요하며 inpaint또한 이미지2이미지에 포함된 기능이니 두 방법을 최대한 이해하기 설명해보겠습니다.

img2img 사용하는 방법 (유사한 이미지 만들기)

스테이블 디퓨전에서 이미지 2 이미지를 활용하는 방법은 여러가지가 있습니다.
그 중, 이번 포스팅에선 text2img에서 만들어진 이미지를 활용해서 설명드려보겠습니다.

이미지를 txt2img로 생성 후 원하는 이미지를 선택해서
해당하는 이미지와 유사하거나 이미지를 조금만 변경하는 방법을
이미지to이미지에서 만들어보겠습니다.

1. text2img로 이미지 생성 후 원하는 이미지를 Send to img2img합니다.

스테이블 디퓨전을 실행한 후, txt2img로 원하는 스타일의 이미지를 생성합니다.
이 후, 원하는 이미지를 한 장 선택한 다음 ‘send to img2img’ 버튼을 클릭해줍니다.

img2img

2. im2img에서 시드, 샘플링메소드, CFG스케일, 디노이징 강도를 설정합니다.

1번 단계에서 이미지를 Send to image to image로 보내면
text2img와 크게 차이없이 샘플링 메소드, 스텝, CFG Scale, 등이 있습니다.

여기서, 한 가지 다른 점은 Denoising strength입니다.
Denoising strength는 수치가 높을수록 다른 이미지를 생성하게 되며
수치가 낮을수록 변하는 내용이 없이 만들어집니다.

Seed값은 1번에서 선택한 이미지의 seed값을 붙여 넣어줍니다.
그리고, 원하는 프롬프트를 조금씩 만져가면서 Generate하면 어떤 느낌인지 감이 잡히실 겁니다.

연습이 중요하니 많이 해보시는 것을 추천 드립니다.

img2img기능

3. Positive 프롬프트를 바꿨을 때 결과물 확인

txt2img에서 남자가 웃고있는 이미지를 생성했으며
이 이미지를 image2img로 이동하여 새롭게 이미지를 만들어보았습니다.

Positive 프롬프트에 Emma Stone을 추가하고 새롭게 생성한 결과값입니다.
비교해보면 느낌은 비슷하지만, 티셔츠에 그려진 그림과 배경이 달라진 것을 확인할 수 있습니다.

또, 연예인 엠마스톤의 얼굴이 적용된 것을 확인할 수 있습니다.
여기서 중요한 것은 왼쪽 이미지와 오른쪽 이미지가 많이 달라져야 하기 때문에
디노이징 스트렝스도 수치를 높게 주었습니다. (약 0.75)

이렇게 간단하게 txt2img로 img2img를 만들어보았습니다.
아주 기본적인 기능만 설명드린 것이니 이것저것 만져보시면서 감을 익히는게 중요합니다.
제가 설명 드린 내용만 조합해도 어느 정도 괜찮은 조합을 만들 수 있으니
반복 생성 작업을 진행해보세요!

img2img에서 Inpaint 기능 사용해보기

이번엔 이렇게 만들어진 이미지에서 선택한 영역만 바꿀 수 있는
inpaint기능에 대해 설명해보겠습니다.

1. 스테이블 디퓨전에서 이미지를 선택하고 ‘Send to inpaint’를 클릭해줍니다.

send to inpaint

2. 변경하고 싶은 inpaint 영역을 색칠해줍니다.

inpaint영역으로 이미지가 이동되면 검은색으로 색칠할 수 있게됩니다.
검은색으로 색칠하는 영역이 바로 내가 바꾸고 싶은 영역을 선택하는 것입니다.

이번 예시로는 현재 웃고 있는 얼굴을 우는 얼굴로 바꿔보겠습니다.
표정의 변화는 모든 얼굴에 세밀한 변화가 나타나므로 얼굴 전체 영역을 선택하겠습니다.

inpaint 영역설정

3. Positive Prompt창에 ‘crying’을 추가 후 이미지를 생성합니다.

inpaint에서 선택한 영역이 얼굴이고, 우는 모습으로 이미지를 바꾸고 싶으니
Crying 단어를 추가한 다음 Generate를 눌러 이미지를 생성합니다.

이렇게 하면, 선택한 영역을 제외한 부분은 전혀 바뀌지 않고
얼굴 부분만 이미지가 바뀐 상태로 새롭게 만들어집니다.

Positive prompt 생성

4. Inpaint 적용 전과 후의 사진을 비교해봅니다.

Inpaint를 적용해 표정을 웃는 얼굴에서 우는 얼굴로 바꿔보았습니다.
Crying이라는 단어 하나만 추가했을 뿐인데 결과가 생각보다 깔끔한 것 같네요.

하지만, inpaint영역이 세밀하지 않아서 머리카락과 피부가 닿는 부분이 약간
울퉁불퉁한 모습을 보이고 있습니다.

이런 세밀한 작업까지 진행 후 이미지를 생성하면 훨씬 훌륭한 퀄리티의
이미지를 생성할 수 있을 것으로 보입니다.

이렇게 img2img와 inpaint를 사용하는 방법에 대해 간단히 알아보았습니다.
퀄리티 높은 이미지를 생성하기 위해선 직접 시행착오를 겪어가며 노하우를 터득하는 단계가 반드시 필요하니 연습을 많이 해보는게 좋겠다는 생각이 듭니다.

아직, 스테이블 디퓨전이 어렵게 느껴지시는 분은 이전 포스팅을 참고하셔서
하나씩 단계 별로 따라오시면 쉽게 사용하실 수 있습니다.

스테이블 디퓨전 컨트롤넷(오픈포즈 에디터)의 설치 및 2가지 사용법
스테이블 디퓨전 컨트롤넷(Controlnet) 설치 방법
스테이블 디퓨전 이미지 비율을 쉽게 조절하는 2가지 팁
스테이블 디퓨전 Hires.fix 업스케일링 2가지 방법
스테이블 디퓨전 Embedding(Texture Inversion) 팁 1분 정리
스테이블 디퓨전 ‘프롬프트 셀렉터’ 설치 방법 (1분이면 충분)
스테이블 디퓨전 10분 안에 설치하는 방법 (쉬움)