2025. 7. 13. 12:26ㆍPainting
4.2 img2img
img2img는 기존 이미지를 기반으로 새로운 이미지를 생성하는 방식이다. 텍스트만 입력해 이미지를 생성하는 text2img와는 달리, 기초 이미지와 프롬프트를 함께 사용해 스타일이나 구도를 유지하면서 새로운 이미지를 만들어낼 수 있다.특히 CLIP 기반 프롬프트만으로는 구현하기 어려운 캐릭터의 다양한 자세나 구체적인 형태를 보다 쉽게 표현할 수 있다는 장점이 있다.
[그림 43] img2img 방식

text2img 방식에서 큰 틀은 변하지 않지만, 몇 가지 추가적인 노드 설정이 필요하다.
[그림 44] KSampler 노드의 노이즈 제거양

KSampler 노드의 ‘노이즈 제거양’(denoise strength)은 출력 이미지에서 원본 이미지(입력 이미지)를 얼마나 유지할지를 결정하는 중요한 설정이다.
Diffusion 모델은 원본 이미지에 노이즈를 입힌 후 이를 점차 제거해가며 새로운 이미지를 생성하는 방식인데, 이 노이즈 제거양의 수치에 따라 원본 이미지와의 유사도가 달라진다.
- 값이 0에 가까울수록 노이즈가 거의 입혀지지 않아 원본 이미지의 형태나 구도가 많이 유지된다.
- 값이 1에 가까울수록 노이즈가 많이 적용되어, 마치 빈 이미지에서 새로 생성한 것처럼 원본과 전혀 다른 결과물이 나온다.
따라서 이 값을 조절함으로써 이미지 변형의 강도를 세밀하게 제어할 수 있다.
[그림 45, 46, 47] 노이즈 제거양 정도에 따른 변형 정도



[그림 45, 46, 47]은 노이즈 제거양 값을 각각 0, 15, 25로 설정한 결과물이다.
원본 이미지에 트릭컬 리바이브 스타일 그림체 LoRA의 적용을 시도하였는데, 노이즈 제거양을 일정 수준으로 높였을 때 원본의 구도와 악세서리를 유지하며 자연스러운 이미지가 생성됨을 확인할 수 있다.
단, 노이즈 제거 강도를 조절해 원본 이미지와의 유사성을 유지하려는 경우, 원본 이미지의 해상도가 충분히 높아야 양질의 결과물을 얻을 수 있다.
만약 해상도가 낮다면, 잠재 데이터 크기 조정(Latent Upscale) 노드를 사용해 원본 이미지를 강제로 스케일 업할 수 있지만, 이 방식은 픽셀 간 간격을 기계적으로 확장하는 방식이기 때문에 이미지 품질에 부정적인 영향을 줄 수 있다.
[그림 48] 잠재 데이터 크기 조정 노드

[그림 49, 50] 노이즈 제거양 사용의 잘못된 예시


[그림 49]은 380 * 420 크기의 낮은 해상도를 가지고 있다. [그림 50]와 같이 원본 이미지의 형식을 유지하며 강제로 768 * 1248 크기의 새로운 이미지 생성을 시도하면 ‘nearest exact’ 방식(픽셀 사이에 옆의 픽셀을 그대로 복사해 넣는 방식)으로 확장된 이미지에 AI의 변형이 첨가되어 의도한 결과물이 생성되지 않았다다.
노이즈 제거 강도(denoising strength)의 이상적인 값은 용도와 상황에 따라 다르며, 실험 결과 인물 이미지의 경우 0.2 ~0.25, 배경의 경우 0.5~0.6 정도가 가장 적절한 결과를 보였다. 다만 이는 노드 구성과 모델 특성에 따라 달라질 수 있으므로, 상황에 맞는 유동적인 조정이 필요하다.
img2img 방식은 특히 배경 이미지를 생성할 때 효과적이다. 캐릭터 생성과 달리, 배경은 작은 디테일이 조금 흐트러져도 눈에 잘 띄지 않고, 원본 이미지에서 다소 변형이 일어나더라도 어색하게 느껴지지 않는다. 반면 캐릭터는 포즈나 형태가 조금만 달라져도 부자연스럽게 보이기 쉽기 때문에, 상대적으로 변형에 민감하다.
[그림 51, 52] 배경 이미지를 img2img로 변형


