2025.03.14 - [스테이블 디퓨전] - ControlNet을 알아보자 >>> ControlNet은 무엇인가?

 

ControlNet을 알아보자 >>> ControlNet은 무엇인가?

스테이블 디퓨전에서 ControlNet은 텍스트-이미지 변환 모델에 추가적인 조건을 부여하여 더 정교하고 제어된 이미지 생성을 가능하게 하는 신경망 구조입니다. 이 모델은 기존의 생성 모델에 "잠

suncommq.tistory.com

 

ControlNet이란?

ControlNet은 스테이블 디퓨전에서 **특정한 가이드(제어 조건)**를 통해 이미지의 세부 사항을 조정할 수 있도록 도와주는 확장 모델입니다. 일반적인 txt2img 또는 img2img 방식보다 더 정확한 결과를 얻을 수 있는 장점이 있습니다.

ControlNet의 주요 기능:

  • 스케치를 정밀한 이미지로 변환
  • 특정 포즈나 자세를 반영하여 캐릭터 생성
  • 배경 구조를 유지하면서 스타일 변경
  • 실제 사진을 활용하여 유사한 그림 생성

ControlNet을 활용하면 원하는 이미지의 구조를 손쉽게 컨트롤할 수 있어 게임 캐릭터 제작, 일러스트 생성, 광고 디자인 등에 매우 유용합니다.


ControlNet의 주요 입력 타입

ControlNet은 다양한 입력 조건을 활용할 수 있으며, 대표적인 것들은 다음과 같습니다.

 

입력 타입 설명
Canny 이미지의 엣지를 감지하여 윤곽을 유지
Depth 깊이 맵을 활용하여 입체감 유지
Pose (OpenPose) 인물의 포즈를 반영하여 새로운 캐릭터 생성
Sketch (Scribble) 간단한 스케치를 정밀한 이미지로 변환
Line Art 만화 스타일의 선화를 기반으로 컬러 이미지 생성
Segmentation 이미지 영역을 분리하여 색상 또는 스타일 변경
MLSD 건축물이나 직선 구조를 유지

1. 스케치(Scribble) → 디테일한 이미지 변환

 입력: 간단한 스케치  →  출력: 정밀한 일러스트

 

프롬프트: a beautiful anime girl, vibrant colors, highly detailed, ultra HD
ControlNet: Scribble (스케치 입력)

 

활용 예시: 러프한 스케치를 정교한 그림으로 변환하여 웹툰 제작, 캐릭터 디자인에 활용 가능

 

 

 

2. 포즈(OpenPose) → 동일한 포즈의 캐릭터 생성

입력: 특정 포즈 이미지 → 출력: 원하는 스타일로 변환된 캐릭터

 

프롬프트: a fantasy warrior, wearing armor, cinematic lighting
ControlNet: OpenPose (포즈 유지)

 

활용 예시: 댄서, 액션 캐릭터, 포즈 기반 일러스트 제작

 

 

3. Canny(엣지 감지) → 동일한 구조의 새로운 스타일 생성

입력: 사진 속 건물 윤곽 →  출력: SF 스타일의 건축물

프롬프트: a futuristic city with neon lights, cyberpunk theme
ControlNet: Canny (엣지 감지)

 

활용 예시: 기존 사진을 활용한 창의적인 건축 디자인, 게임 배경 제작

 

 

4. Depth(깊이 맵) → 입체감 유지한 스타일 변환

입력: 사진 속 건물 윤곽 → 출력: SF 스타일의 건축물

 

프롬프트: fantasy castle, detailed textures, dramatic lighting
ControlNet: Depth (깊이 맵 유지)

 

활용 예시: 사진을 기반으로 새로운 일러스트 스타일 구현, 실사 게임 배경 제작

 

 

반응형
LIST

1. 텍스트에서 이미지 생성(txt2img)

  • 설명: 텍스트 프롬프트를 입력하면 AI가 완전히 새로운 이미지를 생성하는 방식입니다.
  • 입력: 텍스트 프롬프트 + 랜덤 시드
  • 출력: 입력된 텍스트를 기반으로 생성된 완전히 새로운 이미지
  • 특징:
    • 처음부터 랜덤 노이즈에서 이미지를 생성
    • 창의적이고 자유로운 이미지 생성 가능
    • 프롬프트에 따라 세밀한 컨트롤 가능
  • 사용 예시:
    • "A futuristic city at sunset with flying cars" (미래 도시를 창조적으로 생성)
    •  
     

