ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • ComfyUI) ControlNet을 이용한 이미지의 실사화
    Stable Diffusion 2024. 8. 20. 16:24
    반응형

    ※ 실사화 방법 : 원본 이미지 + ControlNet → 실사 모델 → 실사화 이미지

    다음 이미지는 Basic Workflow를 활용해 생성한 카툰 스타일의 이미지입니다. 이제 이 이미지를 ControlNet을 사용해 실사화해보겠습니다. 이미지에 대한 구체적인 정보는 알지 못하는 상태에서 작업을 진행하는 것으로 하겠습니다. Basic Workflow는 이전 블로그 글을 참고하세요. 

     

    ComfyUI의 기초 - 이미지 생성

    ComfyUI를 사용하여 이미지를 생성하는 기본적인 방법을 알아보겠습니다. ComfyUI로 이미지를 생성하려면, 먼저 빈 캔버스에 필요한 노드를 배치하여 워크플로우를 만들어야 합니다. 지금부터 이

    astorynotheavy.tistory.com

    원본 이미지

    Resolution : 1024 × 1024
    Checkpoint : realcartoon3d_v17
    VAE : vae-ft-mse-840000-ema-pruned
    steps : 30
    cfg : 6.5
    sampler : dpmpp_2m
    scheduler : karras
    denoise : 1
    positive prompt : 1 girl, beautiful face, detailed face, balanced face, middle age knight
    negative prompt : bad quality, low quality, lowres, normal quality, worst quality, blurry, grayscale, monochrome, sketches, watermark, bad anatomy, bad feet, bad hands, extra arms, extra fingers, extra foot, extra legs, extra limbs, fused fingers, malformed limbs, missing arms, missing fingers, missing legs, mutated hands, mutation, poorly drawn face, poorly drawn hands, tilted head, too many fingers, acnes, skin blemishes, skin spots, cross-eyed, facing away, looking away, bad body, bad proportions, fat, long neck

    프롬프트 생성

    원본 이미지에 대한 positive 프롬프트를 생성해야 합니다. ControlNet을 사용하더라도, 적절한 positive 프롬프트가 입력되지 않으면 전혀 다른 이미지가 생성될 수 있으므로 주의가 필요합니다. 프롬프트는 이미지를 보고 직접 작성할 수 있지만, WD14 Tagger를 이용하면 적합한 프롬프트를 자동으로 생성해 줍니다. 이 프롬프트를 positive 프롬프트로 사용하겠습니다. Negative 프롬프트의 경우, 인물 이미지를 생성할 때는 유사한 내용이 포함되므로 이미지 생성 시 사용했던 프롬프트를 활용하겠습니다. 

    좌)프롬프트 입력, 우)프롬프트 생략
    WD14 Tagger : 두개의 노드를 연결하고 Queue prompt를 클릭하면 프롬프트를 생성하여 줍니다.

    ControlNet 모델 선택

    이미지를 실사화하기 위해서는 동일한 이미지를 다른 모델을 이용해 생성해야 합니다. 이 과정에서 ControlNet은 동일한 이미지를 생성하는 데 사용됩니다. 여러 ControlNet 모델 중, 이미지 복사에 적합한 모델을 선택해야 하며, 실제로 이미지를 생성해 보면서 어떤 모델을 사용할지 결정해야 합니다. 테스트를 위해서는 XY Plot 노드를 사용하는 것이 편리하며, ControlNet의 대표적인 모델 몇 가지를 테스트해 보겠습니다. 테스트는 모델별로 5개의 strength 수치를 이용해 진행했습니다. ControlNet의 XY plot 이미지 생성 방법은 이전 블로그 글을 참고하세요. 

     

     

    ComfyUI) ControlNet 사용법 + XY plot

    ControlNet이란?ControlNet은 이미지 생성 과정을 세밀하게 제어할 수 있도록 도와주는 확장 기능입니다.ControlNet 사용을 위한 노드Load ControlNet Model : ControlNet 모델을 불러오기 위한 노드입니다. 여기에

    astorynotheavy.tistory.com

    Canny

    Canny는 이미지의 윤곽선을 인식해 이미지 생성 과정을 제어합니다.

    Canny 모델로 변형된 원본 이미지
    Canny 모델을 이용해 생성한 이미지의 XY plot

    Canny 모데을 이용해 생성한 이미지는 전체적으로 원본과 차이가 있습니다. 또한, strength 0.75 이상에서는 이미지의 색상 차이가 심해지므로, Canny 모델을 적요할 때는 strength 0.75 이하로 조절하는 것이 좋겠습니다. 

    Depth

    2차원 이미지를 3차원 공간 정보로 변환하여 이미지 생성을 제어합니다.

    Depth 모델로 변형된 원본이미지
    Depth 모델을 이용해 생성한 이미지의 XY plot

    Depth 모델은 Strength 0.25 ~ 0.75 사이가 적당해 보이며, 전체적으로 비슷한 이미지가 생성되지만 머리카락 부분에서 약간의 차이가 있습니다. 

    Lineart

    Canny 모델과 유사하게 윤곽선을 인식합니다.

    Depth 모델로 변형된 원본이미지
    Lineart 모델을 이용해 생성한 이미지의 XY plot

    Lineart 모델은 strength 0.5에서 원본과 가장 유사한 이미지를 생성했습니다. 지금까지 생성한 이미지 중 가장 비슷한 결과를 보였습니다.  

    Normal map

    3D 모델의 표면 정보를 2차원 이미지로 변환하여 이미지 생성을 제어합니다. 

    Normal map 모델로 변형된 원본이미지
    Normal map 모델을 이용해 생성한 이미지의 XY plot

    Normal map 모델은 Strength 0.5에서 가장 유사한 이미지를 생성하지만, 얼굴 디테일에 차이가 있으며 색감도 많이 다릅니다. 이 모델은 다른 모델들과 달리 매우 밝은 이미지를 생성합니다. 

    Openpose

    이미지 속 인물의 포즈를 인식하여 이미지 생성을 제어합니다. 

    Openpose 모델로 변형된 원본이미지
    Openpose 모델을 이용해 생성한 이미지의 XY plot

    Strength 0.25에서의 이미지가 가장 비슷합니다. XY plot의 결과를 보면, openpose 모델은 강도를 낮춰서 사용하는 것이 좋겠습니다. 

    Soft edge

    이미지의 경계를 부드럽게 만들어 주는 모델입니다. 

    Openpose 모델을 이용해 생성한 이미지의 XY plot

    Strength 0.25에서 유사한 이미지를 생성했으며, 그 이상의 강도에서는 이미지가 전체적으로 어두워집니다. 

    결과

    Lineart 모델의 strength 0.5에서 가장 유사한 이미지를 생성했으며, Soft edge, Depth, Normal map 순으로 비슷한 이미지를 생성했습니다. Openpose와 Canny 모델은 원본과는 차이가 있는 이미지를 생성하므로, 카툰 이미지의 실사화에는 적절하지 않습니다. 

    반응형

    댓글

Designed by Vitual Stylist