원본 이미지인 [그림 51]에 픽셀아트 LoRA를 적용한 모습이다.
또한 img2img 방식은 동양화 LoRA나 픽셀아트 LoRA와 같은 특정 스타일을 적용할 때도 이미지가 자연스럽고 조화롭게 잘 생성되는 경향이 있다.
[그림 53, 54] 배경 이미지를 img2img로 변형(동양화 LoRA)


[그림 53] 원본 이미지는 주변이 바다로 둘러싸인 섬 이미지이다. 노이즈 제거양 수치를 0.45(배경에 적용하기에는 비교적 낮은 수치이다)로 설정하여 원본과의 유사성을 높였다. 또한 positive CLIP 프롬프트에 ‘surrounded by mountains’ 태그를 추가하여 바다가 있어야 할 공간을 동양화 스타일의 산맥으로 채울 수 있었다.
[그림 55] 배경 이미지를 img2img로 변형(픽셀아트 LoRA)

[그림 55]는 노이즈 제거량을 0.7으로 높여 생성한 결과이다.
이로 인해 원본 이미지와의 유사성은 낮아졌지만, 체크포인트와 픽셀 아트 LoRA의 개성이 더욱 뚜렷하게 반영되었다. CLIP 프롬프트에 입력한 ‘벚꽃’은 잘 표현되었고, 오른쪽 하단에는 프롬프트에 포함되지 않았던 세 척의 배가 자동으로 생성되었다.
예상치 못한 요소였지만 전체 이미지 구성과 잘 어우러졌기 때문에, negative CLIP을 이용해 삭제하지 않고 그대로 유지하였다.
이처럼 적절한 원본 이미지의 선택과 노이즈 제거량 조절을 통해, 원본과의 유사성 유지와 AI 모델의 창의성 반영을 균형 있게 조절할 수 있다.
[그림 56] 배경 이미지를 img2img로 변형(노이즈 제거량 0.9)

[그림 53] 원본 이미지에서 노이즈 제거량을 0.9까지 높이면 바다에 둘러싸인 섬의 이미지는 거의 사라지고 모델 체크포인트와 CLIP 프롬프트에 의존하여 이미지를 생성하게 된다. [그림 56]은 생성 과정에서 정확히 어떤 배경을 출력할 것인지에 대한 태그 정보를 입력하지 않았으므로, 모델이 자체적으로 새로운 구도를 창작한 것이다.
img2img 방식이 배경 이미지 생성에는 탁월한 성능을 보인다는 점을 확인할 수 있었지만, 캐릭터 이미지 생성에서의 한계점이 여전히 존재한다.
[그림 57, 58, 59] img2img 방식의 한계



