Ultralytics YOLO27: 대기자 명단에 등록하세요.
YOLO 라이선스 받기
Ultralytics 용어집으로 돌아가기

ControlNet

ControlNet은 텍스트-이미지 확산 모델에 공간 제어 기능을 추가하여 에지 맵, 깊이 맵, 포즈 스켈레톤으로 레이아웃을 조정합니다. 작동 방식과 코드를 알아봅니다.

ControlNet은 Stable Diffusion과 같은 사전 학습 텍스트-이미지 디퓨전 모델에 공간 제어 기능을 추가하는 신경망 아키텍처입니다. 텍스트 프롬프트와 함께 에지 맵, 깊이 맵, 사람 자세 스켈레톤, 분할 맵 같은 조건 이미지를 입력받습니다. 생성된 이미지는 해당 구조를 따르고 프롬프트는 콘텐츠와 스타일을 결정합니다. 예를 들어 "은색 갑옷을 입은 기사"라는 프롬프트에 자세 스켈레톤을 결합하면 정확히 해당 자세를 취한 기사가 생성됩니다. Stanford University의 Lvmin Zhang, Anyi Rao, Maneesh Agrawala는 2023년 텍스트-이미지 디퓨전 모델에 조건부 제어 추가에서 ControlNet을 소개했으며, 이 논문은 ICCV 2023 최우수 논문상인 Marr Prize를 공동 수상했습니다. 기본 모델의 가중치를 고정하므로 ControlNet은 모델이 이미 학습한 내용을 손상하지 않고 제어 기능을 추가합니다.

ControlNet 작동 방식#

Stable Diffusion은 잠재 표현의 노이즈를 제거하는 과정을 반복해 U-Net으로 이미지를 생성합니다. ControlNet은 U-Net을 고정하고 인코더의 학습 가능한 복사본을 만듭니다. 이 복사본에는 12개의 인코딩 블록과 중간 블록이 포함됩니다. 먼저 소형 합성곱 네트워크가 512×512 조건 이미지를 잠재 표현에 맞는 64×64 특징 맵으로 변환합니다. 학습 가능한 복사본은 잠재 표현과 조건 특징을 함께 처리하며, 출력을 고정된 U-Net의 12개 스킵 연결과 중간 블록에 더합니다. 그 결과 고정된 디코더가 제어 신호를 받습니다.

복사본은 영점 합성곱을 통해서만 고정된 모델에 연결됩니다. 영점 합성곱은 가중치와 편향이 0에서 시작하는 1×1 합성곱입니다. 첫 번째 학습 단계에서 영점 합성곱은 0을 출력하므로 결합된 모델은 원본 모델과 정확히 동일하게 동작하며 사전 학습 레이어에 무작위 노이즈가 전달되지 않습니다. 출력 영점 합성곱은 입력이 0이 아니기 때문에 0이 아닌 가중치 그래디언트를 받습니다. 따라서 첫 번째 업데이트에서 값이 0에서 벗어나고 제어 신호가 그때부터 커집니다. 다음 PyTorch 코드에 블록 하나가 나와 있습니다.

import copy

import torch
from torch import nn

# A frozen block from the pretrained model and a trainable copy of it
torch.manual_seed(0)
locked = nn.Conv2d(64, 64, 3, padding=1).requires_grad_(False)
trainable = copy.deepcopy(locked).requires_grad_(True)

# Zero convolutions: 1x1 convolutions whose weights and biases start at zero
zero_in, zero_out = nn.Conv2d(64, 64, 1), nn.Conv2d(64, 64, 1)
for conv in (zero_in, zero_out):
    nn.init.zeros_(conv.weight)
    nn.init.zeros_(conv.bias)

x = torch.randn(1, 64, 32, 32)  # features entering the block
condition = torch.randn(1, 64, 32, 32)  # encoded edge, depth, or pose map
y = locked(x) + zero_out(trainable(x + zero_in(condition)))

# At step 0 the output equals the frozen block's, and only the outer zero conv gets a gradient
print(torch.equal(y, locked(x)))
y.sum().backward()
print(f"zero_in grad: {zero_in.weight.grad.norm():.1f}, zero_out grad: {zero_out.weight.grad.norm():.1f}")

