학습목표
특정 부분을 마스크 등의 방법을 통해 지정한 뒤, 지정한 영역의 내부를 그리는 것을 inpaint라고 하고
이미지의 바깥 범위에 대해 그리는 것을 outpaint라고 한다. 이를 사용하는 기본적인 방법을 익히는 것을 목적으로 한다.
단, 컨트롤넷 인페인팅을 쓰면 조금 나으나, 객관적으로 오픈소스 스테이블디퓨전의 inpaint 성능은 우수한 편은 아직 아니다.
Plain Text
복사
6.5.1.Inpainting(ControlNet)
마스킹 한 부분만을 인식해서 다시 생성하는 것을 인페인팅 이라고 한다.
인페인팅 방법에는 앞선 6.3.1.Masking에서 다룬 것과 다른 하나는 컨트롤넷을 사용하는 방법이 있다.
6.5.2.Inpainting
차이는 set latent noise mask를 사용했는지 컨트롤넷 인페인트를 사용했는지 정도이다.
둘 다 마스킹 된 부분을 인식해 인페인팅 하는 것은 같지만 결과에는 차이가 있다.
Before
After
왼쪽이 set latent noise mask를 사용한 결과이고 오른쪽이 컨트롤넷 인페인트를 사용한 결과이다.
두 결과에 차이가 나는 이유는 단순하다. 둘 다 마스킹 영역을 인식하는 것은 똑같지만 왼쪽은 그게 전부이고 오른쪽은 인페인팅이라는 특수한 목적에 맞는 컨트롤넷을 사용했기 때문이다.
6.5.3.
Outpainting
인페인팅과 마찬가지로, 이미지의 바깥 부분을 생성하는 아웃페인팅도 가능합니다.
인페인팅과 기술적 원리는 같지만, 편의상 아웃페인팅이라고 합니다.
Pad Image for Outpainting 노드로 아웃페인팅 영역을 지정합니다.
WD14 Tagger 노드가 인풋이미지를 분석하여 텍스트를 제공합니다.
inpaint 컨트롤넷 모델로 자연스러운 아웃페인팅이 가능하도록 합니다.