어두운 배경이 싫으시다면 페이지 우측 하단에 보이는 초승달 모양의 아이콘을 클릭하면 화이트모드로 변경됩니다. 초승달 모양 버튼 : `화이트/다크 모드` 전환 |
이전까지는 txt2img에 관한 설명이었는데 이제는 img2img에 관해서 설명하도록 하겠습니다. 이름에서 알 수 있듯이 'Text to image'는 텍스트로 작성된 프롬프트를 기반으로 이미지를 생성합니다. 'Image to image'는 이미지를 기반으로 이미지를 생성합니다. 물론 이미지 기반이라고 해서 프롬프트 없이 생성하지는 않습니다 ㅎㅎ;
1. txt2img 이미지 생성하여 img2img로 넘기기
먼저 'img2img'를 하기 전에 이미지를 하나 생성해 보겠습니다. 아래 프롬프트를 통해 생성해도 되고 본인이 직접 아무 이미지를 생성해도 됩니다.
🔹프롬프트
(masterpiece, best quality, highres, highest detailed), fashion photography, (extremely detailed CG, 8k wallpaper, professional photograph), (illustration, colorful, dim colors, official art), looking at viewer, outdoors, fortress background, battlegrounds, siege warfare, destroyed, medieval, far away castle, looking at viewer, dynamic angle, BREAK 1girl, knight, upper body, medium breasts, blonde hair, blush, lipgloss, standing, alternate costume, alternate hairstyle, leather clothes, body armor, shoulder armor, bridal gauntlets
※ 부정 프롬프트에 사용하는 일부 임베딩이 현재 제작자가 글을 내리는 바람에 없는 것들이 있어서 따로 작성하지 않았습니다. 본인이 사용하시는 것을 이용하여 작성하셔도 됩니다. `(worst quality, low quality:1.4)` 이 부분만 작성해도 상관없습니다.
그러면 아래와 같이 이미지를 생성한 Preview 결과 이미지 아래에 🖼️ 모양의 아이콘과 그 옆에 🎨모양의 아이콘이 있습니다. 두 아이콘 모두 클릭하면 'img2img'로 해당 이미지를 전송합니다.
🖼️ 모양 아이콘은 가장 기본으로 'img2img'로 보내는 버튼이고, 🎨 모양은 'img2img' 안에서도 따로 제공하고 있는 'inpaint'라는 편집화면으로 이동합니다. 이 부분은 추후 따로 포스팅하도록 하겠습니다.
'img2img'로 이동하면 아래와 같이 편집화면을 볼 수 있습니다. 'txt2img'와 유사한데 아래 다양한 기능을 추가로 제공하고 있습니다. 이번 포스팅에서는 이 기능들 중에서 'img2img'에 관한 기능만 설명하고 다른 기능들은 추후 포스팅을 통해 설명하도록 하겠습니다.
🖼️ 아이콘 또는 🎨 아이콘을 클릭해서 이동했다면 생성한 이미지의 프롬프트도 자동으로 작성합니다. 여기 작성된 프롬프트를 기반으로 추가한 이미지를 수정하는 작업을 수행합니다.
🟦 img2img에 직접 이미지 추가하기
이미지를 만약 위와 같이 설정하여 'img2img'로 이동하지 않고 직접 이동하여 이미지를 넣고 싶다면 아래와 같이 이미지가 들어가는 영역에 이미지를 드래그해서 넣거나 클릭해서 업로드하면 됩니다. 하지만 이때는 프롬프트가 작성되지 않습니다.
이미지는 'PNG' 확장자만 가능합니다. JPG나 WEBP와 같은 다른 이미지는 업로드가 불가능합니다. 만약 직접 이미지를 추가해서 해당 이미지와 관련된 프롬프트를 작성하고 싶다면 'Generate' 버튼 아래에 'txt2img'에서는 없던 2가지 아이콘을 이용하면 됩니다.
🔹📎모양 버튼 (Interrogate Clip) : 이미지를 분석해서 문장 형태로 프롬프트를 작성
= 특징이 되는 부분들을 추려서 몇 개의 문장으로 작성해 줍니다. 다만 해석과 문장으로 추려주는 작업이 꽤 시간이 걸립니다. 몇 분 정도 걸릴 수 있으니 해당 기능은 별로 추천하지 않습니다.
🔹📦모양 버튼 (Interrogate DeepBooru) : 이미지를 분석해서 단어 형태의 프롬프트를 작성
= 'Interrogate Clip'에 비하면 속도도 빠르고, 단어 형태의 프롬프트로 작성해 주므로 좀 더 명확합니다. 프롬프트 내용을 자동으로 작성해보고 싶다면 해당 버튼을 이용하면 됩니다.
🟦 기능 설명
아래로 내려가면 이미지를 수정하기 위한 옵션들이 보입니다. 대부분 'txt2img'에서 사용하는 것들과 같기 때문에 중복되는 부분만 제외하고 'img2img'에서 추가된 옵션들을 살펴보겠습니다.
여기서 이미지를 🖼️ 모양이나 🎨 모양으로 보낸 경우 일부 설정값은 제대로 들어오고 'Sampling method'나 'CFG scale' 값은 제대로 적용이 되지 않은 모습을 볼 수 있습니다. 즉, 별도로 적용을 해야 합니다.
사이즈의 경우 'Hires'를 하여 크기를 키운 경우, 키워진 크기가 그대로 들어옵니다.
ex) 512x768 → Hires 1.5 = 768x1152
🔹Resize mode
이미지의 크기를 재조정하여 이미지를 수정하는 옵션으로 Resize to, Resize by와 Denoising strength 값에 영향을 받습니다.
- Just resize : 아래에 보이는 Resize to, Resize by의 사이즈 값으로 이미지를 변형시키는 옵션. 원본이미지와 종횡비가 맞지 않을 경우 이미지가 늘어나거나 찌부된 모습을 볼 수 있습니다.
- Crop and resize : 이미지를 목표로 하는 사이즈에 맞춰 잘라버리고 다시 그립니다. 중앙을 기준으로 작업하기 때문에 위/아래, 또는 좌/우가 잘립니다. 배경이나 불필요한 영역을 잘라버리고 싶을 때 사용하시면 유용합니다.
- Resize and fill : 일단 변경하고자 하는 이미지 사이즈가 확장하는 경우, 중앙 영역은 그대로 두고, 늘어난 부분에 대해서 인접한 색상과 프롬프트, Denoising strength 값 등의 영향으로 공간을 해석하여 채웁니다.
- Just resize(latent upscale) : Just resize 한 이미지에 업스케일을 적용하여 이미지를 높은 해상도인 것처럼 만들어줍니다.
아래는 각각의 옵션에 대한 테스트 이미지입니다. 여기서 설정한 옵션은 아래와 같습니다.
🔸CFG : 8
🔸Steps : 40
🔸Sampler : Euler a
🔸Size : 512x512 → Upscale by 1.5 = 768x768
🔸Resize to : 768x1124
🔸Denoising strength : 0.1
※ Resize and fill 옵션의 경우 'Denoising strength' 값이 낮으면 위와 같이 그냥 픽셀을 쭉 늘어뜨린 것처럼 생성합니다. 그러나 0.7과 같이 높은 값을 사용하면 확장된 영역에 대해서는 이미지를 해석해서 채워줍니다. 아래는 같은 이미지를 'Denoising strength'를 0.75로 하여 생성한 이미지입니다. 단순히 영역뿐만 아니라 이미지가 대부분 변경된 것을 볼 수 있습니다.
🔹Resize to, Resize by
이미지의 크기를 설정하는 옵션으로 위의 'Resize mode'에 영향을 주는 값입니다.
- Resize to : 이미지를 직접 특정 값으로 설정하는 옵션. 원본 이미지와 상관없이 여기에 설정된 값으로 최종적으로 이미지를 다시 생성합니다. 너무 키울 경우 스테이블 디퓨전 모델의 버전에 따라서 적용할 수 있는 이미지 크기가 정해져 있으므로 권장 사이즈에 맞춰서 이미지를 변경하시는 것을 추천합니다.
- Resize by : Upscale by와 같이 배율로 이미지 사이즈를 조정할 수 있는 옵션으로 종횡비는 그대로 고정되기 때문에 원본 이미지의 비율은 그대로 유지하면서 크기를 늘리거나 줄이고 싶을 때 사용합니다. 이것도 너무 크게 하면 오류가 발생하거나 이상하게 나올 수 있으니 가급적 주의하시길 바랍니다.
🔹Denoising strength
이거는 Hires를 적용할 때도 봤던 옵션인데, 원본 이미지에 노이즈를 얼마나 적용할지를 나타냅니다. 즉, 수치가 낮으면 노이즈를 적게 적용하여 원본 이미지를 최대한 유지하는 형태로 생성하고, 반대로 높으면 원본 이미지에 노이즈를 많이 주어서 차이가 많은 이미지를 생성합니다.
아래는 Denoising strength 값을 각각 0.2와 0.75로 적용하면서 프롬프트에 `long hair`를 추가했을 때의 모습입니다. 값이 낮으면 변화가 거의 없는 반면, 값이 높으니 머리카락 길이가 조금 더 길어진 것을 볼 수 있습니다.
다만, Denoising 값을 0.8보다 높을 경우 노이즈가 너무 심하게 적용되어 전혀 다른 이미지를 생성할 수 있으니 주의해서 사용하시길 바랍니다.
구독 및 좋아요는 컨텐츠를 생산하는데 많은 도움이 됩니다. 😊
감사합니다.