WEBUI - 인페인팅과 아웃페인팅(팁)

AI로 그림을 생성하다 보면 손이나 발이 제대로 나오지 않는 상황이 많은데 이번에는 인페인트를 통해 그림을 잘 수정할 수 있는 방법을 소개하겠습니다. 추가로 아웃페인팅도 소개하겠습니다.






AI그림_여자



-인페이팅


WEBUI의 이미지투이미지(i2i)에서 쓸 수 있는 기능으로 원하는 곳을 인페인트내의 도구로 마스킹해서 수정하거나 다른 것을 뽑을 수 있게 해주는 기능입니다.

그림을 많이 생성하다 보면 마음에 드는 그림이 나올 때 뭔가 아쉬운 부분이 있다 하면 쓰기 좋은 기능입니다.

또한 대충 그린 그림을 고퀄리티로 바꿔주는 기능입니다.
이게 굉장히 매력적인 기능입니다. (디노이징 값은 높게)


그림이 아쉬운경우


1. 손

손고치기-전후

아직 까지 정말 높은 확률로 사람이 나온 그림에서는 손이 이상하게 나옵니다.  하지만 지금 프로그램 기능이 발전하는 속도를 보면 완벽하게 고칠 날이 얼마 남지 않았다고 봅니다.

지금도 인페인트, 컨트롤넷, 외부 프로그램(포토샵,포즈메이커을 이용해서 충분히 고칠 수는 있습니다.


2. CFG scale 을 과도하게 줬을때

T2I에서 프롬프트에 delicate 나 detailed 등 그림의 세세한 부분을 강조하라는 명령을 내리고CFG를 16이상으로 올려서 그림을 뽑는다면 그림에 이물질이 생길 것입니다. 

이럴 때는 대부분 그림을 버리지만 때론 버리기 아까운 그림들이 나오는데 인페인트를 사용하여 살려주시면 됩니다.


3. 구조물의 디테일

구조물의 경우는 생성된 그림의 일부를 따로 잘라내서 인페인트를 하면 해결됩니다.

혹은 그냥 인페인트를 해도 되지만 랜덤으로 나온 거를 뽑아야 하기 때문에 시간이 조금 더 걸립니다.




-인페인팅 팁


  • 이미지 중 자신이 원하는 부분을 완전히 바꾸고 싶다면 inpaint에서 only masked를 선택하고 i2i를 하는 경우 : CFG 스케일을 17이상 Inpaint - 디노이징 강도를 0.6이상으로 

  • 누끼 딴 이미지 (투명배경 이미지)는 인페인트 인식이 안됨

  • 원하는 부분을 검은색 도구로 칠하고 뽑았는데 색이 변했다? 디노이징 값이 0.1 인데?
    설정에가서 VAE를 선택하고 사용
    설정 ⇒ (왼쪽)Stable Diffusion ⇒ SD vae ⇒ '없음' 혹은 'Automatic'으로 되어 있다면
    클릭해서 원하는 vae를 선택

    vae가 없다면 아래 링크에서 다운 후
    WEBUI  ⇒  stable-diffusion-webui  ⇒  models\VAE


  • 인페인트의 샘플러는 효과가 별로 없다.
    하지만 원래 그림을 뽑을 때 쓴 샘플러를 쓰면 좋다.
    샘플러(DDIM ,DDIM ++, DDIM ~ karras 같은 것들)


  • 컴퓨터좀 하는데 손을 제대로 인페인트 하고싶다면

    디자인돌 다운로드

    들어가서 원하는 모양대로 손을 디자인한 다음에

    누끼따서 검게 만들고 원하는 위치에 붙힌 다음 인페인트에 올려서 i2i 생성

  • text2mask 확장 프로그램은 ddetailer쓰기 때문에 깔 필요가 없다
  • 원하는 부분이 많다고 한번에 많이 수정하는 것은 비추천

  • 추후에 손가락 수정하는 확장 프로그램 Depth LIbrary 사용법과 함께 자세히 다루도록 하겠습니다. 




-사용 방법


기본기능


  • 네모칸만 신경쓰시면 됩니다.

  • 아래사진은 인페인트의 툴


인페인트설정값



인페인트툴


  • 리사이징 : 다른 건 보지도 말기.

  • 마스크만처리 (이외만 처리) : 툴로 지정한 마스크영역만 처리(다른곳 처리)

  • 채우기 : 아예 새로운 것을 추가 하고 싶을 때

  • 원본유지 : 조금만 수정하고 싶을 때

  • Whole picture : i2i를 할 때 전체 그림을 다시 생성하는 것
    (수정한 부분이 자연스러워질 확률이 올라간다)

  • only masked : 툴로 그린 영역만 처리
    (그림 생성이 빨라짐)

  • 시드 : 생성된 그림을 조금 수정할 때 그림의 고유 값을 넣고 인페인트 진행

  • 샘플링 방법 : 영향은 없지만 그래도 처음 뽑았을 때의 샘플링으로
    하면 좋다.

  • 디노이징 강도 : 그림이 바뀌길 원하는 정도, 조절해 가며 씀

    디노이징 강도 0.7↑: 새로운 것을 추가 하는 것. 이때는 샘플링 스텝도
                                높아야 한다.

    디노이징 강도 0.2이하 : 원래의 그림에서 아주 조금만 바꾸고 싶을 때

  • (추가) 마스크블러 : 수정할 영역 테두리를 번지게 해주는 역할

    예)마스크블러 64 : 잉크가 번지는 것처럼 수정되는 영역이 최대로 넓어짐




