🚀 Controlnet - HED Boundary Version
ControlNet is a neural network structure that adds extra conditions to control diffusion models. This specific checkpoint is conditioned on HED Boundary and can be used in conjunction with Stable Diffusion.

🚀 Quick Start
It is recommended to use this checkpoint with Stable Diffusion v1 - 5 since it was trained on this model. Experimentally, it can also be used with other diffusion models like dreamboothed stable diffusion.
Prerequisites
If you want to process an image to create the auxiliary conditioning, external dependencies are required:
- Install https://github.com/patrickvonplaten/controlnet_aux
$ pip install controlnet_aux
- Install
diffusers
and related packages:
$ pip install diffusers transformers accelerate
Example Code
from PIL import Image
from diffusers import StableDiffusionControlNetPipeline, ControlNetModel, UniPCMultistepScheduler
import torch
from controlnet_aux import HEDdetector
from diffusers.utils import load_image
hed = HEDdetector.from_pretrained('lllyasviel/ControlNet')
image = load_image("https://huggingface.co/lllyasviel/sd-controlnet-hed/resolve/main/images/man.png")
image = hed(image)
controlnet = ControlNetModel.from_pretrained(
"lllyasviel/sd-controlnet-hed", torch_dtype=torch.float16
)
pipe = StableDiffusionControlNetPipeline.from_pretrained(
"runwayml/stable-diffusion-v1-5", controlnet=controlnet, safety_checker=None, torch_dtype=torch.float16
)
pipe.scheduler = UniPCMultistepScheduler.from_config(pipe.scheduler.config)
pipe.enable_xformers_memory_efficient_attention()
pipe.enable_model_cpu_offload()
image = pipe("oil painting of handsome old man, masterpiece", image, num_inference_steps=20).images[0]
image.save('images/man_hed_out.png')

✨ Features
- Conditional Control: ControlNet can add conditional control to text - to - image diffusion models, enabling inputs like edge maps, segmentation maps, keypoints, etc.
- Fast Training: Training a ControlNet is as fast as fine - tuning a diffusion model and can be done on personal devices or scaled to large datasets with powerful computation clusters.
📚 Documentation
Model Details
Introduction
Controlnet was proposed in Adding Conditional Control to Text - to - Image Diffusion Models by Lvmin Zhang and Maneesh Agrawala.
The abstract reads as follows:
We present a neural network structure, ControlNet, to control pretrained large diffusion models to support additional input conditions. The ControlNet learns task - specific conditions in an end - to - end way, and the learning is robust even when the training dataset is small (< 50k). Moreover, training a ControlNet is as fast as fine - tuning a diffusion model, and the model can be trained on a personal devices. Alternatively, if powerful computation clusters are available, the model can scale to large amounts (millions to billions) of data. We report that large diffusion models like Stable Diffusion can be augmented with ControlNets to enable conditional inputs like edge maps, segmentation maps, keypoints, etc. This may enrich the methods to control large diffusion models and further facilitate related applications.
Released Checkpoints
The authors released 8 different checkpoints, each trained with Stable Diffusion v1 - 5 on a different type of conditioning:
Training
The HED Edge model was trained on 3M edge - image, caption pairs. The model was trained for 600 GPU - hours with Nvidia A100 80G using Stable Diffusion 1.5 as a base model.
Blog post
For more information, please also have a look at the official ControlNet Blog Post.
📄 License
This project is licensed under The CreativeML OpenRAIL M license.