프롬프트 : A futuristic city at sunset with flying cars

2. 이미지 변환(img2img)

  • 설명: 기존 이미지를 기반으로 프롬프트에 맞게 변형하여 새로운 이미지를 생성하는 방식입니다.
  • 입력: 기존 이미지 + 텍스트 프롬프트 + 노이즈 정도(denoising strength)
  • 출력: 원본 이미지의 형태를 어느 정도 유지하면서도, 프롬프트에 따라 변형된 이미지
  • 특징:
    • 원본 이미지를 활용하여 스타일 변환이나 특정 요소 추가 가능
    • denoising strength 값을 조정하여 변화 정도를 설정 가능 (높을수록 원본에서 멀어짐)
    • 이미지의 구조를 유지하면서도 분위기, 스타일, 색감 등을 조정 가능
denoising strength = 0.3 denoising strength = 0.4 denoising strength = 0.5
denoising strength = 0.3
denoising strength = 0.4
denoising strength = 0.5
denoising strength = 0.6 denoising strength = 0.7 denoising strength = 0.8
denoising strength = 0.6
denoising strength = 0.7
denoising strength = 0.8
denoising strength = 0.9  
denoising strength = 0.9
  • 사용 예시:
    • 흑백 이미지를 컬러로 변환
    • 실사 이미지를 애니메이션 스타일로 변환
    • 러프한 스케치를 세밀한 그림으로 변환

비교 요약

 

기능 txt2img img2img
입력 텍스트 프롬프트 이미지 + 텍스트 프롬프트
생성 방식 랜덤 노이즈에서 새 이미지 생성 기존 이미지에서 변형
원본 이미지 유지 없음 부분적으로 유지 가능
활용 창작, 새로운 이미지 생성 스타일 변경, 리터칭, 디테일 강화

따라서,

  • 창의적인 새로운 이미지를 만들고 싶다면 → txt2img
  • 기존 이미지에서 변형하거나 스타일을 변경하고 싶다면 → img2img

 

 

 

반응형
LIST

스테이블 디퓨전에서 ControlNet은 텍스트-이미지 변환 모델에 추가적인 조건을 부여하여 더 정교하고 제어된 이미지 생성을 가능하게 하는 신경망 구조입니다. 이 모델은 기존의 생성 모델에 "잠긴" 가중치와 "학습 가능한" 가중치를 결합하여, 원래 모델의 성능을 유지하면서도 새로운 조건을 학습할 수 있도록 설계되었습니다.

 

주요 특징:

  1. 조건부 제어: ControlNet은 텍스트 프롬프트 외에도 추가적인 입력(예: 스케치, 포즈, 외곽선 등)을 기반으로 이미지를 생성할 수 있습니다.
  2. 모듈형 설계: 기존 모델의 구조를 변경하지 않고, 추가적인 모듈을 통해 확장 가능.
  3. 효율적인 학습: 소규모 데이터셋으로도 학습이 가능하며, 원래 모델의 성능을 손상시키지 않습니다

pexels 홈페이지 다운로드 사진
pexels 홈페이지 다운로드 사진

 

ControlNet의 openpose 파라미터로 인물의 자세를 추출할수 있다.

 

openpose로 인물의 자세를 추출한다

 

스테이블 디퓨전 WebUi에서 openpose를 적용

 

스테이블 디퓨전 WebUI에서 ControlNet 설치하기

 

ControlNet을 설치하려면 ControlNet 본체프리 프로세서 모델을 나눠 설치해야 합니다.

 

우선 WebUI에서 Extensions 탭에서 본체를 다운로드 합니다.

 

URL에 주소 입력하고 Install을 클릭합니다.

https://github.com/mikubill/sd-webui-controlnet.git

 

GitHub - Mikubill/sd-webui-controlnet: WebUI extension for ControlNet

