본문 바로가기
AI-인공지능

스테이블 디퓨전 - controlnet 사용법(open pose,canny, depth, line art)

by 연풍사랑 2024. 7. 11.
원본 이미지 open pose image controlnet 적용 이미지

 

Stable Diffusion 에서 Controlnet 노드는 이미지의 구도나 또는 인물, 동물의 포즈를 원하는 방향으로 만들기도 하고

스케치 이미지를 이용하여 비슷한 형태의 image 를 만들어 낼 수있다.

위 사진에서 처럼 controlnet의 Open pose 기능을 이용하면 비슷한 포즈를 취하는 인물의 이미지 생성이 가능하다.

 

Controlnet 사용

1. Open Pose Model

open pose workflow

controlnet 사용시 필수 노드들은

-. Apply Controlnet : 이 노드를 ksampler 에 연결하여 원하는 controlnet 기능을 적용할 수있다.

    연결은 ksampler 의 positive / negative 입력단자에 연결해 주면된다.

-. Load Controlnet Model : controlnet model을 선택할 수있는 loader 이다.

    여기서 원하는 기능을 선택하면 된다.

    다만 적용할 model들은 다운 받아서 지정된 폴더에 설치되어 있어야 한다.

    (node 나 model 은 comfyui manager 를 검색하여 다운 받으면 된다.)

 -. Preprocessor 노드 : Apply Controlnet 노드에 원하는 이미지를 바로 연결해서 사용하는 것이 아니고,

    그 이미지를 전처리하여 원하는 controlnet 에 사용할 이미지로 만든 후  연결해야 한다.

    그 전처리를 해주는 노드를 통칭하여 Preprocessor 노드라고 한다.

    각 controlnet 기능에 따라 노드 명칭들이 제 각각이다. (DWPose Estimator 노드도 Preprocessor  노드이다.)

Preprocessor nodes

    노드 search 열어 찾아보면 저렇게 설명란에 preprocessor 로 되어있는 것 들이다.

-. Load Image : 원하는 이미지를 연결해 주는 노드

 

이것을 main workflow 에 연결하여 사용한다.

controlnet 적용 workflow

 

2. Canny Model

   

canny workflow

 canny 모델은 원하는 이미지의 outline 대로 이미지를 생성해 준다.

아래는 적용된 workflow 이다.

canny controlnet 적용 workflow

canny model 을 적용 한 결과가 원본 이미지의 느낌과 더 비슷할 것이다.

open pose 는 단지 포즈만 따라하는 것이지만 canny 는 outline에 따르기 때문에

옷차림도 머리스타일도 포즈도 많이 비슷하게 된다.

원본 이미지 canny 이미지 canny 적용후 생성 이미지

 

3. Depth Model

이 model 은 원본 이미지의  깊이 정보를 활용하여 더 정밀하고 세밀한 이미지를 생성하는 데 사용한다.

Depth workflow

Preprocessor 는 Zoe Depth Anything 을 사용하였는데, Preprocessor 노드들의 종류는 많기 때문에

저 노드가 없으면 다른 preprocessor 노드를 사용해도 상관없다.

 

depth controlnet 적용 workflow

 

원본 이미지 depth 이미지 depth 적용하여 생성된 이미지

 

depth 를 적용하나 canny 를 적용하나 큰 차이가 없겠지만,

보통 canny 는 인물 이미지에 적합하고 , depth 는 자연이나 풍경이미지에 적합하다.

인물이미지에서는 별 차이가 없으나  자연을 그린 이미지에서는 다를 것이다.

 

4. Line Art Model

   주어진 이미지의 선들을 따라 좀 더 정밀한 이미지를 생성하는데 사용된다.

 

Line Art Controlnet wolkflow 구조

이 workflow 를 적용하여 만든 이미지를 보면

원본 이미지 line art preporcessor  이미지 controlnet 적용후 생성 이미지

 

이미지가 원본과 매우 비슷한 이미지 임을 알수있다.

canny 보다는 좀 더 원본 이미지에 가깝게 만들어 준다.

Line art preprocessor 대신에 곧바로 이런 이미지를 연결해도 된다.

이 이미지는 스케치 이미지를 convert image to mask, invert mask, convert mask to image 처리하면 만들어 진다. 

직접 적용한후 생성된 결과

 

다른 여러가지 controlnet model들도 많이 있지만 주로 많이 사용되는 Model 들만 언급하였다.

 

두 가지 controlnet 을 동시에 사용 할려면 두 workflow 를 직렬연결 하면 되고, 연결은 positive 와 negative 단자들을 서로 연결해주면 된다.

 

controlnet 을 잘 활용하면 보다 원하는 이미지를 만들 있기 때문에 , 이 기능은 SD 에서 필수적이고 중요한 기능이다.

 

 

 

 

 

728x90