AI Art Generation Handbook/ControlNet

What is ControlNet ?
ControlNet is developed by Stanford researcher named Lvmin Zhang and Maneesh Agrawala. It was first introduced in paper  Adding Conditional Control to Text-to-Image Diffusion Models  on Feb 2023. .

As you experimented around with Stable Diffusion, you may experience that at times you may want to create a character with a cool imposing pose, but using prompt itself is a huge undertaking. You may generate up to hundreds of images but unable to get that type of images that you wanted.

This is where, ControlNet is to the rescue.

ControlNet allows prompt-crafter to guide the image generation process using additional input images or conditions, beyond just text prompts.

For example:

Let's say you want to control the pose of a human in an image (as shown, a girl squatting down)

AI model would be trained on a dataset of images of humans in different poses. Meanwhile, ControlNet network are trained on the same dataset of images.

The ControlNet network would learn to associate the pose of the human in the image with the desired output of the diffusion model.

Once the ControlNet network is trained, you can use it to control the pose of the human in an image and use the prompt to change from female to male as shown.

How ControlNet works ?
It uses a "zero convolution" layer that starts with zero weights.

This layer is added to each block of a pre-trained diffusion model (like Stable Diffusion).

The zero convolution allows ControlNet to be trained on specific tasks without altering the original model's knowledge.

(1) Text prompts is sent to ControlNet neural network

(2) The trained AI model is then used to generate an image.

(3) ControlNet is then used to add extra conditions to the generated image.

(4) The generated image is then fine-tuned using ControlNet.

(5) The fine-tuned image is then output.

How to use ControlNet ?
First, assuming you are using SDXL base model to generate images, highly recommended to download the Union ControlNet

(trained especially for SDXL) here:  https://huggingface.co/xinsir/controlnet-union-sdxl-1.0/tree/main .

We assume you have Web-UI by Automatic1111 or SD.Next (Vladmandic ).

Auto1111
(1) First of all, go to Extension -> Available ->Click "Load From" button to download the extension.

(2) Search for extension   (by author Mikubill). Click "Install" button located at right side.

(3) Restart the whole Automatic1111 to make sure the Extension is properly installed.

(4) Once installed, inside txt2img or img2img tab, you should see ControlNet v1.1.xxx (usually on below of Seed).

(5) Click the to expand on the menu and y  ou should see something similar  to the left

Here are the some examples of settings that are found at the ControlNet style:

To use any ControlNet models, you need to click  

If the Graphic Card VRAM is not powerful enough for additional pre-procesing, click on

For  is suitable if you wanted the ControlNet to retain most of the details of the picture

(Note: This is useful if you wanted to change from a photorealism to anime style)

SD.Next
In SD.Next, it is more easier as ControlNet is integrated into the WebUI without using external extensions.

Copy your downloaded model here into this location :

When opening up the SD.Next, go directly to the "Control" tab and you will see few options:

Initially, all of these will be hidden and you will need to click on ◀ button on the right of the screen to reveal the hidden menu

Control Input

You can upload of your "base" image here, and the generated images are shown

Also the settings for the usual image generations  are located here, you can click on the ◀  button to reveal them



Control Elements

You can choose ControlNet, T2I Adapter, XS, Lite and Reference but for this chapter, we are going to use ControlNet



Preprocessor

This is Preprocessor settings for more finetune control



 

References Link
ControlNet Layman Introductions  - Controlnet

Huggingface - Download all of pre-trained ControlNet models here (For SD1.5)

Github - All info authors works are here