WebUI extension for ControlNet. Contribute to Mikubill/sd-webui-controlnet development by creating an account on GitHub.

github.com

 

 

설치가 완료되면 체크 업데이트를 누르고 적용을 시키나서 WebUI를 리스타트 합니다.

적용을 하고 WebUI를 리스타트 합니다

 

그 다음 프리 프로세서 모델을 다운로드 합니다. ControlNet은 여러 베이스 모델별로 다른 모델이 있기 때문에 각자 맞는 버전을 다운받으셔야 됩니다. 여기서 초보자가 착각하는 것 중 하나가 WebUI와 SD 버전 1.5, 2.0, SDXL 등을 구별 못한다는 것인데요. WebUI와 SD 버전은 다른겁니다. WebUI는 단순히 모델을 사용하기 위한 프로그램이 입니다. 메모장, 워드 같은 프로그램을 말하는 거구요. SD버전이 바로 모델 버전입니다. 이 SD 모델이란거는 Stability AI에서 개발한 모델을 말합니다. SD 1.5, SD 2.0, SDXL 등.

아래 링크를 타고 가셔서 프리 프로세서 모델을 다운로드 합니다.

https://huggingface.co/lllyasviel/sd_control_collection/tree/main

 

lllyasviel/sd_control_collection at main

Detected Pickle imports (3) "torch.HalfStorage", "torch._utils._rebuild_tensor_v2", "collections.OrderedDict" What is a pickle import?

huggingface.co

diffusers_xl_canny_full.safetensors 다운로드

 

 

diffusers_xl_canny_full.safetensors 를 다운받고

 

*스테이블 디퓨전 루트 디렉터리/extensions/sd-webui-controlnet/models ←이 위치로 프리 프로세스 모델을 이동시킨다

 

스테이블 디퓨전 루트 디렉터리/extensions/sd-webui-controlnet/models
스테이블 디퓨전 루트 디렉터리/extensions/sd-webui-controlnet/models

 

 

ControlNet 설치 완료

 

이제 ControlNet 설치가 완료 되었으므로 각 파라미터를 설명 드리겠습니다.

 

ControlNet Unit

여기서 편집할 이미지를 업로드 합니다. unit 0 ,unit 1, unit 2 각 각 다른 탭에서 각자 이미지 별로 편집하고 싶을때 사용합니다.

 

Single Image/Batch/Multi-inputs 

Single Image 이거는 이미지를 한장 한장 업로드 할때 사용합니다.

Batch는 해당 폴더로 경로 지정을 해서 여러 장을 한꺼번에 업로드 처리 합니다

Multi-inputs 이거는 폴더와 상관 없이 여러 이미지를 한꺼번에 다 넣고 처리할때 사용합니다.

 

Enable 이것을 선택하셔야 Controlnet이 작동합니다.

Low VRAM : VRAM 이 부족할때 사용하며, 그 대신에 속도가 느려집니다.

Pixel Perfect : 프리 프로세서의 해상도를 자동 설정하도록 합니다. 초기 설정이 On으로 되어있습니다.

Allow Preview : 쉽게 말하면 미리보기 기능입니다. 이것을 선택 한 다음 프리 프로세서 모델을 선택하고

                          위에 폭탄그림 아이콘을 클릭하면 미리보기로 생성됩니다.

Effective Region Mask  : 입력 이미지에서 마스크 처리한 부분을 업로드할 때 사용합니다.

 

Control Type

여기서 프리 프로세서 종류를 선택합니다.

선택을 하시면 아래 프리프로세서와 모델이 자동 설정 됩니다.

 

Preprocessor/Model

위에 메뉴와 같다 보시면 되고 프리프로세서 모델을 선택할 수 있습니다.

 

Control Weight 이것은 가중치 설정입니다.

 

Starting Control Step / Ending Control Step

이것은 0.1,  0.2, 1 등 백분율 단위로 사용합니다.

예를 들어 Starting을 0.1로 하고 Ending을 0.2로 설정하면

ControlNet이 10%에서 생성 시작했다가 20%에서 종료합니다.

 

Control Mode

프롬프트의 압력의 밸런스를 적용합니다.

