radames commited on
Commit
a96a8c6
1 Parent(s): d056e0b

debug canny

Browse files
Files changed (2) hide show
  1. app-controlnet.py +10 -2
  2. controlnet/index.html +15 -1
app-controlnet.py CHANGED
@@ -126,6 +126,7 @@ class InputParams(BaseModel):
126
  controlnet_end: float = 1.0
127
  canny_low_threshold: float = 0.31
128
  canny_high_threshold: float = 0.78
 
129
 
130
  def predict(
131
  input_image: Image.Image, params: InputParams, prompt_embeds: torch.Tensor = None
@@ -133,7 +134,6 @@ def predict(
133
  generator = torch.manual_seed(params.seed)
134
 
135
  control_image = canny_torch(input_image, params.canny_low_threshold, params.canny_high_threshold)
136
- print(params.canny_low_threshold, params.canny_high_threshold)
137
  results = pipe(
138
  control_image=control_image,
139
  prompt_embeds=prompt_embeds,
@@ -157,7 +157,15 @@ def predict(
157
  )
158
  if nsfw_content_detected:
159
  return None
160
- return results.images[0]
 
 
 
 
 
 
 
 
161
 
162
 
163
  app = FastAPI()
 
126
  controlnet_end: float = 1.0
127
  canny_low_threshold: float = 0.31
128
  canny_high_threshold: float = 0.78
129
+ debug_canny: bool = False
130
 
131
  def predict(
132
  input_image: Image.Image, params: InputParams, prompt_embeds: torch.Tensor = None
 
134
  generator = torch.manual_seed(params.seed)
135
 
136
  control_image = canny_torch(input_image, params.canny_low_threshold, params.canny_high_threshold)
 
137
  results = pipe(
138
  control_image=control_image,
139
  prompt_embeds=prompt_embeds,
 
157
  )
158
  if nsfw_content_detected:
159
  return None
160
+ result_image = results.images[0]
161
+ if params.debug_canny:
162
+ # paste control_image on top of result_image
163
+ w0, h0 = (128, 128)
164
+ control_image = control_image.resize((w0, h0))
165
+ w1, h1 = result_image.size
166
+ result_image.paste(control_image, (w1 - w0, h1 - h0))
167
+
168
+ return result_image
169
 
170
 
171
  app = FastAPI()
controlnet/index.html CHANGED
@@ -16,7 +16,12 @@
16
  </style>
17
  <script type="module">
18
  // you can change the size of the input image to 768x768 if you have a powerful GPU
19
- const getValue = (id) => document.querySelector(`${id}`).value;
 
 
 
 
 
20
  const startBtn = document.querySelector("#start");
21
  const stopBtn = document.querySelector("#stop");
22
  const videoEl = document.querySelector("#webcam");
@@ -115,6 +120,7 @@
115
  "controlnet_end": getValue("#controlnet_end"),
116
  "canny_low_threshold": getValue("#canny_low_threshold"),
117
  "canny_high_threshold": getValue("#canny_high_threshold"),
 
118
  }));
119
  }
120
  let mediaDevices = [];
@@ -381,6 +387,14 @@
381
  </div>
382
  </div>
383
  <!-- -->
 
 
 
 
 
 
 
 
384
  </div>
385
  </details>
386
  </div>
 
16
  </style>
17
  <script type="module">
18
  // you can change the size of the input image to 768x768 if you have a powerful GPU
19
+ const getValue = (id) => {
20
+ const el = document.querySelector(`${id}`)
21
+ if (el.type === "checkbox")
22
+ return el.checked;
23
+ return el.value;
24
+ }
25
  const startBtn = document.querySelector("#start");
26
  const stopBtn = document.querySelector("#stop");
27
  const videoEl = document.querySelector("#webcam");
 
120
  "controlnet_end": getValue("#controlnet_end"),
121
  "canny_low_threshold": getValue("#canny_low_threshold"),
122
  "canny_high_threshold": getValue("#canny_high_threshold"),
123
+ "debug_canny": getValue("#debug_canny")
124
  }));
125
  }
126
  let mediaDevices = [];
 
387
  </div>
388
  </div>
389
  <!-- -->
390
+ <!-- -->
391
+ <label class="text-sm font-medium" for="debug_canny">Debug Canny</label>
392
+ <div class="col-span-2 flex gap-2">
393
+ <input type="checkbox" id="debug_canny" name="debug_canny" class="cursor-pointer">
394
+ <label for="debug_canny" class="text-sm cursor-pointer"></label>
395
+ </div>
396
+ <div></div>
397
+ <!-- -->
398
  </div>
399
  </details>
400
  </div>