True과 zero_in grad: 0.0, zero_out grad: 2040.6을 출력합니다. 블록의 출력은 고정된 모델의 출력과 동일하고, 입력이 0이 아니므로 바깥쪽 영점 합성곱은 그래디언트를 받으며, 바깥쪽 합성곱이 0에서 벗어나면 안쪽 합성곱도 학습을 시작합니다.

조건 유형#

원 논문에서는 Canny 에지, 깊이 맵, 표면 법선 맵, M-LSD 직선, HED 소프트 에지, ADE20K 분할 맵, OpenPose 사람 자세, 사용자 스케치에 각각 별도의 ControlNet을 학습했습니다. 각 조건 이미지는 참조 사진에 사전 구축 모델을 적용해 추출합니다. 예를 들어 OpenCV의 Canny 에지 검출기나 깊이 추정 네트워크를 사용할 수 있으며, 각각 고유한 강도를 지정해 여러 ControlNet을 동시에 적용할 수 있습니다. Ultralytics YOLO26 자세 추정 모델은 이러한 자세 조건을 추출하며, 사람마다 COCO 키포인트 17개를 예측하여 빈 캔버스에 스켈레톤으로 그릴 수 있습니다.

import cv2
import numpy as np
from ultralytics import YOLO

# 사람마다 키포인트 17개를 예측하는 YOLO26 자세 모델을 불러옵니다
model = YOLO("yolo26n-pose.pt")
results = model("https://ultralytics.com/images/bus.jpg")
result = results[0]

# 사진 크기의 검은색 캔버스에 스켈레톤만 그립니다
skeletons = result.plot(img=np.zeros_like(result.orig_img), boxes=False)
cv2.imwrite("pose_condition.png", skeletons)

저장된 이미지에는 각 사람의 팔다리가 검은 배경 위에 색 선으로 표시되며, 사진의 색상, 질감, 배경은 제거됩니다.

  • LoRA: 소량의 가중치를 추가해 파인튜닝함으로써 모델에 새로운 스타일, 캐릭터, 객체를 학습시킵니다. LoRA는 모델이 그리는 대상을 바꾸고 ControlNet은 대상의 위치를 고정하므로 두 기법을 함께 사용하는 경우가 많습니다.
  • T2I-Adapter: 약 7,700만 개의 파라미터를 사용하는 더 가벼운 대안으로, 인코더 전체 복사본을 실행하는 대신 고정된 U-Net의 인코더 특징에 조건 특징을 추가합니다. 생성 시 서로 다른 조건용 어댑터를 결합할 수 있습니다.
  • 이미지-이미지 생성: 입력 사진을 노이즈 처리한 복사본에서 노이즈 제거를 시작하므로 출력에 해당 사진의 색상과 대략적인 배치가 반영됩니다. ControlNet은 에지와 같이 추출된 구조만 제약하고 색상과 질감은 프롬프트에 맡깁니다.
  • 이미지 인페인팅: 이미지의 마스크된 부분을 나머지 영역에 맞게 다시 생성합니다. 인페인팅은 바뀌는 영역을 제어하고 ControlNet은 생성되는 내용의 구조를 제어합니다.

실제 적용 사례#

  • 아키텍처 및 인테리어 디자인: 방의 스케치, CAD 선 도면, M-LSD 선 맵을 사용하면 동일한 기하 구조를 유지하면서 다양한 소재와 스타일의 사실적인 렌더링을 생성할 수 있습니다.
  • 캐릭터 아트 및 애니메이션: 자세 스켈레톤을 사용하면 스타일이 달라져도 캐릭터의 자세가 고정되며, 참조 비디오에서 추출한 프레임별 자세는 일관된 애니메이션 시퀀스를 생성하는 데 사용됩니다.
  • 제품 및 마케팅 이미지: 제품 사진의 깊이 맵이나 에지 맵은 형태와 배치를 유지하면서 프롬프트에 따라 배경, 조명, 주변 환경을 바꿉니다.
  • 합성 데이터: 분할 맵이나 자세로 이미지를 생성하면 레이아웃을 생성 전에 지정했기 때문에 레이블을 미리 알 수 있는 새 학습 이미지를 만들 수 있습니다.

