liuyizhang commited on
Commit
e94be43
1 Parent(s): abcd303

update app.py

Browse files
Files changed (1) hide show
  1. app.py +32 -17
app.py CHANGED
@@ -62,6 +62,11 @@ from utils import computer_info
62
  from ram_utils import iou, sort_and_deduplicate, relation_classes, MLP, show_anns, ram_show_mask
63
  from ram_train_eval import RamModel,RamPredictor
64
  from mmengine.config import Config as mmengine_Config
 
 
 
 
 
65
 
66
  config_file = 'GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py'
67
  ckpt_repo_id = "ShilongLiu/GroundingDINO"
@@ -126,14 +131,19 @@ def plot_boxes_to_image(image_pil, tgt):
126
  bbox = (x0, y0, w + x0, y0 + h)
127
  # bbox = draw.textbbox((x0, y0), str(label))
128
  draw.rectangle(bbox, fill=color)
129
- font = os.path.join(cv2.__path__[0],'qt','fonts','DejaVuSans.ttf')
130
- font_size = 36
131
- new_font = ImageFont.truetype(font, font_size)
132
 
133
- draw.text((x0+2, y0+2), str(label), font=new_font, fill="white")
 
 
 
 
 
 
 
134
 
135
  mask_draw.rectangle([x0, y0, x1, y1], fill=255, width=6)
136
 
 
137
  return image_pil, mask
138
 
139
  def load_image(image_path):
@@ -282,11 +292,6 @@ def load_lama_cleaner_model():
282
  # initialize lama_cleaner
283
  global lama_cleaner_model
284
  logger.info(f"initialize lama_cleaner...")
285
- from lama_cleaner.helper import (
286
- load_img,
287
- numpy_to_bytes,
288
- resize_max_size,
289
- )
290
 
291
  lama_cleaner_model = ModelManager(
292
  name='lama',
@@ -522,16 +527,25 @@ def run_anything_task(input_image, text_prompt, task_type, inpaint_prompt, box_t
522
  file_temp = int(time.time())
523
  logger.info(f'run_anything_task_[{file_temp}]_{task_type}/{inpaint_mode}/[{mask_source_radio}]/{remove_mode}/{remove_mask_extend}_[{text_prompt}]/[{inpaint_prompt}]___1_')
524
 
 
 
525
  # load image
526
- input_mask_pil = input_image['mask']
527
- input_mask = np.array(input_mask_pil.convert("L"))
528
-
529
- image_pil, image = load_image(input_image['image'].convert("RGB"))
 
 
 
 
 
 
 
 
 
530
 
531
  size = image_pil.size
532
-
533
- output_images = []
534
- output_images.append(input_image['image'])
535
  # run grounding dino model
536
  if (task_type == 'inpainting' or task_type == 'remove') and mask_source_radio == mask_source_draw:
537
  pass
@@ -557,12 +571,13 @@ def run_anything_task(input_image, text_prompt, task_type, inpaint_prompt, box_t
557
  "size": [size[1], size[0]], # H,W
558
  "labels": pred_phrases,
559
  }
 
560
  image_with_box = plot_boxes_to_image(copy.deepcopy(image_pil), pred_dict)[0]
561
  output_images.append(image_with_box)
562
 
563
  logger.info(f'run_anything_task_[{file_temp}]_{task_type}_2_')
564
  if task_type == 'segment' or ((task_type == 'inpainting' or task_type == 'remove') and mask_source_radio == mask_source_segment):
565
- image = np.array(input_image['image'])
566
  sam_predictor.set_image(image)
567
 
568
  H, W = size[1], size[0]
 
62
  from ram_utils import iou, sort_and_deduplicate, relation_classes, MLP, show_anns, ram_show_mask
63
  from ram_train_eval import RamModel,RamPredictor
64
  from mmengine.config import Config as mmengine_Config
65
+ from lama_cleaner.helper import (
66
+ load_img,
67
+ numpy_to_bytes,
68
+ resize_max_size,
69
+ )
70
 
71
  config_file = 'GroundingDINO/groundingdino/config/GroundingDINO_SwinT_OGC.py'
72
  ckpt_repo_id = "ShilongLiu/GroundingDINO"
 
131
  bbox = (x0, y0, w + x0, y0 + h)
132
  # bbox = draw.textbbox((x0, y0), str(label))
133
  draw.rectangle(bbox, fill=color)
 
 
 
134
 
135
+ try:
136
+ font = os.path.join(cv2.__path__[0],'qt','fonts','DejaVuSans.ttf')
137
+ font_size = 36
138
+ new_font = ImageFont.truetype(font, font_size)
139
+
140
+ draw.text((x0+2, y0+2), str(label), font=new_font, fill="white")
141
+ except Exception as e:
142
+ pass
143
 
144
  mask_draw.rectangle([x0, y0, x1, y1], fill=255, width=6)
145
 
146
+
147
  return image_pil, mask
148
 
149
  def load_image(image_path):
 
292
  # initialize lama_cleaner
293
  global lama_cleaner_model
294
  logger.info(f"initialize lama_cleaner...")
 
 
 
 
 
295
 
296
  lama_cleaner_model = ModelManager(
297
  name='lama',
 
527
  file_temp = int(time.time())
528
  logger.info(f'run_anything_task_[{file_temp}]_{task_type}/{inpaint_mode}/[{mask_source_radio}]/{remove_mode}/{remove_mask_extend}_[{text_prompt}]/[{inpaint_prompt}]___1_')
529
 
530
+ output_images = []
531
+
532
  # load image
533
+ if mask_source_radio == mask_source_draw:
534
+ input_mask_pil = input_image['mask']
535
+ input_mask = np.array(input_mask_pil.convert("L"))
536
+
537
+ print(type(input_image))
538
+ if isinstance(input_image, list):
539
+ image_pil, image = load_image(input_image['image'].convert("RGB"))
540
+ input_img = input_image['image']
541
+ output_images.append(input_image['image'])
542
+ else:
543
+ image_pil, image = load_image(input_image.convert("RGB"))
544
+ input_img = input_image
545
+ output_images.append(input_image)
546
 
547
  size = image_pil.size
548
+
 
 
549
  # run grounding dino model
550
  if (task_type == 'inpainting' or task_type == 'remove') and mask_source_radio == mask_source_draw:
551
  pass
 
571
  "size": [size[1], size[0]], # H,W
572
  "labels": pred_phrases,
573
  }
574
+
575
  image_with_box = plot_boxes_to_image(copy.deepcopy(image_pil), pred_dict)[0]
576
  output_images.append(image_with_box)
577
 
578
  logger.info(f'run_anything_task_[{file_temp}]_{task_type}_2_')
579
  if task_type == 'segment' or ((task_type == 'inpainting' or task_type == 'remove') and mask_source_radio == mask_source_segment):
580
+ image = np.array(input_img)
581
  sam_predictor.set_image(image)
582
 
583
  H, W = size[1], size[0]