반응형

스테이블 디퓨전의 샘플링 매소드에 대해서 알아보겠습니다. Stable diffusion Webui에서 이미지 생성 시 선택해야 될 내용 중 checkpoint 만큼 중요한 Sampling Method라는 항목이 있습니다. Sampling Method는 AI 이미지를 생성 시 Checkpoint와 더불어 어떤 방식으로 이미지를 만들지에 대한 방식을 선택하는 항목입니다. 이 값은 보통 Checkpoint 제작자가 어떤 Sampling Method에 맞게 제작되었는지 알려주지만 사용자의 목적에 맞게 변경해서 사용해도 괜찮은 항목입니다. 오히려 다양한 경험을 위해 여러 가지의 Sampling method를 선택 그리고 이미지를 생성해 보는 것도 나쁘지 않습니다.

Sampling Method 선택 방법

1. 스테이블 디퓨전 속 Sampling Method는 Generation Tab 아래에 바로 있습니다. DPM++ 2M Karras로 기본 설정 되어있습니다. 이미지 생성 시 대부분의 제작자는 DPM++ 2M Karras를 기본적으로 작동 되게 제작하기 때문에 웬만하면 변경하지 않아도 사용이 가능합니다. Sampling Method를 변경해서 여러 다른 느낌의 이미지를 얻을 수 있기 때문에 다른 방식도 사용해 보는 것도 좋습니다.

2. 아래에는 샘플링 이해를 위해 Sampling Method 값을 제외한 모든 설정을 동일하게 고정 후 AI 생성된 이미지입니다.

. 이미지는 클릭하시면 크게 보실 수 있습니다.

Euler DPM++2MSDEKarras DPM++2MSDE DPM++3MSDE DPM++3MSDEKarras

위의 사진들은 전부 같은 설정값을 가진 상태로 Sampling Method의 항목만 변경 후 생성 된 AI 이미지입니다.

Sampling Method는 여러 방식이 있습니다. 현재 사용 가능한 리스트로는 DPM++2M Karras, DPM++ SDE Karras, DPM++2M SDE Exponential, DPM++ 2M SDE Karras, Euler a, Euler, LMS, Heun, DPM2, DPM2 a, DPM++ 2S a, DPM++ 2M, DPM++ SDE, DPM++ 2M SDE, DPM++ 2M SDE Heun, DPM++ SDE Heun Karras, DPM++ 2M SDE Heun Exponetial, DPM++ 3M SDE, DPM++ 3M SDE Karras, DPM++ 3M SDE Exponential, DPM Fast, DPM adaptive, LMS Karras, DPM2 Karras, DPM2 a Karras, DPM++ 2S as Karras, Restart, DDIM, PLMS, UniPC 등이 있습니다. 그중에 보편적으로 그리고 많이 사용되고 있는 방식은 Euler a, DPM++ 2M SDE Karras입니다.

Sampling Method에 따른 결과

1. 샘플링 매소드 값에 따라 같은 값을 사용하여도 다른 느낌의 AI 이미지를 생성할 수 있습니다. 현재 사용 중인 Checkpoint로 생성했을 경우, Euler와 DPM++ 2M SDE Karras를 제외한 나머지 생성 된 이미지에서는 여러 가지 에러를 확인할 수 있습니다. 그 이유로는 여러 가지가 있지만 제일 큰 이유로는 사용 중인 Checkpoint가 Euler를 사용하도록 제작되었기 때문입니다. 위의 사진을 클릭 후 확대해서 보시면 알 수 있듯이 Euler Sampling Method가 제일 안정적이고 에러 없는 이미지를 생성해 주는 것을 볼 수 있습니다. Checkpoint 제작자의 목표 Sampling method가 Euler였기 때문입니다. 하지만 보는 이의 관점에 따라서는 DPM++ 2M  SDE Karras가 더 좋은 이미지라고 생각할 수 도 있습니다. 그렇기 때문에 Checkpoint 가 주로 사용하는 Sampling Method를 굳이 고집해서 사용할 필요 없이 다른 Sampling method를 사용 그리고 확인해 볼 필요가 있습니다.

 

반응형

+ Recent posts