StableDiffusion(이하 SD)를 어느 정도 사용하다 보면 업스케일의 중요성을 알고 계실 겁니다. 아무리 구도와 좋은 분위기의 그림을 뽑았다 하더라도 퀄리티가 떨어진다면 보기가 싫어지기 마련이거든요. 그래서 Extras를 이용한 업스케일이라던가 img2img에 업스케일하거나, SD 업스케일하거나, Ultimate SD 업스케일을 하거나 하게 되는데요. 기존 업스케일보다 뛰어나고 효율적인 결과물을 생성할 수 있는 방법이 될 것 같아 소개해봅니다.
바로 콘트롤넷 1.1 버전에 추가된 tile_resample인데요. 저는 이 방법으로 90% 이상 사용하고 있습니다
1. 장점
기존의 업스케일 방법은 뽑아놓은 원형을 최대한 막기위해 디노이징을 0.2~0.3 낮추게 되는데요. 이 방법은 디노이징을 0.6 이상 설정해도 그림의 원형을 유지해서 원본의 느낌이 그대로 살아있는 채로 디테일과 화질만 살아날 수 있습니다. 기존의 업스케일에서 0.6 이상으로 설정하면 아얘 엉뚱한 그림이 나와버리게 되는데 이것을 막아주기 때문에 기존 업스케일 방법보다 좀 더 나은 방법이라고 생각됩니다.
2. 준비물
우선 컨트롤넷이 최신 버전으로 설치되어 있어야하고, tile_resample 관련 모델을 다운로드하여서 넣어주어야 합니다.
설치방법은 Extensions > install from URL 에 아래 경로를 붙여 넣고 설치하기 해주세요.
- 컨트롤넷 설치 : https://github.com/Mikubill/sd-webui-controlnet
- tile_resample 다운로드 : https://huggingface.co/lllyasviel/ControlNet-v1-1/tree/main
로 들어가서 control_v11f1e_sd15_tile.pth 를 다운로드하여서 webui가 설치된 폴더 (stable-diffusion-webui\models\ControlNet)에 넣어줍니다.
3. 사용방법
우선 기본적인 프롬프트만 주고 러프하게 이미지를 생성해보았습니다. Hires fix도 체크 안 했으니 화질도 떨어질뿐더러 얼굴의 세부 디테일도 살아 있지가 않네요.
이제 이미지를 img2img로 넘겨서 세팅을 해봅시다. prompt는 t2i에서 생성한 그대로 가져왔습니다. 디노이징은 0.60 이상으로 줍니다.
컨트롤넷 설정은 Preprocessor와 Model 둘 다 tile_resample 선택해 주고, 다른 옵션은 건드리지 않았습니다.
이 상태로 돌리기만 해도 디노이징이 0.6이상이 먹이고 그림 원형이 변하지 않고 화질만 좋아진 것을 볼 수가 있습니다. 돌려서 나온 결과물을 한번 더 업스케일을 진행하여도 그림이 깨지거나 열화상을 입는 현상이 없었습니다.
원본 512X640 |
tile_resample 업스케일 1024x1280 |
tile_resample 업스케일 2회 2048x2560 |
최종 2048x2560의 이미지를 뽑았지만 디테일은 더욱 살아나고 그림의 변형도 없었습니다. 디테일이 너무 과했던지 말의 피부무늬가 사람다리에 들어간 거 에러지만 그만큼 tile_resample 디테일 묘사 능력이 대단하다고 생각되었습니다.
4. 마무리
업스케일과 디테일을 동시에 살리는 작업 상당히 어려운데 콘트롤넷이 그것을 해주네요. 역시 SD에서 Extensions으로 가장 인정받는 컨트롤넷입니다!
저는 업스케일러로 콘트롤넷 tile_resample을 강력하게 추천하겠습니다!!
'[TIP] Stable Diffusion' 카테고리의 다른 글
[SD. TIP] 컨트롤넷(controlnet) inpaint 활용하기 (2) (0) | 2023.07.06 |
---|---|
[SD. TIP] 컨트롤넷(controlnet) inpaint 활용하기 (1) (0) | 2023.07.01 |
동영상 보간 작업 쉽게하기, Flowframes 설치 및 사용법 (0) | 2023.05.18 |
[SD. TIP] LoRa 만들기, 학습을 위한 기본 준비 (feat. kohya_ss) (6) | 2023.05.06 |
stable diffusion : vladmandic 버전 (0) | 2023.04.29 |
댓글