ControlNet 학습#

학습에는 이미지 쌍과 조건 맵이 필요하며, 캡션이 포함된 이미지 데이터셋에 조건 추출기를 적용해 자동으로 생성할 수 있습니다. 고정된 가중치는 그래디언트 업데이트가 필요하지 않으므로 ControlNet 학습의 각 반복에는 ControlNet 없이 Stable Diffusion을 최적화할 때보다 GPU 메모리가 약 23% 더 필요하고 시간이 34% 더 걸립니다. 논문에서는 이미지가 50,000장 미만인 데이터셋부터 100만 장이 넘는 데이터셋까지 안정적으로 학습할 수 있다고 보고합니다. 학습 중에는 "급격한 수렴"도 나타납니다. 모델이 수천 단계 동안 조건을 무시하다가 갑자기 조건을 따르기 시작하며, 보통 10,000회 이내의 최적화 단계에서 발생합니다. 논문 사례에서는 6,133단계에서 나타났습니다.

Explore solutions

스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기
스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기
스포츠 분야의 컴퓨터 비전

스포츠 분야의 컴퓨터 비전

Ultralytics YOLO가 선수 및 공 추적, 경기력 분석, 코칭 인사이트, 선수 재활을 통해 스포츠 비전을 구현하는 방법을 알아보세요.
자세히 알아보기
항공 이미지 컴퓨터 비전

항공 이미지 컴퓨터 비전

Ultralytics YOLO를 활용해 드론 및 항공 이미지를 농업, 양식업, 환경 모니터링, 자연 보호, 공간정보 분석을 위한 실시간 인사이트로 전환하세요.
자세히 알아보기
항공우주 분야의 컴퓨터 비전

항공우주 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 항공 모니터링에 비전 AI를 도입하세요. 컴퓨터 비전 솔루션으로 드론, 항공우주 워크플로, 환경 보전 및 공간정보 산업을 지원하세요.
자세히 알아보기
보안 분야의 컴퓨터 비전

보안 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 모든 시설을 보호하세요. Vision AI는 경계 모니터링, 위협 감지, 번호판 인식, 작업장 안전을 지원합니다.
자세히 알아보기
로보틱스 분야의 컴퓨터 비전

로보틱스 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 더 스마트한 머신을 구현하세요. 로보틱스 분야의 Vision AI는 자율 주행, 인식, 객체 추적, 실시간 제어를 지원합니다.
자세히 알아보기
물류 분야의 컴퓨터 비전

물류 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 물류를 간소화하세요. 비전 AI는 화물 검사, 분류, 차량 추적, 실시간 창고 안전 모니터링을 지원합니다.
자세히 알아보기
리테일 분야의 컴퓨터 비전

리테일 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 리테일의 새로운 가능성을 열어 보세요. 비전 AI는 재고 추적, 선반 모니터링, 대기열 관리, 더욱 심층적인 고객 인사이트를 지원합니다.
자세히 알아보기
의료 분야의 컴퓨터 비전

의료 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 의료 솔루션을 구축하세요. 의료 분야의 비전 AI는 의료 영상 판독을 가속화하고, 진단을 개선하며, 환자 모니터링을 지원합니다.
자세히 알아보기
제조 분야의 컴퓨터 비전

제조 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 제조 공정을 최적화하세요. 비전 AI는 품질 관리, 결함 탐지, PPE 규정 준수, 조립 라인 자동화를 지원합니다.
자세히 알아보기
자동차 분야의 컴퓨터 비전

자동차 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 자동차 분야에 컴퓨터 비전을 적용하세요. 비전 AI는 도로 안전, 운전자 지원, 차량 자동화를 개선해 더 스마트한 도로를 구현합니다.
자세히 알아보기
농업 분야의 컴퓨터 비전

농업 분야의 컴퓨터 비전

Ultralytics YOLO 모델로 스마트 농업에 비전 AI를 도입하세요. 작물 모니터링, 가축 추적, 정밀 농업을 지원하여 더 높은 수확량과 더 스마트한 농업을 실현합니다.
자세히 알아보기

함께 AI의 미래를 만들어 가세요!

머신러닝의 미래와 함께 여정을 시작하세요