본문 바로가기

AI/Computer Vision

[Computer Vision] Control Net

728x90
반응형

Stable Diffusion은 Stability AI에서 Open Source로 배포한 text-to-image 모델이다. 

 

이 Stable Diffusion은 이미지 생성에 있어 놀라운 결과를 보여주었으나 더욱 세부적인 제어가 필요했다. 

 

세부적인 제어를 위해 ControlNet이라는 새로운 기술이 제안되었다.

ControlNet을 통해 사용자가 생성 과정을 더욱 세부적으로 제어할 수 있게 되었고, 여러 가지 공간적 컨텍스트를 조건부로 생성에 사용할 수 있도록 지원되어 결과물이 엄청나게 개선되었다.

 

Stable Diffusion의 마지막 결론부분에 대한 단점이 몇가지 있다. 

  • 생성된 이미지 중 어색한 표현 같은 디테일이 떨어지는 경우가 있다.
  • 생성된 이미지의 퀄리티가 고퀄리티와 저퀄리티가 섞여 있어 선별작업이 필요하다.
  • 모델을 개선하려면 어느정도 코드를 작성해야 한다.

 

 

이러한 단점을 개선하기 위해 더욱 세부적인 제어가 필요했다. 

이런 요구에 대응하기 위해 Lvmin Zhang와 Maneesh Agrawala는 ControlNet을 제안하였다.

 

 

개요

ControlNet을 사용해 사용자는 생성 과정을 더욱 세부적으로 제어할 수 있게 되었다. 

여러 가지 공간적 컨텍스트(깊이 맵, 세분화 맵, 스크리블, 키포인트 등)를 조건부로 생성에 사용할 수 있도록 지원한다.

출처 :  https://huggingface.co/blog/controlnet

 

 

전체적인 모델 흐름도를 살펴보자

 

 

모델 흐름도

(a)는 Stable Diffusion, (b)는 ControlNet이다.

출처 :  https://huggingface.co/blog/controlnet

 

 

(a)는 사전 학습된 Diffusion 모델(ex. Stable Diffusion의 latent UNet)의 매개변수를 복제하여 "학습 가능한 복사본""잠긴 복사본(자물쇠)"로 나뉜다. 

 

잠긴 복사본대규모 데이터셋에서 학습한 방대한 지식을 보존하며, 학습 가능한 복사본과제별 측면을 학습하는 데 사용된다.

 

두 복사본의 매개변수는 "zero convolution" 레이어로 연결된다. 

이것은 ControlNet 프레임워크의 일부로 최적화되고, 새로운 조건이 학습될 때 이미 학습된 의미론을 보존하는 학습 기법이다.

 

 

Zero Convolusion

CNN에서 Convolution filter는 중요한 역할을 담당한다.

  • Receptive field에서 원본 이미지에서 유의미하고 압축된 값(Destination pixel)을 추출해내기 때문이다.
  • 이미지나 자연어 등의 입력 데이터에서 특징을 추출하고, 이를 기반으로 패턴을 인식하고 분류하는 데 매우 중요한 역할을 한다.

 

 

ControlNet에서 Zero convolution은 Convolution filter의 가중치 값이 0이 되도록 하는 기술이다.

 

일반적으로 Conv filter의 값이 0이면 결과값(Destination pixel)은 0이 된다.

하지만 ControlNet에서는 이를 Backpropagation을 이용해 학습시키는데, 이를 통해 이미지의 실루엣처럼 남아서 가중치 부분이 조건부 생성을 지원한다. 

ControlNet에서 이미 학습된 모델의 의미론을 보존하면서 새로운 조건을 학습시키는 핵심 기술 중 하나이다.

이러한 구조는 다양한 이미지 생성 작업에서 사용될 수 있고, 높은 수준의 이미지 생성 결과를 보장한다.

 

 

Zero Conv Backpropagation 수식

이렇게 남은 가중치로 변환된 레이어가 보면 학습 가능한 복사본과 잠긴 복사본의 매개변수는 "Zero Convolution" 레이어로 연결된다.

 

 

 

ControlNet - a Hugging Face Space by hysts

 

huggingface.co

여기서 테스트 해볼 수 있다.

 

종류는 다음과 같다.

 

Canny 

 

Hought Line

 

Scribble

 

HED

 

POSE

 

Segmentation

 

Depth

 

 

Cartoon line drawing

728x90
반응형

'AI > Computer Vision' 카테고리의 다른 글

[Computer Vision] Inpainting  (0) 2024.03.25
[Computer Vision] DreamBooth  (0) 2024.03.11
[Computer Vision] LoRA(Low-Rank Adaptation)  (0) 2024.03.10
[Computer Vision] IP-Adapter  (0) 2024.03.10
[Computer Vision] Image Segmentation  (0) 2024.03.09