나의 생성 이미지 프롬프트를 중시할것이냐 아니면 ControlNet 기능을 중시할것이냐 그걸 말하는 겁니다.

 

Resize Mode

이건 img2img 탭에서 사용하는 파라미터와 같은 것인데 

쉽게 설명하면

단지 이미지 사이즈를 변경할것이냐 아니면 사이즈를 변경하면 상실하는 부분이나 이미지가 커질때 어떻게 처리할것이냐

그것을 선택하는 겁니다. 단지 사이즈를 바꾼다. 사이즈 바뀐 부분은 짤리거나 새로 생성한다. 줄이면 줄인다. 늘릴때는 새로운 이미지가 생성되거나 하는 겁니다.

 

자 ControlNet 부분에서 설치하고 설명까지 마치었습니다.

 

다음 포스팅은 프리 프로세서를 적용했을때 이게 뭔지 한번 적용해 보겠습니다. 감사합니다

 

 

 

반응형
LIST

아래는 저사양 PC에서 활용할 수 있는 ControlNet 모델을 정리한 표입니다:



ControlNet 이름 특징 적용 모델 (버전 포함) 다운로드 링크
ControlNet Canny 이미지의 외곽선을 기반으로 세부적인 제어 가능. Stable Diffusion 1.5, 2.1 ControlNet Canny
ControlNet OpenPose 인체 자세를 감지하여 이미지 생성 시 활용 가능. Stable Diffusion 1.5, 2.1 ControlNet OpenPose
ControlNet Depth 깊이 정보를 기반으로 이미지의 구조를 제어 가능. Stable Diffusion 1.5, 2.1 ControlNet Depth
ControlNet Scribble 간단한 스케치를 기반으로 이미지를 생성. Stable Diffusion 1.5, 2.1 ControlNet Scribble
ControlNet Segmentation 이미지의 세그먼트 정보를 활용하여 세부적인 제어 가능. Stable Diffusion 1.5, 2.1 ControlNet Segmentation


반응형
LIST

와우! 8개의 개별 프롬프트로 30초짜리 영상을 만들려는 계획이었으나 GPU가 딸린 관계로 스토리와 프롬프트로 대신하겠습니다.

 

영상 컨셉: "미래도시를 여행하는 소녀"

    주요 특징:

  • 사이버펑크 스타일: 네온 조명이 가득한 도시
  • 미래적인 디자인: 공중 자동차, 홀로그램 광고
  • 점진적인 카메라 이동: 부드럽고 자연스러운 장면 연결

1. 생성 프롬프트 (8개)

 

각 장면이 부드럽게 이어지도록 구성했으며, 애니메이션 감성을 극대화하기 위해 구도와 카메라 움직임을 강조했습니다.

 

(Scene 1) 오프닝 – 도시가 보이는 파노라마 샷

 

Prompt 1:

A breathtaking cyberpunk cityscape at night, full of neon lights, flying cars, and holographic billboards, ultra-wide cinematic shot, deep perspective, high detail, 4K UHD, vibrant colors, hyper-realistic, smooth camera pan, atmospheric lighting

 

 

(Scene 1) 오프닝 – 도시가 보이는 파노라마 샷

 

(Scene 2) 주인공 등장 – 높은 곳에서 도시를 바라보는 소녀

Prompt 2:

A young girl with silver hair and a cyberpunk jacket standing on the edge of a futuristic skyscraper, gazing at the neon city below, wind blowing through her hair, dramatic lighting, cinematic shot, ultra-detailed, smooth animation, immersive atmosphere

 

주인공 등장 – 높은 곳에서 도시를 바라보는 소녀
주인공 등장 – 높은 곳에서 도시를 바라보는 소녀

(Scene 3) 거리로 이동 – 사람들이 붐비는 거리

Prompt 3:

The girl walks into a bustling cyberpunk street, surrounded by neon signs, futuristic shops, and people in high-tech outfits, soft reflections on wet pavement, dynamic camera tracking, ultra-high resolution, filmic lighting, immersive cyberpunk vibes

 

거리로 이동 – 사람들이 붐비는 거리
거리로 이동 – 사람들이 붐비는 거리

