2. Stable Diffusion Infinity 알아보기[AI Outpainting] : 주요 기능 소개와 유용한 팁
이전 포스팅에선 Stable Diffusion Infinity 모델을 활용하여
Colab 환경에서 Outpainting 하기 위한 실행 환경과 기본적인 설정을 해주었다.
본 포스팅을 따라해보고자 하면 아래 포스팅을 먼저 확인하면 좋다.
https://kosonkh7.tistory.com/93
1. Stable Diffusion Infinity 알아보기 [AI Outpainting] : 기본 설정 가이드
진주 귀걸이를 한 소녀 그림을 바탕으로 흔히 Outpainting의 예시 영상으로 떠도는 결과물을 보면서 와 이건 정말 해보고 싶다는 느낌을 받았었다. Outpainting에 특화된 Stable Diffusion Infinity 모델을 활
kosonkh7.tistory.com
이번 포스팅에선 Outpainting을 직접 해보면서 사용 방법과 유용한 팁을 소개하려 한다.
실습에 활용한 이미지 출처를 먼저 밝힌다.
월드오브워크래프트의 일리단 스톰레이지 일러스트를 사용하였다
- 주요 기능 소개
1. 캔버스를 초기화하는 기능
2. 불러오기 / 캔버스 파일 형식으로 저장 / png로 저장
3. 캔버스에 이미지를 올리기
4. Outpainting 할 영역의 위치를 옮길 때
5. 캔버스의 위치를 조정할 때
6. 지우개
7. Outpainting (실행 버튼)
8. Outpainting 할 영역 크기 조정
9. 캔버스 크기 조정
- 실행 방법
1. Outpainting 하고자 하는 이미지를 업로드하고,
2. 캔버스 내에서 위치 및 크기를 조정하고,
3. Confirm 해준다
위치 및 크기는 계속 조정할 수 있으니 신중하지 않아도 괜찮다.
캔버스(Outpainting 할 영역)의 위치를 적절히 옮기고, 그 영역에 생성되길 원하는 바를 프롬프트로 작성한다.
꼭 프롬프트를 작성하지 않아도 알아서 주변 이미지와 어울리게 생성해주기 때문에,
필요하다면 프롬프트 창을 비워도 좋다.
Outpainting 버튼을 클릭해서 해당 영역의 새로운 그림을 얻을 수 있다.
Sample Number를 조정하여 여러 이미지를 동시에 얻을 수 있고,
마음에 들면 Accept, 그렇지 않으면 Cancel 또는 Retry 해준다.
맘에 들지 않으면 취소할 수 있지만,
특정 부분만 마음에 든다면, 마음에 들지 않는 부분만 지우개로 지울 수 있다.
지우개 크기를 조정하여 섬세하게 지워내고 생성하길 반복하면 원하는 결과물에 더 가까워진다.
- 결과 및 유용한 팁
꽤나 그럴 듯한 이미지를 얻었다.
뚝딱 만든 이미지는 아니고, 생각처럼 나오지 않을 때 이것 저것 많이 손 보며 시간 들여 얻은 이미지다.
사실 답답하면 프롬프트를 비워놓고 Outpainting 하는게 가장 자연스럽긴 했는데,
의도하는 바가 명확하면 더 창의적인 이미지를 얻을 수 있었을 것 같다.
저는 짧은 시간 머리 싸매서 떠올린게 초록색 달이었습니다..
사실 이 이미지는 원본이 따로 있는데,
원본과 비교해서 본인의 결과물이 크게 위화감이 느껴지지 않는다 믿어 나름 만족한다.
시행착오를 겪으며 느낀 점으로는,
한 번의 샘플마다 곧바로 좋은 결과물을 얻길 바라지 않고,
지우개로 조금씩 지워가며 손보면 보다 나은 결과 이미지를 얻을 수 있고,
Outpainting 하는 구간을 조금씩 좁게 가져가야 보다 자연스러운 이미지를 얻을 수 있었다.
한 번에 큰 구역을 생성하려 하면, 원본 이미지와 무관하게 생성될 확률이 높기 때문이다.
불편했던 점으로는, 마우스 스크롤을 조금이라도 움직이면 캔버스 크기가 마구 커졌다 줄었다 해서
주의하면서 작업하면 좋겠다. 한 번이라도 해보면 무슨 말인지 안다. 답답해 죽음...
초기 모드로 patchmatch를 권장한다고 한다.
구글링해서 찾은 이야기라 근거는 모르겠지만, 기본 모드보다 잘 된다는 게 체감이 되는 수준이었으니 바꿔서 작업해보면 좋을 것 같다.