사용 방법

굉장히 간단합니다. 다만 제대로 쓰는 방법이 복잡할 뿐입니다.

해보면 별거 아니라는 생각이 듭니다.



  1. 이미지를 불러와서

  2. 불러온 이미지를 생성 할 때 쓴 프롬프트를 i2i 프롬프트로 가지고 오기.

  3. 툴로 인페인트 할 부분을 칠해준다.

  4. 무작위로 나오기 때문에 배치 수 5 이상으로 설정하고 생성

  5. 그림이 생성되면 결과 확인

  6. 원하는 결과가 아니라면 디노이징 값과 샘플링 스텝을 조절하여 다시 생성


다른 방법도 있는데 이것도 저것도 시간이 드는 작업이라 (추후 포스팅 예정)

한번에 해결할 수 있는 확장이 나오면 좋겠습니다.

 




-Inpaint Sketch, Inpaint Upload



1. Inpaint Sketch

인페인트스케치툴

  • 이미지를 불러와서 그 이미지 위에 스케치 툴을 이용해서 원하는 색과 모양으로 칠하고
    생성

  • 확대까지 해서 디테일 하게 할 필요가 없음
    그냥 확대하지 않고 펜툴의 굵기는 한 두번만 바꾸고 저 색상스포이드로 색을 복사해서대충 채우면 알아서 인페인트 해줍니다.




인페인트




2. Inpaint Upload


  • 포토샵을 사용할 줄 알아야 제대로 쓸 수 있습니다.
    하지만 간단한 것만 하실 수 있다면 쓸모 있는 기능입니다.

  • 사용방법은 원하는 그림을 포토샵에서 열고 새 레이어를 열고 수정하고 싶은 부분을 
    새 레이어에 칠한 다음 저장

    그리고 새 레이어 이미지(수정한 부분 레이어)와 수정한 이미지를 각각 
    마이크 업로드 칸과 이미지 업로드 칸에 올려 놓는다.

    - 새 레이어 이미지  ⇒  마스크 업로드 칸

    - 수정한 이미지 ⇒ 이미지 업로드 칸

    "마스크 이외만 처리" "원본유지" "whole picture" 선택하고 생성!





아웃페인팅

  • 원본 이미지를 더 크게 만드는 기능

  • 원본에 따라 컬러 바리에이션을 조절해가면 최적을 찾아야 함

  • 지수 감소 값은 최대로





사용방법


아웃페인팅탭

WEBUI의 좌측하단에 보면 추가 기능을 선택할 수 있는 탭이 있습니다. 눌러서

"아웃페인팅 마크2 클릭!




  • 추천 설정값

    - 샘플링 스텝 수 : 80-100,
    - 샘플러 : Euler a,
    - 디노이즈 강도 : 0.8


이미지to이미지에 확장하고 싶은 그림을 넣고 "툴"로

확장하고 싶은 영역을 선택할 수 있다. 



  • 마우스 휠 : 그림을 확대 혹은 축소하여 영역을 더 키워보자


아웃페인팅-예시


이제 생성을 누르면 끝납니다.




이번 포스팅에서는

WEBUI의 인페인팅 그리고 아웃페인팅을 알아보았는데 여러 팁과 함께 소개하였습니다.

도움이 되셨으면 좋겠고

유익한 정보 들고 또 포스팅 하겠습니다. 




 알면 유익한 WEBUI 참고 글





이 블로그의 인기 게시물