[그림 57]은 원본 이미지에 트릭컬 그림체를 강하게 반영하기 위해 LoRA 강도를 높이고, 노이즈 제거량도 함께 증가시킨 사례이다. 그러나 단순히 노이즈 제거량만 조절해서 원본 이미지와의 유사성과 LoRA가 만들어내는 창의성 사이의 균형을 맞추는 것은 매우 어렵다. [그림 58]에서는 과도한 노이즈 제거 과정에서 이미지에 불필요한 형체가 뒤섞였고, [그림 59]에서는 신체 부위의 형태가 왜곡되었다.
또한 원본 이미지 배경에 미세하게 다른 색의 픽셀이 섞여 있을 경우, AI 모델이 이를 의미 있는 요소로 오인해 예상치 못한 객체나 캐릭터를 생성하기도 한다. [그림 59]에서도 캐릭터 왼쪽 아래에 의도하지 않은 인물이 생성된 것을 확인할 수 있다.
이처럼 원본 이미지의 특성과 모델, LoRA, CLIP 프롬프트 간 정보가 충돌하면서 원하는 결과물을 얻기 어려운 경우가 많다.
그렇다면 포즈나 구도는 유지하되, 디자인과 디테일은 LoRA나 CLIP 프롬프트에 맡기는 방법은 없을까?
그 해답중 하나가 ComfyUI의 커스텀 노드로 불러올 수 있는 ‘controlnet’이다
ControlNet은 이미지 생성 모델에서 "조건(condition)"을 보다 정확하게 입력할 수 있도록 도와주는 구조로, 기본적으로 Stable Diffusion은 텍스트 프롬프트로 이미지를 생성하지만, 그 결과는 프롬프트만으로는 정확하게 통제하기 어렵기에 ControlNet은 여기에 추가적인 입력 이미지(예: 윤곽, 포즈, 깊이 정보 등)를 넣어, 더 정밀한 결과를 만들어주는 보조 네트워크 역할을 한다.
[그림 60, 61] controlnet 노드 구조와 controlnet 노드를 사용한 출력 이미지


캐릭터의 포즈를 인식하거나, 이미지의 윤곽선을 뽑아내는 등의 분석 기능을 수행하며, 이 과정에 OpenPose, Canny, Depth 등 다양한 Preprocessor가 사용된다. Openpose 노드는 인체의 포즈(관절 위치)를 기반으로 가이드 이미지를 생성하고 Canny Edge 노드는 이미지의 윤곽선을 딴 가이드 이미지를 생성하며
Depth 노드는 거리/깊이 정보(3D 느낌)를 반영하는 가이드 이미지를 생성한다.
[그림 62] 컨트롤넷 적용 노드, 컨트롤넷 모델 로드 모드

ControlNet은 입력 이미지에서 필요한 정보를 추출한 뒤, Preprocessor의 출력 결과를 ControlNet 노드에 전달하고, 이 정보는 최종적으로 KSampler 노드로 연결되어 이미지 생성 과정에 반영된다. ControlNet을 사용하려면, 일반적인 체크포인트 모델과 별도로 ControlNet 전용 모델 파일을 Civitai와 같은 플랫폼에서 다운로드해 적용해야 한다. 이 모델이 바로 입력 이미지에서 포즈, 윤곽, 깊이 등 조건 정보를 추출하는 역할을 수행한다.
또한, 사용하는 ControlNet 모델은 체크포인트 모델(SD 1.5, SDXL 등)의 버전에 맞춰 선택해야 한다. 이 조합이 맞지 않으면 내부 연산 방식의 차이로 인해 이미지 생성이 실행되지 않는다.
사진에서 포즈, 외곽선을 추출할 수도 있지만, 직접 포즈를 조작하여 특징을 추출할 수 있는 방법도 있다. 3D Pose Editor 커스텀 노드를 사용하면, 3D 조작 화면에서 직접 포즈 마네킹을 연출하고 싶은 자세로 조작할 수 있다.
[그림 63, 64] 3D Pose Editor 커스텀 노드


[그림 65, 66] ControlNet을 사용하지 않았을 경우


ControlNet 없이 단순히 노이즈 제거량을 높여 이미지를 생성할 경우, 원본 이미지에서 트릭컬 스타일을 적용할 적절한 위치를 AI가 정확히 파악하지 못하는 문제가 발생한다.
애니메이션 이미지가 원본일 경우, 모델은 얼굴이나 눈 등 주요 요소의 위치를 쉽게 인식해 해당 부위에 트릭컬 스타일을 적용할 수 있다. 하지만 실사 이미지를 기반으로 포즈를 그대로 옮기려 할 경우, 신체 비율이나 형태가 애니메이션과 다르기 때문에, AI는 어디에 트릭컬 특성을 녹여야 할지 혼란을 겪는다.
그 결과, 트릭컬 스타일이 엉뚱한 배경 요소에 적용되거나, 배경에 얼굴과 유사한 형체가 생성되는 등의 이상한 출력이 나타날 수 있다.
[그림 67, 68, 69] ControlNet을 적절한 CLIP 프롬프트와 사용하지 않았을 경우



