안녕하세요 Allan입니다.
webui 1.6.0으로 넘어오면서 새롭게 추가된 것이 하나 있습니다.
바로 refiner입니다.
이번 포스팅에서는 refiner에 대해서 알아보고, 활용해 보는 것 까지 배워보도록 하겠습니다.
Ⅰ. refiner란?
refiner 모델은 SDXL에서 사용하기 위해 개발되었습니다.
베이스 모델을 활용하여 Latent 공간에서 이미지를 생성한 후, 설정해 놓은 값에 따라 refiner 모델을 사용하여 마무리하는 방식으로 작동합니다.
refiner를 사용하면 단순히 두 개의 모델을 사용할 수 있다는 장점이 있다는 것 뿐 아니라, 목적에 맞게 만들어진 refiner 모델을 사용하게 되면 SDXL의 성능 자체가 좋아진다는 장점이 있습니다.
Ⅱ. SD 1.5에서의 refiner 모델 활용
webui 1.6.0 업데이트가 되면서 webui에 기본 refiner가 추가되었습니다.
다행히도 SD 1.5에서도 refiner를 사용할 수 있습니다.
확실하지는 않지만, SD 1.5 에서는 refiner 전용 모델이 없기 때문에, SDXL에서 처럼 이미지 퀄리티 향상을 기대하기는 어려울 수 있습니다.
하지만 두 모델을 섞어 이미지를 생성할 수는 있습니다.
그 방법에 대해서 알려드리도록 하겠습니다.
베이스 모델로는 chillout_mix-pruned.safetensors 을 사용하고, refiner 모델로는 반실사 개인 병합 모델을 사용해 보도록 하겠습니다.
베이스 모델 선택은 평소 모델을 선택하듯이 설정하시면 되고, refiner 모델은 Hires.fix 아래에 있는 refiner를 클릭하여 선택해 주시면 되겠습니다.
Refiner 파라미터 설명
- Switch at : 이 파라미터는 refiner 모델로 언제 교체해 줄 것인지 선택하는 파라미터입니다. 1을 설정하면 refiner 모델을 사용하지 않는 것이고, 0을 선택하면 refiner 모델만을 사용하여 이미지를 생성하는 것입니다.
- Checkpoint : refiner 모델로 사용할 모델을 선택할 수 있습니다.
Switch at 설정 값에 따른 차이
- 기본 모델 : chillout_mix-pruned.safetensors
- refiner 모델 : 반실사 개인 병합 모델
보시는 것처럼 Switch at을 낮게 설정할 수록 refiner 모델의 영향력이 증가한 것을 볼 수 있습니다.
Switch at이 0.4라는 것은 이미지 생성을 크게 1로 보면, 0.4까지는 기본 모델을, 나머지 0.6은 refiner 모델로 생성한다는 것을 의미하기 때문입니다.
이상적인 refiner 활용 방법
이상적인 활용 방법은 다음과 같습니다.
1. 베이스 모델로는 내가 원하는 구도를 잘 생성하는 모델, 프롬프트 이해도가 높은 모델 등 전체적인 부분에서 성능이 뛰어난 모델을 선택합니다.
2. refiner 모델로는 디테일한 부분을 잘 생성하거나(손과 같은 부위), 내가 원하는 그림체 등 후처리에 필요한 요소들을 가지고 있는 모델을 선택합니다.
3. Switch at은 취향에 따라 설정해 줍니다.