(Scene 4) 홀로그램 시장 – 하늘에 떠 있는 광고들

Prompt 4:

A vibrant cyberpunk marketplace filled with floating holographic displays, robotic vendors, and diverse futuristic characters, neon glow illuminating the environment, depth of field effect, highly cinematic, realistic textures, soft camera movement

 

홀로그램 시장 – 하늘에 떠 있는 광고들
홀로그램 시장 – 하늘에 떠 있는 광고들

 

(Scene 5) 추격전 – 공중 플랫폼 위를 달리는 소녀

Prompt 5:

The girl running across a futuristic rooftop with neon-lit skyscrapers in the background, motion blur, smooth cinematic tracking shot, dynamic lighting, rain reflecting neon colors, high-detail cyberpunk cityscape, intense and immersive

추격전 – 공중 플랫폼 위를 달리는 소녀
추격전 – 공중 플랫폼 위를 달리는 소녀

 

(Scene 6) 공중열차 – 도시에 떠 있는 고속 모노레일

Prompt 6:

A high-speed futuristic monorail flying above the cyberpunk city, windows reflecting neon lights, passengers inside watching the vibrant city pass by, cinematic perspective, depth of field, ultra-realistic rendering, smooth animation

공중열차 – 도시에 떠 있는 고속 모노레일
공중열차 – 도시에 떠 있는 고속 모노레일

(Scene 7) 마지막 목적지 – 거대한 네온 빌딩 앞 도착

Prompt 7:

The girl arrives at a towering cyberpunk skyscraper, glowing neon signs, massive holograms surrounding the entrance, cinematic shot, ultra-high detail, deep shadows, neon reflections, dramatic atmosphere

마지막 목적지 – 거대한 네온 빌딩 앞 도착

(Scene 8) 엔딩 – 하늘을 바라보는 소녀

Prompt 8:

The girl standing on a neon-lit rooftop, looking at the endless cyberpunk city stretching into the horizon, stars and flying cars above, epic cinematic shot, ultra-detailed, soft focus, immersive futuristic vibe

엔딩 – 하늘을 바라보는 소녀
엔딩 – 하늘을 바라보는 소녀

 

공통 네거티브 프롬프트 (불필요한 요소 제외)

low quality, blurry, bad anatomy, deformed, pixelated, noise, oversaturated, overexposed, low resolution, bad lighting, watermark, text, artifacts, extra limbs, extra fingers, unnatural movement

 

스테이블 디퓨전 파라미터
스테이블 디퓨전 파라미터
AnimateDiff 파라미터
AnimateDiff 파라미터

영상 구성

(1초~4초) – 미래 도시 전체 풍경 (Scene 1)
(5초~8초) – 주인공 등장 (Scene 2)
(9초~12초) – 거리 이동 (Scene 3)
(13초~16초) – 홀로그램 시장 (Scene 4)
(17초~20초) – 추격전 (Scene 5)
(21초~24초) – 공중열차 장면 (Scene 6)
(25초~28초) – 도착 (Scene 7)
(29초~30초) – 엔딩 (Scene 8)

 

이 소스는 Stable Diffusion AnimateDiff를 사용하여 제작하기 위한 프롬프트 입니다.
미래적인 네온 도시에서 한 소녀가 여행하는 모습을 담았습니다.

 

사용 모델: bluePencil_v10.safetensors + clearvaeSD15_v23.safetensors + AnimateDiff
제작 환경: 저사양 PC 최적화

 

추천 유튜브 무료 음악 (YouTube Audio Library)

유튜브 오디오 라이브러리에서 사용할 수 있는 음악 추천드립니다.

1. "The Future Glitch" – 전자음 기반의 미래적 느낌
2. "Night Drive" – 네온 도시 분위기와 잘 어울리는 음악
3. "Cyberpunk Dreams" – 긴장감 있는 사이버펑크 스타일
4. "Ethereal Voyage" – 몽환적이고 미래적인 분위기


 

저는 저사양 PC에다가 무엇보다 GPU 딸려서 못하지만 여러분들은 할 수 있을꺼라 믿습니다.

반응형
LIST

+ Recent posts