컨트롤 넷 노드를 사용할 때는 포즈와 관련된 CLIP 프롬프트 태그(full body, upper body, sitting, kneeling, running 등)를 사용할 때 각별한 주의가 필요하다. 원본 이미지에서 추출한 이미지상에서는 앉은 자세이지만만, CLIP 프롬프트 태그에서는 ‘일어나 있는’(standing)를 사용한다면, 서로 충돌이 일어나 배경이 왜곡되거나 신체 변형이 일어난다.
[그림 70, 71, 72] Openpose, Canny Edge, Depth 노드 강도 조절



[그림 71]은 Openpose 노드만 적용한 결과물, [그림 72]는 Depth 노드만 적용한 결과이다. 원본 이미지의 포즈를 정확하게 반영하지는 못한 모습인데, 이를 보완하기 위해서는 정확하게 자세를 명시해주는 CLIP 프롬프트 태그와 컨트롤넷 노드를 여러개 사용하는 것이 효과적이다.
sd 캐릭터 원본 이미지에서 Canny, Depth를 뽑아서 사용하는 것은 비율이 비슷하여 적용이 잘 되지만, 실사 이미지 포즈를 [그림 71, 72]와 같이 sd 스타일 캐릭터에 적용시키려면 controlnet에 canny나 depth보다는 주로 Openpose 노드를 사용하는 것이 효과적이었다.
[그림 73, 74, 75, 76] Openpose, Canny Edge, Depth 노드를 적절히 조작




[그림 73, 74] 이미지를 생성할 때에는 side view, running + openpose pose 0.5 강도 + depth 1.0 강도로 노드를 연결하니 가장 자연스러운 결과물을 얻을 수 있었고
[그림 75, 76] 이미지를 생성할 때에는 side view, sitting, crouching + openpose pose 0.9 강도 + depth 0.7 강도가 가장 애니메이션 스타일의 이미지를 생성하기 적합했다. 물론 절대적인 수치는 아니다.
특히 딱 붙는 옷을 입거나 누드 상태의 이미지를 원본 이미지로 사용하는 것이 신체 포즈를 추출할 때 퀄리티가 더욱 좋았다.
img2img는 프롬프트를 제대로 설정하지 않으면 text2img보다 출력 결과가 불안정해질 수 있다. 이는 원본 이미지의 구도나 정보가 어느 정도 고정되어 있기 때문에, 프롬프트가 그 이미지와 맥락적으로 충돌할 경우 엉뚱하게게 변형되거나, 전체 조화가 무너지는 현상이 발생하기 때문이다.
그러나 반대로 프롬프트를 이미지와 잘 맞춰 설정하면, 원하는 구도나 형태를 유지하면서도 text2img보다 더 정밀하게 원하는 스타일이나 디테일을 표현할 수 있는 장점이 있다. 결국 img2img는 "정확한 프롬프트 설계"가 핵심이며, 이를 통해 원본 이미지의 장점과 AI 생성의 창의성을 효과적으로 조합할 수 있다.
'Painting' 카테고리의 다른 글
| ComfyUI 생성 연습 _1 (0) | 2025.07.13 |
|---|---|
| Stable diffusion AI를 활용한 독창적인 이미지 생성 과정과 저작권 규제에 대응하는 전략 - 번외 (3) | 2025.07.13 |
| Stable diffusion AI를 활용한 독창적인 이미지 생성 과정과 저작권 규제에 대응하는 전략 - 상 (2) | 2025.07.13 |
| 4 (0) | 2024.11.10 |
| 3 (0) | 2024.10.07 |