import sys
import yaml
import os
cnet_models = [
"p_sd15_canny",
"p_sd15_depth",
"p_sd15_mlsd" ,
"p_sd15_normalbae",
"p_sd15_openpose",
"p_sd15_scribble",
"p_sd15_seg",
"p_sd15_softedge",
"p_sd15_lineart",
"p_sd15s2_lineart_anime",
"e_sd15_shuffle",
# "p_sd15_inpaint",
# "e_sd15_ip2p",
# "u_sd15_tile",
]
processors = ["ref", "diffusers"]
print(f"# ControlNet Generation Comparison")
print("")
def control_image_filenames(model_name):
with open('./control_images.yaml', 'r') as f:
d = yaml.safe_load(f)
return d[model_name]
def print_header():
print("|seed|conditional image|", end="")
for proc in processors:
print(f"{proc}|", end="")
print("")
print("|", end="")
for _ in range(len(processors) + 2):
print(":---:|", end="")
print("")
def get_url(path):
# url = "./"
url = 'https://huggingface.co/takuma104/controlnet_dev/resolve/main/gen_compare_v11/'
return url + path
control_image_folder = 'control_images/converted'
for cnet in cnet_models:
print(f"## control_v11{cnet}")
print("")
print_header()
for i, control_image_fn in enumerate(control_image_filenames(cnet)):
for seed in range(4):
print(f"|{seed}|", end="")
url = get_url(path=f"{control_image_folder}/{control_image_fn}")
print(f'|', end="")
for proc in processors:
url = get_url(path=f"output_images/{proc}/output_{cnet}_{i}_{seed:01d}.png")
print(f'|', end="")
print("")
original_image_folder = "control_images"
original_image_filenames = [
"pexels-sound-on-3760767_512x512.png",
"vermeer_512x512.png",
"bird_512x512.png",
]
cnet = "p_sd15_inpaint"
print(f"## control_v11{cnet}")
print("")
print_header()
for i, original_image_fn in enumerate(original_image_filenames):
for seed in range(4):
print(f"|{seed}|", end="")
url = get_url(path=f"{original_image_folder}/{original_image_fn}")
print(f'', end="")
url = get_url(path=f"{original_image_folder}/mask_512x512.png")
print(f'|', end="")
for proc in processors:
url = get_url(path=f"output_images/{proc}/output_{cnet}_{i}_{seed:01d}.png")
print(f'|', end="")
print("")